From a4e693aa9d01dafe4f61c5506d3d860bfc2b603a Mon Sep 17 00:00:00 2001
From: Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch>
Date: Fri, 7 Dec 2018 11:29:39 +0100
Subject: [PATCH 001/192] Switched checkout_atlasexternals.sh to not use any
 authentication.

The atlas/atlasexternals repository has been open to the public since
a very long time. To make the build process a little more robust, let's
not use any authentication for checking out that repository.
---
 Build/AtlasBuildScripts/checkout_atlasexternals.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/Build/AtlasBuildScripts/checkout_atlasexternals.sh b/Build/AtlasBuildScripts/checkout_atlasexternals.sh
index 144719018741..ed81eb02514d 100755
--- a/Build/AtlasBuildScripts/checkout_atlasexternals.sh
+++ b/Build/AtlasBuildScripts/checkout_atlasexternals.sh
@@ -23,8 +23,8 @@ usage() {
     echo "  AtlasExternals_URL and AtlasExternals_REF to override"
     echo "  other values (even those on the command line)."
     echo "  If AtlasExternals_URL is set to 'current' then"
-	echo "  no clone or checkout is done and the working copy"
-	echo "  in the source directory is left untouched."
+    echo "  no clone or checkout is done and the working copy"
+    echo "  in the source directory is left untouched."
 }
 
 _max_retry_=5
@@ -46,7 +46,7 @@ _retry_ () {
 # Parse the command line arguments:
 TAGBRANCH=""
 SOURCEDIR=""
-EXTERNALSURL="https://:@gitlab.cern.ch:8443/atlas/atlasexternals.git"
+EXTERNALSURL="https://gitlab.cern.ch/atlas/atlasexternals.git"
 while getopts ":t:o:s:e:h" opt; do
     case $opt in
         t)
-- 
GitLab


From 3632b6e57a6769d63594a604906bb704b9858449 Mon Sep 17 00:00:00 2001
From: Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch>
Date: Thu, 13 Dec 2018 16:48:42 +0100
Subject: [PATCH 002/192] Defined comparison operators for ElementLink and
 ElementLinkVector.

The xAODTrigger code's unit tests need these operators, and they should've
been defined a long time ago anyway...
---
 Control/AthLinksSA/AthLinks/ElementLink.h     |  5 +++++
 Control/AthLinksSA/AthLinks/ElementLink.icc   | 12 ++++++++++
 .../AthLinksSA/AthLinks/ElementLinkVector.h   |  5 +++++
 .../AthLinksSA/AthLinks/ElementLinkVector.icc | 22 +++++++++++++++++++
 4 files changed, 44 insertions(+)

diff --git a/Control/AthLinksSA/AthLinks/ElementLink.h b/Control/AthLinksSA/AthLinks/ElementLink.h
index 6793225b3379..e5b9d36f5f93 100644
--- a/Control/AthLinksSA/AthLinks/ElementLink.h
+++ b/Control/AthLinksSA/AthLinks/ElementLink.h
@@ -154,6 +154,11 @@ public:
    /// Get the key that we reference, as a hash
    sgkey_t key() const { return persKey(); }
 
+   /// Comparison operator
+   bool operator==( const ElementLink& rhs ) const;
+   /// Comparison operator
+   bool operator!=( const ElementLink& rhs ) const;
+
    /// Get a reference to the object in question
    ElementConstReference operator*() const;
 
diff --git a/Control/AthLinksSA/AthLinks/ElementLink.icc b/Control/AthLinksSA/AthLinks/ElementLink.icc
index da4ef6b421cc..56357d164e7a 100644
--- a/Control/AthLinksSA/AthLinks/ElementLink.icc
+++ b/Control/AthLinksSA/AthLinks/ElementLink.icc
@@ -381,6 +381,18 @@ ElementLink< STORABLE >::dataID() const {
    return m_event->getName( persKey() );
 }
 
+template< typename STORABLE >
+bool ElementLink< STORABLE >::operator==( const ElementLink& rhs ) const {
+
+   return ( ( key() == rhs.key() ) && ( index() == rhs.index() ) );
+}
+
+template< typename STORABLE >
+bool ElementLink< STORABLE >::operator!=( const ElementLink& rhs ) const {
+
+   return ( ! ( *this == rhs ) );
+}
+
 template< typename STORABLE >
 typename ElementLink< STORABLE >::ElementConstReference
 ElementLink< STORABLE >::operator*() const {
diff --git a/Control/AthLinksSA/AthLinks/ElementLinkVector.h b/Control/AthLinksSA/AthLinks/ElementLinkVector.h
index f3a32b0cd0c3..051f57a9cd2a 100644
--- a/Control/AthLinksSA/AthLinks/ElementLinkVector.h
+++ b/Control/AthLinksSA/AthLinks/ElementLinkVector.h
@@ -79,6 +79,11 @@ public:
    /// Assignment operator
    ElemLinkVec& operator=( const ElemLinkVec& rhs );
 
+   /// Comparison operator
+   bool operator==( const ElementLinkVector& rhs ) const;
+   /// Comparison operator
+   bool operator!=( const ElementLinkVector& rhs ) const;   
+
    /// @name Vector iterator functions
    /// @{
 
diff --git a/Control/AthLinksSA/AthLinks/ElementLinkVector.icc b/Control/AthLinksSA/AthLinks/ElementLinkVector.icc
index 2fc137a49164..9767c09ee224 100644
--- a/Control/AthLinksSA/AthLinks/ElementLinkVector.icc
+++ b/Control/AthLinksSA/AthLinks/ElementLinkVector.icc
@@ -51,6 +51,28 @@ ElementLinkVector< CONTAINER >::operator=( const ElemLinkVec& rhs ) {
    return *this;
 }
 
+template< class CONTAINER >
+bool ElementLinkVector< CONTAINER >::
+operator==( const ElementLinkVector& rhs ) const {
+
+   if( m_elVec.size() != rhs.m_elVec.size() ) {
+      return false;
+   }
+   for( std::size_t i = 0; i < m_elVec.size(); ++i ) {
+      if( m_elVec[ i ] != rhs.m_elVec[ i ] ) {
+         return false;
+      }
+   }
+   return true;
+}
+
+template< class CONTAINER >
+bool ElementLinkVector< CONTAINER >::
+operator!=( const ElementLinkVector& rhs ) const {
+
+   return ( ! ( *this == rhs ) );
+}
+
 ////////////////////////////////////////////////////////////////////////////////
 //
 //              Implementation of the vector capacity functions
-- 
GitLab


From b9da5f96f35dfb76bf8e4eb0334483589fb0e31f Mon Sep 17 00:00:00 2001
From: Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch>
Date: Thu, 13 Dec 2018 16:50:45 +0100
Subject: [PATCH 003/192] Hid the decorator handle definitions in
 XAOD_STANDALONE mode.

We will have to see how to handle the StoreGate handles in the analysis
releases. But for now let's just not handle them at all.
---
 .../xAODCaloRings/CaloRingsContainer.h              | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/Event/xAOD/xAODCaloRings/xAODCaloRings/CaloRingsContainer.h b/Event/xAOD/xAODCaloRings/xAODCaloRings/CaloRingsContainer.h
index d5726ae6690f..af428f334e07 100644
--- a/Event/xAOD/xAODCaloRings/xAODCaloRings/CaloRingsContainer.h
+++ b/Event/xAOD/xAODCaloRings/xAODCaloRings/CaloRingsContainer.h
@@ -1,8 +1,7 @@
+// Dear emacs, this is -*- c++ -*-
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 */
-
-// $Id: CaloRingsContainer.h 707323 2015-11-12 02:45:01Z wsfreund $
 #ifndef XAODCALORINGS_CALORINGSCONTAINER_H
 #define XAODCALORINGS_CALORINGSCONTAINER_H
 
@@ -11,8 +10,10 @@
 
 // Core include(s):
 #include "AthLinks/ElementLink.h"
-#include "StoreGate/ReadDecorHandle.h"
-#include "StoreGate/WriteDecorHandle.h"
+#ifndef XAOD_STANDALONE
+#   include "StoreGate/ReadDecorHandle.h"
+#   include "StoreGate/WriteDecorHandle.h"
+#endif // XAOD_STANDALONE
 
 // Local include(s):
 #include "xAODCaloRings/CaloRings.h"
@@ -27,10 +28,12 @@ typedef std::vector< ElementLink< CaloRingsContainer > > CaloRingsLinks;
 typedef SG::AuxElement::Decorator< xAOD::CaloRingsLinks > caloRingsDeco_t;
 /// The CaloRings element links reader type:
 typedef SG::AuxElement::ConstAccessor< xAOD::CaloRingsLinks > caloRingsReader_t;
+#ifndef XAOD_STANDALONE
 /// The CaloRings element links write decorator type:
 template<typename T> using caloRingsDecoH_t = SG::WriteDecorHandle<T, CaloRingsLinks>;
 /// The CaloRings element links write decorator type:
 template<typename T> using caloRingsReaderH_t = SG::ReadDecorHandle<T, CaloRingsLinks>;
+#endif // XAOD_STANDALONE
 } // namespace xAOD
 
 // Set up a CLID for the container:
-- 
GitLab


From f20799bd47636b7fa266b85bf7468b3038cb4d3c Mon Sep 17 00:00:00 2001
From: Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch>
Date: Thu, 13 Dec 2018 16:52:41 +0100
Subject: [PATCH 004/192] Added missing <iostream> includes to the code.

In "standalone mode" upstream packages seem to pollute the build environment
a bit less than the offline code does. :-P As a result, the missing include
statement caused a build error in standalone mode.
---
 Event/xAOD/xAODPrimitives/Root/getIsolationAccessor.cxx  | 3 +++
 Event/xAOD/xAODPrimitives/Root/getIsolationDecorator.cxx | 5 ++++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/Event/xAOD/xAODPrimitives/Root/getIsolationAccessor.cxx b/Event/xAOD/xAODPrimitives/Root/getIsolationAccessor.cxx
index 80ffccbf5415..be60b1b14af8 100644
--- a/Event/xAOD/xAODPrimitives/Root/getIsolationAccessor.cxx
+++ b/Event/xAOD/xAODPrimitives/Root/getIsolationAccessor.cxx
@@ -5,6 +5,9 @@
 // Local include(s):
 #include "xAODPrimitives/tools/getIsolationAccessor.h"
 
+// System include(s):
+#include <iostream>
+
 /// Helper macro for Accessor objects
 #define DEFINE_ACCESSOR(TYPE)                                 \
   case xAOD::Iso::TYPE:                                       \
diff --git a/Event/xAOD/xAODPrimitives/Root/getIsolationDecorator.cxx b/Event/xAOD/xAODPrimitives/Root/getIsolationDecorator.cxx
index 1db8e53a9f58..44a015b6202a 100644
--- a/Event/xAOD/xAODPrimitives/Root/getIsolationDecorator.cxx
+++ b/Event/xAOD/xAODPrimitives/Root/getIsolationDecorator.cxx
@@ -1,10 +1,13 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 */
 
 // Local include(s):
 #include "xAODPrimitives/tools/getIsolationDecorator.h"
 
+// System include(s):
+#include <iostream>
+
 /// Helper macro for Accessor objects
 #define DEFINE_DECORATOR(TYPE)                                 \
   case xAOD::Iso::TYPE:                                       \
-- 
GitLab


From 4884b1b82c429e73b2a9507e4d12161222ad3376 Mon Sep 17 00:00:00 2001
From: Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch>
Date: Thu, 13 Dec 2018 16:54:35 +0100
Subject: [PATCH 005/192] Removed the CLHEP dependence of the code.

A dependence that was not even made explicit in the CMake configuration
of the package. :-( And in any case, the value of pi can be retrieved
much more easily than by using CLHEP...
---
 Event/xAOD/xAODTrigMuon/Root/TrigMuonDefs.cxx | 28 +++++++++++--------
 .../xAODTrigMuon/xAODTrigMuon/TrigMuonDefs.h  | 14 +++-------
 2 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/Event/xAOD/xAODTrigMuon/Root/TrigMuonDefs.cxx b/Event/xAOD/xAODTrigMuon/Root/TrigMuonDefs.cxx
index 6fb9aadadeed..dfa2402dbb5c 100644
--- a/Event/xAOD/xAODTrigMuon/Root/TrigMuonDefs.cxx
+++ b/Event/xAOD/xAODTrigMuon/Root/TrigMuonDefs.cxx
@@ -1,6 +1,12 @@
+/*
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+*/
+
+// Local include(s).
 #include "xAODTrigMuon/TrigMuonDefs.h"
-#include <math.h>
-#include <iostream>
+
+// System include(s).
+#include <cmath>
 
 namespace xAOD{
 
@@ -10,19 +16,19 @@ namespace L2MuonParameters{
   ECRegions whichECRegion( const float eta, const float phi ){
       float absEta = fabs(eta);
       if( ( 1.3 <= absEta && absEta < 1.45) &&
-	  ( (0                 <= fabs(phi) && fabs(phi) < CLHEP::pi/48. )     ||
-	    (CLHEP::pi*11./48. <= fabs(phi) && fabs(phi) < CLHEP::pi*13./48. ) ||
-	    (CLHEP::pi*23./48. <= fabs(phi) && fabs(phi) < CLHEP::pi*25./48. ) ||
-	    (CLHEP::pi*35./48. <= fabs(phi) && fabs(phi) < CLHEP::pi*37./48. ) ||
-	    (CLHEP::pi*47./48. <= fabs(phi) && fabs(phi) < CLHEP::pi )
+	  ( (0                 <= fabs(phi) && fabs(phi) < M_PI/48. )     ||
+	    (M_PI*11./48. <= fabs(phi) && fabs(phi) < M_PI*13./48. ) ||
+	    (M_PI*23./48. <= fabs(phi) && fabs(phi) < M_PI*25./48. ) ||
+	    (M_PI*35./48. <= fabs(phi) && fabs(phi) < M_PI*37./48. ) ||
+	    (M_PI*47./48. <= fabs(phi) && fabs(phi) < M_PI )
 	    )
 	  ) return WeakBFieldA;
       
       else if( ( 1.5 <= absEta && absEta < 1.65 ) &&
-	       ( (CLHEP::pi*3./32.  <= fabs(phi) && fabs(phi) < CLHEP::pi*5./32. ) ||
-		 (CLHEP::pi*11./32. <= fabs(phi) && fabs(phi) < CLHEP::pi*13./32.) ||
-		 (CLHEP::pi*19./32. <= fabs(phi) && fabs(phi) < CLHEP::pi*21./32.) ||
-		 (CLHEP::pi*27./32. <= fabs(phi) && fabs(phi) < CLHEP::pi*29./32.)
+	       ( (M_PI*3./32.  <= fabs(phi) && fabs(phi) < M_PI*5./32. ) ||
+		 (M_PI*11./32. <= fabs(phi) && fabs(phi) < M_PI*13./32.) ||
+		 (M_PI*19./32. <= fabs(phi) && fabs(phi) < M_PI*21./32.) ||
+		 (M_PI*27./32. <= fabs(phi) && fabs(phi) < M_PI*29./32.)
 		 )
 	       ) return WeakBFieldB;
       
diff --git a/Event/xAOD/xAODTrigMuon/xAODTrigMuon/TrigMuonDefs.h b/Event/xAOD/xAODTrigMuon/xAODTrigMuon/TrigMuonDefs.h
index 434ab78233cd..564de979ed97 100644
--- a/Event/xAOD/xAODTrigMuon/xAODTrigMuon/TrigMuonDefs.h
+++ b/Event/xAOD/xAODTrigMuon/xAODTrigMuon/TrigMuonDefs.h
@@ -1,22 +1,17 @@
 // Dear emacs, this is -*- c++ -*-
-
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 */
-
-// $Id: TrigMuonDefs.h $
 #ifndef XAODTRIGMUON_TRIGMUONDEFS_H
 #define XAODTRIGMUON_TRIGMUONDEFS_H
 
-#include "CLHEP/Units/PhysicalConstants.h"
-
 /// Namespace holding all the xAOD EDM classes
 namespace xAOD {
 
 namespace L2MuonParameters
 {
 
-    /// Define chamber types and locations                                                                                            
+    /// Define chamber types and locations
     enum Chamber {
       BarrelInner  = 0, ///< Inner station in the barrel spectrometer
       BarrelMiddle = 1, ///< Middle station in the barrel spectrometer
@@ -32,17 +27,16 @@ namespace L2MuonParameters
       MaxChamber   = 11  ///< Number of measurement point definitions
     };
 
-    ///  Define algoriths ID                                                                                                          
+    ///  Define algoriths ID
 	 enum L2MuonAlgoId{GEV900ID=0,   MUONID=1,     HALOID=2,    COSMICID=3,
                       LOOSE_HM=10,  MEDIUM_HM=11, TIGHT_HM=12, LOOSE_LM=13,
                       MEDIUM_LM=14, TIGHT_LM=15,
                       NULLID=99999};
 
     enum ECRegions{ Bulk, WeakBFieldA, WeakBFieldB};
-  
+
     ECRegions whichECRegion( const float eta, const float phi );
 }
-  
 
 }
 
-- 
GitLab


From 8659a50facde6c2d8be3a78fdc31eec4993f26cd Mon Sep 17 00:00:00 2001
From: Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch>
Date: Thu, 13 Dec 2018 16:58:14 +0100
Subject: [PATCH 006/192] Updated AnalysisBase to only build the core/edm
 packages for now.

To lay the groundwork for future analysis release developments, updated
the AnalysisBase project to only build the most essential packages for now.
So that we could do some further development on top of this core later on.

Removed the RootCore specific code from the project by now. It should
really not survive into Run-3...
---
 Projects/AnalysisBase/CMakeLists.txt          | 25 +-------
 .../modules/AnalysisBaseFunctions.cmake       | 41 ------------
 Projects/AnalysisBase/package_filters.txt     | 63 +------------------
 .../AnalysisBase/scripts/load_packages.C.in   | 48 --------------
 Projects/AnalysisBase/version.txt             |  2 +-
 5 files changed, 3 insertions(+), 176 deletions(-)
 delete mode 100644 Projects/AnalysisBase/modules/AnalysisBaseFunctions.cmake
 delete mode 100644 Projects/AnalysisBase/scripts/load_packages.C.in

diff --git a/Projects/AnalysisBase/CMakeLists.txt b/Projects/AnalysisBase/CMakeLists.txt
index add794f885d0..1a91179210d7 100644
--- a/Projects/AnalysisBase/CMakeLists.txt
+++ b/Projects/AnalysisBase/CMakeLists.txt
@@ -4,7 +4,7 @@
 #
 
 # The minimum required CMake version:
-cmake_minimum_required( VERSION 3.2 FATAL_ERROR )
+cmake_minimum_required( VERSION 3.6 FATAL_ERROR )
 
 # Read in the project's version from a file called version.txt. But let it be
 # overridden from the command line if necessary.
@@ -22,20 +22,6 @@ find_package( AnalysisBaseExternals REQUIRED )
 # against Python to correct it.
 find_package( PythonInterp )
 
-# Add the project's modules directory to CMAKE_MODULE_PATH:
-list( INSERT CMAKE_MODULE_PATH 0 ${CMAKE_SOURCE_DIR}/modules )
-list( REMOVE_DUPLICATES CMAKE_MODULE_PATH )
-
-# Install the files from modules/:
-install( DIRECTORY ${CMAKE_SOURCE_DIR}/modules/
-   DESTINATION cmake/modules
-   USE_SOURCE_PERMISSIONS
-   PATTERN ".svn" EXCLUDE
-   PATTERN "*~" EXCLUDE )
-
-# Include the AnalysisBase specific function(s):
-include( AnalysisBaseFunctions )
-
 # Set up the build/runtime environment:
 set( AnalysisBaseReleaseEnvironment_DIR ${CMAKE_SOURCE_DIR} )
 find_package( AnalysisBaseReleaseEnvironment REQUIRED )
@@ -52,15 +38,6 @@ atlas_project( AnalysisBase ${ANALYSISBASE_PROJECT_VERSION}
    USE AnalysisBaseExternals ${AnalysisBaseExternals_VERSION}
    PROJECT_ROOT ${CMAKE_SOURCE_DIR}/../../ )
 
-# Generate the RootCore/Packages.h header:
-analysisbase_generate_release_header()
-
-# Set up the load_packages.C script:
-configure_file( ${CMAKE_SOURCE_DIR}/scripts/load_packages.C.in
-   ${CMAKE_SCRIPT_OUTPUT_DIRECTORY}/load_packages.C @ONLY )
-install( FILES ${CMAKE_SCRIPT_OUTPUT_DIRECTORY}/load_packages.C
-   DESTINATION ${CMAKE_INSTALL_SCRIPTDIR} )
-
 # Configure and install the post-configuration file:
 configure_file( ${CMAKE_SOURCE_DIR}/PostConfig.cmake.in
    ${CMAKE_BINARY_DIR}/PostConfig.cmake @ONLY )
diff --git a/Projects/AnalysisBase/modules/AnalysisBaseFunctions.cmake b/Projects/AnalysisBase/modules/AnalysisBaseFunctions.cmake
deleted file mode 100644
index 9e16d92bf967..000000000000
--- a/Projects/AnalysisBase/modules/AnalysisBaseFunctions.cmake
+++ /dev/null
@@ -1,41 +0,0 @@
-#
-# This module collects CMake functions that are useful when setting up an
-# analysis release.
-#
-
-# Function generating a RootCore/Packages.h header
-#
-# This function should be called in the main CMakeLists.txt file of the
-# project, after the atlas_project(...) call, in order to generate a header file
-# called "RootCore/Packages.h", in the format that RootCore generates it in.
-# With one define statement per package that was found in he release.
-#
-# Usage: analysisbase_generate_release_header()
-#
-function( analysisbase_generate_release_header )
-
-   # Get the list of packages that were found:
-   get_property( _packages GLOBAL PROPERTY ATLAS_EXPORTED_PACKAGES )
-
-   # Generate a "RootCore/Package.h" file, in the same format that
-   # RootCore does/did:
-   set( _packagesFileName
-      ${CMAKE_BINARY_DIR}/RootCore/include/RootCore/Packages.h )
-   file( MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/RootCore/include/RootCore )
-   file( WRITE ${_packagesFileName}
-      "// Auto-generated file, please do not edit\n"
-      "#ifndef ROOTCORE_PACKAGES_H\n"
-      "#define ROOTCORE_PACKAGES_H\n\n" )
-   foreach( pkgname ${_packages} )
-      file( APPEND ${_packagesFileName}
-         "#define ROOTCORE_PACKAGE_${pkgname}\n" )
-   endforeach()
-   file( APPEND ${_packagesFileName} "\n#endif // not ROOTCORE_PACKAGES_H\n" )
-   unset( _packagesFileName )
-   unset( _packages )
-
-   # Install the header in the usual place:
-   install( DIRECTORY ${CMAKE_BINARY_DIR}/RootCore/include/
-      DESTINATION RootCore/include )
-
-endfunction( analysisbase_generate_release_header )
diff --git a/Projects/AnalysisBase/package_filters.txt b/Projects/AnalysisBase/package_filters.txt
index 7fcded02d0e9..0faac768a091 100644
--- a/Projects/AnalysisBase/package_filters.txt
+++ b/Projects/AnalysisBase/package_filters.txt
@@ -10,80 +10,19 @@
 + Control/AthToolSupport/.*
 + Control/CxxUtils
 + Control/xAODRootAccess.*
-+ DataQuality/GoodRunsLists
 + DetectorDescription/GeoPrimitives
 + DetectorDescription/IRegionSelector
 + DetectorDescription/RoiDescriptor
 + Event/EventPrimitives
 + Event/FourMomUtils
 - Event/xAOD/.*AthenaPool
-+ Event/xAOD/xAODMetaDataCnv
-+ Event/xAOD/xAODTriggerCnv
 - Event/xAOD/.*Cnv
 + Event/xAOD/.*
 + Generators/TruthUtils
-+ InnerDetector/InDetRecTools/InDetTrackSelectionTool
-+ InnerDetector/InDetRecTools/TrackVertexAssociationTool
 + MuonSpectrometer/MuonIdHelpers
-+ PhysicsAnalysis/AnalysisCommon/AssociationUtils
-+ PhysicsAnalysis/AnalysisCommon/CPAnalysisExamples
-+ PhysicsAnalysis/AnalysisCommon/FsrUtils
-+ PhysicsAnalysis/AnalysisCommon/IsolationSelection
-+ PhysicsAnalysis/AnalysisCommon/PATCore
-+ PhysicsAnalysis/AnalysisCommon/PATInterfaces
-+ PhysicsAnalysis/AnalysisCommon/PMGTools
-+ PhysicsAnalysis/AnalysisCommon/ParticleJetTools
-+ PhysicsAnalysis/AnalysisCommon/PileupReweighting
-+ PhysicsAnalysis/AnalysisCommon/ReweightUtils
-+ PhysicsAnalysis/D3PDTools/.*
-- PhysicsAnalysis/ElectronPhotonID/ElectronPhotonTagTools
-+ PhysicsAnalysis/ElectronPhotonID/.*
-+ PhysicsAnalysis/HiggsPhys/Run2/HZZ/Tools/ZMassConstraint
-+ PhysicsAnalysis/Interfaces/.*
-+ PhysicsAnalysis/JetMissingEtID/JetSelectorTools
-+ PhysicsAnalysis/JetPhys/SemileptonicCorr
-+ PhysicsAnalysis/JetTagging/JetTagPerformanceCalibration/CalibrationDataInterface
-+ PhysicsAnalysis/JetTagging/JetTagPerformanceCalibration/xAODBTaggingEfficiency
-+ PhysicsAnalysis/MCTruthClassifier
-+ PhysicsAnalysis/MuonID/MuonIDAnalysis/.*
-+ PhysicsAnalysis/MuonID/MuonSelectorTools
-+ PhysicsAnalysis/SUSYPhys/SUSYTools
-+ PhysicsAnalysis/TauID/DiTauMassTools
-+ PhysicsAnalysis/TauID/TauAnalysisTools
-+ PhysicsAnalysis/TauID/TauCorrUncert
-+ PhysicsAnalysis/TopPhys/QuickAna
-+ PhysicsAnalysis/TrackingID/.*
-+ Reconstruction/EventShapes/EventShapeInterface
-- Reconstruction/Jet/JetAnalysisTools/JetAnalysisEDM
-- Reconstruction/Jet/JetEvent.*
-- Reconstruction/Jet/JetMonitoring
-+ Reconstruction/Jet/JetReclustering
-- Reconstruction/Jet/JetRec.+
-- Reconstruction/Jet/JetSimTools
-- Reconstruction/Jet/JetValidation
-+ Reconstruction/Jet/Jet.*
-+ Reconstruction/MET/METInterface
-+ Reconstruction/MET/METUtilities
-+ Reconstruction/MVAUtils
-+ Reconstruction/PFlow/PFlowUtils
-+ Reconstruction/egamma/egammaLayerRecalibTool
-+ Reconstruction/egamma/egammaMVACalib
-+ Reconstruction/egamma/egammaRecEvent
-+ Reconstruction/tauRecTools
 + Tools/PathResolver
-+ Trigger/TrigAnalysis/TrigAnalysisInterfaces
-+ Trigger/TrigAnalysis/TrigBunchCrossingTool
-+ Trigger/TrigAnalysis/TrigDecisionTool
-+ Trigger/TrigAnalysis/TrigTauAnalysis/TrigTauMatching
-+ Trigger/TrigAnalysis/TriggerMatchingTool
 + Trigger/TrigConfiguration/TrigConfBase
-+ Trigger/TrigConfiguration/TrigConfHLTData
-+ Trigger/TrigConfiguration/TrigConfInterfaces
 + Trigger/TrigConfiguration/TrigConfL1Data
-+ Trigger/TrigConfiguration/TrigConfxAOD
-+ Trigger/TrigEvent/TrigDecisionInterface
++ Trigger/TrigConfiguration/TrigConfHLTData
 + Trigger/TrigEvent/TrigNavStructure
-+ Trigger/TrigEvent/TrigRoiConversion
-+ Trigger/TrigEvent/TrigSteeringEvent
-+ Trigger/TrigValidation/TrigAnalysisTest
 - .*
diff --git a/Projects/AnalysisBase/scripts/load_packages.C.in b/Projects/AnalysisBase/scripts/load_packages.C.in
deleted file mode 100644
index 9d47dbba4f5e..000000000000
--- a/Projects/AnalysisBase/scripts/load_packages.C.in
+++ /dev/null
@@ -1,48 +0,0 @@
-//
-// This is a much simplified version of the RootCore script with the same
-// name, basically just here to provide the existing scripts/tests with a
-// file that they can use.
-//
-
-// System include(s):
-#include <stdexcept>
-
-// ROOT include(s):
-#include <TSystem.h>
-#include <TROOT.h>
-
-/// Function setting up interactive ROOT to use the analysis release
-///
-/// In order to use macros or PyROOT scripts that make use of symbols
-/// defined in the analysis release, the user has to execute this macro.
-/// It takes care of setting up the compilation options of ACLiC, and
-/// of calling xAOD::Init().
-///
-/// @param options An unused parameter, just to mimic the RootCore function
-///
-void load_packages( const char* options = "" ) {
-
-   // Make sure that some reasonable environment is set up:
-   const char* ROOTCOREDIR = gSystem->Getenv( "ROOTCOREDIR" );
-   if( ! ROOTCOREDIR ) {
-      throw std::runtime_error( "ROOTCOREDIR not set, please set "
-                                "the environment" );
-   }
-   const std::string dir = ROOTCOREDIR;
-
-   const char* ROOTCOREBIN = gSystem->Getenv( "ROOTCOREBIN" );
-   if( ! ROOTCOREBIN ) {
-      throw std::runtime_error( "ROOTCOREBIN not set, please set "
-                                "the environment");
-   }
-   const std::string bin = ROOTCOREBIN;
-
-   // Set the compilation options for ACLiC:
-   gSystem->AddIncludePath( "@CMAKE_CXX_FLAGS@" );
-
-   // Load the xAODRootAccess library, in a hard-coded way:
-   gSystem->Load( "libxAODRootAccess" );
-   gROOT->ProcessLine( "xAOD::Init().ignore()" );
-
-   return;
-}
diff --git a/Projects/AnalysisBase/version.txt b/Projects/AnalysisBase/version.txt
index 24ba9a38de68..01c3bca9e331 100644
--- a/Projects/AnalysisBase/version.txt
+++ b/Projects/AnalysisBase/version.txt
@@ -1 +1 @@
-2.7.0
+22.0.1
-- 
GitLab


From b999d46f95011445d5e7657f67f1e29ff7fa8f8a Mon Sep 17 00:00:00 2001
From: Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch>
Date: Tue, 18 Dec 2018 10:05:50 +0100
Subject: [PATCH 007/192] Replaced ROOTCORE with XAOD_STANDALONE in AsgTools.

This is in preparation to remove the ROOTCORE macro definition from the
analysis release builds.
---
 .../AsgTools/AsgTools/AnaToolHandle.h         | 22 ++++----
 .../AsgTools/AsgTools/AnaToolHandle.icc       | 50 +++++++++----------
 .../AsgTools/AsgTools/IMessagePrinter.h       |  2 +-
 .../AsgTools/AsgTools/MessageCheck.h          |  6 +--
 .../AsgTools/AsgTools/MessagePrinter.h        |  2 +-
 .../AsgTools/MessagePrinterErrorCollect.h     |  2 +-
 .../AsgTools/AsgTools/MessagePrinterMock.h    |  2 +-
 .../AsgTools/AsgTools/SgTEvent.icc            |  4 +-
 .../AsgTools/AsgTools/SgTEventMeta.icc        |  4 +-
 .../AsgTools/AsgTools/ToolStore.h             |  2 +-
 .../AsgTools/AsgTools/UnitTest.h              |  2 +-
 .../AsgTools/Root/AnaToolHandle.cxx           | 20 ++++----
 .../AsgTools/Root/MessageCheck.cxx            |  4 +-
 .../Root/MessagePrinterErrorCollect.cxx       |  2 +-
 .../AthToolSupport/AsgTools/Root/SgTEvent.cxx |  6 +--
 .../AsgTools/Root/SgTEventMeta.cxx            |  6 +--
 .../AsgTools/Root/ToolStore.cxx               |  2 +-
 .../AsgTools/test/gt_AsgTool.cxx              |  2 +-
 .../AsgTools/test/gt_MessageCheck.cxx         |  2 +-
 .../AsgTools/test/gt_TProperty.cxx            |  2 +-
 .../AsgTools/test/gt_UnitTest_test.cxx        | 12 ++---
 21 files changed, 76 insertions(+), 80 deletions(-)

diff --git a/Control/AthToolSupport/AsgTools/AsgTools/AnaToolHandle.h b/Control/AthToolSupport/AsgTools/AsgTools/AnaToolHandle.h
index 65d6c0014a87..ed7fbbb9a680 100644
--- a/Control/AthToolSupport/AsgTools/AsgTools/AnaToolHandle.h
+++ b/Control/AthToolSupport/AsgTools/AsgTools/AnaToolHandle.h
@@ -24,7 +24,7 @@
 
 namespace asg
 {
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
    typedef INamedInterface parentType_t;
    typedef IAsgTool interfaceType_t;
 #else
@@ -99,7 +99,7 @@ namespace asg
     public:
       virtual ~AnaToolProperty () noexcept = default;
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
       /// \brief apply the property to the given tool in RootCore
       /// \par Guarantee
       ///   basic
@@ -114,7 +114,7 @@ namespace asg
 	const = 0;
 #endif
 
-#ifndef ROOTCORE
+#ifndef XAOD_STANDALONE
       /// \brief store the property in the configuration service in
       /// Athena
       /// \par Guarantee
@@ -171,7 +171,7 @@ namespace asg
     public:
       void setType (std::string type) noexcept;
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
       /// \brief register the new of the given type as factory
       ///
       /// If this is set, it is used instead of \ref type to allocate
@@ -206,7 +206,7 @@ namespace asg
       setProperty (const std::string& val_name,
 		   const AnaToolHandle<Type>& val_value);
 
-#ifndef ROOTCORE
+#ifndef XAOD_STANDALONE
       /// \copydoc setProperty
     public:
       template<typename Type> StatusCode
@@ -264,7 +264,7 @@ namespace asg
                     AnaToolCleanup& cleanup) const;
 
 
-#ifndef ROOTCORE
+#ifndef XAOD_STANDALONE
       /// \brief store the properties in the configuration service in
       /// Athena
       /// \par Guarantee
@@ -296,7 +296,7 @@ namespace asg
       std::map<std::string,std::shared_ptr<AnaToolProperty> > m_properties;
 
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
       /// \brief create, configure and initialize the tool (in
       /// RootCore)
       /// \par Guarantee
@@ -310,7 +310,7 @@ namespace asg
 #endif
 
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
       /// \brief allocate the tool
       /// \par Guarantee
       ///   basic
@@ -610,7 +610,7 @@ namespace asg
   public:
     void setType (std::string val_type) noexcept;
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
     /// \brief set the value of \ref type and a factory based on the
     /// standard tool constructor
     ///
@@ -855,7 +855,7 @@ namespace asg
   //   ToolHandle<T>& handle () {
   //     return *m_handleUser;};
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
   public:
     template<class T2>
     ASG_DEPRECATED ("please use setTypeRegisterNew() instead")
@@ -990,7 +990,7 @@ namespace asg
   (ASG_SET_ANA_TOOL_TYPE(handle,type), StatusCode (StatusCode::SUCCESS))
 
 /// \brief set the tool type on the tool handle, using new in rootcore
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
 #define ASG_SET_ANA_TOOL_TYPE(handle,type)	\
   (handle).template setTypeRegisterNew<type> (#type)
 #else
diff --git a/Control/AthToolSupport/AsgTools/AsgTools/AnaToolHandle.icc b/Control/AthToolSupport/AsgTools/AsgTools/AnaToolHandle.icc
index 5a0606fb034d..78fa035d6cae 100644
--- a/Control/AthToolSupport/AsgTools/AsgTools/AnaToolHandle.icc
+++ b/Control/AthToolSupport/AsgTools/AsgTools/AnaToolHandle.icc
@@ -2,7 +2,7 @@
 #include <assert.h>
 #include <cstdlib>
 
-#ifndef ROOTCORE
+#ifndef XAOD_STANDALONE
 #include "GaudiKernel/IJobOptionsSvc.h"
 #endif
 
@@ -11,7 +11,7 @@ namespace asg
 {
   namespace detail
   {
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
     StatusCode makeToolRootCore (const std::string& type,
 				 const std::string& name,
 				 AsgTool*& tool);
@@ -37,7 +37,7 @@ namespace asg
     {
       using namespace msgUserCode;
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
       to = ToolHandle<T1> (dynamic_cast<T1*>(&*from));
       if (!from.empty() && &*to == nullptr)
       {
@@ -166,7 +166,7 @@ namespace asg
 
 
 
-#ifndef ROOTCORE
+#ifndef XAOD_STANDALONE
     /// \brief manage a single property in the job options service
 
     struct PropertyValueManager
@@ -218,7 +218,7 @@ namespace asg
 
 
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
     /// \brief a \ref AnaToolProperty containing a regular value in
     /// RootCore
 
@@ -261,7 +261,7 @@ namespace asg
 	: m_config (val_config)
       {}
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
     public:
       virtual StatusCode
       applyPropertyRootCore (AsgTool& tool, const std::string& name,
@@ -278,7 +278,7 @@ namespace asg
       }
 #endif
 
-#ifndef ROOTCORE
+#ifndef XAOD_STANDALONE
     private:
       virtual StatusCode
       applyPropertyAthena (const std::string& toolName,
@@ -310,7 +310,7 @@ namespace asg
 
 
 
-#ifndef ROOTCORE
+#ifndef XAOD_STANDALONE
     /// \brief a \ref AnaToolProperty copying a tool configuration
     /// from the job options service to a new place
 
@@ -353,7 +353,7 @@ namespace asg
 	: m_name (val_name), m_config (val_config)
       {}
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
     public:
       virtual StatusCode
       applyPropertyRootCore (AsgTool& tool, const std::string& name,
@@ -372,7 +372,7 @@ namespace asg
       }
 #endif
 
-#ifndef ROOTCORE
+#ifndef XAOD_STANDALONE
     private:
       virtual StatusCode
       applyPropertyAthena (const std::string& toolName,
@@ -412,7 +412,7 @@ namespace asg
 
 
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
     template<typename Type> void AnaToolConfig ::
     registerNew ()
     {
@@ -423,7 +423,7 @@ namespace asg
 
 
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
     template<typename Type> StatusCode AnaToolConfig ::
     setProperty (const std::string& val_name, const Type& val_value)
     {
@@ -484,7 +484,7 @@ namespace asg
 
 
 
-#ifndef ROOTCORE
+#ifndef XAOD_STANDALONE
     template<typename Type> StatusCode AnaToolConfig ::
     setProperty (const std::string& val_name,
 		 const ToolHandle<Type>& val_value)
@@ -551,7 +551,7 @@ namespace asg
       ANA_CHECK (makeBaseTool (name, parent, baseTH, baseCleanup));
       ANA_CHECK (toolHandleCast (th, baseTH));
       cleanup.swap (baseCleanup);
-#ifndef ROOTCORE
+#ifndef XAOD_STANDALONE
       baseTH->release ();
 #endif
       return StatusCode::SUCCESS;
@@ -577,10 +577,6 @@ namespace asg
     // General requirements
     CHECK_INVARIANT (&*this != nullptr);
     CHECK_INVARIANT (m_handleUser != nullptr);
-    // CHECK_INVARIANT (m_parentPtr == nullptr || m_parentPtr->name() == m_parentName);
-    // #ifndef ROOTCORE
-    // CHECK_INVARIANT (m_parentPtr == m_handleUser->parent());
-    // #endif
 
 #undef CHECK_INVARIANT
   }
@@ -630,7 +626,7 @@ namespace asg
       m_cleanup = that.m_cleanup;
     }
 
-#ifndef ROOTCORE
+#ifndef XAOD_STANDALONE
     if (!m_handleUser->empty())
       (*m_handleUser)->release();
 #endif
@@ -668,7 +664,7 @@ namespace asg
     std::swap (m_parentPtr, that.m_parentPtr);
     {
       ToolHandle<T> tmp = *m_handleUser;
-#ifndef ROOTCORE
+#ifndef XAOD_STANDALONE
       if (!tmp.empty())
         tmp->release();
 #endif
@@ -827,7 +823,7 @@ namespace asg
     case detail::AnaToolHandleMode::RETRIEVE_SHARED:
       assert (sharedTool != nullptr);
       ANA_CHECK (detail::toolHandleCast (th, sharedTool->th()));
-#ifndef ROOTCORE
+#ifndef XAOD_STANDALONE
       if (!th.empty())
         th->release ();
 #endif
@@ -847,7 +843,7 @@ namespace asg
     ANA_CHECK (makeToolRetrieve (toolPtr, th));
 
     *m_handleUser = th;
-#ifndef ROOTCORE
+#ifndef XAOD_STANDALONE
     if (!th.empty())
       th->release ();
 #endif
@@ -1024,7 +1020,7 @@ namespace asg
 
 
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
   template <class T> template <class T2> void AnaToolHandle<T> ::
   setTypeRegisterNew (std::string val_type)
   {
@@ -1068,7 +1064,7 @@ namespace asg
 #ifndef NDEBUG
     this->testInvariant ();
 #endif
-#ifndef ROOTCORE
+#ifndef XAOD_STANDALONE
     return m_handleUser->parentName() + "." + name();
 #else
     std::string toolName;
@@ -1099,7 +1095,7 @@ namespace asg
         m_handleUser->typeAndName() != m_originalTypeAndName)
       return detail::AnaToolHandleMode::USER;
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
     if (!m_parentName.empty())
     {
       if (m_handleUser->parentName() != m_parentName)
@@ -1116,14 +1112,14 @@ namespace asg
       if ((sharedTool = detail::AnaToolShareList::singleton()
 	     .getShare (fullName())))
 	return detail::AnaToolHandleMode::RETRIEVE_SHARED;
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
       /// \todo check whether this is actually what we want to do
       if (ToolStore::contains<T> (m_handleUser->name()))
 	return detail::AnaToolHandleMode::USER;
 #endif
     }
 
-#ifndef ROOTCORE
+#ifndef XAOD_STANDALONE
     //for athena, all we do here is check if the tool already exists
     interfaceType_t *tool = nullptr;
     if( detail::toolExists( fullName(), tool ) )
diff --git a/Control/AthToolSupport/AsgTools/AsgTools/IMessagePrinter.h b/Control/AthToolSupport/AsgTools/AsgTools/IMessagePrinter.h
index fbea449f8790..7277751a3f55 100644
--- a/Control/AthToolSupport/AsgTools/AsgTools/IMessagePrinter.h
+++ b/Control/AthToolSupport/AsgTools/AsgTools/IMessagePrinter.h
@@ -14,7 +14,7 @@
 #include <AsgTools/MsgLevel.h>
 #include <sstream>
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
 
 namespace asg
 {
diff --git a/Control/AthToolSupport/AsgTools/AsgTools/MessageCheck.h b/Control/AthToolSupport/AsgTools/AsgTools/MessageCheck.h
index 2a6730a608d0..8c6c7e8183ff 100644
--- a/Control/AthToolSupport/AsgTools/AsgTools/MessageCheck.h
+++ b/Control/AthToolSupport/AsgTools/AsgTools/MessageCheck.h
@@ -79,7 +79,7 @@
 #include <type_traits>
 
 #include <xAODRootAccess/tools/TReturnCode.h>
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
 #include <AsgTools/MsgStream.h>
 #else
 #include "AthenaBaseComps/AthMessaging.h"
@@ -118,7 +118,7 @@
   void setMsgLevel (MSG::Level level); }
 
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
 #define ASG_TOOLS_MSG_STREAM(NAME,TITLE)	\
   static MsgStream NAME (TITLE);
 #else
@@ -254,7 +254,7 @@ namespace asg
 
   namespace detail
   {
-#ifndef ROOTCORE
+#ifndef XAOD_STANDALONE
     /// Get the Athena message service
     /// TODO: Look into using AthenaKernel/MsgStreamMember.h
     IMessageSvc* getMessageSvcAthena();
diff --git a/Control/AthToolSupport/AsgTools/AsgTools/MessagePrinter.h b/Control/AthToolSupport/AsgTools/AsgTools/MessagePrinter.h
index ade1b961546c..9d30102cd134 100644
--- a/Control/AthToolSupport/AsgTools/AsgTools/MessagePrinter.h
+++ b/Control/AthToolSupport/AsgTools/AsgTools/MessagePrinter.h
@@ -11,7 +11,7 @@
 // reports, feature suggestions, praise and complaints.
 
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
 
 #include <AsgTools/IMessagePrinter.h>
 
diff --git a/Control/AthToolSupport/AsgTools/AsgTools/MessagePrinterErrorCollect.h b/Control/AthToolSupport/AsgTools/AsgTools/MessagePrinterErrorCollect.h
index 8f938acb677f..0605a3ddd71b 100644
--- a/Control/AthToolSupport/AsgTools/AsgTools/MessagePrinterErrorCollect.h
+++ b/Control/AthToolSupport/AsgTools/AsgTools/MessagePrinterErrorCollect.h
@@ -11,7 +11,7 @@
 // reports, feature suggestions, praise and complaints.
 
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
 
 #include <AsgTools/IMessagePrinter.h>
 #include <vector>
diff --git a/Control/AthToolSupport/AsgTools/AsgTools/MessagePrinterMock.h b/Control/AthToolSupport/AsgTools/AsgTools/MessagePrinterMock.h
index 72708f90ec02..e1627aea9a04 100644
--- a/Control/AthToolSupport/AsgTools/AsgTools/MessagePrinterMock.h
+++ b/Control/AthToolSupport/AsgTools/AsgTools/MessagePrinterMock.h
@@ -14,7 +14,7 @@
 #include <AsgTools/IMessagePrinter.h>
 #include <gmock/gmock.h>
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
 
 namespace asg
 {
diff --git a/Control/AthToolSupport/AsgTools/AsgTools/SgTEvent.icc b/Control/AthToolSupport/AsgTools/AsgTools/SgTEvent.icc
index ab8493df8f4c..74b12c3026ae 100644
--- a/Control/AthToolSupport/AsgTools/AsgTools/SgTEvent.icc
+++ b/Control/AthToolSupport/AsgTools/AsgTools/SgTEvent.icc
@@ -7,10 +7,10 @@
 #include <iostream>
 
 // xAOD include(s):
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
 #   include "xAODRootAccess/TEvent.h"
 #   include "xAODRootAccess/TStore.h"
-#endif // ROOTCORE
+#endif // XAOD_STANDALONE
 
 namespace asg {
 
diff --git a/Control/AthToolSupport/AsgTools/AsgTools/SgTEventMeta.icc b/Control/AthToolSupport/AsgTools/AsgTools/SgTEventMeta.icc
index 7083f1bbc21e..af80d9c9fe4c 100644
--- a/Control/AthToolSupport/AsgTools/AsgTools/SgTEventMeta.icc
+++ b/Control/AthToolSupport/AsgTools/AsgTools/SgTEventMeta.icc
@@ -7,9 +7,9 @@
 #include <iostream>
 
 // xAOD include(s):
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
 #   include "xAODRootAccess/TEvent.h"
-#endif // ROOTCORE
+#endif // XAOD_STANDALONE
 
 namespace asg {
 
diff --git a/Control/AthToolSupport/AsgTools/AsgTools/ToolStore.h b/Control/AthToolSupport/AsgTools/AsgTools/ToolStore.h
index 780e2d1a1d37..d35444ae2877 100644
--- a/Control/AthToolSupport/AsgTools/AsgTools/ToolStore.h
+++ b/Control/AthToolSupport/AsgTools/AsgTools/ToolStore.h
@@ -60,7 +60,7 @@ namespace asg {
       /// Remove a tool with a given name from the store
       static StatusCode remove( const std::string& name );
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
      /// dump the tool configuration for all tools to std::cout
      static void dumpToolConfig ();
 #endif
diff --git a/Control/AthToolSupport/AsgTools/AsgTools/UnitTest.h b/Control/AthToolSupport/AsgTools/AsgTools/UnitTest.h
index 1bf196f5dd26..b7f455c9b3bb 100644
--- a/Control/AthToolSupport/AsgTools/AsgTools/UnitTest.h
+++ b/Control/AthToolSupport/AsgTools/AsgTools/UnitTest.h
@@ -46,7 +46,7 @@ namespace asg
   EXPECT_EQ (asg::CheckHelper<decltype(x)>::failureCode(), x)
 
 
-#ifndef ROOTCORE
+#ifndef XAOD_STANDALONE
 #define ASSERT_FAILURE_REGEX(x,regex)                           \
   ASSERT_FAILURE(x)
 #define EXPECT_FAILURE_REGEX(x,regex)                           \
diff --git a/Control/AthToolSupport/AsgTools/Root/AnaToolHandle.cxx b/Control/AthToolSupport/AsgTools/Root/AnaToolHandle.cxx
index 3949e48bc0d3..7745d60b218f 100644
--- a/Control/AthToolSupport/AsgTools/Root/AnaToolHandle.cxx
+++ b/Control/AthToolSupport/AsgTools/Root/AnaToolHandle.cxx
@@ -16,7 +16,7 @@
 
 #include "AsgTools/ToolStore.h"
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
 #include <TInterpreter.h>
 #include <TROOT.h>
 #else
@@ -105,7 +105,7 @@ namespace asg
       AnaToolCleanup cleanup;
       ANA_CHECK (config.makeTool (name, nullptr, th, cleanup));
       res_result.reset (new AnaToolShare (th, cleanup));
-#ifndef ROOTCORE
+#ifndef XAOD_STANDALONE
       if (!th.empty())
       {
 	th->release ();
@@ -123,7 +123,7 @@ namespace asg
 // legacy code
 //
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
 
 namespace asg
 {
@@ -307,7 +307,7 @@ namespace asg
 	return false;
       if (!m_type.empty())
 	return false;
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
       if (m_factory)
 	return false;
 #endif
@@ -341,7 +341,7 @@ namespace asg
 
 
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
   StatusCode AnaToolConfig ::
   allocateTool (AsgTool*& toolPtr, const std::string& toolName) const
   {
@@ -373,7 +373,7 @@ namespace asg
 
 
 
-#ifndef ROOTCORE
+#ifndef XAOD_STANDALONE
     StatusCode AnaToolConfig ::
     applyPropertiesAthena (const std::string& toolName,
 			   AnaToolCleanup& cleanup) const
@@ -411,7 +411,7 @@ namespace asg
 
 
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
     StatusCode AnaToolConfig ::
     makeToolRootCore (const std::string& toolName, IAsgTool*& toolPtr,
 		      AnaToolCleanup& cleanup) const
@@ -438,7 +438,7 @@ namespace asg
 #endif
 
 
-#ifndef ROOTCORE
+#ifndef XAOD_STANDALONE
     /// \brief manage the reference count on a tool
 
     struct ToolRefManager
@@ -509,7 +509,7 @@ namespace asg
       else
         toolName = "ToolSvc." + name;
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
       interfaceType_t *baseToolPtr = nullptr;
       AnaToolCleanup baseCleanup;
       ANA_CHECK (makeToolRootCore (toolName, baseToolPtr, baseCleanup));
@@ -582,7 +582,7 @@ namespace asg
 
 
 
-#ifndef ROOTCORE
+#ifndef XAOD_STANDALONE
     AnaToolPropertyCopyTool ::
     AnaToolPropertyCopyTool (const std::string& val_type,
                              const std::string& val_name)
diff --git a/Control/AthToolSupport/AsgTools/Root/MessageCheck.cxx b/Control/AthToolSupport/AsgTools/Root/MessageCheck.cxx
index 258e301973ff..6cf165df1ea2 100644
--- a/Control/AthToolSupport/AsgTools/Root/MessageCheck.cxx
+++ b/Control/AthToolSupport/AsgTools/Root/MessageCheck.cxx
@@ -16,7 +16,7 @@
 
 #include <stdexcept>
 
-#ifndef ROOTCORE
+#ifndef XAOD_STANDALONE
 #include <GaudiKernel/Bootstrap.h>
 #include <GaudiKernel/ISvcLocator.h>
 #endif
@@ -33,7 +33,7 @@ namespace asg
 
   namespace detail
   {
-#ifndef ROOTCORE
+#ifndef XAOD_STANDALONE
     // Get the Athena message service
     IMessageSvc* getMessageSvcAthena()
     {
diff --git a/Control/AthToolSupport/AsgTools/Root/MessagePrinterErrorCollect.cxx b/Control/AthToolSupport/AsgTools/Root/MessagePrinterErrorCollect.cxx
index 0562f61b6832..b99ab99822c0 100644
--- a/Control/AthToolSupport/AsgTools/Root/MessagePrinterErrorCollect.cxx
+++ b/Control/AthToolSupport/AsgTools/Root/MessagePrinterErrorCollect.cxx
@@ -20,7 +20,7 @@
 // method implementations
 //
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
 
 namespace asg
 {
diff --git a/Control/AthToolSupport/AsgTools/Root/SgTEvent.cxx b/Control/AthToolSupport/AsgTools/Root/SgTEvent.cxx
index db96cc4aa388..dd3d5456dabf 100644
--- a/Control/AthToolSupport/AsgTools/Root/SgTEvent.cxx
+++ b/Control/AthToolSupport/AsgTools/Root/SgTEvent.cxx
@@ -1,4 +1,4 @@
-// $Id: SgTEvent.cxx 687011 2015-08-03 09:25:07Z krasznaa $
+
 
 // System include(s):
 #include <iostream>
@@ -7,10 +7,10 @@
 #include "AsgTools/SgTEvent.h"
 
 // RootCore include(s):
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
 #   include "xAODRootAccessInterfaces/TActiveEvent.h"
 #   include "xAODRootAccess/TActiveStore.h"
-#endif
+#endif // XAOD_STANDALONE
 
 namespace asg {
 
diff --git a/Control/AthToolSupport/AsgTools/Root/SgTEventMeta.cxx b/Control/AthToolSupport/AsgTools/Root/SgTEventMeta.cxx
index 98be017fe90d..3db8b6576a85 100644
--- a/Control/AthToolSupport/AsgTools/Root/SgTEventMeta.cxx
+++ b/Control/AthToolSupport/AsgTools/Root/SgTEventMeta.cxx
@@ -1,10 +1,10 @@
-// $Id: SgTEventMeta.cxx 687011 2015-08-03 09:25:07Z krasznaa $
+
 
 // xAOD include(s):
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
 #   include "xAODRootAccessInterfaces/TActiveEvent.h"
 #   include "xAODRootAccess/TEvent.h"
-#endif // ROOTCORE
+#endif // XAOD_STANDALONE
 
 // Local include(s):
 #include "AsgTools/SgTEventMeta.h"
diff --git a/Control/AthToolSupport/AsgTools/Root/ToolStore.cxx b/Control/AthToolSupport/AsgTools/Root/ToolStore.cxx
index 705192955623..4ab37b606823 100644
--- a/Control/AthToolSupport/AsgTools/Root/ToolStore.cxx
+++ b/Control/AthToolSupport/AsgTools/Root/ToolStore.cxx
@@ -116,7 +116,7 @@ namespace asg {
    }
 
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
   void ToolStore::dumpToolConfig () {
     using namespace asg::msgProperty;
 
diff --git a/Control/AthToolSupport/AsgTools/test/gt_AsgTool.cxx b/Control/AthToolSupport/AsgTools/test/gt_AsgTool.cxx
index 11707f192749..f60194e97fc2 100644
--- a/Control/AthToolSupport/AsgTools/test/gt_AsgTool.cxx
+++ b/Control/AthToolSupport/AsgTools/test/gt_AsgTool.cxx
@@ -23,7 +23,7 @@
 #include <gtest/gtest-spi.h>
 #include <gmock/gmock.h>
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
 #include <xAODRootAccess/Init.h>
 #endif
 
diff --git a/Control/AthToolSupport/AsgTools/test/gt_MessageCheck.cxx b/Control/AthToolSupport/AsgTools/test/gt_MessageCheck.cxx
index 6bbec039df0a..3a55ef934396 100644
--- a/Control/AthToolSupport/AsgTools/test/gt_MessageCheck.cxx
+++ b/Control/AthToolSupport/AsgTools/test/gt_MessageCheck.cxx
@@ -23,7 +23,7 @@
 #include <gtest/gtest-spi.h>
 #include <gmock/gmock.h>
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
 #include <xAODRootAccess/Init.h>
 #endif
 
diff --git a/Control/AthToolSupport/AsgTools/test/gt_TProperty.cxx b/Control/AthToolSupport/AsgTools/test/gt_TProperty.cxx
index 4aa2b6fca3a1..fda8bdb21cb6 100644
--- a/Control/AthToolSupport/AsgTools/test/gt_TProperty.cxx
+++ b/Control/AthToolSupport/AsgTools/test/gt_TProperty.cxx
@@ -19,7 +19,7 @@
 #include <gtest/gtest.h>
 #include <gtest/gtest-spi.h>
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
 #include <xAODRootAccess/Init.h>
 #endif
 
diff --git a/Control/AthToolSupport/AsgTools/test/gt_UnitTest_test.cxx b/Control/AthToolSupport/AsgTools/test/gt_UnitTest_test.cxx
index b9ef569163f1..e4a0d39ad9aa 100644
--- a/Control/AthToolSupport/AsgTools/test/gt_UnitTest_test.cxx
+++ b/Control/AthToolSupport/AsgTools/test/gt_UnitTest_test.cxx
@@ -19,7 +19,7 @@
 #include <gtest/gtest.h>
 #include <gtest/gtest-spi.h>
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
 #include <xAODRootAccess/Init.h>
 #endif
 
@@ -98,7 +98,7 @@ namespace asg
     EXPECT_FAILURE_REGEX (functionFailure("match"),".*match.*");
   }
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
   TEST (AssertTest, failure_regex_failure_missmatch)
 #else
   TEST (AssertTest, DISABLED_failure_regex_failure_missmatch)
@@ -107,7 +107,7 @@ namespace asg
     EXPECT_FATAL_FAILURE (ASSERT_FAILURE_REGEX (functionFailure("text 1"),".*different text.*"), "functionFailure");
   }
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
   TEST (AssertTest, failure_regex_failure_missing)
 #else
   TEST (AssertTest, DISABLED_failure_regex_failure_missing)
@@ -203,7 +203,7 @@ namespace asg
     EXPECT_FAILURE_REGEX (functionFailure("match"),".*match.*");
   }
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
   TEST (ExpectTest, failure_regex_failure_missmatch)
 #else
   TEST (ExpectTest, DISABLED_failure_regex_failure_missmatch)
@@ -212,7 +212,7 @@ namespace asg
     EXPECT_NONFATAL_FAILURE (EXPECT_FAILURE_REGEX (functionFailure("text 1"),".*different text.*"), "functionFailure");
   }
 
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
   TEST (ExpectTest, failure_regex_failure_missing)
 #else
   TEST (ExpectTest, DISABLED_failure_regex_failure_missing)
@@ -266,7 +266,7 @@ namespace asg
 
 int main (int argc, char **argv)
 {
-#ifdef ROOTCORE
+#ifdef XAOD_STANDALONE
   StatusCode::enableFailure();
   ANA_CHECK (xAOD::Init ());
 #endif
-- 
GitLab


From dd264749efd1061ee7400d91812a444cc5aff30e Mon Sep 17 00:00:00 2001
From: Ian Connelly <ian.connelly@cern.ch>
Date: Fri, 4 Jan 2019 17:26:17 +0000
Subject: [PATCH 008/192] Porting merge request from closed athena to open
 athena repository

---
 .../MuonByteStream/src/MuonCacheCreator.cxx   | 31 ++++++++-
 .../MuonByteStream/src/MuonCacheCreator.h     | 15 ++++-
 .../src/CSC_RawDataProviderTool.cxx           | 27 ++++++--
 .../src/CSC_RawDataProviderTool.h             |  4 ++
 .../MuonCSC_CnvTools/src/CscROD_Decoder.cxx   | 64 ++++++++-----------
 .../python/MuonBytestreamDecodeConfig.py      |  7 +-
 .../MuonConfig/python/MuonCablingConfig.py    |  1 +
 .../MuonConfig/python/MuonRdoDecodeConfig.py  |  3 +-
 .../MuonRDO/CscRawDataCollection_Cache.h      | 12 ++++
 .../MuonRDO/MuonRDO/CscRawDataContainer.h     |  3 +
 .../MuonRDO/MM_RawDataCollection_Cache.h      | 12 ++++
 .../MuonRDO/MuonRDO/MM_RawDataContainer.h     |  2 +
 .../MuonRDO/MuonRDO/MuonRDODict.h             |  8 ++-
 .../MuonRDO/MuonRDO/RpcPadContainer.h         |  3 +
 .../MuonRDO/MuonRDO/RpcPad_Cache.h            | 12 ++++
 .../MuonRDO/STGC_RawDataCollection_Cache.h    | 12 ++++
 .../MuonRDO/MuonRDO/STGC_RawDataContainer.h   |  2 +
 .../MuonRDO/MuonRDO/TgcRdoContainer.h         |  3 +
 .../MuonRDO/MuonRDO/TgcRdo_Cache.h            | 12 ++++
 .../MuonRDO/MuonRDO/selection.xml             | 10 ++-
 .../MuonRDO/src/CscRawDataContainer.cxx       |  5 ++
 .../MuonRDO/src/MM_RawDataContainer.cxx       |  5 ++
 .../MuonRDO/src/RpcPadContainer.cxx           |  6 ++
 .../MuonRDO/src/STGC_RawDataContainer.cxx     |  6 ++
 .../MuonRDO/src/TgcRdoContainer.cxx           |  5 ++
 25 files changed, 216 insertions(+), 54 deletions(-)
 create mode 100644 MuonSpectrometer/MuonRDO/MuonRDO/CscRawDataCollection_Cache.h
 create mode 100644 MuonSpectrometer/MuonRDO/MuonRDO/MM_RawDataCollection_Cache.h
 create mode 100644 MuonSpectrometer/MuonRDO/MuonRDO/RpcPad_Cache.h
 create mode 100644 MuonSpectrometer/MuonRDO/MuonRDO/STGC_RawDataCollection_Cache.h
 create mode 100644 MuonSpectrometer/MuonRDO/MuonRDO/TgcRdo_Cache.h

diff --git a/MuonSpectrometer/MuonCnv/MuonByteStream/src/MuonCacheCreator.cxx b/MuonSpectrometer/MuonCnv/MuonByteStream/src/MuonCacheCreator.cxx
index 83c0eabbd77e..e79d56408a07 100644
--- a/MuonSpectrometer/MuonCnv/MuonByteStream/src/MuonCacheCreator.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonByteStream/src/MuonCacheCreator.cxx
@@ -5,13 +5,24 @@
 #include "MuonCacheCreator.h"
 
 #include "MuonIdHelpers/MdtIdHelper.h"
+#include "MuonIdHelpers/CscIdHelper.h"
+#include "MuonIdHelpers/RpcIdHelper.h"
+#include "MuonIdHelpers/TgcIdHelper.h"
+
 
 /// Constructor
 MuonCacheCreator::MuonCacheCreator(const std::string &name,ISvcLocator *pSvcLocator):
   AthReentrantAlgorithm(name,pSvcLocator),
-  m_MdtCsmCacheKey("")
+  m_MdtCsmCacheKey(""),
+  m_CscCacheKey(""),
+  m_RpcCacheKey(""),
+  m_TgcCacheKey("")
 {
   declareProperty("MdtCsmCacheKey", m_MdtCsmCacheKey);
+  declareProperty("CscCacheKey",    m_CscCacheKey);
+  declareProperty("RpcCacheKey",    m_RpcCacheKey);
+  declareProperty("TgcCacheKey",    m_TgcCacheKey);
+
 }
 
 MuonCacheCreator::~MuonCacheCreator() {
@@ -20,9 +31,13 @@ MuonCacheCreator::~MuonCacheCreator() {
 
 StatusCode MuonCacheCreator::initialize() {
   ATH_CHECK( m_MdtCsmCacheKey.initialize(!m_MdtCsmCacheKey.key().empty()) );
-  
+  ATH_CHECK( m_CscCacheKey.initialize(!m_CscCacheKey.key().empty()) );
+  ATH_CHECK( m_RpcCacheKey.initialize(!m_RpcCacheKey.key().empty()) );
+  ATH_CHECK( m_TgcCacheKey.initialize(!m_TgcCacheKey.key().empty()) );
   ATH_CHECK( detStore()->retrieve(m_mdtIdHelper,"MDTIDHELPER") );
-  
+  ATH_CHECK( detStore()->retrieve(m_cscIdHelper,"CSCIDHELPER") );
+  ATH_CHECK( detStore()->retrieve(m_rpcIdHelper,"RPCIDHELPER") );
+  ATH_CHECK( detStore()->retrieve(m_tgcIdHelper,"TGCIDHELPER") );
   return StatusCode::SUCCESS;
 }
 
@@ -32,8 +47,18 @@ StatusCode MuonCacheCreator::execute (const EventContext& ctx) const {
   auto maxHashMDTs = m_mdtIdHelper->stationNameIndex("BME") != -1 ?
              m_mdtIdHelper->detectorElement_hash_max() : m_mdtIdHelper->module_hash_max();
   ATH_CHECK(CreateContainer(m_MdtCsmCacheKey, maxHashMDTs, ctx));
+  // Create the CSC cache container
+  ATH_CHECK(CreateContainer(m_CscCacheKey,    m_cscIdHelper->module_hash_max(), ctx));
+  // Create the RPC cache container
+  ATH_CHECK(CreateContainer(m_RpcCacheKey,    m_rpcIdHelper->module_hash_max(), ctx));
+  // Create the TGC cache container
+  ATH_CHECK(CreateContainer(m_TgcCacheKey,    m_tgcIdHelper->module_hash_max(), ctx));
 
   ATH_MSG_INFO("Created cache container " << m_MdtCsmCacheKey);
+  ATH_MSG_INFO("Created cache container " << m_CscCacheKey);
+  ATH_MSG_INFO("Created cache container " << m_RpcCacheKey);
+  ATH_MSG_INFO("Created cache container " << m_TgcCacheKey);
+
 
   return StatusCode::SUCCESS;
 }
diff --git a/MuonSpectrometer/MuonCnv/MuonByteStream/src/MuonCacheCreator.h b/MuonSpectrometer/MuonCnv/MuonByteStream/src/MuonCacheCreator.h
index 5912719d6a48..653a3e1b5a31 100644
--- a/MuonSpectrometer/MuonCnv/MuonByteStream/src/MuonCacheCreator.h
+++ b/MuonSpectrometer/MuonCnv/MuonByteStream/src/MuonCacheCreator.h
@@ -7,8 +7,16 @@
 #include "AthenaBaseComps/AthReentrantAlgorithm.h"
 
 #include "MuonRDO/MdtCsm_Cache.h"
+#include "MuonRDO/CscRawDataCollection_Cache.h"
+#include "MuonRDO/RpcPad_Cache.h"
+#include "MuonRDO/TgcRdo_Cache.h"
+
 
 class MdtIdHelper;
+class CscIdHelper;
+class RpcIdHelper;
+class TgcIdHelper;
+
 
 class MuonCacheCreator : public AthReentrantAlgorithm {
  public:
@@ -31,9 +39,14 @@ protected:
   
   /// Write handle key for the MDT CSM cache container
   SG::WriteHandleKey<MdtCsm_Cache> m_MdtCsmCacheKey;
-
+  SG::WriteHandleKey<CscRawDataCollection_Cache> m_CscCacheKey;
+  SG::WriteHandleKey<RpcPad_Cache> m_RpcCacheKey;
+  SG::WriteHandleKey<TgcRdo_Cache> m_TgcCacheKey;
   /// ID helpers
   const MdtIdHelper* m_mdtIdHelper = 0;
+  const CscIdHelper* m_cscIdHelper = 0;
+  const RpcIdHelper* m_rpcIdHelper = 0;
+  const TgcIdHelper* m_tgcIdHelper = 0;
   
 };//class MuonCacheCreator
 
diff --git a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CSC_RawDataProviderTool.cxx b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CSC_RawDataProviderTool.cxx
index 64b1f084c79f..82dc982f945e 100644
--- a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CSC_RawDataProviderTool.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CSC_RawDataProviderTool.cxx
@@ -39,6 +39,8 @@ Muon::CSC_RawDataProviderTool::CSC_RawDataProviderTool(const std::string& t,
 {
   declareInterface<IMuonRawDataProviderTool>(this);
   declareProperty("Decoder",     m_decoder);
+  declareProperty ("CSCContainerCacheKey", m_rdoContainerCacheKey, "Optional external cache for the CSC container");
+
 }
 
 //================ Destructor =================================================
@@ -151,6 +153,8 @@ StatusCode Muon::CSC_RawDataProviderTool::initialize()
   m_activeStore->setStore( &*evtStore() );
   m_createContainerEachEvent = has_bytestream || m_containerKey.key() != "CSCRDO";
 
+  // Initialise the container cache if available  
+  ATH_CHECK( m_rdoContainerCacheKey.initialize( !m_rdoContainerCacheKey.key().empty() ) );
 
   // Retrieve decoder
   if (m_decoder.retrieve().isFailure()) {
@@ -228,14 +232,25 @@ StatusCode Muon::CSC_RawDataProviderTool::convert(const ROBFragmentList& vecRobs
     return StatusCode::SUCCESS;
   }
 
-  SG::WriteHandle<CscRawDataContainer> handle(m_containerKey);
-  if (handle.isPresent())
+  SG::WriteHandle<CscRawDataContainer> rdoContainerHandle(m_containerKey);
+  if (rdoContainerHandle.isPresent())
     return StatusCode::SUCCESS;
-  ATH_CHECK( handle.record(std::unique_ptr<CscRawDataContainer>( 
-           new CscRawDataContainer(m_muonMgr->cscIdHelper()->module_hash_max())) ));
-  
-  CscRawDataContainer* container = handle.ptr();
 
+  // Split the methods to have one where we use the cache and one where we just setup the container
+  const bool externalCacheRDO = !m_rdoContainerCacheKey.key().empty();
+  if(!externalCacheRDO){
+    //ATH_CHECK( handle.record(std::unique_ptr<CscRawDataContainer>( new CscRawDataContainer(m_muonMgr->cscIdHelper()->module_hash_max())) ));
+    ATH_CHECK( rdoContainerHandle.record(std::make_unique<CscRawDataContainer>( m_muonMgr->cscIdHelper()->module_hash_max() )));
+    ATH_MSG_DEBUG( "Created CSCRawDataContainer" );
+  }
+  else{
+    SG::UpdateHandle<CscRawDataCollection_Cache> update(m_rdoContainerCacheKey);
+    ATH_CHECK(update.isValid());
+    ATH_CHECK(rdoContainerHandle.record (std::make_unique<CscRawDataContainer>( update.ptr() )));
+    ATH_MSG_DEBUG("Created container using cache for " << m_rdoContainerCacheKey.key());
+  }
+  
+  CscRawDataContainer* container = rdoContainerHandle.ptr();
 
   m_activeStore->setStore( &*evtStore() );   
   const EventInfo* thisEventInfo;
diff --git a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CSC_RawDataProviderTool.h b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CSC_RawDataProviderTool.h
index 1b40f0210506..adcfd0a18c19 100644
--- a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CSC_RawDataProviderTool.h
+++ b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CSC_RawDataProviderTool.h
@@ -14,6 +14,7 @@
 #include "MuonCnvToolInterfaces/IMuonRawDataProviderTool.h"
 #include "MuonCSC_CnvTools/ICSC_ROD_Decoder.h"
 #include "MuonRDO/CscRawDataContainer.h"
+#include "MuonRDO/CscRawDataCollection_Cache.h"
 #include "CSCcabling/CSCcablingSvc.h"
 #include "CSC_Hid2RESrcID.h"
 
@@ -68,6 +69,9 @@ private:
 
   ActiveStoreSvc*                     m_activeStore;
   bool				      m_createContainerEachEvent;
+
+  /// CSC container cache key
+  SG::UpdateHandleKey<CscRawDataCollection_Cache> m_rdoContainerCacheKey ;
 };
 } // end of namespace
 
diff --git a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscROD_Decoder.cxx b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscROD_Decoder.cxx
index 87e11baad907..3ee1f9bdaae2 100644
--- a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscROD_Decoder.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscROD_Decoder.cxx
@@ -210,20 +210,15 @@ void Muon::CscROD_Decoder::rodVersion2(const ROBFragment& robFrag,  CscRawDataCo
 
   //assert (subDetectorId == 0x6A || subDetectorId == 0x69); // 50 or 51
 
-  CscRawDataCollection * rawCollection = 0;
-  CscRawDataContainer::const_iterator it_coll = rdoIDC.indexFind(idColl);
-  if (rdoIDC.end() !=  it_coll) {
+  // Create the Csc container and use the cache to get it
+  std::unique_ptr<CscRawDataCollection> rawCollection(nullptr);
+  CscRawDataContainer::IDC_WriteHandle lock = rdoIDC.getWriteHandle( idColl );
+  if( lock.alreadyPresent() ) {
     ATH_MSG_DEBUG ( "CSC RDO collection already exist with collection hash = " << idColl << " converting is skipped!");
-    return; 
-    //rawCollection = it_coll->cptr();
-  } else {
+  }
+  else{
     ATH_MSG_DEBUG ( "CSC RDO collection does not exist - creating a new one with hash = " << idColl );
-    rawCollection = new CscRawDataCollection(idColl);
-    if ( (rdoIDC.addCollection(rawCollection, idColl)).isFailure() ) {
-       ATH_MSG_ERROR ( "Failed to add RDO collection to container" );
-       delete rawCollection;
-       return;
-    }
+    rawCollection = std::make_unique<CscRawDataContainer>(idColl);
   }
 
   /** set the ROD id and the subDector id */
@@ -518,6 +513,9 @@ void Muon::CscROD_Decoder::rodVersion2(const ROBFragment& robFrag,  CscRawDataCo
     //    delete rawCollection;
     //    return;
   }
+
+  if(rawCollection) ATH_CHECK(lock.addOrDelete(std::move( rawCollection ) ));
+
   ATH_MSG_DEBUG ( "end of CscROD_Decode::fillCollection()" );
   return;
 }
@@ -541,20 +539,15 @@ void Muon::CscROD_Decoder::rodVersion1(const ROBFragment& robFrag,  CscRawDataCo
 
   //assert (subDetectorId <= 1);
   
-  CscRawDataCollection * rawCollection = 0;
-  CscRawDataContainer::const_iterator it_coll = rdoIDC.indexFind(idColl);
-  if (rdoIDC.end() !=  it_coll) {
+  // Create the Csc container and use the cache to get it
+  std::unique_ptr<CscRawDataCollection> rawCollection(nullptr);
+  CscRawDataContainer::IDC_WriteHandle lock = rdoIDC.getWriteHandle( idColl );
+  if( lock.alreadyPresent() ) {
     ATH_MSG_DEBUG ( "CSC RDO collection already exist with collection hash = " << idColl << " converting is skipped!");
-    return; 
-    //rawCollection = it_coll->cptr();
-  } else {
+  }
+  else{
     ATH_MSG_DEBUG ( "CSC RDO collection does not exist - creating a new one with hash = " << idColl );
-    rawCollection = new CscRawDataCollection(idColl);
-    if ( (rdoIDC.addCollection(rawCollection, idColl)).isFailure() ) {
-       ATH_MSG_ERROR ( "Failed to add RDO collection to container" );
-       delete rawCollection;
-       return;
-    }
+    rawCollection = std::make_unique<CscRawDataContainer>(idColl);
   }
 
   // set the ROD id and the subDector id
@@ -655,6 +648,8 @@ void Muon::CscROD_Decoder::rodVersion1(const ROBFragment& robFrag,  CscRawDataCo
     if (i < (size-rodFooter)) dpuFragment = rodReadOut.isDPU(p[i]);
     numberOfDPU++;
   }
+  if(rawCollection) ATH_CHECK(lock.addOrDelete(std::move( rawCollection ) ));
+
 }
 
 void Muon::CscROD_Decoder::rodVersion0(const ROBFragment& robFrag,  CscRawDataContainer& rdoIDC, MsgStream& /*log*/) {  
@@ -683,20 +678,15 @@ void Muon::CscROD_Decoder::rodVersion0(const ROBFragment& robFrag,  CscRawDataCo
   
   uint16_t idColl        = m_cabling->collectionId(subId, rodId);
 
-  CscRawDataCollection * rawCollection = 0;
-  CscRawDataContainer::const_iterator it_coll = rdoIDC.indexFind(idColl);
-  if (rdoIDC.end() !=  it_coll) {
+  // Create the Csc container and use the cache to get it
+  std::unique_ptr<CscRawDataCollection> rawCollection(nullptr);
+  CscRawDataContainer::IDC_WriteHandle lock = rdoIDC.getWriteHandle( idColl );
+  if( lock.alreadyPresent() ) {
     ATH_MSG_DEBUG ( "CSC RDO collection already exist with collection hash = " << idColl << " converting is skipped!");
-    return; 
-    //rawCollection = it_coll->cptr();
-  } else {
+  }
+  else{
     ATH_MSG_DEBUG ( "CSC RDO collection does not exist - creating a new one with hash = " << idColl );
-    rawCollection = new CscRawDataCollection(idColl);
-    if ( (rdoIDC.addCollection(rawCollection, idColl)).isFailure() ) {
-       ATH_MSG_ERROR ( "Failed to add RDO collection to container" );
-       delete rawCollection;
-       return;
-    }
+    rawCollection = std::make_unique<CscRawDataContainer>(idColl);
   }
 
   // set the ROD id and the subDector id
@@ -757,6 +747,8 @@ void Muon::CscROD_Decoder::rodVersion0(const ROBFragment& robFrag,  CscRawDataCo
     // check that the new fragment is body
     bodyFragment = rodReadOut.isBody(p[i]);
   }
+  if(rawCollection) ATH_CHECK(lock.addOrDelete(std::move( rawCollection ) ));
+
 
 }
 
diff --git a/MuonSpectrometer/MuonConfig/python/MuonBytestreamDecodeConfig.py b/MuonSpectrometer/MuonConfig/python/MuonBytestreamDecodeConfig.py
index 74e5f1d607a4..87085da52a38 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonBytestreamDecodeConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonBytestreamDecodeConfig.py
@@ -166,8 +166,9 @@ if __name__=="__main__":
     Configurable.configurableRun3Behavior=1
 
     from AthenaConfiguration.AllConfigFlags import ConfigFlags
-    from AthenaConfiguration.TestDefaults import defaultTestFiles
-    ConfigFlags.Input.Files = defaultTestFiles.RAW
+    ConfigFlags.Input.Files = ["/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TrigP1Test/data17_13TeV.00327265.physics_EnhancedBias.merge.RAW._lb0100._SFO-1._0001.1"]
+    #from AthenaConfiguration.TestDefaults import defaultTestFiles
+    #ConfigFlags.Input.Files = defaultTestFiles.RAW
     # Set global tag by hand for now
     ConfigFlags.IOVDb.GlobalTag = "CONDBR2-BLKPA-2018-13"#"CONDBR2-BLKPA-2015-17"
     ConfigFlags.GeoModel.AtlasVersion = "ATLAS-R2-2016-01-00-01"#"ATLAS-R2-2015-03-01-00"
@@ -197,7 +198,7 @@ if __name__=="__main__":
     cfg.addEventAlgo( tgcdecodingAlg )
 
     # Schedule Mdt data decoding - once mergeAll is working can simplify these lines
-    mdtdecodingAcc, mdtdecodingAlg = MdtBytestreamDecodeCfg( ConfigFlags ) 
+    mdtdecodingAcc, mdtdecodingAlg = MdtBytestreamDecodeCfg( ConfigFlags )
     cfg.merge( mdtdecodingAcc )
     cfg.addEventAlgo( mdtdecodingAlg )
 
diff --git a/MuonSpectrometer/MuonConfig/python/MuonCablingConfig.py b/MuonSpectrometer/MuonConfig/python/MuonCablingConfig.py
index 0b3862aacf0d..16e117c6de58 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonCablingConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonCablingConfig.py
@@ -156,4 +156,5 @@ if __name__ == '__main__':
     acc.store(f)
     f.close()
 
+    
 
diff --git a/MuonSpectrometer/MuonConfig/python/MuonRdoDecodeConfig.py b/MuonSpectrometer/MuonConfig/python/MuonRdoDecodeConfig.py
index 0f169aa59350..9826773b2e26 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonRdoDecodeConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonRdoDecodeConfig.py
@@ -181,13 +181,14 @@ def muonRdoDecodeTestData():
     cfg.merge( rpcdecodingAcc )
     cfg.addEventAlgo( rpcdecodingAlg )
 
+    # Schedule Mdt data decoding - once mergeAll is working can simplify these lines
     from MuonConfig.MuonBytestreamDecodeConfig import TgcBytestreamDecodeCfg
     tgcdecodingAcc, tgcdecodingAlg = TgcBytestreamDecodeCfg( ConfigFlags ) 
     cfg.merge( tgcdecodingAcc )
     cfg.addEventAlgo( tgcdecodingAlg )
 
     from MuonConfig.MuonBytestreamDecodeConfig import MdtBytestreamDecodeCfg
-    mdtdecodingAcc, mdtdecodingAlg = MdtBytestreamDecodeCfg( ConfigFlags ) 
+    mdtdecodingAcc, mdtdecodingAlg = MdtBytestreamDecodeCfg( ConfigFlags )
     cfg.merge( mdtdecodingAcc )
     cfg.addEventAlgo( mdtdecodingAlg )
 
diff --git a/MuonSpectrometer/MuonRDO/MuonRDO/CscRawDataCollection_Cache.h b/MuonSpectrometer/MuonRDO/MuonRDO/CscRawDataCollection_Cache.h
new file mode 100644
index 000000000000..c11f6fb18404
--- /dev/null
+++ b/MuonSpectrometer/MuonRDO/MuonRDO/CscRawDataCollection_Cache.h
@@ -0,0 +1,12 @@
+/*
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+*/
+
+#pragma once
+
+#include "EventContainers/IdentifiableCache.h"
+#include "MuonRDO/CscRawDataCollection.h"
+
+typedef EventContainers::IdentifiableCache< CscRawDataCollection> CscRawDataCollection_Cache;
+
+CLASS_DEF( CscRawDataCollection_Cache , 1099187284 , 1 )
\ No newline at end of file
diff --git a/MuonSpectrometer/MuonRDO/MuonRDO/CscRawDataContainer.h b/MuonSpectrometer/MuonRDO/MuonRDO/CscRawDataContainer.h
index d5d5586cc4f4..462876e256c2 100755
--- a/MuonSpectrometer/MuonRDO/MuonRDO/CscRawDataContainer.h
+++ b/MuonSpectrometer/MuonRDO/MuonRDO/CscRawDataContainer.h
@@ -9,6 +9,7 @@
 
 #include "MuonRDO/CscRawDataCollection.h"
 #include "MuonRDO/CscRawDataCollectionIdHash.h"
+#include "MuonRDO/CscRawDataCollection_Cache.h"
 #include "AthenaKernel/CLASS_DEF.h"
 #include "EventContainers/IdentifiableContainer.h" 
 
@@ -23,6 +24,8 @@ class CscRawDataContainer
 public:  
   CscRawDataContainer();
   CscRawDataContainer(unsigned int hashmax);
+  CscRawDataContainer(CscRawDataCollection_Cache* cache);
+  
   virtual ~CscRawDataContainer(); 
   
   typedef IdentifiableContainer<CscRawDataCollection> MyBase; 
diff --git a/MuonSpectrometer/MuonRDO/MuonRDO/MM_RawDataCollection_Cache.h b/MuonSpectrometer/MuonRDO/MuonRDO/MM_RawDataCollection_Cache.h
new file mode 100644
index 000000000000..ec71952dbc55
--- /dev/null
+++ b/MuonSpectrometer/MuonRDO/MuonRDO/MM_RawDataCollection_Cache.h
@@ -0,0 +1,12 @@
+/*
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+*/
+
+#pragma once
+
+#include "EventContainers/IdentifiableCache.h"
+#include "MuonRDO/MM_RawDataCollection.h"
+
+typedef EventContainers::IdentifiableCache< Muon::MM_RawDataCollection> MM_RawDataCollection_Cache;
+
+CLASS_DEF( MM_RawDataCollection_Cache , 1330272288 , 1 )
\ No newline at end of file
diff --git a/MuonSpectrometer/MuonRDO/MuonRDO/MM_RawDataContainer.h b/MuonSpectrometer/MuonRDO/MuonRDO/MM_RawDataContainer.h
index 339fc829e149..993898afa69f 100755
--- a/MuonSpectrometer/MuonRDO/MuonRDO/MM_RawDataContainer.h
+++ b/MuonSpectrometer/MuonRDO/MuonRDO/MM_RawDataContainer.h
@@ -6,6 +6,7 @@
 #define MUONRDO_MM_RAWDATACONAINTER_H
 
 #include "MuonRDO/MM_RawDataCollection.h"
+#include "MuonRDO/MM_RawDataCollection_Cache.h"
 #include "AthenaKernel/CLASS_DEF.h"
 #include "EventContainers/IdentifiableContainer.h" 
 
@@ -18,6 +19,7 @@ class MM_RawDataContainer
 public:  
   MM_RawDataContainer(unsigned int hashmax);
   MM_RawDataContainer(); 
+  MM_RawDataContainer(MM_RawDataCollection_Cache* cache); 
   virtual ~MM_RawDataContainer(); 
 
   /// class ID
diff --git a/MuonSpectrometer/MuonRDO/MuonRDO/MuonRDODict.h b/MuonSpectrometer/MuonRDO/MuonRDO/MuonRDODict.h
index 755165fddbe4..90b11bfcfd72 100755
--- a/MuonSpectrometer/MuonRDO/MuonRDO/MuonRDODict.h
+++ b/MuonSpectrometer/MuonRDO/MuonRDO/MuonRDODict.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 */
 
 /*
@@ -16,14 +16,20 @@
 #include "MuonRDO/RpcPadContainer.h"
 #include "MuonRDO/TgcRdoContainer.h"
 #include "MuonRDO/CscRawDataContainer.h"
+#include "MuonRDO/STGC_RawDataContainer.h"
 
 // collection
 #include "MuonRDO/MdtCsm.h"
 #include "MuonRDO/RpcPad.h"
 #include "MuonRDO/TgcRdo.h"
 #include "MuonRDO/CscRawDataCollection.h"
+#include "MuonRDO/STGC_RawDataCollection.h"
 
 // cache
 #include "MuonRDO/MdtCsm_Cache.h"
+#include "MuonRDO/RpcPad_Cache.h"
+#include "MuonRDO/TgcRdo_Cache.h"
+#include "MuonRDO/CscRawDataCollection_Cache.h"
+#include "MuonRDO/STGC_RawDataCollection_Cache.h"
 
 #endif
diff --git a/MuonSpectrometer/MuonRDO/MuonRDO/RpcPadContainer.h b/MuonSpectrometer/MuonRDO/MuonRDO/RpcPadContainer.h
index 9d25c59a2457..6e77bec928ab 100755
--- a/MuonSpectrometer/MuonRDO/MuonRDO/RpcPadContainer.h
+++ b/MuonSpectrometer/MuonRDO/MuonRDO/RpcPadContainer.h
@@ -13,6 +13,7 @@
 #include <string>
 #include "MuonRDO/RpcCoinMatrix.h"
 #include "MuonRDO/RpcPad.h"
+#include "MuonRDO/RpcPad_Cache.h"
 //#include "MuonRDO/RpcPadIdHash.h"
 #include "AthenaKernel/CLASS_DEF.h"
 #include "EventContainers/IdentifiableContainer.h" 
@@ -26,6 +27,8 @@ class RpcPadContainer
 
 public:  
    RpcPadContainer(unsigned int hashmax) ; 
+   RpcPadContainer(RpcPad_Cache* cache) ; 
+
   ~RpcPadContainer() ; 
 
   typedef RpcPad::size_type size_type ; 
diff --git a/MuonSpectrometer/MuonRDO/MuonRDO/RpcPad_Cache.h b/MuonSpectrometer/MuonRDO/MuonRDO/RpcPad_Cache.h
new file mode 100644
index 000000000000..db6f46cce4b2
--- /dev/null
+++ b/MuonSpectrometer/MuonRDO/MuonRDO/RpcPad_Cache.h
@@ -0,0 +1,12 @@
+/* 
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+*/
+
+#pragma once
+
+#include "EventContainers/IdentifiableCache.h"
+#include "MuonRDO/RpcPad.h"
+
+typedef EventContainers::IdentifiableCache< RpcPad> RpcPad_Cache;
+
+CLASS_DEF( RpcPad_Cache , 31498359 , 1 )
\ No newline at end of file
diff --git a/MuonSpectrometer/MuonRDO/MuonRDO/STGC_RawDataCollection_Cache.h b/MuonSpectrometer/MuonRDO/MuonRDO/STGC_RawDataCollection_Cache.h
new file mode 100644
index 000000000000..9a925eb4b508
--- /dev/null
+++ b/MuonSpectrometer/MuonRDO/MuonRDO/STGC_RawDataCollection_Cache.h
@@ -0,0 +1,12 @@
+/*
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+*/
+
+#pragma once
+
+#include "EventContainers/IdentifiableCache.h"
+#include "MuonRDO/STGC_RawDataCollection.h"
+
+typedef EventContainers::IdentifiableCache< Muon::STGC_RawDataCollection> STGC_RawDataCollection_Cache;
+
+CLASS_DEF( STGC_RawDataCollection_Cache , 1118886635 , 1 )
\ No newline at end of file
diff --git a/MuonSpectrometer/MuonRDO/MuonRDO/STGC_RawDataContainer.h b/MuonSpectrometer/MuonRDO/MuonRDO/STGC_RawDataContainer.h
index 5283fd3c5304..69dbdfd350c4 100755
--- a/MuonSpectrometer/MuonRDO/MuonRDO/STGC_RawDataContainer.h
+++ b/MuonSpectrometer/MuonRDO/MuonRDO/STGC_RawDataContainer.h
@@ -6,6 +6,7 @@
 #define MUONRDO_STGC_RawDataCONAINTER_H
 
 #include "MuonRDO/STGC_RawDataCollection.h"
+#include "MuonRDO/STGC_RawDataCollection_Cache.h"
 #include "AthenaKernel/CLASS_DEF.h"
 #include "EventContainers/IdentifiableContainer.h" 
 
@@ -18,6 +19,7 @@ class STGC_RawDataContainer
 public:  
   STGC_RawDataContainer();
   STGC_RawDataContainer(unsigned int hashmax);
+  STGC_RawDataContainer(STGC_RawDataCollection_Cache* cache);
   ~STGC_RawDataContainer(); 
   
   // class ID
diff --git a/MuonSpectrometer/MuonRDO/MuonRDO/TgcRdoContainer.h b/MuonSpectrometer/MuonRDO/MuonRDO/TgcRdoContainer.h
index 881212512383..f323c42aaa14 100755
--- a/MuonSpectrometer/MuonRDO/MuonRDO/TgcRdoContainer.h
+++ b/MuonSpectrometer/MuonRDO/MuonRDO/TgcRdoContainer.h
@@ -9,6 +9,7 @@
 
 #include "MuonRDO/TgcRdo.h"
 #include "MuonRDO/TgcRdoIdHash.h"
+#include "MuonRDO/TgcRdo_Cache.h"
 #include "AthenaKernel/CLASS_DEF.h"
 #include "EventContainers/IdentifiableContainer.h" 
 
@@ -25,6 +26,8 @@ class TgcRdoContainer
 public:  
   TgcRdoContainer();
   TgcRdoContainer(unsigned int hashmax);
+  TgcRdoContainer(TgcRdo_Cache* cache);
+
   ~TgcRdoContainer(); 
   
   typedef IdentifiableContainer<TgcRdo> MyBase; 
diff --git a/MuonSpectrometer/MuonRDO/MuonRDO/TgcRdo_Cache.h b/MuonSpectrometer/MuonRDO/MuonRDO/TgcRdo_Cache.h
new file mode 100644
index 000000000000..9dcecd537252
--- /dev/null
+++ b/MuonSpectrometer/MuonRDO/MuonRDO/TgcRdo_Cache.h
@@ -0,0 +1,12 @@
+/* 
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+*/
+
+#pragma once
+
+#include "EventContainers/IdentifiableCache.h"
+#include "MuonRDO/TgcRdo.h"
+
+typedef EventContainers::IdentifiableCache< TgcRdo> TgcRdo_Cache;
+
+CLASS_DEF( TgcRdo_Cache , 92530520 , 1 )
\ No newline at end of file
diff --git a/MuonSpectrometer/MuonRDO/MuonRDO/selection.xml b/MuonSpectrometer/MuonRDO/MuonRDO/selection.xml
index bd4933b1c5b6..7e8b304148d0 100755
--- a/MuonSpectrometer/MuonRDO/MuonRDO/selection.xml
+++ b/MuonSpectrometer/MuonRDO/MuonRDO/selection.xml
@@ -54,6 +54,7 @@
   <class name="TgcRdoContainer" />
   <class name="std::vector<TgcRdo * >" />
   <class name="DataVector<TgcRdo>" id="FBF8D72D-A6B9-4689-8E02-BB0F435BF2F7" />
+  <class name="TgcRdo_Cache" />
 
   <class name="MdtCsmContainer" />
   <class name="std::vector<MdtCsm * >" />
@@ -63,14 +64,17 @@
   <class name="RpcPadContainer" />
   <class name="std::vector<RpcPad * >" />
   <class name="DataVector<RpcPad>" id="85B897F6-E15D-4215-9DAC-EA2828BCEEC9" />
+  <class name="RpcPad_Cache" />
 
   <class name="CscRawDataContainer" />
   <class name="std::vector<CscRawDataCollection * >" />
   <class name="DataVector<CscRawDataCollection>" id="D7600810-31BC-4344-A3C6-9C59F47E5551" />
+  <class name="CscRawDataCollection_Cache" />
 
-  <class name="sTGC_RawDataContainer" />
-  <class name="std::vector<sTGC_RawDataCollection * >" />
-  <class name="DataVector<sTGC_RawDataCollection>" id="3786AB67-8A7A-4DA5-B178-3FE9CB3A6FD2" />
+  <class name="STGC_RawDataContainer" />
+  <class name="std::vector<STGC_RawDataCollection * >" />
+  <class name="DataVector<STGC_RawDataCollection>" id="3786AB67-8A7A-4DA5-B178-3FE9CB3A6FD2" />
+  <class name="STGC_RawDataCollection_Cache" />
 
 
 </lcgdict>
diff --git a/MuonSpectrometer/MuonRDO/src/CscRawDataContainer.cxx b/MuonSpectrometer/MuonRDO/src/CscRawDataContainer.cxx
index 4e5c7e34075a..da7669a8f31e 100755
--- a/MuonSpectrometer/MuonRDO/src/CscRawDataContainer.cxx
+++ b/MuonSpectrometer/MuonRDO/src/CscRawDataContainer.cxx
@@ -16,6 +16,11 @@ CscRawDataContainer::CscRawDataContainer(unsigned int hashmax)
 {
 }
 
+CscRawDataContainer::CscRawDataContainer(CscRawDataCollection_Cache* cache)
+  : IdentifiableContainer<CscRawDataCollection>(cache) 
+{
+}
+
 // Destructor.
 CscRawDataContainer::~CscRawDataContainer() 
 {}
diff --git a/MuonSpectrometer/MuonRDO/src/MM_RawDataContainer.cxx b/MuonSpectrometer/MuonRDO/src/MM_RawDataContainer.cxx
index 869216a5ec0c..eeaafc236b0b 100755
--- a/MuonSpectrometer/MuonRDO/src/MM_RawDataContainer.cxx
+++ b/MuonSpectrometer/MuonRDO/src/MM_RawDataContainer.cxx
@@ -16,6 +16,11 @@ Muon::MM_RawDataContainer::MM_RawDataContainer(unsigned int hashmax)
 {
 }
 
+Muon::MM_RawDataContainer::MM_RawDataContainer(MM_RawDataCollection_Cache* cache)
+: IdentifiableContainer<MM_RawDataCollection>(cache) 
+{
+}
+
 // Destructor.
 Muon::MM_RawDataContainer::~MM_RawDataContainer() {
 
diff --git a/MuonSpectrometer/MuonRDO/src/RpcPadContainer.cxx b/MuonSpectrometer/MuonRDO/src/RpcPadContainer.cxx
index 9ea18fbb527d..1f0eb8831db1 100755
--- a/MuonSpectrometer/MuonRDO/src/RpcPadContainer.cxx
+++ b/MuonSpectrometer/MuonRDO/src/RpcPadContainer.cxx
@@ -38,6 +38,12 @@ RpcPadContainer::RpcPadContainer( unsigned int hashmax)
   // std::cout<<"RpcPadContainer ctor ["<<this<<"]"<<std::endl;
 }
 
+RpcPadContainer::RpcPadContainer( RpcPad_Cache* cache)
+: IdentifiableContainer<RpcPad>(cache) 
+{
+  // std::cout<<"RpcPadContainer ctor ["<<this<<"]"<<std::endl;
+}
+
 //**********************************************************************
 
 // Destructor.
diff --git a/MuonSpectrometer/MuonRDO/src/STGC_RawDataContainer.cxx b/MuonSpectrometer/MuonRDO/src/STGC_RawDataContainer.cxx
index 3db6dae06e77..d812479fc1e9 100755
--- a/MuonSpectrometer/MuonRDO/src/STGC_RawDataContainer.cxx
+++ b/MuonSpectrometer/MuonRDO/src/STGC_RawDataContainer.cxx
@@ -15,6 +15,12 @@ Muon::STGC_RawDataContainer::STGC_RawDataContainer(unsigned int hashmax)
 {
 }
 
+Muon::STGC_RawDataContainer::STGC_RawDataContainer(STGC_RawDataCollection_Cache* cache)
+: IdentifiableContainer<STGC_RawDataCollection>(cache) 
+{
+}
+
+
 // Destructor.
 Muon::STGC_RawDataContainer::~STGC_RawDataContainer() {
 
diff --git a/MuonSpectrometer/MuonRDO/src/TgcRdoContainer.cxx b/MuonSpectrometer/MuonRDO/src/TgcRdoContainer.cxx
index fed2bb8a881c..e91962cd4777 100755
--- a/MuonSpectrometer/MuonRDO/src/TgcRdoContainer.cxx
+++ b/MuonSpectrometer/MuonRDO/src/TgcRdoContainer.cxx
@@ -22,6 +22,11 @@ TgcRdoContainer::TgcRdoContainer(unsigned int hashmax)
 {
 }
 
+TgcRdoContainer::TgcRdoContainer(TgcRdo_Cache* cache)
+  : IdentifiableContainer<TgcRdo>(cache) 
+{
+}
+
 
 // Destructor.
 TgcRdoContainer::~TgcRdoContainer() 
-- 
GitLab


From bf20932e625a61623bd5d153767e2ef153234f89 Mon Sep 17 00:00:00 2001
From: Ian Connelly <ian.connelly@cern.ch>
Date: Mon, 7 Jan 2019 17:42:02 +0000
Subject: [PATCH 009/192] Some bug fixes to the CSC ROD decoder which was not
 included correctly when building. Small local update to the test config and
 adding cache creator for all tools. This can be removed before merge

---
 .../src/CSC_RawDataProviderTool.cxx           |  2 +-
 .../MuonCSC_CnvTools/src/CscROD_Decoder.cxx   | 24 ++++++++-----
 .../python/MuonBytestreamDecodeConfig.py      | 36 ++++++++++++++-----
 3 files changed, 43 insertions(+), 19 deletions(-)

diff --git a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CSC_RawDataProviderTool.cxx b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CSC_RawDataProviderTool.cxx
index 82dc982f945e..5370323573e1 100644
--- a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CSC_RawDataProviderTool.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CSC_RawDataProviderTool.cxx
@@ -39,7 +39,7 @@ Muon::CSC_RawDataProviderTool::CSC_RawDataProviderTool(const std::string& t,
 {
   declareInterface<IMuonRawDataProviderTool>(this);
   declareProperty("Decoder",     m_decoder);
-  declareProperty ("CSCContainerCacheKey", m_rdoContainerCacheKey, "Optional external cache for the CSC container");
+  declareProperty ("CscContainerCacheKey", m_rdoContainerCacheKey, "Optional external cache for the CSC container");
 
 }
 
diff --git a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscROD_Decoder.cxx b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscROD_Decoder.cxx
index 3ee1f9bdaae2..673840e401fc 100644
--- a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscROD_Decoder.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscROD_Decoder.cxx
@@ -218,7 +218,7 @@ void Muon::CscROD_Decoder::rodVersion2(const ROBFragment& robFrag,  CscRawDataCo
   }
   else{
     ATH_MSG_DEBUG ( "CSC RDO collection does not exist - creating a new one with hash = " << idColl );
-    rawCollection = std::make_unique<CscRawDataContainer>(idColl);
+    rawCollection = std::make_unique<CscRawDataCollection>(idColl);
   }
 
   /** set the ROD id and the subDector id */
@@ -514,7 +514,9 @@ void Muon::CscROD_Decoder::rodVersion2(const ROBFragment& robFrag,  CscRawDataCo
     //    return;
   }
 
-  if(rawCollection) ATH_CHECK(lock.addOrDelete(std::move( rawCollection ) ));
+  if(rawCollection) {
+    lock.addOrDelete(std::move( rawCollection ) );
+  }
 
   ATH_MSG_DEBUG ( "end of CscROD_Decode::fillCollection()" );
   return;
@@ -547,7 +549,7 @@ void Muon::CscROD_Decoder::rodVersion1(const ROBFragment& robFrag,  CscRawDataCo
   }
   else{
     ATH_MSG_DEBUG ( "CSC RDO collection does not exist - creating a new one with hash = " << idColl );
-    rawCollection = std::make_unique<CscRawDataContainer>(idColl);
+    rawCollection = std::make_unique<CscRawDataCollection>(idColl);
   }
 
   // set the ROD id and the subDector id
@@ -589,7 +591,6 @@ void Muon::CscROD_Decoder::rodVersion1(const ROBFragment& robFrag,  CscRawDataCo
   bool dpuFragment = rodReadOut.isDPU(p[rodHeader]);
   if (!dpuFragment) {
     ATH_MSG_ERROR ( "expecting a DPU fragment, Aborting..." );
-    delete rawCollection;
     return;
   }
 
@@ -648,7 +649,11 @@ void Muon::CscROD_Decoder::rodVersion1(const ROBFragment& robFrag,  CscRawDataCo
     if (i < (size-rodFooter)) dpuFragment = rodReadOut.isDPU(p[i]);
     numberOfDPU++;
   }
-  if(rawCollection) ATH_CHECK(lock.addOrDelete(std::move( rawCollection ) ));
+  if(rawCollection) {
+    lock.addOrDelete(std::move( rawCollection ) );
+  }
+
+  return;
 
 }
 
@@ -686,7 +691,7 @@ void Muon::CscROD_Decoder::rodVersion0(const ROBFragment& robFrag,  CscRawDataCo
   }
   else{
     ATH_MSG_DEBUG ( "CSC RDO collection does not exist - creating a new one with hash = " << idColl );
-    rawCollection = std::make_unique<CscRawDataContainer>(idColl);
+    rawCollection = std::make_unique<CscRawDataCollection>(idColl);
   }
 
   // set the ROD id and the subDector id
@@ -701,7 +706,6 @@ void Muon::CscROD_Decoder::rodVersion0(const ROBFragment& robFrag,  CscRawDataCo
   bool bodyFragment = rodReadOut.isBody(p[rodHeader]);
   if (!bodyFragment) {
     ATH_MSG_ERROR ( "expecting a body fragment, Aborting..." );
-    delete rawCollection;
     return;
   }
   uint32_t i = rodHeader; 
@@ -747,8 +751,10 @@ void Muon::CscROD_Decoder::rodVersion0(const ROBFragment& robFrag,  CscRawDataCo
     // check that the new fragment is body
     bodyFragment = rodReadOut.isBody(p[i]);
   }
-  if(rawCollection) ATH_CHECK(lock.addOrDelete(std::move( rawCollection ) ));
-
+  if(rawCollection) {
+    lock.addOrDelete(std::move( rawCollection ) );
+  }
+  return;
 
 }
 
diff --git a/MuonSpectrometer/MuonConfig/python/MuonBytestreamDecodeConfig.py b/MuonSpectrometer/MuonConfig/python/MuonBytestreamDecodeConfig.py
index 87085da52a38..8fc7bf04f710 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonBytestreamDecodeConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonBytestreamDecodeConfig.py
@@ -4,6 +4,22 @@
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from AthenaCommon.Constants import VERBOSE, DEBUG, INFO
 
+## This configuration function creates the IdentifiableCaches for RDO
+#
+# The function returns a ComponentAccumulator which should be loaded first
+# If a configuration wants to use the cache, they need to use the same names as defined here
+def MuonCacheCfg():
+    acc = ComponentAccumulator()
+
+    from MuonByteStream.MuonByteStreamConf import MuonCacheCreator
+    cacheCreator = MuonCacheCreator(MdtCsmCacheKey = "MdtCsmCache",
+                                    CscCacheKey    = "CscCache",
+                                    RpcCacheKey    = "RpcCache",
+                                    TgcCacheKey    = "TgcCache")
+    acc.addEventAlgo( cacheCreator )
+    return acc, cacheCreator
+
+
 ## This configuration function sets up everything for decoding RPC bytestream data into RDOs
 #
 # The forTrigger paramater is used to put the algorithm in RoI mode
@@ -82,12 +98,6 @@ def TgcBytestreamDecodeCfg(flags, forTrigger=False):
 def MdtBytestreamDecodeCfg(flags, forTrigger=False):
     acc = ComponentAccumulator()
 
-    # Configure the IdentifiableCaches when running for trigger
-    if forTrigger:
-        from MuonByteStream.MuonByteStreamConf import MuonCacheCreator
-        cacheCreator = MuonCacheCreator(MdtCsmCacheKey= "MdtCsmCache")
-        acc.addEventAlgo( cacheCreator )
-
     # We need the MDT cabling to be setup
     from MuonConfig.MuonCablingConfig import MDTCablingConfigCfg
     acc.merge( MDTCablingConfigCfg(flags)[0] )
@@ -149,6 +159,9 @@ def CscBytestreamDecodeCfg(flags, forTrigger=False):
     from MuonCSC_CnvTools.MuonCSC_CnvToolsConf import Muon__CSC_RawDataProviderTool
     MuonCscRawDataProviderTool = Muon__CSC_RawDataProviderTool(name    = "CSC_RawDataProviderTool",
                                                                Decoder = CSCRodDecoder )
+    if forTrigger:
+        MuonCscRawDataProviderTool.CscContainerCacheKey = "CscCache"
+
     acc.addPublicTool( MuonCscRawDataProviderTool ) # This should be removed, but now defined as PublicTool at MuFastSteering 
     
     # Setup the RAW data provider algorithm
@@ -160,7 +173,7 @@ def CscBytestreamDecodeCfg(flags, forTrigger=False):
 
 if __name__=="__main__":
     # To run this, do e.g. 
-    # python ../athena/MuonSpectrometer/MuonConfig/python/MuonBytestreamDecodeCfg.py
+    # python ../athena/MuonSpectrometer/MuonConfig/python/MuonBytestreamDecode.py
 
     from AthenaCommon.Configurable import Configurable
     Configurable.configurableRun3Behavior=1
@@ -187,6 +200,11 @@ if __name__=="__main__":
     from ByteStreamCnvSvc.ByteStreamConfig import TrigBSReadCfg
     cfg.merge(TrigBSReadCfg(ConfigFlags ))
 
+    # Setup IdentifiableCaches before anything else
+    muoncacheacc, muoncachealg = MuonCacheCfg()
+    cfg.merge( muoncacheacc )
+    cfg.addEventAlgo( muoncachealg )
+
     # Schedule Rpc data decoding - once mergeAll is working can simplify these lines
     rpcdecodingAcc, rpcdecodingAlg = RpcBytestreamDecodeCfg( ConfigFlags ) 
     cfg.merge( rpcdecodingAcc )
@@ -198,12 +216,12 @@ if __name__=="__main__":
     cfg.addEventAlgo( tgcdecodingAlg )
 
     # Schedule Mdt data decoding - once mergeAll is working can simplify these lines
-    mdtdecodingAcc, mdtdecodingAlg = MdtBytestreamDecodeCfg( ConfigFlags )
+    mdtdecodingAcc, mdtdecodingAlg = MdtBytestreamDecodeCfg( ConfigFlags , True)
     cfg.merge( mdtdecodingAcc )
     cfg.addEventAlgo( mdtdecodingAlg )
 
     # Schedule Csc data decoding - once mergeAll is working can simplify these lines
-    cscdecodingAcc, cscdecodingAlg = CscBytestreamDecodeCfg( ConfigFlags ) 
+    cscdecodingAcc, cscdecodingAlg = CscBytestreamDecodeCfg( ConfigFlags , True) 
     cfg.merge( cscdecodingAcc )
     cfg.addEventAlgo( cscdecodingAlg )
 
-- 
GitLab


From da7d05176bcc9701ad60be37a438c3a5a0cde7ab Mon Sep 17 00:00:00 2001
From: Dmitry Popov <Dmitry.Popov@cern.ch>
Date: Tue, 8 Jan 2019 16:50:48 +0100
Subject: [PATCH 010/192] Updated TrigT1CaloByteStream

---
 .../src/xaod/PpmByteStreamReadV1V2Tool.cxx    | 173 +++++++++---------
 .../src/xaod/PpmByteStreamReadV1V2Tool.h      |  15 +-
 .../src/xaod/SubBlockStatus.h                 |   3 +
 .../test/TrigT1CaloByteStream_entries.cxx     |   3 -
 4 files changed, 105 insertions(+), 89 deletions(-)

diff --git a/Trigger/TrigT1/TrigT1CaloByteStream/src/xaod/PpmByteStreamReadV1V2Tool.cxx b/Trigger/TrigT1/TrigT1CaloByteStream/src/xaod/PpmByteStreamReadV1V2Tool.cxx
index d7de8e6edce0..5a926c38333d 100644
--- a/Trigger/TrigT1/TrigT1CaloByteStream/src/xaod/PpmByteStreamReadV1V2Tool.cxx
+++ b/Trigger/TrigT1/TrigT1CaloByteStream/src/xaod/PpmByteStreamReadV1V2Tool.cxx
@@ -12,7 +12,8 @@
 // ===========================================================================
 #include "eformat/SourceIdentifier.h"
 #include "TrigT1Interfaces/TrigT1CaloDefs.h"
-#include "xAODTrigL1Calo/TriggerTowerAuxContainer.h" 
+#include "TrigT1CaloUtils/DataError.h"
+#include "xAODTrigL1Calo/TriggerTowerAuxContainer.h"
 
 #include "CaloUserHeader.h"
 #include "SubBlockHeader.h"
@@ -30,11 +31,15 @@ uint32_t bitFieldSize(uint32_t word, uint8_t offset, uint8_t size) {
   return (word >> offset) & ((1U << size) - 1);
 }
 
+uint32_t crateModuleMask(uint8_t crate, uint8_t module) {
+  return (crate << 8) | (1 << 4) | module;
+}
+
 uint32_t coolId(uint8_t crate, uint8_t module, uint8_t channel) {
   const uint8_t pin = channel % 16;
   const uint8_t asic = channel / 16;
-  return (crate << 24) | (1 << 20) | (module << 16) | (pin << 8) | asic;
-} 
+  return (crateModuleMask(crate, module) << 16) | (pin << 8) | asic;
+}
 
 int16_t pedCorrection(uint16_t twoBytePedCor) {
   return twoBytePedCor > 511? (twoBytePedCor - 1024): twoBytePedCor;
@@ -71,8 +76,8 @@ PpmByteStreamReadV1V2Tool::PpmByteStreamReadV1V2Tool(const std::string& name /*=
     m_verCode(0),
     m_ppPointer(0),
     m_ppMaxBit(0),
-    m_triggerTowers(nullptr),
-    m_maxSizeSeen(0)
+    m_maxSizeSeen(0),
+    m_triggerTowers(nullptr)
 {
   declareInterface<PpmByteStreamReadV1V2Tool>(this);
   declareProperty("PpmMappingTool", m_ppmMaps,
@@ -100,7 +105,7 @@ StatusCode PpmByteStreamReadV1V2Tool::initialize() {
   ServiceHandle<IIncidentSvc> incidentSvc("IncidentSvc", name());
   CHECK(incidentSvc.retrieve());
   incidentSvc->addListener(this, IncidentType::EndEvent);
-  
+
   return StatusCode::SUCCESS;
 }
 // ===========================================================================
@@ -115,8 +120,8 @@ StatusCode PpmByteStreamReadV1V2Tool::finalize() {
 void PpmByteStreamReadV1V2Tool::handle( const Incident& inc )
 {
   if ( inc.type() == IncidentType::EndEvent) {
-   
-  } 
+
+  }
 }
 // Conversion bytestream to trigger towers
 StatusCode PpmByteStreamReadV1V2Tool::convert(
@@ -124,9 +129,11 @@ StatusCode PpmByteStreamReadV1V2Tool::convert(
     xAOD::TriggerTowerContainer* const ttCollection) {
 
   m_triggerTowers = ttCollection;
-  if (m_maxSizeSeen > m_triggerTowers->capacity())
+
+  if (m_maxSizeSeen > m_triggerTowers->capacity()){
     m_triggerTowers->reserve (m_maxSizeSeen);
-  m_coolIds.clear();
+  }
+
   m_subDetectorID = eformat::TDAQ_CALO_PREPROC;
   m_requestedType = RequestType::PPM;
 
@@ -135,11 +142,13 @@ StatusCode PpmByteStreamReadV1V2Tool::convert(
 
   int robCounter = 1;
   for (; rob != robEnd; ++rob, ++robCounter) {
+
     StatusCode sc = processRobFragment_(rob, RequestType::PPM);
     if (!sc.isSuccess()) {
 
     }
   }
+
   m_maxSizeSeen = std::max (m_maxSizeSeen, m_triggerTowers->size());
   m_triggerTowers = nullptr;
   return StatusCode::SUCCESS;
@@ -219,7 +228,6 @@ StatusCode PpmByteStreamReadV1V2Tool::processRobFragment_(
   }
 
   ATH_MSG_DEBUG("Treating crate " << rodCrate << " slink " << rodSlink);
-
   m_caloUserHeader = CaloUserHeader(*payload);
   if (!m_caloUserHeader.isValid()) {
     ATH_MSG_ERROR("Invalid or missing user header");
@@ -245,7 +253,7 @@ StatusCode PpmByteStreamReadV1V2Tool::processRobFragment_(
     } else if (SubBlockHeader::isSubBlockHeader(*payload)) {
       indata = 0;
       CHECK(processPpmBlock_());
-      
+
       m_ppLuts.clear();
       m_ppFadcs.clear();
       m_ppBlock.clear();
@@ -263,7 +271,7 @@ StatusCode PpmByteStreamReadV1V2Tool::processRobFragment_(
         );
         subBlock = blockType & 0xe;
       } else if (blockType == (subBlock | 1)) {
-        m_subBlockStatus = SubBlockStatus(*payload);
+        processSubBlockStatus_(m_subBlockHeader.crate(), m_subBlockHeader.module(), *payload);
         subBlock = 0;
       }
     } else {
@@ -283,14 +291,14 @@ StatusCode PpmByteStreamReadV1V2Tool::processRobFragment_(
 
 StatusCode PpmByteStreamReadV1V2Tool::processPpmWord_(uint32_t word,
     int indata) {
-  if ( (m_subBlockHeader.format() == 0) 
-      || (m_subBlockHeader.format() >= 2) 
+  if ( (m_subBlockHeader.format() == 0)
+      || (m_subBlockHeader.format() >= 2)
       || (m_verCode >= 0x41)) {
     m_ppBlock.push_back(word);
   } else if ((m_verCode == 0x21) || (m_verCode == 0x31)) {
     return processPpmStandardR3V1_(word, indata);
   } else {
-    ATH_MSG_ERROR("Unsupported PPM version:format (" 
+    ATH_MSG_ERROR("Unsupported PPM version:format ("
       << m_verCode << ":" << m_subBlockHeader.format()
       <<") combination");
     return StatusCode::FAILURE;
@@ -332,10 +340,10 @@ StatusCode PpmByteStreamReadV1V2Tool::processPpmBlock_() {
       CHECK(sc);
       return sc;
     }
-    ATH_MSG_ERROR("Unknown PPM subheader format '" 
-      << int(m_subBlockHeader.format()) 
+    ATH_MSG_ERROR("Unknown PPM subheader format '"
+      << int(m_subBlockHeader.format())
       << "' for rob version '"
-      << MSG::hex << int(m_verCode) 
+      << MSG::hex << int(m_verCode)
       << MSG::dec << "'" );
     return StatusCode::FAILURE;
   }
@@ -362,8 +370,8 @@ StatusCode PpmByteStreamReadV1V2Tool::processPpmNeutral_() {
 
       bool nonZeroData = false;
       for (uint8_t slice = 0; slice < numLut; ++slice) {
-        if (rotated[slice] 
-            || rotated[slice + numLut] 
+        if (rotated[slice]
+            || rotated[slice + numLut]
             || rotated[slice + 2 * numLut + numFadc]) { // CP, JET
           nonZeroData = true;
           break;
@@ -385,7 +393,7 @@ StatusCode PpmByteStreamReadV1V2Tool::processPpmNeutral_() {
           lcpVal.push_back(rotated[slice] & 0xff);
           ljeVal.push_back(rotated[slice + numLut] & 0xff);
           pedCor.push_back(::pedCorrection(rotated[slice + 2 * numLut + numFadc] & 0x3ff));
-          
+
           lcpBcidVec.push_back((rotated[slice] >> 8) & 0x7);
           ljeSat80Vec.push_back((rotated[slice + numLut] >> 8) & 0x7);
           pedEn.push_back((rotated[slice + 2 * numLut + numFadc] >> 10) & 0x1);
@@ -433,8 +441,8 @@ StatusCode PpmByteStreamReadV1V2Tool::processPpmCompressedR3V1_() {
     while (chan < 64) {
       uint8_t present = 1;
       if (m_subBlockHeader.format() == 3) {
-        present = getPpmBytestreamField_(1); 
-      } 
+        present = getPpmBytestreamField_(1);
+      }
 
       if (present == 1) {
         uint8_t lutVal = 0;
@@ -504,7 +512,7 @@ StatusCode PpmByteStreamReadV1V2Tool::processPpmCompressedR3V1_() {
   }catch (const std::out_of_range& ex) {
       ATH_MSG_WARNING("Excess Data in Sub-block");
       m_errorTool->rodError(m_rodSourceId, L1CaloSubBlock::UNPACK_EXCESS_DATA);
-  } 
+  }
   return StatusCode::SUCCESS;
 }
 
@@ -548,7 +556,7 @@ std::vector<uint16_t> PpmByteStreamReadV1V2Tool::getPpmAdcSamplesR3_(
 StatusCode PpmByteStreamReadV1V2Tool::processPpmStandardR3V1_(uint32_t word,
     int inData){
 
-  StatusCode sc;
+  StatusCode sc = StatusCode::SUCCESS;
   if (m_subBlockHeader.seqNum() == 63) { // Error block
     ATH_MSG_DEBUG("Error PPM subblock");
     //TODO: errorTool
@@ -559,7 +567,7 @@ StatusCode PpmByteStreamReadV1V2Tool::processPpmStandardR3V1_(uint32_t word,
     const uint8_t wordsPerBlock = 8; // 16 towers (4 MCMs) / 2 per word
     const uint8_t iBlk =  inData / wordsPerBlock;
     uint8_t iChan =  m_subBlockHeader.seqNum() + 2 * (inData % wordsPerBlock);
-    
+
     if (iBlk < numLut) { // First all LUT values
       for(uint8_t i = 0; i < 2; ++i) {
         uint16_t subword = (word >> 16 * i) & 0x7ff;
@@ -572,12 +580,12 @@ StatusCode PpmByteStreamReadV1V2Tool::processPpmStandardR3V1_(uint32_t word,
         m_ppFadcs[iChan].push_back(subword);
         iChan++;
       }
-    
+
     } else{
       ATH_MSG_WARNING("Error decoding Ppm word (run1)");
       sc = StatusCode::FAILURE;
     }
- 
+
   }
   return sc;
 }
@@ -587,7 +595,6 @@ StatusCode PpmByteStreamReadV1V2Tool::processPpmBlockR4V1_() {
     CHECK(processPpmStandardR4V1_());
     return StatusCode::SUCCESS;
   } else if (m_subBlockHeader.format() >= 2) {
-    // TODO: convert compressed
     CHECK(processPpmCompressedR4V1_());
     return StatusCode::SUCCESS;
   }
@@ -609,19 +616,19 @@ StatusCode PpmByteStreamReadV1V2Tool::processPpmCompressedR4V1_() {
   // }
 
   try{
-    for(uint8_t chan = 0; chan < 64; ++chan) {
+    for(uint8_t chan = 0; chan < s_channels; ++chan) {
       uint8_t present = 1;
 
       std::vector<uint8_t> haveLut(numLut, 0);
       std::vector<uint8_t> lcpVal(numLut, 0);
-      
+
       std::vector<uint8_t> lcpExt(numLut, 0);
       std::vector<uint8_t> lcpSat(numLut, 0);
       std::vector<uint8_t> lcpPeak(numLut, 0);
       std::vector<uint8_t> lcpBcidVec(numLut, 0);
-      
+
       std::vector<uint8_t> ljeVal(numLut, 0);
-      
+
       std::vector<uint8_t> ljeLow(numLut, 0);
       std::vector<uint8_t> ljeHigh(numLut, 0);
       std::vector<uint8_t> ljeRes(numLut, 0);
@@ -631,7 +638,7 @@ StatusCode PpmByteStreamReadV1V2Tool::processPpmCompressedR4V1_() {
       std::vector<uint8_t> adcExt(numAdc, 0);
       std::vector<int16_t> pedCor(numLut, 0);
       std::vector<uint8_t> pedEn(numLut, 0);
-  
+
       int8_t encoding = -1;
       int8_t minIndex = -1;
 
@@ -666,9 +673,9 @@ StatusCode PpmByteStreamReadV1V2Tool::processPpmCompressedR4V1_() {
                 ljeVal[i] = getPpmBytestreamField_(3);
               }
             }
-          }            
+          }
         } else if (encoding < 6) {
-          // Get LUT presence flag for each LUT slice. 
+          // Get LUT presence flag for each LUT slice.
           for(uint8_t i = 0; i < numLut; ++i){
             haveLut[i] = getPpmBytestreamField_(1);
           }
@@ -681,7 +688,7 @@ StatusCode PpmByteStreamReadV1V2Tool::processPpmCompressedR4V1_() {
               adcExt[i] = getPpmBytestreamField_(1);
             }
           }
-          
+
           for(uint8_t i = 0; i < numLut; ++i){
             if (haveLut[i] == 1) {
               lcpVal[i] = getPpmBytestreamField_(8);
@@ -690,7 +697,7 @@ StatusCode PpmByteStreamReadV1V2Tool::processPpmCompressedR4V1_() {
               lcpPeak[i] = getPpmBytestreamField_(1);
             }
           }
-          // Get JEP LUT values and corresponding bits.         
+          // Get JEP LUT values and corresponding bits.
           for(uint8_t i = 0; i < numLut; ++i){
             if (haveLut[i] == 1) {
               ljeVal[i] = getPpmBytestreamField_(8);
@@ -699,7 +706,7 @@ StatusCode PpmByteStreamReadV1V2Tool::processPpmCompressedR4V1_() {
               ljeRes[i] = getPpmBytestreamField_(1);
             }
           }
-  
+
         }
 
       }
@@ -728,7 +735,7 @@ StatusCode PpmByteStreamReadV1V2Tool::processPpmCompressedR4V1_() {
 
     for(uint8_t i=0; i < numLut; ++i){
       lcpBcidVec[i] = uint8_t((lcpPeak[i] << 2) | (lcpSat[i] << 1) | lcpExt[i]);
-      ljeSat80Vec[i] = uint8_t((ljeRes[i] << 2) | (ljeHigh[i] << 1) | ljeLow[i]); 
+      ljeSat80Vec[i] = uint8_t((ljeRes[i] << 2) | (ljeHigh[i] << 1) | ljeLow[i]);
     }
     CHECK(addTriggerTowerV2_(m_subBlockHeader.crate(), m_subBlockHeader.module(),
                              chan,
@@ -736,11 +743,12 @@ StatusCode PpmByteStreamReadV1V2Tool::processPpmCompressedR4V1_() {
                              std::move(ljeVal), std::move(ljeSat80Vec),
                              std::move(adcVal), std::move(adcExt),
                              std::move(pedCor), std::move(pedEn)));
-    }
+    } // for
   } catch (const std::out_of_range& ex) {
       ATH_MSG_WARNING("Excess Data in Sub-block");
       m_errorTool->rodError(m_rodSourceId, L1CaloSubBlock::UNPACK_EXCESS_DATA);
   }
+  //Check status workd
   return StatusCode::SUCCESS;
 
 }
@@ -751,7 +759,7 @@ void PpmByteStreamReadV1V2Tool::interpretPpmHeaderR4V1_(uint8_t numAdc,
 
   if (numAdc == 5) {
     minHeader = getPpmBytestreamField_(4);
-    //ATH_MSG_DEBUG("SASHA: minHeader=" << int(minHeader));
+
     minIndex = minHeader % 5;
     if (minHeader < 15){ // Encodings 0-5
       if (minHeader < 10) {
@@ -778,7 +786,7 @@ void PpmByteStreamReadV1V2Tool::interpretPpmHeaderR4V1_(uint8_t numAdc,
         uint8_t encValue = fieldSize - 1;
         if (minHeader == encValue) { // Encoding 6
           encoding = 6;
-          minIndex = 0; 
+          minIndex = 0;
         } else {
           minHeader += getPpmBytestreamField_(2) << numBits;
           minIndex = minHeader % fieldSize;
@@ -807,15 +815,15 @@ std::vector<uint16_t> PpmByteStreamReadV1V2Tool::getPpmAdcSamplesR4_(
     adc[minIndex] = minAdc;
     for(uint8_t i = 1; i < numAdc; ++i) {
       adc[i == minIndex? 0: i] = getPpmBytestreamField_(encoding + 2) + minAdc;
-    } 
-    return adc;   
+    }
+    return adc;
   } else {
     std::vector<uint16_t> adc(numAdc, 0);
     uint16_t minAdc = getPpmBytestreamField_(1)
                       ? getPpmBytestreamField_(encoding * 2)
-                      : (getPpmBytestreamField_(5) + 
+                      : (getPpmBytestreamField_(5) +
                           m_caloUserHeader.ppLowerBound());
- 
+
     adc[minIndex] = minAdc;
     for (uint8_t i = 1; i < numAdc; ++i) {
       adc[minIndex == i? 0: i] = getPpmBytestreamField_(
@@ -848,6 +856,7 @@ StatusCode PpmByteStreamReadV1V2Tool::processPpmStandardR4V1_() {
   m_ppMaxBit = 31 * m_ppBlock.size();
 
   for (uint8_t chan = 0; chan < 64; ++chan) {
+
     //for (uint8_t k = 0; k < 4; ++k) {
     std::vector<uint8_t> lcpVal;
     std::vector<uint8_t> lcpBcidVec;
@@ -900,7 +909,7 @@ StatusCode PpmByteStreamReadV1V2Tool::processPpmStandardR4V1_() {
 StatusCode PpmByteStreamReadV1V2Tool::processPpmStandardR3V1_() {
     for(auto lut : m_ppLuts) {
       CHECK(addTriggerTowerV1_(
-        m_subBlockHeader.crate(), 
+        m_subBlockHeader.crate(),
         m_subBlockHeader.module(),
         lut.first,
         lut.second,
@@ -909,6 +918,26 @@ StatusCode PpmByteStreamReadV1V2Tool::processPpmStandardR3V1_() {
     return StatusCode::SUCCESS;
 }
 
+void PpmByteStreamReadV1V2Tool::processSubBlockStatus_(uint8_t crate, uint8_t module, uint32_t payload){
+  LVL1::DataError errorBits(0);
+  errorBits.set(LVL1::DataError::SubStatusWord, payload);
+
+  const uint32_t error = errorBits.error();
+  int curr = m_triggerTowers->size() - 1;
+  for(int i=0; i < s_channels; ++i){
+    if (curr < 0){
+      break;
+    }
+    auto tt = (*m_triggerTowers)[curr--];
+    if (tt->coolId() >> 16 & crateModuleMask(crate, module)){
+      tt->setErrorWord(error);
+    }else{
+      break;
+    }
+  }
+}
+
+
 StatusCode PpmByteStreamReadV1V2Tool::addTriggerTowerV2_(
     uint8_t crate,
     uint8_t module,
@@ -922,52 +951,34 @@ StatusCode PpmByteStreamReadV1V2Tool::addTriggerTowerV2_(
     std::vector<int16_t>&& pedCor,
     std::vector<uint8_t>&& pedEn) {
 
+  uint32_t coolId = ::coolId(crate, module, channel);
+
   int layer = 0;
-  int error = 0;
   double eta = 0.;
   double phi = 0.;
-  
-  bool isNotSpare = m_ppmMaps->mapping(crate, module, channel, eta, phi, layer);
-  if (!isNotSpare && !m_ppmIsRetSpare && !m_ppmIsRetMuon){
+
+  bool isData = m_ppmMaps->mapping(crate, module, channel, eta, phi, layer);
+
+  if (!isData && !m_ppmIsRetSpare && !m_ppmIsRetMuon){
     return StatusCode::SUCCESS;
   }
 
-  if (!isNotSpare) {
+  if (!isData) {
     const int pin  = channel % 16;
     const int asic = channel / 16;
     eta = 16 * crate + module;
     phi = 4 * pin + asic;
   }
 
-  uint32_t coolId = ::coolId(crate, module, channel);
-  CHECK(m_coolIds.count(coolId) == 0);
-  m_coolIds.insert(coolId);
-
   xAOD::TriggerTower* tt = new xAOD::TriggerTower();
   m_triggerTowers->push_back(tt);
-  // tt->initialize(
-  //         const uint_least32_t& coolId,
-  //         const uint_least8_t& layer,
-  //         const float& eta,
-  //         const float& phi,
-  //         const std::vector<uint_least8_t>& lut_cp,
-  //         const std::vector<uint_least8_t>& lut_jep,
-  //         const std::vector<int_least16_t>& correction,
-  //         const std::vector<uint_least8_t>& correctionEnabled,
-  //         const std::vector<uint_least8_t>& bcidVec,
-  //         const std::vector<uint_least16_t>& adc,
-  //         const std::vector<uint_least8_t>& bcidExt,
-  //         const std::vector<uint_least8_t>& sat80, 
-  //         const uint_least16_t& error,
-  //         const uint_least8_t& peak,
-  //         const uint_least8_t& adcPeak
-  // );
+
   tt->initialize(coolId, eta, phi,
                  std::move(lcpVal), std::move(ljeVal),
                  std::move(pedCor), std::move(pedEn),
                  std::move(lcpBcidVec), std::move(adcVal),
                  std::move(adcExt), std::move(ljeSat80Vec),
-                 error, m_caloUserHeader.lut(),
+                 0, m_caloUserHeader.lut(),
       m_caloUserHeader.ppFadc());
   return StatusCode::SUCCESS;
 }
@@ -1033,7 +1044,7 @@ StatusCode PpmByteStreamReadV1V2Tool::addTriggerTowerV1_(
 
 const std::vector<uint32_t>& PpmByteStreamReadV1V2Tool::ppmSourceIDs(
   const std::string& sgKey) {
-  
+
   const int crates = 8;
   m_ppmIsRetMuon = false;
   m_ppmIsRetSpare =  false;
@@ -1043,7 +1054,7 @@ const std::vector<uint32_t>& PpmByteStreamReadV1V2Tool::ppmSourceIDs(
   } else if (sgKey.find("Spare") != std::string::npos) {
     m_ppmIsRetSpare = true;
   }
-  
+
   if (m_ppmSourceIDs.empty()) {
     for (int crate = 0; crate < crates; ++crate) {
       for (int slink = 0; slink < m_srcIdMap->maxSlinks(); ++slink) {
@@ -1092,12 +1103,6 @@ uint32_t PpmByteStreamReadV1V2Tool::getPpmBytestreamField_(const uint8_t numBits
       result = field1 | (field2 << nb1);
     }
 
-    // std::bitset<32> r(result);
-    // for(size_t i = 0; i < numBits; ++i) {
-    //   std::cout << int(r[i]);
-    // }
-    // std::cout << " " << result << std::endl;
-
     return result;
   }
 
diff --git a/Trigger/TrigT1/TrigT1CaloByteStream/src/xaod/PpmByteStreamReadV1V2Tool.h b/Trigger/TrigT1/TrigT1CaloByteStream/src/xaod/PpmByteStreamReadV1V2Tool.h
index 1a4f26933fb3..7d9702345557 100644
--- a/Trigger/TrigT1/TrigT1CaloByteStream/src/xaod/PpmByteStreamReadV1V2Tool.h
+++ b/Trigger/TrigT1/TrigT1CaloByteStream/src/xaod/PpmByteStreamReadV1V2Tool.h
@@ -11,6 +11,9 @@
 // ===========================================================================
 #include <stdint.h>
 #include <vector>
+#include <unordered_map>
+#include <unordered_set>
+
 
 // ===========================================================================
 // Athena:
@@ -138,6 +141,8 @@ private:
     std::vector<uint8_t>&& bcidExt
   );
 
+  void processSubBlockStatus_(uint8_t crate, uint8_t module, uint32_t word);
+
 private:
   ToolHandle<LVL1BS::L1CaloErrorByteStreamTool> m_errorTool;
   /// Channel mapping tool
@@ -148,7 +153,7 @@ private:
 private:
   CaloUserHeader m_caloUserHeader;
   SubBlockHeader m_subBlockHeader;
-  SubBlockStatus m_subBlockStatus;
+  // SubBlockStatus m_subBlockStatus;
 
   uint8_t m_subDetectorID;
   RequestType m_requestedType;
@@ -175,10 +180,16 @@ private:
   // For RUN1
   std::map<uint8_t, std::vector<uint16_t>> m_ppLuts;
   std::map<uint8_t, std::vector<uint16_t>> m_ppFadcs;
+  size_t m_maxSizeSeen;
 // ==========================================================================
 private:
   xAOD::TriggerTowerContainer* m_triggerTowers;
-  size_t m_maxSizeSeen;
+
+private:
+   static const uint8_t s_crates   = 8;
+   static const uint8_t s_modules  = 16;
+   static const uint8_t s_channels = 64;
+   static const uint16_t s_maxtowers = s_crates * s_modules * s_channels;
 };
 
 // ===========================================================================
diff --git a/Trigger/TrigT1/TrigT1CaloByteStream/src/xaod/SubBlockStatus.h b/Trigger/TrigT1/TrigT1CaloByteStream/src/xaod/SubBlockStatus.h
index d19b867af5d0..94aa16179621 100644
--- a/Trigger/TrigT1/TrigT1CaloByteStream/src/xaod/SubBlockStatus.h
+++ b/Trigger/TrigT1/TrigT1CaloByteStream/src/xaod/SubBlockStatus.h
@@ -31,6 +31,9 @@ public:
   uint8_t protocol() const;
   uint8_t parity() const;
   uint8_t bcLowBits() const;
+
+  bool isPresent() const { return m_status != 0; }
+
 };
 
 
diff --git a/Trigger/TrigT1/TrigT1CaloByteStream/test/TrigT1CaloByteStream_entries.cxx b/Trigger/TrigT1/TrigT1CaloByteStream/test/TrigT1CaloByteStream_entries.cxx
index 9096a5979ed1..499e22108b3d 100644
--- a/Trigger/TrigT1/TrigT1CaloByteStream/test/TrigT1CaloByteStream_entries.cxx
+++ b/Trigger/TrigT1/TrigT1CaloByteStream/test/TrigT1CaloByteStream_entries.cxx
@@ -1,6 +1,3 @@
-/*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
-*/
 #include "AthContainers/DataVector.h"
 
 // Post-LS1
-- 
GitLab


From d4cf7ef9970b14ad4631909bf69c1c524209e030 Mon Sep 17 00:00:00 2001
From: Dmitry Popov <Dmitry.Popov@cern.ch>
Date: Tue, 8 Jan 2019 17:04:48 +0100
Subject: [PATCH 011/192] Updated TrigT1CaloCalibConditions

---
 .../L1CaloDerivedRunPars.h                    |  38 ++
 .../L1CaloDerivedRunParsContainer.h           |  63 ++
 .../L1CaloPprChanStrategy.h                   |  43 ++
 .../L1CaloPprChanStrategyContainer.h          |  63 ++
 .../L1CaloPprConditionsContainerRun2.h        |   2 +-
 .../L1CaloPprConditionsRun2.h                 |   9 +
 .../L1CaloReadoutConfig.h                     | 176 ++++++
 .../L1CaloReadoutConfigContainer.h            |  61 ++
 .../L1CaloRunParameters.h                     |  62 ++
 .../L1CaloRunParametersContainer.h            |  63 ++
 .../TrigT1CaloCalibConditionsDict.h           |  17 +
 .../TrigT1CaloCalibConditions/selection.xml   |  18 +-
 .../python/CreateClassesForFolder.py          |   4 +-
 .../L1CaloCalibConditionsRun2_jobOptions.py   |  17 +
 ...CaloCalibConditionsTier0Run2_jobOptions.py |   1 +
 .../src/L1CaloDerivedRunPars.cxx              |  21 +
 .../src/L1CaloDerivedRunParsContainer.cxx     |  99 +++
 .../src/L1CaloPpmDeadChannelsContainer.cxx    |   2 +-
 .../src/L1CaloPprChanCalibContainer.cxx       |   2 +-
 .../src/L1CaloPprChanDefaultsContainer.cxx    |   2 +-
 .../src/L1CaloPprChanStrategy.cxx             |  28 +
 .../src/L1CaloPprChanStrategyContainer.cxx    | 104 +++
 .../src/L1CaloPprConditionsContainerRun2.cxx  | 595 +++++++++++++-----
 .../src/L1CaloPprConditionsRun2.cxx           |  43 ++
 .../src/L1CaloReadoutConfig.cxx               |  58 ++
 .../src/L1CaloReadoutConfigContainer.cxx      | 232 +++++++
 .../src/L1CaloRunParameters.cxx               |  26 +
 .../src/L1CaloRunParametersContainer.cxx      | 122 ++++
 28 files changed, 1807 insertions(+), 164 deletions(-)
 create mode 100644 Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloDerivedRunPars.h
 create mode 100644 Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloDerivedRunParsContainer.h
 create mode 100644 Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloPprChanStrategy.h
 create mode 100644 Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloPprChanStrategyContainer.h
 create mode 100644 Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloReadoutConfig.h
 create mode 100644 Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloReadoutConfigContainer.h
 create mode 100644 Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloRunParameters.h
 create mode 100644 Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloRunParametersContainer.h
 create mode 100644 Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloDerivedRunPars.cxx
 create mode 100644 Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloDerivedRunParsContainer.cxx
 create mode 100644 Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloPprChanStrategy.cxx
 create mode 100644 Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloPprChanStrategyContainer.cxx
 create mode 100644 Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloReadoutConfig.cxx
 create mode 100644 Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloReadoutConfigContainer.cxx
 create mode 100644 Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloRunParameters.cxx
 create mode 100644 Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloRunParametersContainer.cxx

diff --git a/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloDerivedRunPars.h b/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloDerivedRunPars.h
new file mode 100644
index 000000000000..e6da63e47fc1
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloDerivedRunPars.h
@@ -0,0 +1,38 @@
+// -*- C++ -*-
+#ifndef TRIGT1CALOCALIBCONDITIONS_L1CALODERIVEDRUNPARS_H
+/*
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+*/
+#define TRIGT1CALOCALIBCONDITIONS_L1CALODERIVEDRUNPARS_H
+
+#include <string>
+#include <iostream>
+
+/**
+ * Folder <-> Object mapping for /TRIGGER/L1Calo/V1/Conditions/DerivedRunPars .
+ * Automatically created using:
+ *
+ * ../python/CreateClassesForFolder.py --db frontier://ATLF/();schema=ATLAS_COOLONL_TRIGGER;dbname=CONDBR2 /TRIGGER/L1Calo/V1/Conditions/DerivedRunPars
+ */
+class L1CaloDerivedRunPars
+{
+  friend std::ostream& operator<<(std::ostream& output, const L1CaloDerivedRunPars& r);
+public:
+  L1CaloDerivedRunPars() {}
+  L1CaloDerivedRunPars(unsigned int channelId, const std::string& timingRegime, const std::string& tierZeroTag);
+
+  unsigned int channelId() const { return m_channelId; }
+  std::string timingRegime() const { return m_timingRegime; }
+  std::string tierZeroTag() const { return m_tierZeroTag; }
+
+  void setChannelId(unsigned int channelId) { m_channelId = channelId; }
+  void settimingRegime(const std::string& timingRegime) { m_timingRegime = timingRegime; }
+  void settierZeroTag(const std::string& tierZeroTag) { m_tierZeroTag = tierZeroTag; }
+
+private:
+  unsigned int m_channelId = 0;
+  std::string m_timingRegime = 0;
+  std::string m_tierZeroTag = 0;
+};
+
+#endif // TRIGT1CALOCALIBCONDITIONS_L1CALODERIVEDRUNPARS_H
diff --git a/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloDerivedRunParsContainer.h b/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloDerivedRunParsContainer.h
new file mode 100644
index 000000000000..7fe187481fce
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloDerivedRunParsContainer.h
@@ -0,0 +1,63 @@
+// -*- C++ -*-
+#ifndef TRIGT1CALOCALIBCONDITIONS_L1CALODERIVEDRUNPARSCONTAINER_H
+/*
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+*/
+#define TRIGT1CALOCALIBCONDITIONS_L1CALODERIVEDRUNPARSCONTAINER_H
+
+#include <map>
+#include <string>
+#include <vector>
+#include "AthenaKernel/CLASS_DEF.h"
+#include "GaudiKernel/DataObject.h"
+#include "TrigT1CaloCalibConditions/AbstractL1CaloPersistentCondition.h"
+#include "TrigT1CaloCalibConditions/L1CaloCoolChannelId.h"
+
+class CondAttrListCollection;
+class L1CaloDerivedRunPars;
+
+/***
+* Container of L1CaloDerivedRunPars objects. Automatically created using:
+*
+* ../python/CreateClassesForFolder.py --db frontier://ATLF/();schema=ATLAS_COOLONL_TRIGGER;dbname=CONDBR2 /TRIGGER/L1Calo/V1/Conditions/DerivedRunPars
+*/
+class L1CaloDerivedRunParsContainer : public DataObject, virtual public AbstractL1CaloPersistentCondition
+{
+private:
+  enum eAttrSpecification { etimingRegime, etierZeroTag };
+public:
+  L1CaloDerivedRunParsContainer();
+  L1CaloDerivedRunParsContainer(const std::string& folderKey);
+  virtual ~L1CaloDerivedRunParsContainer() {}
+
+  // interface of AbstractL1CaloPersistentCondition
+  using AbstractL1CaloPersistentCondition::makeTransient;
+  virtual void makeTransient(const std::map<std::string, CondAttrListCollection*>);
+  virtual DataObject* makePersistent() const;
+  virtual std::vector<std::string> coolInputKeys() const { return {m_coolFolderKey}; }
+  virtual std::string coolOutputKey() const { return m_coolFolderKey; }
+  virtual void clear() { m_derivedRunParss.clear(); }
+
+  // getters
+  const L1CaloDerivedRunPars* derivedRunPars(unsigned int channelId) const;
+  const L1CaloDerivedRunPars* derivedRunPars(const L1CaloCoolChannelId& channelId) const {
+    return derivedRunPars(channelId.id());
+  }
+
+  using const_iterator = std::vector<L1CaloDerivedRunPars>::const_iterator;
+  const_iterator begin() const { return m_derivedRunParss.begin(); }
+  const_iterator end() const { return m_derivedRunParss.end(); }
+
+  // setters
+  void addDerivedRunPars(const L1CaloDerivedRunPars& derivedRunPars);
+
+  void dump() const;
+
+private:
+  std::vector<L1CaloDerivedRunPars> m_derivedRunParss;
+  std::string m_coolFolderKey = "/TRIGGER/L1Calo/V1/Conditions/DerivedRunPars";
+};
+
+CLASS_DEF( L1CaloDerivedRunParsContainer, 1081812192, 1 )
+
+#endif // TRIGT1CALOCALIBCONDITIONS_L1CALODERIVEDRUNPARSCONTAINER_H
diff --git a/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloPprChanStrategy.h b/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloPprChanStrategy.h
new file mode 100644
index 000000000000..66fc2cb94d38
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloPprChanStrategy.h
@@ -0,0 +1,43 @@
+// -*- C++ -*-
+#ifndef TRIGT1CALOCALIBCONDITIONS_L1CALOPPRCHANSTRATEGY_H
+/*
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+*/
+#define TRIGT1CALOCALIBCONDITIONS_L1CALOPPRCHANSTRATEGY_H
+
+#include <iostream>
+#include <string>
+/**
+ * Folder <-> Object mapping for /TRIGGER/L1Calo/V2/Configuration/PprChanStrategy .
+ * Automatically created using:
+ *
+ * ../athena/Trigger/TrigT1/TrigT1CaloCalibConditions/python/CreateClassesForFolder.py --db frontier://ATLF/();schema=ATLAS_COOLONL_TRIGGER;dbname=CONDBR2 /TRIGGER/L1Calo/V2/Configuration/PprChanStrategy
+ */
+class L1CaloPprChanStrategy
+{
+  friend std::ostream& operator<<(std::ostream& output, const L1CaloPprChanStrategy& r);
+public:
+  L1CaloPprChanStrategy() {}
+  L1CaloPprChanStrategy(unsigned int channelId, const std::string& strategy, unsigned int code, const std::string& timingRegime, const std::string& description);
+
+  unsigned int channelId() const { return m_channelId; }
+  std::string strategy() const { return m_strategy; }
+  unsigned int code() const { return m_code; }
+  std::string  timingRegime() const { return m_timingRegime; }
+  std::string  description() const { return m_description; }
+
+  void setChannelId(unsigned int channelId) { m_channelId = channelId; }
+  void setStrategy(const std::string&  strategy) { m_strategy = strategy; }
+  void setCode(unsigned int code) { m_code = code; }
+  void setTimingRegime(const std::string&  timingRegime) { m_timingRegime = timingRegime; }
+  void setDescription(const std::string& description) { m_description = description; }
+
+private:
+  unsigned int m_channelId = 0;
+  std::string  m_strategy = 0;
+  unsigned int m_code = 0;
+  std::string  m_timingRegime = 0;
+  std::string  m_description = 0;
+};
+
+#endif // TRIGT1CALOCALIBCONDITIONS_L1CALOPPRCHANSTRATEGY_H
diff --git a/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloPprChanStrategyContainer.h b/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloPprChanStrategyContainer.h
new file mode 100644
index 000000000000..7c6cb4dd67de
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloPprChanStrategyContainer.h
@@ -0,0 +1,63 @@
+// -*- C++ -*-
+#ifndef TRIGT1CALOCALIBCONDITIONS_L1CALOPPRCHANSTRATEGYCONTAINER_H
+/*
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+*/
+#define TRIGT1CALOCALIBCONDITIONS_L1CALOPPRCHANSTRATEGYCONTAINER_H
+
+#include <map>
+#include <string>
+#include <vector>
+#include "AthenaKernel/CLASS_DEF.h"
+#include "GaudiKernel/DataObject.h"
+#include "TrigT1CaloCalibConditions/AbstractL1CaloPersistentCondition.h"
+#include "TrigT1CaloCalibConditions/L1CaloCoolChannelId.h"
+
+class CondAttrListCollection;
+class L1CaloPprChanStrategy;
+
+/***
+* Container of L1CaloPprChanStrategy objects. Automatically created using:
+*
+* ../athena/Trigger/TrigT1/TrigT1CaloCalibConditions/python/CreateClassesForFolder.py --db frontier://ATLF/();schema=ATLAS_COOLONL_TRIGGER;dbname=CONDBR2 /TRIGGER/L1Calo/V2/Configuration/PprChanStrategy
+*/
+class L1CaloPprChanStrategyContainer : public DataObject, virtual public AbstractL1CaloPersistentCondition
+{
+private:
+  enum eAttrSpecification { eStrategy, eCode, eTimingRegime, eDescription };
+public:
+  L1CaloPprChanStrategyContainer();
+  L1CaloPprChanStrategyContainer(const std::string& folderKey);
+  virtual ~L1CaloPprChanStrategyContainer() {}
+
+  // interface of AbstractL1CaloPersistentCondition
+  using AbstractL1CaloPersistentCondition::makeTransient;
+  virtual void makeTransient(const std::map<std::string, CondAttrListCollection*>);
+  virtual DataObject* makePersistent() const;
+  virtual std::vector<std::string> coolInputKeys() const { return {m_coolFolderKey}; }
+  virtual std::string coolOutputKey() const { return m_coolFolderKey; }
+  virtual void clear() { m_pprChanStrategys.clear(); }
+
+  // getters
+  const L1CaloPprChanStrategy* pprChanStrategy(unsigned int channelId) const;
+  const L1CaloPprChanStrategy* pprChanStrategy(const L1CaloCoolChannelId& channelId) const {
+    return pprChanStrategy(channelId.id());
+  }
+
+  using const_iterator = std::vector<L1CaloPprChanStrategy>::const_iterator;
+  const_iterator begin() const { return m_pprChanStrategys.begin(); }
+  const_iterator end() const { return m_pprChanStrategys.end(); }
+
+  // setters
+  void addPprChanStrategy(const L1CaloPprChanStrategy& pprChanStrategy);
+
+  void dump() const;
+
+private:
+  std::vector<L1CaloPprChanStrategy> m_pprChanStrategys;
+  std::string m_coolFolderKey = "/TRIGGER/L1Calo/V2/Configuration/PprChanStrategy";
+};
+
+CLASS_DEF( L1CaloPprChanStrategyContainer, 1240855406, 1 )
+
+#endif // TRIGT1CALOCALIBCONDITIONS_L1CALOPPRCHANSTRATEGYCONTAINER_H
diff --git a/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloPprConditionsContainerRun2.h b/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloPprConditionsContainerRun2.h
index 392fd213b66f..377c3f40025c 100644
--- a/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloPprConditionsContainerRun2.h
+++ b/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloPprConditionsContainerRun2.h
@@ -41,7 +41,7 @@ private:
                             eLutJepStrategy, eLutJepOffset, eLutJepNoiseCut, eLutJepSlope, eLutJepPar1, eLutJepPar2, eLutJepPar3, eLutJepPar4, eLutJepScale};
 
 public:
-  enum eCoolFolders { ePprChanDefaults, ePprChanCalib };
+  enum eCoolFolders { ePprChanDefaults, ePprChanCalib, ePprChanCalibCommon, ePprChanCalibStrategy };
 
   L1CaloPprConditionsContainerRun2();
   L1CaloPprConditionsContainerRun2(const std::map<L1CaloPprConditionsContainerRun2::eCoolFolders, std::string>& folderKeysMap);
diff --git a/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloPprConditionsRun2.h b/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloPprConditionsRun2.h
index 96a5688bf9ea..0253a6e51b8c 100644
--- a/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloPprConditionsRun2.h
+++ b/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloPprConditionsRun2.h
@@ -22,6 +22,7 @@ class L1CaloPprConditionsRun2
 public:
 
   L1CaloPprConditionsRun2() = default;
+
   L1CaloPprConditionsRun2(unsigned short extBcidThreshold,
                           unsigned short satBcidThreshLow,
                           unsigned short satBcidThreshHigh,
@@ -55,6 +56,12 @@ public:
                           unsigned int pedValue,
                           float pedMean,
                           unsigned int pedFirSum);
+
+  void initializeByStrategy(unsigned short firStartBit, short int firCoeff1,
+    short int firCoeff2, short int firCoeff3, short int firCoeff4,
+    short int firCoeff5, unsigned short lutCpSlope, unsigned short lutCpNoiseCut,
+    unsigned short lutJepSlope, unsigned short lutJepNoiseCut);
+
   virtual ~L1CaloPprConditionsRun2() {};
 
   // getters
@@ -88,6 +95,8 @@ public:
   float          pedMean()             const { return m_pedMean; }
   unsigned int   pedFirSum()           const { return m_pedFirSum; }
 
+
+
 private:
   friend std::ostream& operator<<(std::ostream& output, const L1CaloPprConditionsRun2& r);
 
diff --git a/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloReadoutConfig.h b/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloReadoutConfig.h
new file mode 100644
index 000000000000..6d33e538378f
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloReadoutConfig.h
@@ -0,0 +1,176 @@
+// -*- C++ -*-
+#ifndef TRIGT1CALOCALIBCONDITIONS_L1CALOREADOUTCONFIG_H
+/*
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+*/
+#define TRIGT1CALOCALIBCONDITIONS_L1CALOREADOUTCONFIG_H
+
+#include <string>
+/**
+ * Folder <-> Object mapping for /TRIGGER/L1Calo/V2/Configuration/ReadoutConfig .
+ * Automatically created using:
+ *
+ * ../python/CreateClassesForFolder.py --db frontier://ATLF/();schema=ATLAS_COOLONL_TRIGGER;dbname=CONDBR2 /TRIGGER/L1Calo/V2/Configuration/ReadoutConfig
+ */
+class L1CaloReadoutConfig
+{
+public:
+  L1CaloReadoutConfig() {}
+  L1CaloReadoutConfig(unsigned int channelId, const std::string& description, unsigned int baselinePointer, unsigned int numFadcSlices, unsigned int l1aFadcSlice, unsigned int numLutSlices, unsigned int l1aLutSlice, unsigned int numProcSlices, unsigned int l1aProcSlice, unsigned int numTopoSlices, unsigned int l1aTopoSlice, unsigned int latencyPpmFadc, unsigned int latencyPpmLut, unsigned int latencyCpmInput, unsigned int latencyCpmHits, unsigned int latencyCpmRoi, unsigned int latencyJemInput, unsigned int latencyJemRoi, unsigned int latencyCpCmxBackplane, unsigned int latencyCpCmxLocal, unsigned int latencyCpCmxCable, unsigned int latencyCpCmxSystem, unsigned int latencyCpCmxInfo, unsigned int latencyJetCmxBackplane, unsigned int latencyJetCmxLocal, unsigned int latencyJetCmxCable, unsigned int latencyJetCmxSystem, unsigned int latencyJetCmxInfo, unsigned int latencyJetCmxRoi, unsigned int latencyEnergyCmxBackplane, unsigned int latencyEnergyCmxLocal, unsigned int latencyEnergyCmxCable, unsigned int latencyEnergyCmxSystem, unsigned int latencyEnergyCmxInfo, unsigned int latencyEnergyCmxRoi, unsigned int latencyTopo, unsigned int internalLatencyJemJet, unsigned int internalLatencyJemSum, unsigned int bcOffsetJemJet, unsigned int bcOffsetJemSum, int bcOffsetCmx, int bcOffsetTopo, const std::string& formatTypePpm, const std::string& formatTypeCpJep, const std::string& formatTypeTopo, unsigned int compressionThresholdPpm, unsigned int compressionThresholdCpJep, unsigned int compressionThresholdTopo, unsigned int compressionBaselinePpm, unsigned int readout80ModePpm);
+
+  unsigned int channelId() const { return m_channelId; }
+  std::string description() const { return m_description; }
+  unsigned int baselinePointer() const { return m_baselinePointer; }
+  unsigned int numFadcSlices() const { return m_numFadcSlices; }
+  unsigned int l1aFadcSlice() const { return m_l1aFadcSlice; }
+  unsigned int numLutSlices() const { return m_numLutSlices; }
+  unsigned int l1aLutSlice() const { return m_l1aLutSlice; }
+  unsigned int numProcSlices() const { return m_numProcSlices; }
+  unsigned int l1aProcSlice() const { return m_l1aProcSlice; }
+  unsigned int numTopoSlices() const { return m_numTopoSlices; }
+  unsigned int l1aTopoSlice() const { return m_l1aTopoSlice; }
+  unsigned int latencyPpmFadc() const { return m_latencyPpmFadc; }
+  unsigned int latencyPpmLut() const { return m_latencyPpmLut; }
+  unsigned int latencyCpmInput() const { return m_latencyCpmInput; }
+  unsigned int latencyCpmHits() const { return m_latencyCpmHits; }
+  unsigned int latencyCpmRoi() const { return m_latencyCpmRoi; }
+  unsigned int latencyJemInput() const { return m_latencyJemInput; }
+  unsigned int latencyJemRoi() const { return m_latencyJemRoi; }
+  unsigned int latencyCpCmxBackplane() const { return m_latencyCpCmxBackplane; }
+  unsigned int latencyCpCmxLocal() const { return m_latencyCpCmxLocal; }
+  unsigned int latencyCpCmxCable() const { return m_latencyCpCmxCable; }
+  unsigned int latencyCpCmxSystem() const { return m_latencyCpCmxSystem; }
+  unsigned int latencyCpCmxInfo() const { return m_latencyCpCmxInfo; }
+  unsigned int latencyJetCmxBackplane() const { return m_latencyJetCmxBackplane; }
+  unsigned int latencyJetCmxLocal() const { return m_latencyJetCmxLocal; }
+  unsigned int latencyJetCmxCable() const { return m_latencyJetCmxCable; }
+  unsigned int latencyJetCmxSystem() const { return m_latencyJetCmxSystem; }
+  unsigned int latencyJetCmxInfo() const { return m_latencyJetCmxInfo; }
+  unsigned int latencyJetCmxRoi() const { return m_latencyJetCmxRoi; }
+  unsigned int latencyEnergyCmxBackplane() const { return m_latencyEnergyCmxBackplane; }
+  unsigned int latencyEnergyCmxLocal() const { return m_latencyEnergyCmxLocal; }
+  unsigned int latencyEnergyCmxCable() const { return m_latencyEnergyCmxCable; }
+  unsigned int latencyEnergyCmxSystem() const { return m_latencyEnergyCmxSystem; }
+  unsigned int latencyEnergyCmxInfo() const { return m_latencyEnergyCmxInfo; }
+  unsigned int latencyEnergyCmxRoi() const { return m_latencyEnergyCmxRoi; }
+  unsigned int latencyTopo() const { return m_latencyTopo; }
+  unsigned int internalLatencyJemJet() const { return m_internalLatencyJemJet; }
+  unsigned int internalLatencyJemSum() const { return m_internalLatencyJemSum; }
+  unsigned int bcOffsetJemJet() const { return m_bcOffsetJemJet; }
+  unsigned int bcOffsetJemSum() const { return m_bcOffsetJemSum; }
+  int bcOffsetCmx() const { return m_bcOffsetCmx; }
+  int bcOffsetTopo() const { return m_bcOffsetTopo; }
+  std::string formatTypePpm() const { return m_formatTypePpm; }
+  std::string formatTypeCpJep() const { return m_formatTypeCpJep; }
+  std::string formatTypeTopo() const { return m_formatTypeTopo; }
+  unsigned int compressionThresholdPpm() const { return m_compressionThresholdPpm; }
+  unsigned int compressionThresholdCpJep() const { return m_compressionThresholdCpJep; }
+  unsigned int compressionThresholdTopo() const { return m_compressionThresholdTopo; }
+  unsigned int compressionBaselinePpm() const { return m_compressionBaselinePpm; }
+  unsigned int readout80ModePpm() const { return m_readout80ModePpm; }
+
+  void setChannelId(unsigned int channelId) { m_channelId = channelId; }
+  void setdescription(const std::string& description) { m_description = description; }
+  void setbaselinePointer(unsigned int baselinePointer) { m_baselinePointer = baselinePointer; }
+  void setnumFadcSlices(unsigned int numFadcSlices) { m_numFadcSlices = numFadcSlices; }
+  void setl1aFadcSlice(unsigned int l1aFadcSlice) { m_l1aFadcSlice = l1aFadcSlice; }
+  void setnumLutSlices(unsigned int numLutSlices) { m_numLutSlices = numLutSlices; }
+  void setl1aLutSlice(unsigned int l1aLutSlice) { m_l1aLutSlice = l1aLutSlice; }
+  void setnumProcSlices(unsigned int numProcSlices) { m_numProcSlices = numProcSlices; }
+  void setl1aProcSlice(unsigned int l1aProcSlice) { m_l1aProcSlice = l1aProcSlice; }
+  void setnumTopoSlices(unsigned int numTopoSlices) { m_numTopoSlices = numTopoSlices; }
+  void setl1aTopoSlice(unsigned int l1aTopoSlice) { m_l1aTopoSlice = l1aTopoSlice; }
+  void setlatencyPpmFadc(unsigned int latencyPpmFadc) { m_latencyPpmFadc = latencyPpmFadc; }
+  void setlatencyPpmLut(unsigned int latencyPpmLut) { m_latencyPpmLut = latencyPpmLut; }
+  void setlatencyCpmInput(unsigned int latencyCpmInput) { m_latencyCpmInput = latencyCpmInput; }
+  void setlatencyCpmHits(unsigned int latencyCpmHits) { m_latencyCpmHits = latencyCpmHits; }
+  void setlatencyCpmRoi(unsigned int latencyCpmRoi) { m_latencyCpmRoi = latencyCpmRoi; }
+  void setlatencyJemInput(unsigned int latencyJemInput) { m_latencyJemInput = latencyJemInput; }
+  void setlatencyJemRoi(unsigned int latencyJemRoi) { m_latencyJemRoi = latencyJemRoi; }
+  void setlatencyCpCmxBackplane(unsigned int latencyCpCmxBackplane) { m_latencyCpCmxBackplane = latencyCpCmxBackplane; }
+  void setlatencyCpCmxLocal(unsigned int latencyCpCmxLocal) { m_latencyCpCmxLocal = latencyCpCmxLocal; }
+  void setlatencyCpCmxCable(unsigned int latencyCpCmxCable) { m_latencyCpCmxCable = latencyCpCmxCable; }
+  void setlatencyCpCmxSystem(unsigned int latencyCpCmxSystem) { m_latencyCpCmxSystem = latencyCpCmxSystem; }
+  void setlatencyCpCmxInfo(unsigned int latencyCpCmxInfo) { m_latencyCpCmxInfo = latencyCpCmxInfo; }
+  void setlatencyJetCmxBackplane(unsigned int latencyJetCmxBackplane) { m_latencyJetCmxBackplane = latencyJetCmxBackplane; }
+  void setlatencyJetCmxLocal(unsigned int latencyJetCmxLocal) { m_latencyJetCmxLocal = latencyJetCmxLocal; }
+  void setlatencyJetCmxCable(unsigned int latencyJetCmxCable) { m_latencyJetCmxCable = latencyJetCmxCable; }
+  void setlatencyJetCmxSystem(unsigned int latencyJetCmxSystem) { m_latencyJetCmxSystem = latencyJetCmxSystem; }
+  void setlatencyJetCmxInfo(unsigned int latencyJetCmxInfo) { m_latencyJetCmxInfo = latencyJetCmxInfo; }
+  void setlatencyJetCmxRoi(unsigned int latencyJetCmxRoi) { m_latencyJetCmxRoi = latencyJetCmxRoi; }
+  void setlatencyEnergyCmxBackplane(unsigned int latencyEnergyCmxBackplane) { m_latencyEnergyCmxBackplane = latencyEnergyCmxBackplane; }
+  void setlatencyEnergyCmxLocal(unsigned int latencyEnergyCmxLocal) { m_latencyEnergyCmxLocal = latencyEnergyCmxLocal; }
+  void setlatencyEnergyCmxCable(unsigned int latencyEnergyCmxCable) { m_latencyEnergyCmxCable = latencyEnergyCmxCable; }
+  void setlatencyEnergyCmxSystem(unsigned int latencyEnergyCmxSystem) { m_latencyEnergyCmxSystem = latencyEnergyCmxSystem; }
+  void setlatencyEnergyCmxInfo(unsigned int latencyEnergyCmxInfo) { m_latencyEnergyCmxInfo = latencyEnergyCmxInfo; }
+  void setlatencyEnergyCmxRoi(unsigned int latencyEnergyCmxRoi) { m_latencyEnergyCmxRoi = latencyEnergyCmxRoi; }
+  void setlatencyTopo(unsigned int latencyTopo) { m_latencyTopo = latencyTopo; }
+  void setinternalLatencyJemJet(unsigned int internalLatencyJemJet) { m_internalLatencyJemJet = internalLatencyJemJet; }
+  void setinternalLatencyJemSum(unsigned int internalLatencyJemSum) { m_internalLatencyJemSum = internalLatencyJemSum; }
+  void setbcOffsetJemJet(unsigned int bcOffsetJemJet) { m_bcOffsetJemJet = bcOffsetJemJet; }
+  void setbcOffsetJemSum(unsigned int bcOffsetJemSum) { m_bcOffsetJemSum = bcOffsetJemSum; }
+  void setbcOffsetCmx(int bcOffsetCmx) { m_bcOffsetCmx = bcOffsetCmx; }
+  void setbcOffsetTopo(int bcOffsetTopo) { m_bcOffsetTopo = bcOffsetTopo; }
+  void setformatTypePpm(const std::string& formatTypePpm) { m_formatTypePpm = formatTypePpm; }
+  void setformatTypeCpJep(const std::string& formatTypeCpJep) { m_formatTypeCpJep = formatTypeCpJep; }
+  void setformatTypeTopo(const std::string& formatTypeTopo) { m_formatTypeTopo = formatTypeTopo; }
+  void setcompressionThresholdPpm(unsigned int compressionThresholdPpm) { m_compressionThresholdPpm = compressionThresholdPpm; }
+  void setcompressionThresholdCpJep(unsigned int compressionThresholdCpJep) { m_compressionThresholdCpJep = compressionThresholdCpJep; }
+  void setcompressionThresholdTopo(unsigned int compressionThresholdTopo) { m_compressionThresholdTopo = compressionThresholdTopo; }
+  void setcompressionBaselinePpm(unsigned int compressionBaselinePpm) { m_compressionBaselinePpm = compressionBaselinePpm; }
+  void setreadout80ModePpm(unsigned int readout80ModePpm) { m_readout80ModePpm = readout80ModePpm; }
+
+private:
+  unsigned int m_channelId = 0;
+  std::string m_description = 0;
+  unsigned int m_baselinePointer = 0;
+  unsigned int m_numFadcSlices = 0;
+  unsigned int m_l1aFadcSlice = 0;
+  unsigned int m_numLutSlices = 0;
+  unsigned int m_l1aLutSlice = 0;
+  unsigned int m_numProcSlices = 0;
+  unsigned int m_l1aProcSlice = 0;
+  unsigned int m_numTopoSlices = 0;
+  unsigned int m_l1aTopoSlice = 0;
+  unsigned int m_latencyPpmFadc = 0;
+  unsigned int m_latencyPpmLut = 0;
+  unsigned int m_latencyCpmInput = 0;
+  unsigned int m_latencyCpmHits = 0;
+  unsigned int m_latencyCpmRoi = 0;
+  unsigned int m_latencyJemInput = 0;
+  unsigned int m_latencyJemRoi = 0;
+  unsigned int m_latencyCpCmxBackplane = 0;
+  unsigned int m_latencyCpCmxLocal = 0;
+  unsigned int m_latencyCpCmxCable = 0;
+  unsigned int m_latencyCpCmxSystem = 0;
+  unsigned int m_latencyCpCmxInfo = 0;
+  unsigned int m_latencyJetCmxBackplane = 0;
+  unsigned int m_latencyJetCmxLocal = 0;
+  unsigned int m_latencyJetCmxCable = 0;
+  unsigned int m_latencyJetCmxSystem = 0;
+  unsigned int m_latencyJetCmxInfo = 0;
+  unsigned int m_latencyJetCmxRoi = 0;
+  unsigned int m_latencyEnergyCmxBackplane = 0;
+  unsigned int m_latencyEnergyCmxLocal = 0;
+  unsigned int m_latencyEnergyCmxCable = 0;
+  unsigned int m_latencyEnergyCmxSystem = 0;
+  unsigned int m_latencyEnergyCmxInfo = 0;
+  unsigned int m_latencyEnergyCmxRoi = 0;
+  unsigned int m_latencyTopo = 0;
+  unsigned int m_internalLatencyJemJet = 0;
+  unsigned int m_internalLatencyJemSum = 0;
+  unsigned int m_bcOffsetJemJet = 0;
+  unsigned int m_bcOffsetJemSum = 0;
+  int m_bcOffsetCmx = 0;
+  int m_bcOffsetTopo = 0;
+  std::string m_formatTypePpm = 0;
+  std::string m_formatTypeCpJep = 0;
+  std::string m_formatTypeTopo = 0;
+  unsigned int m_compressionThresholdPpm = 0;
+  unsigned int m_compressionThresholdCpJep = 0;
+  unsigned int m_compressionThresholdTopo = 0;
+  unsigned int m_compressionBaselinePpm = 0;
+  unsigned int m_readout80ModePpm = 0;
+};
+
+#endif // TRIGT1CALOCALIBCONDITIONS_L1CALOREADOUTCONFIG_H
diff --git a/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloReadoutConfigContainer.h b/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloReadoutConfigContainer.h
new file mode 100644
index 000000000000..9eaed682b996
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloReadoutConfigContainer.h
@@ -0,0 +1,61 @@
+// -*- C++ -*-
+#ifndef TRIGT1CALOCALIBCONDITIONS_L1CALOREADOUTCONFIGCONTAINER_H
+/*
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+*/
+#define TRIGT1CALOCALIBCONDITIONS_L1CALOREADOUTCONFIGCONTAINER_H
+
+#include <map>
+#include <string>
+#include <vector>
+#include "AthenaKernel/CLASS_DEF.h"
+#include "GaudiKernel/DataObject.h"
+#include "TrigT1CaloCalibConditions/AbstractL1CaloPersistentCondition.h"
+#include "TrigT1CaloCalibConditions/L1CaloCoolChannelId.h"
+
+class CondAttrListCollection;
+class L1CaloReadoutConfig;
+
+/***
+* Container of L1CaloReadoutConfig objects. Automatically created using:
+*
+* ../python/CreateClassesForFolder.py --db frontier://ATLF/();schema=ATLAS_COOLONL_TRIGGER;dbname=CONDBR2 /TRIGGER/L1Calo/V2/Configuration/ReadoutConfig
+*/
+class L1CaloReadoutConfigContainer : public DataObject, virtual public AbstractL1CaloPersistentCondition
+{
+private:
+  enum eAttrSpecification { edescription, ebaselinePointer, enumFadcSlices, el1aFadcSlice, enumLutSlices, el1aLutSlice, enumProcSlices, el1aProcSlice, enumTopoSlices, el1aTopoSlice, elatencyPpmFadc, elatencyPpmLut, elatencyCpmInput, elatencyCpmHits, elatencyCpmRoi, elatencyJemInput, elatencyJemRoi, elatencyCpCmxBackplane, elatencyCpCmxLocal, elatencyCpCmxCable, elatencyCpCmxSystem, elatencyCpCmxInfo, elatencyJetCmxBackplane, elatencyJetCmxLocal, elatencyJetCmxCable, elatencyJetCmxSystem, elatencyJetCmxInfo, elatencyJetCmxRoi, elatencyEnergyCmxBackplane, elatencyEnergyCmxLocal, elatencyEnergyCmxCable, elatencyEnergyCmxSystem, elatencyEnergyCmxInfo, elatencyEnergyCmxRoi, elatencyTopo, einternalLatencyJemJet, einternalLatencyJemSum, ebcOffsetJemJet, ebcOffsetJemSum, ebcOffsetCmx, ebcOffsetTopo, eformatTypePpm, eformatTypeCpJep, eformatTypeTopo, ecompressionThresholdPpm, ecompressionThresholdCpJep, ecompressionThresholdTopo, ecompressionBaselinePpm, ereadout80ModePpm };
+public:
+  L1CaloReadoutConfigContainer();
+  L1CaloReadoutConfigContainer(const std::string& folderKey);
+  virtual ~L1CaloReadoutConfigContainer() {}
+
+  // interface of AbstractL1CaloPersistentCondition
+  using AbstractL1CaloPersistentCondition::makeTransient;
+  virtual void makeTransient(const std::map<std::string, CondAttrListCollection*>);
+  virtual DataObject* makePersistent() const;
+  virtual std::vector<std::string> coolInputKeys() const { return {m_coolFolderKey}; }
+  virtual std::string coolOutputKey() const { return m_coolFolderKey; }
+  virtual void clear() { m_readoutConfigs.clear(); }
+
+  // getters
+  const L1CaloReadoutConfig* readoutConfig(unsigned int channelId) const;
+  const L1CaloReadoutConfig* readoutConfig(const L1CaloCoolChannelId& channelId) const {
+    return readoutConfig(channelId.id());
+  }
+
+  using const_iterator = std::vector<L1CaloReadoutConfig>::const_iterator;
+  const_iterator begin() const { return m_readoutConfigs.begin(); }
+  const_iterator end() const { return m_readoutConfigs.end(); }
+
+  // setters
+  void addReadoutConfig(const L1CaloReadoutConfig& readoutConfig);
+
+private:
+  std::vector<L1CaloReadoutConfig> m_readoutConfigs;
+  std::string m_coolFolderKey = "/TRIGGER/L1Calo/V2/Configuration/ReadoutConfig";
+};
+
+CLASS_DEF( L1CaloReadoutConfigContainer, 1122647625, 1 )
+
+#endif // TRIGT1CALOCALIBCONDITIONS_L1CALOREADOUTCONFIGCONTAINER_H
diff --git a/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloRunParameters.h b/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloRunParameters.h
new file mode 100644
index 000000000000..fae55ace1742
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloRunParameters.h
@@ -0,0 +1,62 @@
+// -*- C++ -*-
+#ifndef TRIGT1CALOCALIBCONDITIONS_L1CALORUNPARAMETERS_H
+/*
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+*/
+#define TRIGT1CALOCALIBCONDITIONS_L1CALORUNPARAMETERS_H
+
+#include <string>
+#include <iostream>
+
+/**
+ * Folder <-> Object mapping for /TRIGGER/L1Calo/V1/Conditions/RunParameters .
+ * Automatically created using:
+ *
+ * ./CreateClassesForFolder.py /TRIGGER/L1Calo/V1/Conditions/RunParameters
+ */
+class L1CaloRunParameters
+{
+  friend std::ostream& operator<<(std::ostream& output, const L1CaloRunParameters& r);
+public:
+  L1CaloRunParameters() {}
+  L1CaloRunParameters(unsigned int channelId, const std::string& runType, const std::string& runActionName, unsigned int runActionVersion, const std::string& readoutConfig, unsigned int readoutConfigID, const std::string& ttcConfiguration, unsigned int ttcConfigurationID, const std::string& triggerMenu, const std::string& calibration, const std::string& conditions);
+
+  unsigned int channelId() const { return m_channelId; }
+  std::string runType() const { return m_runType; }
+  std::string runActionName() const { return m_runActionName; }
+  unsigned int runActionVersion() const { return m_runActionVersion; }
+  std::string readoutConfig() const { return m_readoutConfig; }
+  unsigned int readoutConfigID() const { return m_readoutConfigID; }
+  std::string ttcConfiguration() const { return m_ttcConfiguration; }
+  unsigned int ttcConfigurationID() const { return m_ttcConfigurationID; }
+  std::string triggerMenu() const { return m_triggerMenu; }
+  std::string calibration() const { return m_calibration; }
+  std::string conditions() const { return m_conditions; }
+
+  void setChannelId(unsigned int channelId) { m_channelId = channelId; }
+  void setrunType(const std::string& runType) { m_runType = runType; }
+  void setrunActionName(const std::string& runActionName) { m_runActionName = runActionName; }
+  void setrunActionVersion(unsigned int runActionVersion) { m_runActionVersion = runActionVersion; }
+  void setreadoutConfig(const std::string& readoutConfig) { m_readoutConfig = readoutConfig; }
+  void setreadoutConfigID(unsigned int readoutConfigID) { m_readoutConfigID = readoutConfigID; }
+  void setttcConfiguration(const std::string& ttcConfiguration) { m_ttcConfiguration = ttcConfiguration; }
+  void setttcConfigurationID(unsigned int ttcConfigurationID) { m_ttcConfigurationID = ttcConfigurationID; }
+  void settriggerMenu(const std::string& triggerMenu) { m_triggerMenu = triggerMenu; }
+  void setcalibration(const std::string& calibration) { m_calibration = calibration; }
+  void setconditions(const std::string& conditions) { m_conditions = conditions; }
+
+private:
+  unsigned int m_channelId = 0;
+  std::string m_runType = 0;
+  std::string m_runActionName = 0;
+  unsigned int m_runActionVersion = 0;
+  std::string m_readoutConfig = 0;
+  unsigned int m_readoutConfigID = 0;
+  std::string m_ttcConfiguration = 0;
+  unsigned int m_ttcConfigurationID = 0;
+  std::string m_triggerMenu = 0;
+  std::string m_calibration = 0;
+  std::string m_conditions = 0;
+};
+
+#endif // TRIGT1CALOCALIBCONDITIONS_L1CALORUNPARAMETERS_H
diff --git a/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloRunParametersContainer.h b/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloRunParametersContainer.h
new file mode 100644
index 000000000000..4b287219f8e0
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloRunParametersContainer.h
@@ -0,0 +1,63 @@
+// -*- C++ -*-
+#ifndef TRIGT1CALOCALIBCONDITIONS_L1CALORUNPARAMETERSCONTAINER_H
+/*
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+*/
+#define TRIGT1CALOCALIBCONDITIONS_L1CALORUNPARAMETERSCONTAINER_H
+
+#include <map>
+#include <string>
+#include <vector>
+#include "AthenaKernel/CLASS_DEF.h"
+#include "GaudiKernel/DataObject.h"
+#include "TrigT1CaloCalibConditions/AbstractL1CaloPersistentCondition.h"
+#include "TrigT1CaloCalibConditions/L1CaloCoolChannelId.h"
+
+class CondAttrListCollection;
+class L1CaloRunParameters;
+
+/***
+* Container of L1CaloRunParameters objects. Automatically created using:
+*
+* ./CreateClassesForFolder.py /TRIGGER/L1Calo/V1/Conditions/RunParameters
+*/
+class L1CaloRunParametersContainer : public DataObject, virtual public AbstractL1CaloPersistentCondition
+{
+private:
+  enum eAttrSpecification { erunType, erunActionName, erunActionVersion, ereadoutConfig, ereadoutConfigID, ettcConfiguration, ettcConfigurationID, etriggerMenu, ecalibration, econditions };
+public:
+  L1CaloRunParametersContainer();
+  L1CaloRunParametersContainer(const std::string& folderKey);
+  virtual ~L1CaloRunParametersContainer() {}
+
+  // interface of AbstractL1CaloPersistentCondition
+  using AbstractL1CaloPersistentCondition::makeTransient;
+  virtual void makeTransient(const std::map<std::string, CondAttrListCollection*>);
+  virtual DataObject* makePersistent() const;
+  virtual std::vector<std::string> coolInputKeys() const { return {m_coolFolderKey}; }
+  virtual std::string coolOutputKey() const { return m_coolFolderKey; }
+  virtual void clear() { m_runParameterss.clear(); }
+
+  // getters
+  const L1CaloRunParameters* runParameters(unsigned int channelId) const;
+  const L1CaloRunParameters* runParameters(const L1CaloCoolChannelId& channelId) const {
+    return runParameters(channelId.id());
+  }
+
+  using const_iterator = std::vector<L1CaloRunParameters>::const_iterator;
+  const_iterator begin() const { return m_runParameterss.begin(); }
+  const_iterator end() const { return m_runParameterss.end(); }
+
+  // setters
+  void addRunParameters(const L1CaloRunParameters& runParameters);
+
+  void dump() const;
+  
+private:
+  std::vector<L1CaloRunParameters> m_runParameterss;
+  std::string m_coolFolderKey = "/TRIGGER/L1Calo/V1/Conditions/RunParameters";
+};
+
+CLASS_DEF( L1CaloRunParametersContainer, 1236303918, 1 )
+
+#endif // TRIGT1CALOCALIBCONDITIONS_L1CALORUNPARAMETERSCONTAINER_H
diff --git a/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/TrigT1CaloCalibConditionsDict.h b/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/TrigT1CaloCalibConditionsDict.h
index 6da4777b813d..0e3d8f37e0e1 100755
--- a/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/TrigT1CaloCalibConditionsDict.h
+++ b/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/TrigT1CaloCalibConditionsDict.h
@@ -28,6 +28,18 @@
 #include "TrigT1CaloCalibConditions/L1CaloPpmDeadChannelsContainer.h"
 #include "TrigT1CaloCalibConditions/L1CaloDisabledTowers.h"
 #include "TrigT1CaloCalibConditions/L1CaloDisabledTowersContainer.h"
+#include "TrigT1CaloCalibConditions/L1CaloPprChanStrategyContainer.h"
+#include "TrigT1CaloCalibConditions/L1CaloPprChanStrategy.h"
+#include "TrigT1CaloCalibConditions/L1CaloDerivedRunParsContainer.h"
+#include "TrigT1CaloCalibConditions/L1CaloDerivedRunPars.h"
+#include "TrigT1CaloCalibConditions/L1CaloReadoutConfigContainer.h"
+#include "TrigT1CaloCalibConditions/L1CaloReadoutConfig.h"
+
+#include "TrigT1CaloCalibConditions/L1CaloRunParametersContainer.h"
+#include "TrigT1CaloCalibConditions/L1CaloRunParameters.h"
+
+
+
 
 struct TrigT1CaloCalibConditions_DUMMY_Instantiation {
   // we need to instantiate templated objects to get them into the dict
@@ -47,6 +59,11 @@ struct TrigT1CaloCalibConditions_DUMMY_Instantiation {
   L1CaloPprChanDefaultsContainer::const_iterator L1CaloPprChanDefaultsContainerCI;
   L1CaloPpmDeadChannelsContainer::const_iterator L1CaloPpmDeadChannelsContainerCI;
   L1CaloDisabledTowersContainer::const_iterator L1CaloDisabledTowersContainerCI;
+  L1CaloPprChanStrategyContainer::const_iterator L1CaloPprChanStrategyContainerConstInterator;
+  L1CaloDerivedRunParsContainer::const_iterator L1CaloDerivedRunParsContainerConstInterator;
+  L1CaloReadoutConfigContainer::const_iterator L1CaloReadoutConfigContainerConstInterator;
+  L1CaloRunParametersContainer::const_iterator L1CaloRunParametersContainerConstInterator;
+
 };
 
 #endif
diff --git a/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/selection.xml b/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/selection.xml
index e4a04f37c28b..ca303690bf51 100755
--- a/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/selection.xml
+++ b/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/selection.xml
@@ -29,7 +29,7 @@
 	<class name="L1CaloPprConditionsContainer" id="CDC75AED-FE0B-41AD-957B-94CD6A75B4EF" />
 	<class name="L1CaloPprConditions" />
 	<class name="L1CaloPprConditionsContainerRun2" id="CDC75AED-FE0B-41AD-957B-94CD6A75B4EF" />
-<!--	<class name="L1CaloPprConditionsRun2" /> -->
+	<!--	<class name="L1CaloPprConditionsRun2" /> -->
 
 	<class name="ChanCalibErrorCode" />
 	<class name="ChanDeadErrorCode" />
@@ -61,4 +61,18 @@
 	<class name="L1CaloDisabledTowersContainer" id="C3641506-70A4-4F96-844C-6B7B74F8A48C" />
 	<class name="L1CaloDisabledTowersContainer::const_iterator" />
 	<class name="L1CaloDisabledTowers" />
-</lcgdict>
+
+	<class name="L1CaloPprChanStrategyContainer" id="E1ADA778-3F76-4774-BBE4-A384BF2E268D" />
+	<class name="L1CaloPprChanStrategyContainer::const_iterator" />
+	<class name="L1CaloPprChanStrategy" />
+
+	<class name="L1CaloDerivedRunParsContainer" id="F6852A0F-35C3-4FCF-B6C0-22CB27EA1857" />
+   	<class name="L1CaloDerivedRunParsContainer::const_iterator" />
+	<class name="L1CaloDerivedRunPars" />
+
+	<class name="L1CaloRunParametersContainer" id="C32C53CB-FDDC-44A0-9140-B0CCDD32AE6F" />
+	<class name="L1CaloRunParametersContainer::const_iterator" />
+	<class name="L1CaloRunParameters" />
+
+
+  </lcgdict>
diff --git a/Trigger/TrigT1/TrigT1CaloCalibConditions/python/CreateClassesForFolder.py b/Trigger/TrigT1/TrigT1CaloCalibConditions/python/CreateClassesForFolder.py
index a55dee0dd629..251d7f10565c 100644
--- a/Trigger/TrigT1/TrigT1CaloCalibConditions/python/CreateClassesForFolder.py
+++ b/Trigger/TrigT1/TrigT1CaloCalibConditions/python/CreateClassesForFolder.py
@@ -225,7 +225,9 @@ def _mapToCpp(t):
         'Int16' : 'short',
         'Int32' : 'int',
         'Double': 'double',
-        'Blob64k': 'char*'}
+        'Blob64k': 'char*',
+        'String255': 'char*'
+        }
     return _m[t]
 
 def _toCamelCase(identifier):
diff --git a/Trigger/TrigT1/TrigT1CaloCalibConditions/share/L1CaloCalibConditionsRun2_jobOptions.py b/Trigger/TrigT1/TrigT1CaloCalibConditions/share/L1CaloCalibConditionsRun2_jobOptions.py
index 8e6009100d39..1ae1935c8478 100644
--- a/Trigger/TrigT1/TrigT1CaloCalibConditions/share/L1CaloCalibConditionsRun2_jobOptions.py
+++ b/Trigger/TrigT1/TrigT1CaloCalibConditions/share/L1CaloCalibConditionsRun2_jobOptions.py
@@ -4,8 +4,25 @@ include("TrigT1CaloCalibConditions/L1CaloCalibConditionsTier0Run2_jobOptions.py"
 
 from IOVDbSvc.CondDB import conddb
 L1CaloFolderList = []
+L1CaloFolderList += ["/TRIGGER/L1Calo/V2/Configuration/PprChanStrategy"]
 L1CaloFolderList += ["/TRIGGER/L1Calo/V1/Calibration/Physics/PprChanCalib"]
+
 L1CaloFolderList += ["/TRIGGER/L1Calo/V2/Calibration/Physics/PprChanCalib"]
+L1CaloFolderList += ["/TRIGGER/L1Calo/V2/Calibration/Physics/PprChanCommon"]
+L1CaloFolderList += ["/TRIGGER/L1Calo/V2/Calibration/Physics/PprChanLowMu"]
+L1CaloFolderList += ["/TRIGGER/L1Calo/V2/Calibration/Physics/PprChanHighMu"]
+
+L1CaloFolderList += ["/TRIGGER/L1Calo/V2/Calibration/Calib1/PprChanCalib"]
+L1CaloFolderList += ["/TRIGGER/L1Calo/V2/Calibration/Calib1/PprChanCommon"]
+L1CaloFolderList += ["/TRIGGER/L1Calo/V2/Calibration/Calib1/PprChanLowMu"]
+L1CaloFolderList += ["/TRIGGER/L1Calo/V2/Calibration/Calib1/PprChanHighMu"]
+
+L1CaloFolderList += ["/TRIGGER/L1Calo/V2/Calibration/Calib2/PprChanCalib"]
+L1CaloFolderList += ["/TRIGGER/L1Calo/V2/Calibration/Calib2/PprChanCommon"]
+L1CaloFolderList += ["/TRIGGER/L1Calo/V2/Calibration/Calib2/PprChanLowMu"]
+L1CaloFolderList += ["/TRIGGER/L1Calo/V2/Calibration/Calib2/PprChanHighMu"]
+
+
 L1CaloFolderList += ["/TRIGGER/L1Calo/V1/Conditions/RunParameters"]
 L1CaloFolderList += ["/TRIGGER/L1Calo/V1/Conditions/DerivedRunPars"]
 L1CaloFolderList += ["/TRIGGER/Receivers/Conditions/VgaDac"]
diff --git a/Trigger/TrigT1/TrigT1CaloCalibConditions/share/L1CaloCalibConditionsTier0Run2_jobOptions.py b/Trigger/TrigT1/TrigT1CaloCalibConditions/share/L1CaloCalibConditionsTier0Run2_jobOptions.py
index 9e24ea325898..28b267d64e39 100644
--- a/Trigger/TrigT1/TrigT1CaloCalibConditions/share/L1CaloCalibConditionsTier0Run2_jobOptions.py
+++ b/Trigger/TrigT1/TrigT1CaloCalibConditions/share/L1CaloCalibConditionsTier0Run2_jobOptions.py
@@ -10,6 +10,7 @@ from IOVDbSvc.CondDB import conddb
 L1CaloFolderList = []
 L1CaloFolderList += ["/TRIGGER/L1Calo/V1/Calibration/PpmDeadChannels"]
 L1CaloFolderList += ["/TRIGGER/L1Calo/V1/Conditions/DisabledTowers"]
+L1CaloFolderList += ["/TRIGGER/L1Calo/V1/Conditions/RunParameters"]
 L1CaloFolderList += ["/TRIGGER/L1Calo/V1/Configuration/PprChanDefaults"]
 L1CaloFolderList += ["/TRIGGER/L1Calo/V2/Configuration/PprChanDefaults"]
 
diff --git a/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloDerivedRunPars.cxx b/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloDerivedRunPars.cxx
new file mode 100644
index 000000000000..38da7013ed2a
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloDerivedRunPars.cxx
@@ -0,0 +1,21 @@
+/*
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+*/
+#include "TrigT1CaloCalibConditions/L1CaloDerivedRunPars.h"
+
+#include <iomanip>
+
+L1CaloDerivedRunPars::L1CaloDerivedRunPars(unsigned int channelId, const std::string& timingRegime, const std::string& tierZeroTag)
+ : m_channelId(channelId)
+ , m_timingRegime(timingRegime)
+ , m_tierZeroTag(tierZeroTag)
+{
+}
+
+std::ostream& operator<<(std::ostream& output, const L1CaloDerivedRunPars& r) {
+  output << "channelID: " << std::hex << r.channelId() << std::dec
+         << ", timingRegime: " << r.timingRegime() 
+         << ", tierZeroTag: " << r.tierZeroTag();
+
+  return output;
+}
diff --git a/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloDerivedRunParsContainer.cxx b/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloDerivedRunParsContainer.cxx
new file mode 100644
index 000000000000..c1641fe96aee
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloDerivedRunParsContainer.cxx
@@ -0,0 +1,99 @@
+/*
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+*/
+#include "TrigT1CaloCalibConditions/L1CaloDerivedRunParsContainer.h"
+
+#include <algorithm>
+#include <memory>
+
+#include "CxxUtils/make_unique.h"
+#include "CoralBase/AttributeListSpecification.h"
+#include "AthenaPoolUtilities/CondAttrListCollection.h"
+#include "AthenaPoolUtilities/AthenaAttributeList.h"
+
+#include "TrigT1CaloCalibConditions/L1CaloDerivedRunPars.h"
+
+L1CaloDerivedRunParsContainer::L1CaloDerivedRunParsContainer()
+  : AbstractL1CaloPersistentCondition("CondAttrListCollection") 
+{
+  this->addSpecification(etimingRegime, "timingRegime", "string");
+  this->addSpecification(etierZeroTag, "tierZeroTag", "string");
+}
+
+L1CaloDerivedRunParsContainer::L1CaloDerivedRunParsContainer(const std::string& folderKey)
+  : L1CaloDerivedRunParsContainer() // delegating constructor
+{
+  m_coolFolderKey = folderKey;
+}
+
+
+DataObject* L1CaloDerivedRunParsContainer::makePersistent() const
+{
+  using CxxUtils::make_unique;
+
+  if(m_coolFolderKey.empty()) return nullptr;
+
+  auto* attrSpecification = this->createAttributeListSpecification();
+  if(!attrSpecification || !attrSpecification->size()) return nullptr;
+
+  auto attrListCollection = make_unique<CondAttrListCollection>(true);
+  for(const auto& item : m_derivedRunParss) {
+    AthenaAttributeList attrList(*attrSpecification);
+    attrList[specificationName(etimingRegime)].setValue(item.timingRegime());
+    attrList[specificationName(etierZeroTag)].setValue(item.tierZeroTag());
+    
+    attrListCollection->add(item.channelId(), attrList);
+  }
+  return static_cast<DataObject*>(attrListCollection.release());
+}
+
+void L1CaloDerivedRunParsContainer::makeTransient(const std::map<std::string, CondAttrListCollection*> condAttrListCollectionMap)
+{
+  clear();
+
+  auto it = condAttrListCollectionMap.find(m_coolFolderKey);
+  if(it == std::end(condAttrListCollectionMap)) return;
+
+  auto attrListCollection = it->second;
+  for(const auto& item : *attrListCollection) {
+    auto chanNum = item.first;
+    const auto& attrList = item.second;
+    
+    auto timingRegime = attrList[specificationName(etimingRegime)].data<std::string>();
+    auto tierZeroTag = attrList[specificationName(etierZeroTag)].data<std::string>();
+
+    addDerivedRunPars(L1CaloDerivedRunPars(chanNum, timingRegime, tierZeroTag));
+  }
+}
+
+const L1CaloDerivedRunPars* L1CaloDerivedRunParsContainer::derivedRunPars(unsigned int channelId) const
+{
+  auto it = std::lower_bound(std::begin(m_derivedRunParss),
+                            std::end(m_derivedRunParss),
+                            channelId,
+                            [](const L1CaloDerivedRunPars& el, unsigned int val) -> bool {
+                              return el.channelId() < val;
+                            });
+  if(it == std::end(m_derivedRunParss)) return nullptr;
+  return &(*it);
+}
+
+void L1CaloDerivedRunParsContainer::addDerivedRunPars(const L1CaloDerivedRunPars& derivedRunPars)
+{
+  // insert into the correct position mainting the sorted vector
+  m_derivedRunParss.insert(std::lower_bound(std::begin(m_derivedRunParss),
+                                           std::end(m_derivedRunParss),
+                                           derivedRunPars.channelId(),
+                                           [](const L1CaloDerivedRunPars& el, unsigned int va) -> bool {
+                                             return el.channelId() < va;
+                                           }),
+                          derivedRunPars);
+}
+
+
+void L1CaloDerivedRunParsContainer::dump() const {
+  L1CaloDerivedRunParsContainer::const_iterator it = this->begin();
+  for(;it!=this->end();++it) {
+    std::cout << " * item: " << *it <<std::endl;
+  }
+}
\ No newline at end of file
diff --git a/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloPpmDeadChannelsContainer.cxx b/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloPpmDeadChannelsContainer.cxx
index 6a1c51fe8c3a..d436ac0ebe52 100644
--- a/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloPpmDeadChannelsContainer.cxx
+++ b/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloPpmDeadChannelsContainer.cxx
@@ -55,7 +55,7 @@ void L1CaloPpmDeadChannelsContainer::makeTransient(const std::map<std::string, C
   // In the case of overlay, we need multiple instances of L1CaloPpmDeadChannelsContainer
   // Take the last element in the map  
   if (condAttrListCollectionMap.empty()) return;
-  auto it = condAttrListCollectionMap.rbegin();  
+  auto it = condAttrListCollectionMap.rbegin();
 
   auto attrListCollection = it->second;
   for(const auto& item : *attrListCollection) {
diff --git a/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloPprChanCalibContainer.cxx b/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloPprChanCalibContainer.cxx
index 068618707981..bacd529054f8 100644
--- a/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloPprChanCalibContainer.cxx
+++ b/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloPprChanCalibContainer.cxx
@@ -119,7 +119,7 @@ void L1CaloPprChanCalibContainer::makeTransient(const std::map<std::string, Cond
   // In the case of overlay, we need multiple instances of L1CaloPprChanCalibContainer
   // Take the last element in the map
   if (condAttrListCollectionMap.empty()) return;
-  auto it = condAttrListCollectionMap.rbegin();  
+  auto it = condAttrListCollectionMap.rbegin();
 
   auto attrListCollection = it->second;
 
diff --git a/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloPprChanDefaultsContainer.cxx b/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloPprChanDefaultsContainer.cxx
index dbffcdf70ffc..4d4eee2d2529 100644
--- a/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloPprChanDefaultsContainer.cxx
+++ b/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloPprChanDefaultsContainer.cxx
@@ -119,7 +119,7 @@ void L1CaloPprChanDefaultsContainer::makeTransient(const std::map<std::string, C
   // In the case of overlay, we need multiple instances of L1CaloPprChanDefaultsContainer
   // Take the last element in the map
   if (condAttrListCollectionMap.empty()) return;
-  auto it = condAttrListCollectionMap.rbegin();  
+  auto it = condAttrListCollectionMap.rbegin();
 
   auto attrListCollection = it->second;
   for(const auto& item : *attrListCollection) {
diff --git a/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloPprChanStrategy.cxx b/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloPprChanStrategy.cxx
new file mode 100644
index 000000000000..57f3495305b8
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloPprChanStrategy.cxx
@@ -0,0 +1,28 @@
+/*
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+*/
+#include "TrigT1CaloCalibConditions/L1CaloPprChanStrategy.h"
+
+#include <iostream>
+#include <iomanip>
+#include <string>
+
+L1CaloPprChanStrategy::L1CaloPprChanStrategy(unsigned int channelId,
+                                             const std::string& strategy,
+                                             unsigned int code,
+                                             const std::string& timingRegime,
+                                             const std::string& description)
+    : m_channelId(channelId),
+      m_strategy(strategy),
+      m_code(code),
+      m_timingRegime(timingRegime),
+      m_description(description) {}
+
+std::ostream& operator<<(std::ostream& output, const L1CaloPprChanStrategy& r) {
+  output << "channelID: " << std::hex << r.m_channelId << std::dec
+         << ", strategy: " << r.m_strategy << ", code: " << r.m_code
+         << ", m_timingRegime: " << r.m_timingRegime
+         << ", description: " << r.m_description;
+
+  return output;
+}
diff --git a/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloPprChanStrategyContainer.cxx b/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloPprChanStrategyContainer.cxx
new file mode 100644
index 000000000000..149a1eb2fd5f
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloPprChanStrategyContainer.cxx
@@ -0,0 +1,104 @@
+/*
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+*/
+#include "TrigT1CaloCalibConditions/L1CaloPprChanStrategyContainer.h"
+
+#include <algorithm>
+#include <memory>
+
+#include "CxxUtils/make_unique.h"
+#include "CoralBase/AttributeListSpecification.h"
+#include "AthenaPoolUtilities/CondAttrListCollection.h"
+#include "AthenaPoolUtilities/AthenaAttributeList.h"
+
+#include "TrigT1CaloCalibConditions/L1CaloPprChanStrategy.h"
+
+L1CaloPprChanStrategyContainer::L1CaloPprChanStrategyContainer()
+  : AbstractL1CaloPersistentCondition("CondAttrListCollection") 
+{
+  this->addSpecification(eStrategy, "Strategy", "string");
+  this->addSpecification(eCode, "Code", "unsigned int");
+  this->addSpecification(eTimingRegime, "TimingRegime", "string");
+  this->addSpecification(eDescription, "Description", "string");
+}
+
+L1CaloPprChanStrategyContainer::L1CaloPprChanStrategyContainer(const std::string& folderKey)
+  : L1CaloPprChanStrategyContainer() // delegating constructor
+{
+  m_coolFolderKey = folderKey;
+}
+
+
+DataObject* L1CaloPprChanStrategyContainer::makePersistent() const
+{
+  using CxxUtils::make_unique;
+
+  if(m_coolFolderKey.empty()) return nullptr;
+
+  auto* attrSpecification = this->createAttributeListSpecification();
+  if(!attrSpecification || !attrSpecification->size()) return nullptr;
+
+  auto attrListCollection = make_unique<CondAttrListCollection>(true);
+  for(const auto& item : m_pprChanStrategys) {
+    AthenaAttributeList attrList(*attrSpecification);
+    attrList[specificationName(eStrategy)].setValue(item.strategy());
+    attrList[specificationName(eCode)].setValue(item.code());
+    attrList[specificationName(eTimingRegime)].setValue(item.timingRegime());
+    attrList[specificationName(eDescription)].setValue(item.description());
+    
+    attrListCollection->add(item.channelId(), attrList);
+  }
+  return static_cast<DataObject*>(attrListCollection.release());
+}
+
+void L1CaloPprChanStrategyContainer::makeTransient(const std::map<std::string, CondAttrListCollection*> condAttrListCollectionMap)
+{
+  clear();
+
+  auto it = condAttrListCollectionMap.find(m_coolFolderKey);
+  if(it == std::end(condAttrListCollectionMap)) return;
+
+  auto attrListCollection = it->second;
+  for(const auto& item : *attrListCollection) {
+    auto chanNum = item.first;
+    const auto& attrList = item.second;
+    
+    auto strategy = attrList[specificationName(eStrategy)].data<std::string>();
+    auto code = attrList[specificationName(eCode)].data<unsigned int>();
+    auto timingRegime = attrList[specificationName(eTimingRegime)].data<std::string>();
+    auto description = attrList[specificationName(eDescription)].data<std::string>();
+
+    addPprChanStrategy(L1CaloPprChanStrategy(chanNum, strategy, code, timingRegime, description));
+  }
+}
+
+const L1CaloPprChanStrategy* L1CaloPprChanStrategyContainer::pprChanStrategy(unsigned int channelId) const
+{
+  auto it = std::lower_bound(std::begin(m_pprChanStrategys),
+                            std::end(m_pprChanStrategys),
+                            channelId,
+                            [](const L1CaloPprChanStrategy& el, unsigned int val) -> bool {
+                              return el.channelId() < val;
+                            });
+  if(it == std::end(m_pprChanStrategys)) return nullptr;
+  return &(*it);
+}
+
+void L1CaloPprChanStrategyContainer::addPprChanStrategy(const L1CaloPprChanStrategy& pprChanStrategy)
+{
+  // insert into the correct position mainting the sorted vector
+  m_pprChanStrategys.insert(std::lower_bound(std::begin(m_pprChanStrategys),
+                                           std::end(m_pprChanStrategys),
+                                           pprChanStrategy.channelId(),
+                                           [](const L1CaloPprChanStrategy& el, unsigned int va) -> bool {
+                                             return el.channelId() < va;
+                                           }),
+                          pprChanStrategy);
+}
+
+void L1CaloPprChanStrategyContainer::dump() const {
+  L1CaloPprChanStrategyContainer::const_iterator it = this->begin();
+  for(;it!=this->end();++it) {
+    std::cout << " * item: " << *it <<std::endl;
+  }
+}
diff --git a/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloPprConditionsContainerRun2.cxx b/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloPprConditionsContainerRun2.cxx
index 207b352c6a8c..4f2dab89e403 100644
--- a/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloPprConditionsContainerRun2.cxx
+++ b/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloPprConditionsContainerRun2.cxx
@@ -16,85 +16,156 @@
 const unsigned int L1CaloPprConditionsContainerRun2::s_vectorSize;
 
 L1CaloPprConditionsContainerRun2::L1CaloPprConditionsContainerRun2()
-  : AbstractL1CaloPersistentCondition("CondAttrListCollection")
-  , m_coolFoldersKeysMap({{L1CaloPprConditionsContainerRun2::ePprChanCalib, "/TRIGGER/L1Calo/V2/Calibration/Physics/PprChanCalib"},
-        {L1CaloPprConditionsContainerRun2::ePprChanDefaults, "/TRIGGER/L1Calo/V2/Configuration/PprChanDefaults"}})
-{
-  // Define DB rows names and types in order to construct the AttributeListSpecification object
-  this->addSpecification(eExtBcidThreshold,    std::string("ExtBcidThreshold"),     std::string("UInt16"));
-  this->addSpecification(eSatBcidThreshLow,    std::string("SatBcidThreshLow"),     std::string("UInt16"));
-  this->addSpecification(eSatBcidThreshHigh,   std::string("SatBcidThreshHigh"),    std::string("UInt16"));
-  this->addSpecification(eSatBcidLevel,        std::string("SatBcidLevel"),         std::string("UInt16"));
-  this->addSpecification(eBcidEnergyRangeLow,  std::string("BcidEnergyRangeLow"),   std::string("UInt16"));
-  this->addSpecification(eBcidEnergyRangeHigh, std::string("BcidEnergyRangeHigh"),  std::string("UInt16"));
-  this->addSpecification(eFirStartBit,         std::string("FirStartBit"),          std::string("UInt16"));
-
-  this->addSpecification(eBcidDecision1,       std::string("CR12_BcidDecision1"),   std::string("Int32"));
-  this->addSpecification(eSatOverride1,        std::string("CR12_SatOverride1"),    std::string("Int32"));
-  this->addSpecification(eBcidDecision2,       std::string("CR13_BcidDecision2"),   std::string("Int32"));
-  this->addSpecification(eSatOverride2,        std::string("CR13_SatOverride2"),    std::string("Int32"));
-  this->addSpecification(eBcidDecision3,       std::string("CR14_BcidDecision3"),   std::string("Int32"));
-  this->addSpecification(eSatOverride3,        std::string("CR14_SatOverride3"),    std::string("Int32"));
-  this->addSpecification(ePeakFinderCond,      std::string("CR15_PeakFinderCond"),  std::string("Int32"));
-  this->addSpecification(eDecisionSource,      std::string("CR15_DecisionSource"),  std::string("Int32"));
-
-  this->addSpecification(eFirCoeff1, std::string("FirCoeff1"), std::string("short"));
-  this->addSpecification(eFirCoeff2, std::string("FirCoeff2"), std::string("short"));
-  this->addSpecification(eFirCoeff3, std::string("FirCoeff3"), std::string("short"));
-  this->addSpecification(eFirCoeff4, std::string("FirCoeff4"), std::string("short"));
-  this->addSpecification(eFirCoeff5, std::string("FirCoeff5"), std::string("short"));
-
-  this->addSpecification(ePedValue,       std::string("PedValue"),      std::string("UInt32"));
-  this->addSpecification(ePedMean,        std::string("PedMean"),       std::string("Double"));
-  this->addSpecification(ePedFirSum,      std::string("PedFirSum"),     std::string("UInt32"));
-
-  this->addSpecification(eLutCpStrategy,    std::string("LutCpStrategy"),   std::string("UInt16"));
-  this->addSpecification(eLutCpOffset,      std::string("LutCpOffset"),     std::string("UInt16"));
-  this->addSpecification(eLutCpSlope,       std::string("LutCpSlope"),      std::string("UInt16"));
-  this->addSpecification(eLutCpNoiseCut,    std::string("LutCpNoiseCut"),   std::string("UInt16"));
-  this->addSpecification(eLutCpScale,       std::string("LutCpScale"),      std::string("UInt16"));
-  this->addSpecification(eLutCpPar1,        std::string("LutCpPar1"),       std::string("UInt16"));
-  this->addSpecification(eLutCpPar2,        std::string("LutCpPar2"),       std::string("UInt16"));
-  this->addSpecification(eLutCpPar3,        std::string("LutCpPar3"),       std::string("UInt16"));
-  this->addSpecification(eLutCpPar4,        std::string("LutCpPar4"),       std::string("UInt16"));
-
-  this->addSpecification(eLutJepStrategy,    std::string("LutJepStrategy"),   std::string("UInt16"));
-  this->addSpecification(eLutJepOffset,      std::string("LutJepOffset"),     std::string("UInt16"));
-  this->addSpecification(eLutJepSlope,       std::string("LutJepSlope"),      std::string("UInt16"));
-  this->addSpecification(eLutJepNoiseCut,    std::string("LutJepNoiseCut"),   std::string("UInt16"));
-  this->addSpecification(eLutJepScale,       std::string("LutJepScale"),      std::string("UInt16"));
-  this->addSpecification(eLutJepPar1,        std::string("LutJepPar1"),       std::string("UInt16"));
-  this->addSpecification(eLutJepPar2,        std::string("LutJepPar2"),       std::string("UInt16"));
-  this->addSpecification(eLutJepPar3,        std::string("LutJepPar3"),       std::string("UInt16"));
-  this->addSpecification(eLutJepPar4,        std::string("LutJepPar4"),       std::string("UInt16"));
+    : AbstractL1CaloPersistentCondition("CondAttrListCollection"),
+      m_coolFoldersKeysMap(
+          {{L1CaloPprConditionsContainerRun2::ePprChanCalib,
+            "/TRIGGER/L1Calo/V2/Calibration/Physics/PprChanCalib"},
+           {L1CaloPprConditionsContainerRun2::ePprChanDefaults,
+            "/TRIGGER/L1Calo/V2/Configuration/PprChanDefaults"}}) {
+  this->addSpecification(eBcidDecision1, std::string("CR12_BcidDecision1"),
+                         std::string("Int32"));
+  this->addSpecification(eSatOverride1, std::string("CR12_SatOverride1"),
+                         std::string("Int32"));
+  this->addSpecification(eBcidDecision2, std::string("CR13_BcidDecision2"),
+                         std::string("Int32"));
+  this->addSpecification(eSatOverride2, std::string("CR13_SatOverride2"),
+                         std::string("Int32"));
+  this->addSpecification(eBcidDecision3, std::string("CR14_BcidDecision3"),
+                         std::string("Int32"));
+  this->addSpecification(eSatOverride3, std::string("CR14_SatOverride3"),
+                         std::string("Int32"));
+  this->addSpecification(ePeakFinderCond, std::string("CR15_PeakFinderCond"),
+                         std::string("Int32"));
+  this->addSpecification(eDecisionSource, std::string("CR15_DecisionSource"),
+                         std::string("Int32"));
+
+  // ------------------------------------------------------------------------------------------------------------------
+  // Common
+  // ------------------------------------------------------------------------------------------------------------------
+  // Define DB rows names and types in order to construct the
+  // AttributeListSpecification object
+  this->addSpecification(eExtBcidThreshold, std::string("ExtBcidThreshold"),
+                         std::string("UInt16"));
+  this->addSpecification(eSatBcidThreshLow, std::string("SatBcidThreshLow"),
+                         std::string("UInt16"));
+  this->addSpecification(eSatBcidThreshHigh, std::string("SatBcidThreshHigh"),
+                         std::string("UInt16"));
+  this->addSpecification(eSatBcidLevel, std::string("SatBcidLevel"),
+                         std::string("UInt16"));
+  this->addSpecification(eBcidEnergyRangeLow, std::string("BcidEnergyRangeLow"),
+                         std::string("UInt16"));
+  this->addSpecification(eBcidEnergyRangeHigh,
+                         std::string("BcidEnergyRangeHigh"),
+                         std::string("UInt16"));
+
+  this->addSpecification(ePedValue, std::string("PedValue"),
+                         std::string("UInt32"));
+  this->addSpecification(ePedMean, std::string("PedMean"),
+                         std::string("Double"));
+
+  this->addSpecification(eLutCpStrategy, std::string("LutCpStrategy"),
+                         std::string("UInt16"));
+
+  this->addSpecification(eLutCpScale, std::string("LutCpScale"),
+                         std::string("UInt16"));
+  this->addSpecification(eLutCpPar1, std::string("LutCpPar1"),
+                         std::string("UInt16"));
+  this->addSpecification(eLutCpPar2, std::string("LutCpPar2"),
+                         std::string("UInt16"));
+  this->addSpecification(eLutCpPar3, std::string("LutCpPar3"),
+                         std::string("UInt16"));
+  this->addSpecification(eLutCpPar4, std::string("LutCpPar4"),
+                         std::string("UInt16"));
+
+  this->addSpecification(eLutJepStrategy, std::string("LutJepStrategy"),
+                         std::string("UInt16"));
+
+  this->addSpecification(eLutJepScale, std::string("LutJepScale"),
+                         std::string("UInt16"));
+  this->addSpecification(eLutJepPar1, std::string("LutJepPar1"),
+                         std::string("UInt16"));
+  this->addSpecification(eLutJepPar2, std::string("LutJepPar2"),
+                         std::string("UInt16"));
+  this->addSpecification(eLutJepPar3, std::string("LutJepPar3"),
+                         std::string("UInt16"));
+  this->addSpecification(eLutJepPar4, std::string("LutJepPar4"),
+                         std::string("UInt16"));
+
+  // Missing attributes in model with strategy
+  this->addSpecification(ePedFirSum, std::string("PedFirSum"),
+                         std::string("UInt32"));
+  this->addSpecification(eLutCpOffset, std::string("LutCpOffset"),
+                         std::string("UInt16"));
+  this->addSpecification(eLutJepOffset, std::string("LutJepOffset"),
+                         std::string("UInt16"));
+  // ------------------------------------------------------------------------------------------------------------------
+  // Strategy
+  // ------------------------------------------------------------------------------------------------------------------
+  this->addSpecification(eFirStartBit, std::string("FirStartBit"),
+                         std::string("UInt16"));
+  this->addSpecification(eFirCoeff1, std::string("FirCoeff1"),
+                         std::string("short"));
+  this->addSpecification(eFirCoeff2, std::string("FirCoeff2"),
+                         std::string("short"));
+  this->addSpecification(eFirCoeff3, std::string("FirCoeff3"),
+                         std::string("short"));
+  this->addSpecification(eFirCoeff4, std::string("FirCoeff4"),
+                         std::string("short"));
+  this->addSpecification(eFirCoeff5, std::string("FirCoeff5"),
+                         std::string("short"));
+  this->addSpecification(eLutCpNoiseCut, std::string("LutCpNoiseCut"),
+                         std::string("UInt16"));
+  this->addSpecification(eLutCpSlope, std::string("LutCpSlope"),
+                         std::string("UInt16"));
+  this->addSpecification(eLutJepNoiseCut, std::string("LutJepNoiseCut"),
+                         std::string("UInt16"));
+  this->addSpecification(eLutJepSlope, std::string("LutJepSlope"),
+                         std::string("UInt16"));
+  // ------------------------------------------------------------------------------------------------------------------
 
   m_pprConditionsVec.reserve(s_vectorSize);
   this->clear();
 }
 
-L1CaloPprConditionsContainerRun2::L1CaloPprConditionsContainerRun2(const std::map<L1CaloPprConditionsContainerRun2::eCoolFolders, std::string>& folderKeysMap)
-  : L1CaloPprConditionsContainerRun2() // delegating constructor
+L1CaloPprConditionsContainerRun2::L1CaloPprConditionsContainerRun2(
+    const std::map<L1CaloPprConditionsContainerRun2::eCoolFolders, std::string>&
+        folderKeysMap)
+    : L1CaloPprConditionsContainerRun2()  // delegating constructor
 {
   m_coolFoldersKeysMap = folderKeysMap;
 }
 
-L1CaloPprConditionsContainerRun2::~L1CaloPprConditionsContainerRun2()
-{
+L1CaloPprConditionsContainerRun2::~L1CaloPprConditionsContainerRun2() {
   this->clear();
 }
 
-std::string L1CaloPprConditionsContainerRun2::coolFolderKey(L1CaloPprConditionsContainerRun2::eCoolFolders efolder) const {
-
+std::string L1CaloPprConditionsContainerRun2::coolFolderKey(
+    L1CaloPprConditionsContainerRun2::eCoolFolders efolder) const {
   auto it = m_coolFoldersKeysMap.find(efolder);
-  if(it != m_coolFoldersKeysMap.end()) {
+  if (it != m_coolFoldersKeysMap.end()) {
     return it->second;
   } else {
     return std::string("");
   }
 }
 
-std::vector<std::string> L1CaloPprConditionsContainerRun2::coolInputKeys() const {
-  return {this->coolFolderKey(L1CaloPprConditionsContainerRun2::ePprChanCalib), this->coolFolderKey(L1CaloPprConditionsContainerRun2::ePprChanDefaults)};
+std::vector<std::string> L1CaloPprConditionsContainerRun2::coolInputKeys()
+    const {
+  std::vector<std::string> result{
+      this->coolFolderKey(L1CaloPprConditionsContainerRun2::ePprChanDefaults)};
+  std::string calibKey =
+      this->coolFolderKey(L1CaloPprConditionsContainerRun2::ePprChanCalib);
+
+  if (!calibKey.empty()) {
+    result.push_back(calibKey);
+  } else {
+    result.push_back(this->coolFolderKey(
+        L1CaloPprConditionsContainerRun2::ePprChanCalibCommon));
+    result.push_back(this->coolFolderKey(
+        L1CaloPprConditionsContainerRun2::ePprChanCalibStrategy));
+  }
+
+  return result;
 }
 
 std::string L1CaloPprConditionsContainerRun2::coolOutputKey() const {
@@ -106,131 +177,341 @@ DataObject* L1CaloPprConditionsContainerRun2::makePersistent() const {
   return 0;
 }
 
-void L1CaloPprConditionsContainerRun2::makeTransient(const std::map<std::string, CondAttrListCollection*> condAttrListCollectionMap) {
-
+void L1CaloPprConditionsContainerRun2::makeTransient(const std::map<
+    std::string, CondAttrListCollection*> condAttrListCollectionMap) {
   this->clear();
-
-  std::string chanCalibFolderKey(this->coolFolderKey(L1CaloPprConditionsContainerRun2::ePprChanCalib));
-  auto it_pprChanCalibAttrListCollection = condAttrListCollectionMap.find(chanCalibFolderKey);
-  if(it_pprChanCalibAttrListCollection == condAttrListCollectionMap.end()) {
-    std::cout << "L1CaloPprConditionsContainerRun2 : Could not find requested CondAttrListCollection " << chanCalibFolderKey << std::endl;
-    return;
+  // --------------------------------------------------------------------------
+  // Folder names
+  std::string chanCalibFolderKey =
+      this->coolFolderKey(L1CaloPprConditionsContainerRun2::ePprChanCalib);
+  std::string chanCalibCommonFolderKey = this->coolFolderKey(
+      L1CaloPprConditionsContainerRun2::ePprChanCalibCommon);
+  std::string chanCalibStrategyFolderKey = this->coolFolderKey(
+      L1CaloPprConditionsContainerRun2::ePprChanCalibStrategy);
+
+  decltype(condAttrListCollectionMap)::const_iterator
+      it_pprChanCalibAttrListCollection = condAttrListCollectionMap.end();
+  
+  decltype(condAttrListCollectionMap)::const_iterator
+      it_pprChanCalibStrategyAttrListCollection =
+          condAttrListCollectionMap.end();
+  // --------------------------------------------------------------------------
+  bool isUseStrategy = false;
+  // Check that folders exist
+  if (!chanCalibFolderKey.empty()) {
+    it_pprChanCalibAttrListCollection =
+        condAttrListCollectionMap.find(chanCalibFolderKey);
+  } else {
+    isUseStrategy = true;
+    it_pprChanCalibAttrListCollection =
+        condAttrListCollectionMap.find(chanCalibCommonFolderKey);
+    
+    it_pprChanCalibStrategyAttrListCollection =
+        condAttrListCollectionMap.find(chanCalibStrategyFolderKey);
   }
+  // --------------------------------------------------------------------------
+  if (isUseStrategy) {
+    // Check that strategy folder exists
+    if (it_pprChanCalibStrategyAttrListCollection ==
+        condAttrListCollectionMap.end()) {
+      std::cout << "L1CaloPprConditionsContainerRun2 : Could not find "
+                   "requested CondAttrListCollection "
+                << chanCalibStrategyFolderKey << std::endl;
+      return;
+    }
 
-  CondAttrListCollection* chanCalibAttrListCollection = it_pprChanCalibAttrListCollection->second;
-
-  std::string chanDefaultsFolderKey(this->coolFolderKey(L1CaloPprConditionsContainerRun2::ePprChanDefaults));
-  auto it_pprChanDefaultsAttrListCollection = condAttrListCollectionMap.find(chanDefaultsFolderKey);
-  if(it_pprChanDefaultsAttrListCollection == condAttrListCollectionMap.end()) {
-    std::cout << "L1CaloPprConditionsContainerRun2 : Could not find requested CondAttrListCollection " << chanDefaultsFolderKey << std::endl;
+    // Check that common folder exists
+    if (it_pprChanCalibAttrListCollection == condAttrListCollectionMap.end()) {
+      std::cout << "L1CaloPprConditionsContainerRun2 : Could not find "
+                   "requested CondAttrListCollection "
+                << chanCalibCommonFolderKey << std::endl;
+      return;
+    }
+  } else {
+    if (it_pprChanCalibAttrListCollection == condAttrListCollectionMap.end()) {
+      std::cout << "L1CaloPprConditionsContainerRun2 : Could not find "
+                   "requested CondAttrListCollection "
+                << chanCalibCommonFolderKey << std::endl;
+      return;
+    }
+  }
+  // --------------------------------------------------------------------------
+  CondAttrListCollection* chanCalibAttrListCollection =
+      it_pprChanCalibAttrListCollection->second;
+
+  std::string chanDefaultsFolderKey(
+      this->coolFolderKey(L1CaloPprConditionsContainerRun2::ePprChanDefaults));
+  auto it_pprChanDefaultsAttrListCollection =
+      condAttrListCollectionMap.find(chanDefaultsFolderKey);
+  if (it_pprChanDefaultsAttrListCollection == condAttrListCollectionMap.end()) {
+    std::cout << "L1CaloPprConditionsContainerRun2 : Could not find requested "
+                 "CondAttrListCollection " << chanDefaultsFolderKey
+              << std::endl;
     return;
   }
+  // --------------------------------------------------------------------------
+  CondAttrListCollection* chanDefaultsAttrListCollection =
+      it_pprChanDefaultsAttrListCollection->second;
 
-  CondAttrListCollection* chanDefaultsAttrListCollection = it_pprChanDefaultsAttrListCollection->second;
-        
   // There should be only one channel (channel#1) in the Default folder
-  // we just retrieve that one, waiting for a better method to retrieve that information.
+  // we just retrieve that one, waiting for a better method to retrieve that
+  // information.
   const int defaultChannel = 1;
-  const AthenaAttributeList& chanDefaultAttrList(chanDefaultsAttrListCollection->attributeList(defaultChannel));
-
-  m_bcidDecision1 = chanDefaultAttrList[ this->specificationName(eBcidDecision1) ].data<int>();
-  m_satOverride1 = chanDefaultAttrList[ this->specificationName(eSatOverride1) ].data<int>();
-  m_bcidDecision2 = chanDefaultAttrList[ this->specificationName(eBcidDecision2) ].data<int>();
-  m_satOverride2 = chanDefaultAttrList[ this->specificationName(eSatOverride2) ].data<int>();
-  m_bcidDecision3 = chanDefaultAttrList[ this->specificationName(eBcidDecision3) ].data<int>();
-  m_satOverride3 = chanDefaultAttrList[ this->specificationName(eSatOverride3) ].data<int>();
-  m_peakFinderCond = chanDefaultAttrList[ this->specificationName(ePeakFinderCond) ].data<int>();
-  m_decisionSource = chanDefaultAttrList[ this->specificationName(eDecisionSource) ].data<int>();
-
-  //loop over CondAttrListCollection
+  const AthenaAttributeList& chanDefaultAttrList(
+      chanDefaultsAttrListCollection->attributeList(defaultChannel));
+
+  m_bcidDecision1 =
+      chanDefaultAttrList[this->specificationName(eBcidDecision1)].data<int>();
+  m_satOverride1 =
+      chanDefaultAttrList[this->specificationName(eSatOverride1)].data<int>();
+  m_bcidDecision2 =
+      chanDefaultAttrList[this->specificationName(eBcidDecision2)].data<int>();
+  m_satOverride2 =
+      chanDefaultAttrList[this->specificationName(eSatOverride2)].data<int>();
+  m_bcidDecision3 =
+      chanDefaultAttrList[this->specificationName(eBcidDecision3)].data<int>();
+  m_satOverride3 =
+      chanDefaultAttrList[this->specificationName(eSatOverride3)].data<int>();
+  m_peakFinderCond =
+      chanDefaultAttrList[this->specificationName(ePeakFinderCond)].data<int>();
+  m_decisionSource =
+      chanDefaultAttrList[this->specificationName(eDecisionSource)].data<int>();
+  // ------------------------------------------------------------------------
+  // loop over CondAttrListCollection
   auto it_AttrListColl = chanCalibAttrListCollection->begin();
   auto it_AttrListCollE = chanCalibAttrListCollection->end();
-  for(;it_AttrListColl != it_AttrListCollE; ++it_AttrListColl) {
-    CondAttrListCollection::ChanNum chanNum(it_AttrListColl->first);
-    const AthenaAttributeList& chanCalibAttrList(it_AttrListColl->second);
-
-    unsigned short extBcidThreshold = chanCalibAttrList[ this->specificationName(eExtBcidThreshold) ].data<unsigned short>();
-    unsigned short satBcidThreshLow = chanCalibAttrList[ this->specificationName(eSatBcidThreshLow) ].data<unsigned short>();
-    unsigned short satBcidThreshHigh = chanCalibAttrList[ this->specificationName(eSatBcidThreshHigh) ].data<unsigned short>();
-    unsigned short satBcidLevel = chanCalibAttrList[ this->specificationName(eSatBcidLevel) ].data<unsigned short>();
-
-    unsigned short bcidEnergyRangeLow = chanCalibAttrList[ this->specificationName(eBcidEnergyRangeLow) ].data<unsigned short>();
-    unsigned short bcidEnergyRangeHigh = chanCalibAttrList[ this->specificationName(eBcidEnergyRangeHigh) ].data<unsigned short>();
-
-    unsigned short firStartBit = chanCalibAttrList[ this->specificationName(eFirStartBit) ].data<unsigned short>();
-
-    short int firCoeff1 = chanCalibAttrList[ this->specificationName(eFirCoeff1) ].data<short>();
-    short int firCoeff2 = chanCalibAttrList[ this->specificationName(eFirCoeff2) ].data<short>();
-    short int firCoeff3 = chanCalibAttrList[ this->specificationName(eFirCoeff3) ].data<short>();
-    short int firCoeff4 = chanCalibAttrList[ this->specificationName(eFirCoeff4) ].data<short>();
-    short int firCoeff5 = chanCalibAttrList[ this->specificationName(eFirCoeff5) ].data<short>();
-
-    unsigned short lutCpStrategy = chanCalibAttrList[ this->specificationName(eLutCpStrategy) ].data<unsigned short>();
-    unsigned short lutCpOffset = chanCalibAttrList[ this->specificationName(eLutCpOffset) ].data<unsigned short>();
-    unsigned short lutCpSlope = chanCalibAttrList[ this->specificationName(eLutCpSlope) ].data<unsigned short>(); 
-    unsigned short lutCpNoiseCut = chanCalibAttrList[ this->specificationName(eLutCpNoiseCut) ].data<unsigned short>();
-    unsigned short lutCpScale = chanCalibAttrList[ this->specificationName(eLutCpScale) ].data<unsigned short>();
-    short lutCpPar1 = chanCalibAttrList[ this->specificationName(eLutCpPar1) ].data<short>();
-    short lutCpPar2 = chanCalibAttrList[ this->specificationName(eLutCpPar2) ].data<short>();
-    short lutCpPar3 = chanCalibAttrList[ this->specificationName(eLutCpPar3) ].data<short>();
-    short lutCpPar4 = chanCalibAttrList[ this->specificationName(eLutCpPar4) ].data<short>();
-
-    unsigned short lutJepStrategy = chanCalibAttrList[ this->specificationName(eLutJepStrategy) ].data<unsigned short>();
-    unsigned short lutJepOffset = chanCalibAttrList[ this->specificationName(eLutJepOffset) ].data<unsigned short>();
-    unsigned short lutJepSlope = chanCalibAttrList[ this->specificationName(eLutJepSlope) ].data<unsigned short>(); 
-    unsigned short lutJepNoiseCut = chanCalibAttrList[ this->specificationName(eLutJepNoiseCut) ].data<unsigned short>();
-    unsigned short lutJepScale = chanCalibAttrList[ this->specificationName(eLutJepScale) ].data<unsigned short>();
-    short lutJepPar1 = chanCalibAttrList[ this->specificationName(eLutJepPar1) ].data<short>();
-    short lutJepPar2 = chanCalibAttrList[ this->specificationName(eLutJepPar2) ].data<short>();
-    short lutJepPar3 = chanCalibAttrList[ this->specificationName(eLutJepPar3) ].data<short>();
-    short lutJepPar4 = chanCalibAttrList[ this->specificationName(eLutJepPar4) ].data<short>();
-
-    unsigned int pedValue = chanCalibAttrList[ this->specificationName(ePedValue) ].data<unsigned int>();
-    float pedMean = (float) chanCalibAttrList[ this->specificationName(ePedMean) ].data<double>();
-    unsigned int pedFirSum = chanCalibAttrList[ this->specificationName(ePedFirSum) ].data<unsigned int>();
-
-    L1CaloCoolChannelId coolId(chanNum);
-    unsigned int index = (coolId.crate()<<10)+(coolId.module()<<6)+(coolId.subModule()<<2)+coolId.channel();
-    if (index < s_vectorSize) {
-      m_pprConditionsVec[index] = new L1CaloPprConditionsRun2(extBcidThreshold, satBcidThreshLow, satBcidThreshHigh,
-                                                              satBcidLevel, bcidEnergyRangeLow, bcidEnergyRangeHigh,
-                                                              firStartBit, firCoeff1, firCoeff2, firCoeff3, firCoeff4, firCoeff5,
-                                                              lutCpStrategy, lutCpOffset, lutCpSlope, lutCpNoiseCut, lutCpPar1, lutCpPar2, lutCpPar3, lutCpPar4, lutCpScale,
-                                                              lutJepStrategy, lutJepOffset, lutJepSlope, lutJepNoiseCut, lutJepPar1, lutJepPar2, lutJepPar3, lutJepPar4, lutJepScale,
-                                                              pedValue, pedMean, pedFirSum);
+  // --------------------------------------------------------------------------
+  for (; it_AttrListColl != it_AttrListCollE; ++it_AttrListColl) {
+    // ------------------------------------------------------------------------
+    L1CaloCoolChannelId coolId(it_AttrListColl->first);
+    unsigned int index = (coolId.crate() << 10) + (coolId.module() << 6) +
+                         (coolId.subModule() << 2) + coolId.channel();
+    // ------------------------------------------------------------------------                     
+    if (index >= s_vectorSize) {
+      continue;
     }
+    // ------------------------------------------------------------------------
+    const AthenaAttributeList& chanCalibAttrList(it_AttrListColl->second);
+    // ------------------------------------------------------------------------
+    unsigned short extBcidThreshold =
+        chanCalibAttrList[this->specificationName(eExtBcidThreshold)]
+            .data<unsigned short>();
+    unsigned short satBcidThreshLow =
+        chanCalibAttrList[this->specificationName(eSatBcidThreshLow)]
+            .data<unsigned short>();
+    unsigned short satBcidThreshHigh =
+        chanCalibAttrList[this->specificationName(eSatBcidThreshHigh)]
+            .data<unsigned short>();
+    unsigned short satBcidLevel =
+        chanCalibAttrList[this->specificationName(eSatBcidLevel)]
+            .data<unsigned short>();
+
+    unsigned short bcidEnergyRangeLow =
+        chanCalibAttrList[this->specificationName(eBcidEnergyRangeLow)]
+            .data<unsigned short>();
+    unsigned short bcidEnergyRangeHigh =
+        chanCalibAttrList[this->specificationName(eBcidEnergyRangeHigh)]
+            .data<unsigned short>();
+    unsigned short lutCpStrategy =
+        chanCalibAttrList[this->specificationName(eLutCpStrategy)]
+            .data<unsigned short>();
+
+    short lutCpPar1 =
+        chanCalibAttrList[this->specificationName(eLutCpPar1)].data<short>();
+    short lutCpPar2 =
+        chanCalibAttrList[this->specificationName(eLutCpPar2)].data<short>();
+    short lutCpPar3 =
+        chanCalibAttrList[this->specificationName(eLutCpPar3)].data<short>();
+    short lutCpPar4 =
+        chanCalibAttrList[this->specificationName(eLutCpPar4)].data<short>();
+    unsigned short lutJepStrategy =
+        chanCalibAttrList[this->specificationName(eLutJepStrategy)]
+            .data<unsigned short>();
+
+    unsigned short lutCpScale =
+        chanCalibAttrList[this->specificationName(eLutCpScale)]
+            .data<unsigned short>();
+    unsigned short lutJepScale =
+        chanCalibAttrList[this->specificationName(eLutJepScale)]
+            .data<unsigned short>();
+    short lutJepPar1 =
+        chanCalibAttrList[this->specificationName(eLutJepPar1)].data<short>();
+    short lutJepPar2 =
+        chanCalibAttrList[this->specificationName(eLutJepPar2)].data<short>();
+    short lutJepPar3 =
+        chanCalibAttrList[this->specificationName(eLutJepPar3)].data<short>();
+    short lutJepPar4 =
+        chanCalibAttrList[this->specificationName(eLutJepPar4)].data<short>();
+    unsigned int pedValue =
+        chanCalibAttrList[this->specificationName(ePedValue)]
+            .data<unsigned int>();
+    float pedMean =
+        (float)
+        chanCalibAttrList[this->specificationName(ePedMean)].data<double>();
+
+    unsigned short lutJepOffset =
+        isUseStrategy
+            ? 0
+            : chanCalibAttrList[this->specificationName(eLutJepOffset)]
+                  .data<unsigned short>();
+    unsigned short lutCpOffset =
+        isUseStrategy ? 0
+                      : chanCalibAttrList[this->specificationName(eLutCpOffset)]
+                            .data<unsigned short>();
+    unsigned int pedFirSum =
+        isUseStrategy ? 0
+                      : chanCalibAttrList[this->specificationName(ePedFirSum)]
+                            .data<unsigned int>();
+
+    unsigned short firStartBit =
+        isUseStrategy ? 0
+                      : chanCalibAttrList[this->specificationName(eFirStartBit)]
+                            .data<unsigned short>();
+    short int firCoeff1 =
+        isUseStrategy ? 0
+                      : chanCalibAttrList[this->specificationName(eFirCoeff1)]
+                            .data<short>();
+    short int firCoeff2 =
+        isUseStrategy ? 0
+                      : chanCalibAttrList[this->specificationName(eFirCoeff2)]
+                            .data<short>();
+    short int firCoeff3 =
+        isUseStrategy ? 0
+                      : chanCalibAttrList[this->specificationName(eFirCoeff3)]
+                            .data<short>();
+    short int firCoeff4 =
+        isUseStrategy ? 0
+                      : chanCalibAttrList[this->specificationName(eFirCoeff4)]
+                            .data<short>();
+    short int firCoeff5 =
+        isUseStrategy ? 0
+                      : chanCalibAttrList[this->specificationName(eFirCoeff5)]
+                            .data<short>();
+
+    unsigned short lutCpSlope =
+        isUseStrategy ? 0
+                      : chanCalibAttrList[this->specificationName(eLutCpSlope)]
+                            .data<unsigned short>();
+    unsigned short lutCpNoiseCut =
+        isUseStrategy
+            ? 0
+            : chanCalibAttrList[this->specificationName(eLutCpNoiseCut)]
+                  .data<unsigned short>();
+    unsigned short lutJepSlope =
+        isUseStrategy ? 0
+                      : chanCalibAttrList[this->specificationName(eLutJepSlope)]
+                            .data<unsigned short>();
+    unsigned short lutJepNoiseCut =
+        isUseStrategy
+            ? 0
+            : chanCalibAttrList[this->specificationName(eLutJepNoiseCut)]
+                  .data<unsigned short>();
+    // ------------------------------------------------------------------------
+    m_pprConditionsVec[index] = new L1CaloPprConditionsRun2(
+        extBcidThreshold, satBcidThreshLow, satBcidThreshHigh, satBcidLevel,
+        bcidEnergyRangeLow, bcidEnergyRangeHigh, firStartBit, firCoeff1,
+        firCoeff2, firCoeff3, firCoeff4, firCoeff5, lutCpStrategy, lutCpOffset,
+        lutCpSlope, lutCpNoiseCut, lutCpPar1, lutCpPar2, lutCpPar3, lutCpPar4,
+        lutCpScale, lutJepStrategy, lutJepOffset, lutJepSlope, lutJepNoiseCut,
+        lutJepPar1, lutJepPar2, lutJepPar3, lutJepPar4, lutJepScale, pedValue,
+        pedMean, pedFirSum);
   }
+  // --------------------------------------------------------------------------
+  if (isUseStrategy){
+    // ------------------------------------------------------------------------
+    CondAttrListCollection* chanCalibAttrListCollection =
+      it_pprChanCalibStrategyAttrListCollection->second; 
+    auto it_AttrListColl = chanCalibAttrListCollection->begin();
+    auto it_AttrListCollE = chanCalibAttrListCollection->end();
+    // ------------------------------------------------------------------------
+    for (; it_AttrListColl != it_AttrListCollE; ++it_AttrListColl) {
+      L1CaloCoolChannelId coolId(it_AttrListColl->first);
+      unsigned int index = (coolId.crate() << 10) + (coolId.module() << 6) +
+                           (coolId.subModule() << 2) + coolId.channel();
+
+      if (index >= s_vectorSize) {
+        continue;
+      }
+
+      const AthenaAttributeList& chanCalibAttrList(it_AttrListColl->second);
+
+      if (m_pprConditionsVec[index] == nullptr){
+          std::cout << "L1CaloPprConditionsContainerRun2 : Could not find channel "
+                 << " with index " << index << std::endl;
+          return;
+      }
+
+      unsigned short firStartBit =
+          chanCalibAttrList[this->specificationName(eFirStartBit)]
+              .data<unsigned short>();
+      short int firCoeff1 =
+          chanCalibAttrList[this->specificationName(eFirCoeff1)].data<short>();
+      short int firCoeff2 =
+          chanCalibAttrList[this->specificationName(eFirCoeff2)].data<short>();
+      short int firCoeff3 =
+          chanCalibAttrList[this->specificationName(eFirCoeff3)].data<short>();
+      short int firCoeff4 =
+          chanCalibAttrList[this->specificationName(eFirCoeff4)].data<short>();
+      short int firCoeff5 =
+          chanCalibAttrList[this->specificationName(eFirCoeff5)].data<short>();
+
+      unsigned short lutCpSlope =
+          chanCalibAttrList[this->specificationName(eLutCpSlope)]
+              .data<unsigned short>();
+      unsigned short lutCpNoiseCut =
+          chanCalibAttrList[this->specificationName(eLutCpNoiseCut)]
+              .data<unsigned short>();
+      unsigned short lutJepSlope =
+          chanCalibAttrList[this->specificationName(eLutJepSlope)]
+              .data<unsigned short>();
+      unsigned short lutJepNoiseCut =
+          chanCalibAttrList[this->specificationName(eLutJepNoiseCut)]
+              .data<unsigned short>();
+      m_pprConditionsVec[index]->initializeByStrategy(
+          firStartBit, firCoeff1, firCoeff2, firCoeff3, firCoeff4, firCoeff5,
+          lutCpSlope, lutCpNoiseCut, lutJepSlope, lutJepNoiseCut);
+
+    } // end for
+    // ------------------------------------------------------------------------
+  } // end isUseStrategy
+  // --------------------------------------------------------------------------
+ 
 }
 
-const L1CaloPprConditionsRun2* L1CaloPprConditionsContainerRun2::pprConditions(unsigned int channelId) const {
+const L1CaloPprConditionsRun2* L1CaloPprConditionsContainerRun2::pprConditions(
+    unsigned int channelId) const {
   L1CaloCoolChannelId coolId(channelId);
   return pprConditions(coolId);
 }
 
-const L1CaloPprConditionsRun2* L1CaloPprConditionsContainerRun2::pprConditions(const L1CaloCoolChannelId& channelId) const {
-  unsigned int index = (channelId.crate()<<10)+(channelId.module()<<6)+(channelId.subModule()<<2)+channelId.channel();
-  if (index < s_vectorSize) return m_pprConditionsVec[index];
-  else return 0;
+const L1CaloPprConditionsRun2* L1CaloPprConditionsContainerRun2::pprConditions(
+    const L1CaloCoolChannelId& channelId) const {
+  unsigned int index = (channelId.crate() << 10) + (channelId.module() << 6) +
+                       (channelId.subModule() << 2) + channelId.channel();
+  if (index < s_vectorSize)
+    return m_pprConditionsVec[index];
+  else
+    return 0;
 }
 
 void L1CaloPprConditionsContainerRun2::dump() const {
-  std::cout << "bcidDecision1: "  << m_bcidDecision1  << ", "
-            << "satOverride1: "   << m_satOverride1   << ", "
-            << "bcidDecision2: "  << m_bcidDecision2  << ", "
-            << "satOverride2: "   << m_satOverride2   << ", "
-            << "bcidDecision3: "  << m_bcidDecision3  << ", "
-            << "satOverride3: "   << m_satOverride3   << ", "
+  std::cout << "bcidDecision1: " << m_bcidDecision1 << ", "
+            << "satOverride1: " << m_satOverride1 << ", "
+            << "bcidDecision2: " << m_bcidDecision2 << ", "
+            << "satOverride2: " << m_satOverride2 << ", "
+            << "bcidDecision3: " << m_bcidDecision3 << ", "
+            << "satOverride3: " << m_satOverride3 << ", "
             << "peakFinderCond: " << m_peakFinderCond << ", "
             << "decisionSource: " << m_decisionSource << std::endl;
   std::size_t index(0);
-  for(auto * C : m_pprConditionsVec) {
-    if(C) std::cout << "index " << index++ << " * item: " << *C << std::endl;
+  for (auto* C : m_pprConditionsVec) {
+    if (C) std::cout << "index " << index++ << " * item: " << *C << std::endl;
   }
 }
 
 void L1CaloPprConditionsContainerRun2::clear() {
-  for(L1CaloPprConditionsRun2* p : m_pprConditionsVec) {
-    if(p) delete p;
+  for (L1CaloPprConditionsRun2* p : m_pprConditionsVec) {
+    if (p) delete p;
   }
   m_pprConditionsVec.assign(s_vectorSize, nullptr);
 }
diff --git a/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloPprConditionsRun2.cxx b/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloPprConditionsRun2.cxx
index ca6925977459..5b54a05078bb 100644
--- a/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloPprConditionsRun2.cxx
+++ b/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloPprConditionsRun2.cxx
@@ -5,6 +5,7 @@
 #include "TrigT1CaloCalibConditions/L1CaloPprConditionsRun2.h"
 
 #include <iostream>
+#include <cmath>
 
 L1CaloPprConditionsRun2::L1CaloPprConditionsRun2(unsigned short extBcidThreshold,
                                                  unsigned short satBcidThreshLow,
@@ -71,6 +72,48 @@ L1CaloPprConditionsRun2::L1CaloPprConditionsRun2(unsigned short extBcidThreshold
 {
 }
 
+namespace {
+unsigned short getLutOffset(double pedMean, unsigned short firStartBit,
+                            std::vector<short int> firCoeff,
+                            unsigned short lutSlope,
+                            unsigned short lutStrategy) {
+  unsigned short lutOffset = 0;
+  int firCoeffSum = 0;
+  for (unsigned int i = 0; i < firCoeff.size(); i++) {
+    firCoeffSum += firCoeff.at(i);
+  }
+  float lutOffsetReal = 0;
+  if (lutStrategy == 0) {
+    lutOffsetReal = (pedMean * static_cast<float>(firCoeffSum) /
+                     std::pow(2., static_cast<float>(firStartBit)));
+  } else {
+    lutOffsetReal = (pedMean * static_cast<float>(firCoeffSum) *
+                         static_cast<float>(lutSlope) /
+                         std::pow(2., static_cast<float>(firStartBit)) -
+                     static_cast<float>(lutSlope) / 2.0);
+  }
+  lutOffset =
+      static_cast<unsigned short>(lutOffsetReal < 0. ? 0 : lutOffsetReal + 0.5);
+  return lutOffset;
+}
+}
+
+void L1CaloPprConditionsRun2::initializeByStrategy(unsigned short firStartBit, short int firCoeff1,
+    short int firCoeff2, short int firCoeff3, short int firCoeff4,
+    short int firCoeff5, unsigned short lutCpSlope, unsigned short lutCpNoiseCut,
+    unsigned short lutJepSlope, unsigned short lutJepNoiseCut)
+{
+  m_firStartBit = firStartBit;
+  m_vFirCoefficients = {firCoeff1, firCoeff2, firCoeff3, firCoeff4, firCoeff5},
+  m_lutCpSlope = lutCpSlope;
+  m_lutCpNoiseCut = lutCpNoiseCut;
+  m_lutJepSlope = lutJepSlope;
+  m_lutJepNoiseCut = lutJepNoiseCut;
+
+  m_lutCpOffset = getLutOffset(m_pedMean, m_firStartBit, m_vFirCoefficients,m_lutCpSlope, m_lutCpStrategy);
+  m_lutJepOffset = getLutOffset(m_pedMean, m_firStartBit, m_vFirCoefficients,m_lutJepSlope, m_lutJepStrategy);
+}
+
 std::ostream& operator<<(std::ostream& output, const  L1CaloPprConditionsRun2& r) {
   output << "extBcidThreshold: "    << r.m_extBcidThreshold       << ", "
          << "satBcidThreshLow: "    << r.m_satBcidThreshLow       << ", "
diff --git a/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloReadoutConfig.cxx b/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloReadoutConfig.cxx
new file mode 100644
index 000000000000..a6d436118788
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloReadoutConfig.cxx
@@ -0,0 +1,58 @@
+/*
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+*/
+#include "TrigT1CaloCalibConditions/L1CaloReadoutConfig.h"
+
+L1CaloReadoutConfig::L1CaloReadoutConfig(unsigned int channelId, const std::string& description, unsigned int baselinePointer, unsigned int numFadcSlices, unsigned int l1aFadcSlice, unsigned int numLutSlices, unsigned int l1aLutSlice, unsigned int numProcSlices, unsigned int l1aProcSlice, unsigned int numTopoSlices, unsigned int l1aTopoSlice, unsigned int latencyPpmFadc, unsigned int latencyPpmLut, unsigned int latencyCpmInput, unsigned int latencyCpmHits, unsigned int latencyCpmRoi, unsigned int latencyJemInput, unsigned int latencyJemRoi, unsigned int latencyCpCmxBackplane, unsigned int latencyCpCmxLocal, unsigned int latencyCpCmxCable, unsigned int latencyCpCmxSystem, unsigned int latencyCpCmxInfo, unsigned int latencyJetCmxBackplane, unsigned int latencyJetCmxLocal, unsigned int latencyJetCmxCable, unsigned int latencyJetCmxSystem, unsigned int latencyJetCmxInfo, unsigned int latencyJetCmxRoi, unsigned int latencyEnergyCmxBackplane, unsigned int latencyEnergyCmxLocal, unsigned int latencyEnergyCmxCable, unsigned int latencyEnergyCmxSystem, unsigned int latencyEnergyCmxInfo, unsigned int latencyEnergyCmxRoi, unsigned int latencyTopo, unsigned int internalLatencyJemJet, unsigned int internalLatencyJemSum, unsigned int bcOffsetJemJet, unsigned int bcOffsetJemSum, int bcOffsetCmx, int bcOffsetTopo, const std::string& formatTypePpm, const std::string& formatTypeCpJep, const std::string& formatTypeTopo, unsigned int compressionThresholdPpm, unsigned int compressionThresholdCpJep, unsigned int compressionThresholdTopo, unsigned int compressionBaselinePpm, unsigned int readout80ModePpm)
+ : m_channelId(channelId)
+ , m_description(description)
+ , m_baselinePointer(baselinePointer)
+ , m_numFadcSlices(numFadcSlices)
+ , m_l1aFadcSlice(l1aFadcSlice)
+ , m_numLutSlices(numLutSlices)
+ , m_l1aLutSlice(l1aLutSlice)
+ , m_numProcSlices(numProcSlices)
+ , m_l1aProcSlice(l1aProcSlice)
+ , m_numTopoSlices(numTopoSlices)
+ , m_l1aTopoSlice(l1aTopoSlice)
+ , m_latencyPpmFadc(latencyPpmFadc)
+ , m_latencyPpmLut(latencyPpmLut)
+ , m_latencyCpmInput(latencyCpmInput)
+ , m_latencyCpmHits(latencyCpmHits)
+ , m_latencyCpmRoi(latencyCpmRoi)
+ , m_latencyJemInput(latencyJemInput)
+ , m_latencyJemRoi(latencyJemRoi)
+ , m_latencyCpCmxBackplane(latencyCpCmxBackplane)
+ , m_latencyCpCmxLocal(latencyCpCmxLocal)
+ , m_latencyCpCmxCable(latencyCpCmxCable)
+ , m_latencyCpCmxSystem(latencyCpCmxSystem)
+ , m_latencyCpCmxInfo(latencyCpCmxInfo)
+ , m_latencyJetCmxBackplane(latencyJetCmxBackplane)
+ , m_latencyJetCmxLocal(latencyJetCmxLocal)
+ , m_latencyJetCmxCable(latencyJetCmxCable)
+ , m_latencyJetCmxSystem(latencyJetCmxSystem)
+ , m_latencyJetCmxInfo(latencyJetCmxInfo)
+ , m_latencyJetCmxRoi(latencyJetCmxRoi)
+ , m_latencyEnergyCmxBackplane(latencyEnergyCmxBackplane)
+ , m_latencyEnergyCmxLocal(latencyEnergyCmxLocal)
+ , m_latencyEnergyCmxCable(latencyEnergyCmxCable)
+ , m_latencyEnergyCmxSystem(latencyEnergyCmxSystem)
+ , m_latencyEnergyCmxInfo(latencyEnergyCmxInfo)
+ , m_latencyEnergyCmxRoi(latencyEnergyCmxRoi)
+ , m_latencyTopo(latencyTopo)
+ , m_internalLatencyJemJet(internalLatencyJemJet)
+ , m_internalLatencyJemSum(internalLatencyJemSum)
+ , m_bcOffsetJemJet(bcOffsetJemJet)
+ , m_bcOffsetJemSum(bcOffsetJemSum)
+ , m_bcOffsetCmx(bcOffsetCmx)
+ , m_bcOffsetTopo(bcOffsetTopo)
+ , m_formatTypePpm(formatTypePpm)
+ , m_formatTypeCpJep(formatTypeCpJep)
+ , m_formatTypeTopo(formatTypeTopo)
+ , m_compressionThresholdPpm(compressionThresholdPpm)
+ , m_compressionThresholdCpJep(compressionThresholdCpJep)
+ , m_compressionThresholdTopo(compressionThresholdTopo)
+ , m_compressionBaselinePpm(compressionBaselinePpm)
+ , m_readout80ModePpm(readout80ModePpm)
+{
+}
diff --git a/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloReadoutConfigContainer.cxx b/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloReadoutConfigContainer.cxx
new file mode 100644
index 000000000000..1b1577dda44a
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloReadoutConfigContainer.cxx
@@ -0,0 +1,232 @@
+/*
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+*/
+#include "TrigT1CaloCalibConditions/L1CaloReadoutConfigContainer.h"
+
+#include <algorithm>
+#include <memory>
+
+#include "CxxUtils/make_unique.h"
+#include "CoralBase/AttributeListSpecification.h"
+#include "AthenaPoolUtilities/CondAttrListCollection.h"
+#include "AthenaPoolUtilities/AthenaAttributeList.h"
+
+#include "TrigT1CaloCalibConditions/L1CaloReadoutConfig.h"
+
+L1CaloReadoutConfigContainer::L1CaloReadoutConfigContainer()
+  : AbstractL1CaloPersistentCondition("CondAttrListCollection") 
+{
+  this->addSpecification(edescription, "description", "string");
+  this->addSpecification(ebaselinePointer, "baselinePointer", "unsigned int");
+  this->addSpecification(enumFadcSlices, "numFadcSlices", "unsigned int");
+  this->addSpecification(el1aFadcSlice, "l1aFadcSlice", "unsigned int");
+  this->addSpecification(enumLutSlices, "numLutSlices", "unsigned int");
+  this->addSpecification(el1aLutSlice, "l1aLutSlice", "unsigned int");
+  this->addSpecification(enumProcSlices, "numProcSlices", "unsigned int");
+  this->addSpecification(el1aProcSlice, "l1aProcSlice", "unsigned int");
+  this->addSpecification(enumTopoSlices, "numTopoSlices", "unsigned int");
+  this->addSpecification(el1aTopoSlice, "l1aTopoSlice", "unsigned int");
+  this->addSpecification(elatencyPpmFadc, "latencyPpmFadc", "unsigned int");
+  this->addSpecification(elatencyPpmLut, "latencyPpmLut", "unsigned int");
+  this->addSpecification(elatencyCpmInput, "latencyCpmInput", "unsigned int");
+  this->addSpecification(elatencyCpmHits, "latencyCpmHits", "unsigned int");
+  this->addSpecification(elatencyCpmRoi, "latencyCpmRoi", "unsigned int");
+  this->addSpecification(elatencyJemInput, "latencyJemInput", "unsigned int");
+  this->addSpecification(elatencyJemRoi, "latencyJemRoi", "unsigned int");
+  this->addSpecification(elatencyCpCmxBackplane, "latencyCpCmxBackplane", "unsigned int");
+  this->addSpecification(elatencyCpCmxLocal, "latencyCpCmxLocal", "unsigned int");
+  this->addSpecification(elatencyCpCmxCable, "latencyCpCmxCable", "unsigned int");
+  this->addSpecification(elatencyCpCmxSystem, "latencyCpCmxSystem", "unsigned int");
+  this->addSpecification(elatencyCpCmxInfo, "latencyCpCmxInfo", "unsigned int");
+  this->addSpecification(elatencyJetCmxBackplane, "latencyJetCmxBackplane", "unsigned int");
+  this->addSpecification(elatencyJetCmxLocal, "latencyJetCmxLocal", "unsigned int");
+  this->addSpecification(elatencyJetCmxCable, "latencyJetCmxCable", "unsigned int");
+  this->addSpecification(elatencyJetCmxSystem, "latencyJetCmxSystem", "unsigned int");
+  this->addSpecification(elatencyJetCmxInfo, "latencyJetCmxInfo", "unsigned int");
+  this->addSpecification(elatencyJetCmxRoi, "latencyJetCmxRoi", "unsigned int");
+  this->addSpecification(elatencyEnergyCmxBackplane, "latencyEnergyCmxBackplane", "unsigned int");
+  this->addSpecification(elatencyEnergyCmxLocal, "latencyEnergyCmxLocal", "unsigned int");
+  this->addSpecification(elatencyEnergyCmxCable, "latencyEnergyCmxCable", "unsigned int");
+  this->addSpecification(elatencyEnergyCmxSystem, "latencyEnergyCmxSystem", "unsigned int");
+  this->addSpecification(elatencyEnergyCmxInfo, "latencyEnergyCmxInfo", "unsigned int");
+  this->addSpecification(elatencyEnergyCmxRoi, "latencyEnergyCmxRoi", "unsigned int");
+  this->addSpecification(elatencyTopo, "latencyTopo", "unsigned int");
+  this->addSpecification(einternalLatencyJemJet, "internalLatencyJemJet", "unsigned int");
+  this->addSpecification(einternalLatencyJemSum, "internalLatencyJemSum", "unsigned int");
+  this->addSpecification(ebcOffsetJemJet, "bcOffsetJemJet", "unsigned int");
+  this->addSpecification(ebcOffsetJemSum, "bcOffsetJemSum", "unsigned int");
+  this->addSpecification(ebcOffsetCmx, "bcOffsetCmx", "int");
+  this->addSpecification(ebcOffsetTopo, "bcOffsetTopo", "int");
+  this->addSpecification(eformatTypePpm, "formatTypePpm", "string");
+  this->addSpecification(eformatTypeCpJep, "formatTypeCpJep", "string");
+  this->addSpecification(eformatTypeTopo, "formatTypeTopo", "string");
+  this->addSpecification(ecompressionThresholdPpm, "compressionThresholdPpm", "unsigned int");
+  this->addSpecification(ecompressionThresholdCpJep, "compressionThresholdCpJep", "unsigned int");
+  this->addSpecification(ecompressionThresholdTopo, "compressionThresholdTopo", "unsigned int");
+  this->addSpecification(ecompressionBaselinePpm, "compressionBaselinePpm", "unsigned int");
+  this->addSpecification(ereadout80ModePpm, "readout80ModePpm", "unsigned int");
+}
+
+L1CaloReadoutConfigContainer::L1CaloReadoutConfigContainer(const std::string& folderKey)
+  : L1CaloReadoutConfigContainer() // delegating constructor
+{
+  m_coolFolderKey = folderKey;
+}
+
+
+DataObject* L1CaloReadoutConfigContainer::makePersistent() const
+{
+  using CxxUtils::make_unique;
+
+  if(m_coolFolderKey.empty()) return nullptr;
+
+  auto* attrSpecification = this->createAttributeListSpecification();
+  if(!attrSpecification || !attrSpecification->size()) return nullptr;
+
+  auto attrListCollection = make_unique<CondAttrListCollection>(true);
+  for(const auto& item : m_readoutConfigs) {
+    AthenaAttributeList attrList(*attrSpecification);
+    attrList[specificationName(edescription)].setValue(item.description());
+    attrList[specificationName(ebaselinePointer)].setValue(item.baselinePointer());
+    attrList[specificationName(enumFadcSlices)].setValue(item.numFadcSlices());
+    attrList[specificationName(el1aFadcSlice)].setValue(item.l1aFadcSlice());
+    attrList[specificationName(enumLutSlices)].setValue(item.numLutSlices());
+    attrList[specificationName(el1aLutSlice)].setValue(item.l1aLutSlice());
+    attrList[specificationName(enumProcSlices)].setValue(item.numProcSlices());
+    attrList[specificationName(el1aProcSlice)].setValue(item.l1aProcSlice());
+    attrList[specificationName(enumTopoSlices)].setValue(item.numTopoSlices());
+    attrList[specificationName(el1aTopoSlice)].setValue(item.l1aTopoSlice());
+    attrList[specificationName(elatencyPpmFadc)].setValue(item.latencyPpmFadc());
+    attrList[specificationName(elatencyPpmLut)].setValue(item.latencyPpmLut());
+    attrList[specificationName(elatencyCpmInput)].setValue(item.latencyCpmInput());
+    attrList[specificationName(elatencyCpmHits)].setValue(item.latencyCpmHits());
+    attrList[specificationName(elatencyCpmRoi)].setValue(item.latencyCpmRoi());
+    attrList[specificationName(elatencyJemInput)].setValue(item.latencyJemInput());
+    attrList[specificationName(elatencyJemRoi)].setValue(item.latencyJemRoi());
+    attrList[specificationName(elatencyCpCmxBackplane)].setValue(item.latencyCpCmxBackplane());
+    attrList[specificationName(elatencyCpCmxLocal)].setValue(item.latencyCpCmxLocal());
+    attrList[specificationName(elatencyCpCmxCable)].setValue(item.latencyCpCmxCable());
+    attrList[specificationName(elatencyCpCmxSystem)].setValue(item.latencyCpCmxSystem());
+    attrList[specificationName(elatencyCpCmxInfo)].setValue(item.latencyCpCmxInfo());
+    attrList[specificationName(elatencyJetCmxBackplane)].setValue(item.latencyJetCmxBackplane());
+    attrList[specificationName(elatencyJetCmxLocal)].setValue(item.latencyJetCmxLocal());
+    attrList[specificationName(elatencyJetCmxCable)].setValue(item.latencyJetCmxCable());
+    attrList[specificationName(elatencyJetCmxSystem)].setValue(item.latencyJetCmxSystem());
+    attrList[specificationName(elatencyJetCmxInfo)].setValue(item.latencyJetCmxInfo());
+    attrList[specificationName(elatencyJetCmxRoi)].setValue(item.latencyJetCmxRoi());
+    attrList[specificationName(elatencyEnergyCmxBackplane)].setValue(item.latencyEnergyCmxBackplane());
+    attrList[specificationName(elatencyEnergyCmxLocal)].setValue(item.latencyEnergyCmxLocal());
+    attrList[specificationName(elatencyEnergyCmxCable)].setValue(item.latencyEnergyCmxCable());
+    attrList[specificationName(elatencyEnergyCmxSystem)].setValue(item.latencyEnergyCmxSystem());
+    attrList[specificationName(elatencyEnergyCmxInfo)].setValue(item.latencyEnergyCmxInfo());
+    attrList[specificationName(elatencyEnergyCmxRoi)].setValue(item.latencyEnergyCmxRoi());
+    attrList[specificationName(elatencyTopo)].setValue(item.latencyTopo());
+    attrList[specificationName(einternalLatencyJemJet)].setValue(item.internalLatencyJemJet());
+    attrList[specificationName(einternalLatencyJemSum)].setValue(item.internalLatencyJemSum());
+    attrList[specificationName(ebcOffsetJemJet)].setValue(item.bcOffsetJemJet());
+    attrList[specificationName(ebcOffsetJemSum)].setValue(item.bcOffsetJemSum());
+    attrList[specificationName(ebcOffsetCmx)].setValue(item.bcOffsetCmx());
+    attrList[specificationName(ebcOffsetTopo)].setValue(item.bcOffsetTopo());
+    attrList[specificationName(eformatTypePpm)].setValue(item.formatTypePpm());
+    attrList[specificationName(eformatTypeCpJep)].setValue(item.formatTypeCpJep());
+    attrList[specificationName(eformatTypeTopo)].setValue(item.formatTypeTopo());
+    attrList[specificationName(ecompressionThresholdPpm)].setValue(item.compressionThresholdPpm());
+    attrList[specificationName(ecompressionThresholdCpJep)].setValue(item.compressionThresholdCpJep());
+    attrList[specificationName(ecompressionThresholdTopo)].setValue(item.compressionThresholdTopo());
+    attrList[specificationName(ecompressionBaselinePpm)].setValue(item.compressionBaselinePpm());
+    attrList[specificationName(ereadout80ModePpm)].setValue(item.readout80ModePpm());
+    
+    attrListCollection->add(item.channelId(), attrList);
+  }
+  return static_cast<DataObject*>(attrListCollection.release());
+}
+
+void L1CaloReadoutConfigContainer::makeTransient(const std::map<std::string, CondAttrListCollection*> condAttrListCollectionMap)
+{
+  clear();
+
+  auto it = condAttrListCollectionMap.find(m_coolFolderKey);
+  if(it == std::end(condAttrListCollectionMap)) return;
+
+  auto attrListCollection = it->second;
+  for(const auto& item : *attrListCollection) {
+    auto chanNum = item.first;
+    const auto& attrList = item.second;
+    
+    auto description = attrList[specificationName(edescription)].data<std::string>();
+    auto baselinePointer = attrList[specificationName(ebaselinePointer)].data<unsigned int>();
+    auto numFadcSlices = attrList[specificationName(enumFadcSlices)].data<unsigned int>();
+    auto l1aFadcSlice = attrList[specificationName(el1aFadcSlice)].data<unsigned int>();
+    auto numLutSlices = attrList[specificationName(enumLutSlices)].data<unsigned int>();
+    auto l1aLutSlice = attrList[specificationName(el1aLutSlice)].data<unsigned int>();
+    auto numProcSlices = attrList[specificationName(enumProcSlices)].data<unsigned int>();
+    auto l1aProcSlice = attrList[specificationName(el1aProcSlice)].data<unsigned int>();
+    auto numTopoSlices = attrList[specificationName(enumTopoSlices)].data<unsigned int>();
+    auto l1aTopoSlice = attrList[specificationName(el1aTopoSlice)].data<unsigned int>();
+    auto latencyPpmFadc = attrList[specificationName(elatencyPpmFadc)].data<unsigned int>();
+    auto latencyPpmLut = attrList[specificationName(elatencyPpmLut)].data<unsigned int>();
+    auto latencyCpmInput = attrList[specificationName(elatencyCpmInput)].data<unsigned int>();
+    auto latencyCpmHits = attrList[specificationName(elatencyCpmHits)].data<unsigned int>();
+    auto latencyCpmRoi = attrList[specificationName(elatencyCpmRoi)].data<unsigned int>();
+    auto latencyJemInput = attrList[specificationName(elatencyJemInput)].data<unsigned int>();
+    auto latencyJemRoi = attrList[specificationName(elatencyJemRoi)].data<unsigned int>();
+    auto latencyCpCmxBackplane = attrList[specificationName(elatencyCpCmxBackplane)].data<unsigned int>();
+    auto latencyCpCmxLocal = attrList[specificationName(elatencyCpCmxLocal)].data<unsigned int>();
+    auto latencyCpCmxCable = attrList[specificationName(elatencyCpCmxCable)].data<unsigned int>();
+    auto latencyCpCmxSystem = attrList[specificationName(elatencyCpCmxSystem)].data<unsigned int>();
+    auto latencyCpCmxInfo = attrList[specificationName(elatencyCpCmxInfo)].data<unsigned int>();
+    auto latencyJetCmxBackplane = attrList[specificationName(elatencyJetCmxBackplane)].data<unsigned int>();
+    auto latencyJetCmxLocal = attrList[specificationName(elatencyJetCmxLocal)].data<unsigned int>();
+    auto latencyJetCmxCable = attrList[specificationName(elatencyJetCmxCable)].data<unsigned int>();
+    auto latencyJetCmxSystem = attrList[specificationName(elatencyJetCmxSystem)].data<unsigned int>();
+    auto latencyJetCmxInfo = attrList[specificationName(elatencyJetCmxInfo)].data<unsigned int>();
+    auto latencyJetCmxRoi = attrList[specificationName(elatencyJetCmxRoi)].data<unsigned int>();
+    auto latencyEnergyCmxBackplane = attrList[specificationName(elatencyEnergyCmxBackplane)].data<unsigned int>();
+    auto latencyEnergyCmxLocal = attrList[specificationName(elatencyEnergyCmxLocal)].data<unsigned int>();
+    auto latencyEnergyCmxCable = attrList[specificationName(elatencyEnergyCmxCable)].data<unsigned int>();
+    auto latencyEnergyCmxSystem = attrList[specificationName(elatencyEnergyCmxSystem)].data<unsigned int>();
+    auto latencyEnergyCmxInfo = attrList[specificationName(elatencyEnergyCmxInfo)].data<unsigned int>();
+    auto latencyEnergyCmxRoi = attrList[specificationName(elatencyEnergyCmxRoi)].data<unsigned int>();
+    auto latencyTopo = attrList[specificationName(elatencyTopo)].data<unsigned int>();
+    auto internalLatencyJemJet = attrList[specificationName(einternalLatencyJemJet)].data<unsigned int>();
+    auto internalLatencyJemSum = attrList[specificationName(einternalLatencyJemSum)].data<unsigned int>();
+    auto bcOffsetJemJet = attrList[specificationName(ebcOffsetJemJet)].data<unsigned int>();
+    auto bcOffsetJemSum = attrList[specificationName(ebcOffsetJemSum)].data<unsigned int>();
+    auto bcOffsetCmx = attrList[specificationName(ebcOffsetCmx)].data<int>();
+    auto bcOffsetTopo = attrList[specificationName(ebcOffsetTopo)].data<int>();
+    auto formatTypePpm = attrList[specificationName(eformatTypePpm)].data<std::string>();
+    auto formatTypeCpJep = attrList[specificationName(eformatTypeCpJep)].data<std::string>();
+    auto formatTypeTopo = attrList[specificationName(eformatTypeTopo)].data<std::string>();
+    auto compressionThresholdPpm = attrList[specificationName(ecompressionThresholdPpm)].data<unsigned int>();
+    auto compressionThresholdCpJep = attrList[specificationName(ecompressionThresholdCpJep)].data<unsigned int>();
+    auto compressionThresholdTopo = attrList[specificationName(ecompressionThresholdTopo)].data<unsigned int>();
+    auto compressionBaselinePpm = attrList[specificationName(ecompressionBaselinePpm)].data<unsigned int>();
+    auto readout80ModePpm = attrList[specificationName(ereadout80ModePpm)].data<unsigned int>();
+
+    addReadoutConfig(L1CaloReadoutConfig(chanNum, description, baselinePointer, numFadcSlices, l1aFadcSlice, numLutSlices, l1aLutSlice, numProcSlices, l1aProcSlice, numTopoSlices, l1aTopoSlice, latencyPpmFadc, latencyPpmLut, latencyCpmInput, latencyCpmHits, latencyCpmRoi, latencyJemInput, latencyJemRoi, latencyCpCmxBackplane, latencyCpCmxLocal, latencyCpCmxCable, latencyCpCmxSystem, latencyCpCmxInfo, latencyJetCmxBackplane, latencyJetCmxLocal, latencyJetCmxCable, latencyJetCmxSystem, latencyJetCmxInfo, latencyJetCmxRoi, latencyEnergyCmxBackplane, latencyEnergyCmxLocal, latencyEnergyCmxCable, latencyEnergyCmxSystem, latencyEnergyCmxInfo, latencyEnergyCmxRoi, latencyTopo, internalLatencyJemJet, internalLatencyJemSum, bcOffsetJemJet, bcOffsetJemSum, bcOffsetCmx, bcOffsetTopo, formatTypePpm, formatTypeCpJep, formatTypeTopo, compressionThresholdPpm, compressionThresholdCpJep, compressionThresholdTopo, compressionBaselinePpm, readout80ModePpm));
+  }
+}
+
+const L1CaloReadoutConfig* L1CaloReadoutConfigContainer::readoutConfig(unsigned int channelId) const
+{
+  auto it = std::lower_bound(std::begin(m_readoutConfigs),
+                            std::end(m_readoutConfigs),
+                            channelId,
+                            [](const L1CaloReadoutConfig& el, unsigned int val) -> bool {
+                              return el.channelId() < val;
+                            });
+  if(it == std::end(m_readoutConfigs)) return nullptr;
+  return &(*it);
+}
+
+void L1CaloReadoutConfigContainer::addReadoutConfig(const L1CaloReadoutConfig& readoutConfig)
+{
+  // insert into the correct position mainting the sorted vector
+  m_readoutConfigs.insert(std::lower_bound(std::begin(m_readoutConfigs),
+                                           std::end(m_readoutConfigs),
+                                           readoutConfig.channelId(),
+                                           [](const L1CaloReadoutConfig& el, unsigned int va) -> bool {
+                                             return el.channelId() < va;
+                                           }),
+                          readoutConfig);
+}
diff --git a/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloRunParameters.cxx b/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloRunParameters.cxx
new file mode 100644
index 000000000000..82992529ba05
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloRunParameters.cxx
@@ -0,0 +1,26 @@
+/*
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+*/
+#include "TrigT1CaloCalibConditions/L1CaloRunParameters.h"
+
+L1CaloRunParameters::L1CaloRunParameters(unsigned int channelId, const std::string& runType, const std::string& runActionName, unsigned int runActionVersion, const std::string& readoutConfig, unsigned int readoutConfigID, const std::string& ttcConfiguration, unsigned int ttcConfigurationID, const std::string& triggerMenu, const std::string& calibration, const std::string& conditions)
+ : m_channelId(channelId)
+ , m_runType(runType)
+ , m_runActionName(runActionName)
+ , m_runActionVersion(runActionVersion)
+ , m_readoutConfig(readoutConfig)
+ , m_readoutConfigID(readoutConfigID)
+ , m_ttcConfiguration(ttcConfiguration)
+ , m_ttcConfigurationID(ttcConfigurationID)
+ , m_triggerMenu(triggerMenu)
+ , m_calibration(calibration)
+ , m_conditions(conditions)
+{
+}
+
+std::ostream& operator<<(std::ostream& output, const L1CaloRunParameters& r) {
+  output << "channelID: " << std::hex << r.channelId() << std::dec
+         << ", runType: " << r.runType();
+
+  return output;
+}
diff --git a/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloRunParametersContainer.cxx b/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloRunParametersContainer.cxx
new file mode 100644
index 000000000000..aaaaf39574f5
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1CaloCalibConditions/src/L1CaloRunParametersContainer.cxx
@@ -0,0 +1,122 @@
+/*
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+*/
+#include "TrigT1CaloCalibConditions/L1CaloRunParametersContainer.h"
+
+#include <algorithm>
+#include <memory>
+
+#include "CxxUtils/make_unique.h"
+#include "CoralBase/AttributeListSpecification.h"
+#include "AthenaPoolUtilities/CondAttrListCollection.h"
+#include "AthenaPoolUtilities/AthenaAttributeList.h"
+
+#include "TrigT1CaloCalibConditions/L1CaloRunParameters.h"
+
+L1CaloRunParametersContainer::L1CaloRunParametersContainer()
+  : AbstractL1CaloPersistentCondition("CondAttrListCollection") 
+{
+  this->addSpecification(erunType, "runType", "string");
+  this->addSpecification(erunActionName, "runActionName", "string");
+  this->addSpecification(erunActionVersion, "runActionVersion", "unsigned int");
+  this->addSpecification(ereadoutConfig, "readoutConfig", "string");
+  this->addSpecification(ereadoutConfigID, "readoutConfigID", "unsigned int");
+  this->addSpecification(ettcConfiguration, "ttcConfiguration", "string");
+  this->addSpecification(ettcConfigurationID, "ttcConfigurationID", "unsigned int");
+  this->addSpecification(etriggerMenu, "triggerMenu", "string");
+  this->addSpecification(ecalibration, "calibration", "string");
+  this->addSpecification(econditions, "conditions", "string");
+}
+
+L1CaloRunParametersContainer::L1CaloRunParametersContainer(const std::string& folderKey)
+  : L1CaloRunParametersContainer() // delegating constructor
+{
+  m_coolFolderKey = folderKey;
+}
+
+
+DataObject* L1CaloRunParametersContainer::makePersistent() const
+{
+  using CxxUtils::make_unique;
+
+  if(m_coolFolderKey.empty()) return nullptr;
+
+  auto* attrSpecification = this->createAttributeListSpecification();
+  if(!attrSpecification || !attrSpecification->size()) return nullptr;
+
+  auto attrListCollection = make_unique<CondAttrListCollection>(true);
+  for(const auto& item : m_runParameterss) {
+    AthenaAttributeList attrList(*attrSpecification);
+    attrList[specificationName(erunType)].setValue(item.runType());
+    attrList[specificationName(erunActionName)].setValue(item.runActionName());
+    attrList[specificationName(erunActionVersion)].setValue(item.runActionVersion());
+    attrList[specificationName(ereadoutConfig)].setValue(item.readoutConfig());
+    attrList[specificationName(ereadoutConfigID)].setValue(item.readoutConfigID());
+    attrList[specificationName(ettcConfiguration)].setValue(item.ttcConfiguration());
+    attrList[specificationName(ettcConfigurationID)].setValue(item.ttcConfigurationID());
+    attrList[specificationName(etriggerMenu)].setValue(item.triggerMenu());
+    attrList[specificationName(ecalibration)].setValue(item.calibration());
+    attrList[specificationName(econditions)].setValue(item.conditions());
+    
+    attrListCollection->add(item.channelId(), attrList);
+  }
+  return static_cast<DataObject*>(attrListCollection.release());
+}
+
+void L1CaloRunParametersContainer::makeTransient(const std::map<std::string, CondAttrListCollection*> condAttrListCollectionMap)
+{
+  clear();
+
+  auto it = condAttrListCollectionMap.find(m_coolFolderKey);
+  if(it == std::end(condAttrListCollectionMap)) return;
+
+  auto attrListCollection = it->second;
+  for(const auto& item : *attrListCollection) {
+    auto chanNum = item.first;
+    const auto& attrList = item.second;
+    
+    auto runType = attrList[specificationName(erunType)].data<std::string>();
+    auto runActionName = attrList[specificationName(erunActionName)].data<std::string>();
+    auto runActionVersion = attrList[specificationName(erunActionVersion)].data<unsigned int>();
+    auto readoutConfig = attrList[specificationName(ereadoutConfig)].data<std::string>();
+    auto readoutConfigID = attrList[specificationName(ereadoutConfigID)].data<unsigned int>();
+    auto ttcConfiguration = attrList[specificationName(ettcConfiguration)].data<std::string>();
+    auto ttcConfigurationID = attrList[specificationName(ettcConfigurationID)].data<unsigned int>();
+    auto triggerMenu = attrList[specificationName(etriggerMenu)].data<std::string>();
+    auto calibration = attrList[specificationName(ecalibration)].data<std::string>();
+    auto conditions = attrList[specificationName(econditions)].data<std::string>();
+
+    addRunParameters(L1CaloRunParameters(chanNum, runType, runActionName, runActionVersion, readoutConfig, readoutConfigID, ttcConfiguration, ttcConfigurationID, triggerMenu, calibration, conditions));
+  }
+}
+
+const L1CaloRunParameters* L1CaloRunParametersContainer::runParameters(unsigned int channelId) const
+{
+  auto it = std::lower_bound(std::begin(m_runParameterss),
+                            std::end(m_runParameterss),
+                            channelId,
+                            [](const L1CaloRunParameters& el, unsigned int val) -> bool {
+                              return el.channelId() < val;
+                            });
+  if(it == std::end(m_runParameterss)) return nullptr;
+  return &(*it);
+}
+
+void L1CaloRunParametersContainer::addRunParameters(const L1CaloRunParameters& runParameters)
+{
+  // insert into the correct position mainting the sorted vector
+  m_runParameterss.insert(std::lower_bound(std::begin(m_runParameterss),
+                                           std::end(m_runParameterss),
+                                           runParameters.channelId(),
+                                           [](const L1CaloRunParameters& el, unsigned int va) -> bool {
+                                             return el.channelId() < va;
+                                           }),
+                          runParameters);
+}
+
+void L1CaloRunParametersContainer::dump() const {
+  L1CaloRunParametersContainer::const_iterator it = this->begin();
+  for(;it!=this->end();++it) {
+    std::cout << " * item: " << *it <<std::endl;
+  }
+}
-- 
GitLab


From d551e8500a5b1cfbb3248210374f899c95fbfe68 Mon Sep 17 00:00:00 2001
From: Dmitry Popov <Dmitry.Popov@cern.ch>
Date: Tue, 8 Jan 2019 17:08:17 +0100
Subject: [PATCH 012/192] Updated TrigT1CaloCalibUtils

---
 .../python/doL1CaloHVCorrections.py           | 132 +++++++++++++++++-
 1 file changed, 127 insertions(+), 5 deletions(-)

diff --git a/Trigger/TrigT1/TrigT1CaloCalibUtils/python/doL1CaloHVCorrections.py b/Trigger/TrigT1/TrigT1CaloCalibUtils/python/doL1CaloHVCorrections.py
index 6d485980c0fe..aae275eaed59 100644
--- a/Trigger/TrigT1/TrigT1CaloCalibUtils/python/doL1CaloHVCorrections.py
+++ b/Trigger/TrigT1/TrigT1CaloCalibUtils/python/doL1CaloHVCorrections.py
@@ -11,7 +11,7 @@ import time
 import os
 #from ctypes import *
 import struct 
-from array import *
+import array
 
 from PyCool import cool
 from optparse import OptionParser
@@ -21,6 +21,53 @@ import PlotCalibrationHV
 
 import mergeEnergyRamps
 
+class HVCorrectionCOOLReader:
+
+  def __init__(self):
+
+    self.correctionsFromCOOL = {}
+    self.UNIX2COOL = 1000000000
+
+    # get database service and open database
+    dbSvc = cool.DatabaseSvcFactory.databaseService()
+
+    dbString = 'oracle://ATLAS_COOLPROD;schema=ATLAS_COOLONL_TRIGGER;dbname=CONDBR2'
+    try:
+      db = dbSvc.openDatabase(dbString, False)        
+    except Exception, e:
+      print 'Error: Problem opening database', e
+      sys.exit(1)
+
+    folder_name = "/TRIGGER/Receivers/Factors/HVCorrections"
+    folder=db.getFolder(folder_name)
+    ch = folder.listChannels()
+       
+    startUtime = int(time.time())
+    endUtime = int(time.time())
+    startValKey = startUtime * self.UNIX2COOL
+    endValKey = endUtime * self.UNIX2COOL
+    chsel = cool.ChannelSelection(0,sys.maxint)
+
+    try:
+      itr=folder.browseObjects(startValKey, endValKey, chsel)
+    except Exception, e:
+      print e
+      sys.exit(1)
+
+    for row in itr:
+      ReceiverId = hex(int(row.channelId()))
+      payload = row.payload()
+      HVCorrection = payload['factor']
+
+      self.correctionsFromCOOL[ReceiverId] = HVCorrection
+     
+  # close database
+    db.closeDatabase()
+
+  def getCorrection(self, receiver):
+
+    return self.correctionsFromCOOL[receiver]
+
 class HVCorrectionCalculator:
 
   def __init__(self, mapping):
@@ -237,10 +284,24 @@ if __name__ == "__main__":
 
   h_corrEmec_em  = PlotCalibrationGains.L1CaloMap("Calculated HV corrections for EM overlap (EMEC)","#eta bin","#phi bin")
   h_corrFcalHighEta_had = PlotCalibrationGains.L1CaloMap("Calculated HV corrections for HAD FCAL (high #eta)","#eta bin","#phi bin")
+#
+  h_RefcorrEmb_em  = PlotCalibrationGains.L1CaloMap("Reference HV corrections for EM  (EMB in overlap) ","#eta bin","#phi bin")
+  h_RefcorrFcalLowEta_had = PlotCalibrationGains.L1CaloMap("Reference HV corrections for HAD (FCAL low #eta)","#eta bin","#phi bin")
 
+  h_RefcorrEmec_em  = PlotCalibrationGains.L1CaloMap("Reference HV corrections for EM overlap (EMEC)","#eta bin","#phi bin")
+  h_RefcorrFcalHighEta_had = PlotCalibrationGains.L1CaloMap("Reference HV corrections for HAD FCAL (high #eta)","#eta bin","#phi bin")
+#
+  h_DiffcorrEmb_em  = PlotCalibrationGains.L1CaloMap("(calculated-reference) HV corrections for EM  (EMB in overlap) ","#eta bin","#phi bin")
+  h_DiffcorrFcalLowEta_had = PlotCalibrationGains.L1CaloMap("(calculated-reference) HV corrections for HAD (FCAL low #eta)","#eta bin","#phi bin")
+
+  h_DiffcorrEmec_em  = PlotCalibrationGains.L1CaloMap("(calculated-reference) HV corrections for EM overlap (EMEC)","#eta bin","#phi bin")
+  h_DiffcorrFcalHighEta_had = PlotCalibrationGains.L1CaloMap("(calculated-reference) HV corrections for HAD FCAL (high #eta)","#eta bin","#phi bin")
+#
     
   hv_input = PlotCalibrationHV.L1CaloHVReader(options.hv_input) 
 
+  referenceCorrectionReader = HVCorrectionCOOLReader()
+
   geometry_convertor = PlotCalibrationGains.L1CaloGeometryConvertor()
   geometry_convertor.LoadReceiverPPMMap()
 
@@ -348,33 +409,49 @@ if __name__ == "__main__":
     ### check if the channel has overall HV correction larger than the threshold
     
     predictedCorrection = correctionCalculator.GetCorrection(receiver, layer_corr, layer_names)
+    referenceCorrection = referenceCorrectionReader.getCorrection(receiver)
+
+    correctionDifference = (predictedCorrection-referenceCorrection)
+
+#    print "predictedCorrection=", predictedCorrection, "  referenceCorrection=", referenceCorrection
 
-    if abs(predictedCorrection - 1) <= options.hv_corr_diff:
+    if abs(correctionDifference) <= options.hv_corr_diff:                # we update only towers that changed
       continue # skip this receiver, the correction is not high enough
 
     calculatedCorrections[receiver] = [predictedCorrection,0]
-    print >> output_text, ("%5s %9s  %3i %2i  %.3f") % (receiver, coolid, eta_bin, phi_bin, predictedCorrection)
+    print >> output_text, ("%5s %9s  %3i %2i  %.3f (%.3f)") % (receiver, coolid, eta_bin, phi_bin, predictedCorrection,referenceCorrection)
 
 
     if geometry_convertor.isCoolEm(coolid):
       if not geometry_convertor.isPPMOverlap(coolid):
         h_corrEmb_em.Fill(eta_bin,phi_bin,predictedCorrection)
+        h_RefcorrEmb_em.Fill(eta_bin,phi_bin,referenceCorrection)
+        h_DiffcorrEmb_em.Fill(eta_bin,phi_bin,correctionDifference)
       else:
         if geometry_convertor.getOverlapLayer(receiver)=='EMB':
           h_corrEmb_em.Fill(eta_bin,phi_bin,predictedCorrection)
+          h_RefcorrEmb_em.Fill(eta_bin,phi_bin,referenceCorrection)
+          h_DiffcorrEmb_em.Fill(eta_bin,phi_bin,correctionDifference)
         else:
           h_corrEmec_em.Fill(eta_bin,phi_bin,predictedCorrection)
+          h_RefcorrEmec_em.Fill(eta_bin,phi_bin,referenceCorrection)
+          h_DiffcorrEmec_em.Fill(eta_bin,phi_bin,correctionDifference)
 
 
     if geometry_convertor.isCoolHad(coolid):
       if not geometry_convertor.isPPMFCAL(coolid):
         h_corrFcalLowEta_had.Fill(eta_bin,phi_bin,predictedCorrection)
+        h_RefcorrFcalLowEta_had.Fill(eta_bin,phi_bin,referenceCorrection)
+        h_DiffcorrFcalLowEta_had.Fill(eta_bin,phi_bin,correctionDifference)
       else:
         if geometry_convertor.getFCAL23RecEta(receiver)=='HighEta':
           h_corrFcalHighEta_had.Fill(eta_bin,phi_bin,predictedCorrection)
+          h_RefcorrFcalHighEta_had.Fill(eta_bin,phi_bin,referenceCorrection)
+          h_DiffcorrFcalHighEta_had.Fill(eta_bin,phi_bin,correctionDifference)
         else: 
           h_corrFcalLowEta_had.Fill(eta_bin,phi_bin,predictedCorrection)
-
+          h_RefcorrFcalLowEta_had.Fill(eta_bin,phi_bin,referenceCorrection)
+          h_DiffcorrFcalLowEta_had.Fill(eta_bin,phi_bin,correctionDifference)
 
   writeHVToSqlite(options.output_files+".sqlite",calculatedCorrections)
   output_text.close()
@@ -400,8 +477,53 @@ if __name__ == "__main__":
   h_corrFcalHighEta_had.SetMinimum(1.)
   h_corrFcalHighEta_had.SetMaximum(2.1)
   h_corrFcalHighEta_had.Draw()
-  c1.Print(options.output_files+".ps)")
+  c1.Print(options.output_files+".ps")
+
+  # Now corrections from COOL
+
+  h_RefcorrEmb_em.SetMinimum(1.)
+  h_RefcorrEmb_em.SetMaximum(2.1)
+  h_RefcorrEmb_em.Draw()
+  c1.Print(options.output_files+".ps")
+
+  h_RefcorrFcalLowEta_had.SetMinimum(1.)
+  h_RefcorrFcalLowEta_had.SetMaximum(2.1)
+  h_RefcorrFcalLowEta_had.Draw()
+  c1.Print(options.output_files+".ps")
+
+
+  h_RefcorrEmec_em.SetMinimum(1.)
+  h_RefcorrEmec_em.SetMaximum(2.1)
+  h_RefcorrEmec_em.Draw()
+  c1.Print(options.output_files+".ps")
+
+  h_RefcorrFcalHighEta_had.SetMinimum(1.)
+  h_RefcorrFcalHighEta_had.SetMaximum(2.1)
+  h_RefcorrFcalHighEta_had.Draw()
+  c1.Print(options.output_files+".ps")
+
+  # Now difference
+  h_DiffcorrEmb_em.SetMinimum(-0.1)
+  h_DiffcorrEmb_em.SetMaximum(0.1)
+  h_DiffcorrEmb_em.Draw()
+  c1.Print(options.output_files+".ps")
+
+  h_DiffcorrFcalLowEta_had.SetMinimum(-0.1)
+  h_DiffcorrFcalLowEta_had.SetMaximum(0.1)
+  h_DiffcorrFcalLowEta_had.Draw()
+  c1.Print(options.output_files+".ps")
 
+
+  h_DiffcorrEmec_em.SetMinimum(-0.1)
+  h_DiffcorrEmec_em.SetMaximum(0.1)
+  h_DiffcorrEmec_em.Draw()
+  c1.Print(options.output_files+".ps")
+
+  h_DiffcorrFcalHighEta_had.SetMinimum(-0.1)
+  h_DiffcorrFcalHighEta_had.SetMaximum(0.1)
+  h_DiffcorrFcalHighEta_had.Draw()
+  c1.Print(options.output_files+".ps)")
+#
   os.system("ps2pdf " + options.output_files+".ps")
  # os.system("cp HVStatus.pdf /home/jb/public_web/tmp ")
 
-- 
GitLab


From 58a4462a4573eef8cd2608945513d96ae0d288a2 Mon Sep 17 00:00:00 2001
From: Dmitry Popov <Dmitry.Popov@cern.ch>
Date: Tue, 8 Jan 2019 17:24:19 +0100
Subject: [PATCH 013/192] Updated TrigT1CaloEvent

---
 Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/EmTauROI.h     | 4 ----
 Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/EnergyRoI.h    | 4 ----
 .../TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/EnergyTopoData.h   | 4 ----
 Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/JetEtRoI.h     | 4 ----
 Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/JetROI.h       | 4 ----
 Trigger/TrigT1/TrigT1CaloEvent/src/CMMCPHits.cxx              | 4 ----
 Trigger/TrigT1/TrigT1CaloEvent/src/CMMEtSums.cxx              | 4 ----
 Trigger/TrigT1/TrigT1CaloEvent/src/CMMJetHits.cxx             | 4 ----
 Trigger/TrigT1/TrigT1CaloEvent/src/CMXCPHits.cxx              | 4 ----
 Trigger/TrigT1/TrigT1CaloEvent/src/CMXCPTob.cxx               | 4 ----
 Trigger/TrigT1/TrigT1CaloEvent/src/CMXEtSums.cxx              | 4 ----
 Trigger/TrigT1/TrigT1CaloEvent/src/CMXJetHits.cxx             | 4 ----
 Trigger/TrigT1/TrigT1CaloEvent/src/CMXJetTob.cxx              | 4 ----
 Trigger/TrigT1/TrigT1CaloEvent/src/CPMHits.cxx                | 4 ----
 Trigger/TrigT1/TrigT1CaloEvent/src/CPMTower.cxx               | 4 ----
 Trigger/TrigT1/TrigT1CaloEvent/src/EmTauROI.cxx               | 4 ----
 Trigger/TrigT1/TrigT1CaloEvent/src/JEMEtSums.cxx              | 4 ----
 Trigger/TrigT1/TrigT1CaloEvent/src/JEMHits.cxx                | 4 ----
 Trigger/TrigT1/TrigT1CaloEvent/src/JetElement.cxx             | 4 ----
 Trigger/TrigT1/TrigT1CaloEvent/src/JetInput.cxx               | 4 ----
 Trigger/TrigT1/TrigT1CaloEvent/src/JetROI.cxx                 | 4 ----
 Trigger/TrigT1/TrigT1CaloEvent/src/TriggerTower.cxx           | 4 ----
 22 files changed, 88 deletions(-)

diff --git a/Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/EmTauROI.h b/Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/EmTauROI.h
index 072cef6810b9..4e58979115cf 100755
--- a/Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/EmTauROI.h
+++ b/Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/EmTauROI.h
@@ -8,10 +8,6 @@
     email                : moyse@heppch.ph.qmw.ac.uk
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 #ifndef EMTAUROI_H
 #define EMTAUROI_H
diff --git a/Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/EnergyRoI.h b/Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/EnergyRoI.h
index e66eebadbdec..dc82a0ba7422 100755
--- a/Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/EnergyRoI.h
+++ b/Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/EnergyRoI.h
@@ -8,10 +8,6 @@
     email                : e.moyse@qmul.ac.uk
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 #ifndef EnergyRoI_H
 #define EnergyRoI_H
diff --git a/Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/EnergyTopoData.h b/Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/EnergyTopoData.h
index 0c23602a585f..03519be7f9a2 100755
--- a/Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/EnergyTopoData.h
+++ b/Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/EnergyTopoData.h
@@ -8,10 +8,6 @@
     email                : Alan.Watson@CERN.CH
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 #ifndef EnergyTopoData_H
 #define EnergyTopoData_H
diff --git a/Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/JetEtRoI.h b/Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/JetEtRoI.h
index 1ff934c94bac..0f5f9a755c4c 100755
--- a/Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/JetEtRoI.h
+++ b/Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/JetEtRoI.h
@@ -8,10 +8,6 @@
     email                : Alan.Watson@cern.ch
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 #ifndef JetEtRoI_H
 #define JetEtRoI_H
diff --git a/Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/JetROI.h b/Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/JetROI.h
index 1f74548703cb..29ea23345779 100755
--- a/Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/JetROI.h
+++ b/Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/JetROI.h
@@ -8,10 +8,6 @@
     email                : moyse@heppch.ph.qmw.ac.uk
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 #ifndef JetROI_H
 #define JetROI_H
diff --git a/Trigger/TrigT1/TrigT1CaloEvent/src/CMMCPHits.cxx b/Trigger/TrigT1/TrigT1CaloEvent/src/CMMCPHits.cxx
index d67b9fdff065..6705f1b347ca 100755
--- a/Trigger/TrigT1/TrigT1CaloEvent/src/CMMCPHits.cxx
+++ b/Trigger/TrigT1/TrigT1CaloEvent/src/CMMCPHits.cxx
@@ -8,10 +8,6 @@
     email                : Alan.Watson@cern.ch
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 
 
diff --git a/Trigger/TrigT1/TrigT1CaloEvent/src/CMMEtSums.cxx b/Trigger/TrigT1/TrigT1CaloEvent/src/CMMEtSums.cxx
index db978a3a41d8..8e9ea8ed9ff5 100755
--- a/Trigger/TrigT1/TrigT1CaloEvent/src/CMMEtSums.cxx
+++ b/Trigger/TrigT1/TrigT1CaloEvent/src/CMMEtSums.cxx
@@ -8,10 +8,6 @@
     email                : Alan.Watson@cern.ch
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 
 
diff --git a/Trigger/TrigT1/TrigT1CaloEvent/src/CMMJetHits.cxx b/Trigger/TrigT1/TrigT1CaloEvent/src/CMMJetHits.cxx
index 4b9ca8f2fceb..34ccb2c7a0a8 100755
--- a/Trigger/TrigT1/TrigT1CaloEvent/src/CMMJetHits.cxx
+++ b/Trigger/TrigT1/TrigT1CaloEvent/src/CMMJetHits.cxx
@@ -8,10 +8,6 @@
     email                : Alan.Watson@cern.ch
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 
 
diff --git a/Trigger/TrigT1/TrigT1CaloEvent/src/CMXCPHits.cxx b/Trigger/TrigT1/TrigT1CaloEvent/src/CMXCPHits.cxx
index 2d0402793498..e35ccdd3f0c9 100755
--- a/Trigger/TrigT1/TrigT1CaloEvent/src/CMXCPHits.cxx
+++ b/Trigger/TrigT1/TrigT1CaloEvent/src/CMXCPHits.cxx
@@ -2,10 +2,6 @@
   Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 */
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 
 
diff --git a/Trigger/TrigT1/TrigT1CaloEvent/src/CMXCPTob.cxx b/Trigger/TrigT1/TrigT1CaloEvent/src/CMXCPTob.cxx
index 86dc79f7afa7..e7c8c2ddecc3 100755
--- a/Trigger/TrigT1/TrigT1CaloEvent/src/CMXCPTob.cxx
+++ b/Trigger/TrigT1/TrigT1CaloEvent/src/CMXCPTob.cxx
@@ -2,10 +2,6 @@
   Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 */
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 
 
diff --git a/Trigger/TrigT1/TrigT1CaloEvent/src/CMXEtSums.cxx b/Trigger/TrigT1/TrigT1CaloEvent/src/CMXEtSums.cxx
index 52e02fb04202..25a70e1d4249 100755
--- a/Trigger/TrigT1/TrigT1CaloEvent/src/CMXEtSums.cxx
+++ b/Trigger/TrigT1/TrigT1CaloEvent/src/CMXEtSums.cxx
@@ -2,10 +2,6 @@
   Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 */
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 
 
diff --git a/Trigger/TrigT1/TrigT1CaloEvent/src/CMXJetHits.cxx b/Trigger/TrigT1/TrigT1CaloEvent/src/CMXJetHits.cxx
index 79b7a57c846a..98234d3a5367 100755
--- a/Trigger/TrigT1/TrigT1CaloEvent/src/CMXJetHits.cxx
+++ b/Trigger/TrigT1/TrigT1CaloEvent/src/CMXJetHits.cxx
@@ -2,10 +2,6 @@
   Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 */
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 
 
diff --git a/Trigger/TrigT1/TrigT1CaloEvent/src/CMXJetTob.cxx b/Trigger/TrigT1/TrigT1CaloEvent/src/CMXJetTob.cxx
index 0f675694748e..f07f78a75243 100755
--- a/Trigger/TrigT1/TrigT1CaloEvent/src/CMXJetTob.cxx
+++ b/Trigger/TrigT1/TrigT1CaloEvent/src/CMXJetTob.cxx
@@ -2,10 +2,6 @@
   Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 */
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 
 
diff --git a/Trigger/TrigT1/TrigT1CaloEvent/src/CPMHits.cxx b/Trigger/TrigT1/TrigT1CaloEvent/src/CPMHits.cxx
index 7629e94a3265..389a0aaee488 100755
--- a/Trigger/TrigT1/TrigT1CaloEvent/src/CPMHits.cxx
+++ b/Trigger/TrigT1/TrigT1CaloEvent/src/CPMHits.cxx
@@ -8,10 +8,6 @@
     email                : Alan.Watson@cern.ch
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 
 
diff --git a/Trigger/TrigT1/TrigT1CaloEvent/src/CPMTower.cxx b/Trigger/TrigT1/TrigT1CaloEvent/src/CPMTower.cxx
index 56a639b45a2a..327ebea74826 100755
--- a/Trigger/TrigT1/TrigT1CaloEvent/src/CPMTower.cxx
+++ b/Trigger/TrigT1/TrigT1CaloEvent/src/CPMTower.cxx
@@ -8,10 +8,6 @@
         email                : Alan.Watson@cern.ch
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 #include "TrigT1CaloEvent/CPMTower.h"
 
diff --git a/Trigger/TrigT1/TrigT1CaloEvent/src/EmTauROI.cxx b/Trigger/TrigT1/TrigT1CaloEvent/src/EmTauROI.cxx
index 8b47e2c8f7a6..1eaf153d97d1 100755
--- a/Trigger/TrigT1/TrigT1CaloEvent/src/EmTauROI.cxx
+++ b/Trigger/TrigT1/TrigT1CaloEvent/src/EmTauROI.cxx
@@ -8,10 +8,6 @@
     email                : moyse@heppch.ph.qmw.ac.uk
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 #include "TrigT1CaloEvent/EmTauROI.h"
 
diff --git a/Trigger/TrigT1/TrigT1CaloEvent/src/JEMEtSums.cxx b/Trigger/TrigT1/TrigT1CaloEvent/src/JEMEtSums.cxx
index 96577d76cdcb..ee081d1c99a2 100755
--- a/Trigger/TrigT1/TrigT1CaloEvent/src/JEMEtSums.cxx
+++ b/Trigger/TrigT1/TrigT1CaloEvent/src/JEMEtSums.cxx
@@ -8,10 +8,6 @@
     email                : Alan.Watson@cern.ch
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 
 
diff --git a/Trigger/TrigT1/TrigT1CaloEvent/src/JEMHits.cxx b/Trigger/TrigT1/TrigT1CaloEvent/src/JEMHits.cxx
index c011351eea24..c1993a44e444 100755
--- a/Trigger/TrigT1/TrigT1CaloEvent/src/JEMHits.cxx
+++ b/Trigger/TrigT1/TrigT1CaloEvent/src/JEMHits.cxx
@@ -8,10 +8,6 @@
     email                : Alan.Watson@cern.ch
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 
 
diff --git a/Trigger/TrigT1/TrigT1CaloEvent/src/JetElement.cxx b/Trigger/TrigT1/TrigT1CaloEvent/src/JetElement.cxx
index fae3804eb13d..70f1ff3372b9 100755
--- a/Trigger/TrigT1/TrigT1CaloEvent/src/JetElement.cxx
+++ b/Trigger/TrigT1/TrigT1CaloEvent/src/JetElement.cxx
@@ -8,10 +8,6 @@
     email                : e.moyse@qmw.ac.uk
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 
 
diff --git a/Trigger/TrigT1/TrigT1CaloEvent/src/JetInput.cxx b/Trigger/TrigT1/TrigT1CaloEvent/src/JetInput.cxx
index c31aff9743cd..ed9afc4877c6 100755
--- a/Trigger/TrigT1/TrigT1CaloEvent/src/JetInput.cxx
+++ b/Trigger/TrigT1/TrigT1CaloEvent/src/JetInput.cxx
@@ -8,10 +8,6 @@
     email                : Alan.Watson@cern.ch
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 
 
diff --git a/Trigger/TrigT1/TrigT1CaloEvent/src/JetROI.cxx b/Trigger/TrigT1/TrigT1CaloEvent/src/JetROI.cxx
index 493378aa1c5b..df43670b901c 100755
--- a/Trigger/TrigT1/TrigT1CaloEvent/src/JetROI.cxx
+++ b/Trigger/TrigT1/TrigT1CaloEvent/src/JetROI.cxx
@@ -8,10 +8,6 @@
     email                : moyse@heppch.ph.qmw.ac.uk
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 #include "TrigT1CaloEvent/JetROI.h"
 namespace LVL1 {
diff --git a/Trigger/TrigT1/TrigT1CaloEvent/src/TriggerTower.cxx b/Trigger/TrigT1/TrigT1CaloEvent/src/TriggerTower.cxx
index acf3379fd6b6..43aa9ece9025 100755
--- a/Trigger/TrigT1/TrigT1CaloEvent/src/TriggerTower.cxx
+++ b/Trigger/TrigT1/TrigT1CaloEvent/src/TriggerTower.cxx
@@ -8,10 +8,6 @@
     email                : e.moyse@qmw.ac.uk
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 #include "TrigT1CaloEvent/TriggerTower.h"
 
-- 
GitLab


From 85bb83c50d2c3309d0feca5609dd028ed613bce2 Mon Sep 17 00:00:00 2001
From: Dmitry Popov <Dmitry.Popov@cern.ch>
Date: Tue, 8 Jan 2019 17:26:35 +0100
Subject: [PATCH 014/192] Updated TriggerMenu l1topo

---
 Trigger/TriggerCommon/TriggerMenu/python/l1topo/L1TopoFlags.py | 3 +--
 Trigger/TriggerCommon/TriggerMenu/python/l1topo/L1TopoMenu.py  | 2 +-
 Trigger/TriggerCommon/TriggerMenu/python/l1topo/TopoAlgos.py   | 1 -
 Trigger/TriggerCommon/TriggerMenu/python/l1topo/TopoOutput.py  | 1 -
 4 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/Trigger/TriggerCommon/TriggerMenu/python/l1topo/L1TopoFlags.py b/Trigger/TriggerCommon/TriggerMenu/python/l1topo/L1TopoFlags.py
index 9114f8db9e19..a0d17a1af27c 100644
--- a/Trigger/TriggerCommon/TriggerMenu/python/l1topo/L1TopoFlags.py
+++ b/Trigger/TriggerCommon/TriggerMenu/python/l1topo/L1TopoFlags.py
@@ -4,8 +4,7 @@
 L1Topo specific flags
 """
 
-from AthenaCommon.JobProperties import JobProperty, JobPropertyContainer, jobproperties
-from TriggerMenu.menu.CommonSliceHelper import AllowedList
+from AthenaCommon.JobProperties import JobProperty, JobPropertyContainer
 from AthenaCommon.Logging import logging
 
 log = logging.getLogger('TriggerMenu.L1TopoFlags.py')
diff --git a/Trigger/TriggerCommon/TriggerMenu/python/l1topo/L1TopoMenu.py b/Trigger/TriggerCommon/TriggerMenu/python/l1topo/L1TopoMenu.py
index fd8aa97e27f8..6f105e411465 100644
--- a/Trigger/TriggerCommon/TriggerMenu/python/l1topo/L1TopoMenu.py
+++ b/Trigger/TriggerCommon/TriggerMenu/python/l1topo/L1TopoMenu.py
@@ -1,6 +1,6 @@
 # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 
-from TopoOutput import TopoOutput, TriggerLine
+from TopoOutput import TriggerLine
 from AthenaCommon.Logging import logging
 log = logging.getLogger("TriggerMenu.l1topo.L1TopoMenu")
 
diff --git a/Trigger/TriggerCommon/TriggerMenu/python/l1topo/TopoAlgos.py b/Trigger/TriggerCommon/TriggerMenu/python/l1topo/TopoAlgos.py
index 4b09969e45fb..5ef84d69cb9b 100644
--- a/Trigger/TriggerCommon/TriggerMenu/python/l1topo/TopoAlgos.py
+++ b/Trigger/TriggerCommon/TriggerMenu/python/l1topo/TopoAlgos.py
@@ -1,7 +1,6 @@
 # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 
 from AthenaCommon.Logging import logging
-from copy import deepcopy 
 from TriggerJobOpts.TriggerFlags import TriggerFlags
 
 log = logging.getLogger("TopoAlgo") 
diff --git a/Trigger/TriggerCommon/TriggerMenu/python/l1topo/TopoOutput.py b/Trigger/TriggerCommon/TriggerMenu/python/l1topo/TopoOutput.py
index 0738fbce77ee..9bb088a963e5 100644
--- a/Trigger/TriggerCommon/TriggerMenu/python/l1topo/TopoOutput.py
+++ b/Trigger/TriggerCommon/TriggerMenu/python/l1topo/TopoOutput.py
@@ -22,7 +22,6 @@ class TopoOutput(object):
 
 
 
-from collections import namedtuple
 class TriggerLine(object):
 
     import re
-- 
GitLab


From 7c496a69d901c3b81994adc98a3737bf0e589e17 Mon Sep 17 00:00:00 2001
From: Dmitry Popov <Dmitry.Popov@cern.ch>
Date: Tue, 8 Jan 2019 17:37:00 +0100
Subject: [PATCH 015/192] Updated TrigT1CaloUtils

---
 .../TrigT1CaloUtils/BinAndCoord.h             |   4 -
 .../TrigT1CaloUtils/CPAlgorithm.h             |   4 -
 .../TrigT1CaloUtils/CPMTobAlgorithm.h         |   4 -
 .../ClusterProcessorModuleKey.h               |   4 -
 .../TrigT1CaloUtils/CoordToHardware.h         |   4 -
 .../TrigT1CaloUtils/CrateEnergy.h             |   7 +-
 .../TrigT1CaloUtils/ICoordinate.h             |   4 -
 .../TrigT1CaloUtils/JEMJetAlgorithm.h         |   4 -
 .../TrigT1CaloUtils/JetAlgorithm.h            |   4 -
 .../TrigT1CaloUtils/JetElementKey.h           |   4 -
 .../TrigT1CaloUtils/JetElementKeyBase.h       |   4 -
 .../TrigT1CaloUtils/JetEnergyModuleKey.h      |   4 -
 .../TrigT1CaloUtils/JetInputKey.h             |   4 -
 .../TrigT1CaloUtils/KeyUtilities.h            |   4 -
 .../TrigT1CaloUtils/L1TopoDataMaker.h         |   4 -
 .../TrigT1CaloUtils/ModuleEnergy.h            |   4 -
 .../TrigT1CaloUtils/TrigT1CaloUtils/Parity.h  |   4 -
 .../TrigT1CaloUtils/QuadLinear.h              |   4 -
 .../TrigT1CaloUtils/SystemEnergy.h            |   4 -
 .../TrigT1CaloUtils/TriggerTowerKey.h         |   4 -
 .../TrigT1CaloUtils/src/CPAlgorithm.cxx       |   4 -
 .../TrigT1CaloUtils/src/CPMTobAlgorithm.cxx   |   4 -
 .../src/ClusterProcessorModuleKey.cxx         |   4 -
 .../TrigT1CaloUtils/src/CoordToHardware.cxx   |   4 -
 .../TrigT1CaloUtils/src/CrateEnergy.cxx       |  67 ++-
 .../src/InternalTriggerTower.cxx              |   4 -
 .../TrigT1CaloUtils/src/JEMJetAlgorithm.cxx   |   4 -
 .../TrigT1CaloUtils/src/JetAlgorithm.cxx      |   4 -
 .../TrigT1CaloUtils/src/JetElementKey.cxx     |   4 -
 .../TrigT1CaloUtils/src/JetElementKeyBase.cxx |   4 -
 .../src/JetEnergyModuleKey.cxx                |   4 -
 .../TrigT1CaloUtils/src/JetInputKey.cxx       |   4 -
 .../TrigT1CaloUtils/src/KeyUtilities.cxx      |   4 -
 .../TrigT1CaloUtils/src/L1TopoDataMaker.cxx   |   2 +-
 .../TrigT1CaloUtils/src/ModuleEnergy.cxx      |   4 -
 Trigger/TrigT1/TrigT1CaloUtils/src/Parity.cxx |   4 -
 .../TrigT1/TrigT1CaloUtils/src/QuadLinear.cxx |   4 -
 .../TrigT1CaloUtils/src/SystemEnergy.cxx      | 402 ++++++++++--------
 .../TrigT1CaloUtils/src/TriggerTowerKey.cxx   |   4 -
 39 files changed, 259 insertions(+), 359 deletions(-)

diff --git a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/BinAndCoord.h b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/BinAndCoord.h
index 0d0a0a27261e..3c278b02840d 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/BinAndCoord.h
+++ b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/BinAndCoord.h
@@ -8,10 +8,6 @@
     email                : e.moyse@qmul.ac.uk
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 
 
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/CPAlgorithm.h b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/CPAlgorithm.h
index 68be2af72fd7..fcc1d6ce7b6f 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/CPAlgorithm.h
+++ b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/CPAlgorithm.h
@@ -9,10 +9,6 @@
     email                : Alan.Watson@cern.ch
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 #ifndef CPALGORITHM_H
 #define CPALGORITHM_H
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/CPMTobAlgorithm.h b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/CPMTobAlgorithm.h
index 8724f92552e9..544d658c08e5 100644
--- a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/CPMTobAlgorithm.h
+++ b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/CPMTobAlgorithm.h
@@ -8,10 +8,6 @@
     email                : Alan.Watson@cern.ch
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 #ifndef CPMTobAlgorithm_H
 #define CPMTobAlgorithm_H
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/ClusterProcessorModuleKey.h b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/ClusterProcessorModuleKey.h
index c9dd0d9f97a0..918a7ac6492a 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/ClusterProcessorModuleKey.h
+++ b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/ClusterProcessorModuleKey.h
@@ -8,10 +8,6 @@
     email                : e.moyse@qmw.ac.uk
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 #ifndef ClusterProcessorModuleKey_H
 #define ClusterProcessorModuleKey_H
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/CoordToHardware.h b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/CoordToHardware.h
index df577af88aaa..6b20cda2a88e 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/CoordToHardware.h
+++ b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/CoordToHardware.h
@@ -8,10 +8,6 @@
     email                : moyse@ph.qmw.ac.uk
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 #ifndef COORDTOHARDWARE_H
 #define COORDTOHARDWARE_H
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/CrateEnergy.h b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/CrateEnergy.h
index 8929c88694ae..1e5f80ef5149 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/CrateEnergy.h
+++ b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/CrateEnergy.h
@@ -8,10 +8,6 @@
     email                : Alan.Watson@cern.ch
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 
 
@@ -67,8 +63,7 @@ private:
   bool m_debug;
   static const unsigned int m_sumBitsTC=15;
   static const unsigned int m_sumBits=14;
-  static const unsigned int m_jemEtSaturation=4032;
-
+  static const unsigned int m_jemEtSaturation= 0x3fff; // was 4032
 private:
   unsigned int encodeTC(int input) const;
   int decodeTC(unsigned int input) const;
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/ICoordinate.h b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/ICoordinate.h
index eb40a8f7375a..4e1ac778ca76 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/ICoordinate.h
+++ b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/ICoordinate.h
@@ -8,10 +8,6 @@
     email                : e.moyse@qmul.ac.uk
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 
 
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/JEMJetAlgorithm.h b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/JEMJetAlgorithm.h
index b07c840b2423..f7759254fff1 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/JEMJetAlgorithm.h
+++ b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/JEMJetAlgorithm.h
@@ -8,10 +8,6 @@
     email                : Alan.Watson@cern.ch
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 #ifndef JETALGORITHM_H
 #define JETALGORITHM_H
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/JetAlgorithm.h b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/JetAlgorithm.h
index 3fef9fc3c091..0811eecc0381 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/JetAlgorithm.h
+++ b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/JetAlgorithm.h
@@ -8,10 +8,6 @@
     email                : Alan.Watson@cern.ch
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 #ifndef JETALGORITHM_H
 #define JETALGORITHM_H
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/JetElementKey.h b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/JetElementKey.h
index 5397d38e0622..85e0b6c69e2e 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/JetElementKey.h
+++ b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/JetElementKey.h
@@ -8,10 +8,6 @@
     email                : Alan.Watson@cern.ch
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 #ifndef JetElementKey_H
 #define JetElementKey_H
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/JetElementKeyBase.h b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/JetElementKeyBase.h
index f390e044b45b..1bf0884ab409 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/JetElementKeyBase.h
+++ b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/JetElementKeyBase.h
@@ -10,10 +10,6 @@
   Converted to base class JetElementKeyBase by Alan Watson, 20/01/06
 ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 #ifndef JetElementKeyBase_H
 #define JetElementKeyBase_H
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/JetEnergyModuleKey.h b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/JetEnergyModuleKey.h
index 89fd2f4291b4..b4a93aa5390b 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/JetEnergyModuleKey.h
+++ b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/JetEnergyModuleKey.h
@@ -8,10 +8,6 @@
     email                : e.moyse@qmw.ac.uk
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 #ifndef JETENERGYMODULEKEY_H
 #define JETENERGYMODULEKEY_H
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/JetInputKey.h b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/JetInputKey.h
index 67a9a84951e1..60957aa2c0b8 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/JetInputKey.h
+++ b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/JetInputKey.h
@@ -8,10 +8,6 @@
     email                : Alan.Watson@cern.ch
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 #ifndef JetInputKey_H
 #define JetInputKey_H
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/KeyUtilities.h b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/KeyUtilities.h
index cea7f5d90d18..d174d4a5689e 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/KeyUtilities.h
+++ b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/KeyUtilities.h
@@ -8,10 +8,6 @@
     email                : e.moyse@qmw.ac.uk
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 #ifndef KeyUtilities_H
 #define KeyUtilities_H
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/L1TopoDataMaker.h b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/L1TopoDataMaker.h
index 51b11ff760cf..89f9b84d6617 100644
--- a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/L1TopoDataMaker.h
+++ b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/L1TopoDataMaker.h
@@ -5,10 +5,6 @@
 // L1TopoDataMaker.h, 
 ///////////////////////////////////////////////////////////////////
 
- /***************************************************************************
-  *                                                                         *
-  *                                                                         *
-  ***************************************************************************/
 
 #ifndef L1TOPODATAMAKER_H
 #define L1TOPODATAMAKER_H
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/ModuleEnergy.h b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/ModuleEnergy.h
index 0389606147ed..1ac9715bf2fe 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/ModuleEnergy.h
+++ b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/ModuleEnergy.h
@@ -8,10 +8,6 @@
     email                : Alan.Watson@cern.ch
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 #ifndef MODULEENERGY_H
 #define MODULEENERGY_H
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/Parity.h b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/Parity.h
index f0168724f9a8..c19c1b97e6e8 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/Parity.h
+++ b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/Parity.h
@@ -8,10 +8,6 @@
     email                : moyse@zanzibar
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 #ifndef PARITY_H
 #define PARITY_H
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/QuadLinear.h b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/QuadLinear.h
index 93e6d9e93273..9258b0c28138 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/QuadLinear.h
+++ b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/QuadLinear.h
@@ -8,10 +8,6 @@
     email                : Alan.Watson@cern.ch
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
                                                                                 
  #ifndef QUADLINEAR_H
  #define QUADLINEAR_H
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/SystemEnergy.h b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/SystemEnergy.h
index 3e4ed2fc2155..617041eb1f84 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/SystemEnergy.h
+++ b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/SystemEnergy.h
@@ -8,10 +8,6 @@
     email                : Alan.Watson@cern.ch
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 
 
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/TriggerTowerKey.h b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/TriggerTowerKey.h
index afb0b43d7ca9..ee241d33cade 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/TriggerTowerKey.h
+++ b/Trigger/TrigT1/TrigT1CaloUtils/TrigT1CaloUtils/TriggerTowerKey.h
@@ -8,10 +8,6 @@
     email                : e.moyse@qmw.ac.uk
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 #ifndef TRIGGERTOWERKEY_H
 
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/src/CPAlgorithm.cxx b/Trigger/TrigT1/TrigT1CaloUtils/src/CPAlgorithm.cxx
index 9ad110f47f5c..df976804587e 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/src/CPAlgorithm.cxx
+++ b/Trigger/TrigT1/TrigT1CaloUtils/src/CPAlgorithm.cxx
@@ -9,10 +9,6 @@
     email                : Alan.Watson@cern.ch
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 #include "TrigT1CaloUtils/CPAlgorithm.h"
 
 #include "TrigConfL1Data/L1DataDef.h"
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/src/CPMTobAlgorithm.cxx b/Trigger/TrigT1/TrigT1CaloUtils/src/CPMTobAlgorithm.cxx
index 2548d96da8e6..c5ef9d4221b1 100644
--- a/Trigger/TrigT1/TrigT1CaloUtils/src/CPMTobAlgorithm.cxx
+++ b/Trigger/TrigT1/TrigT1CaloUtils/src/CPMTobAlgorithm.cxx
@@ -9,10 +9,6 @@
     email                : Alan.Watson@cern.ch
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 #include "TrigT1CaloUtils/CPMTobAlgorithm.h"
 #include "TrigConfL1Data/L1DataDef.h"
 #include "TrigT1Interfaces/TrigT1CaloDefs.h"
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/src/ClusterProcessorModuleKey.cxx b/Trigger/TrigT1/TrigT1CaloUtils/src/ClusterProcessorModuleKey.cxx
index 469ddef72396..8183ff52f1eb 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/src/ClusterProcessorModuleKey.cxx
+++ b/Trigger/TrigT1/TrigT1CaloUtils/src/ClusterProcessorModuleKey.cxx
@@ -8,10 +8,6 @@
     email                : e.moyse@qmw.ac.uk
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 #ifndef  TRIGGERSPACE
 // running in Athena
 #include "TrigT1CaloUtils/ClusterProcessorModuleKey.h"
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/src/CoordToHardware.cxx b/Trigger/TrigT1/TrigT1CaloUtils/src/CoordToHardware.cxx
index 924b72b23bea..89f57fff3077 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/src/CoordToHardware.cxx
+++ b/Trigger/TrigT1/TrigT1CaloUtils/src/CoordToHardware.cxx
@@ -8,10 +8,6 @@
     email                : moyse@ph.qmw.ac.uk
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 #ifndef TRIGGERSPACE
 #include "TrigT1CaloUtils/CoordToHardware.h"
 #else
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/src/CrateEnergy.cxx b/Trigger/TrigT1/TrigT1CaloUtils/src/CrateEnergy.cxx
index 9bc9078ca8fb..767d54d387ca 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/src/CrateEnergy.cxx
+++ b/Trigger/TrigT1/TrigT1CaloUtils/src/CrateEnergy.cxx
@@ -8,10 +8,6 @@
     email                : Alan.Watson@cern.ch
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 #include "TrigT1CaloUtils/CrateEnergy.h"
 
@@ -63,27 +59,28 @@ CrateEnergy::CrateEnergy(unsigned int crate, const DataVector<ModuleEnergy>* JEM
   }   // Loop over JEMs
   
   /** Check for overflows then truncate quadrant sums*/
-  unsigned int mask = (1<<m_sumBits) - 1;
-  for (int quad = 0; quad < 2; quad++) {
-    if (eT[quad] > mask) m_overflowT = 1;
-    eT[quad] = eT[quad]&mask ;
-    
-    if (eX[quad] > mask) m_overflowX = 1;
-    eX[quad] = eX[quad]&mask ;
-    
-    if (eY[quad] > mask) m_overflowY = 1;
-    eY[quad] = eY[quad]&mask ;
-  }
+  unsigned int mask = (1 << m_sumBits) - 1;
 
   /** Form crate sums */
   /** For total ET we must check for further overflows */
   m_crateEt = eT[0] + eT[1];
-  if (m_crateEt > mask) m_overflowT = 1;
-  m_crateEt = m_crateEt&mask ;
+  if (m_crateEt >= mask){
+    m_overflowT = 1;
+    m_crateEt = mask;
+  }
 
-  /** No further overflow can occur during Ex, Ey summing (subtraction) */
-  m_crateEx = eX[0] - eX[1];
-  m_crateEy = eY[0] - eY[1];
+ 
+  if (!m_overflowX){
+    m_crateEx = eX[0] - eX[1];
+  } else{
+    m_crateEx = -(mask + 1);
+  }
+  if (!m_overflowY){
+    m_crateEy = eY[0] - eY[1];
+  }else{
+    m_crateEy = -(mask + 1);
+  }
+  
 
   if (m_debug) {
     std::cout << "CrateEnergy: crate " << m_crate << " results " << std::endl
@@ -143,26 +140,26 @@ CrateEnergy::CrateEnergy(unsigned int crate, const DataVector<EnergyCMXData>* JE
   
   /** Check for overflows then truncate quadrant sums*/
   unsigned int mask = (1<<m_sumBits) - 1;
-  for (int quad = 0; quad < 2; quad++) {
-    if (eT[quad] > mask) m_overflowT = 1;
-    eT[quad] = eT[quad]&mask ;
-    
-    if (eX[quad] > mask) m_overflowX = 1;
-    eX[quad] = eX[quad]&mask ;
-    
-    if (eY[quad] > mask) m_overflowY = 1;
-    eY[quad] = eY[quad]&mask ;
-  }
+
 
   /** Form crate sums */
   /** For total ET we must check for further overflows */
   m_crateEt = eT[0] + eT[1];
-  if (m_crateEt > mask) m_overflowT = 1;
-  m_crateEt = m_crateEt&mask ;
+  if (m_crateEt >= mask){
+    m_overflowT = 1;
+    m_crateEt = mask;
+  }
 
-  /** No further overflow can occur during Ex, Ey summing (subtraction) */
-  m_crateEx = eX[0] - eX[1];
-  m_crateEy = eY[0] - eY[1];
+  if (!m_overflowX){
+    m_crateEx = eX[0] - eX[1];
+  } else{
+    m_crateEx = -(mask + 1);
+  }
+  if (!m_overflowY){
+    m_crateEy = eY[0] - eY[1];
+  }else{
+    m_crateEy = -(mask + 1);
+  }
 
   if (m_debug) {
     std::cout << "CrateEnergy: crate " << m_crate << " results " << std::endl
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/src/InternalTriggerTower.cxx b/Trigger/TrigT1/TrigT1CaloUtils/src/InternalTriggerTower.cxx
index 72359afe6f9a..df697d047faa 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/src/InternalTriggerTower.cxx
+++ b/Trigger/TrigT1/TrigT1CaloUtils/src/InternalTriggerTower.cxx
@@ -8,10 +8,6 @@
     email                : Alan.Watson@cern.ch
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 #include "TrigT1CaloUtils/InternalTriggerTower.h"
 
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/src/JEMJetAlgorithm.cxx b/Trigger/TrigT1/TrigT1CaloUtils/src/JEMJetAlgorithm.cxx
index abdf133a9d38..312efe6141ce 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/src/JEMJetAlgorithm.cxx
+++ b/Trigger/TrigT1/TrigT1CaloUtils/src/JEMJetAlgorithm.cxx
@@ -8,10 +8,6 @@
     email                : Alan.Watson@cern.ch
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 #include "TrigT1CaloUtils/JEMJetAlgorithm.h"
 #include "TrigConfL1Data/L1DataDef.h"
 #include "TrigT1Interfaces/TrigT1CaloDefs.h"
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/src/JetAlgorithm.cxx b/Trigger/TrigT1/TrigT1CaloUtils/src/JetAlgorithm.cxx
index 438f338f4615..e5340e5a1f3e 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/src/JetAlgorithm.cxx
+++ b/Trigger/TrigT1/TrigT1CaloUtils/src/JetAlgorithm.cxx
@@ -8,10 +8,6 @@
     email                : Alan.Watson@cern.ch
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 #include "TrigT1CaloUtils/JetAlgorithm.h"
 #include "TrigConfL1Data/L1DataDef.h"
 #include "TrigConfL1Data/CTPConfig.h"
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/src/JetElementKey.cxx b/Trigger/TrigT1/TrigT1CaloUtils/src/JetElementKey.cxx
index 72f0902d3212..59642c765d2c 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/src/JetElementKey.cxx
+++ b/Trigger/TrigT1/TrigT1CaloUtils/src/JetElementKey.cxx
@@ -8,10 +8,6 @@
     email                : e.moyse@qmw.ac.uk
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 #ifndef  TRIGGERSPACE
 // running in Athena
 #include "TrigT1CaloUtils/JetElementKey.h"
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/src/JetElementKeyBase.cxx b/Trigger/TrigT1/TrigT1CaloUtils/src/JetElementKeyBase.cxx
index 0af624dd2412..e4cccf02e674 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/src/JetElementKeyBase.cxx
+++ b/Trigger/TrigT1/TrigT1CaloUtils/src/JetElementKeyBase.cxx
@@ -10,10 +10,6 @@
   Converted to base class JetElementKeyBase by Alan Watson, 20/01/06
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 #ifndef  TRIGGERSPACE
 // running in Athena
 #include "TrigT1CaloUtils/JetElementKeyBase.h"
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/src/JetEnergyModuleKey.cxx b/Trigger/TrigT1/TrigT1CaloUtils/src/JetEnergyModuleKey.cxx
index e5af5cb0538a..195a4d8b3e83 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/src/JetEnergyModuleKey.cxx
+++ b/Trigger/TrigT1/TrigT1CaloUtils/src/JetEnergyModuleKey.cxx
@@ -8,10 +8,6 @@
     email                : e.moyse@qmw.ac.uk
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 #ifndef  TRIGGERSPACE
 // running in Athena
 #include "TrigT1Interfaces/TrigT1CaloDefs.h"
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/src/JetInputKey.cxx b/Trigger/TrigT1/TrigT1CaloUtils/src/JetInputKey.cxx
index e2383f28956f..43cb32053ba7 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/src/JetInputKey.cxx
+++ b/Trigger/TrigT1/TrigT1CaloUtils/src/JetInputKey.cxx
@@ -8,10 +8,6 @@
     email                : Alan.Watson@cern.ch
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 #ifndef  TRIGGERSPACE
 // running in Athena
 #include "TrigT1CaloUtils/JetInputKey.h"
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/src/KeyUtilities.cxx b/Trigger/TrigT1/TrigT1CaloUtils/src/KeyUtilities.cxx
index 91a8ce256849..e427f08d2c92 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/src/KeyUtilities.cxx
+++ b/Trigger/TrigT1/TrigT1CaloUtils/src/KeyUtilities.cxx
@@ -8,10 +8,6 @@
     email                : e.moyse@qmw.ac.uk
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 #ifndef  TRIGGERSPACE
 // running in Athena
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/src/L1TopoDataMaker.cxx b/Trigger/TrigT1/TrigT1CaloUtils/src/L1TopoDataMaker.cxx
index cf10e2b47077..c1f0e99f3475 100644
--- a/Trigger/TrigT1/TrigT1CaloUtils/src/L1TopoDataMaker.cxx
+++ b/Trigger/TrigT1/TrigT1CaloUtils/src/L1TopoDataMaker.cxx
@@ -2,7 +2,7 @@
   Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 */
 ///////////////////////////////////////////////////////////////////
-// L1TopoDataMaker.cxx,  
+// L1TopoDataMaker.cxx, 
 ///////////////////////////////////////////////////////////////////
 
 #include "TrigT1CaloUtils/L1TopoDataMaker.h"
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/src/ModuleEnergy.cxx b/Trigger/TrigT1/TrigT1CaloUtils/src/ModuleEnergy.cxx
index 0ed5b9752812..952625d74e76 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/src/ModuleEnergy.cxx
+++ b/Trigger/TrigT1/TrigT1CaloUtils/src/ModuleEnergy.cxx
@@ -9,10 +9,6 @@
     email                : Alan.Watson@cern.ch
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 #include "TrigT1CaloUtils/ModuleEnergy.h"
 #include "TrigT1CaloUtils/QuadLinear.h"
 
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/src/Parity.cxx b/Trigger/TrigT1/TrigT1CaloUtils/src/Parity.cxx
index ec9fbb50ee16..b473da1aa215 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/src/Parity.cxx
+++ b/Trigger/TrigT1/TrigT1CaloUtils/src/Parity.cxx
@@ -8,10 +8,6 @@
     email                : moyse@zanzibar
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 #include "TrigT1CaloUtils/Parity.h"
 
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/src/QuadLinear.cxx b/Trigger/TrigT1/TrigT1CaloUtils/src/QuadLinear.cxx
index 424671f82525..3a7322f9db94 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/src/QuadLinear.cxx
+++ b/Trigger/TrigT1/TrigT1CaloUtils/src/QuadLinear.cxx
@@ -8,10 +8,6 @@
     email                : Alan.Watson@cern.ch
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 #include "TrigT1CaloUtils/QuadLinear.h"
 
 namespace LVL1 {
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/src/SystemEnergy.cxx b/Trigger/TrigT1/TrigT1CaloUtils/src/SystemEnergy.cxx
index 59164952a9d6..c056897e459f 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/src/SystemEnergy.cxx
+++ b/Trigger/TrigT1/TrigT1CaloUtils/src/SystemEnergy.cxx
@@ -8,10 +8,6 @@
     email                : Alan.Watson@cern.ch
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 #include "TrigT1CaloUtils/SystemEnergy.h"
 #include "TrigT1Interfaces/TrigT1CaloDefs.h"
@@ -24,210 +20,241 @@
 
 using namespace TrigConf;
 
-namespace LVL1 {
-
-SystemEnergy::SystemEnergy(const DataVector<CrateEnergy>* crates, ServiceHandle<TrigConf::ITrigConfigSvc> config):
-  m_configSvc(config),
-  m_systemEx(0),
-  m_systemEy(0),
-  m_systemEt(0),
-  m_overflowX(0),
-  m_overflowY(0),
-  m_overflowT(0),
-  m_restricted(0),
-  m_etMissHits(0),
-  m_etSumHits(0),
-  m_metSigHits(0),
-  m_debug(false)
-  {
+namespace LVL1
+{
+
+SystemEnergy::SystemEnergy(const DataVector<CrateEnergy> *crates, ServiceHandle<TrigConf::ITrigConfigSvc> config) : m_configSvc(config),
+                                                                                                                    m_systemEx(0),
+                                                                                                                    m_systemEy(0),
+                                                                                                                    m_systemEt(0),
+                                                                                                                    m_overflowX(0),
+                                                                                                                    m_overflowY(0),
+                                                                                                                    m_overflowT(0),
+                                                                                                                    m_restricted(0),
+                                                                                                                    m_etMissHits(0),
+                                                                                                                    m_etSumHits(0),
+                                                                                                                    m_metSigHits(0),
+                                                                                                                    m_debug(false)
+{
+
+  int xyMax = 1 << (m_sumBits - 1);
 
   /** Get Ex, Ey, ET sums from crates and form global sums <br>
       Propagate overflows and test for new ones <br> */
 
   DataVector<CrateEnergy>::const_iterator it = crates->begin();
-  for ( ; it != crates->end(); it++) {
-    if ((*it)->crate() == 0) {
+  for (; it != crates->end(); it++)
+  {
+    if ((*it)->crate() == 0)
+    {
       m_systemEx += (*it)->ex();
       m_systemEy += (*it)->ey();
       m_systemEt += (*it)->et();
     }
-    else if ((*it)->crate() == 1) {
+    else if ((*it)->crate() == 1)
+    {
       m_systemEx -= (*it)->ex();
       m_systemEy += (*it)->ey();
       m_systemEt += (*it)->et();
     }
-    m_overflowX = m_overflowX|(*it)->exOverflow();
-    m_overflowY = m_overflowY|(*it)->eyOverflow();
-    m_overflowT = m_overflowT|(*it)->etOverflow();
-   
-    if ((*it)->restricted()) m_restricted = 1;
+    
+    m_overflowX = m_overflowX | ((*it)->ex() == -xyMax);
+    m_overflowY = m_overflowY | ((*it)->ey() == -xyMax);
+    m_overflowT = m_overflowT | ((*it)->et() == m_maxEtSumThr);
+
+    if ((*it)->restricted())
+      m_restricted = 1;
   }
-  
+
   /** Check for EtSum overflow */
-  if (m_overflowT != 0) m_systemEt = m_etSumOverflow;
-  /** Check for overflow of Ex, Ey sums */
-  int xyMax = (1<<(m_sumBits-1)) - 1;
-  if (abs(m_systemEx) > xyMax) {
+  if (m_overflowT != 0) {
+    m_systemEt = m_etSumOverflow;
+  }
+    
+
+
+  if ((abs(m_systemEx) >= xyMax) || m_overflowX)
+  {
     m_overflowX = 1;
-    m_systemEx = (m_systemEx > 0 ? 1 : -1) * ( abs(m_systemEx)&xyMax );
+    m_systemEx = -xyMax;
   }
-  if (abs(m_systemEy) > xyMax) {
+
+  if ((abs(m_systemEy) >= xyMax) || m_overflowY)
+  {
     m_overflowY = 1;
-    m_systemEy = (m_systemEy > 0 ? 1 : -1) * ( abs(m_systemEy)&xyMax );
+    m_systemEy = -xyMax;
   }
- 
 
-  if (m_debug) {
+  if (m_debug)
+  {
     std::cout << "SystemEnergy results: " << std::endl
-              << "   Et "  << m_systemEt << " overflow " << m_overflowT << std::endl
-              << "   Ex "  << m_systemEx << " overflow " << m_overflowX << std::endl
-              << "   Ey "  << m_systemEy << " overflow " << m_overflowY << std::endl;
-              
+              << "   Et " << m_systemEt << " overflow " << m_overflowT << std::endl
+              << "   Ex " << m_systemEx << " overflow " << m_overflowX << std::endl
+              << "   Ey " << m_systemEy << " overflow " << m_overflowY << std::endl;
   }
 
   /** Having completed sums, we can now compare with thresholds */
   etMissTrigger();
   etSumTrigger();
   metSigTrigger();
-  
 }
 
 SystemEnergy::SystemEnergy(unsigned int et, unsigned int exTC, unsigned int eyTC,
                            unsigned int overflowT, unsigned int overflowX,
-			   unsigned int overflowY, unsigned int restricted,
-			   ServiceHandle<TrigConf::ITrigConfigSvc> config):
-  m_configSvc(config),
-  m_systemEx(0),
-  m_systemEy(0),
-  m_systemEt(et),
-  m_overflowX(overflowX),
-  m_overflowY(overflowY),
-  m_overflowT(overflowT),
-  m_restricted(restricted),
-  m_etMissHits(0),
-  m_etSumHits(0),
-  m_metSigHits(0),
-  m_debug(false)
+                           unsigned int overflowY, unsigned int restricted,
+                           ServiceHandle<TrigConf::ITrigConfigSvc> config) : m_configSvc(config),
+                                                                             m_systemEx(0),
+                                                                             m_systemEy(0),
+                                                                             m_systemEt(et),
+                                                                             m_overflowX(overflowX),
+                                                                             m_overflowY(overflowY),
+                                                                             m_overflowT(overflowT),
+                                                                             m_restricted(restricted),
+                                                                             m_etMissHits(0),
+                                                                             m_etSumHits(0),
+                                                                             m_metSigHits(0),
+                                                                             m_debug(false)
 {
+
   m_systemEx = decodeTC(exTC);
   m_systemEy = decodeTC(eyTC);
 
-  if (m_debug) {
+  int xyMax = 1 << (m_sumBits - 1);
+
+  m_overflowT = m_systemEt == m_etSumOverflow;
+  m_overflowX = m_systemEx == -xyMax;
+  m_overflowY = m_systemEy == -xyMax;
+
+  if (m_debug)
+  {
     std::cout << "SystemEnergy results: " << std::endl
-              << "   Et "  << m_systemEt << " overflow " << m_overflowT << std::endl
-              << "   Ex "  << m_systemEx << " overflow " << m_overflowX << std::endl
-              << "   Ey "  << m_systemEy << " overflow " << m_overflowY << std::endl;
-              
+              << "   Et " << m_systemEt << " overflow " << m_overflowT << std::endl
+              << "   Ex " << m_systemEx << " overflow " << m_overflowX << std::endl
+              << "   Ey " << m_systemEy << " overflow " << m_overflowY << std::endl;
   }
 
   /** Having completed sums, we can now compare with thresholds */
   etMissTrigger();
   etSumTrigger();
   metSigTrigger();
-
 }
 
-SystemEnergy::~SystemEnergy(){
+SystemEnergy::~SystemEnergy()
+{
 }
 
 /** return crate Et */
-int SystemEnergy::et() {
+int SystemEnergy::et()
+{
   return m_systemEt;
 }
 
 /** return crate Ex */
-int SystemEnergy::ex() {
+int SystemEnergy::ex()
+{
   return m_systemEx;
 }
 
 /** return crate Ey */
-int SystemEnergy::ey() {
+int SystemEnergy::ey()
+{
   return m_systemEy;
 }
 
 /** return Et overflow bit */
-unsigned int SystemEnergy::etOverflow() {
+unsigned int SystemEnergy::etOverflow()
+{
   return m_overflowT & 0x1;
 }
 
 /** return Ex overflow bit */
-unsigned int SystemEnergy::exOverflow() {
+unsigned int SystemEnergy::exOverflow()
+{
   return m_overflowX & 0x1;
 }
 
 /** return Ey overflow bit */
-unsigned int SystemEnergy::eyOverflow() {
+unsigned int SystemEnergy::eyOverflow()
+{
   return m_overflowY & 0x1;
 }
 
 /** return crate Ex in 15-bit twos-complement format (hardware format) */
-unsigned int SystemEnergy::exTC() {
-  return encodeTC(m_systemEx) ;
+unsigned int SystemEnergy::exTC()
+{
+  return encodeTC(m_systemEx);
 }
 
 /** return crate Ey in 15-bit twos-complement format (hardware format) */
-unsigned int SystemEnergy::eyTC() {
-  return encodeTC(m_systemEy) ;
+unsigned int SystemEnergy::eyTC()
+{
+  return encodeTC(m_systemEy);
 }
 
 /** return EtMiss hits */
-unsigned int SystemEnergy::etMissHits() {
+unsigned int SystemEnergy::etMissHits()
+{
   return m_etMissHits;
 }
 
 /** return EtSum hits */
-unsigned int SystemEnergy::etSumHits() {
+unsigned int SystemEnergy::etSumHits()
+{
   return m_etSumHits;
 }
 
 /** return MEtSig hits */
-unsigned int SystemEnergy::metSigHits() {
+unsigned int SystemEnergy::metSigHits()
+{
   return m_metSigHits;
 }
 
 /** return RoI word 0 (Ex value & overflow) */
-unsigned int SystemEnergy::roiWord0() {
+unsigned int SystemEnergy::roiWord0()
+{
   // Start by setting up header
-  unsigned int word = TrigT1CaloDefs::energyRoIType<<30 ;
-  word += TrigT1CaloDefs::energyRoI0<<28;
+  unsigned int word = TrigT1CaloDefs::energyRoIType << 30;
+  word += TrigT1CaloDefs::energyRoI0 << 28;
   // set full/restricted eta range flag
-  word += (m_restricted&1)<<26;
+  word += (m_restricted & 1) << 26;
   // add MET Significance hits
-  word += metSigHits()<<16;
+  word += metSigHits() << 16;
   // add Ex overflow bit
-  word += exOverflow()<<15;
+  word += exOverflow() << 15;
   // add Ex value (twos-complement)
   word += exTC();
   return word;
 }
 
 /** return RoI word 1 (Ey value & overflow, EtSum hits) */
-unsigned int SystemEnergy::roiWord1() {
+unsigned int SystemEnergy::roiWord1()
+{
   // Start by setting up header
-  unsigned int word = TrigT1CaloDefs::energyRoIType<<30 ;
-  word += TrigT1CaloDefs::energyRoI1<<28;
+  unsigned int word = TrigT1CaloDefs::energyRoIType << 30;
+  word += TrigT1CaloDefs::energyRoI1 << 28;
   // set full/restricted eta range flag
-  word += (m_restricted&1)<<26;
+  word += (m_restricted & 1) << 26;
   // add EtSum hits
-  word += etSumHits()<<16;
+  word += etSumHits() << 16;
   // add Ey overflow bit
-  word += eyOverflow()<<15;
+  word += eyOverflow() << 15;
   // add Ey value (twos-complement)
   word += eyTC();
   return word;
 }
 
 /** return RoI word 2 (Et value & overflow, EtMiss hits) */
-unsigned int SystemEnergy::roiWord2() {
+unsigned int SystemEnergy::roiWord2()
+{
   // Start by setting up header
-  unsigned int word = TrigT1CaloDefs::energyRoIType<<30 ;
-  word += TrigT1CaloDefs::energyRoI2<<28;
+  unsigned int word = TrigT1CaloDefs::energyRoIType << 30;
+  word += TrigT1CaloDefs::energyRoI2 << 28;
   // set full/restricted eta range flag
-  word += (m_restricted&1)<<26;
+  word += (m_restricted & 1) << 26;
   // add EtMiss hits
-  word += etMissHits()<<16;
+  word += etMissHits() << 16;
   // add Et overflow bit
-  word += etOverflow()<<15;
+  word += etOverflow() << 15;
   // add Et value (unsigned)
   word += et();
   return word;
@@ -236,87 +263,97 @@ unsigned int SystemEnergy::roiWord2() {
 /** Test Ex, Ey sums against ETmiss thresholds <br>
     Regrettably not as simple as it sounds if we emulate hardware! <br>
     See CMM specificiation from L1Calo web pages for details */
-void SystemEnergy::etMissTrigger() {
+void SystemEnergy::etMissTrigger()
+{
   /// Start cleanly
   m_etMissHits = 0;
-  
+
   /// Calculate MET^2
-  m_etMissQ = m_systemEx*m_systemEx + m_systemEy*m_systemEy;
-  
+  m_etMissQ = m_systemEx * m_systemEx + m_systemEy * m_systemEy;
+
   /// Ex or Ey overflow automatically fires all thresholds
-  if ( (m_overflowX != 0) || (m_overflowY != 0) ) {
-    m_etMissHits = (1<<TrigT1CaloDefs::numOfMissingEtThresholds) - 1;
+  if ((m_overflowX != 0) || (m_overflowY != 0))
+  {
+    m_etMissHits = (1 << TrigT1CaloDefs::numOfMissingEtThresholds) - 1;
     return;
   }
-  
+
   /// Otherwise see which thresholds were passed
-  
+
   // Get thresholds
-  std::vector<TriggerThreshold*> thresholds = m_configSvc->ctpConfig()->menu().thresholdVector();
-  std::vector<TriggerThreshold*>::const_iterator it;
+  std::vector<TriggerThreshold *> thresholds = m_configSvc->ctpConfig()->menu().thresholdVector();
+  std::vector<TriggerThreshold *>::const_iterator it;
   //float etScale = m_configSvc->thresholdConfig()->caloInfo().globalJetScale();
-  
+
   // get Threshold values and test
 
   L1DataDef def;
-  for (it = thresholds.begin(); it != thresholds.end(); ++it) {
-    if ( (*it)->type() == def.xeType() ) {
-      TriggerThresholdValue* tv = (*it)->triggerThresholdValue(0,0);       
+  for (it = thresholds.begin(); it != thresholds.end(); ++it)
+  {
+    if ((*it)->type() == def.xeType())
+    {
+      TriggerThresholdValue *tv = (*it)->triggerThresholdValue(0, 0);
       int thresholdValue = (*tv).thresholdValueCount();
-      uint32_t tvQ = thresholdValue*thresholdValue;
+      uint32_t tvQ = thresholdValue * thresholdValue;
       int threshNumber = (*it)->thresholdNumber();
-      if (m_restricted == 0 && threshNumber < 8) {
-        if ( m_etMissQ > tvQ )
-           m_etMissHits = m_etMissHits|(1<<threshNumber);
+      if (m_restricted == 0 && threshNumber < 8)
+      {
+        if (m_etMissQ > tvQ)
+          m_etMissHits = m_etMissHits | (1 << threshNumber);
       }
-      else if (m_restricted != 0 && threshNumber >= 8) {
-	if ( m_etMissQ > tvQ )
-           m_etMissHits = m_etMissHits|(1<<(threshNumber-8));
+      else if (m_restricted != 0 && threshNumber >= 8)
+      {
+        if (m_etMissQ > tvQ)
+          m_etMissHits = m_etMissHits | (1 << (threshNumber - 8));
       }
     }
   }
 
   return;
-  
 }
 
 /** Test Et sum against ETsum thresholds */
-void SystemEnergy::etSumTrigger() {
+void SystemEnergy::etSumTrigger()
+{
   // Start cleanly
   m_etSumHits = 0;
 
   // Overflow of any sort automatically fires all thresholds
-  if (m_overflowT != 0 || m_systemEt > m_maxEtSumThr) {
-    m_etSumHits = (1<<TrigT1CaloDefs::numOfSumEtThresholds) - 1;
+  if (m_overflowT != 0 || m_systemEt > m_maxEtSumThr)
+  {
+    m_etSumHits = (1 << TrigT1CaloDefs::numOfSumEtThresholds) - 1;
     return;
   }
-  
+
   // Get thresholds
-  std::vector<TriggerThreshold*> thresholds = m_configSvc->ctpConfig()->menu().thresholdVector();
-  std::vector<TriggerThreshold*>::const_iterator it;
+  std::vector<TriggerThreshold *> thresholds = m_configSvc->ctpConfig()->menu().thresholdVector();
+  std::vector<TriggerThreshold *>::const_iterator it;
   //float etScale = m_configSvc->thresholdConfig()->caloInfo().globalJetScale();
-  
+
   // get Threshold values and test
   // Since eta-dependent values are being used to disable TE in regions, must find lowest value for each threshold
   L1DataDef def;
-  for (it = thresholds.begin(); it != thresholds.end(); ++it) {
-    if ( (*it)->type() == def.teType() ) {
+  for (it = thresholds.begin(); it != thresholds.end(); ++it)
+  {
+    if ((*it)->type() == def.teType())
+    {
       int threshNumber = (*it)->thresholdNumber();
       int thresholdValue = m_maxEtSumThr;
-      std::vector<TriggerThresholdValue*> tvv = (*it)->thresholdValueVector();
-      for (std::vector<TriggerThresholdValue*>::const_iterator ittvv = tvv.begin(); ittvv != tvv.end(); ++ittvv) 
-	if ((*ittvv)->thresholdValueCount() < thresholdValue) thresholdValue = (*ittvv)->thresholdValueCount();
-
-      if (m_restricted == 0 && threshNumber < 8) {
-        if (static_cast<int>(m_systemEt) > thresholdValue )
-           m_etSumHits = m_etSumHits|(1<<threshNumber);
+      std::vector<TriggerThresholdValue *> tvv = (*it)->thresholdValueVector();
+      for (std::vector<TriggerThresholdValue *>::const_iterator ittvv = tvv.begin(); ittvv != tvv.end(); ++ittvv)
+        if ((*ittvv)->thresholdValueCount() < thresholdValue)
+          thresholdValue = (*ittvv)->thresholdValueCount();
+
+      if (m_restricted == 0 && threshNumber < 8)
+      {
+        if (static_cast<int>(m_systemEt) > thresholdValue)
+          m_etSumHits = m_etSumHits | (1 << threshNumber);
       }
-      else if (m_restricted != 0 && threshNumber >= 8) {
-	if (static_cast<int>(m_systemEt) > thresholdValue )
-           m_etSumHits = m_etSumHits|(1<<(threshNumber-8));
+      else if (m_restricted != 0 && threshNumber >= 8)
+      {
+        if (static_cast<int>(m_systemEt) > thresholdValue)
+          m_etSumHits = m_etSumHits | (1 << (threshNumber - 8));
       }
-      
-
     }
   }
 
@@ -324,13 +361,15 @@ void SystemEnergy::etSumTrigger() {
 }
 
 /** Test MEt Significance against METSig thresholds */
-void SystemEnergy::metSigTrigger() {
+void SystemEnergy::metSigTrigger()
+{
   /// Start cleanly
   m_metSigHits = 0;
-  
+
   /// No restricted eta MET significance trigger
-  if (m_restricted != 0) return; 
-  
+  if (m_restricted != 0)
+    return;
+
   /// Obtain parameters from configuration service
   METSigParam params = m_configSvc->thresholdConfig()->caloInfo().metSigParam();
   unsigned int Scale = params.xsSigmaScale();
@@ -341,71 +380,80 @@ void SystemEnergy::metSigTrigger() {
   int sqrtTEmax = params.teSqrtMax();
 
   /// Start with overflow and range checks
-  if ( (m_overflowX > 0) || (m_overflowY > 0) || (m_etMissQ > XEmax*XEmax) ) {
-    m_metSigHits = (1<<TrigT1CaloDefs::numOfMEtSigThresholds) - 1;
+  if ((m_overflowX > 0) || (m_overflowY > 0) || (m_etMissQ > XEmax * XEmax))
+  {
+    m_metSigHits = (1 << TrigT1CaloDefs::numOfMEtSigThresholds) - 1;
     return;
   }
-  else if ( (m_etMissQ < XEmin*XEmin) || (m_systemEt < sqrtTEmin*sqrtTEmin) || (m_systemEt > sqrtTEmax*sqrtTEmax) ) {
+  else if ((m_etMissQ < XEmin * XEmin) || (m_systemEt < sqrtTEmin * sqrtTEmin) || (m_systemEt > sqrtTEmax * sqrtTEmax))
+  {
     return;
   }
-  
+
   /// Perform threshold tests. Emulate firmware logic for this, so don't explicitly calculate XS
   /// Prepare factors we wil re-use for each threshold.
   /// Scale bQ to hardware precision
-  unsigned long aQ = Scale*Scale;
-  unsigned int bQ = ceil(Offset*Offset*1.e-6);
-  unsigned long fourbQTE = 4*bQ*m_systemEt;
+  unsigned long aQ = Scale * Scale;
+  unsigned int bQ = ceil(Offset * Offset * 1.e-6);
+  unsigned long fourbQTE = 4 * bQ * m_systemEt;
 
   // Get thresholds
-  std::vector<TriggerThreshold*> thresholds = m_configSvc->ctpConfig()->menu().thresholdVector();
-  std::vector<TriggerThreshold*>::const_iterator it;
-  
+  std::vector<TriggerThreshold *> thresholds = m_configSvc->ctpConfig()->menu().thresholdVector();
+  std::vector<TriggerThreshold *>::const_iterator it;
+
   /// get Threshold values and test
   /// aQTiQ has to be scaled to hardware precision after product formed
   L1DataDef def;
-  for (it = thresholds.begin(); it != thresholds.end(); ++it) {
-    if ( (*it)->type() == def.xsType() ) {
-        TriggerThresholdValue* tv = (*it)->triggerThresholdValue(0,0);
-	
-	int threshNumber = (*it)->thresholdNumber();
-	unsigned int Ti = (*tv).thresholdValueCount();
-	unsigned long aQTiQ = (0.5 + double(aQ*1.e-8)*Ti*Ti);
-
-        long left  = aQTiQ*aQTiQ*fourbQTE;
-        long right = aQTiQ*(m_systemEt+bQ) - m_etMissQ;
-	
-        if ( right < 0 || left > right*right ) m_metSigHits = m_metSigHits|(1<<threshNumber);
+  for (it = thresholds.begin(); it != thresholds.end(); ++it)
+  {
+    if ((*it)->type() == def.xsType())
+    {
+      TriggerThresholdValue *tv = (*it)->triggerThresholdValue(0, 0);
+
+      int threshNumber = (*it)->thresholdNumber();
+      unsigned int Ti = (*tv).thresholdValueCount();
+      unsigned long aQTiQ = (0.5 + double(aQ * 1.e-8) * Ti * Ti);
+
+      long left = aQTiQ * aQTiQ * fourbQTE;
+      long right = aQTiQ * (m_systemEt + bQ) - m_etMissQ;
+
+      if (right < 0 || left > right * right)
+        m_metSigHits = m_metSigHits | (1 << threshNumber);
     }
   }
-  
+
   return;
 }
 
 /** encode int as 15-bit twos-complement format (hardware Ex/Ey format) */
-unsigned int SystemEnergy::encodeTC(int input) {
+unsigned int SystemEnergy::encodeTC(int input)
+{
   unsigned int value;
 
-  if (input > 0) {
+  if (input > 0)
+  {
     value = input;
   }
-  else {
-    value = (1<<m_sumBits) + input;
+  else
+  {
+    value = (1 << m_sumBits) + input;
   }
 
-  int mask = (1<<m_sumBits) - 1;
-  return value&mask ;
+  int mask = (1 << m_sumBits) - 1;
+  return value & mask;
 }
 
 /** decode 15-bit twos-complement format (hardware Ex/Ey format) as int */
-int SystemEnergy::decodeTC(unsigned int input) {
+int SystemEnergy::decodeTC(unsigned int input)
+{
 
-  int mask = (1<<m_sumBits) - 1;
-  int value = input&mask;
+  int mask = (1 << m_sumBits) - 1;
+  int value = input & mask;
 
-  if ((value >> (m_sumBits - 1))) {
+  if ((value >> (m_sumBits - 1)))
+  {
     int complement = ~value;
-    value = -( (complement+1) & mask );
-
+    value = -((complement + 1) & mask);
   }
 
   return value;
diff --git a/Trigger/TrigT1/TrigT1CaloUtils/src/TriggerTowerKey.cxx b/Trigger/TrigT1/TrigT1CaloUtils/src/TriggerTowerKey.cxx
index 31ed055932ac..af1af7a5ad2b 100755
--- a/Trigger/TrigT1/TrigT1CaloUtils/src/TriggerTowerKey.cxx
+++ b/Trigger/TrigT1/TrigT1CaloUtils/src/TriggerTowerKey.cxx
@@ -8,10 +8,6 @@
     email                : e.moyse@qmw.ac.uk
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 #ifndef  TRIGGERSPACE
 // running in Athena
-- 
GitLab


From 60899ffb04d40822c90e5d576762051f3dfe8ff0 Mon Sep 17 00:00:00 2001
From: Dmitry Popov <Dmitry.Popov@cern.ch>
Date: Tue, 8 Jan 2019 17:43:41 +0100
Subject: [PATCH 016/192] Updated TrigT1CaloToolInterfaces

---
 .../TrigT1CaloToolInterfaces/IL1CPCMXTools.h           |  2 +-
 .../TrigT1CaloToolInterfaces/IL1CPHitsTools.h          |  2 +-
 .../TrigT1CaloToolInterfaces/IL1CPMTools.h             |  4 ----
 .../TrigT1CaloToolInterfaces/IL1CPMTowerTools.h        |  2 +-
 .../IL1DynamicPedestalProvider.h                       |  9 ++-------
 .../TrigT1CaloToolInterfaces/IL1EmTauTools.h           |  2 +-
 .../TrigT1CaloToolInterfaces/IL1EnergyCMXTools.h       |  2 +-
 .../TrigT1CaloToolInterfaces/IL1EtTools.h              | 10 +++++-----
 .../TrigT1CaloToolInterfaces/IL1JEMJetTools.h          |  2 +-
 .../TrigT1CaloToolInterfaces/IL1JEPEtSumsTools.h       |  2 +-
 .../TrigT1CaloToolInterfaces/IL1JEPHitsTools.h         |  2 +-
 .../TrigT1CaloToolInterfaces/IL1JetCMXTools.h          |  2 +-
 .../TrigT1CaloToolInterfaces/IL1JetElementTools.h      |  2 +-
 .../TrigT1CaloToolInterfaces/IL1JetEtTools.h           |  2 +-
 .../TrigT1CaloToolInterfaces/IL1JetTools.h             |  2 +-
 .../TrigT1CaloToolInterfaces/IL1RoITools.h             |  2 +-
 .../TrigT1CaloToolInterfaces/IL1TriggerTowerTool.h     |  5 -----
 17 files changed, 20 insertions(+), 34 deletions(-)

diff --git a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1CPCMXTools.h b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1CPCMXTools.h
index df6f00b4bf8c..50fb9d48f8c1 100644
--- a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1CPCMXTools.h
+++ b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1CPCMXTools.h
@@ -3,7 +3,7 @@
 */
 
 ///////////////////////////////////////////////////////////////////
-// IL1CPCMXTools.h, (c) ATLAS Detector software
+// IL1CPCMXTools.h, 
 ///////////////////////////////////////////////////////////////////
 #ifndef ILVL1L1CPCMXTOOLS_H
 #define ILVL1L1CPCMXTOOLS_H
diff --git a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1CPHitsTools.h b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1CPHitsTools.h
index 4fa3d60d45a1..6cdcb6076ba5 100644
--- a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1CPHitsTools.h
+++ b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1CPHitsTools.h
@@ -3,7 +3,7 @@
 */
 
 ///////////////////////////////////////////////////////////////////
-// IL1CPHitsTools.h, (c) ATLAS Detector software
+// IL1CPHitsTools.h, 
 ///////////////////////////////////////////////////////////////////
 #ifndef ILVL1L1CPHITSTOOLS_H
 #define ILVL1L1CPHITSTOOLS_H
diff --git a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1CPMTools.h b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1CPMTools.h
index 0e85114667ed..68ab722f6a0d 100644
--- a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1CPMTools.h
+++ b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1CPMTools.h
@@ -5,10 +5,6 @@
 // L1CPMTools.h, 
 ///////////////////////////////////////////////////////////////////
 
- /***************************************************************************
-  *                                                                         *
-  *                                                                         *
-  ***************************************************************************/
 
 #ifndef ILVL1L1CPMTOOLS_H
 #define ILVL1L1CPMTOOLS_H
diff --git a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1CPMTowerTools.h b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1CPMTowerTools.h
index 0b47a1a69dcc..c53775f1c86d 100755
--- a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1CPMTowerTools.h
+++ b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1CPMTowerTools.h
@@ -3,7 +3,7 @@
 */
 
 ///////////////////////////////////////////////////////////////////
-// IL1CPMTowerTools.h, (c) ATLAS Detector software
+// IL1CPMTowerTools.h, 
 ///////////////////////////////////////////////////////////////////
 #ifndef ILVL1L1CPMTOWERTOOLS_H
 #define ILVL1L1CPMTOWERTOOLS_H
diff --git a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1DynamicPedestalProvider.h b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1DynamicPedestalProvider.h
index e7bd4ec339ca..74314ff3ef89 100644
--- a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1DynamicPedestalProvider.h
+++ b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1DynamicPedestalProvider.h
@@ -1,15 +1,10 @@
 // -*- C++ -*-
+///////////////////////////////////////////////////////////////////
 /*
   Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 */
+// IL1DynamicPedestalProvider.h,
 ///////////////////////////////////////////////////////////////////
-// IL1DynamicPedestalProvider.h, (c) Veit Scharf
-///////////////////////////////////////////////////////////////////
-
- /***************************************************************************
-  *                                                                         *
-  *                                                                         *
-  ***************************************************************************/
 
 #ifndef TRIGT1CALOTOOLINTERFACES_IL1DYNAMICPEDESTALPROVIDER_H
 #define TRIGT1CALOTOOLINTERFACES_IL1DYNAMICPEDESTALPROVIDER_H
diff --git a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1EmTauTools.h b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1EmTauTools.h
index da167ee56c12..b35285c27c50 100755
--- a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1EmTauTools.h
+++ b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1EmTauTools.h
@@ -3,7 +3,7 @@
 */
 
 ///////////////////////////////////////////////////////////////////
-// IL1EmTauTools.h, (c) ATLAS Detector software
+// IL1EmTauTools.h, 
 ///////////////////////////////////////////////////////////////////
 #ifndef ILVL1L1EMTAUTOOLS_H
 #define ILVL1L1EMTAUTOOLS_H
diff --git a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1EnergyCMXTools.h b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1EnergyCMXTools.h
index 51f760aad514..a3f48645fd53 100644
--- a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1EnergyCMXTools.h
+++ b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1EnergyCMXTools.h
@@ -3,7 +3,7 @@
 */
 
 ///////////////////////////////////////////////////////////////////
-// IL1EnergyCMXTools.h, (c) ATLAS Detector software
+// IL1EnergyCMXTools.h, 
 ///////////////////////////////////////////////////////////////////
 #ifndef ILVL1L1ENERGYCMXTOOLS_H
 #define ILVL1L1ENERGYCMXTOOLS_H
diff --git a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1EtTools.h b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1EtTools.h
index ad87a8cf47ab..77af271ee3e8 100755
--- a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1EtTools.h
+++ b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1EtTools.h
@@ -3,7 +3,7 @@
 */
 
 ///////////////////////////////////////////////////////////////////
-// IL1EtTools.h, (c) ATLAS Detector software
+// IL1EtTools.h
 ///////////////////////////////////////////////////////////////////
 #ifndef ILVL1L1ETTOOLS_H
 #define ILVL1L1ETTOOLS_H
@@ -15,7 +15,7 @@
 //#include "TrigT1CaloUtils/CrateEnergy.h"
 //#include "TrigT1CaloUtils/SystemEnergy.h"
 
-namespace LVL1 
+namespace LVL1
 {
 class ModuleEnergy;
 class CrateEnergy;
@@ -48,14 +48,14 @@ Interface definition for L1EtTools
     virtual SystemEnergy systemSums(const DataVector<CrateEnergy>* crates) const = 0;
     virtual SystemEnergy systemSums(const xAOD::JetElementContainer* jetelements, int slice = -1, uint32_t maskXE = 0xff, uint32_t maskTE = 0xff, bool restricted = false) const = 0;
     virtual SystemEnergy systemSums(const xAOD::JetElementMap_t* jemap, int slice = -1, uint32_t maskXE = 0xff, uint32_t maskTE = 0xff, bool restricted = false) const = 0;
-  
+
   };
 
   inline const InterfaceID& LVL1::IL1EtTools::interfaceID()
-    { 
+    {
       return IID_IL1EtTools;
     }
 
 } // end of namespace
 
-#endif 
+#endif
diff --git a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1JEMJetTools.h b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1JEMJetTools.h
index 5d66a7f22de7..ba2fa7a8eb36 100644
--- a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1JEMJetTools.h
+++ b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1JEMJetTools.h
@@ -3,7 +3,7 @@
 */
 
 ///////////////////////////////////////////////////////////////////
-// IL1JEMJetTools.h, (c) ATLAS Detector software
+// IL1JEMJetTools.h, 
 ///////////////////////////////////////////////////////////////////
 #ifndef ILVL1L1JEMJETTOOLS_H
 #define ILVL1L1JEMJETTOOLS_H
diff --git a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1JEPEtSumsTools.h b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1JEPEtSumsTools.h
index 3e05c4414a59..fca76ebb6569 100644
--- a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1JEPEtSumsTools.h
+++ b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1JEPEtSumsTools.h
@@ -3,7 +3,7 @@
 */
 
 ///////////////////////////////////////////////////////////////////
-// IL1JEPEtSumsTools.h, (c) ATLAS Detector software
+// IL1JEPEtSumsTools.h, 
 ///////////////////////////////////////////////////////////////////
 #ifndef ILVL1L1JEPETSUMSTOOLS_H
 #define ILVL1L1JEPETSUMSTOOLS_H
diff --git a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1JEPHitsTools.h b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1JEPHitsTools.h
index ee51146920d7..7590f84d54f2 100644
--- a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1JEPHitsTools.h
+++ b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1JEPHitsTools.h
@@ -3,7 +3,7 @@
 */
 
 ///////////////////////////////////////////////////////////////////
-// IL1JEPHitsTools.h, (c) ATLAS Detector software
+// IL1JEPHitsTools.h, 
 ///////////////////////////////////////////////////////////////////
 #ifndef ILVL1L1JEPHITSTOOLS_H
 #define ILVL1L1JEPHITSTOOLS_H
diff --git a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1JetCMXTools.h b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1JetCMXTools.h
index 029c745dc9b1..3925e657b139 100644
--- a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1JetCMXTools.h
+++ b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1JetCMXTools.h
@@ -3,7 +3,7 @@
 */
 
 ///////////////////////////////////////////////////////////////////
-// IL1JetCMXTools.h, (c) ATLAS Detector software
+// IL1JetCMXTools.h, 
 ///////////////////////////////////////////////////////////////////
 #ifndef ILVL1L1JETCMXTOOLS_H
 #define ILVL1L1JETCMXTOOLS_H
diff --git a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1JetElementTools.h b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1JetElementTools.h
index 5db88d51b268..4e102a9d823a 100755
--- a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1JetElementTools.h
+++ b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1JetElementTools.h
@@ -3,7 +3,7 @@
 */
 
 ///////////////////////////////////////////////////////////////////
-// IL1JetElementTools.h, (c) ATLAS Detector software
+// IL1JetElementTools.h, 
 ///////////////////////////////////////////////////////////////////
 #ifndef ILVL1L1JETELEMENTTOOLS_H
 #define ILVL1L1JETELEMENTTOOLS_H
diff --git a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1JetEtTools.h b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1JetEtTools.h
index 2edffc68aec1..26f5b6b402a6 100644
--- a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1JetEtTools.h
+++ b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1JetEtTools.h
@@ -3,7 +3,7 @@
 */
 
 ///////////////////////////////////////////////////////////////////
-// IL1JetEtTools.h, (c) ATLAS Detector software
+// IL1JetEtTools.h, 
 ///////////////////////////////////////////////////////////////////
 #ifndef ILVL1L1JETETTOOLS_H
 #define ILVL1L1JETETTOOLS_H
diff --git a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1JetTools.h b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1JetTools.h
index 14d74c4a21d8..5412340ae9ec 100755
--- a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1JetTools.h
+++ b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1JetTools.h
@@ -3,7 +3,7 @@
 */
 
 ///////////////////////////////////////////////////////////////////
-// IL1JetTools.h, (c) ATLAS Detector software
+// IL1JetTools.h, 
 ///////////////////////////////////////////////////////////////////
 #ifndef ILVL1L1JETTOOLS_H
 #define ILVL1L1JETTOOLS_H
diff --git a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1RoITools.h b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1RoITools.h
index e7c31791f082..fbbf164b604b 100644
--- a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1RoITools.h
+++ b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1RoITools.h
@@ -3,7 +3,7 @@
 */
 
 ///////////////////////////////////////////////////////////////////
-// IL1RoITools.h, (c) ATLAS Detector software
+// IL1RoITools.h, 
 ///////////////////////////////////////////////////////////////////
 #ifndef ILVL1L1ROITOOLS_H
 #define ILVL1L1ROITOOLS_H
diff --git a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1TriggerTowerTool.h b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1TriggerTowerTool.h
index 3e7d05d649cb..e5a3a336232c 100644
--- a/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1TriggerTowerTool.h
+++ b/Trigger/TrigT1/TrigT1CaloToolInterfaces/TrigT1CaloToolInterfaces/IL1TriggerTowerTool.h
@@ -5,11 +5,6 @@
 // L1TriggerTowerTool.h, 
 ///////////////////////////////////////////////////////////////////
 
- /***************************************************************************
-  *                                                                         *
-  *                                                                         *
-  ***************************************************************************/
-
 #ifndef IL1TRIGGERTOWERTOOL_H
 #define IL1TRIGGERTOWERTOOL_H
 
-- 
GitLab


From 7a3ce7074ef3626ea55d477a0a9bfd16622d04f2 Mon Sep 17 00:00:00 2001
From: Dmitry Popov <Dmitry.Popov@cern.ch>
Date: Tue, 8 Jan 2019 17:48:52 +0100
Subject: [PATCH 017/192] Updated TrigT1CaloMonitoring

---
 .../TrigT1CaloMonitoring/CMakeLists.txt       |   3 +-
 ...1CaloMonitoring_forRecExCommission_Run1.py |   2 +-
 ...1CaloMonitoring_forRecExCommission_Run2.py |  44 +-
 .../TrigT1CaloMonitoring/src/JEPSimMon.cxx    |  45 +-
 .../TrigT1CaloMonitoring/src/JEPSimMon.h      |  20 +
 .../src/MistimedStreamMon.cxx                 | 718 ++++++++++++++++++
 .../src/MistimedStreamMon.h                   | 132 ++++
 .../TrigT1CaloMonitoring/src/PPMSimBSMon.cxx  |  71 +-
 .../TrigT1CaloMonitoring/src/PPMSimBSMon.h    |  17 +-
 .../TrigT1CaloMonitoring_entries.cxx          |  12 +-
 10 files changed, 1032 insertions(+), 32 deletions(-)
 mode change 100644 => 100755 Trigger/TrigT1/TrigT1CaloMonitoring/share/TrigT1CaloMonitoring_forRecExCommission_Run2.py
 create mode 100755 Trigger/TrigT1/TrigT1CaloMonitoring/src/MistimedStreamMon.cxx
 create mode 100755 Trigger/TrigT1/TrigT1CaloMonitoring/src/MistimedStreamMon.h

diff --git a/Trigger/TrigT1/TrigT1CaloMonitoring/CMakeLists.txt b/Trigger/TrigT1/TrigT1CaloMonitoring/CMakeLists.txt
index 0102e0d48da9..453a16b1344b 100644
--- a/Trigger/TrigT1/TrigT1CaloMonitoring/CMakeLists.txt
+++ b/Trigger/TrigT1/TrigT1CaloMonitoring/CMakeLists.txt
@@ -36,6 +36,7 @@ atlas_depends_on_subdirs( PRIVATE
                           Trigger/TrigT1/TrigT1CaloEvent
                           Trigger/TrigT1/TrigT1CaloMonitoringTools
                           Trigger/TrigT1/TrigT1CaloToolInterfaces
+                          Trigger/TrigT1/TrigT1CaloCondSvc
                           Trigger/TrigT1/TrigT1CaloUtils
                           Trigger/TrigT1/TrigT1Interfaces )
 
@@ -48,7 +49,7 @@ atlas_add_component( TrigT1CaloMonitoring
                      src/*.cxx
                      src/components/*.cxx
                      INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} CaloEvent CaloIdentifier AthenaMonitoringLib AthContainers SGTools StoreGateLib SGtests AthenaPoolUtilities Identifier EventInfo xAODJet xAODTrigL1Calo xAODEgamma GaudiKernel AnalysisTriggerEvent JetInterface TileConditionsLib TileEvent LWHists VxVertex TrigDecisionToolLib TrigConfL1Data TrigT1CaloCalibConditions TrigT1CaloCalibToolInterfaces TrigT1CaloCalibToolsLib TrigT1CaloEventLib TrigT1CaloMonitoringToolsLib TrigT1CaloToolInterfaces TrigT1CaloUtilsLib TrigT1Interfaces )
+                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} CaloEvent CaloIdentifier AthenaMonitoringLib AthContainers SGTools StoreGateLib SGtests AthenaPoolUtilities Identifier EventInfo xAODJet xAODTrigL1Calo xAODEgamma GaudiKernel AnalysisTriggerEvent JetInterface TileConditionsLib TileEvent LWHists VxVertex TrigDecisionToolLib TrigConfL1Data TrigT1CaloCalibConditions TrigT1CaloCalibToolInterfaces TrigT1CaloCalibToolsLib TrigT1CaloEventLib TrigT1CaloMonitoringToolsLib TrigT1CaloToolInterfaces TrigT1CaloUtilsLib TrigT1Interfaces TrigT1CaloCondSvcLib )
 
 # Install files from the package:
 atlas_install_headers( TrigT1CaloMonitoring )
diff --git a/Trigger/TrigT1/TrigT1CaloMonitoring/share/TrigT1CaloMonitoring_forRecExCommission_Run1.py b/Trigger/TrigT1/TrigT1CaloMonitoring/share/TrigT1CaloMonitoring_forRecExCommission_Run1.py
index 749265418431..3d3e33ca0ae7 100644
--- a/Trigger/TrigT1/TrigT1CaloMonitoring/share/TrigT1CaloMonitoring_forRecExCommission_Run1.py
+++ b/Trigger/TrigT1/TrigT1CaloMonitoring/share/TrigT1CaloMonitoring_forRecExCommission_Run1.py
@@ -321,7 +321,7 @@ if l1caloRawMon:
         #                                                       )
         #     #from AthenaCommon.AppMgr import ToolSvc
         #     ToolSvc += JetCleaningTool('JetCleaningLooseTool')
-        #      #ToolSvc += JetCleaningTool('JetCleaningMediumTool')
+        #     # ToolSvc += JetCleaningTool('JetCleaningMediumTool')
         #     ToolSvc += JetCleaningTool('JetCleaningTightTool')
         #     L1JetEfficienciesMonTool.JetCleaningLooseTool = ConfiguredJetCleaningTool_Loose("JetCleaningLooseTool")       
         #     # L1JetEfficienciesMonTool.JetCleaningMediumTool = ConfiguredJetCleaningTool_Medium("JetCleaningMediumTool")
diff --git a/Trigger/TrigT1/TrigT1CaloMonitoring/share/TrigT1CaloMonitoring_forRecExCommission_Run2.py b/Trigger/TrigT1/TrigT1CaloMonitoring/share/TrigT1CaloMonitoring_forRecExCommission_Run2.py
old mode 100644
new mode 100755
index e15e73e900be..a66a45d1cb7c
--- a/Trigger/TrigT1/TrigT1CaloMonitoring/share/TrigT1CaloMonitoring_forRecExCommission_Run2.py
+++ b/Trigger/TrigT1/TrigT1CaloMonitoring/share/TrigT1CaloMonitoring_forRecExCommission_Run2.py
@@ -3,7 +3,7 @@
 # Standard monitoring jobOptions - runs on Tier0 (Reco_tf.py) or online.
 #
 # @authors Johanna Fleckner, Andrea Neusiedl, Peter Faulkner
-#
+
 if not 'DQMonFlags' in dir():
     print "TrigT1CaloMonitoring_forRecExCommission.py: DQMonFlags not yet imported - I import them now"
     from AthenaMonitoring.DQMonFlags import DQMonFlags
@@ -73,7 +73,7 @@ if l1caloRawMon:
         #from AthenaServices.AthenaServicesConf import MetaDataSvc
         #svcMgr += MetaDataSvc("MetaDataSvc")
         #svcMgr.IOVDbSvc.Folders += ["<dbConnection>sqlite://;schema=;dbname=L1CALO</dbConnection>/TRIGGER/L1Calo/V1/References/FineTimeReferences"]
-                
+
         from IOVDbSvc.CondDB import conddb
         conddb.addFolder("TRIGGER","/TRIGGER/L1Calo/V1/References/FineTimeReferences")
         doFineTime = True
@@ -106,7 +106,8 @@ if l1caloRawMon:
         if athenaCommonFlags.isOnline:
             from TrigBunchCrossingTool.BunchCrossingTool import BunchCrossingTool
             theBCTool = BunchCrossingTool()
-            ToolSvc += theBCTool
+            # ToolSvc += theBCTool
+            L1CaloMan.AthenaMonTools += [theBCTool]
             L1PPrStabilityMonTool.BunchCrossingTool = theBCTool
 
     else:
@@ -153,6 +154,29 @@ if l1caloRawMon:
         #ToolSvc += L1PPrMonTool
         L1CaloMan.AthenaMonTools += [L1PPrMonTool]
 
+
+        if isData and rec.triggerStream() == "Mistimed":
+
+            #======================================================================
+            #=================== Monitoring of the Mistimed Stream ================
+            #======================================================================
+            from TrigT1CaloMonitoring.TrigT1CaloMonitoringConf import LVL1__MistimedStreamMon
+
+            from AthenaCommon.JobProperties import jobproperties
+            L1MistimedStreamTool = LVL1__MistimedStreamMon(
+                name="L1MistimedStreamTool",
+                #OnlineTest = True,
+                #OutputLevel = DEBUG
+            )
+            # ToolSvc += L1MistimedStreamTool
+            L1CaloMan.AthenaMonTools += [L1MistimedStreamTool]
+
+            from TrigT1CaloCondSvc.TrigT1CaloCondSvcConf import L1CaloCondSvc
+            ServiceMgr += L1CaloCondSvc()
+            from IOVDbSvc.CondDB import conddb
+            conddb.addFolderWithTag("TRIGGER","/TRIGGER/L1Calo/V1/Conditions/RunParameters","HEAD")
+            conddb.addFolderWithTag("TRIGGER","/TRIGGER/L1Calo/V2/Configuration/ReadoutConfig","HEAD")
+
         if isData:
 
             from TrigT1CaloMonitoring.TrigT1CaloMonitoringConf import LVL1__PPMSimBSMon
@@ -162,8 +186,12 @@ if l1caloRawMon:
             #ToolSvc.PPMSimBSMonTool.OutputLevel = DEBUG
             from TrigT1CaloTools.TrigT1CaloToolsConf import LVL1__L1TriggerTowerTool
             L1TriggerTowerTool = LVL1__L1TriggerTowerTool("L1TriggerTowerTool")
-            ToolSvc += L1TriggerTowerTool
-            #ToolSvc.L1TriggerTowerTool.OutputLevel = DEBUG
+            # ToolSvc += L1TriggerTowerTool
+            L1CaloMan.AthenaMonTools += [L1TriggerTowerTool]
+            from TrigT1CaloCondSvc.TrigT1CaloCondSvcConf import L1CaloCondSvc
+            ServiceMgr += L1CaloCondSvc()
+            from IOVDbSvc.CondDB import conddb
+            conddb.addFolderWithTag("TRIGGER","/TRIGGER/L1Calo/V1/Conditions/RunParameters","HEAD")
 
             #--------------------------------- PPM Spare Channels--------------
             from TrigT1CaloMonitoring.TrigT1CaloMonitoringConf import LVL1__PPrSpareMon
@@ -172,7 +200,7 @@ if l1caloRawMon:
                 ADCHitMap_Thresh=40,
                 PathInRootFile="L1Calo/PPM/SpareChannels",
                 ErrorPathInRootFile="L1Calo/PPM/SpareChannels/Errors",
-                #OutputLevel = DEBUG	
+                #OutputLevel = DEBUG
             )
             #ToolSvc += L1PPrSpareMonTool
             L1CaloMan.AthenaMonTools += [L1PPrSpareMonTool]
@@ -278,8 +306,8 @@ if l1caloRawMon:
 
             #==================================================================
             #===================== Tag & Probe Efficiencies  ==================
-            #==================================================================           
-            
+            #==================================================================
+
             from TrigT1CaloMonitoring.TrigT1CaloMonitoringConf import LVL1__TagProbeEfficiencyMon
             TagProbeEfficiencyMonTool = LVL1__TagProbeEfficiencyMon("TagProbeEfficiencyMonTool")
             #ToolSvc += TagProbeEfficiencyMonTool
diff --git a/Trigger/TrigT1/TrigT1CaloMonitoring/src/JEPSimMon.cxx b/Trigger/TrigT1/TrigT1CaloMonitoring/src/JEPSimMon.cxx
index 009858d58ff9..e2ef971e520c 100644
--- a/Trigger/TrigT1/TrigT1CaloMonitoring/src/JEPSimMon.cxx
+++ b/Trigger/TrigT1/TrigT1CaloMonitoring/src/JEPSimMon.cxx
@@ -910,7 +910,7 @@ StatusCode JEPSimMon::fillHistograms()
     compare(cmxTobSimMap, ctMap, errorsJEM, errorsCMX);
     cmxTobSimMap.clear();
     
-    // Sasha: Delate later, will use simulated tobs later since data tobs does not
+    // Sasha: Delete later, will use simulated tobs later since data tobs does not
     // contains overflow bits
     // delete cmxTobSIM;
     // delete cmxTobSIMAux;
@@ -930,17 +930,12 @@ StatusCode JEPSimMon::fillHistograms()
     }
     CmxJetHitsMap cmxLocalSimMap;
     setupMap(cmxLocalSIM, cmxLocalSimMap);
-    //SASHA
     compare(cmxLocalSimMap, chMap, errorsCMX,
             xAOD::CMXJetHits::Sources::LOCAL_MAIN);
-    // for(auto p: chMap){
-    //     auto key = p.first;
-    //     auto v = p.second;
-    //     ATH_MSG_INFO("SASHA0 DAT " << *v);
-    //     if (cmxLocalSimMap.find(key) != cmxLocalSimMap.end()){
-    //         ATH_MSG_INFO("SASHA0 SIM " << *cmxLocalSimMap[key] << std::endl);
-    //     }
-    // }
+    
+    dumpDataAndSim("Compare Local sums simulated from CMX TOBs with Local sums from data",
+        chMap, cmxLocalSimMap);
+
     cmxLocalSimMap.clear();
     delete cmxLocalSIM;
     delete cmxLocalSIMAux;
@@ -1029,6 +1024,10 @@ StatusCode JEPSimMon::fillHistograms()
     compare(cmxEtLocalSimMap, csMap, errorsCMX,
             xAOD::CMXEtSums::Sources::LOCAL_STANDARD);
 
+    dumpDataAndSim(
+        "Compare Local sums simulated from CMXEtSums with Local sums from data",
+        csMap, cmxEtLocalSimMap);
+
     cmxEtLocalSimMap.clear();
     delete cmxEtLocalSIM;
     delete cmxEtLocalSIMAux;
@@ -1054,6 +1053,11 @@ StatusCode JEPSimMon::fillHistograms()
     setupMap(cmxEtTotalSIM, cmxEtTotalSimMap);
     compare(cmxEtTotalSimMap, csMap, errorsCMX,
             xAOD::CMXEtSums::Sources::TOTAL_STANDARD);
+    
+    dumpDataAndSim(
+      "Compare Total sums simulated from Remote sums with Total sums from data",
+       csMap, cmxEtTotalSimMap
+    );
 
     cmxEtTotalSimMap.clear();
     delete cmxEtTotalSIM;
@@ -1077,6 +1081,12 @@ StatusCode JEPSimMon::fillHistograms()
     setupMap(cmxSumEtSIM, cmxSumEtSimMap);
     compare(cmxSumEtSimMap, csMap, errorsCMX,
               xAOD::CMXEtSums::Sources::SUM_ET_STANDARD);
+    
+    dumpDataAndSim(
+      "Compare Et Maps (sumEt/missingEt/missingEtSig) simulated from Total sums",
+      csMap, cmxSumEtSimMap
+    );
+    
 
     cmxSumEtSimMap.clear();
     delete cmxSumEtSIM;
@@ -2538,9 +2548,18 @@ void JEPSimMon::compare(const CmxEtSumsMap &cmxSimMap,
             cmxEy = cmxD->ey();
             if (!etmaps)
             {
-                cmxSimEt |= ((cmxS->etError() & 0x1) << 15);
-                cmxSimEx |= ((cmxS->exError() & 0x1) << 15);
-                cmxSimEy |= ((cmxS->eyError() & 0x1) << 15);
+                if (source == xAOD::CMXEtSums::Sources::LOCAL_RESTRICTED || source == xAOD::CMXEtSums::Sources::TOTAL_RESTRICTED)
+                {
+                  // Take error bits from data!
+                  cmxSimEt |= ((cmxD->etError() & 0x1) << 15);
+                  cmxSimEx |= ((cmxD->exError() & 0x1) << 15);
+                  cmxSimEy |= ((cmxD->eyError() & 0x1) << 15);
+                } else {
+                  cmxSimEt |= ((cmxS->etError() & 0x1) << 15);
+                  cmxSimEx |= ((cmxS->exError() & 0x1) << 15);
+                  cmxSimEy |= ((cmxS->eyError() & 0x1) << 15);
+                }
+
                 cmxEt |= ((cmxD->etError() & 0x1) << 15);
                 cmxEx |= ((cmxD->exError() & 0x1) << 15);
                 cmxEy |= ((cmxD->eyError() & 0x1) << 15);
diff --git a/Trigger/TrigT1/TrigT1CaloMonitoring/src/JEPSimMon.h b/Trigger/TrigT1/TrigT1CaloMonitoring/src/JEPSimMon.h
index 3abc2b174355..48b71c517369 100644
--- a/Trigger/TrigT1/TrigT1CaloMonitoring/src/JEPSimMon.h
+++ b/Trigger/TrigT1/TrigT1CaloMonitoring/src/JEPSimMon.h
@@ -320,6 +320,10 @@ private:
   /// Load ROD Headers
   void  loadRodHeaders();
 
+  template <typename T>
+  void dumpDataAndSim(const std::string& msg, const std::map<int, T*>& data,
+                         const std::map<int, T*>& sim);
+
   /// CMX-Jet simulation tool
   ToolHandle<LVL1::IL1JetCMXTools>            m_jetCmxTool;
   /// JEM RoI simulation tool
@@ -462,6 +466,22 @@ private:
 
 };
 
+template <typename T> inline
+void JEPSimMon::dumpDataAndSim(const std::string& msg, const std::map<int, T*>& data,
+                    const std::map<int, T*>& sim) {
+  if (!m_debug) return;
+
+  ATH_MSG_DEBUG(msg);
+  for (const auto& p : data) {
+    ATH_MSG_DEBUG(" DAT " << *p.second);
+    auto itSim =  sim.find(p.first);
+    if (itSim != sim.end()) {
+      ATH_MSG_DEBUG(" SIM " << *itSim->second << std::endl);
+    }
+  }
+  ATH_MSG_DEBUG("End Compare");
+  }
+
 } // end namespace
 
 #endif
diff --git a/Trigger/TrigT1/TrigT1CaloMonitoring/src/MistimedStreamMon.cxx b/Trigger/TrigT1/TrigT1CaloMonitoring/src/MistimedStreamMon.cxx
new file mode 100755
index 000000000000..f6c561bb9fe8
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1CaloMonitoring/src/MistimedStreamMon.cxx
@@ -0,0 +1,718 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include <cmath>
+#include "GaudiKernel/MsgStream.h"
+#include "GaudiKernel/StatusCode.h"
+#include "SGTools/StlVectorClids.h"
+
+#include "LWHists/LWHist.h"
+#include "LWHists/TH1F_LW.h"
+
+#include "AthenaMonitoring/AthenaMonManager.h"
+
+#include "EventInfo/EventInfo.h"
+#include "EventInfo/EventID.h"
+
+#include "TrigT1Interfaces/TrigT1CaloDefs.h"
+
+#include "TrigDecisionTool/TrigDecisionTool.h"
+
+#include "TrigT1CaloMonitoringTools/ITrigT1CaloMonErrorTool.h"
+#include "TrigT1CaloMonitoringTools/TrigT1CaloLWHistogramTool.h"
+#include "TrigT1CaloToolInterfaces/IL1TriggerTowerTool.h"
+#include "TrigT1CaloCalibConditions/L1CaloCoolChannelId.h"
+
+#include "TrigT1CaloEvent/TriggerTowerCollection.h"
+#include "TrigT1CaloEvent/TriggerTower_ClassDEF.h"
+#include "TrigT1CaloUtils/DataError.h"
+
+//for the 80MHz functionality (db access)
+#include "TrigT1CaloCondSvc/L1CaloCondSvc.h"
+#include "TrigT1CaloCalibConditions/L1CaloRunParameters.h"  
+#include "TrigT1CaloCalibConditions/L1CaloRunParametersContainer.h"  
+#include "TrigT1CaloCalibConditions/L1CaloReadoutConfig.h"  
+#include "TrigT1CaloCalibConditions/L1CaloReadoutConfigContainer.h"  
+
+#include "xAODTrigL1Calo/TriggerTowerContainer.h"
+#include "xAODTrigL1Calo/TriggerTowerAuxContainer.h"
+#include "xAODTrigL1Calo/CPMTowerContainer.h"
+#include "xAODTrigL1Calo/JetElementContainer.h"
+
+#include "AthenaPoolUtilities/AthenaAttributeList.h"
+
+
+#include "MistimedStreamMon.h"
+// ============================================================================
+namespace LVL1 {
+// ============================================================================
+MistimedStreamMon::MistimedStreamMon(const std::string & type, const std::string & name, const IInterface* parent): ManagedMonitorToolBase ( type, name, parent ),
+      m_errorTool("LVL1::TrigT1CaloMonErrorTool/TrigT1CaloMonErrorTool"),
+      m_histTool("LVL1::TrigT1CaloLWHistogramTool/TrigT1CaloLWHistogramTool"),            m_ttTool("LVL1::L1TriggerTowerTool/L1TriggerTowerTool"), // can provide coolID, prob. not needed
+      m_trigDec("Trig::TrigDecisionTool/TrigDecisionTool"),
+      m_histBooked(false),
+      m_h_1d_cutFlow_mistimedStreamAna(0),
+      m_h_1d_selectedEvents_mistimedStreamAna(0),
+      m_l1CondSvc("L1CaloCondSvc",name),
+      m_maxHistos(1),
+      m_curHistos(0),
+      m_thistSvc("THistSvc", name)
+{
+     declareProperty("PathInRootFile", m_PathInRootFile = "L1Calo/MistimedStream");
+     declareProperty("TrigDecisionTool", m_trigDec, "The tool to access TrigDecision" );
+     declareProperty("BS_xAODTriggerTowerContainer", m_xAODTriggerTowerContainerName = LVL1::TrigT1CaloDefs::xAODTriggerTowerLocation);
+     declareProperty("maxHistos",m_maxHistos = 1);
+}
+
+MistimedStreamMon::~MistimedStreamMon()
+{
+}
+
+#ifndef PACKAGE_VERSION
+#define PACKAGE_VERSION "unknown"
+#endif
+
+/*---------------------------------------------------------*/
+StatusCode MistimedStreamMon::initialize()
+/*---------------------------------------------------------*/
+{
+  msg(MSG::INFO) << "Initializing " << name() << " - package version "
+                 << PACKAGE_VERSION << endmsg;
+
+  CHECK(ManagedMonitorToolBase::initialize());
+  CHECK(m_errorTool.retrieve());
+  CHECK(m_histTool.retrieve());
+  CHECK(m_ttTool.retrieve());
+  CHECK(m_trigDec.retrieve());
+  CHECK(m_l1CondSvc.retrieve());
+
+  return StatusCode::SUCCESS;
+
+}
+
+/*---------------------------------------------------------*/
+
+StatusCode MistimedStreamMon::finalize()
+{
+  //delete things here
+  return StatusCode::SUCCESS;
+}
+
+bool MistimedStreamMon::pulseQuality(std::vector<uint16_t> ttPulse, int peakSlice) {
+     
+    bool goodPulse = true;
+    
+    int a = ttPulse[peakSlice-1];
+    int b = ttPulse[peakSlice];
+    int c = ttPulse[peakSlice+1];
+    double tim = (0.5*a-0.5*c)/(a+c-2*b);
+    double wid = (a+c-64.0)/(b-32.0);
+    if ( tim < 0.0 ) goodPulse = false;
+    if ( tim > 0.3 ) goodPulse = false;
+    if ( wid < 1.0 ) goodPulse = false;
+    if ( wid > 1.6 ) goodPulse = false;             
+//     std::cout<<"Pulse qual= "<< goodPulse<<" tim = "<<tim<<" wid = "<<wid <<std::endl;
+//     std::cout<<"a = "<< a <<" b = "<<b<<" c = "<<c <<std::endl;
+    return goodPulse;
+}
+
+/*---------------------------------------------------------*/
+StatusCode MistimedStreamMon:: retrieveConditions()
+/*---------------------------------------------------------*/
+{
+  ATH_MSG_VERBOSE("PPMSimBSMon::retrieveConditions");
+  if (m_l1CondSvc) {
+    ATH_MSG_VERBOSE( "Retrieving Run Parameters Containers" );
+    CHECK_WITH_CONTEXT(m_l1CondSvc->retrieve(m_runParametersContainer),"MistimedStreamMon");
+    if (std::cbegin(*m_runParametersContainer) == std::cend(*m_runParametersContainer)) {
+      ATH_MSG_ERROR("Empty L1CaloRunParametersContainer");
+      return StatusCode::FAILURE;
+    }
+    ATH_MSG_VERBOSE( "Retrieving Readount Configuration Containers" );
+    CHECK_WITH_CONTEXT(m_l1CondSvc->retrieve(m_readoutConfigContainer),"MistimedStreamMon");
+    if (std::cbegin(*m_readoutConfigContainer) == std::cend(*m_readoutConfigContainer)) {
+      ATH_MSG_ERROR("Empty L1CaloReadoutConfigContainer");
+      return StatusCode::FAILURE;
+    }
+
+  }else{
+    ATH_MSG_ERROR("L1CondSvc not present!");
+  }
+
+  return StatusCode::SUCCESS;
+}
+
+/*---------------------------------------------------------*/
+void MistimedStreamMon::fillEtaPhiMap(TH2F* hist, double eta, double phi, double weight, bool shrinkEtaBins)
+/*---------------------------------------------------------*/
+{
+  double phiMod = phi * (32./M_PI);
+  double etaMod = eta;
+  const double absEta = fabs(eta);
+  if (absEta > 3.2) {
+    if (shrinkEtaBins) {
+      etaMod = 2.9 + 0.1*(absEta-3.2)/0.425;
+      if (eta < 0.) etaMod = -etaMod;
+    }
+    // Fill four bins in phi
+    phiMod = floor(phiMod/4)*4. + 2.;
+    hist->Fill(etaMod, phiMod + 1.5, weight);
+    hist->Fill(etaMod, phiMod + 0.5, weight);
+    hist->Fill(etaMod, phiMod - 0.5, weight);
+    hist->Fill(etaMod, phiMod - 1.5, weight);
+  } else if (absEta > 2.5) {
+    if (shrinkEtaBins) {
+      etaMod = (absEta > 3.1) ? 2.85 : 2.5 + (absEta-2.5)/2.;
+      if (eta < 0.) etaMod = -etaMod;
+    }
+    // Fill two bins in phi
+    phiMod = floor(phiMod/2)*2. + 1.;
+    hist->Fill(etaMod, phiMod + 0.5, weight);
+    hist->Fill(etaMod, phiMod - 0.5, weight);
+  } else hist->Fill(eta, phiMod, weight);
+}
+
+
+/*---------------------------------------------------------*/
+TH2F* MistimedStreamMon::createEtaPhiMap(std::string name, std::string title, bool isHADLayer, bool shrinkEtaBins) 
+/*---------------------------------------------------------*/
+{
+  // construct ppmEtaPhi Histo (modified from TrigT1CaloLWHistogramTool, but without the booking
+  TH2F* hist = 0;
+  TAxis* axis = 0;
+  if (shrinkEtaBins) {
+     hist = new TH2F(name.c_str(), title.c_str(), 66, -3.3, 3.3, 64, 0., 64.); 
+     hist->SetOption("colz");
+     axis = hist->GetXaxis();
+     for (int ch = -25; ch < 25; ch+=4) {
+       int chan = ch;
+       if (chan >= -1) ++chan;
+       const double eta = (chan/10.)+0.05;
+       std::ostringstream cnum;
+       cnum << chan << "/" << std::setiosflags(std::ios::fixed | std::ios::showpoint) << std::setprecision(2) << eta;       
+       axis->SetBinLabel(chan+34, cnum.str().c_str());
+     }
+     axis->SetBinLabel(1, "-49/-4.41");
+     axis->SetBinLabel(5, "-32/-3.15");
+     axis->SetBinLabel(62, "31/3.15");
+     axis->SetBinLabel(66, "44/4.41");
+  } else {
+    const int nxbins = 66;
+    const double xbins[nxbins+1] = {-4.9,-4.475,-4.050,-3.625,-3.2,-3.1,-2.9,
+                                    -2.7,-2.5,-2.4,-2.3,-2.2,-2.1,-2.0,-1.9,
+  				    -1.8,-1.7,-1.6,-1.5,-1.4,-1.3,-1.2,-1.1,
+				    -1.0,-0.9,-0.8,-0.7,-0.6,-0.5,-0.4,-0.3,
+				    -0.2,-0.1,0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,
+				    0.8,0.9,1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,
+				    1.8,1.9,2.0,2.1,2.2,2.3,2.4,2.5,2.7,2.9,
+				    3.1,3.2,3.625,4.050,4.475,4.9};
+    hist = new TH2F(name.c_str(), title.c_str(), nxbins, xbins, 64, 0., 64.); 
+    hist->SetOption("colz");                  
+    hist->SetXTitle("eta");
+  }
+
+  axis = hist->GetYaxis();
+  const double phiBin     = M_PI/32.;
+  const double halfPhiBin = M_PI/64.;
+  for (int chan = 0; chan < 64; chan += 4 ) {
+    const double rad = chan*phiBin + halfPhiBin;
+    std::ostringstream lab;
+    lab << chan << "/" << std::setiosflags(std::ios::fixed | std::ios::showpoint) << std::setprecision(2) << rad;          
+    axis->SetBinLabel(chan+1, lab.str().c_str());
+  }
+  if (shrinkEtaBins) axis->SetBinLabel(64, "etaVphi");
+  else               axis->SetBinLabel(64, "phi");
+  
+  // now relabel the outer bins for the HAD Layer
+  if (shrinkEtaBins && isHADLayer) {
+    axis = hist->GetXaxis();    
+    axis->SetBinLabel(1, "-49/-4.17");
+    axis->SetBinLabel(66, "44/4.19");
+  }
+  
+  return hist;  
+}
+
+/*---------------------------------------------------------*/
+StatusCode MistimedStreamMon::bookHistogramsRecurrent() // based on bookHistogramsRecurrent from PPrMon
+/*---------------------------------------------------------*/
+{
+  if (msgLvl(MSG::DEBUG))
+    msg(MSG::DEBUG) << "in MistimedStreamMon::bookHistograms" << endmsg;
+  
+  MgmtAttr_t attr = ATTRIB_UNMANAGED;
+
+  if (newRunFlag()) {
+
+    // create MonGroup with the folder to store histos
+    MonGroup TT_MistimedMon(this, m_PathInRootFile, run, attr);
+    m_histTool->setMonGroup(&TT_MistimedMon);
+  
+    // overview histograms (only one per run)
+    m_h_1d_selectedEvents_mistimedStreamAna =
+        m_histTool->book1F("1d_selectedEvents_mistimedStreamAna",
+                           "Selected events per lumi block by the MistimedStream analysis",
+                           9999, 0, 9999); // this plot will "only" cover 9999 lumi blocks
+    m_h_1d_cutFlow_mistimedStreamAna =
+        m_histTool->book1F("1d_cutFlow_mistimedStreamAna",
+                           "Total events selected by the MistimedStream analysis for this run",
+                           10, 0, 10); // overall cutflow plot
+   
+    m_h_1d_cutFlow_mistimedStreamAna->GetXaxis()->SetBinLabel( 1, "All" );
+    m_h_1d_cutFlow_mistimedStreamAna->GetXaxis()->SetBinLabel( 2, "unsuitable readout" );
+    m_h_1d_cutFlow_mistimedStreamAna->GetXaxis()->SetBinLabel( 3, "HLT_mistimemonj400" );
+    m_h_1d_cutFlow_mistimedStreamAna->GetXaxis()->SetBinLabel( 4, "L1_J100" );
+    m_h_1d_cutFlow_mistimedStreamAna->GetXaxis()->SetBinLabel( 5, "<= 4 bad peak TT" );
+    m_h_1d_cutFlow_mistimedStreamAna->GetXaxis()->SetBinLabel( 6, "<= 4 bad central TT" );
+    m_h_1d_cutFlow_mistimedStreamAna->GetXaxis()->SetBinLabel( 7, "<= 4 bad late TT" );
+    m_h_1d_cutFlow_mistimedStreamAna->GetXaxis()->SetBinLabel( 8, ">= 2 late TT" );
+    m_h_1d_cutFlow_mistimedStreamAna->GetXaxis()->SetBinLabel( 9, "<= 3 in-time" );
+    m_h_1d_cutFlow_mistimedStreamAna->GetXaxis()->SetBinLabel(10, ">= 1 significant TT in EM layer" );
+      
+    m_histTool->unsetMonGroup();
+    if (newRunFlag())
+      m_histBooked = true;
+  }
+
+  return StatusCode::SUCCESS;
+}
+
+
+StatusCode MistimedStreamMon::fillHistograms()
+{
+ const bool debug = msgLvl(MSG::DEBUG);
+  if (debug)
+    msg(MSG::DEBUG) << "in fillHistograms()" << endmsg;
+
+  if (!m_histBooked) {
+    if (debug)
+      msg(MSG::DEBUG) << "Histogram(s) not booked" << endmsg;
+    return StatusCode::SUCCESS;
+  }
+
+  // Skip events believed to be corrupt
+  if (m_errorTool->corrupt()) {
+    if (debug)
+      msg(MSG::DEBUG) << "Skipping corrupt event" << endmsg;
+    return StatusCode::SUCCESS;
+  }
+
+  // Retrieve TriggerTowers from SG
+  const xAOD::TriggerTowerContainer_v2 *TriggerTowerTES = 0;
+  StatusCode sc =
+      evtStore()->retrieve(TriggerTowerTES, m_xAODTriggerTowerContainerName);
+  if (sc.isFailure() || !TriggerTowerTES) {
+    if (debug)
+      msg(MSG::DEBUG) << "No TriggerTower found in TES at "
+                      << m_xAODTriggerTowerContainerName << endmsg;
+    return StatusCode::SUCCESS;
+  }
+
+  //Create container for the decorated TT, as well as auxiliary container holding the actual properties
+  xAOD::TriggerTowerContainer*    ttContainer = new xAOD::TriggerTowerContainer;
+  xAOD::TriggerTowerAuxContainer* ttAuxContainer = new xAOD::TriggerTowerAuxContainer;
+  // To tell the TT container in which auxiliary container it should write its member variables
+  ttContainer->setStore(ttAuxContainer); //gives it a new associated aux container
+  //Object holding the decoration, to optimize access speed
+  xAOD::TriggerTower::Decorator<float> myDecoration("pulseClassification");
+  
+  //Get CPM Towers for LUT_CP
+  const xAOD::CPMTowerContainer* cpmTowCon = 0;
+  CHECK(evtStore()->retrieve(cpmTowCon,"CPMTowers")); 
+  
+  //Get Jet Elements for LUT-JEP
+  const xAOD::JetElementContainer* jetEleCon = 0;
+  CHECK(evtStore()->retrieve(jetEleCon,"JetElements")); 
+  
+  //Get readout info from data base
+  if(this->retrieveConditions().isFailure()) {
+      REPORT_MESSAGE(MSG::WARNING);
+      return StatusCode::FAILURE;
+  }
+  
+  m_readoutConfigContainer->readoutConfig(6);
+  
+  unsigned int readoutConfigID = std::cbegin(*m_runParametersContainer)->readoutConfigID();
+  unsigned int channelID = 0;
+  unsigned int numFadcSlices = 0; 
+  unsigned int l1aFadcSlice = 0; 
+  unsigned int readout80ModePpm = 0;
+  //the readout config ID tells you, which readoutConfig is loaded. now you can retrieve the l1aFadcSlice from this DB entry
+  for(const auto& it: *m_readoutConfigContainer){
+    if (it.channelId() == readoutConfigID){
+        channelID = it.channelId();
+        numFadcSlices = it.numFadcSlices();
+        l1aFadcSlice = it.l1aFadcSlice();
+        readout80ModePpm = it.readout80ModePpm();
+    }
+  }
+  
+  if(msgLvl(MSG::DEBUG)){
+    ATH_MSG_VERBOSE("ReadoutConfigID = " << readoutConfigID );
+    ATH_MSG_VERBOSE("ChannelID = " << channelID );
+    ATH_MSG_VERBOSE("numFadcSlices = " << numFadcSlices );
+    ATH_MSG_VERBOSE("l1aFadcSlice = " << l1aFadcSlice );
+    ATH_MSG_VERBOSE("readout80ModePpm = " << readout80ModePpm );
+  } 
+
+//   std::cout<<"readoutConfigID = "<<readoutConfigID<<std::endl;
+//   std::cout<<"ChannelID = "<<channelID<<std::endl;
+//   std::cout<<"numFadcSlices = "<<numFadcSlices<<std::endl;
+//   std::cout<<"l1aFadcSlice = "<<l1aFadcSlice<<std::endl;
+//   std::cout<<"readout80ModePpm = "<<readout80ModePpm<<std::endl;
+  
+  // Retrieve EventInfo from SG and save lumi block number, global event number and run number
+  unsigned int lumiNo = 0;
+  unsigned int currentRunNo = 0;
+  unsigned int currentEventNo = 0;
+  const EventInfo *evInfo = 0;
+  sc = evtStore()->retrieve(evInfo);
+  if (sc.isFailure() || !evInfo) {
+    if (debug)
+      msg(MSG::DEBUG) << "No EventInfo found" << endmsg;
+  } else {
+    const EventID *evID = evInfo->event_ID();
+    if (evID) {
+      lumiNo = evID->lumi_block();
+      currentRunNo = evID->run_number();
+      currentEventNo = evID->event_number();
+    }
+  }
+  m_h_1d_cutFlow_mistimedStreamAna->Fill(0.5);
+
+  //for the algorithm to run, we need the 2 adc slices before and after the l1a-slice
+  //add some readout compatibility checks of the algo here
+  if(readout80ModePpm){
+     if(numFadcSlices < 9){
+       msg(MSG::DEBUG) << "Number of ADC slices < 9 for 80 MHz readout, algorithm cannot run, aborting..." << endmsg;
+       return StatusCode::SUCCESS;
+     }
+     if(l1aFadcSlice < 4){
+       msg(MSG::DEBUG) << "L1a readout pointer < 4 for 80 MHz readout, algorithm cannot run, aborting..." << endmsg;
+       return StatusCode::SUCCESS;
+     }
+     if(numFadcSlices - l1aFadcSlice < 4){
+       msg(MSG::DEBUG) << "L1a readout pointer is at "<< l1aFadcSlice << " with "<< numFadcSlices << "slices at 80 MHz readout mode, algorithm cannot run, aborting..." << endmsg;
+       return StatusCode::SUCCESS;
+     } 
+  }else{
+     if(numFadcSlices < 5){
+       msg(MSG::DEBUG) << "Number of ADC slices < 5 for 40 MHz readout, algorithm cannot run, aborting..." << endmsg;
+       return StatusCode::SUCCESS;
+     }
+     if(l1aFadcSlice < 2){
+       msg(MSG::DEBUG) << "L1a readout pointer < 2 for 40 MHz readout, algorithm cannot run, aborting..." << endmsg;
+       return StatusCode::SUCCESS;
+     } 
+     if(numFadcSlices - l1aFadcSlice < 2){
+       msg(MSG::DEBUG) << "L1a readout pointer is at "<< l1aFadcSlice << " with "<< numFadcSlices << "slices at 40 MHz readout mode, algorithm cannot run, aborting..." << endmsg;
+       return StatusCode::SUCCESS;
+     }  
+  }   
+  m_h_1d_cutFlow_mistimedStreamAna->Fill(1.5);
+  
+  //Select events that fired HLT_mistimedmonj400
+  if(! (m_trigDec->isPassed("HLT_mistimemonj400",TrigDefs::requireDecision))){
+    return StatusCode::SUCCESS;
+  }
+  m_h_1d_cutFlow_mistimedStreamAna->Fill(2.5);
+
+  //Only select events which passed the L1_J100
+  if(! (m_trigDec->isPassed("L1_J100"))){
+    return StatusCode::SUCCESS;
+  }
+  m_h_1d_cutFlow_mistimedStreamAna->Fill(3.5);
+
+  // now classify the tower signals by looking at their FADC counts, if it exceeds 70
+  int satCounter = 0; // saturated TT
+  int badCounter = 0; // category 2 really bad
+  int bad2Counter = 0; // category 4 bad peak 2 
+  int bad3Counter = 0; // category 6 bad peak 3 
+  int good3Counter = 0; // category 5 good peak 3 
+  int good2Counter = 0; // category 5 good peak 3 
+  int emActivityCounter = 0; //count number of TT in EM layer with ADC > 70 
+
+  // =====================================================================
+  // ================= Container: TriggerTower ===========================
+  // =====================================================================
+  
+  xAOD::TriggerTowerContainer_v2::const_iterator TriggerTowerIterator = 
+      TriggerTowerTES->begin();
+  xAOD::TriggerTowerContainer_v2::const_iterator TriggerTowerIteratorEnd =
+      TriggerTowerTES->end();
+  
+  for (; TriggerTowerIterator != TriggerTowerIteratorEnd;
+       ++TriggerTowerIterator) {
+    auto vecIndexTT = std::distance( TriggerTowerTES->begin(), TriggerTowerIterator ) ;
+    float ttPulseCategory = 0;
+    std::vector<uint16_t> ttADC = TriggerTowerTES->at(vecIndexTT)->adc();
+    //Check which RunParameters are set in COOL database -> modify acd input accordingly
+    // need to know: - readout mode (40 or 80MHz)
+    //               - central slice position
+    //               - number of readout slices (== .adc().size())
+ 
+    std::vector<uint16_t> readoutCorrectedADC; //this is the standard readout ADC vector: 5 40MHz samples with l1A in the middle
+    if(!readout80ModePpm){//40 MHz
+       //just acess the acd vector, as the sanity checks where done above
+       readoutCorrectedADC.push_back(ttADC.at(l1aFadcSlice-2));
+       readoutCorrectedADC.push_back(ttADC.at(l1aFadcSlice-1));
+       readoutCorrectedADC.push_back(ttADC.at(l1aFadcSlice));
+       readoutCorrectedADC.push_back(ttADC.at(l1aFadcSlice+1));
+       readoutCorrectedADC.push_back(ttADC.at(l1aFadcSlice+2));
+    }else{//80 MHz
+       readoutCorrectedADC.push_back(ttADC.at(l1aFadcSlice-4));
+       readoutCorrectedADC.push_back(ttADC.at(l1aFadcSlice-2));
+       readoutCorrectedADC.push_back(ttADC.at(l1aFadcSlice));
+       readoutCorrectedADC.push_back(ttADC.at(l1aFadcSlice+2));
+       readoutCorrectedADC.push_back(ttADC.at(l1aFadcSlice+4));
+    }
+  
+    // retrieve max ADC value and position, this seems to be buggy in the DAOD
+    auto maxValIterator = std::max_element(readoutCorrectedADC.begin(), readoutCorrectedADC.end());
+    int maxADCval = *maxValIterator;
+    int adcPeakPositon = std::distance(std::begin(readoutCorrectedADC), maxValIterator);
+    
+    if(maxADCval < 70){
+       ttPulseCategory = 0.1;
+    }else if(maxADCval == 1023) {
+        satCounter++;
+        ttPulseCategory = 1;
+        if(!TriggerTowerTES->at(vecIndexTT)->layer()) emActivityCounter++;
+    }else{
+        bool goodQual = pulseQuality(readoutCorrectedADC, adcPeakPositon);
+        if(!TriggerTowerTES->at(vecIndexTT)->layer()) emActivityCounter++;
+        //look at any of the five FADC values
+        if(adcPeakPositon == 2){ // can be class 3 or 4 now
+          if(goodQual){
+             good2Counter++;
+             ttPulseCategory = 3;
+          }else{
+             bad2Counter++;
+             ttPulseCategory = 4;
+          }
+        }else if(adcPeakPositon == 3){ // can be class 5 or 6 now
+           if(goodQual){
+             good3Counter++;
+             ttPulseCategory = 5;
+           }else{
+             bad3Counter++;
+             ttPulseCategory = 6;
+           }
+        }else{
+          //this is class 2 - really bad
+          badCounter++;
+          ttPulseCategory = 2;
+      }
+    }
+    // decorate the TT in order to have to recompute the pulse categorisation
+    xAOD::TriggerTower* newTT = new xAOD::TriggerTower; //create a new TT object
+    ttContainer->push_back(newTT); // add the newTT to new output TT container (at the end of it)
+    *newTT = *TriggerTowerTES->at(vecIndexTT); // copy over all information from TT to newTT
+    newTT->auxdata<float>("pulseClassification") = ttPulseCategory; //decorate
+//     myDecoration(*newJet) = 10.0; // same decoration with a Decorator (faster)
+  }
+  
+  if(badCounter > 4){
+    //reject events with more than 4 wrongly peaked towers
+    return StatusCode::SUCCESS;
+  }
+  m_h_1d_cutFlow_mistimedStreamAna->Fill(4.5);
+ 
+  if(bad2Counter > 4){
+    //reject events with more than 4 pulses peaking in slice 2 that are badly timed or mis-shapen
+    return StatusCode::SUCCESS;
+  }
+  m_h_1d_cutFlow_mistimedStreamAna->Fill(5.5);
+  
+  if(bad3Counter > 4){
+    //reject events with more than 4 pulses peaking in slice 3 that are badly timed or mis-shapen
+    return StatusCode::SUCCESS;
+  }
+  m_h_1d_cutFlow_mistimedStreamAna->Fill(6.5);
+  
+  if(good3Counter < 2){
+    //reject events with less than 2 pulses nicely peaking in slice 3 
+    return StatusCode::SUCCESS;
+  }
+  m_h_1d_cutFlow_mistimedStreamAna->Fill(7.5);
+   
+  if(good2Counter > 2){
+    //reject events with more than 2 pulses nicely peaking in slice 2 to avoid event being triggered by pileup 
+    return StatusCode::SUCCESS;
+  }
+  m_h_1d_cutFlow_mistimedStreamAna->Fill(8.5);
+  
+  if(!emActivityCounter){
+    //reject events with no activity in the EM layer
+    return StatusCode::SUCCESS;
+  }
+  m_h_1d_cutFlow_mistimedStreamAna->Fill(9.5);
+
+  if(m_curHistos < m_maxHistos){
+
+    //adding the histos dynamically using THistSvc into an event-specific sub-directory
+    // Construct a subdirectory name for the histograms:
+    std::ostringstream fullPathInFile;
+    fullPathInFile  << "/" << m_fileKey << "/" << "run_" << AthenaMonManager::runNumber() << "/" << m_PathInRootFile << "/run_" << std::to_string(currentRunNo) << "_event_" << std::to_string(currentEventNo) << "/";
+  
+    std::string name, title;
+    name = "em_2d_etaPhi_tt_classification_mistimedStreamAna";
+    title = "#eta - #phi Map of TT classification, EM layer: event no. " + std::to_string(currentEventNo) + " in lb. " + std::to_string(lumiNo) + " of run " + std::to_string(currentRunNo);
+    TH2F *emClass = createEtaPhiMap(name, title);
+    CHECK(m_thistSvc->regHist(fullPathInFile.str() + name.c_str(), emClass));
+    
+    name = "had_2d_etaPhi_tt_classification_mistimedStreamAna";
+    title = "#eta - #phi Map of TT classification, HAD layer: event no. " + std::to_string(currentEventNo) + " in lb. " + std::to_string(lumiNo) + " of run " + std::to_string(currentRunNo);
+    TH2F *hadClass = createEtaPhiMap(name, title, true);
+    CHECK(m_thistSvc->regHist(fullPathInFile.str() + name.c_str(), hadClass));
+  
+    name = "em_2d_etaPhi_tt_pseBits_mistimedStreamAna";
+    title = "#eta - #phi Map of TT PSE Bits, EM layer: event no. " + std::to_string(currentEventNo) + " in lb. " + std::to_string(lumiNo) + " of run " + std::to_string(currentRunNo);
+    TH2F *emPSE = createEtaPhiMap(name, title);
+    CHECK(m_thistSvc->regHist(fullPathInFile.str() + name.c_str(), emPSE));
+  
+    name = "had_2d_etaPhi_tt_pseBits_mistimedStreamAna";
+    title = "#eta - #phi Map of TT PSE Bits, HAD layer: event no. " + std::to_string(currentEventNo) + " in lb. " + std::to_string(lumiNo) + " of run " + std::to_string(currentRunNo);
+    TH2F *hadPSE = createEtaPhiMap(name, title, true);
+    CHECK(m_thistSvc->regHist(fullPathInFile.str() + name.c_str(), hadPSE));
+  
+    // histos for the LUT values. They show a combination of CP (central) and JEP (forward) output 
+    name = "em_2d_etaPhi_tt_lut0_mistimedStreamAna";
+    title = "#eta - #phi Map of TT LUT in timeslice 0 = BCID-1, EM layer: event no. " + std::to_string(currentEventNo) + " in lb. " + std::to_string(lumiNo) + " of run " + std::to_string(currentRunNo);
+    TH2F *emLUT0 = createEtaPhiMap(name, title);
+    CHECK(m_thistSvc->regHist(fullPathInFile.str() + name.c_str(), emLUT0));
+    
+    name = "had_2d_etaPhi_tt_lut0_mistimedStreamAna";
+    title = "#eta - #phi Map of TT LUT in timeslice 0 = BCID-1, HAD layer: event no. " + std::to_string(currentEventNo) + " in lb. " + std::to_string(lumiNo) + " of run " + std::to_string(currentRunNo);
+    TH2F *hadLUT0 = createEtaPhiMap(name, title, true);
+    CHECK(m_thistSvc->regHist(fullPathInFile.str() + name.c_str(), hadLUT0));
+    
+    name = "em_2d_etaPhi_tt_lut1_mistimedStreamAna";
+    title = "#eta - #phi Map of TT LUT in timeslice 1 = BCID, EM layer: event no. " + std::to_string(currentEventNo) + " in lb. " + std::to_string(lumiNo) + " of run " + std::to_string(currentRunNo);
+    TH2F *emLUT1 = createEtaPhiMap(name, title);
+    CHECK(m_thistSvc->regHist(fullPathInFile.str() + name.c_str(), emLUT1));
+  
+    name = "had_2d_etaPhi_tt_lut1_mistimedStreamAna";
+    title = "#eta - #phi Map of TT LUT in timeslice 1 = BCID, HAD layer: event no. " + std::to_string(currentEventNo) + " in lb. " + std::to_string(lumiNo) + " of run " + std::to_string(currentRunNo);
+    TH2F *hadLUT1 = createEtaPhiMap(name, title, true);
+    CHECK(m_thistSvc->regHist(fullPathInFile.str() + name.c_str(), hadLUT1));
+  
+    name = "em_2d_etaPhi_tt_lut2_mistimedStreamAna";
+    title = "#eta - #phi Map of TT LUT in timeslice 2 = BCID+1, EM layer: event no. " + std::to_string(currentEventNo) + " in lb. " + std::to_string(lumiNo) + " of run " + std::to_string(currentRunNo);
+    TH2F *emLUT2 = createEtaPhiMap(name, title);
+    CHECK(m_thistSvc->regHist(fullPathInFile.str() + name.c_str(), emLUT2));
+  
+    name = "had_2d_etaPhi_tt_lut2_mistimedStreamAna";
+    title = "#eta - #phi Map of TT LUT in timeslice 2 = BCID+1, HAD layer: event no. " + std::to_string(currentEventNo) + " in lb. " + std::to_string(lumiNo) + " of run " + std::to_string(currentRunNo);
+    TH2F *hadLUT2 = createEtaPhiMap(name, title, true);
+    CHECK(m_thistSvc->regHist(fullPathInFile.str() + name.c_str(), hadLUT2));
+    
+    
+    // loop over the decorated TTcollection to fill the classification and pse histos
+    for(auto decoratedIterator = ttContainer->begin() ; decoratedIterator != ttContainer->end() ; ++decoratedIterator ){
+  
+        const int layer = (*decoratedIterator)->layer();
+        const double eta = (*decoratedIterator)->eta();
+        const double phi = (*decoratedIterator)->phi();
+        const float pulseCat = (*decoratedIterator)->auxdata<float>("pulseClassification");
+        uint8_t bcidWord = (*decoratedIterator)->bcidVec()[0]; // look at the status bit in the central time slice. Hard coded for now as we do the 5 slice check above
+          
+        // Check if TT is in EM or HAD layer:
+        if (layer == 0) { //========== ELECTROMAGNETIC LAYER =========================
+            fillEtaPhiMap(emClass, eta, phi, pulseCat);
+            if(pulseCat > 0.5) fillEtaPhiMap(emPSE, eta, phi, (unsigned int)bcidWord);
+        }
+        else if(layer == 1) { //========== HADRONIC LAYER ===============================
+            fillEtaPhiMap(hadClass, eta, phi, pulseCat);
+            if(pulseCat > 0.5) fillEtaPhiMap(hadPSE, eta, phi, (unsigned int)bcidWord);
+        }
+     }
+  
+     //loop over the cpm tower container to fill the lut histos 
+     for(auto thisCT:*cpmTowCon){
+        double eta = thisCT->eta();
+        double phi = thisCT->phi();
+        std::vector<uint8_t> cpmEMenergy = thisCT->emEnergyVec();
+        std::vector<uint8_t> cpmHADenergy = thisCT->hadEnergyVec();
+  
+        if(cpmEMenergy.size() > 2){ // expect 3 slices to be read out
+            fillEtaPhiMap(emLUT0, eta, phi, (int) cpmEMenergy.at(0));
+            fillEtaPhiMap(emLUT1, eta, phi, (int) cpmEMenergy.at(1));
+            fillEtaPhiMap(emLUT2, eta, phi, (int) cpmEMenergy.at(2));
+        }
+        if(cpmHADenergy.size() > 2){
+            fillEtaPhiMap(hadLUT0, eta, phi, (int) cpmHADenergy.at(0));
+            fillEtaPhiMap(hadLUT1, eta, phi, (int) cpmHADenergy.at(1));
+            fillEtaPhiMap(hadLUT2, eta, phi, (int) cpmHADenergy.at(2));
+        }
+      }
+      // and the jet element container for the forward region
+      for(auto thisJE:*jetEleCon){
+        double eta = thisJE->eta();
+        double phi = thisJE->phi();
+        int signeta = 1;
+        if(eta < 0) signeta = -1;
+        std::vector<uint16_t> jepEMenergy = thisJE->emJetElementETVec();
+        std::vector<uint16_t> jepHADenergy = thisJE->hadJetElementETVec();
+        
+        if (eta < -2.5 || eta > 2.5) {// Use JEP info to fill the forward part of the lut plots, but since this has TT granularity we have to play some tricks
+           if(jepEMenergy.size() > 2){
+             fillEtaPhiMap(emLUT0, eta, phi, (int)jepEMenergy.at(0));
+             fillEtaPhiMap(emLUT1, eta, phi, (int)jepEMenergy.at(1));
+             fillEtaPhiMap(emLUT2, eta, phi, (int)jepEMenergy.at(2));           
+             if (eta < -3.2 || eta > 3.2) {//for the FCal, the jep elements eta will be 4.05 -> to mimic this in the PPM histo histos fill 3 more bins in eta 
+                fillEtaPhiMap(emLUT0, signeta*4.7, phi, (int)jepEMenergy.at(0));
+                fillEtaPhiMap(emLUT1, signeta*4.7, phi, (int)jepEMenergy.at(1));
+                fillEtaPhiMap(emLUT2, signeta*4.7, phi, (int)jepEMenergy.at(2));
+                fillEtaPhiMap(emLUT0, signeta*3.7, phi, (int)jepEMenergy.at(0));
+                fillEtaPhiMap(emLUT1, signeta*3.7, phi, (int)jepEMenergy.at(1));
+                fillEtaPhiMap(emLUT2, signeta*3.7, phi, (int)jepEMenergy.at(2));
+                fillEtaPhiMap(emLUT0, signeta*3.5, phi, (int)jepEMenergy.at(0));
+                fillEtaPhiMap(emLUT1, signeta*3.5, phi, (int)jepEMenergy.at(1));
+                fillEtaPhiMap(emLUT2, signeta*3.5, phi, (int)jepEMenergy.at(2));    
+             }else if (eta < -2.9 || eta > 2.9) {//here the jep element eta will be 3.05 -> to mimic this in the PPM histo fill one more eta bin
+                fillEtaPhiMap(emLUT0, signeta*3.15, phi, (int)jepEMenergy.at(0));
+                fillEtaPhiMap(emLUT1, signeta*3.15, phi, (int)jepEMenergy.at(1));
+                fillEtaPhiMap(emLUT2, signeta*3.15, phi, (int)jepEMenergy.at(2));   
+              } 
+           }
+           if(jepHADenergy.size()> 2){
+             fillEtaPhiMap(hadLUT0, eta, phi, (int)jepHADenergy.at(0));
+             fillEtaPhiMap(hadLUT1, eta, phi, (int)jepHADenergy.at(1));
+             fillEtaPhiMap(hadLUT2, eta, phi, (int)jepHADenergy.at(2));   
+             if (eta < -3.2 || eta > 3.2) {//for the FCal, the jep elements are summed horizontally, mimic this in the TH2TT histos -> fill 3 more bins in eta
+               fillEtaPhiMap(hadLUT0, signeta*4.7, phi, (int)jepHADenergy.at(0));
+               fillEtaPhiMap(hadLUT1, signeta*4.7, phi, (int)jepHADenergy.at(1));
+               fillEtaPhiMap(hadLUT2, signeta*4.7, phi, (int)jepHADenergy.at(2));
+               fillEtaPhiMap(hadLUT0, signeta*3.7, phi, (int)jepHADenergy.at(0));
+               fillEtaPhiMap(hadLUT1, signeta*3.7, phi, (int)jepHADenergy.at(1));
+               fillEtaPhiMap(hadLUT2, signeta*3.7, phi, (int)jepHADenergy.at(2));
+               fillEtaPhiMap(hadLUT0, signeta*3.5, phi, (int)jepHADenergy.at(0));
+               fillEtaPhiMap(hadLUT1, signeta*3.5, phi, (int)jepHADenergy.at(1));
+               fillEtaPhiMap(hadLUT2, signeta*3.5, phi, (int)jepHADenergy.at(2));     
+             }else if (eta < -2.9 || eta > 2.9) {
+               fillEtaPhiMap(hadLUT0, signeta*3.15, phi, (int)jepHADenergy.at(0));
+               fillEtaPhiMap(hadLUT1, signeta*3.15, phi, (int)jepHADenergy.at(1));
+               fillEtaPhiMap(hadLUT2, signeta*3.15, phi, (int)jepHADenergy.at(2));
+	     } 
+	   }
+	}
+      }
+      
+      m_curHistos++;
+  }
+
+
+  m_h_1d_selectedEvents_mistimedStreamAna->Fill(lumiNo);
+  
+  //dont forget to delete the decorated TTcontainers
+  delete ttContainer;
+  delete ttAuxContainer;
+ 
+  return StatusCode::SUCCESS;
+}
+
+// ============================================================================
+} // end namespace
+// ============================================================================
diff --git a/Trigger/TrigT1/TrigT1CaloMonitoring/src/MistimedStreamMon.h b/Trigger/TrigT1/TrigT1CaloMonitoring/src/MistimedStreamMon.h
new file mode 100755
index 000000000000..10c96eac99ef
--- /dev/null
+++ b/Trigger/TrigT1/TrigT1CaloMonitoring/src/MistimedStreamMon.h
@@ -0,0 +1,132 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// ********************************************************************
+//
+// NAME:        MistimedStreamMon.h
+// PACKAGE:     TrigT1CaloMonitoring
+//
+// Author:      Julia I. Djuvsland (julia.djuvsland@kip.uni-heidelberg.de)
+//              Sebastian M. Weber (sebastian.weber@kip.uni-heidelberg.de)
+//              Universitaet Heidelberg
+//
+// ********************************************************************
+
+#ifndef TRIGT1CALOMONITORING_MISTIMEDSTREAMMON_H
+#define TRIGT1CALOMONITORING_MISTIMEDSTREAMMON_H
+
+#include <string>
+#include <vector>
+
+#include "AthenaMonitoring/ManagedMonitorToolBase.h"
+#include "GaudiKernel/ToolHandle.h"
+#include "GaudiKernel/ServiceHandle.h"
+#include "GaudiKernel/IIncidentListener.h"
+
+#include "xAODTrigL1Calo/TriggerTower.h"
+#include "xAODTrigL1Calo/TriggerTowerContainer.h"
+#include "AthenaMonitoring/ManagedMonitorToolBase.h"
+
+class TH1F_LW;
+
+class L1CaloCondSvc;
+class L1CaloRunParametersContainer;
+class L1CaloReadoutConfigContainer;
+
+class StatusCode;
+class EventInfo;
+class ITHistSvc;
+
+namespace Trig {
+  class TrigDecisionTool;
+}
+
+// ============================================================================
+namespace LVL1 {
+// ============================================================================
+// Forward declarations:
+// ============================================================================
+class IL1TriggerTowerTool;
+class ITrigT1CaloMonErrorTool;
+class TrigT1CaloLWHistogramTool;
+
+/** This class monitors events that fired the trigger HLT_mistimemonj400
+ *  to spot potential late or mistimed trigger towers, but will also pick up noise
+ *
+ *  <b>ROOT Histogram Directories (Tier0):</b>
+ *
+ *  <table>
+ *  <tr><th> Directory                                    </th><th> Contents               </th></tr>
+ *  <tr><td> @c L1Calo/MistimedStream/EventsPerLumiBlock  </td><td> Selected events per lumiblock <br>
+ *  </table>
+ *
+ *
+ *  @authors Julia I. Djuvsland, Sebastian M. Weber
+ *
+ * */
+
+class MistimedStreamMon: public ManagedMonitorToolBase
+{
+
+ public:
+  
+  MistimedStreamMon(const std::string & type, const std::string & name,const IInterface* parent);
+  virtual ~MistimedStreamMon();
+
+  virtual StatusCode initialize();
+  virtual StatusCode finalize();
+  virtual StatusCode bookHistogramsRecurrent();
+  virtual StatusCode fillHistograms();
+  
+private:
+    
+  StatusCode retrieveConditions();
+  void fillEtaPhiMap(TH2F* hist, double eta, double phi, double weight, bool shrinkEtaBins = true);
+  TH2F* createEtaPhiMap(std::string name, std::string title, bool isHADLayer = false, bool shrinkEtaBins = true);
+  bool pulseQuality(std::vector<uint16_t> ttPulse, int peakSlice);
+   
+  /// Tool to retrieve bytestream errors
+  ToolHandle<ITrigT1CaloMonErrorTool>   m_errorTool;
+  /// Histogram helper tool
+  ToolHandle<TrigT1CaloLWHistogramTool> m_histTool;
+  /// TT simulation tool for Identifiers
+  ToolHandle<LVL1::IL1TriggerTowerTool> m_ttTool;
+  /// Tool to retrieve the trigger decision
+  ToolHandle<Trig::TrigDecisionTool> m_trigDec;
+
+  /// Histograms booked flag
+  bool m_histBooked;
+  // Histograms
+  
+  // Overview histos
+  // Overall selected events and cut flow of analysis
+  TH1F_LW* m_h_1d_cutFlow_mistimedStreamAna;  
+  // Selected events per lumi block
+  TH1F_LW* m_h_1d_selectedEvents_mistimedStreamAna;
+    
+  //Variables for the properties
+  /// Root directory
+  std::string m_PathInRootFile;
+  /// xAODTriggerTower Container key
+  std::string m_xAODTriggerTowerContainerName;
+  /// L1Calo conditions                                                                               
+  ServiceHandle<L1CaloCondSvc> m_l1CondSvc;
+  /// Database container for the run parameters
+  L1CaloRunParametersContainer* m_runParametersContainer;
+  /// Database container for the readout configuration
+  L1CaloReadoutConfigContainer* m_readoutConfigContainer;
+
+  //Control maximum number of histograms per job
+  int m_maxHistos;
+  int m_curHistos;
+  
+  //  Athena hist service
+  ServiceHandle<ITHistSvc> m_thistSvc;
+};
+
+// ============================================================================
+}  // end namespace
+// ============================================================================
+
+#endif
diff --git a/Trigger/TrigT1/TrigT1CaloMonitoring/src/PPMSimBSMon.cxx b/Trigger/TrigT1/TrigT1CaloMonitoring/src/PPMSimBSMon.cxx
index a0402307a49d..436e4a655ca4 100644
--- a/Trigger/TrigT1/TrigT1CaloMonitoring/src/PPMSimBSMon.cxx
+++ b/Trigger/TrigT1/TrigT1CaloMonitoring/src/PPMSimBSMon.cxx
@@ -32,6 +32,11 @@
 #include "TrigT1CaloMonitoringTools/TrigT1CaloLWHistogramTool.h"
 #include "TrigT1Interfaces/TrigT1CaloDefs.h"
 
+#include "TrigT1CaloCondSvc/L1CaloCondSvc.h"
+#include "TrigT1CaloCalibConditions/L1CaloRunParameters.h"  
+#include "TrigT1CaloCalibConditions/L1CaloRunParametersContainer.h"  
+
+
 // ============================================================================
 namespace LVL1 {
 // ============================================================================
@@ -42,6 +47,7 @@ PPMSimBSMon::PPMSimBSMon(const std::string & type,
     m_ttTool("LVL1::L1TriggerTowerTool/L1TriggerTowerTool"),
     m_errorTool("LVL1::TrigT1CaloMonErrorTool/TrigT1CaloMonErrorTool"),
     m_histTool("LVL1::TrigT1CaloLWHistogramTool/TrigT1CaloLWHistogramTool"),
+    m_l1CondSvc("L1CaloCondSvc",name),
     m_histBooked(false),
     m_h_ppm_em_2d_etaPhi_tt_lutCp_SimEqData(0),
     m_h_ppm_em_2d_etaPhi_tt_lutCp_SimNeData(0),
@@ -108,10 +114,34 @@ StatusCode PPMSimBSMon:: initialize()
   CHECK(m_ttTool.retrieve());
   CHECK(m_errorTool.retrieve());
   CHECK(m_histTool.retrieve());
+  CHECK(m_l1CondSvc.retrieve());
+
+
+  return StatusCode::SUCCESS;
+}
+
+/*---------------------------------------------------------*/
+StatusCode PPMSimBSMon:: retrieveConditions()
+/*---------------------------------------------------------*/
+{
+  ATH_MSG_VERBOSE("PPMSimBSMon::retrieveConditions");
+  if (m_l1CondSvc) {
+    ATH_MSG_VERBOSE( "Retrieving Conditions Containers" );
+    CHECK_WITH_CONTEXT(m_l1CondSvc->retrieve(m_runParametersContainer),"PPMSimBSMon");
+
+    if (std::cbegin(*m_runParametersContainer) == std::cend(*m_runParametersContainer)) {
+      ATH_MSG_ERROR("Empty L1CaloRunParametersContainer");
+      return StatusCode::FAILURE;
+      }
+
+  }else{
+    ATH_MSG_ERROR("L1CondSvc not present!");
+  }
 
   return StatusCode::SUCCESS;
 }
 
+
 /*---------------------------------------------------------*/
 StatusCode PPMSimBSMon:: finalize()
 /*---------------------------------------------------------*/
@@ -321,6 +351,17 @@ void PPMSimBSMon::simulateAndCompare(const xAOD::TriggerTowerContainer* ttIn)
       return;
   }
 
+  if(this->retrieveConditions().isFailure()) {
+      REPORT_MESSAGE(MSG::WARNING);
+      return;
+  }
+
+  unsigned int readoutConfigID   = std::cbegin(*m_runParametersContainer)->readoutConfigID();
+
+  if(msgLvl(MSG::DEBUG)){
+    ATH_MSG_VERBOSE("ReadoutConfigID = " << readoutConfigID );
+  }
+
   bool isRun2 = true;
   const EventInfo* evInfo = nullptr;
   if (evtStore()->retrieve(evInfo).isFailure() || !evInfo) {
@@ -346,9 +387,6 @@ void PPMSimBSMon::simulateAndCompare(const xAOD::TriggerTowerContainer* ttIn)
     const double phi = tt->phi();
     const int datCp = tt->cpET();
     const int datJep = tt->lut_jep().empty() ? 0 : tt->jepET();
-    const std::vector<uint_least16_t>& ADC = tt->adc();
-    const int Slices = ADC.size();
-    const int Peak = tt->adcPeak();
     bool pedCorrOverflow = false;
     const std::size_t nPedCorr = tt->correction().size();
     int simCp = 0;
@@ -360,6 +398,33 @@ void PPMSimBSMon::simulateAndCompare(const xAOD::TriggerTowerContainer* ttIn)
       datBcid = datBcidVec[tt->peak()];
     }
 
+  //Retrieve RunParameters container from COOL database and check if run was taken with 80MHz readout. If yes, drop the 80MHz samples to emulate 40 MHz readout
+
+    std::vector<uint16_t> digits40;
+
+    if(readoutConfigID==5 or readoutConfigID==6){
+
+      int nSlices = tt->adc().size();
+
+      if((nSlices%4)==3){
+	for (int i=0 ; i < (nSlices-1)/2 ; i++ ){
+	  digits40.push_back(tt->adc().at(2*i+1));
+	}
+      }
+      else if((nSlices%4)==1){
+	for (int i=0 ; i <= (nSlices-1)/2 ; i++ ){
+	  digits40.push_back(tt->adc().at(2*i));
+	}
+      }
+
+    }else{
+      digits40 = tt->adc();
+    }
+
+    const std::vector<uint_least16_t>& ADC = digits40;
+    const int Slices = ADC.size();
+    const int Peak = Slices/2.;
+
     //Check for over-/underflow of pedestalCorrection
     for(std::size_t i = 0; i < nPedCorr; ++i) {
       if(tt->correction()[i]>=511 or tt->correction()[i]<=-512){
diff --git a/Trigger/TrigT1/TrigT1CaloMonitoring/src/PPMSimBSMon.h b/Trigger/TrigT1/TrigT1CaloMonitoring/src/PPMSimBSMon.h
index eb63d5e4e7ac..1950ef68c848 100644
--- a/Trigger/TrigT1/TrigT1CaloMonitoring/src/PPMSimBSMon.h
+++ b/Trigger/TrigT1/TrigT1CaloMonitoring/src/PPMSimBSMon.h
@@ -19,6 +19,7 @@
 #include <vector>
 
 #include "GaudiKernel/ToolHandle.h"
+#include "GaudiKernel/ServiceHandle.h"
 
 #include "AthenaMonitoring/ManagedMonitorToolBase.h"
 #include "xAODTrigL1Calo/TriggerTowerContainer.h"
@@ -26,6 +27,9 @@
 class TH2F_LW;
 class TH2I_LW;
 
+class L1CaloCondSvc;
+class L1CaloRunParametersContainer;
+
 // ============================================================================
 namespace LVL1 {
 // ============================================================================
@@ -35,6 +39,9 @@ class TriggerTower;
 class IL1TriggerTowerTool;
 class ITrigT1CaloMonErrorTool;
 class TrigT1CaloLWHistogramTool;
+
+
+
 // ============================================================================
 
 /** Cross-check of PPM LUT data with simulation.
@@ -124,6 +131,8 @@ public:
 private:
 
   typedef std::vector<int> ErrorVector;
+
+  StatusCode retrieveConditions();
   
   /// Fill error event number histogram
   void  fillEventSample(int crate, int module);
@@ -137,7 +146,13 @@ private:
   ToolHandle<ITrigT1CaloMonErrorTool>    m_errorTool;
   /// Histogram helper tool
   ToolHandle<TrigT1CaloLWHistogramTool> m_histTool;
-      
+
+  /// L1Calo conditions                                                                               
+  ServiceHandle<L1CaloCondSvc> m_l1CondSvc;
+
+  /// Database container
+  L1CaloRunParametersContainer* m_runParametersContainer;
+
   /// Root directory name
   std::string m_rootDir;
 
diff --git a/Trigger/TrigT1/TrigT1CaloMonitoring/src/components/TrigT1CaloMonitoring_entries.cxx b/Trigger/TrigT1/TrigT1CaloMonitoring/src/components/TrigT1CaloMonitoring_entries.cxx
index ca504276a172..6656b9ccd8da 100644
--- a/Trigger/TrigT1/TrigT1CaloMonitoring/src/components/TrigT1CaloMonitoring_entries.cxx
+++ b/Trigger/TrigT1/TrigT1CaloMonitoring/src/components/TrigT1CaloMonitoring_entries.cxx
@@ -4,6 +4,7 @@
 #include "../JEPCMXMon.h"
 #include "../JEPSimMon.h"
 #include "../PPrMon.h"
+#include "../MistimedStreamMon.h"
 #include "../PPrStabilityMon.h"
 #include "../PPrSpareMon.h"
 #include "../PPMSimBSMon.h"
@@ -11,11 +12,11 @@
 #include "../OverviewMon.h"
 #include "../TagProbeEfficiencyMon.h"
 
-//Run 1
+// Run 1
 #include "../CMMMon.h"
 #include "../CPMSimBSMon.h"
 #include "../JEMMon.h"
-//#include "../JEPSimBSMon.h"
+// #include "../JEPSimBSMon.h"
 #include "../TrigT1CaloBSMon.h"
 #include "../TrigT1CaloCpmMonTool.h"
 #include "../TrigT1CaloGlobalMonTool.h"
@@ -32,6 +33,7 @@ DECLARE_COMPONENT( LVL1::JEPCMXMon )
 DECLARE_COMPONENT( LVL1::JEPSimMon )
 
 DECLARE_COMPONENT( LVL1::PPrMon )
+DECLARE_COMPONENT( LVL1::MistimedStreamMon )
 DECLARE_COMPONENT( LVL1::PPrStabilityMon )
 DECLARE_COMPONENT( LVL1::PPrSpareMon )
 DECLARE_COMPONENT( LVL1::PPMSimBSMon )
@@ -39,14 +41,14 @@ DECLARE_COMPONENT( LVL1::RODMon )
 
 DECLARE_COMPONENT( LVL1::TagProbeEfficiencyMon )
 
-//Run 1
+// Run 1
 DECLARE_COMPONENT( LVL1::CMMMon )
 DECLARE_COMPONENT( LVL1::CPMSimBSMon )
 DECLARE_COMPONENT( LVL1::JEMMon )
-//DECLARE_COMPONENT( LVL1::JEPSimBSMon )
+// DECLARE_COMPONENT( LVL1::JEPSimBSMon )
 DECLARE_COMPONENT( LVL1::TrigT1CaloBSMon )
 DECLARE_COMPONENT( LVL1::TrigT1CaloCpmMonTool )
 DECLARE_COMPONENT( LVL1::TrigT1CaloGlobalMonTool )
-//DECLARE_COMPONENT( LVL1::EmEfficienciesMonTool )
+// DECLARE_COMPONENT( LVL1::EmEfficienciesMonTool )
 DECLARE_COMPONENT( LVL1::JetEfficienciesMonTool )
 DECLARE_COMPONENT( LVL1::RODMonV1 )
-- 
GitLab


From eb6826ae4ceccf55fb218f3e2a4ebf1491c1cba3 Mon Sep 17 00:00:00 2001
From: Dmitry Popov <Dmitry.Popov@cern.ch>
Date: Tue, 8 Jan 2019 17:53:51 +0100
Subject: [PATCH 018/192] Updated TrigT1CaloTools

---
 .../TrigT1CaloTools/L1CPCMXTools.h            |   4 -
 .../L1DynamicPedestalProviderRoot.h           |   4 +-
 .../L1DynamicPedestalProviderTxt.h            |   2 +-
 .../TrigT1CaloTools/L1EnergyCMXTools.h        |   4 +-
 .../TrigT1CaloTools/L1JetCMXTools.h           |   4 -
 .../TrigT1CaloTools/L1TriggerTowerTool.h      |   9 +
 .../src/L1DynamicPedestalProviderRoot.cxx     |   2 +-
 .../src/L1DynamicPedestalProviderTxt.cxx      |   2 +-
 .../TrigT1CaloTools/src/L1EnergyCMXTools.cxx  |  27 +++
 .../src/L1TriggerTowerTool.cxx                | 224 +++++++++++++++++-
 10 files changed, 258 insertions(+), 24 deletions(-)

diff --git a/Trigger/TrigT1/TrigT1CaloTools/TrigT1CaloTools/L1CPCMXTools.h b/Trigger/TrigT1/TrigT1CaloTools/TrigT1CaloTools/L1CPCMXTools.h
index 04dad37d3fa2..2cbbc5843159 100644
--- a/Trigger/TrigT1/TrigT1CaloTools/TrigT1CaloTools/L1CPCMXTools.h
+++ b/Trigger/TrigT1/TrigT1CaloTools/TrigT1CaloTools/L1CPCMXTools.h
@@ -2,10 +2,6 @@
   Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 */
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 #ifndef LVL1L1CPCMXTOOLS_H
 #define LVL1L1CPCMXTOOLS_H
diff --git a/Trigger/TrigT1/TrigT1CaloTools/TrigT1CaloTools/L1DynamicPedestalProviderRoot.h b/Trigger/TrigT1/TrigT1CaloTools/TrigT1CaloTools/L1DynamicPedestalProviderRoot.h
index 421c50308963..9a939970e266 100644
--- a/Trigger/TrigT1/TrigT1CaloTools/TrigT1CaloTools/L1DynamicPedestalProviderRoot.h
+++ b/Trigger/TrigT1/TrigT1CaloTools/TrigT1CaloTools/L1DynamicPedestalProviderRoot.h
@@ -1,8 +1,8 @@
-/** -*- C++ -*-*/
+/** -*- C++ -*- */
 /*
   Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 */
-/*
+/**
  * @file TrigT1CaloTools/L1DynamicPedestalProviderRoot.h
  * @author V. Scharf <vscharf@kip.uni-heidelberg.de>
  * @date June 2014
diff --git a/Trigger/TrigT1/TrigT1CaloTools/TrigT1CaloTools/L1DynamicPedestalProviderTxt.h b/Trigger/TrigT1/TrigT1CaloTools/TrigT1CaloTools/L1DynamicPedestalProviderTxt.h
index ebc47fa4e309..e21e3d91a450 100644
--- a/Trigger/TrigT1/TrigT1CaloTools/TrigT1CaloTools/L1DynamicPedestalProviderTxt.h
+++ b/Trigger/TrigT1/TrigT1CaloTools/TrigT1CaloTools/L1DynamicPedestalProviderTxt.h
@@ -2,7 +2,7 @@
 /*
   Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 */
-/*
+/* 
  * @file TrigT1CaloTools/L1DynamicPedestalProviderTxt.h
  * @author V. Scharf <vscharf@kip.uni-heidelberg.de>
  * @date June 2014
diff --git a/Trigger/TrigT1/TrigT1CaloTools/TrigT1CaloTools/L1EnergyCMXTools.h b/Trigger/TrigT1/TrigT1CaloTools/TrigT1CaloTools/L1EnergyCMXTools.h
index afa99d1aa65a..14fd8ec4921a 100644
--- a/Trigger/TrigT1/TrigT1CaloTools/TrigT1CaloTools/L1EnergyCMXTools.h
+++ b/Trigger/TrigT1/TrigT1CaloTools/TrigT1CaloTools/L1EnergyCMXTools.h
@@ -115,6 +115,8 @@ class L1EnergyCMXTools : virtual public IL1EnergyCMXTools, public AthAlgTool
     void etMapsToEtSums(const MultiSliceSystemEnergy &systemVec,
                         xAOD::CMXEtSumsContainer *cmxEtSumsVec, int peak) const;
     void findRestrictedEta(uint32_t &maskXE, uint32_t &maskTE) const;
+
+    void dumpCrateEnergies(const std::string& msg, const MultiSliceCrateEnergy& crates) const;
     /** trigger configuration service */
     ServiceHandle<TrigConf::ITrigConfigSvc> m_configSvc;
     /** Tool for JetElement map */
@@ -124,7 +126,7 @@ class L1EnergyCMXTools : virtual public IL1EnergyCMXTools, public AthAlgTool
     /** Debug flag */
     bool m_debug;
     /** Find restructed eta range.
-     *  This will use the min/max values for any threshold in the range 9-16 to define the ranges
+     *  This will use the min/max values for the first valid threshold in the range 9-16 to define the ranges
      */
     uint32_t m_maskXE;
     uint32_t m_maskTE;
diff --git a/Trigger/TrigT1/TrigT1CaloTools/TrigT1CaloTools/L1JetCMXTools.h b/Trigger/TrigT1/TrigT1CaloTools/TrigT1CaloTools/L1JetCMXTools.h
index 6c6e685896ff..49ac48849808 100644
--- a/Trigger/TrigT1/TrigT1CaloTools/TrigT1CaloTools/L1JetCMXTools.h
+++ b/Trigger/TrigT1/TrigT1CaloTools/TrigT1CaloTools/L1JetCMXTools.h
@@ -2,10 +2,6 @@
   Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 */
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 #ifndef LVL1L1JETCMXTOOLS_H
 #define LVL1L1JETCMXTOOLS_H
diff --git a/Trigger/TrigT1/TrigT1CaloTools/TrigT1CaloTools/L1TriggerTowerTool.h b/Trigger/TrigT1/TrigT1CaloTools/TrigT1CaloTools/L1TriggerTowerTool.h
index c9aefd048fae..0e89ea1b8391 100644
--- a/Trigger/TrigT1/TrigT1CaloTools/TrigT1CaloTools/L1TriggerTowerTool.h
+++ b/Trigger/TrigT1/TrigT1CaloTools/TrigT1CaloTools/L1TriggerTowerTool.h
@@ -28,6 +28,9 @@ class CaloTriggerTowerService;
 class Incident;
 class L1CaloCondSvc;
 class L1CaloPpmFineTimeRefsContainer;
+class L1CaloDerivedRunParsContainer;
+class L1CaloRunParametersContainer;
+class L1CaloPprChanStrategyContainer;
 
 namespace TrigConf { class ILVL1ConfigSvc; }
 
@@ -154,6 +157,12 @@ namespace LVL1
 
       // one of L1CaloPprConditionsContainer{,Run2}*
       bool m_isRun2;
+      
+      /// For Run2 strategy (LowMu, HighMu)
+      L1CaloPprChanStrategyContainer* m_strategyContainer;
+      L1CaloDerivedRunParsContainer* m_derivedRunParsContainer;
+      L1CaloRunParametersContainer* m_runParametersContainer;
+      
       boost::any m_conditionsContainer;
       // one of L1CaloPprDisabledChannelContainer{,Run2}*
       boost::any m_disabledChannelContainer;
diff --git a/Trigger/TrigT1/TrigT1CaloTools/src/L1DynamicPedestalProviderRoot.cxx b/Trigger/TrigT1/TrigT1CaloTools/src/L1DynamicPedestalProviderRoot.cxx
index d2aef15831c6..26ce045a1ecf 100644
--- a/Trigger/TrigT1/TrigT1CaloTools/src/L1DynamicPedestalProviderRoot.cxx
+++ b/Trigger/TrigT1/TrigT1CaloTools/src/L1DynamicPedestalProviderRoot.cxx
@@ -2,7 +2,7 @@
   Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 */
 //////////////////////////////////////////////////////////////////////
-//  L1DynamicPedestalProviderRoot.cxx (c) Veit Scjarf
+//  L1DynamicPedestalProviderRoot.cxx 
 ///////////////////////////////////////////////////////////////////////
 
 #include "TrigT1CaloTools/L1DynamicPedestalProviderRoot.h"
diff --git a/Trigger/TrigT1/TrigT1CaloTools/src/L1DynamicPedestalProviderTxt.cxx b/Trigger/TrigT1/TrigT1CaloTools/src/L1DynamicPedestalProviderTxt.cxx
index fdbaf7eb0014..dc87d244a4df 100644
--- a/Trigger/TrigT1/TrigT1CaloTools/src/L1DynamicPedestalProviderTxt.cxx
+++ b/Trigger/TrigT1/TrigT1CaloTools/src/L1DynamicPedestalProviderTxt.cxx
@@ -2,7 +2,7 @@
   Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 */
 //////////////////////////////////////////////////////////////////////
-//  L1DynamicPedestalProviderTxt.cxx (c) Veit Scjarf
+//  L1DynamicPedestalProviderTxt.cxx 
 ///////////////////////////////////////////////////////////////////////
 
 #include "TrigT1CaloTools/L1DynamicPedestalProviderTxt.h"
diff --git a/Trigger/TrigT1/TrigT1CaloTools/src/L1EnergyCMXTools.cxx b/Trigger/TrigT1/TrigT1CaloTools/src/L1EnergyCMXTools.cxx
index d609d07f5980..d22ca5656213 100644
--- a/Trigger/TrigT1/TrigT1CaloTools/src/L1EnergyCMXTools.cxx
+++ b/Trigger/TrigT1/TrigT1CaloTools/src/L1EnergyCMXTools.cxx
@@ -451,6 +451,9 @@ void L1EnergyCMXTools::etSumsToCrateEnergy(const xAOD::CMXEtSumsContainer *etSum
                                               eyErr.get(DataError::Overflow), restricted));
         }
     }
+
+    dumpCrateEnergies("Crates from full region (for total)", crateVecFull);
+    dumpCrateEnergies("Crates from restricted region (for total)", crateVecRestricted);
 }
 
 /** Convert CMXEtSums container to internal SystemEnergy objects */
@@ -650,6 +653,10 @@ void L1EnergyCMXTools::crateEnergyToEtSums(
     unsigned int nslices = cratesVecFull.size();
     std::vector<uint16_t> dummy(nslices);
     std::vector<uint32_t> error(nslices);
+    
+    dumpCrateEnergies("Crates from full region", cratesVecFull);
+    dumpCrateEnergies("Crates from restricted region", cratesVecRestricted);
+    
 
     for (unsigned int slice = 0; slice < nslices; ++slice)
     {
@@ -773,6 +780,8 @@ void L1EnergyCMXTools::systemEnergyToEtSums(
         int exOverflow = energy->exOverflow();
         int eyOverflow = energy->eyOverflow();
         int etOverflow = energy->etOverflow();
+        
+        // don't trust to exOverflow for restricted
         if (ex == 0 && ey == 0 && et == 0 &&
             exOverflow == 0 && eyOverflow == 0 && etOverflow == 0)
             continue;
@@ -793,12 +802,14 @@ void L1EnergyCMXTools::systemEnergyToEtSums(
         exVec[slice] = ex;
         eyVec[slice] = ey;
         etVec[slice] = et;
+
         if (exOverflow)
         {
             DataError dEx(exErr[slice]);
             dEx.set(DataError::Overflow);
             exErr[slice] = dEx.error();
         }
+
         if (eyOverflow)
         {
             DataError dEy(eyErr[slice]);
@@ -955,4 +966,20 @@ void L1EnergyCMXTools::etMapsToEtSums(
     }
 }
 
+void L1EnergyCMXTools::dumpCrateEnergies(
+    const std::string &msg, const MultiSliceCrateEnergy &crates) const {
+  if (!m_debug) return;
+
+  ATH_MSG_DEBUG(msg);
+  for (const auto& p : crates) {
+    for (const auto& c : *p) {
+      ATH_MSG_DEBUG(" CrateEnergy: crate " << c->crate() << " results ");
+      ATH_MSG_DEBUG("  Et " << c->et() << " overflow " << c->etOverflow());
+      ATH_MSG_DEBUG("  Ex " << c->ex() << " overflow " << c->exOverflow());
+      ATH_MSG_DEBUG("  Ey " << c->ey() << " overflow "<< c->eyOverflow());
+    }
+    ATH_MSG_DEBUG("");
+  }
+}
+
 } // end of namespace
diff --git a/Trigger/TrigT1/TrigT1CaloTools/src/L1TriggerTowerTool.cxx b/Trigger/TrigT1/TrigT1CaloTools/src/L1TriggerTowerTool.cxx
index 4d7ab0fab4af..16cf890421a8 100644
--- a/Trigger/TrigT1/TrigT1CaloTools/src/L1TriggerTowerTool.cxx
+++ b/Trigger/TrigT1/TrigT1CaloTools/src/L1TriggerTowerTool.cxx
@@ -33,6 +33,15 @@
 #include "TrigT1CaloCalibConditions/L1CaloPprDisabledChannelContainer.h"
 #include "TrigT1CaloCalibConditions/L1CaloPprDisabledChannelContainerRun2.h"
 
+#include "TrigT1CaloCalibConditions/L1CaloDerivedRunPars.h"
+#include "TrigT1CaloCalibConditions/L1CaloDerivedRunParsContainer.h"
+
+#include "TrigT1CaloCalibConditions/L1CaloPprChanStrategy.h"
+#include "TrigT1CaloCalibConditions/L1CaloPprChanStrategyContainer.h"
+
+#include "TrigT1CaloCalibConditions/L1CaloRunParameters.h"
+#include "TrigT1CaloCalibConditions/L1CaloRunParametersContainer.h"
+
 #include "TrigT1CaloCalibToolInterfaces/IL1CaloTTIdTools.h"
 #include "TrigT1CaloMappingToolInterfaces/IL1CaloMappingTool.h"
 #include "TrigT1CaloToolInterfaces/IL1DynamicPedestalProvider.h"
@@ -181,6 +190,15 @@ namespace { // helper function
     target = C;
     return StatusCode::SUCCESS;
   }
+
+  template<class T, class FolderMap>
+  StatusCode retrieveGenericWithFolders(ServiceHandle<L1CaloCondSvc>& svc, const FolderMap& fmap, boost::any& target) {
+    T* C = nullptr;
+    CHECK_WITH_CONTEXT(svc->retrieve(C, fmap), "L1TriggerTowerTool");
+    target = C;
+    return StatusCode::SUCCESS;
+  }
+
 } // anonymous namespace
 
 /** Retrieve pointers to the L1Calo conditions containers */
@@ -192,16 +210,76 @@ StatusCode L1TriggerTowerTool::retrieveConditions()
     bool verbose = msgLvl(MSG::VERBOSE);
 
     if(m_isRun2) {
-      CHECK(retrieveGeneric<L1CaloPprConditionsContainerRun2>(m_l1CondSvc, m_conditionsContainer));
+      CHECK_WITH_CONTEXT(m_l1CondSvc->retrieve(m_derivedRunParsContainer), "L1TriggerTowerTool");
+      if (std::cbegin(*m_derivedRunParsContainer) == std::cend(*m_derivedRunParsContainer)) {
+        ATH_MSG_WARNING("Empty L1CaloDerivedRunParsContainer");
+        return StatusCode::FAILURE;
+      }
+
+      CHECK_WITH_CONTEXT(m_l1CondSvc->retrieve(m_runParametersContainer), "L1TriggerTowerTool");
+      if (std::cbegin(*m_runParametersContainer) == std::cend(*m_runParametersContainer)) {
+        ATH_MSG_WARNING("Empty L1CaloRunParametersContainer");
+        return StatusCode::FAILURE;
+      }
+
+
+      std::string timingRegime = std::cbegin(*m_derivedRunParsContainer)->timingRegime();
+
+      CHECK_WITH_CONTEXT(m_l1CondSvc->retrieve(m_strategyContainer), "L1TriggerTowerTool");
+      
+      std::string strategy;
+      for(const auto& it: *m_strategyContainer){
+        if (it.timingRegime() == timingRegime){
+          strategy = it.strategy();
+        }
+      }
+
+      std::map<L1CaloPprConditionsContainerRun2::eCoolFolders, std::string> 
+        coolFoldersKeysMap = {
+           {
+            L1CaloPprConditionsContainerRun2::ePprChanDefaults,
+            "/TRIGGER/L1Calo/V2/Configuration/PprChanDefaults"
+           }
+         };
+      
+      if (strategy.empty()){
+        coolFoldersKeysMap[L1CaloPprConditionsContainerRun2::ePprChanCalib] 
+          = "/TRIGGER/L1Calo/V2/Calibration/" + timingRegime + "/PprChanCalib";
+      } else {
+        coolFoldersKeysMap[L1CaloPprConditionsContainerRun2::ePprChanCalibCommon] = 
+            "/TRIGGER/L1Calo/V2/Calibration/" + timingRegime + "/PprChanCommon";
+        coolFoldersKeysMap[L1CaloPprConditionsContainerRun2::ePprChanCalibStrategy] =  
+            "/TRIGGER/L1Calo/V2/Calibration/" + timingRegime + "/PprChan" + strategy;
+      }
+
+      CHECK(retrieveGenericWithFolders<L1CaloPprConditionsContainerRun2>(
+          m_l1CondSvc, coolFoldersKeysMap, m_conditionsContainer));
+
       CHECK(retrieveGeneric<L1CaloPprDisabledChannelContainerRun2>(m_l1CondSvc, m_disabledChannelContainer));
     } else {
       CHECK(retrieveGeneric<L1CaloPprConditionsContainer>(m_l1CondSvc, m_conditionsContainer));
       CHECK(retrieveGeneric<L1CaloPprDisabledChannelContainer>(m_l1CondSvc, m_disabledChannelContainer));
     }
-    ATH_MSG_VERBOSE( "Retrieved ConditionsContainer" );
+
+    
     if(verbose) {
-      if(m_isRun2) boost::any_cast<L1CaloPprConditionsContainerRun2*>(m_conditionsContainer)->dump();
-      else boost::any_cast<L1CaloPprConditionsContainer*>(m_conditionsContainer)->dump();
+      ATH_MSG_VERBOSE( "Retrieved ConditionsContainer" );
+      if(m_isRun2){
+        boost::any_cast<L1CaloPprConditionsContainerRun2*>(m_conditionsContainer)->dump();
+      } else{
+        boost::any_cast<L1CaloPprConditionsContainer*>(m_conditionsContainer)->dump();
+      }
+    }
+
+    if(verbose) {
+      if(m_isRun2){
+        ATH_MSG_VERBOSE( "Retrieved DerivedRunParsContainer" );
+        m_derivedRunParsContainer->dump();
+	ATH_MSG_VERBOSE( "Retrieved RunParametersContainer" );
+	m_runParametersContainer->dump();
+        ATH_MSG_VERBOSE( "Retrieved StrategyContainer" );
+        m_strategyContainer->dump();
+      }
     }
 
     ATH_MSG_VERBOSE( "Retrieved DisabledChannelContainer" );
@@ -298,7 +376,7 @@ template <typename DST, typename SRC>
 std::vector<DST> convertVectorType(const std::vector<SRC>& s) {
    std::vector<DST> d(s.size());
    std::transform(std::begin(s), std::end(s), std::begin(d),
-		  [](SRC v){return static_cast<DST>(v);});
+      [](SRC v){return static_cast<DST>(v);});
    return d;
 } 
 }
@@ -306,7 +384,46 @@ std::vector<DST> convertVectorType(const std::vector<SRC>& s) {
 /** All-in-one routine - give it the TT identifier, and  it returns the results */
 void L1TriggerTowerTool::simulateChannel(const xAOD::TriggerTower& tt, std::vector<int>& outCpLut, std::vector<int>& outJepLut, std::vector<int>& bcidResults, std::vector<int>& bcidDecisions)
 {
-  const auto& digits = convertVectorType<int>(tt.adc());
+
+  //If we have 80 MHz readout, we need to extract the 40 MHz samples. The central 80 MHz sample is always a 40 MHz sample. We use the cool database (runParameters folder) to understand if we are in 80MHz readout
+
+  unsigned int readoutConfigID   = std::cbegin(*m_runParametersContainer)->readoutConfigID();
+
+  if(m_debug){
+    ATH_MSG_VERBOSE("ReadoutConfigID = " << readoutConfigID );
+  }
+
+  std::vector<uint16_t> digits40;
+
+  if(readoutConfigID == 5 or readoutConfigID == 6){
+
+    if(m_debug){
+      ATH_MSG_VERBOSE("80 MHz readout detected, emulating 40 MHz samples");
+    }
+ 
+    int nSlices = tt.adc().size();
+
+    if((nSlices%4)==3){
+      for (int i=0 ; i < (nSlices-1)/2 ; i++ ){
+	digits40.push_back(tt.adc().at(2*i+1));
+      }
+    }
+    else if((nSlices%4)==1){
+      for (int i=0 ; i <= (nSlices-1)/2 ; i++){
+	digits40.push_back(tt.adc().at(2*i));
+      }
+    }
+
+
+  }else{
+    if(m_debug){
+      ATH_MSG_VERBOSE("40 MHz readout detected");
+    }
+    digits40 = tt.adc();
+  }
+  
+  const auto& digits = convertVectorType<int>(digits40);
+
   L1CaloCoolChannelId channelId {tt.coolId()}; 
 
   if (m_debug) {
@@ -785,12 +902,17 @@ void L1TriggerTowerTool::lut(const std::vector<int> &fir, const L1CaloCoolChanne
 // TODO implement scale
 void L1TriggerTowerTool::cpLut(const std::vector<int> &fir, const L1CaloCoolChannelId& channelId, std::vector<int> &output)
 {   
+  int startBit = 0;
   int strategy = 0;
   int offset   = 0;
+  double offsetReal = 0;
   int slope    = 0;
   int cut      = 0;
   unsigned short scale = 0;
+  double pedMean = 0;
   int ped      = 0;
+  int hwCoeffSum = 0;
+  const std::vector<short int>* hwCoeffs;
 
   if(!m_isRun2) {
     // assert instead ?!
@@ -801,12 +923,31 @@ void L1TriggerTowerTool::cpLut(const std::vector<int> &fir, const L1CaloCoolChan
     auto conditionsContainer = boost::any_cast<L1CaloPprConditionsContainerRun2*>(m_conditionsContainer);
     const L1CaloPprConditionsRun2* settings = conditionsContainer->pprConditions(channelId.id());
     if (settings) {
+      startBit = settings->firStartBit();
       strategy = settings->lutCpStrategy();
-      offset   = settings->lutCpOffset();
       slope    = settings->lutCpSlope();
       cut      = settings->lutCpNoiseCut();
       scale    = settings->lutCpScale();
       ped      = settings->pedValue();
+      pedMean  = settings->pedMean();
+
+      hwCoeffs = getFirCoefficients<L1CaloPprConditionsContainerRun2>(channelId.id(), m_conditionsContainer);
+
+      for (unsigned int i = 0; i < hwCoeffs->size(); i++){
+        hwCoeffSum += hwCoeffs->at(i);
+      }
+      
+      if (strategy == 0){
+        offsetReal = pedMean * hwCoeffSum / pow(2.,startBit);
+      }
+      else{
+        offsetReal = pedMean * hwCoeffSum * slope / pow(2.,startBit) - slope/2.;
+      }
+      offset = static_cast<unsigned short>( offsetReal < 0. ? 0 : offsetReal + 0.5 );
+
+      ATH_MSG_VERBOSE( "::cpLut: Offset: offset/strategy/pedMean/firCoeffSum/startBit/slope: "
+		       << offset << " " << strategy << " " << " " << pedMean << " " << hwCoeffSum << " " << startBit << " " << slope );
+      
     } else ATH_MSG_WARNING( "::cpLut: No L1CaloPprConditions found" );
   } else ATH_MSG_WARNING( "::cpLut: No Conditions Container retrieved" );
 
@@ -826,13 +967,18 @@ void L1TriggerTowerTool::cpLut(const std::vector<int> &fir, const L1CaloCoolChan
 
 void L1TriggerTowerTool::jepLut(const std::vector<int> &fir, const L1CaloCoolChannelId& channelId, std::vector<int> &output)
 {   
+  int startBit = 0;
   int strategy   = 0;
   int offset     = 0;
+  double offsetReal = 0;
   int slope      = 0;
   int cut        = 0;
   unsigned short scale_db   = 0;
   unsigned short scale_menu = 0;
   int ped        = 0;
+  double pedMean = 0;
+  int hwCoeffSum = 0;
+  const std::vector<short int>* hwCoeffs;
   short par1     = 0;
   short par2     = 0;
   short par3     = 0;
@@ -847,11 +993,12 @@ void L1TriggerTowerTool::jepLut(const std::vector<int> &fir, const L1CaloCoolCha
     auto conditionsContainer = boost::any_cast<L1CaloPprConditionsContainerRun2*>(m_conditionsContainer);
     const L1CaloPprConditionsRun2* settings = conditionsContainer->pprConditions(channelId.id());
     if (settings) {
+      startBit = settings->firStartBit();
       strategy   = settings->lutJepStrategy();
-      offset     = settings->lutJepOffset();
       slope      = settings->lutJepSlope();
       cut        = settings->lutJepNoiseCut();
       ped        = settings->pedValue();
+      pedMean    = settings->pedMean();
       scale_db   = settings->lutJepScale();
       scale_menu = m_configSvc->thresholdConfig()->caloInfo().globalJetScale(); // Retrieve scale param from menu instead of coolDB
       if (strategy == 3) {
@@ -860,6 +1007,24 @@ void L1TriggerTowerTool::jepLut(const std::vector<int> &fir, const L1CaloCoolCha
         par3  = settings->lutJepPar3();
         par4  = settings->lutJepPar4();
       }
+
+      hwCoeffs = getFirCoefficients<L1CaloPprConditionsContainerRun2>(channelId.id(), m_conditionsContainer);
+
+      for (unsigned int i = 0; i < hwCoeffs->size(); i++){
+        hwCoeffSum += hwCoeffs->at(i);
+      }
+      
+      if (strategy == 0){
+        offsetReal = pedMean * hwCoeffSum / pow(2.,startBit);
+      }
+      else{
+        offsetReal = pedMean * hwCoeffSum * slope / pow(2.,startBit) - slope/2.;
+      }
+      offset = static_cast<unsigned short>( offsetReal < 0. ? 0 : offsetReal + 0.5 );
+
+      ATH_MSG_VERBOSE( "::jepLut: Offset: offset/strategy/pedMean/firCoeffSum/startBit/slope: "
+		       << offset << " " << strategy << " " << " " << pedMean << " " << hwCoeffSum << " " << startBit << " " << slope );
+
     } else ATH_MSG_WARNING( "::jepLut: No L1CaloPprConditions found" );
   } else ATH_MSG_WARNING( "::jepLut: No Conditions Container retrieved" );
 
@@ -1196,11 +1361,14 @@ void L1TriggerTowerTool::cpLutParams(const L1CaloCoolChannelId& channelId, int&
   startBit = 0;
   strategy = 0;
   offset   = 0;
+  double offsetReal = 0;
   slope    = 0;
   cut      = 0;
   pedValue = 0;
   pedMean  = 0.;
   disabled = true;
+  int hwCoeffSum = 0;
+  const std::vector<short int>* hwCoeffs;
   
   if(!m_isRun2) {
     // assert instead ?!
@@ -1214,11 +1382,27 @@ void L1TriggerTowerTool::cpLutParams(const L1CaloCoolChannelId& channelId, int&
     if(settings) {
       startBit = settings->firStartBit();
       strategy = settings->lutCpStrategy();
-      offset   = settings->lutCpOffset();
       slope    = settings->lutCpSlope();
       cut      = settings->lutCpNoiseCut();
       pedValue = settings->pedValue();
       pedMean  = settings->pedMean();
+
+      hwCoeffs = getFirCoefficients<L1CaloPprConditionsContainerRun2>(channelId.id(), m_conditionsContainer);
+      for (unsigned int i = 0; i < hwCoeffs->size(); i++){
+	hwCoeffSum += hwCoeffs->at(i);
+      }
+      
+      if (strategy == 0){
+	offsetReal = pedMean * hwCoeffSum / pow(2.,startBit);
+      }
+      else{
+	offsetReal = pedMean * hwCoeffSum * slope / pow(2.,startBit) - slope/2.;
+      }
+      offset = static_cast<unsigned short>( offsetReal < 0. ? 0 : offsetReal + 0.5 );
+      
+      ATH_MSG_VERBOSE( "::jepLutParams: Offset: offset/strategy/pedMean/firCoeffSum/startBit/slope: "
+		     << offset << " " << strategy << " " << " " << pedMean << " " << hwCoeffSum << " " << startBit << " " << slope );
+
     } else ATH_MSG_WARNING( "::cpLutParams: No L1CaloPprConditions found" );
   } else ATH_MSG_WARNING( "::cpLutParams: No Conditions Container retrieved" );
 
@@ -1234,11 +1418,14 @@ void L1TriggerTowerTool::jepLutParams(const L1CaloCoolChannelId& channelId, int&
   startBit = 0;
   strategy = 0;
   offset   = 0;
+  double offsetReal = 0;
   slope    = 0;
   cut      = 0;
   pedValue = 0;
   pedMean  = 0.;
   disabled = true;
+  int hwCoeffSum = 0;
+  const std::vector<short int>* hwCoeffs;
   
   if(!m_isRun2) {
     // assert instead ?!
@@ -1252,11 +1439,28 @@ void L1TriggerTowerTool::jepLutParams(const L1CaloCoolChannelId& channelId, int&
     if(settings) {
       startBit = settings->firStartBit();
       strategy = settings->lutJepStrategy();
-      offset   = settings->lutJepOffset();
       slope    = settings->lutJepSlope();
       cut      = settings->lutJepNoiseCut();
       pedValue = settings->pedValue();
       pedMean  = settings->pedMean();
+
+      hwCoeffs = getFirCoefficients<L1CaloPprConditionsContainerRun2>(channelId.id(), m_conditionsContainer);
+
+      for (unsigned int i = 0; i < hwCoeffs->size(); i++){
+	hwCoeffSum += hwCoeffs->at(i);
+      }
+      
+      if (strategy == 0){
+	offsetReal = pedMean * hwCoeffSum / pow(2.,startBit);
+      }
+      else{
+	offsetReal = pedMean * hwCoeffSum * slope / pow(2.,startBit) - slope/2.;
+      }
+      offset = static_cast<unsigned short>( offsetReal < 0. ? 0 : offsetReal + 0.5 );
+      
+      ATH_MSG_VERBOSE( "::jepLutParams: Offset: offset/strategy/pedMean/firCoeffSum/startBit/slope: "
+		     << offset << " " << strategy << " " << " " << pedMean << " " << hwCoeffSum << " " << startBit << " " << slope );
+
     } else ATH_MSG_WARNING( "::jepLutParams: No L1CaloPprConditions found" );
   } else ATH_MSG_WARNING( "::jepLutParams: No Conditions Container retrieved" );
 
-- 
GitLab


From ac9e54a94235cfb2d0743b1d7830c657c7ff5e84 Mon Sep 17 00:00:00 2001
From: Dmitry Popov <Dmitry.Popov@cern.ch>
Date: Tue, 8 Jan 2019 17:58:50 +0100
Subject: [PATCH 019/192] Updated TrigT1CaloSim

---
 .../TrigT1CaloSim/TrigT1CaloSim/RoIROD.h      |  4 --
 .../TrigT1CaloSim/Run2TriggerTowerMaker.h     |  3 ++
 .../TrigT1CaloSim/TrigT1CaloSim/Tester.h      |  4 --
 .../TrigT1/TrigT1CaloSim/src/EnergyCMX.cxx    |  4 --
 Trigger/TrigT1/TrigT1CaloSim/src/Tester.cxx   | 45 ++++++++++---------
 5 files changed, 26 insertions(+), 34 deletions(-)

diff --git a/Trigger/TrigT1/TrigT1CaloSim/TrigT1CaloSim/RoIROD.h b/Trigger/TrigT1/TrigT1CaloSim/TrigT1CaloSim/RoIROD.h
index 066ae7189599..767b1d45405d 100644
--- a/Trigger/TrigT1/TrigT1CaloSim/TrigT1CaloSim/RoIROD.h
+++ b/Trigger/TrigT1/TrigT1CaloSim/TrigT1CaloSim/RoIROD.h
@@ -8,10 +8,6 @@
     email                : Alan.Watson@CERN.CH
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 
 #ifndef _RoIROD_H_
 #define _RoIROD_H_
diff --git a/Trigger/TrigT1/TrigT1CaloSim/TrigT1CaloSim/Run2TriggerTowerMaker.h b/Trigger/TrigT1/TrigT1CaloSim/TrigT1CaloSim/Run2TriggerTowerMaker.h
index f195bac4b5b4..aed51bfb39f0 100755
--- a/Trigger/TrigT1/TrigT1CaloSim/TrigT1CaloSim/Run2TriggerTowerMaker.h
+++ b/Trigger/TrigT1/TrigT1CaloSim/TrigT1CaloSim/Run2TriggerTowerMaker.h
@@ -256,6 +256,9 @@ private:
   std::vector<int> ADC(L1CaloCoolChannelId channel, const std::vector<double>& amps) const;
   int EtRange(int et, unsigned short bcidEnergyRangeLow, unsigned short bcidEnergyRangeHigh) const;
 
+  // void preProcessLayer(int layer, int eventBCID, InternalTriggerTower* tower, std::vector<int>& etResultVector, std::vector<int>& bcidResultVector);
+  StatusCode preProcessTower(xAOD::TriggerTower* tower, int eventBCID);
+
   int etaToElement(float feta, int layer) const;
   
   // non-linear LUT 
diff --git a/Trigger/TrigT1/TrigT1CaloSim/TrigT1CaloSim/Tester.h b/Trigger/TrigT1/TrigT1CaloSim/TrigT1CaloSim/Tester.h
index a1206d3d000f..adb906c8eb26 100644
--- a/Trigger/TrigT1/TrigT1CaloSim/TrigT1CaloSim/Tester.h
+++ b/Trigger/TrigT1/TrigT1CaloSim/TrigT1CaloSim/Tester.h
@@ -8,10 +8,6 @@
     email                : moyse@heppch.ph.qmw.ac.uk
  ***************************************************************************/
 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 #ifndef _TESTER_H_
 #define _TESTER_H_
 
diff --git a/Trigger/TrigT1/TrigT1CaloSim/src/EnergyCMX.cxx b/Trigger/TrigT1/TrigT1CaloSim/src/EnergyCMX.cxx
index 9af99d654450..165e4258f4f2 100644
--- a/Trigger/TrigT1/TrigT1CaloSim/src/EnergyCMX.cxx
+++ b/Trigger/TrigT1/TrigT1CaloSim/src/EnergyCMX.cxx
@@ -13,10 +13,6 @@
 // EnergyCMX class Implementation
 // ================================================
 //
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 //
 //
 //
diff --git a/Trigger/TrigT1/TrigT1CaloSim/src/Tester.cxx b/Trigger/TrigT1/TrigT1CaloSim/src/Tester.cxx
index 1d06e6ce8d93..ed5a127b4571 100644
--- a/Trigger/TrigT1/TrigT1CaloSim/src/Tester.cxx
+++ b/Trigger/TrigT1/TrigT1CaloSim/src/Tester.cxx
@@ -11,10 +11,6 @@
 //    updated: June 20, M. Wielers
 //             move to Storegate
 // 
-/***************************************************************************
- *                                                                         *
- *                                                                         *
- ***************************************************************************/
 // ================================================
 // Tester class Implementation
 // ================================================
@@ -270,25 +266,30 @@ void LVL1::Tester::loadEmTauROIs(){
 
   // Now test new EM/Tau implementation
   
-  const DataVector<LVL1::TriggerTower>* TTVector;
-  if( evtStore()->retrieve(TTVector, m_TriggerTowerLocation).isSuccess() ) {  
-    DataVector<CPAlgorithm>* rois = new DataVector<CPAlgorithm>;
-    m_EmTauTool->findRoIs(TTVector,rois);
-    DataVector<CPAlgorithm>::iterator cpw = rois->begin();
-    for ( ; cpw != rois->end(); cpw++) {
-      ATH_MSG_DEBUG("CPAlgorithm has properties : " << std::hex
-                    << "RoIWord     : " << std::hex << (*cpw)->RoIWord() 
-                    << std::dec << endmsg
-                    << "eta         : " << (*cpw)->eta() << endmsg
-                    << "phi         : " << (*cpw)->phi() << endmsg
-                    << "Core ET     : " << (*cpw)->Core() << endmsg
-                    << "EM cluster  : " << (*cpw)->EMClus() << endmsg
-                    << "Tau cluster : " << (*cpw)->TauClus() << endmsg
-                    << "EM isol     : " << (*cpw)->EMIsol() << endmsg
-                    << "Had isol    : " << (*cpw)->HadIsol() << endmsg
-                    << "Had veto    : " << (*cpw)->HadVeto() );
+  StatusCode sc = m_EmTauTool.retrieve();
+  if (sc.isFailure()) {
+    ATH_MSG_ERROR( "Problem retrieving EmTauTool" );
+  }
+  else {
+    const DataVector<LVL1::TriggerTower>* TTVector;
+    if( evtStore()->retrieve(TTVector, m_TriggerTowerLocation).isSuccess() ) {  
+      DataVector<CPAlgorithm>* rois = new DataVector<CPAlgorithm>;
+      m_EmTauTool->findRoIs(TTVector,rois);
+      DataVector<CPAlgorithm>::iterator cpw = rois->begin();
+      for ( ; cpw != rois->end(); cpw++) {
+        ATH_MSG_DEBUG("CPAlgorithm has properties : " << std::hex
+           << "RoIWord     : " << std::hex << (*cpw)->RoIWord() << std::dec << endmsg
+           << "eta         : " << (*cpw)->eta() << endmsg
+           << "phi         : " << (*cpw)->phi() << endmsg
+           << "Core ET     : " << (*cpw)->Core() << endmsg
+           << "EM cluster  : " << (*cpw)->EMClus() << endmsg
+           << "Tau cluster : " << (*cpw)->TauClus() << endmsg
+           << "EM isol     : " << (*cpw)->EMIsol() << endmsg
+           << "Had isol    : " << (*cpw)->HadIsol() << endmsg
+           << "Had veto    : " << (*cpw)->HadVeto() );
+      }
+      delete rois;
     }
-    delete rois;
   }
     
   return;
-- 
GitLab


From a4c3850b12a7d177a3025170238836af86370fd3 Mon Sep 17 00:00:00 2001
From: Dmitry Popov <Dmitry.Popov@cern.ch>
Date: Tue, 8 Jan 2019 18:01:02 +0100
Subject: [PATCH 020/192] Updated L1TopoSimulation

---
 .../L1Topo/L1TopoSimulation/src/MuonInputProvider.h   | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/Trigger/TrigT1/L1Topo/L1TopoSimulation/src/MuonInputProvider.h b/Trigger/TrigT1/L1Topo/L1TopoSimulation/src/MuonInputProvider.h
index 62c48e966af2..150bed834e10 100644
--- a/Trigger/TrigT1/L1Topo/L1TopoSimulation/src/MuonInputProvider.h
+++ b/Trigger/TrigT1/L1Topo/L1TopoSimulation/src/MuonInputProvider.h
@@ -56,6 +56,17 @@ namespace LVL1 {
       TCS::MuonTOB createMuonTOB(uint32_t roiword) const;
       TCS::MuonTOB createMuonTOB(const MuCTPIL1TopoCandidate & roi) const;
       TCS::LateMuonTOB createLateMuonTOB(const MuCTPIL1TopoCandidate & roi) const;
+      /**
+         @brief convert the 2-bit value from MuCTPIL1TopoCandidate::getptL1TopoCode() to an actual pt
+
+         The muon TOB encodes pt values in 2 bits.
+         A MuCTPIL1TopoCandidate provides the encoded 2-bit value with
+         the function getptL1TopoCode().
+         This function uses the information from the l1 trigger menu
+         configuration to convert the threshold to an actual pt value.
+         For more details, see ATR-16781.
+      */
+      unsigned int topoMuonPtThreshold(const MuCTPIL1TopoCandidate &mctpiCand) const;
 
       SG::ReadHandleKey<ROIB::RoIBResult> m_roibLocation;
 
-- 
GitLab


From e62ed8708be687e3f8779f43cec32c690f2e3ac0 Mon Sep 17 00:00:00 2001
From: Dmitry Popov <Dmitry.Popov@cern.ch>
Date: Tue, 8 Jan 2019 18:05:53 +0100
Subject: [PATCH 021/192] Updated L1TopoSimulationUtils

---
 .../TrigT1/L1Topo/L1TopoSimulationUtils/Root/KFLUT.cxx | 10 +++++-----
 .../share/L1TopoSimulationUtils_test.ref               |  8 ++++++++
 2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/Trigger/TrigT1/L1Topo/L1TopoSimulationUtils/Root/KFLUT.cxx b/Trigger/TrigT1/L1Topo/L1TopoSimulationUtils/Root/KFLUT.cxx
index de7e8d91fa9a..c30a7b3a7ed7 100644
--- a/Trigger/TrigT1/L1Topo/L1TopoSimulationUtils/Root/KFLUT.cxx
+++ b/Trigger/TrigT1/L1Topo/L1TopoSimulationUtils/Root/KFLUT.cxx
@@ -71,11 +71,11 @@ void TCS::KFLUT::fillLUT(){
     etalimits = {-0.10,0.10,0.30,0.50,0.70,0.90,1.10,1.30,1.50,1.70,1.90,2.10,2.33,2.55,2.80,3.42};
     etlimits = {8,16,32,64,128,1024};
 
-    vector<double> v0 {-0.12,-0.09,-0.09,-0.05,0.03,0.08,0.14,0.36,0.29,0.04,0.06,0.04,-0.02,-0.09,-0.18,-0.31};
-    vector<double> v1 {0.08,0.09,0.09,0.12,0.2,0.27,0.32,0.46,0.39,0.2,0.16,0.13,0.08,-0.09,-0.16,-0.39};
-    vector<double> v2 {0.11,0.11,0.12,0.13,0.18,0.21,0.25,0.38,0.28,0.15,0.11,0.1,0.12,-0.03,-0.09,-0.37}; 
-    vector<double> v3 {0.04,0.03,0.04,0.03,0.09,0.11,0.14,0.23,0.15,0.06,0.03,0.04,0.02,-0.05,-0.07,-0.4};
-    vector<double> v4 {-0.05,-0.07,-0.06,-0.07,0,0.01,0.01,0.12,0.02,-0.06,-0.05,-0.06,-0.05,-0.09,-0.12,-0.47};
+    vector<double> v0 {0.14,0.12,0.12,0.17,0.26,0.3,0.3,0.42,0.38,0.19,0.16,0.15,0.52,0.59,0.62,0.33};
+    vector<double> v1 {0.19,0.17,0.18,0.2,0.27,0.3,0.3,0.43,0.36,0.19,0.16,0.14,0.33,0.35,0.38,0.28};
+    vector<double> v2 {0.13,0.11,0.11,0.13,0.17,0.19,0.18,0.28,0.21,0.11,0.09,0.08,0.12,0.09,0.12,0.17};
+    vector<double> v3 {-0.01,-0.02,-0.02,-0.01,0.02,0.03,0.03,0.12,0.04,-0.04,-0.05,-0.06,-0.03,-0.06,-0.03,0.05};
+    vector<double> v4 {-0.12,-0.12,-0.12,-0.11,-0.08,-0.07,-0.08,-0.01,-0.08,-0.14,-0.14,-0.15,-0.13,-0.15,-0.12,-0.04};
 
     LUTKF.push_back(v0);
     LUTKF.push_back(v1);
diff --git a/Trigger/TrigT1/L1Topo/L1TopoSimulationUtils/share/L1TopoSimulationUtils_test.ref b/Trigger/TrigT1/L1Topo/L1TopoSimulationUtils/share/L1TopoSimulationUtils_test.ref
index d1b6cc93a6e0..1f9caaf4de0d 100644
--- a/Trigger/TrigT1/L1Topo/L1TopoSimulationUtils/share/L1TopoSimulationUtils_test.ref
+++ b/Trigger/TrigT1/L1Topo/L1TopoSimulationUtils/share/L1TopoSimulationUtils_test.ref
@@ -3,6 +3,14 @@ delta eta:  abs(0 - 23) = 23, cosh 000000001010000101
 delta eta:  abs(0 - 23) = 23, cosh 000000001010000101
 delta eta:  abs(0 - 24) = 24, cosh 000000001011000111
 ** test2: L1TopoSimulationUtils KFLUT correction vs. et and eta**
+ et 4 [0],  eta 2.4 [12] : 0.52 >>>
+ et 12 [0],  eta 2.4 [12] : 0.52 >>>
+ et 4 [0],  eta 2.6 [13] : 0.59 >>>
+ et 12 [0],  eta 2.6 [13] : 0.59 >>>
+ et 4 [0],  eta 2.9 [14] : 0.62 >>>
+ et 12 [0],  eta 2.9 [14] : 0.62 >>>
+ et 4 [0],  eta 3.1 [14] : 0.62 >>>
+ et 12 [0],  eta 3.1 [14] : 0.62 >>>
 ** test3: L1TopoSimulationUtils KFLUT saturation**
 This out_of_range is expected for ET values beyond 1024 : vector::_M_range_check: __n (which is 5) >= this->size() (which is 5)
 ** test4: L1TopoSimulationUtils quadraticSumBW bitshift**
-- 
GitLab


From 2a1c0bbeb216f439bcacf94ff421b465d66752ec Mon Sep 17 00:00:00 2001
From: Ian Connelly <ian.connelly@cern.ch>
Date: Fri, 11 Jan 2019 15:05:27 +0000
Subject: [PATCH 022/192] Fixing error in failure to remove conflict marker

---
 .../MuonCnv/MuonByteStream/src/MuonCacheCreator.cxx           | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/MuonSpectrometer/MuonCnv/MuonByteStream/src/MuonCacheCreator.cxx b/MuonSpectrometer/MuonCnv/MuonByteStream/src/MuonCacheCreator.cxx
index 3546b69dc8fd..d3759c58c2c9 100644
--- a/MuonSpectrometer/MuonCnv/MuonByteStream/src/MuonCacheCreator.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonByteStream/src/MuonCacheCreator.cxx
@@ -5,14 +5,10 @@
 #include "MuonCacheCreator.h"
 
 #include "MuonIdHelpers/MdtIdHelper.h"
-<<<<<<< HEAD
 #include "MuonIdHelpers/CscIdHelper.h"
 #include "MuonIdHelpers/RpcIdHelper.h"
 #include "MuonIdHelpers/TgcIdHelper.h"
-
-=======
 #include "AthViews/View.h"
->>>>>>> ddcbbf851a894a70178cd50d03463be0dbb1f5d8
 
 /// Constructor
 MuonCacheCreator::MuonCacheCreator(const std::string &name,ISvcLocator *pSvcLocator):
-- 
GitLab


From ffd32f6704f8576c659a9a1570aea2afbea7e10a Mon Sep 17 00:00:00 2001
From: Peter Onyisi <ponyisi@utexas.edu>
Date: Tue, 15 Jan 2019 14:08:23 +0100
Subject: [PATCH 023/192] Merge changes from Chuck's athenaprivate1 branch: new
 DQ framework

---
 .../python/AllConfigFlags.py                  |  13 +
 .../AthenaMonitoring/AthMonitorAlgorithm.h    | 287 ++++++++++++++
 .../ExampleMonitorAlgorithm.h                 |  25 ++
 .../AthenaMonitoring/MonitoredScope.h         |  18 +-
 .../python/AthMonitorCfgHelper.py             |  51 +++
 .../AthenaMonitoring/python/DQConfigFlags.py  |  43 +++
 .../python/GenericMonitoringTool.py           |   4 +-
 Control/AthenaMonitoring/python/__init__.py   |   2 +
 .../share/ExampleMonitorAlgorithm.py          | 129 +++++++
 .../src/AthMonitorAlgorithm.cxx               | 365 ++++++++++++++++++
 .../src/ExampleMonitorAlgorithm.cxx           |  45 +++
 .../components/AthenaMonitoring_entries.cxx   |   2 +
 12 files changed, 980 insertions(+), 4 deletions(-)
 create mode 100644 Control/AthenaMonitoring/AthenaMonitoring/AthMonitorAlgorithm.h
 create mode 100644 Control/AthenaMonitoring/AthenaMonitoring/ExampleMonitorAlgorithm.h
 create mode 100644 Control/AthenaMonitoring/python/AthMonitorCfgHelper.py
 create mode 100644 Control/AthenaMonitoring/python/DQConfigFlags.py
 create mode 100644 Control/AthenaMonitoring/python/__init__.py
 create mode 100644 Control/AthenaMonitoring/share/ExampleMonitorAlgorithm.py
 create mode 100644 Control/AthenaMonitoring/src/AthMonitorAlgorithm.cxx
 create mode 100644 Control/AthenaMonitoring/src/ExampleMonitorAlgorithm.cxx

diff --git a/Control/AthenaConfiguration/python/AllConfigFlags.py b/Control/AthenaConfiguration/python/AllConfigFlags.py
index b4ab8c54cb17..aadef9ad1eec 100644
--- a/Control/AthenaConfiguration/python/AllConfigFlags.py
+++ b/Control/AthenaConfiguration/python/AllConfigFlags.py
@@ -40,6 +40,7 @@ def _createCfgFlags():
     acf.addFlag('Output.RDOFileName','myROD.pool.root')
     acf.addFlag('Output.ESDFileName','myESD.pool.root')
     acf.addFlag('Output.AODFileName','myAOD.pool.root')
+    acf.addFlag('Output.HISTFileName','myHIST.root')
 
 
 #Geo Model Flags:
@@ -97,6 +98,18 @@ def _createCfgFlags():
         from MuonConfig.MuonConfigFlags import createMuonConfigFlags
         acf.join( createMuonConfigFlags() )
 
+# DQ
+    try:
+        import AthenaMonitoring # Suppress flake8 unused import warning: # noqa: F401
+        haveDQConfig = True
+    except ImportError:
+        haveDQConfig = False
+
+    if haveDQConfig:
+        from AthenaMonitoring.DQConfigFlags import createDQConfigFlags, createComplexDQConfigFlags
+        acf.join( createDQConfigFlags() )
+        createComplexDQConfigFlags(acf)
+
     return acf
 
 
diff --git a/Control/AthenaMonitoring/AthenaMonitoring/AthMonitorAlgorithm.h b/Control/AthenaMonitoring/AthenaMonitoring/AthMonitorAlgorithm.h
new file mode 100644
index 000000000000..82a808ab6b60
--- /dev/null
+++ b/Control/AthenaMonitoring/AthenaMonitoring/AthMonitorAlgorithm.h
@@ -0,0 +1,287 @@
+/*
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+*/
+
+/**
+ * @class AthMonitorAlgorithm
+ * @author C. Burton <burton@utexas.edu>
+ * @author P. Onyisi <ponyisi@utexas.edu>
+ * @date 2018/12/31
+ * @brief Base class for Athena Monitoring Algorithms
+ * 
+ * A class in the AthenaMonitoring package which is subclassed to implement algorithms for
+ * the data monitoring system. An example subclass is given in ExampleMonitorAlgorithm. In
+ * the subclass, the user is required to implement the fillHistograms() function.
+ */
+
+#ifndef ATHMONITORALGORITHM_H
+#define ATHMONITORALGORITHM_H
+
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
+
+#include "AthenaMonitoring/GenericMonitoringTool.h"
+#include "AthenaMonitoring/IDQFilterTool.h"
+#include "AthenaMonitoring/IMonitorToolBase.h"
+#include "AthenaMonitoring/ITriggerTranslatorTool.h"
+
+#include "LumiBlockComps/ILuminosityTool.h"
+#include "TrigDecisionInterface/ITrigDecisionTool.h"
+#include "LumiBlockComps/ITrigLivefractionTool.h"
+
+#include "StoreGate/ReadHandleKey.h"
+#include "xAODEventInfo/EventInfo.h"
+
+class AthMonitorAlgorithm : public AthReentrantAlgorithm {
+public:
+
+
+    /** 
+     * Constructor
+     */
+    AthMonitorAlgorithm(const std::string& name, ISvcLocator* pSvcLocator );
+
+
+    /**
+     * Destructor
+     */
+    virtual ~AthMonitorAlgorithm();
+
+
+    /** 
+     * initialize
+     * 
+     * @return StatusCode
+     */
+    virtual StatusCode initialize();
+
+
+    /** 
+     * Applies filters and trigger requirements. Then, calls fillHistograms().
+     * 
+     * @param ctx event context for reentrant Athena call
+     * @return StatusCode
+     */
+    virtual StatusCode execute(const EventContext& ctx) const;
+
+
+    /** 
+     * adds event to the monitoring histograms
+     * 
+     * User will overwrite this function. Histogram booking is no longer done in C++. 
+     * This function is called in execute once the filters are all passed.
+     *
+     * @param ctx forwarded from execute
+     * @return StatusCode
+     */
+    virtual StatusCode fillHistograms(const EventContext& ctx) const = 0;
+
+
+    /**
+     * Specifies the processing environment.
+     * 
+     * The running environment may be used to select which histograms are produced, and 
+     * where they are located in the output. For example, the output paths of the 
+     * histograms are different for the "user", "online" and the various offline flags. 
+     * Strings of the same names may be given as jobOptions.
+     */
+    enum class Environment_t {
+        user = 0, ///< 
+        online, ///< 
+        tier0, ///< 
+        tier0Raw, ///< 
+        tier0ESD, ///< 
+        AOD, ///< 
+        altprod, ///< 
+    };
+
+
+    /**
+     * Specifies what type of input data is being monitored.
+     * 
+     * An enumeration of the different types of data the monitoring application may be 
+     * running over. This can be used to select which histograms to produce, e.g. to 
+     * prevent the production of colliding-beam histograms when running on cosmic-ray data.
+     * Strings of the same names may be given as jobOptions.
+     */
+    enum class DataType_t {
+        userDefined = 0, ///< 
+        monteCarlo, ///< 
+        collisions, ///< 
+        cosmics, ///< 
+        heavyIonCollisions, ///< 
+    };
+
+
+    /** 
+     * Accessor functions for the environment.
+     *
+     * @return the current value of the class's Environment_t instance.
+     */
+    Environment_t environment() const;
+
+
+    /**
+     * Convert the environment string from the python configuration to an enum object.
+     *
+     * @return a value in the Environment_t enumeration which matches the input string.
+     */
+    Environment_t envStringToEnum( const std::string& str );
+
+
+    /** 
+     * Accessor functions for the data type.
+     *
+     * @return the current value of the class's DataType_t instance.
+     */
+    DataType_t dataType() const;
+
+
+    /** 
+     * Convert the data type string from the python configuration to an enum object.
+     * 
+     * @return a value in the DataType_t enumeration which matches the input string.
+     */
+    DataType_t dataTypeStringToEnum( const std::string& str );
+
+
+    /** 
+     * Get a specific monitoring tool from the tool handle array.
+     * 
+     * Finds a specific GenericMonitoringTool instance from the list of monitoring
+     * tools (a ToolHandleArray). Throws a FATAL warning if the object found is a
+     * null pointer.
+     * 
+     * @param name string name of the desired tool
+     * @return reference to the desired monitoring tool
+     */
+    GenericMonitoringTool& getGroup( const std::string& name ) const;
+
+
+    /** 
+     * Get the trigger decision tool member.
+     * 
+     * The trigger decision tool is used to check whether a specific trigger is 
+     * passed by an event.
+     * 
+     * @return m_trigDecTool
+     */
+    const ToolHandle<Trig::ITrigDecisionTool>& getTrigDecisionTool();
+
+
+    /** 
+     * Check whether triggers are passed
+     * 
+     * For the event, use the trigger decision tool to check that at least one 
+     * of the triggers listed in the supplied vector is passed.
+     * 
+     * @param vTrigNames List of trigger names.
+     * @return If empty input, default to true. If at least one trigger is 
+     *  specified, returns whether at least one trigger was passed.
+     */
+    bool trigChainsArePassed( const std::vector<std::string>& vTrigNames ) const;
+
+    /** 
+     * Return a ReadHandle for an EventInfo object (get run/event numbers, etc.)
+     *
+     * @param ctx EventContext for the event
+     * @return a SG::ReadHandle<xAOD::EventInfo>
+     */
+    SG::ReadHandle<xAOD::EventInfo> GetEventInfo(const EventContext&) const;
+
+    /** @defgroup lumi Luminosity Functions
+     *  A group of functions which all deal with calculating luminosity.
+     *  @{
+     */
+
+    /**
+     * Calculate the average mu, i.e. <mu>.
+     */
+    virtual float lbAverageInteractionsPerCrossing() const;
+
+    /**
+     * Calculate instantaneous number of interactions, i.e. mu.
+     */
+    virtual float lbInteractionsPerCrossing();
+
+    /**
+     * Calculate average luminosity (in ub-1 s-1 => 10^30 cm-2 s-1).
+     */
+    virtual float lbAverageLuminosity();
+
+    /**
+     * Calculate the instantaneous luminosity per bunch crossing.
+     */
+    virtual float lbLuminosityPerBCID();
+
+    /**
+     *  Calculate the duration of the luminosity block (in seconds)
+     */
+    virtual double lbDuration();
+
+    /**
+     * Calculate the average luminosity livefraction
+     */
+    virtual float lbAverageLivefraction();
+
+    /**
+     * Calculate the live fraction per bunch crossing ID.
+     */
+    virtual float livefractionPerBCID();
+
+    /**
+     * Calculate the average integrated luminosity multiplied by the live fraction.
+     */
+    virtual double lbLumiWeight();
+
+    /** @} */ // end of lumi group
+
+
+    /**
+     * Parse a string into a vector
+     * 
+     * The input string is a single long string of all of the trigger names. It parses this string
+     * and turns it into a vector, where each element is one trigger or trigger category.
+     * 
+     * @param line The input string.
+     * @param result The parsed output vector of strings.
+     * @return StatusCode
+     */
+    virtual StatusCode parseList( const std::string& line, std::vector<std::string>& result );
+
+
+    /**
+     * Expands trigger categories.
+     * 
+     * Searches through the vector of trigger names. If a trigger category is found, it finds the 
+     * constituent triggers in that category and expands the vector to include each one.
+     * 
+     * @param vTrigChainNames A vector of triggers which is modified.
+     */
+    virtual void unpackTriggerCategories( std::vector<std::string>& vTrigChainNames );
+
+
+protected:
+    ToolHandleArray<GenericMonitoringTool> m_tools; ///< Array of Generic Monitoring Tools
+    ToolHandle<Trig::ITrigDecisionTool> m_trigDecTool; ///< Tool to tell whether a specific trigger is passed
+    ToolHandle<ITriggerTranslatorTool> m_trigTranslator; ///< Tool to unpack trigger categories into a trigger list
+    ToolHandleArray<IDQFilterTool> m_DQFilterTools; ///< Array of Data Quality filter tools
+    ToolHandle<ILuminosityTool> m_lumiTool; ///< Tool for calculating various luminosity quantities
+    ToolHandle<ITrigLivefractionTool> m_liveTool; ///< Tool for calculating various live luminosity quantities
+
+    AthMonitorAlgorithm::Environment_t m_environment; ///< Instance of the Environment_t enum
+    AthMonitorAlgorithm::DataType_t m_dataType; ///< Instance of the DataType_t enum
+    std::string m_environmentStr; ///< Environment string pulled from the job option and converted to enum
+    std::string m_dataTypeStr; ///< DataType string pulled from the job option and converted to enum
+
+    std::string m_triggerChainString; ///< Trigger chain string pulled from the job option and parsed into a vector
+    std::vector<std::string> m_vTrigChainNames; ///< Vector of trigger chain names parsed from trigger chain string
+
+    std::string m_fileKey;
+    bool m_hasRetrievedLumiTool; ///< Allows use of various luminosity functions
+    bool m_useLumi; ///< Allows use of various luminosity functions
+    float m_defaultLBDuration; ///< Default duration of one lumi block
+    int m_detailLevel; ///< Sets the level of detail used in the monitoring
+    SG::ReadHandleKey<xAOD::EventInfo> m_EventInfoKey; // key for retrieving EventInfo from StoreGate
+};
+
+#endif
diff --git a/Control/AthenaMonitoring/AthenaMonitoring/ExampleMonitorAlgorithm.h b/Control/AthenaMonitoring/AthenaMonitoring/ExampleMonitorAlgorithm.h
new file mode 100644
index 000000000000..deb0a69dce9d
--- /dev/null
+++ b/Control/AthenaMonitoring/AthenaMonitoring/ExampleMonitorAlgorithm.h
@@ -0,0 +1,25 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef EXAMPLEMONITORALGORITHM_H
+#define EXAMPLEMONITORALGORITHM_H
+
+#include "AthenaMonitoring/AthMonitorAlgorithm.h"
+
+#include "AthenaMonitoring/MonitoredScope.h"
+#include "AthenaMonitoring/MonitoredScalar.h"
+#include "AthenaMonitoring/MonitoredCollection.h"
+
+#include "TRandom3.h"
+
+class ExampleMonitorAlgorithm : public AthMonitorAlgorithm {
+public:
+    ExampleMonitorAlgorithm( const std::string& name, ISvcLocator* pSvcLocator );
+    virtual ~ExampleMonitorAlgorithm();
+    StatusCode initialize();
+    virtual StatusCode fillHistograms( const EventContext& ctx ) const override;
+private:
+	bool m_doRandom;
+};
+#endif
\ No newline at end of file
diff --git a/Control/AthenaMonitoring/AthenaMonitoring/MonitoredScope.h b/Control/AthenaMonitoring/AthenaMonitoring/MonitoredScope.h
index 80b82b17ccbb..5350aa7a2917 100644
--- a/Control/AthenaMonitoring/AthenaMonitoring/MonitoredScope.h
+++ b/Control/AthenaMonitoring/AthenaMonitoring/MonitoredScope.h
@@ -86,12 +86,24 @@ namespace Monitored {
           m_histogramsFillers(!m_tool.empty() ? m_tool->getHistogramsFillers(m_scopeMonitored) : std::vector<HistogramFiller*>()) { }
   };
 
+  template <typename... T>  
+  void save( GenericMonitoringTool& tool, T&&... variables ) {
+    for( auto filler: tool.getHistogramsFillers( {std::forward<T>(variables)...} ) ) {
+      filler->fill();  
+    }
+  }
+
+  template <typename... T>  
+  void save( GenericMonitoringTool* tool, T&&... variables ) {
+    if ( tool ) {
+      save( *tool, std::forward<T>(variables)...);
+    }
+  }
+
   template <typename... T>  
   void save( const ToolHandle<GenericMonitoringTool>& tool, T&&... variables ) {
     if ( ! tool.empty() ) {
-      for( auto filler: tool->getHistogramsFillers( {std::forward<T>(variables)...} ) ) {
-        filler->fill();
-      }
+      save( *tool, std::forward<T>(variables)...);
     }
   }
 }
diff --git a/Control/AthenaMonitoring/python/AthMonitorCfgHelper.py b/Control/AthenaMonitoring/python/AthMonitorCfgHelper.py
new file mode 100644
index 000000000000..6c2fff1bd8b6
--- /dev/null
+++ b/Control/AthenaMonitoring/python/AthMonitorCfgHelper.py
@@ -0,0 +1,51 @@
+#
+#  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+#
+
+class AthMonitorCfgHelper(object):
+    def __init__(self, inputFlags, monName):
+        from AthenaCommon.AlgSequence import AthSequencer
+        from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+        self.inputFlags = inputFlags
+        self.monName = monName
+        self.monSeq = AthSequencer('AthMonSeq_' + monName)
+        self.resobj = ComponentAccumulator()
+
+    def AddAlgorithm(self,algClassOrObj, *args, **kwargs):
+        from AthenaCommon.Configurable import Configurable
+        if issubclass(algClassOrObj, Configurable):
+            algObj = algClassOrObj(*args, **kwargs)
+        else:
+            algObj = algClassOrObj
+        
+        # configure these properties; users really should have no reason to override them
+        algObj.Environment = self.inputFlags.DQ.Environment
+        algObj.DataType = self.inputFlags.DQ.DataType
+
+        self.monSeq += algObj
+        return algObj
+
+    def AddGroup(self, alg, name, topPath=''):
+        from AthenaMonitoring.GenericMonitoringTool import GenericMonitoringTool
+        tool = GenericMonitoringTool(name)
+        acc, histsvc = GetDQTHistSvc(self.inputFlags)
+        self.resobj.merge(acc)
+        tool.THistSvc = histsvc
+        tool.HistPath = self.inputFlags.DQ.FileKey + ('/%s' % topPath if topPath else '')
+        alg.GMTools += [tool]
+        return tool
+
+    def result(self):
+        self.resobj.addSequence(self.monSeq)
+        return self.resobj,self.monSeq
+
+def GetDQTHistSvc(inputFlags):
+    from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+    from GaudiSvc.GaudiSvcConf import THistSvc
+
+    result = ComponentAccumulator()
+    histsvc = THistSvc()
+    histsvc.Output += ["%s DATAFILE='%s' OPT='RECREATE'" % (inputFlags.DQ.FileKey, 
+                                                            inputFlags.Output.HISTFileName)]
+    result.addService(histsvc)
+    return result, histsvc
diff --git a/Control/AthenaMonitoring/python/DQConfigFlags.py b/Control/AthenaMonitoring/python/DQConfigFlags.py
new file mode 100644
index 000000000000..0ded9232dfb6
--- /dev/null
+++ b/Control/AthenaMonitoring/python/DQConfigFlags.py
@@ -0,0 +1,43 @@
+#
+#  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+#
+
+from AthenaConfiguration.AthConfigFlags import AthConfigFlags
+
+def createDQConfigFlags():
+    acf=AthConfigFlags()
+    acf.addFlag('DQ.doMonitoring', True)
+    acf.addFlag('DQ.doGlobalMon', True)
+    acf.addFlag('DQ.doStreamAwareMon', True)
+    acf.addFlag('DQ.disableAtlasReadyFilter', False)
+    acf.addFlag('DQ.FileKey', 'CombinedMonitoring')
+    return acf
+
+def createComplexDQConfigFlags( acf ):
+    acf.addFlag('DQ.Environment', getEnvironment )
+    acf.addFlag('DQ.DataType', getDataType )
+
+def getDataType(flags):
+    if flags.Input.isMC:
+        return 'monteCarlo'
+    elif (False): # this is the HI test, needs HI flags
+        return 'heavyioncollisions'
+    elif flags.Beam.Type == 'cosmics':
+        return 'cosmics'
+    elif flags.Beam.Type == 'collisions':
+        return 'collisions'
+    elif flags.Beam.Type == 'singlebeam':
+        # historically, singlebeam treated as collisions
+        return 'collisions'
+    else:
+        import logging
+        local_logger = logging.getLogger('DQConfigFlags_getDataType')
+        local_logger.warning('Unable to figure out beam type for DQ; using "user"')
+        return 'user'
+
+def getEnvironment(flags):
+    if flags.Common.isOnline:
+        return 'online'
+    else:
+        # this could use being rethought to properly encode input and output types perhaps ...
+        return 'tier0'
diff --git a/Control/AthenaMonitoring/python/GenericMonitoringTool.py b/Control/AthenaMonitoring/python/GenericMonitoringTool.py
index 5377698106e8..6ee23ef76637 100644
--- a/Control/AthenaMonitoring/python/GenericMonitoringTool.py
+++ b/Control/AthenaMonitoring/python/GenericMonitoringTool.py
@@ -13,6 +13,8 @@ class GenericMonitoringTool(_GenericMonitoringTool):
     def __init__(self, name, **kwargs):
         super(GenericMonitoringTool, self).__init__(name, **kwargs)
 
+    def defineHistogram(self, *args, **kwargs):
+        self.Histograms.append(defineHistogram(*args, **kwargs))
 
 ## Generate histogram definition string for the `GenericMonitoringTool.Histograms` property
 #
@@ -23,7 +25,7 @@ class GenericMonitoringTool(_GenericMonitoringTool):
 #  @param title    Histogram title and optional axis title (same syntax as in TH constructor)
 #  @param opt      Histrogram options (see GenericMonitoringTool)
 #  @param labels   List of bin labels (for a 2D histogram, sequential list of x- and y-axis labels)
-def defineHistogram(varname, type='TH1F', path='EXPERT',
+def defineHistogram(varname, type='TH1F', path='DEFAULT',
                     title=None,
                     xbins=100, xmin=0, xmax=1,
                     ybins=None, ymin=None, ymax=None, zmin=None, zmax=None, opt='', labels=None):
diff --git a/Control/AthenaMonitoring/python/__init__.py b/Control/AthenaMonitoring/python/__init__.py
new file mode 100644
index 000000000000..3314d3063c52
--- /dev/null
+++ b/Control/AthenaMonitoring/python/__init__.py
@@ -0,0 +1,2 @@
+from AthMonitorCfgHelper import AthMonitorCfgHelper
+from AtlasReadyFilterTool import GetAtlasReadyFilterTool
diff --git a/Control/AthenaMonitoring/share/ExampleMonitorAlgorithm.py b/Control/AthenaMonitoring/share/ExampleMonitorAlgorithm.py
new file mode 100644
index 000000000000..b1072610c3a2
--- /dev/null
+++ b/Control/AthenaMonitoring/share/ExampleMonitorAlgorithm.py
@@ -0,0 +1,129 @@
+'''@file ExampleMonitorAlgorithm.py
+@author C. D. Burton
+@author P. Onyisi
+@date 2018-01-11
+@brief Example python configuration for the Run III AthenaMonitoring package
+'''
+
+def ExampleMonitoringConfig(inputFlags):
+    '''Function to configures some algorithms in the monitoring system.'''
+
+    ### STEP 1 ###
+    # Define one top-level monitoring algorithm. The new configuration 
+    # framework uses a component accumulator.
+    from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
+    result = ComponentAccumulator()
+
+    # The following class will make a sequence, configure algorithms, and link
+    # them to GenericMonitoringTools
+    from AthenaMonitoring import AthMonitorCfgHelper
+    helper = AthMonitorCfgHelper(inputFlags,"ExampleMonitor")
+
+
+    ### STEP 2 ###
+    # Adding an algorithm to the helper. Here, we will use the example 
+    # algorithm in the AthenaMonitoring package. Just pass the type to the 
+    # helper. Then, the helper will instantiate an instance and set up the 
+    # base class configuration following the inputFlags. The returned object 
+    # is the algorithm.
+    from AthenaMonitoring.AthenaMonitoringConf import ExampleMonitorAlgorithm
+    exampleMonAlg = helper.AddAlgorithm(ExampleMonitorAlgorithm)
+
+    # You can actually make multiple instances of the same algorithm and give 
+    # them different configurations
+    anotherExampleMonAlg = helper.AddAlgorithm(ExampleMonitorAlgorithm)
+
+    # # If for some really obscure reason you need to instantiate an algorithm
+    # # yourself, the AddAlgorithm method will still configure the base 
+    # # properties and add the algorithm to the monitoring sequence.
+    # helper.AddAlgorithm(myExistingAlg)
+
+
+    ### STEP 3 ###
+    # Edit properties of a algorithm, using inputFlags.
+    exampleMonAlg.FileKey = inputFlags.DQ.FileKey
+    exampleMonAlg.Environment = inputFlags.DQ.Environment
+    exampleMonAlg.DataType = inputFlags.DQ.DataType
+    
+    exampleMonAlg.TriggerChain = ''
+    exampleMonAlg.EnableLumi = True
+
+
+    ### STEP 4 ###
+    # Add some tools. N.B. Do not use your own trigger decion tool. Use the
+    # standard one that is included with AthMonitorAlgorithm.
+
+    # # First, add a tool that's set up by a different configuration function. 
+    # # In this case, CaloNoiseToolCfg returns its own component accumulator, 
+    # # which must be merged with the one from this function.
+    # from CaloTools.CaloNoiseToolConfig import CaloNoiseToolCfg
+    # caloNoiseAcc, caloNoiseTool = CaloNoiseToolCfg(inputFlags)
+    # result.merge(caloNoiseAcc)
+    # exampleMonAlg.CaloNoiseTool = caloNoiseTool
+
+    # # Then, add a tool that doesn't have its own configuration function. In
+    # # this example, no accumulator is returned, so no merge is necessary.
+    # from MyDomainPackage.MyDomainPackageConf import MyDomainTool
+    # exampleMonAlg.MyDomainTool = MyDomainTool()
+
+    # Add a generic monitoring tool (a "group" in old language). The returned 
+    # object here is the standard GenericMonitoringTool.
+    myGroup = helper.AddGroup(
+        exampleMonAlg,
+        "ExampleMonitor",
+        "OneRing/"
+    )
+
+    ### STEP 5 ###
+    # Configure histograms
+    myGroup.defineHistogram("lumiPerBCID;lumiPerBCID", title="Luminosity;L/BCID;Events",
+                            path='ToRuleThemAll',xbins=10,xmin=0.0,xmax=10.0)
+    myGroup.defineHistogram("lb;lb", title="Luminosity Block;lb;Events",
+                            path='ToFindThem',xbins=1000,xmin=-0.5,xmax=999.5)
+    myGroup.defineHistogram("random;random", title="LB;x;Events",
+                            path='ToBringThemAll',xbins=30,xmin=0,xmax=1)
+
+    ### STEP 6 ###
+    # Finalize. The return value should be a tuple of the ComponentAccumulator
+    # and the sequence containing the created algorithms. If we haven't called
+    # any configuration other than the AthMonitorCfgHelper here, then we can 
+    # just return directly (and not create "result" above)
+    return helper.result()
+    
+    # # Otherwise, merge with result object and return
+    # acc, seq = helper.result()
+    # result.merge(acc)
+    # return result, seq
+
+
+if __name__=='__main__':
+    # Setup the Run III behavior
+    from AthenaCommon.Configurable import Configurable
+    Configurable.configurableRun3Behavior = 1
+
+    # Setup logs
+    from AthenaCommon.Logging import log
+    from AthenaCommon.Constants import DEBUG,INFO
+    log.setLevel(INFO)
+
+    # Set the Athena configuration flags
+    from AthenaConfiguration.AllConfigFlags import ConfigFlags
+    nightly = '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/CommonInputs/'
+    file = 'data16_13TeV.00311321.physics_Main.recon.AOD.r9264/AOD.11038520._000001.pool.root.1'
+    ConfigFlags.Input.Files = [nightly+file]
+    ConfigFlags.Input.isMC = False
+    ConfigFlags.DQ.FileKey = 'EXPERT'
+    ConfigFlags.Output.HISTFileName = 'ExampleMonitor.root'
+    ConfigFlags.lock()
+
+    # Initialize configuration object, add accumulator, merge, and run.
+    from AthenaConfiguration.MainServicesConfig import MainServicesSerialCfg 
+    from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
+    cfg = MainServicesSerialCfg()
+    cfg.merge(PoolReadCfg(ConfigFlags))
+
+    exampleMonitorAcc,exampleMonitorAlg = ExampleMonitoringConfig(ConfigFlags)
+    exampleMonitorAlg.ClustersOutputName = ConfigFlags.DQ.FileKey
+    
+    cfg.merge(exampleMonitorAcc)
+    cfg.run()
diff --git a/Control/AthenaMonitoring/src/AthMonitorAlgorithm.cxx b/Control/AthenaMonitoring/src/AthMonitorAlgorithm.cxx
new file mode 100644
index 000000000000..3fd5b2ce51c8
--- /dev/null
+++ b/Control/AthenaMonitoring/src/AthMonitorAlgorithm.cxx
@@ -0,0 +1,365 @@
+/*
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "AthenaMonitoring/AthMonitorAlgorithm.h"
+
+AthMonitorAlgorithm::AthMonitorAlgorithm( const std::string& name, ISvcLocator* pSvcLocator )
+:AthReentrantAlgorithm(name,pSvcLocator)
+,m_tools(this)
+,m_trigDecTool("")
+,m_trigTranslator("")
+,m_DQFilterTools(this)
+,m_lumiTool("LuminosityTool")
+,m_liveTool("TrigLivefractionTool")
+,m_environment(Environment_t::user)
+,m_dataType(DataType_t::userDefined)
+,m_environmentStr("user")
+,m_dataTypeStr("userDefined")
+,m_triggerChainString("")
+,m_vTrigChainNames({})
+,m_fileKey("")
+,m_hasRetrievedLumiTool(false)
+,m_useLumi(false)
+,m_defaultLBDuration(60.)
+,m_detailLevel(1)
+,m_EventInfoKey("EventInfo")
+{
+    // The following properties are set in the python configuration and
+    // picked up here to be converted into the method variables. For an
+    // explanation of each variable, see the header.
+    declareProperty("GMTools",m_tools);
+    declareProperty("TrigDecisionTool",m_trigDecTool);
+    declareProperty("TriggerTranslatorTool",m_trigTranslator);
+    declareProperty("FilterTools",m_DQFilterTools);
+    declareProperty("Environment",m_environmentStr);
+    declareProperty("DataType",m_dataTypeStr);
+    declareProperty("TriggerChain",m_triggerChainString);
+    declareProperty("FileKey",m_fileKey);
+    declareProperty("EnableLumi",m_useLumi); 
+    declareProperty("DefaultLBDuration",m_defaultLBDuration);
+    declareProperty("DetailLevel",m_detailLevel);
+    declareProperty("EventInfoKey",m_EventInfoKey);
+}
+
+
+AthMonitorAlgorithm::~AthMonitorAlgorithm() {}
+
+
+StatusCode AthMonitorAlgorithm::initialize() {
+    StatusCode sc;
+
+    // Retrieve the generic monitoring tools (a ToolHandleArray)
+    if ( !m_tools.empty() ) {
+        sc = m_tools.retrieve();
+        if ( !sc.isSuccess() ) {
+            ATH_MSG_ERROR("Unable to retrieve the generic monitoring tools." << endmsg);
+        }
+    }
+
+    // Retrieve the trigger decision tool if requested
+    if ( !m_trigDecTool.empty() ) {
+        sc = m_trigDecTool.retrieve();
+        if( !sc.isSuccess() ) {
+            ATH_MSG_ERROR("Unable to retrieve the TrigDecisionTool." << endmsg);
+            return sc;
+        }
+
+        // If the trigger chain is specified, parse it into a list.
+        if ( m_triggerChainString!="" ) {
+            sc = parseList(m_triggerChainString,m_vTrigChainNames);
+            if ( !sc.isSuccess() ) {
+                ATH_MSG_WARNING("Error parsing trigger chain list, using empty list instead." << endmsg);
+                m_vTrigChainNames.clear();
+            }
+
+            // Then, retrieve the trigger translator if requested. Finally, convert 
+            // into a usable format using the unpackTriggerCategories function.
+            if (!m_trigTranslator.empty()) {
+                sc = m_trigTranslator.retrieve();
+                if ( !sc.isSuccess() ) {
+                    ATH_MSG_ERROR("Unable to retrieve the TrigTranslatorTool." << endmsg);
+                    return sc;
+                }
+                unpackTriggerCategories(m_vTrigChainNames);
+            }
+        }
+    }
+
+    // Convert the data type and environment strings from the python configuration into the
+    // enum class types DataType_t and Environment_t
+    m_dataType = dataTypeStringToEnum(m_dataTypeStr);
+    m_environment = envStringToEnum(m_environmentStr);
+
+    // Retrieve the luminosity tool if requested and whenever not using Monte Carlo
+    if (m_useLumi) {
+        if (m_dataType == DataType_t::monteCarlo) {
+            ATH_MSG_WARNING("Lumi tool requested, but AthMonitorAlgorithm is configured for MC. Disabling lumi tool.");
+        } else {
+            // Retrieve the luminosity and live fraction tools
+            StatusCode sc_lumiTool = m_lumiTool.retrieve();
+            StatusCode sc_liveTool = m_liveTool.retrieve();
+
+            // Set m_hasRetrievedLumiTool to true if both tools are retrieved successfully
+            if ( sc_lumiTool.isSuccess() && sc_liveTool.isSuccess() ) {
+               m_hasRetrievedLumiTool = true;
+            }
+        }
+    }
+
+    // get event info key
+    ATH_CHECK( m_EventInfoKey.initialize() );
+
+    // end of initialization
+    ATH_MSG_DEBUG("Exiting AthMonitorAlgorithm::initialize() successfully.");
+    return sc;
+}
+
+
+StatusCode AthMonitorAlgorithm::execute( const EventContext& ctx ) const {
+
+    // Checks that all of the  DQ filters are passed. If any one of the filters
+    // fails, return SUCCESS code and do not fill the histograms with the event.
+    for ( const auto& filterItr : m_DQFilterTools ) {
+        if (!filterItr->accept()) {
+            return StatusCode::SUCCESS;
+        }
+    }
+
+    // Trigger: If there is a decision tool and the chains fail, skip the event.
+    if ( !m_trigDecTool.empty() && !trigChainsArePassed(m_vTrigChainNames) ) {
+        return StatusCode::SUCCESS;
+    }
+
+    return fillHistograms(ctx);
+}
+
+SG::ReadHandle<xAOD::EventInfo> AthMonitorAlgorithm::GetEventInfo( const EventContext& ctx ) const {
+  return SG::ReadHandle<xAOD::EventInfo>(m_EventInfoKey, ctx);
+}
+
+
+AthMonitorAlgorithm::Environment_t AthMonitorAlgorithm::environment() const {
+    return m_environment;
+}
+
+
+AthMonitorAlgorithm::Environment_t AthMonitorAlgorithm::envStringToEnum( const std::string& str ) {
+    // convert the string to all lowercase
+    std::string lowerCaseStr = str;
+    std::transform(lowerCaseStr.begin(), lowerCaseStr.end(), lowerCaseStr.begin(), ::tolower);
+
+    // check if it matches one of the enum choices
+    if( lowerCaseStr == "user" ) {
+        return Environment_t::user;
+    } else if( lowerCaseStr == "online" ) {
+        return Environment_t::online;
+    } else if( lowerCaseStr == "tier0" ) {
+        return Environment_t::tier0;
+    } else if( lowerCaseStr == "tier0raw" ) {
+        return Environment_t::tier0Raw;
+    } else if( lowerCaseStr == "tier0esd" ) {
+        return Environment_t::tier0ESD;
+    } else if( lowerCaseStr == "aod" ) {
+        return Environment_t::AOD;
+    } else if( lowerCaseStr == "altprod" ) {
+        return Environment_t::altprod;
+    } else { // otherwise, warn the user and return "user"
+        ATH_MSG_WARNING("AthMonitorAlgorithm::envStringToEnum(): Unknown environment "
+            <<str<<", returning user."<<endmsg);
+        return Environment_t::user;
+    }
+}
+
+
+AthMonitorAlgorithm::DataType_t AthMonitorAlgorithm::dataType() const {
+    return m_dataType;
+}
+
+
+AthMonitorAlgorithm::DataType_t AthMonitorAlgorithm::dataTypeStringToEnum( const std::string& str ) {
+    // convert the string to all lowercase
+    std::string lowerCaseStr = str;
+    std::transform(lowerCaseStr.begin(), lowerCaseStr.end(), lowerCaseStr.begin(), ::tolower);
+
+    // check if it matches one of the enum choices
+    if( lowerCaseStr == "userdefined" ) {
+        return DataType_t::userDefined;
+    } else if( lowerCaseStr == "montecarlo" ) {
+        return DataType_t::monteCarlo;
+    } else if( lowerCaseStr == "collisions" ) {
+        return DataType_t::collisions;
+    } else if( lowerCaseStr == "cosmics" ) {
+        return DataType_t::cosmics;
+    } else if( lowerCaseStr == "heavyioncollisions" ) {
+        return DataType_t::heavyIonCollisions;
+    } else { // otherwise, warn the user and return "userDefined"
+        ATH_MSG_WARNING("AthMonitorAlgorithm::dataTypeStringToEnum(): Unknown data type "
+            <<str<<", returning userDefined."<<endmsg);
+        return DataType_t::userDefined;
+    }
+}
+
+
+GenericMonitoringTool& AthMonitorAlgorithm::getGroup( const std::string& name ) const {
+    // get the pointer to the tool, check that it exists, and return
+    GenericMonitoringTool* tool = &(*(*m_tools[name]));
+    if (tool == nullptr) {
+        ATH_MSG_FATAL("The tool "<<name<<" could not be found in the monitoring algorithm's tool array."<<endmsg);
+    }
+    return *tool;
+}
+
+
+const ToolHandle<Trig::ITrigDecisionTool>& AthMonitorAlgorithm::getTrigDecisionTool() {
+    return m_trigDecTool;
+}
+
+
+bool AthMonitorAlgorithm::trigChainsArePassed( const std::vector<std::string>& vTrigNames ) const {
+    // Check whether ANY of the triggers in the list are passed
+    for ( auto& trigName : vTrigNames ) {
+        if ( m_trigDecTool->isPassed(trigName) ) {
+            return true;
+        }
+    }
+    // If no triggers were given, return true. Otherwise, the trigger requirement failed
+    return vTrigNames.size()==0;
+}
+
+
+float AthMonitorAlgorithm::lbAverageInteractionsPerCrossing() const {
+    if ( m_hasRetrievedLumiTool ) {
+        return m_lumiTool->lbAverageInteractionsPerCrossing();
+    } else {
+        ATH_MSG_DEBUG("AthMonitorAlgorithm::lbAverageInteractionsPerCrossing() - luminosity tools are not retrieved.");
+        return -1.0;
+    }
+}
+
+
+float AthMonitorAlgorithm::lbInteractionsPerCrossing() {
+    if ( m_hasRetrievedLumiTool ) {
+        float instmu = 0.;
+        if (m_lumiTool->muToLumi() > 0.) {
+            instmu = m_lumiTool->lbLuminosityPerBCID()/m_lumiTool->muToLumi();
+        }
+        return instmu;
+    } else {
+        ATH_MSG_DEBUG("AthMonitorAlgorithm::lbInteractionsPerCrossing() - luminosity tools are not retrieved.");
+        return -1.0;
+    }
+}
+
+
+float AthMonitorAlgorithm::lbAverageLuminosity() {
+    if ( m_hasRetrievedLumiTool ) {
+        return m_lumiTool->lbAverageLuminosity();
+    } else {
+        ATH_MSG_DEBUG("AthMonitorAlgorithm::lbAverageLuminosity() - luminosity tools are not retrieved.");
+        return -1.0;
+    }
+}
+
+
+float AthMonitorAlgorithm::lbLuminosityPerBCID() {
+    if ( m_hasRetrievedLumiTool ) {
+        return m_lumiTool->lbLuminosityPerBCID();
+    } else {
+        ATH_MSG_DEBUG("AthMonitorAlgorithm::lbLuminosityPerBCID() - luminosity tools are not retrieved.");
+        return -1.0;
+    }
+}
+
+
+float AthMonitorAlgorithm::lbAverageLivefraction() {
+    if (m_environment == Environment_t::online) {
+        return 1.0;
+    }
+
+    if ( m_hasRetrievedLumiTool ) {
+        return m_liveTool->lbAverageLivefraction();
+    } else {
+        ATH_MSG_DEBUG("AthMonitorAlgorithm::lbAverageLivefraction() - luminosity tools are not retrieved.");
+        return -1.0;
+    }
+}
+
+
+float AthMonitorAlgorithm::livefractionPerBCID() {
+    if (m_environment == Environment_t::online) {
+        return 1.0;
+    }
+
+    if ( m_hasRetrievedLumiTool ) {
+        return m_liveTool->livefractionPerBCID();
+    } else {
+        ATH_MSG_DEBUG("AthMonitorAlgorithm::livefractionPerBCID() - luminosity tools are not retrieved.");
+        return -1.0;
+    }
+}
+
+
+double AthMonitorAlgorithm::lbLumiWeight() {
+    if ( m_hasRetrievedLumiTool ) {
+        return (lbAverageLuminosity()*lbDuration())*lbAverageLivefraction();
+    } else {
+        ATH_MSG_DEBUG("AthMonitorAlgorithm::lbLumiWeight() - luminosity tools are not retrieved.");
+        return -1.0;
+    }
+}
+
+
+double AthMonitorAlgorithm::lbDuration() {
+    if ( m_environment == Environment_t::online ) {
+        return m_defaultLBDuration;
+    }
+
+    if ( m_hasRetrievedLumiTool ) {
+        return m_lumiTool->lbDuration();
+    } else {
+        ATH_MSG_DEBUG("AthMonitorAlgorithm::lbDuration() - luminosity tools are not retrieved.");
+        return m_defaultLBDuration;
+    }
+}
+
+
+StatusCode AthMonitorAlgorithm::parseList(const std::string& line, std::vector<std::string>& result) {
+    std::string item;
+    std::stringstream ss(line);
+
+    ATH_MSG_DEBUG("AthMonitorAlgorithm::parseList()" << endmsg);
+
+    while ( std::getline(ss, item, ',') ) {
+        std::stringstream iss(item); // remove whitespace
+        iss >> item;
+        result.push_back(item);
+    }
+
+    return StatusCode::SUCCESS;
+}
+
+
+void AthMonitorAlgorithm::unpackTriggerCategories(std::vector<std::string>& vTrigChainNames) {
+    for (size_t i = 0; i < vTrigChainNames.size(); ++i) {
+        std::string& thisName = vTrigChainNames[i];
+
+        if (thisName.substr(0,9) == "CATEGORY_") {
+            ATH_MSG_DEBUG("Found a trigger category: " << thisName << ". Unpacking.");
+            std::vector<std::string> triggers = m_trigTranslator->translate(thisName.substr(9,std::string::npos));
+            std::ostringstream oss;
+            oss << "(";
+            for (size_t itrig = 0; itrig < triggers.size(); ++itrig) {
+                if (itrig != 0) { 
+                    oss << "|";
+                }
+                oss << triggers[itrig];
+            }
+            oss << ")";
+            // replace with new value
+            std::string newval = oss.str();
+            ATH_MSG_DEBUG("Replaced with " << newval);
+            vTrigChainNames[i] = newval;
+        }
+    }
+}
diff --git a/Control/AthenaMonitoring/src/ExampleMonitorAlgorithm.cxx b/Control/AthenaMonitoring/src/ExampleMonitorAlgorithm.cxx
new file mode 100644
index 000000000000..a601db48bda7
--- /dev/null
+++ b/Control/AthenaMonitoring/src/ExampleMonitorAlgorithm.cxx
@@ -0,0 +1,45 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "AthenaMonitoring/ExampleMonitorAlgorithm.h"
+
+ExampleMonitorAlgorithm::ExampleMonitorAlgorithm( const std::string& name, ISvcLocator* pSvcLocator )
+:AthMonitorAlgorithm(name,pSvcLocator)
+,m_doRandom(false)
+{
+    declareProperty("RandomHist",m_doRandom);
+}
+
+
+ExampleMonitorAlgorithm::~ExampleMonitorAlgorithm() {}
+
+
+StatusCode ExampleMonitorAlgorithm::initialize() {
+    return AthMonitorAlgorithm::initialize();
+}
+
+
+StatusCode ExampleMonitorAlgorithm::fillHistograms( const EventContext& ctx ) const {
+    using namespace Monitored;
+
+    // Declare the quantities which should be monitored
+    auto lumiPerBCID = MonitoredScalar::declare<float>("lumiPerBCID",0.0);
+    auto lb = MonitoredScalar::declare<int>("lb",0);
+    auto random = MonitoredScalar::declare<float>("random",0.0);    
+    
+    // Set the values of the monitored variables for the event
+    lumiPerBCID = lbAverageInteractionsPerCrossing();
+    lb = GetEventInfo(ctx)->lumiBlock();
+    if (m_doRandom) {
+        TRandom *r = new TRandom();
+        random = r->Rndm();
+    }
+
+    // Use the getGroup method to get your instance of the GenericMonitoringTool by name
+    auto& tool = getGroup("ExampleMonitor");
+    // Save. First argument is the tool, all others are the variables to be saved.
+    Monitored::save(&tool,lumiPerBCID,lb,random);
+    
+    return StatusCode::SUCCESS;
+}
diff --git a/Control/AthenaMonitoring/src/components/AthenaMonitoring_entries.cxx b/Control/AthenaMonitoring/src/components/AthenaMonitoring_entries.cxx
index c4924ca33ce2..a0d1219d16c8 100644
--- a/Control/AthenaMonitoring/src/components/AthenaMonitoring_entries.cxx
+++ b/Control/AthenaMonitoring/src/components/AthenaMonitoring_entries.cxx
@@ -8,6 +8,7 @@
 #include "AthenaMonitoring/DQBadLBFilterAlg.h"
 #include "AthenaMonitoring/TriggerTranslatorSimple.h"
 #include "AthenaMonitoring/GenericMonitoringTool.h"
+#include "AthenaMonitoring/ExampleMonitorAlgorithm.h"
 
 
 DECLARE_COMPONENT( AthenaMon )
@@ -20,3 +21,4 @@ DECLARE_COMPONENT( DQBadLBFilterTool )
 DECLARE_COMPONENT( DQBadLBFilterAlg )
 DECLARE_COMPONENT( TriggerTranslatorToolSimple )
 DECLARE_COMPONENT( GenericMonitoringTool )
+DECLARE_COMPONENT( ExampleMonitorAlgorithm )
\ No newline at end of file
-- 
GitLab


From c59fa469b12df8244e0d2c503550afd6a9154fa6 Mon Sep 17 00:00:00 2001
From: Ian Connelly <ian.connelly@cern.ch>
Date: Tue, 15 Jan 2019 13:55:03 +0000
Subject: [PATCH 024/192] Another error missed in conflict resolution

---
 .../MuonCnv/MuonByteStream/src/MuonCacheCreator.cxx       | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/MuonSpectrometer/MuonCnv/MuonByteStream/src/MuonCacheCreator.cxx b/MuonSpectrometer/MuonCnv/MuonByteStream/src/MuonCacheCreator.cxx
index d3759c58c2c9..3572573b0e41 100644
--- a/MuonSpectrometer/MuonCnv/MuonByteStream/src/MuonCacheCreator.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonByteStream/src/MuonCacheCreator.cxx
@@ -55,13 +55,13 @@ StatusCode MuonCacheCreator::execute (const EventContext& ctx) const {
   }
   // Create the MDT cache container
   auto maxHashMDTs = m_mdtIdHelper->stationNameIndex("BME") != -1 ? m_mdtIdHelper->detectorElement_hash_max() : m_mdtIdHelper->module_hash_max();
-  ATH_CHECK(CreateContainer(m_MdtCsmCacheKey, maxHashMDTs, ctx));
+  ATH_CHECK(createContainer(m_MdtCsmCacheKey, maxHashMDTs, ctx));
   // Create the CSC cache container
-  ATH_CHECK(CreateContainer(m_CscCacheKey,    m_cscIdHelper->module_hash_max(), ctx));
+  ATH_CHECK(createContainer(m_CscCacheKey,    m_cscIdHelper->module_hash_max(), ctx));
   // Create the RPC cache container
-  ATH_CHECK(CreateContainer(m_RpcCacheKey,    m_rpcIdHelper->module_hash_max(), ctx));
+  ATH_CHECK(createContainer(m_RpcCacheKey,    m_rpcIdHelper->module_hash_max(), ctx));
   // Create the TGC cache container
-  ATH_CHECK(CreateContainer(m_TgcCacheKey,    m_tgcIdHelper->module_hash_max(), ctx));
+  ATH_CHECK(createContainer(m_TgcCacheKey,    m_tgcIdHelper->module_hash_max(), ctx));
 
   ATH_MSG_INFO("Created cache container " << m_MdtCsmCacheKey);
   ATH_MSG_INFO("Created cache container " << m_CscCacheKey);
-- 
GitLab


From e1b9b054ecbb7e08ec827f8a039dbe9e6016e8a6 Mon Sep 17 00:00:00 2001
From: Charles Burton <cdb97@cornell.edu>
Date: Tue, 15 Jan 2019 08:28:32 -0600
Subject: [PATCH 025/192] add missing module in AthenaMonitoring __init__

---
 Control/AthenaMonitoring/python/__init__.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Control/AthenaMonitoring/python/__init__.py b/Control/AthenaMonitoring/python/__init__.py
index 3314d3063c52..be0edc4e5c56 100644
--- a/Control/AthenaMonitoring/python/__init__.py
+++ b/Control/AthenaMonitoring/python/__init__.py
@@ -1,2 +1,3 @@
 from AthMonitorCfgHelper import AthMonitorCfgHelper
 from AtlasReadyFilterTool import GetAtlasReadyFilterTool
+import DQConfigFlags
-- 
GitLab


From 8f8b06ba82db7c8794fff6a44196d12c220ea752 Mon Sep 17 00:00:00 2001
From: Charles Burton <cdb97@cornell.edu>
Date: Tue, 15 Jan 2019 08:33:40 -0600
Subject: [PATCH 026/192] make AthMonitorAlgorithm's lumi functions const

---
 .../AthenaMonitoring/AthMonitorAlgorithm.h         | 14 +++++++-------
 .../AthenaMonitoring/src/AthMonitorAlgorithm.cxx   | 14 +++++++-------
 2 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/Control/AthenaMonitoring/AthenaMonitoring/AthMonitorAlgorithm.h b/Control/AthenaMonitoring/AthenaMonitoring/AthMonitorAlgorithm.h
index 82a808ab6b60..96f3959ffd38 100644
--- a/Control/AthenaMonitoring/AthenaMonitoring/AthMonitorAlgorithm.h
+++ b/Control/AthenaMonitoring/AthenaMonitoring/AthMonitorAlgorithm.h
@@ -201,37 +201,37 @@ public:
     /**
      * Calculate instantaneous number of interactions, i.e. mu.
      */
-    virtual float lbInteractionsPerCrossing();
+    virtual float lbInteractionsPerCrossing() const;
 
     /**
      * Calculate average luminosity (in ub-1 s-1 => 10^30 cm-2 s-1).
      */
-    virtual float lbAverageLuminosity();
+    virtual float lbAverageLuminosity() const;
 
     /**
      * Calculate the instantaneous luminosity per bunch crossing.
      */
-    virtual float lbLuminosityPerBCID();
+    virtual float lbLuminosityPerBCID() const;
 
     /**
      *  Calculate the duration of the luminosity block (in seconds)
      */
-    virtual double lbDuration();
+    virtual double lbDuration() const;
 
     /**
      * Calculate the average luminosity livefraction
      */
-    virtual float lbAverageLivefraction();
+    virtual float lbAverageLivefraction() const;
 
     /**
      * Calculate the live fraction per bunch crossing ID.
      */
-    virtual float livefractionPerBCID();
+    virtual float livefractionPerBCID() const;
 
     /**
      * Calculate the average integrated luminosity multiplied by the live fraction.
      */
-    virtual double lbLumiWeight();
+    virtual double lbLumiWeight() const;
 
     /** @} */ // end of lumi group
 
diff --git a/Control/AthenaMonitoring/src/AthMonitorAlgorithm.cxx b/Control/AthenaMonitoring/src/AthMonitorAlgorithm.cxx
index 3fd5b2ce51c8..487923e14365 100644
--- a/Control/AthenaMonitoring/src/AthMonitorAlgorithm.cxx
+++ b/Control/AthenaMonitoring/src/AthMonitorAlgorithm.cxx
@@ -238,7 +238,7 @@ float AthMonitorAlgorithm::lbAverageInteractionsPerCrossing() const {
 }
 
 
-float AthMonitorAlgorithm::lbInteractionsPerCrossing() {
+float AthMonitorAlgorithm::lbInteractionsPerCrossing() const {
     if ( m_hasRetrievedLumiTool ) {
         float instmu = 0.;
         if (m_lumiTool->muToLumi() > 0.) {
@@ -252,7 +252,7 @@ float AthMonitorAlgorithm::lbInteractionsPerCrossing() {
 }
 
 
-float AthMonitorAlgorithm::lbAverageLuminosity() {
+float AthMonitorAlgorithm::lbAverageLuminosity() const {
     if ( m_hasRetrievedLumiTool ) {
         return m_lumiTool->lbAverageLuminosity();
     } else {
@@ -262,7 +262,7 @@ float AthMonitorAlgorithm::lbAverageLuminosity() {
 }
 
 
-float AthMonitorAlgorithm::lbLuminosityPerBCID() {
+float AthMonitorAlgorithm::lbLuminosityPerBCID() const {
     if ( m_hasRetrievedLumiTool ) {
         return m_lumiTool->lbLuminosityPerBCID();
     } else {
@@ -272,7 +272,7 @@ float AthMonitorAlgorithm::lbLuminosityPerBCID() {
 }
 
 
-float AthMonitorAlgorithm::lbAverageLivefraction() {
+float AthMonitorAlgorithm::lbAverageLivefraction() const {
     if (m_environment == Environment_t::online) {
         return 1.0;
     }
@@ -286,7 +286,7 @@ float AthMonitorAlgorithm::lbAverageLivefraction() {
 }
 
 
-float AthMonitorAlgorithm::livefractionPerBCID() {
+float AthMonitorAlgorithm::livefractionPerBCID() const {
     if (m_environment == Environment_t::online) {
         return 1.0;
     }
@@ -300,7 +300,7 @@ float AthMonitorAlgorithm::livefractionPerBCID() {
 }
 
 
-double AthMonitorAlgorithm::lbLumiWeight() {
+double AthMonitorAlgorithm::lbLumiWeight() const {
     if ( m_hasRetrievedLumiTool ) {
         return (lbAverageLuminosity()*lbDuration())*lbAverageLivefraction();
     } else {
@@ -310,7 +310,7 @@ double AthMonitorAlgorithm::lbLumiWeight() {
 }
 
 
-double AthMonitorAlgorithm::lbDuration() {
+double AthMonitorAlgorithm::lbDuration() const {
     if ( m_environment == Environment_t::online ) {
         return m_defaultLBDuration;
     }
-- 
GitLab


From 1ae7a610f7dbecb1a1a1058fd205712940f0f7b0 Mon Sep 17 00:00:00 2001
From: Charles Burton <cdb97@cornell.edu>
Date: Wed, 16 Jan 2019 04:55:29 -0600
Subject: [PATCH 027/192] update copyright statements

---
 Control/AthenaConfiguration/python/AllConfigFlags.py          | 2 +-
 .../AthenaMonitoring/AthenaMonitoring/AthMonitorAlgorithm.h   | 2 +-
 .../AthenaMonitoring/ExampleMonitorAlgorithm.h                | 2 +-
 Control/AthenaMonitoring/python/AthMonitorCfgHelper.py        | 2 +-
 Control/AthenaMonitoring/python/DQConfigFlags.py              | 2 +-
 Control/AthenaMonitoring/python/__init__.py                   | 4 ++++
 Control/AthenaMonitoring/share/ExampleMonitorAlgorithm.py     | 4 ++++
 Control/AthenaMonitoring/src/AthMonitorAlgorithm.cxx          | 2 +-
 Control/AthenaMonitoring/src/AthenaMonManager.cxx             | 2 +-
 Control/AthenaMonitoring/src/ExampleMonitorAlgorithm.cxx      | 2 +-
 .../src/components/AthenaMonitoring_entries.cxx               | 4 ++++
 11 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/Control/AthenaConfiguration/python/AllConfigFlags.py b/Control/AthenaConfiguration/python/AllConfigFlags.py
index aadef9ad1eec..135e9ca10c1e 100644
--- a/Control/AthenaConfiguration/python/AllConfigFlags.py
+++ b/Control/AthenaConfiguration/python/AllConfigFlags.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaConfiguration.AthConfigFlags import AthConfigFlags
 from AthenaCommon.SystemOfUnits import TeV
diff --git a/Control/AthenaMonitoring/AthenaMonitoring/AthMonitorAlgorithm.h b/Control/AthenaMonitoring/AthenaMonitoring/AthMonitorAlgorithm.h
index 96f3959ffd38..11c0542fb48c 100644
--- a/Control/AthenaMonitoring/AthenaMonitoring/AthMonitorAlgorithm.h
+++ b/Control/AthenaMonitoring/AthenaMonitoring/AthMonitorAlgorithm.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
diff --git a/Control/AthenaMonitoring/AthenaMonitoring/ExampleMonitorAlgorithm.h b/Control/AthenaMonitoring/AthenaMonitoring/ExampleMonitorAlgorithm.h
index deb0a69dce9d..0c6f77662709 100644
--- a/Control/AthenaMonitoring/AthenaMonitoring/ExampleMonitorAlgorithm.h
+++ b/Control/AthenaMonitoring/AthenaMonitoring/ExampleMonitorAlgorithm.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef EXAMPLEMONITORALGORITHM_H
diff --git a/Control/AthenaMonitoring/python/AthMonitorCfgHelper.py b/Control/AthenaMonitoring/python/AthMonitorCfgHelper.py
index 6c2fff1bd8b6..16a4ea893376 100644
--- a/Control/AthenaMonitoring/python/AthMonitorCfgHelper.py
+++ b/Control/AthenaMonitoring/python/AthMonitorCfgHelper.py
@@ -1,5 +1,5 @@
 #
-#  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+#  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 #
 
 class AthMonitorCfgHelper(object):
diff --git a/Control/AthenaMonitoring/python/DQConfigFlags.py b/Control/AthenaMonitoring/python/DQConfigFlags.py
index 0ded9232dfb6..1d19f8c68030 100644
--- a/Control/AthenaMonitoring/python/DQConfigFlags.py
+++ b/Control/AthenaMonitoring/python/DQConfigFlags.py
@@ -1,5 +1,5 @@
 #
-#  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+#  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 #
 
 from AthenaConfiguration.AthConfigFlags import AthConfigFlags
diff --git a/Control/AthenaMonitoring/python/__init__.py b/Control/AthenaMonitoring/python/__init__.py
index be0edc4e5c56..a97b74013952 100644
--- a/Control/AthenaMonitoring/python/__init__.py
+++ b/Control/AthenaMonitoring/python/__init__.py
@@ -1,3 +1,7 @@
+#
+#  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+#
+
 from AthMonitorCfgHelper import AthMonitorCfgHelper
 from AtlasReadyFilterTool import GetAtlasReadyFilterTool
 import DQConfigFlags
diff --git a/Control/AthenaMonitoring/share/ExampleMonitorAlgorithm.py b/Control/AthenaMonitoring/share/ExampleMonitorAlgorithm.py
index b1072610c3a2..5ddbdbe8b33e 100644
--- a/Control/AthenaMonitoring/share/ExampleMonitorAlgorithm.py
+++ b/Control/AthenaMonitoring/share/ExampleMonitorAlgorithm.py
@@ -1,3 +1,7 @@
+#
+#  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+#
+
 '''@file ExampleMonitorAlgorithm.py
 @author C. D. Burton
 @author P. Onyisi
diff --git a/Control/AthenaMonitoring/src/AthMonitorAlgorithm.cxx b/Control/AthenaMonitoring/src/AthMonitorAlgorithm.cxx
index 487923e14365..a6b28b2f1312 100644
--- a/Control/AthenaMonitoring/src/AthMonitorAlgorithm.cxx
+++ b/Control/AthenaMonitoring/src/AthMonitorAlgorithm.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "AthenaMonitoring/AthMonitorAlgorithm.h"
diff --git a/Control/AthenaMonitoring/src/AthenaMonManager.cxx b/Control/AthenaMonitoring/src/AthenaMonManager.cxx
index 811743a9ce84..d2207e7825b7 100755
--- a/Control/AthenaMonitoring/src/AthenaMonManager.cxx
+++ b/Control/AthenaMonitoring/src/AthenaMonManager.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // **********************************************************************
diff --git a/Control/AthenaMonitoring/src/ExampleMonitorAlgorithm.cxx b/Control/AthenaMonitoring/src/ExampleMonitorAlgorithm.cxx
index a601db48bda7..fdea06f7b187 100644
--- a/Control/AthenaMonitoring/src/ExampleMonitorAlgorithm.cxx
+++ b/Control/AthenaMonitoring/src/ExampleMonitorAlgorithm.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "AthenaMonitoring/ExampleMonitorAlgorithm.h"
diff --git a/Control/AthenaMonitoring/src/components/AthenaMonitoring_entries.cxx b/Control/AthenaMonitoring/src/components/AthenaMonitoring_entries.cxx
index a0d1219d16c8..ed03084a43a2 100644
--- a/Control/AthenaMonitoring/src/components/AthenaMonitoring_entries.cxx
+++ b/Control/AthenaMonitoring/src/components/AthenaMonitoring_entries.cxx
@@ -1,3 +1,7 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
 #include "AthenaMonitoring/AthenaMon.h"
 #include "AthenaMonitoring/AthenaMonManager.h"
 #include "AthenaMonitoring/ManagedMonitorToolTest.h"
-- 
GitLab


From 204dcb50cfd070b9cce9eea3ce36f1ba266ed12a Mon Sep 17 00:00:00 2001
From: Charles Burton <cdb97@cornell.edu>
Date: Wed, 16 Jan 2019 12:08:49 -0600
Subject: [PATCH 028/192] fix memory leak

---
 Control/AthenaMonitoring/share/ExampleMonitorAlgorithm.py | 2 --
 Control/AthenaMonitoring/src/ExampleMonitorAlgorithm.cxx  | 4 ++--
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/Control/AthenaMonitoring/share/ExampleMonitorAlgorithm.py b/Control/AthenaMonitoring/share/ExampleMonitorAlgorithm.py
index 5ddbdbe8b33e..bc4d49131617 100644
--- a/Control/AthenaMonitoring/share/ExampleMonitorAlgorithm.py
+++ b/Control/AthenaMonitoring/share/ExampleMonitorAlgorithm.py
@@ -116,7 +116,6 @@ if __name__=='__main__':
     file = 'data16_13TeV.00311321.physics_Main.recon.AOD.r9264/AOD.11038520._000001.pool.root.1'
     ConfigFlags.Input.Files = [nightly+file]
     ConfigFlags.Input.isMC = False
-    ConfigFlags.DQ.FileKey = 'EXPERT'
     ConfigFlags.Output.HISTFileName = 'ExampleMonitor.root'
     ConfigFlags.lock()
 
@@ -127,7 +126,6 @@ if __name__=='__main__':
     cfg.merge(PoolReadCfg(ConfigFlags))
 
     exampleMonitorAcc,exampleMonitorAlg = ExampleMonitoringConfig(ConfigFlags)
-    exampleMonitorAlg.ClustersOutputName = ConfigFlags.DQ.FileKey
     
     cfg.merge(exampleMonitorAcc)
     cfg.run()
diff --git a/Control/AthenaMonitoring/src/ExampleMonitorAlgorithm.cxx b/Control/AthenaMonitoring/src/ExampleMonitorAlgorithm.cxx
index fdea06f7b187..58b7784ee03e 100644
--- a/Control/AthenaMonitoring/src/ExampleMonitorAlgorithm.cxx
+++ b/Control/AthenaMonitoring/src/ExampleMonitorAlgorithm.cxx
@@ -32,8 +32,8 @@ StatusCode ExampleMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co
     lumiPerBCID = lbAverageInteractionsPerCrossing();
     lb = GetEventInfo(ctx)->lumiBlock();
     if (m_doRandom) {
-        TRandom *r = new TRandom();
-        random = r->Rndm();
+        TRandom r;
+        random = r.Rndm();
     }
 
     // Use the getGroup method to get your instance of the GenericMonitoringTool by name
-- 
GitLab


From 9924ac8e0f5ce342d18f2734a43fef3922a7a11a Mon Sep 17 00:00:00 2001
From: Krzysztof Jamrog <krzysztof.piotr.jamrog@cern.ch>
Date: Wed, 16 Jan 2019 21:25:40 +0100
Subject: [PATCH 029/192] HypoTools merging logic

---
 .../python/ComponentAccumulator.py            | 35 ++++++++++++-------
 .../python/UnifyProperties.py                 | 35 +++++++++++++++----
 2 files changed, 52 insertions(+), 18 deletions(-)

diff --git a/Control/AthenaConfiguration/python/ComponentAccumulator.py b/Control/AthenaConfiguration/python/ComponentAccumulator.py
index 7a4b1db8b764..4bad9da69a7b 100644
--- a/Control/AthenaConfiguration/python/ComponentAccumulator.py
+++ b/Control/AthenaConfiguration/python/ComponentAccumulator.py
@@ -11,7 +11,7 @@ from GaudiKernel.GaudiHandles import PublicToolHandle, PublicToolHandleArray, Se
 import ast
 import collections
 
-from UnifyProperties import unifyProperty, unifySet
+from UnifyProperties import unifyProperty, unifySet, matchProperty
 
 
 class DeduplicationFailed(RuntimeError):
@@ -175,8 +175,12 @@ class ComponentAccumulator(object):
         for algo in algorithms:
             if not isinstance(algo, ConfigurableAlgorithm):
                 raise TypeError("Attempt to add wrong type: %s as event algorithm" % type( algo ).__name__)
-             
-            seq+=algo #TODO: Deduplication necessary?
+
+            existingAlg = findAlgorithm(seq, algo.getName())
+            if existingAlg:
+                self._deduplicateComponent(algo, existingAlg)
+            else:
+                seq+=algo #TODO: Deduplication necessary?
             pass
         return None
 
@@ -271,11 +275,13 @@ class ComponentAccumulator(object):
                 if type(oldprop) != type(newprop):
                     raise DeduplicationFailed(" '%s' defined multiple times with conflicting types %s and %s" % \
                                                       (comp.getJobOptName(),type(oldprop),type(newprop)))
-                
+
+                propid = "%s.%s" % (comp.getType(), str(prop))
+
                 #Note that getattr for a list property works, even if it's not in ValuedProperties
                 if (oldprop!=newprop):
                     #found property mismatch
-                    if isinstance(oldprop,PublicToolHandle) or isinstance(oldprop,ServiceHandle): 
+                    if isinstance(oldprop,PublicToolHandle) or isinstance(oldprop,ServiceHandle):
                         if oldprop.getFullName()==newprop.getFullName():
                             # For public tools/services we check only their full name because they are already de-duplicated in addPublicTool/addSerivce
                             continue
@@ -283,24 +289,29 @@ class ComponentAccumulator(object):
                             raise DeduplicationFailed("PublicToolHandle / ServiceHandle '%s.%s' defined multiple times with conflicting values %s and %s" % \
                                                               (comp.getJobOptName(),oldprop.getFullName(),newprop.getFullName()))
                     elif isinstance(oldprop,PublicToolHandleArray):
-                            for newtool in newprop:
-                                if newtool not in oldprop: 
-                                    oldprop+=[newtool,]
-                            continue
+                        for newtool in newprop:
+                            if newtool not in oldprop:
+                                oldprop+=[newtool,]
+                        continue
                     elif isinstance(oldprop,ConfigurableAlgTool):
                         self._deduplicateComponent(oldprop,newprop)
                         pass
                     elif isinstance(oldprop,GaudiHandles.GaudiHandleArray):
+
+                        if matchProperty(propid):
+                            mergeprop = unifyProperty(propid, oldprop, newprop)
+                            setattr(comp, prop, mergeprop)
+                            continue
+
                         for newTool in newprop:
                             self._deduplicate(newTool,oldprop)
                         pass
                     elif isinstance(oldprop,list): #if properties are mergeable, do that!
-                        propid="%s.%s" % (comp.getType(),str(prop))
                         #Try merging this property. Will raise on failure
                         mergeprop=unifyProperty(propid,oldprop,newprop)
                         setattr(comp,prop,mergeprop)
                     elif isinstance(oldprop,dict): #Dicts/maps can be unified
-                        #find conflicting keys 
+                        #find conflicting keys
                         doubleKeys= set(oldprop.keys()) & set(prop.keys())
                         for k in doubleKeys():
                             if oldprop[k]!= prop[k]:
@@ -427,7 +438,7 @@ class ComponentAccumulator(object):
                     existingAlg = findAlgorithm( dest, c.name(), depth=1 )
                     if existingAlg:
                         if existingAlg != c: # if it is the same we can just skip it, else this indicates an error
-                            raise ConfigurationError( "Duplicate algorithm %s in source and destination sequences %s" % ( c.name(), src.name()  ) )
+                            self._deduplicate(c, existingAlg)
                     else: # absent, adding
                         self._msg.debug("  Merging algorithm %s to a sequence %s", c.name(), dest.name() )
                         dest += c
diff --git a/Control/AthenaConfiguration/python/UnifyProperties.py b/Control/AthenaConfiguration/python/UnifyProperties.py
index e75ac7e02eb5..dbbb6d968d1a 100644
--- a/Control/AthenaConfiguration/python/UnifyProperties.py
+++ b/Control/AthenaConfiguration/python/UnifyProperties.py
@@ -48,20 +48,43 @@ _propsToUnify={"GeoModelSvc.DetectorTools":unifySet,
                "AtRndmGenSvc.Seeds": unifySet,
                }
 
-def matchPropName(propname):
+
+def getUnificationKey(propname):
     if propname in _propsToUnify:
-        return True
+        return propname
     try:
         objectName, variableName = propname.split('.')[-2:]
-        return '*.{}'.format(variableName) in _propsToUnify or '{}.*'.format(objectName) in _propsToUnify
+
+        matchingByVariable = '*.{}'.format(variableName)
+        if matchingByVariable in _propsToUnify:
+            return matchingByVariable
+
+        matchingByObject = '{}.*'.format(objectName)
+        if matchingByObject in _propsToUnify:
+            return matchingByObject
+
     except:
-        return False
+        pass
+
+    return None
+
+
+def matchProperty(propname):
+    return getUnificationKey(propname) is not None
+
+
+def getUnificationFunc(propname):
+    unificationKey = getUnificationKey(propname)
+    if unificationKey is None:
+        return None
+    return _propsToUnify[unificationKey]
 
 
 def unifyProperty(propname,prop1,prop2):
-    if not matchPropName(propname):
+    unificationFunc = getUnificationFunc(propname)
+    if unificationFunc is None:
         from AthenaConfiguration.ComponentAccumulator import DeduplicationFailed
         raise DeduplicationFailed("List property %s defined multiple times with conflicting values.\n " % propname \
                                       + str(prop1) +"\n and \n" +str(prop2) \
                                       + "\nIf this property should be merged, consider adding it to AthenaConfiguration/UnifyProperties.py")
-    return _propsToUnify[propname](prop1,prop2)
+    return unificationFunc(prop1,prop2)
-- 
GitLab


From 560d47e8abe96292b1de3c4d43c2c426b074fc30 Mon Sep 17 00:00:00 2001
From: Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch>
Date: Thu, 17 Jan 2019 12:42:14 +0100
Subject: [PATCH 030/192] Added the -x argument for the build scripts of
 AnalysisBase.

Now that that argument exists for the other projects as well.
---
 Projects/AnalysisBase/build.sh           | 11 ++++++++---
 Projects/AnalysisBase/build_externals.sh | 15 +++++++++++----
 2 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/Projects/AnalysisBase/build.sh b/Projects/AnalysisBase/build.sh
index e6f04f22b375..97717bd1f5b5 100755
--- a/Projects/AnalysisBase/build.sh
+++ b/Projects/AnalysisBase/build.sh
@@ -8,12 +8,13 @@ _time_() { local c="time -p " ; while test "X$1" != "X" ; do c+=" \"$1\"" ; shif
 
 # Function printing the usage information for the script
 usage() {
-    echo "Usage: build.sh [-t type] [-b dir] [-g generator] [-c] [-m] [-i] [-p] [-a]"
+    echo "Usage: build.sh [-t type] [-b dir] [-g generator] [-c] [-m] [-i] [-p] [-a] [-x opt]"
     echo ""
     echo "  General flags:"
     echo "    -t: The (optional) CMake build type to use."
     echo "    -b: The (optional) build directory to use."
     echo "    -g: The (optional) CMake generator to use."
+    echo "    -x: Custom argument(s) to pass to the CMake configuration"
     echo "    -a: Abort on error."
     echo "  Build step selection:"
     echo "    -c: Execute the CMake step."
@@ -35,7 +36,8 @@ EXE_MAKE=""
 EXE_INSTALL=""
 EXE_CPACK=""
 NIGHTLY=true
-while getopts ":t:b:g:hcmipa" opt; do
+EXTRACMAKE=()
+while getopts ":t:b:g:hcmipax:" opt; do
     case $opt in
         t)
             BUILDTYPE=$OPTARG
@@ -61,6 +63,9 @@ while getopts ":t:b:g:hcmipa" opt; do
         a)
             NIGHTLY=false
             ;;
+        x)
+            EXTRACMAKE+=($OPTARG)
+            ;;
         h)
             usage
             exit 0
@@ -122,7 +127,7 @@ if [ -n "$EXE_CMAKE" ]; then
     # Now run the actual CMake configuration:
     _time_ cmake -G "${GENERATOR}" \
          -DCMAKE_BUILD_TYPE:STRING=${BUILDTYPE} \
-         ${USE_LAUNCHERS} \
+         ${USE_LAUNCHERS} ${EXTRACMAKE[@]} \
          ${AnalysisBaseSrcDir} 2>&1 | tee cmake_config.log
 fi
 
diff --git a/Projects/AnalysisBase/build_externals.sh b/Projects/AnalysisBase/build_externals.sh
index 234b2db78b24..26089095a33d 100755
--- a/Projects/AnalysisBase/build_externals.sh
+++ b/Projects/AnalysisBase/build_externals.sh
@@ -8,11 +8,13 @@ set -e
 
 # Function printing the usage information for the script
 usage() {
-    echo "Usage: build_externals.sh [-t build_type] [-b build_dir] [-f] [-c]"
+    echo "Usage: build_externals.sh [-t build_type] [-b build_dir] [-f] [-c] [-x opt]"
     echo " -f: Force rebuild of externals, otherwise if script"
     echo "     finds an external build present it will simply exit"
     echo " -c: Build the externals for the continuous integration (CI) system,"
     echo "     skipping the build of the externals RPMs."
+    echo " -x: Extra cmake argument(s) to provide for the build(configuration)"
+    echo "     of all externals needed by Athena."
     echo "If a build_dir is not given the default is '../build'"
     echo "relative to the athena checkout"
 }
@@ -22,7 +24,8 @@ BUILDDIR=""
 BUILDTYPE="RelWithDebInfo"
 FORCE=""
 CI=""
-while getopts ":t:b:fch" opt; do
+EXTRACMAKE=()
+while getopts ":t:b:x:fch" opt; do
     case $opt in
         t)
             BUILDTYPE=$OPTARG
@@ -36,6 +39,9 @@ while getopts ":t:b:fch" opt; do
         c)
             CI="1"
             ;;
+        x)
+            EXTRACMAKE+=($OPTARG)
+            ;;
         h)
             usage
             exit 0
@@ -95,12 +101,13 @@ fi
 # Read in the tag/branch to use for AnalysisBaseExternals:
 AnalysisBaseExternalsVersion=$(awk '/^AnalysisBaseExternalsVersion/{print $3}' ${thisdir}/externals.txt)
 
+# Stop on all errors in the following (piped) commands:
 set -o pipefail
 
 # Check out AnalysisBaseExternals from the right branch/tag:
 ${scriptsdir}/checkout_atlasexternals.sh \
     -t ${AnalysisBaseExternalsVersion} \
-    -s ${BUILDDIR}/src/AnalysisBaseExternals 2>&1  | tee ${BUILDDIR}/src/checkout.AnalysisBaseExternals.log
+    -s ${BUILDDIR}/src/AnalysisBaseExternals 2>&1 | tee ${BUILDDIR}/src/checkout.AnalysisBaseExternals.log
 
 # Build AnalysisBaseExternals:
 export NICOS_PROJECT_HOME=$(cd ${BUILDDIR}/install;pwd)/AnalysisBaseExternals
@@ -109,4 +116,4 @@ ${scriptsdir}/build_atlasexternals.sh \
     -b ${BUILDDIR}/build/AnalysisBaseExternals \
     -i ${BUILDDIR}/install/AnalysisBaseExternals/${NICOS_PROJECT_VERSION} \
     -p AnalysisBaseExternals ${RPMOPTIONS} -t ${BUILDTYPE} \
-    -v ${NICOS_PROJECT_VERSION}
+    -v ${NICOS_PROJECT_VERSION} ${EXTRACMAKE[@]/#/-x }
-- 
GitLab


From 2ecaaf7c6713be8970355254131b14a28dfde703 Mon Sep 17 00:00:00 2001
From: Ian Connelly <ian.connelly@cern.ch>
Date: Fri, 18 Jan 2019 14:09:30 +0000
Subject: [PATCH 031/192] Fix missing StatusCode check when adding to container

---
 .../MuonCSC_CnvTools/src/CscROD_Decoder.cxx   | 21 ++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)

diff --git a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscROD_Decoder.cxx b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscROD_Decoder.cxx
index 673840e401fc..bb76d1695d24 100644
--- a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscROD_Decoder.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/src/CscROD_Decoder.cxx
@@ -515,7 +515,11 @@ void Muon::CscROD_Decoder::rodVersion2(const ROBFragment& robFrag,  CscRawDataCo
   }
 
   if(rawCollection) {
-    lock.addOrDelete(std::move( rawCollection ) );
+    StatusCode status_lock = lock.addOrDelete(std::move( rawCollection ) );
+    if (status_lock.isFailure()) {
+      ATH_MSG_ERROR ( "Could not insert CscRawDataCollection into CscRawDataContainer..." );
+      return;
+    }
   }
 
   ATH_MSG_DEBUG ( "end of CscROD_Decode::fillCollection()" );
@@ -649,8 +653,13 @@ void Muon::CscROD_Decoder::rodVersion1(const ROBFragment& robFrag,  CscRawDataCo
     if (i < (size-rodFooter)) dpuFragment = rodReadOut.isDPU(p[i]);
     numberOfDPU++;
   }
+
   if(rawCollection) {
-    lock.addOrDelete(std::move( rawCollection ) );
+    StatusCode status_lock = lock.addOrDelete(std::move( rawCollection ) );
+    if (status_lock.isFailure()) {
+      ATH_MSG_ERROR ( "Could not insert CscRawDataCollection into CscRawDataContainer..." );
+      return;
+    }
   }
 
   return;
@@ -751,9 +760,15 @@ void Muon::CscROD_Decoder::rodVersion0(const ROBFragment& robFrag,  CscRawDataCo
     // check that the new fragment is body
     bodyFragment = rodReadOut.isBody(p[i]);
   }
+
   if(rawCollection) {
-    lock.addOrDelete(std::move( rawCollection ) );
+    StatusCode status_lock = lock.addOrDelete(std::move( rawCollection ) );
+    if (status_lock.isFailure()) {
+      ATH_MSG_ERROR ( "Could not insert CscRawDataCollection into CscRawDataContainer..." );
+      return;
+    }
   }
+
   return;
 
 }
-- 
GitLab


From 36911c01375f4fc7e49ed8a5e29d830f7b9541d2 Mon Sep 17 00:00:00 2001
From: Ian Connelly <ian.connelly@cern.ch>
Date: Fri, 18 Jan 2019 17:20:22 +0000
Subject: [PATCH 032/192] Adding a test for the caching which won't conflict
 with existing one

---
 MuonSpectrometer/MuonConfig/CMakeLists.txt         |  6 ++++++
 .../python/MuonBytestreamDecodeConfig.py           |  3 ++-
 .../MuonConfig/python/MuonRdoDecodeConfig.py       | 13 ++++++++++---
 .../MuonConfig/test/testMuonDataDecode_Cache.sh    | 14 ++++++++++++++
 4 files changed, 32 insertions(+), 4 deletions(-)
 create mode 100755 MuonSpectrometer/MuonConfig/test/testMuonDataDecode_Cache.sh

diff --git a/MuonSpectrometer/MuonConfig/CMakeLists.txt b/MuonSpectrometer/MuonConfig/CMakeLists.txt
index 084623f6fef6..651d53e6a032 100644
--- a/MuonSpectrometer/MuonConfig/CMakeLists.txt
+++ b/MuonSpectrometer/MuonConfig/CMakeLists.txt
@@ -17,6 +17,12 @@ atlas_add_test( MuonDataDecodeTest
                 EXTRA_PATTERNS "GeoModelSvc.MuonDetectorTool.*SZ=|Cache alignment|Range of input|recorded new|map from"
                 SCRIPT test/testMuonDataDecode.sh )
 
+# Adding an identical test for the ByteStream identifiable caches (and future RDO caches)
+atlas_add_test( MuonDataDecodeTest_Cache
+                PROPERTIES TIMEOUT 1000
+                EXTRA_PATTERNS "GeoModelSvc.MuonDetectorTool.*SZ=|Cache alignment|Range of input|recorded new|map from"
+                SCRIPT test/testMuonDataDecode_Cache.sh )
+
 atlas_add_test( MuonCablingConfigTest
    SCRIPT python -m MuonConfig.MuonCablingConfig
    POST_EXEC_SCRIPT nopost.sh )
diff --git a/MuonSpectrometer/MuonConfig/python/MuonBytestreamDecodeConfig.py b/MuonSpectrometer/MuonConfig/python/MuonBytestreamDecodeConfig.py
index 8fc7bf04f710..bd0428cd172d 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonBytestreamDecodeConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonBytestreamDecodeConfig.py
@@ -158,7 +158,8 @@ def CscBytestreamDecodeCfg(flags, forTrigger=False):
     # Setup the RAW data provider tool
     from MuonCSC_CnvTools.MuonCSC_CnvToolsConf import Muon__CSC_RawDataProviderTool
     MuonCscRawDataProviderTool = Muon__CSC_RawDataProviderTool(name    = "CSC_RawDataProviderTool",
-                                                               Decoder = CSCRodDecoder )
+                                                               Decoder = CSCRodDecoder,
+                                                               OutputLevel = VERBOSE)
     if forTrigger:
         MuonCscRawDataProviderTool.CscContainerCacheKey = "CscCache"
 
diff --git a/MuonSpectrometer/MuonConfig/python/MuonRdoDecodeConfig.py b/MuonSpectrometer/MuonConfig/python/MuonRdoDecodeConfig.py
index 4f8971276487..b9dbefe7a6a4 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonRdoDecodeConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonRdoDecodeConfig.py
@@ -148,7 +148,8 @@ def CscClusterBuildCfg(flags, forTrigger=False):
 
 
 # This function runs the decoding on a data file
-def muonRdoDecodeTestData():
+def muonRdoDecodeTestData( forTrigger = False ):
+    # Add a flag, forTrigger, which will initially put the ByteStreamDecodeCfg code into "Cached Container" mode
     from AthenaCommon.Configurable import Configurable
     Configurable.configurableRun3Behavior=1
 
@@ -174,6 +175,12 @@ def muonRdoDecodeTestData():
     from ByteStreamCnvSvc.ByteStreamConfig import TrigBSReadCfg
     cfg.merge(TrigBSReadCfg(ConfigFlags ))
 
+    # Setup IdentifiableCaches before anything else
+    from MuonConfig.MuonBytestreamDecodeConfig import MuonCacheCfg
+    muoncacheacc, muoncachealg = MuonCacheCfg()
+    cfg.merge( muoncacheacc )
+    cfg.addEventAlgo( muoncachealg )
+
     # Schedule Rpc bytestream data decoding - once mergeAll is working can simplify these lines
     from MuonConfig.MuonBytestreamDecodeConfig import RpcBytestreamDecodeCfg
     rpcdecodingAcc, rpcdecodingAlg = RpcBytestreamDecodeCfg( ConfigFlags ) 
@@ -187,12 +194,12 @@ def muonRdoDecodeTestData():
     cfg.addEventAlgo( tgcdecodingAlg )
 
     from MuonConfig.MuonBytestreamDecodeConfig import MdtBytestreamDecodeCfg
-    mdtdecodingAcc, mdtdecodingAlg = MdtBytestreamDecodeCfg( ConfigFlags )
+    mdtdecodingAcc, mdtdecodingAlg = MdtBytestreamDecodeCfg( ConfigFlags, forTrigger )    
     cfg.merge( mdtdecodingAcc )
     cfg.addEventAlgo( mdtdecodingAlg )
 
     from MuonConfig.MuonBytestreamDecodeConfig import CscBytestreamDecodeCfg
-    cscdecodingAcc, cscdecodingAlg = CscBytestreamDecodeCfg( ConfigFlags ) 
+    cscdecodingAcc, cscdecodingAlg = CscBytestreamDecodeCfg( ConfigFlags, forTrigger ) 
     cfg.merge( cscdecodingAcc )
     cfg.addEventAlgo( cscdecodingAlg )
 
diff --git a/MuonSpectrometer/MuonConfig/test/testMuonDataDecode_Cache.sh b/MuonSpectrometer/MuonConfig/test/testMuonDataDecode_Cache.sh
new file mode 100755
index 000000000000..32058eff9f56
--- /dev/null
+++ b/MuonSpectrometer/MuonConfig/test/testMuonDataDecode_Cache.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+python -c 'from MuonConfig.MuonRdoDecodeConfig import muonRdoDecodeTestData; muonRdoDecodeTestData( True )'# generate pickle
+status=$?
+if [ ${status} -ne 0 ] 
+then
+    echo "ERROR in configuration generation stage, stopping"
+    exit -1
+else
+    echo
+    echo "JOs reading stage finished, launching Athena from pickle file"
+    echo 
+    athena --threads=1 --evtMax=20 MuonRdoDecode.pkl
+fi
-- 
GitLab


From 1e2f15154fc1228b019182742b7dd34fbc68276f Mon Sep 17 00:00:00 2001
From: Dmitry Popov <dmitry.popov@cern.ch>
Date: Mon, 21 Jan 2019 13:11:41 +0000
Subject: [PATCH 033/192] Fixed L1TriggerTowerTool usage in
 TrigT1CaloMonitoring

---
 .../share/TrigT1CaloMonitoring_forRecExCommission_Run2.py  | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/Trigger/TrigT1/TrigT1CaloMonitoring/share/TrigT1CaloMonitoring_forRecExCommission_Run2.py b/Trigger/TrigT1/TrigT1CaloMonitoring/share/TrigT1CaloMonitoring_forRecExCommission_Run2.py
index a66a45d1cb7c..2bde474a0d54 100755
--- a/Trigger/TrigT1/TrigT1CaloMonitoring/share/TrigT1CaloMonitoring_forRecExCommission_Run2.py
+++ b/Trigger/TrigT1/TrigT1CaloMonitoring/share/TrigT1CaloMonitoring_forRecExCommission_Run2.py
@@ -106,8 +106,7 @@ if l1caloRawMon:
         if athenaCommonFlags.isOnline:
             from TrigBunchCrossingTool.BunchCrossingTool import BunchCrossingTool
             theBCTool = BunchCrossingTool()
-            # ToolSvc += theBCTool
-            L1CaloMan.AthenaMonTools += [theBCTool]
+            ToolSvc += theBCTool
             L1PPrStabilityMonTool.BunchCrossingTool = theBCTool
 
     else:
@@ -183,11 +182,9 @@ if l1caloRawMon:
             PPMSimBSMonTool = LVL1__PPMSimBSMon("PPMSimBSMonTool")
             #ToolSvc += PPMSimBSMonTool
             L1CaloMan.AthenaMonTools += [PPMSimBSMonTool]
-            #ToolSvc.PPMSimBSMonTool.OutputLevel = DEBUG
             from TrigT1CaloTools.TrigT1CaloToolsConf import LVL1__L1TriggerTowerTool
             L1TriggerTowerTool = LVL1__L1TriggerTowerTool("L1TriggerTowerTool")
-            # ToolSvc += L1TriggerTowerTool
-            L1CaloMan.AthenaMonTools += [L1TriggerTowerTool]
+            ToolSvc += L1TriggerTowerTool
             from TrigT1CaloCondSvc.TrigT1CaloCondSvcConf import L1CaloCondSvc
             ServiceMgr += L1CaloCondSvc()
             from IOVDbSvc.CondDB import conddb
-- 
GitLab


From 4b99aef2f9cc564b8d41d397aab3e6820f4d741c Mon Sep 17 00:00:00 2001
From: Ian Connelly <ian.connelly@cern.ch>
Date: Mon, 21 Jan 2019 15:21:31 +0000
Subject: [PATCH 034/192] adding a new ctest and moving issues relating to the
 cache creator into the new test which we can use to verify that things don't
 change with old or new setups

---
 .../python/MuonBytestreamDecodeConfig.py      |    6 +-
 .../MuonConfig/python/MuonRdoDecodeConfig.py  |   10 +-
 .../MuonConfig/share/MuonDataDecodeTest.ref   |  719 +---
 .../share/MuonDataDecodeTest_Cache.ref        | 3259 +++++++++++++++++
 4 files changed, 3395 insertions(+), 599 deletions(-)
 create mode 100644 MuonSpectrometer/MuonConfig/share/MuonDataDecodeTest_Cache.ref

diff --git a/MuonSpectrometer/MuonConfig/python/MuonBytestreamDecodeConfig.py b/MuonSpectrometer/MuonConfig/python/MuonBytestreamDecodeConfig.py
index bd0428cd172d..06fc84cb37bc 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonBytestreamDecodeConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonBytestreamDecodeConfig.py
@@ -121,8 +121,7 @@ def MdtBytestreamDecodeCfg(flags, forTrigger=False):
     # Setup the RAW data provider tool
     from MuonMDT_CnvTools.MuonMDT_CnvToolsConf import Muon__MDT_RawDataProviderTool
     MuonMdtRawDataProviderTool = Muon__MDT_RawDataProviderTool(name    = "MDT_RawDataProviderTool",
-                                                               Decoder = MDTRodDecoder,
-                                                               OutputLevel = VERBOSE)
+                                                               Decoder = MDTRodDecoder)
     if forTrigger:
         MuonMdtRawDataProviderTool.CsmContainerCacheKey = "MdtCsmCache"
 
@@ -158,8 +157,7 @@ def CscBytestreamDecodeCfg(flags, forTrigger=False):
     # Setup the RAW data provider tool
     from MuonCSC_CnvTools.MuonCSC_CnvToolsConf import Muon__CSC_RawDataProviderTool
     MuonCscRawDataProviderTool = Muon__CSC_RawDataProviderTool(name    = "CSC_RawDataProviderTool",
-                                                               Decoder = CSCRodDecoder,
-                                                               OutputLevel = VERBOSE)
+                                                               Decoder = CSCRodDecoder)
     if forTrigger:
         MuonCscRawDataProviderTool.CscContainerCacheKey = "CscCache"
 
diff --git a/MuonSpectrometer/MuonConfig/python/MuonRdoDecodeConfig.py b/MuonSpectrometer/MuonConfig/python/MuonRdoDecodeConfig.py
index b9dbefe7a6a4..30d457c49190 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonRdoDecodeConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonRdoDecodeConfig.py
@@ -2,7 +2,7 @@
 #  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 #
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from AthenaCommon.Constants import DEBUG, INFO
+from AthenaCommon.Constants import VERBOSE, DEBUG, INFO
 
 ## This configuration function sets up everything for decoding RPC RDO to PRD conversion
 #
@@ -194,12 +194,18 @@ def muonRdoDecodeTestData( forTrigger = False ):
     cfg.addEventAlgo( tgcdecodingAlg )
 
     from MuonConfig.MuonBytestreamDecodeConfig import MdtBytestreamDecodeCfg
-    mdtdecodingAcc, mdtdecodingAlg = MdtBytestreamDecodeCfg( ConfigFlags, forTrigger )    
+    mdtdecodingAcc, mdtdecodingAlg = MdtBytestreamDecodeCfg( ConfigFlags, forTrigger )
+    # Put into a verbose logging mode to check the caching
+    if forTrigger:
+        mdtdecodingAlg.ProviderTool.OutputLevel = VERBOSE    
     cfg.merge( mdtdecodingAcc )
     cfg.addEventAlgo( mdtdecodingAlg )
 
     from MuonConfig.MuonBytestreamDecodeConfig import CscBytestreamDecodeCfg
     cscdecodingAcc, cscdecodingAlg = CscBytestreamDecodeCfg( ConfigFlags, forTrigger ) 
+    # Put into a verbose logging mode to check the caching
+    if forTrigger:
+        cscdecodingAlg.ProviderTool.OutputLevel = VERBOSE 
     cfg.merge( cscdecodingAcc )
     cfg.addEventAlgo( cscdecodingAlg )
 
diff --git a/MuonSpectrometer/MuonConfig/share/MuonDataDecodeTest.ref b/MuonSpectrometer/MuonConfig/share/MuonDataDecodeTest.ref
index d83162b1d46d..b9a28dde4c45 100644
--- a/MuonSpectrometer/MuonConfig/share/MuonDataDecodeTest.ref
+++ b/MuonSpectrometer/MuonConfig/share/MuonDataDecodeTest.ref
@@ -27,6 +27,8 @@ Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderS
 Py:ComponentAccumulator   DEBUG Adding component ByteStreamAttListMetadataSvc/ByteStreamAttListMetadataSvc to the job
 Py:ComponentAccumulator   DEBUG Adding component IOVDbMetaDataTool/IOVDbMetaDataTool to the job
 Py:ComponentAccumulator   DEBUG Adding component ByteStreamMetadataTool/ByteStreamMetadataTool to the job
+Py:ComponentAccumulator   DEBUG   Merging algorithm MuonCacheCreator to a sequence AthAlgSeq
+Py:Configurable     ERROR attempt to add a duplicate (AthAlgSeq.MuonCacheCreator) ... dupe ignored
 Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
 Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
 Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
@@ -96,7 +98,6 @@ Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the jo
 Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
 Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
-Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc.MuonDetectorTool
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component DetDescrCnvSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
@@ -188,7 +189,6 @@ Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the jo
 Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
 Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
-Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc.MuonDetectorTool
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component DetDescrCnvSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
@@ -198,7 +198,6 @@ Py:ComponentAccumulator   DEBUG Reconciled configuration of component ToolSvc.Mu
 Py:ComponentAccumulator   DEBUG Adding component ROBDataProviderSvc/ROBDataProviderSvc to the job
 Py:ComponentAccumulator   DEBUG Adding component Muon::TGC_RawDataProviderTool/TGC_RawDataProviderTool to the job
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondInputLoader
-Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc.MuonDetectorTool
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component DetDescrCnvSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
@@ -388,7 +387,6 @@ Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the jo
 Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
 Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
-Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc.MuonDetectorTool
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component DetDescrCnvSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
@@ -399,7 +397,6 @@ Py:ComponentAccumulator   DEBUG Adding component ROBDataProviderSvc/ROBDataProvi
 Py:ComponentAccumulator   DEBUG Adding component Muon::MDT_RawDataProviderTool/MDT_RawDataProviderTool to the job
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondInputLoader
 Py:ComponentAccumulator   DEBUG Adding component MuonMDT_CablingAlg/MuonMDT_CablingAlg to the job
-Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc.MuonDetectorTool
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component DetDescrCnvSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
@@ -467,7 +464,6 @@ Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the jo
 Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
 Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
-Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc.MuonDetectorTool
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component DetDescrCnvSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
@@ -476,7 +472,6 @@ Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProvi
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component ToolSvc.Muon::MuonIdHelperTool
 Py:ComponentAccumulator   DEBUG Adding component ROBDataProviderSvc/ROBDataProviderSvc to the job
 Py:ComponentAccumulator   DEBUG Adding component Muon::CSC_RawDataProviderTool/CSC_RawDataProviderTool to the job
-Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc.MuonDetectorTool
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component DetDescrCnvSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
@@ -555,7 +550,6 @@ Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the jo
 Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
 Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
-Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc.MuonDetectorTool
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component DetDescrCnvSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
@@ -564,7 +558,6 @@ Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProvi
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component ToolSvc.Muon::MuonIdHelperTool
 Py:ComponentAccumulator   DEBUG Adding component Muon::RpcRdoToPrepDataTool/RpcRdoToRpcPrepDataTool to the job
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondInputLoader
-Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc.MuonDetectorTool
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component DetDescrCnvSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
@@ -646,7 +639,6 @@ Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the jo
 Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
 Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
-Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc.MuonDetectorTool
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component DetDescrCnvSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
@@ -655,7 +647,6 @@ Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProvi
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component ToolSvc.Muon::MuonIdHelperTool
 Py:ComponentAccumulator   DEBUG Adding component Muon::TgcRdoToPrepDataTool/TgcRdoToTgcPrepDataTool to the job
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondInputLoader
-Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc.MuonDetectorTool
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component DetDescrCnvSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
@@ -829,7 +820,6 @@ Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the jo
 Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
 Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
-Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc.MuonDetectorTool
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component DetDescrCnvSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
@@ -839,7 +829,6 @@ Py:ComponentAccumulator   DEBUG Reconciled configuration of component ToolSvc.Mu
 Py:ComponentAccumulator   DEBUG Adding component Muon::MdtRdoToPrepDataTool/MdtRdoToMdtPrepDataTool to the job
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondInputLoader
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component MuonMDT_CablingAlg
-Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc.MuonDetectorTool
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component DetDescrCnvSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
@@ -1058,7 +1047,6 @@ Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the jo
 Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
 Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
-Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc.MuonDetectorTool
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component DetDescrCnvSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
@@ -1067,7 +1055,6 @@ Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProvi
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component ToolSvc.Muon::MuonIdHelperTool
 Py:ComponentAccumulator   DEBUG Adding component Muon::CscRdoToCscPrepDataTool/CscRdoToCscPrepDataTool to the job
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondInputLoader
-Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc.MuonDetectorTool
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component DetDescrCnvSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
@@ -1111,6 +1098,27 @@ Py:Athena            INFO Print Config
 |-Sequential                              = False
 |-StopOverride                            = False
 |-TimeOut                                 = 0.0
+|=/***** Algorithm MuonCacheCreator/MuonCacheCreator *************************************************
+| |-AuditAlgorithms                         = False
+| |-AuditBeginRun                           = False
+| |-AuditEndRun                             = False
+| |-AuditExecute                            = False
+| |-AuditFinalize                           = False
+| |-AuditInitialize                         = False
+| |-AuditReinitialize                       = False
+| |-AuditRestart                            = False
+| |-AuditStart                              = False
+| |-AuditStop                               = False
+| |-DisableViewWarning                      = False
+| |-Enable                                  = True
+| |-ErrorCounter                            = 0
+| |-ErrorMax                                = 1
+| |-FilterCircularDependencies              = True
+| |-IsIOBound                               = False
+| |-MonitorService                          = 'MonitorSvc'
+| |-OutputLevel                             = 0
+| |-RegisterForContextService               = False
+| \----- (End of Algorithm MuonCacheCreator/MuonCacheCreator) ----------------------------------------
 |=/***** Algorithm Muon::RpcRawDataProvider/RpcRawDataProvider ***************************************
 | |-AuditAlgorithms                         = False
 | |-AuditBeginRun                           = False
@@ -1238,6 +1246,7 @@ Py:Athena            INFO Print Config
 | | |-AuditTools                        = False
 | | |-CsmContainerCacheKey              = 'StoreGateSvc+'
 | | |-MonitorService                    = 'MonitorSvc'
+| | |-OutputLevel                       = 0
 | | |-RdoLocation                       = 'StoreGateSvc+MDTCSM'
 | | |-ReadKey                           = 'ConditionStore+MuonMDT_CablingMap'
 | | |=/***** Private AlgTool MdtROD_Decoder/MdtRawDataProvider.MDT_RawDataProviderTool.MdtROD_Decoder *****
@@ -1276,16 +1285,17 @@ Py:Athena            INFO Print Config
 | |                                            (default: 'Muon::CSC_RawDataProviderTool/CscRawDataProviderTool')
 | |-RegisterForContextService               = False
 | |=/***** Private AlgTool Muon::CSC_RawDataProviderTool/CscRawDataProvider.CSC_RawDataProviderTool *****
-| | |-AuditFinalize                  = False
-| | |-AuditInitialize                = False
-| | |-AuditReinitialize              = False
-| | |-AuditRestart                   = False
-| | |-AuditStart                     = False
-| | |-AuditStop                      = False
-| | |-AuditTools                     = False
-| | |-MonitorService                 = 'MonitorSvc'
-| | |-OutputLevel                    = 0
-| | |-RdoLocation                    = 'StoreGateSvc+CSCRDO'
+| | |-AuditFinalize                     = False
+| | |-AuditInitialize                   = False
+| | |-AuditReinitialize                 = False
+| | |-AuditRestart                      = False
+| | |-AuditStart                        = False
+| | |-AuditStop                         = False
+| | |-AuditTools                        = False
+| | |-CscContainerCacheKey              = 'StoreGateSvc+'
+| | |-MonitorService                    = 'MonitorSvc'
+| | |-OutputLevel                       = 0
+| | |-RdoLocation                       = 'StoreGateSvc+CSCRDO'
 | | |=/***** Private AlgTool Muon::CscROD_Decoder/CscRawDataProvider.CSC_RawDataProviderTool.CscROD_Decoder *****
 | | | |-AuditFinalize                  = False
 | | | |-AuditInitialize                = False
@@ -1499,16 +1509,17 @@ Py:Athena            INFO Print Config
 | | |-OutputLevel                      = 0
 | | |-RDOContainer                     = 'StoreGateSvc+CSCRDO'
 | | |=/***** Private AlgTool Muon::CSC_RawDataProviderTool/CscRdoToCscPrepData.CscRdoToCscPrepDataTool.CSC_RawDataProviderTool *****
-| | | |-AuditFinalize                  = False
-| | | |-AuditInitialize                = False
-| | | |-AuditReinitialize              = False
-| | | |-AuditRestart                   = False
-| | | |-AuditStart                     = False
-| | | |-AuditStop                      = False
-| | | |-AuditTools                     = False
-| | | |-MonitorService                 = 'MonitorSvc'
-| | | |-OutputLevel                    = 0
-| | | |-RdoLocation                    = 'StoreGateSvc+CSCRDO'
+| | | |-AuditFinalize                     = False
+| | | |-AuditInitialize                   = False
+| | | |-AuditReinitialize                 = False
+| | | |-AuditRestart                      = False
+| | | |-AuditStart                        = False
+| | | |-AuditStop                         = False
+| | | |-AuditTools                        = False
+| | | |-CscContainerCacheKey              = 'StoreGateSvc+'
+| | | |-MonitorService                    = 'MonitorSvc'
+| | | |-OutputLevel                       = 0
+| | | |-RdoLocation                       = 'StoreGateSvc+CSCRDO'
 | | | |=/***** Private AlgTool Muon::CscROD_Decoder/CscRdoToCscPrepData.CscRdoToCscPrepDataTool.CSC_RawDataProviderTool.CscROD_Decoder *****
 | | | | |-AuditFinalize                  = False
 | | | | |-AuditInitialize                = False
@@ -1621,7 +1632,6 @@ PoolSvc           WARNING Unable to locate catalog for apcfile:poolcond/PoolCat_
 PoolSvc              INFO POOL WriteCatalog is xmlcatalog_file:PoolFileCatalog.xml
 IOVDbSvc             INFO Opened read transaction for POOL PersistencySvc
 IOVDbSvc             INFO Only 5 POOL conditions files will be open at once
-IOVDbSvc             INFO Cache alignment will be done in 3 slices
 IOVDbSvc             INFO Global tag: CONDBR2-BLKPA-2018-13 set from joboptions
 IOVDbFolder          INFO Inputfile tag override disabled for /GLOBAL/BField/Maps
 IOVDbSvc             INFO Initialised with 8 connections and 19 folders
@@ -1913,18 +1923,12 @@ MuonTGC_CablingSvc   INFO for 1/12 sector initialize
 ToolSvc.TGCCabl...   INFO initialize
 TgcRawDataProvi...   INFO initialize() successful in TgcRawDataProvider.TGC_RawDataProviderTool
 MdtRawDataProvider   INFO MdtRawDataProvider::initialize
-MdtRawDataProvi...VERBOSE Starting init
-MdtRawDataProvi...VERBOSE Getting m_robDataProvider
 MdtRawDataProvi...   INFO Retrieved service ServiceHandle('ROBDataProviderSvc')
-MdtRawDataProvi...VERBOSE Getting MuonDetectorManager
-MdtRawDataProvi...VERBOSE Getting m_decoder
 MdtRawDataProvi...   INFO Processing configuration for layouts with BME chambers.
 MdtRawDataProvi...   INFO Processing configuration for layouts with BMG chambers.
 MdtRawDataProvi...   INFO Retrieved tool Decoder = PrivateToolHandle('MdtROD_Decoder/MdtROD_Decoder')
 MdtRawDataProvi...   INFO  Tool = MdtRawDataProvider.MDT_RawDataProviderTool is connected to JobOptionsSvc Service = JobOptionsSvc
-MdtRawDataProvi...  DEBUG Could not find TrigConf::HLTJobOptionsSvc
 MdtRawDataProvi...   INFO initialize() successful in MdtRawDataProvider.MDT_RawDataProviderTool
-MdtRawDataProvi...  DEBUG Adding private ToolHandle tool MdtRawDataProvider.MDT_RawDataProviderTool.MdtROD_Decoder (MdtROD_Decoder)
 CscRawDataProvi...   INFO Retrieved service ServiceHandle('ROBDataProviderSvc')
 CscRawDataProvi...   INFO  Tool = CscRawDataProvider.CSC_RawDataProviderTool is connected to JobOptionsSvc Service = JobOptionsSvc
 CscRawDataProvi...   INFO Retrieved tool Decoder = PrivateToolHandle('Muon::CscROD_Decoder/CscROD_Decoder')
@@ -2054,7 +2058,6 @@ phi high-pt    mu11  mu15   mu15
 
 
 RPCcabling           INFO CablingRPC---InitMaps from COOL: going to read configuration
-RPCcabling           INFO CablingRPC--->> RPC cabling map from COOL <<
 RPCcabling           INFO CablingRPC--- ReadConf: map has size 222202
 RPCcabling           INFO CablingRPC--- ReadConf: map n. of lines read is 924
 RPCcabling           INFO CablingRPC--- ReadConf: version is 5.0 Atlas R_07_03_RUN2ver104
@@ -2092,598 +2095,131 @@ AtlasFieldSvc        INFO Trying to read from DCS: [channel name, index, value]
 AtlasFieldSvc        INFO Trying to read from DCS: [channel name, index, value] Toroids_SCurrent , 4 , 20397.7
 AtlasFieldSvc        INFO Currents read from DCS: solenoid 7729.99 toroid 20399.9
 AtlasFieldSvc        INFO Initializing the field map (solenoidCurrent=7729.99 toroidCurrent=20399.9)
-AtlasFieldSvc        INFO reading the map from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/atlas/offline/ReleaseData/v20/MagneticFieldMaps/bfieldmap_7730_20400_14m.root
-AtlasFieldSvc        INFO Initialized the field map from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/atlas/offline/ReleaseData/v20/MagneticFieldMaps/bfieldmap_7730_20400_14m.root
 AthenaEventLoopMgr   INFO   ===>>>  start processing event #186525031, run #327265 0 events processed so far  <<<===
 IOVDbSvc             INFO Opening COOL connection for COOLONL_MDT/CONDBR2
 IOVDbFolder          INFO HVS tag CONDBR2-BLKPA-2018-13 resolved to MDTCablingMapSchema_BMG_01 for folder /MDT/CABLING/MAP_SCHEMA
 IOVDbFolder          INFO HVS tag CONDBR2-BLKPA-2018-13 resolved to MDTCablingMezzanineSchema_M5-RUN2 for folder /MDT/CABLING/MEZZANINE_SCHEMA
 IOVDbSvc             INFO Disconnecting from COOLONL_MDT/CONDBR2
 MuonMDT_CablingAlg   INFO Size of CondAttrListCollection  ( 'CondAttrListCollection' , 'ConditionStore+/MDT/CABLING/MEZZANINE_SCHEMA' )  readCdoMez->size()= 24
-MuonMDT_CablingAlg   INFO Range of input is {[0,l:0] - [INVALID]}
 MuonMDT_CablingAlg   INFO Size of CondAttrListCollection  ( 'CondAttrListCollection' , 'ConditionStore+/MDT/CABLING/MAP_SCHEMA' )  readCdoMap->size()= 2312
-MuonMDT_CablingAlg   INFO Range of input is {[327264,l:4294640031] - [327265,l:4294640030]}
-MuonMDT_CablingAlg   INFO recorded new MuonMDT_CablingMap with range {[327264,l:4294640031] - [327265,l:4294640030]} into Conditions Store
-MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
-MdtRawDataProvi...  DEBUG Created container
-MdtRawDataProvi...  DEBUG fillCollection: starting
-MdtRawDataProvi...  DEBUG **********Decoder dumping the words******** 
-MdtRawDataProvi...  DEBUG The size of this ROD-read is 
-MdtRawDataProvi...  DEBUG word 0 = 8003e994
-MdtRawDataProvi...  DEBUG word 1 = 81040007
-MdtRawDataProvi...  DEBUG word 2 = 18030370
-MdtRawDataProvi...  DEBUG word 3 = 890003ff
-MdtRawDataProvi...  DEBUG word 4 = a3994153
-MdtRawDataProvi...  DEBUG word 5 = 30a403c0
-MdtRawDataProvi...  DEBUG word 6 = 30a004ce
-MdtRawDataProvi...  DEBUG word 7 = 8a994005
-MdtRawDataProvi...  DEBUG word 8 = 8104000d
-MdtRawDataProvi...  DEBUG word 9 = 18030371
-MdtRawDataProvi...  DEBUG word 10 = 89000fff
-MdtRawDataProvi...  DEBUG word 11 = a2994153
-MdtRawDataProvi...  DEBUG word 12 = 306c0472
-MdtRawDataProvi...  DEBUG word 13 = 306804d5
-MdtRawDataProvi...  DEBUG word 14 = a3994153
-MdtRawDataProvi...  DEBUG word 15 = 20080000
-MdtRawDataProvi...  DEBUG word 16 = a4994153
-MdtRawDataProvi...  DEBUG word 17 = 301c0504
-MdtRawDataProvi...  DEBUG word 18 = 30180562
-MdtRawDataProvi...  DEBUG word 19 = 20000010
-MdtRawDataProvi...  DEBUG word 20 = 8a99400b
-MdtRawDataProvi...  DEBUG word 21 = 81040006
-MdtRawDataProvi...  DEBUG word 22 = 18030372
-MdtRawDataProvi...  DEBUG word 23 = 89003fff
-MdtRawDataProvi...  DEBUG word 24 = a6994153
-MdtRawDataProvi...  DEBUG word 25 = 20008000
-MdtRawDataProvi...  DEBUG word 26 = 8a994004
-MdtRawDataProvi...  DEBUG word 27 = 8104000f
-MdtRawDataProvi...  DEBUG word 28 = 18030373
-MdtRawDataProvi...  DEBUG word 29 = 89003fff
-MdtRawDataProvi...  DEBUG word 30 = a0994153
-MdtRawDataProvi...  DEBUG word 31 = 3034054a
-MdtRawDataProvi...  DEBUG word 32 = 303005c2
-MdtRawDataProvi...  DEBUG word 33 = a7994153
-MdtRawDataProvi...  DEBUG word 34 = 3084023a
-MdtRawDataProvi...  DEBUG word 35 = 3080029e
-MdtRawDataProvi...  DEBUG word 36 = a8994153
-MdtRawDataProvi...  DEBUG word 37 = 307c03f6
-MdtRawDataProvi...  DEBUG word 38 = 30ac03f8
-MdtRawDataProvi...  DEBUG word 39 = 307804c4
-MdtRawDataProvi...  DEBUG word 40 = 30a804cb
-MdtRawDataProvi...  DEBUG word 41 = 8a99400d
-MdtRawDataProvi...  DEBUG word 42 = 81040008
-MdtRawDataProvi...  DEBUG word 43 = 18030374
-MdtRawDataProvi...  DEBUG word 44 = 8903ffff
-MdtRawDataProvi...  DEBUG word 45 = af994153
-MdtRawDataProvi...  DEBUG word 46 = 302c05c7
-MdtRawDataProvi...  DEBUG word 47 = 30280664
-MdtRawDataProvi...  DEBUG word 48 = 305c0673
-MdtRawDataProvi...  DEBUG word 49 = 8a994006
-MdtRawDataProvi...  DEBUG word 50 = 81040031
-MdtRawDataProvi...  DEBUG word 51 = 18030375
-MdtRawDataProvi...  DEBUG word 52 = 8903ffff
-MdtRawDataProvi...  DEBUG word 53 = a0994153
-MdtRawDataProvi...  DEBUG word 54 = 3054055c
-MdtRawDataProvi...  DEBUG word 55 = 305005fb
-MdtRawDataProvi...  DEBUG word 56 = a2994153
-MdtRawDataProvi...  DEBUG word 57 = 20010000
-MdtRawDataProvi...  DEBUG word 58 = a8994153
-MdtRawDataProvi...  DEBUG word 59 = 306c034f
-MdtRawDataProvi...  DEBUG word 60 = 309c0349
-MdtRawDataProvi...  DEBUG word 61 = 308c0394
-MdtRawDataProvi...  DEBUG word 62 = 309803d9
-MdtRawDataProvi...  DEBUG word 63 = 304c03f8
-MdtRawDataProvi...  DEBUG word 64 = 30680422
-MdtRawDataProvi...  DEBUG word 65 = 30880439
-MdtRawDataProvi...  DEBUG word 66 = 30bc03f3
-MdtRawDataProvi...  DEBUG word 67 = 3048049a
-MdtRawDataProvi...  DEBUG word 68 = 30b80479
-MdtRawDataProvi...  DEBUG word 69 = 305c05e9
-MdtRawDataProvi...  DEBUG word 70 = 30580652
-MdtRawDataProvi...  DEBUG word 71 = af994153
-MdtRawDataProvi...  DEBUG word 72 = 30940521
-MdtRawDataProvi...  DEBUG word 73 = 30840583
-MdtRawDataProvi...  DEBUG word 74 = 308c0583
-MdtRawDataProvi...  DEBUG word 75 = 309c0585
-MdtRawDataProvi...  DEBUG word 76 = 308005e7
-MdtRawDataProvi...  DEBUG word 77 = 308805f5
-MdtRawDataProvi...  DEBUG word 78 = 3090061d
-MdtRawDataProvi...  DEBUG word 79 = 309805f1
-MdtRawDataProvi...  DEBUG word 80 = 30a40587
-MdtRawDataProvi...  DEBUG word 81 = 30ac0588
-MdtRawDataProvi...  DEBUG word 82 = 30b40589
-MdtRawDataProvi...  DEBUG word 83 = 30bc058d
-MdtRawDataProvi...  DEBUG word 84 = 30a005fc
-MdtRawDataProvi...  DEBUG word 85 = 30a805f2
-MdtRawDataProvi...  DEBUG word 86 = 30b005e7
-MdtRawDataProvi...  DEBUG word 87 = 30b805d8
-MdtRawDataProvi...  DEBUG word 88 = b0994153
-MdtRawDataProvi...  DEBUG word 89 = 306c0082
-MdtRawDataProvi...  DEBUG word 90 = 3068012b
-MdtRawDataProvi...  DEBUG word 91 = 303c01ed
-MdtRawDataProvi...  DEBUG word 92 = 30380250
-MdtRawDataProvi...  DEBUG word 93 = 306c0556
-MdtRawDataProvi...  DEBUG word 94 = 306805a3
-MdtRawDataProvi...  DEBUG word 95 = 20004000
-MdtRawDataProvi...  DEBUG word 96 = b1994153
-MdtRawDataProvi...  DEBUG word 97 = 20010000
-MdtRawDataProvi...  DEBUG word 98 = 8a99402f
-MdtRawDataProvi...  DEBUG word 99 = f0000064
-MdtRawDataProvi...  DEBUG Found the beginning of buffer 
-MdtRawDataProvi...  DEBUG Level 1 Id : 256404
-MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
-MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 0 csmId : 0
-MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
-MdtRawDataProvi...  DEBUG Name : 0
-MdtRawDataProvi...  DEBUG Eta  : 1
-MdtRawDataProvi...  DEBUG Phi  : 1
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 3
-MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
-MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 0 csmId : 1
-MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
-MdtRawDataProvi...  DEBUG Name : 0
-MdtRawDataProvi...  DEBUG Eta  : 2
-MdtRawDataProvi...  DEBUG Phi  : 1
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 2
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 3
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 4
-MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
-MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 0 csmId : 2
-MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
-MdtRawDataProvi...  DEBUG Name : 2
-MdtRawDataProvi...  DEBUG Eta  : 1
-MdtRawDataProvi...  DEBUG Phi  : 1
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 6
-MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
-MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 0 csmId : 3
-MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
-MdtRawDataProvi...  DEBUG Name : 2
-MdtRawDataProvi...  DEBUG Eta  : 2
-MdtRawDataProvi...  DEBUG Phi  : 1
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 0
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 7
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 8
-MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
-MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 0 csmId : 4
-MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
-MdtRawDataProvi...  DEBUG Name : 4
-MdtRawDataProvi...  DEBUG Eta  : 1
-MdtRawDataProvi...  DEBUG Phi  : 1
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 15
-MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
-MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 0 csmId : 5
-MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
-MdtRawDataProvi...  DEBUG Name : 4
-MdtRawDataProvi...  DEBUG Eta  : 2
-MdtRawDataProvi...  DEBUG Phi  : 1
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 0
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 2
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 8
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 15
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 16
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 17
-MdtRawDataProvi...  DEBUG fillCollection: starting
-MdtRawDataProvi...  DEBUG **********Decoder dumping the words******** 
-MdtRawDataProvi...  DEBUG The size of this ROD-read is 
-MdtRawDataProvi...  DEBUG word 0 = 8003e994
-MdtRawDataProvi...  DEBUG word 1 = 81040004
-MdtRawDataProvi...  DEBUG word 2 = 18030210
-MdtRawDataProvi...  DEBUG word 3 = 890003ff
-MdtRawDataProvi...  DEBUG word 4 = 8a994002
-MdtRawDataProvi...  DEBUG word 5 = 81040014
-MdtRawDataProvi...  DEBUG word 6 = 18030211
-MdtRawDataProvi...  DEBUG word 7 = 89000fff
-MdtRawDataProvi...  DEBUG word 8 = a1994153
-MdtRawDataProvi...  DEBUG word 9 = 20000500
-MdtRawDataProvi...  DEBUG word 10 = a3994153
-MdtRawDataProvi...  DEBUG word 11 = 20000028
-MdtRawDataProvi...  DEBUG word 12 = aa994153
-MdtRawDataProvi...  DEBUG word 13 = 303c0116
-MdtRawDataProvi...  DEBUG word 14 = 3038016f
-MdtRawDataProvi...  DEBUG word 15 = 308c0202
-MdtRawDataProvi...  DEBUG word 16 = 3088026b
-MdtRawDataProvi...  DEBUG word 17 = 20100000
-MdtRawDataProvi...  DEBUG word 18 = ab994153
-MdtRawDataProvi...  DEBUG word 19 = 3074012d
-MdtRawDataProvi...  DEBUG word 20 = 30700187
-MdtRawDataProvi...  DEBUG word 21 = 3084015b
-MdtRawDataProvi...  DEBUG word 22 = 308001ca
-MdtRawDataProvi...  DEBUG word 23 = 20140150
-MdtRawDataProvi...  DEBUG word 24 = 8a994012
-MdtRawDataProvi...  DEBUG word 25 = 81040007
-MdtRawDataProvi...  DEBUG word 26 = 18030212
-MdtRawDataProvi...  DEBUG word 27 = 89003fff
-MdtRawDataProvi...  DEBUG word 28 = a3994153
-MdtRawDataProvi...  DEBUG word 29 = 307c0071
-MdtRawDataProvi...  DEBUG word 30 = 30780094
-MdtRawDataProvi...  DEBUG word 31 = 8a994005
-MdtRawDataProvi...  DEBUG word 32 = 81040014
-MdtRawDataProvi...  DEBUG word 33 = 18030213
-MdtRawDataProvi...  DEBUG word 34 = 89003fff
-MdtRawDataProvi...  DEBUG word 35 = a3994153
-MdtRawDataProvi...  DEBUG word 36 = 30b401cb
-MdtRawDataProvi...  DEBUG word 37 = 30bc0213
-MdtRawDataProvi...  DEBUG word 38 = 30b00256
-MdtRawDataProvi...  DEBUG word 39 = 30b802c7
-MdtRawDataProvi...  DEBUG word 40 = 307c032d
-MdtRawDataProvi...  DEBUG word 41 = 30840397
-MdtRawDataProvi...  DEBUG word 42 = 307803e7
-MdtRawDataProvi...  DEBUG word 43 = 308003f1
-MdtRawDataProvi...  DEBUG word 44 = a6994153
-MdtRawDataProvi...  DEBUG word 45 = 30b40533
-MdtRawDataProvi...  DEBUG word 46 = 30740552
-MdtRawDataProvi...  DEBUG word 47 = 30a40588
-MdtRawDataProvi...  DEBUG word 48 = 307005cb
-MdtRawDataProvi...  DEBUG word 49 = 30a00611
-MdtRawDataProvi...  DEBUG word 50 = 30b0063b
-MdtRawDataProvi...  DEBUG word 51 = 8a994012
-MdtRawDataProvi...  DEBUG word 52 = 8104001c
-MdtRawDataProvi...  DEBUG word 53 = 18030214
-MdtRawDataProvi...  DEBUG word 54 = 8903ffff
-MdtRawDataProvi...  DEBUG word 55 = a2994153
-MdtRawDataProvi...  DEBUG word 56 = 30b0002f
-MdtRawDataProvi...  DEBUG word 57 = 3084019b
-MdtRawDataProvi...  DEBUG word 58 = 30800237
-MdtRawDataProvi...  DEBUG word 59 = 20540100
-MdtRawDataProvi...  DEBUG word 60 = a4994153
-MdtRawDataProvi...  DEBUG word 61 = 306c019f
-MdtRawDataProvi...  DEBUG word 62 = 30680214
-MdtRawDataProvi...  DEBUG word 63 = 30140429
-MdtRawDataProvi...  DEBUG word 64 = 30100474
-MdtRawDataProvi...  DEBUG word 65 = 20000ad4
-MdtRawDataProvi...  DEBUG word 66 = a5994153
-MdtRawDataProvi...  DEBUG word 67 = 30bc0362
-MdtRawDataProvi...  DEBUG word 68 = 30b80481
-MdtRawDataProvi...  DEBUG word 69 = a6994153
-MdtRawDataProvi...  DEBUG word 70 = 20004000
-MdtRawDataProvi...  DEBUG word 71 = a8994153
-MdtRawDataProvi...  DEBUG word 72 = 20000820
-MdtRawDataProvi...  DEBUG word 73 = aa994153
-MdtRawDataProvi...  DEBUG word 74 = 20000002
-MdtRawDataProvi...  DEBUG word 75 = ae994153
-MdtRawDataProvi...  DEBUG word 76 = 20000080
-MdtRawDataProvi...  DEBUG word 77 = b0994153
-MdtRawDataProvi...  DEBUG word 78 = 20000200
-MdtRawDataProvi...  DEBUG word 79 = 8a99401a
-MdtRawDataProvi...  DEBUG word 80 = 81040025
-MdtRawDataProvi...  DEBUG word 81 = 18030215
-MdtRawDataProvi...  DEBUG word 82 = 8903ffff
-MdtRawDataProvi...  DEBUG word 83 = a5994153
-MdtRawDataProvi...  DEBUG word 84 = 304c054e
-MdtRawDataProvi...  DEBUG word 85 = 304805fd
-MdtRawDataProvi...  DEBUG word 86 = a6994153
-MdtRawDataProvi...  DEBUG word 87 = 20000040
-MdtRawDataProvi...  DEBUG word 88 = a8994153
-MdtRawDataProvi...  DEBUG word 89 = 306c0098
-MdtRawDataProvi...  DEBUG word 90 = 30bc0093
-MdtRawDataProvi...  DEBUG word 91 = 308400fd
-MdtRawDataProvi...  DEBUG word 92 = 308c00fe
-MdtRawDataProvi...  DEBUG word 93 = 309400fb
-MdtRawDataProvi...  DEBUG word 94 = 309c00fd
-MdtRawDataProvi...  DEBUG word 95 = 30a400f9
-MdtRawDataProvi...  DEBUG word 96 = 30ac00fc
-MdtRawDataProvi...  DEBUG word 97 = 30b400f9
-MdtRawDataProvi...  DEBUG word 98 = 302c0185
-MdtRawDataProvi...  DEBUG word 99 = 306801a0
-MdtRawDataProvi...  DEBUG word 100 = 30800148
-MdtRawDataProvi...  DEBUG word 101 = 30880147
-MdtRawDataProvi...  DEBUG word 102 = 30900149
-MdtRawDataProvi...  DEBUG word 103 = 30980168
-MdtRawDataProvi...  DEBUG word 104 = 30a00169
-MdtRawDataProvi...  DEBUG word 105 = 30a80163
-MdtRawDataProvi...  DEBUG word 106 = 30b00161
-MdtRawDataProvi...  DEBUG word 107 = 30b801a3
-MdtRawDataProvi...  DEBUG word 108 = 30280271
-MdtRawDataProvi...  DEBUG word 109 = a9994153
-MdtRawDataProvi...  DEBUG word 110 = 301c00b6
-MdtRawDataProvi...  DEBUG word 111 = 309c00d1
-MdtRawDataProvi...  DEBUG word 112 = 301801bc
-MdtRawDataProvi...  DEBUG word 113 = 309801b9
-MdtRawDataProvi...  DEBUG word 114 = 305c01f8
-MdtRawDataProvi...  DEBUG word 115 = 305802ec
-MdtRawDataProvi...  DEBUG word 116 = 8a994023
-MdtRawDataProvi...  DEBUG word 117 = f0000076
-MdtRawDataProvi...  DEBUG Found the beginning of buffer 
-MdtRawDataProvi...  DEBUG Level 1 Id : 256404
-MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
-MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 1 csmId : 0
-MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
-MdtRawDataProvi...  DEBUG Name : 0
-MdtRawDataProvi...  DEBUG Eta  : 1
-MdtRawDataProvi...  DEBUG Phi  : 2
-MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
-MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 1 csmId : 1
-MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
-MdtRawDataProvi...  DEBUG Name : 0
-MdtRawDataProvi...  DEBUG Eta  : 2
-MdtRawDataProvi...  DEBUG Phi  : 2
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 1
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 3
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 10
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 11
-MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
-MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 1 csmId : 2
-MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
-MdtRawDataProvi...  DEBUG Name : 2
-MdtRawDataProvi...  DEBUG Eta  : 1
-MdtRawDataProvi...  DEBUG Phi  : 2
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 3
-MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
-MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 1 csmId : 3
-MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
-MdtRawDataProvi...  DEBUG Name : 2
-MdtRawDataProvi...  DEBUG Eta  : 2
-MdtRawDataProvi...  DEBUG Phi  : 2
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 3
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 6
-MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
-MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 1 csmId : 4
-MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
-MdtRawDataProvi...  DEBUG Name : 4
-MdtRawDataProvi...  DEBUG Eta  : 1
-MdtRawDataProvi...  DEBUG Phi  : 2
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 2
-MdtRawDataProvi...  DEBUG Error: corresponding leading edge not found for the trailing edge tdc: 2 chan: 22
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 4
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 5
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 6
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 8
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 10
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 14
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 16
-MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
-MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 1 csmId : 5
-MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
-MdtRawDataProvi...  DEBUG Name : 4
-MdtRawDataProvi...  DEBUG Eta  : 2
-MdtRawDataProvi...  DEBUG Phi  : 2
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 5
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 6
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 8
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 9
-MdtRawDataProvi...  DEBUG fillCollection: starting
-MdtRawDataProvi...  DEBUG **********Decoder dumping the words******** 
-MdtRawDataProvi...  DEBUG The size of this ROD-read is 
-MdtRawDataProvi...  DEBUG word 0 = 8003e994
-MdtRawDataProvi...  DEBUG word 1 = 81040004
-MdtRawDataProvi...  DEBUG word 2 = 180300d0
-MdtRawDataProvi...  DEBUG word 3 = 890003ff
-MdtRawDataProvi...  DEBUG word 4 = 8a994002
-MdtRawDataProvi...  DEBUG word 5 = 81040004
-MdtRawDataProvi...  DEBUG word 6 = 180300d1
-MdtRawDataProvi...  DEBUG word 7 = 89000fff
-MdtRawDataProvi...  DEBUG word 8 = 8a994002
-MdtRawDataProvi...  DEBUG word 9 = 8104000e
-MdtRawDataProvi...  DEBUG word 10 = 180300d2
-MdtRawDataProvi...  DEBUG word 11 = 89000fff
-MdtRawDataProvi...  DEBUG word 12 = a0994153
-MdtRawDataProvi...  DEBUG word 13 = 30a00056
-MdtRawDataProvi...  DEBUG word 14 = 20105050
-MdtRawDataProvi...  DEBUG word 15 = a1994153
-MdtRawDataProvi...  DEBUG word 16 = 30b40578
-MdtRawDataProvi...  DEBUG word 17 = 30b0060a
-MdtRawDataProvi...  DEBUG word 18 = a8994153
-MdtRawDataProvi...  DEBUG word 19 = 20000400
-MdtRawDataProvi...  DEBUG word 20 = a9994153
-MdtRawDataProvi...  DEBUG word 21 = 307c067b
-MdtRawDataProvi...  DEBUG word 22 = 8a99400c
-MdtRawDataProvi...  DEBUG word 23 = 81040011
-MdtRawDataProvi...  DEBUG word 24 = 180300d3
-MdtRawDataProvi...  DEBUG word 25 = 89003fff
-MdtRawDataProvi...  DEBUG word 26 = a5994153
-MdtRawDataProvi...  DEBUG word 27 = 308c0359
-MdtRawDataProvi...  DEBUG word 28 = 30880397
-MdtRawDataProvi...  DEBUG word 29 = 20020000
-MdtRawDataProvi...  DEBUG word 30 = a7994153
-MdtRawDataProvi...  DEBUG word 31 = 30600040
-MdtRawDataProvi...  DEBUG word 32 = 20001000
-MdtRawDataProvi...  DEBUG word 33 = a8994153
-MdtRawDataProvi...  DEBUG word 34 = 302403a8
-MdtRawDataProvi...  DEBUG word 35 = 3020040f
-MdtRawDataProvi...  DEBUG word 36 = a9994153
-MdtRawDataProvi...  DEBUG word 37 = 309c0635
-MdtRawDataProvi...  DEBUG word 38 = 308c0671
-MdtRawDataProvi...  DEBUG word 39 = 8a99400f
-MdtRawDataProvi...  DEBUG word 40 = 81040017
-MdtRawDataProvi...  DEBUG word 41 = 180300d4
-MdtRawDataProvi...  DEBUG word 42 = 8900ffff
-MdtRawDataProvi...  DEBUG word 43 = a1994153
-MdtRawDataProvi...  DEBUG word 44 = 304c0488
-MdtRawDataProvi...  DEBUG word 45 = 308c0498
-MdtRawDataProvi...  DEBUG word 46 = 302c0500
-MdtRawDataProvi...  DEBUG word 47 = 30280581
-MdtRawDataProvi...  DEBUG word 48 = 3048052d
-MdtRawDataProvi...  DEBUG word 49 = 3088056a
-MdtRawDataProvi...  DEBUG word 50 = 301c05a2
-MdtRawDataProvi...  DEBUG word 51 = 30180610
-MdtRawDataProvi...  DEBUG word 52 = 309c0646
-MdtRawDataProvi...  DEBUG word 53 = a4994153
-MdtRawDataProvi...  DEBUG word 54 = 30640517
-MdtRawDataProvi...  DEBUG word 55 = 306005a2
-MdtRawDataProvi...  DEBUG word 56 = 302405e1
-MdtRawDataProvi...  DEBUG word 57 = 30200624
-MdtRawDataProvi...  DEBUG word 58 = a9994153
-MdtRawDataProvi...  DEBUG word 59 = 200000a0
-MdtRawDataProvi...  DEBUG word 60 = ab994153
-MdtRawDataProvi...  DEBUG word 61 = 20041100
-MdtRawDataProvi...  DEBUG word 62 = 8a994015
-MdtRawDataProvi...  DEBUG word 63 = 8104001c
-MdtRawDataProvi...  DEBUG word 64 = 180300d5
-MdtRawDataProvi...  DEBUG word 65 = 8903ffff
-MdtRawDataProvi...  DEBUG word 66 = a0994153
-MdtRawDataProvi...  DEBUG word 67 = 3014000e
-MdtRawDataProvi...  DEBUG word 68 = 30100032
-MdtRawDataProvi...  DEBUG word 69 = 30940069
-MdtRawDataProvi...  DEBUG word 70 = 3090008d
-MdtRawDataProvi...  DEBUG word 71 = 20000400
-MdtRawDataProvi...  DEBUG word 72 = a1994153
-MdtRawDataProvi...  DEBUG word 73 = 3070001a
-MdtRawDataProvi...  DEBUG word 74 = 30040377
-MdtRawDataProvi...  DEBUG word 75 = 30000398
-MdtRawDataProvi...  DEBUG word 76 = 20014001
-MdtRawDataProvi...  DEBUG word 77 = a2994153
-MdtRawDataProvi...  DEBUG word 78 = 20000020
-MdtRawDataProvi...  DEBUG word 79 = a3994153
-MdtRawDataProvi...  DEBUG word 80 = 20000040
-MdtRawDataProvi...  DEBUG word 81 = a9994153
-MdtRawDataProvi...  DEBUG word 82 = 30a40400
-MdtRawDataProvi...  DEBUG word 83 = 30a00424
-MdtRawDataProvi...  DEBUG word 84 = aa994153
-MdtRawDataProvi...  DEBUG word 85 = 20008000
-MdtRawDataProvi...  DEBUG word 86 = ab994153
-MdtRawDataProvi...  DEBUG word 87 = 20080000
-MdtRawDataProvi...  DEBUG word 88 = b0994153
-MdtRawDataProvi...  DEBUG word 89 = 20080000
-MdtRawDataProvi...  DEBUG word 90 = 8a99401a
-MdtRawDataProvi...  DEBUG word 91 = f000005c
-MdtRawDataProvi...  DEBUG Found the beginning of buffer 
-MdtRawDataProvi...  DEBUG Level 1 Id : 256404
-MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
-MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 2 csmId : 0
-MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
-MdtRawDataProvi...  DEBUG Name : 0
-MdtRawDataProvi...  DEBUG Eta  : 1
-MdtRawDataProvi...  DEBUG Phi  : 3
-MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
-MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 2 csmId : 1
-MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
-MdtRawDataProvi...  DEBUG Name : 0
-MdtRawDataProvi...  DEBUG Eta  : 2
-MdtRawDataProvi...  DEBUG Phi  : 3
-MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
-MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 2 csmId : 2
-MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
-MdtRawDataProvi...  DEBUG Name : 2
-MdtRawDataProvi...  DEBUG Eta  : 1
-MdtRawDataProvi...  DEBUG Phi  : 3
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 0
-MdtRawDataProvi...  DEBUG Error: corresponding leading edge not found for the trailing edge tdc: 0 chan: 20
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 1
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 8
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 9
-MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
-MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 2 csmId : 3
-MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
-MdtRawDataProvi...  DEBUG Name : 2
-MdtRawDataProvi...  DEBUG Eta  : 2
-MdtRawDataProvi...  DEBUG Phi  : 3
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 5
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 7
-MdtRawDataProvi...  DEBUG Error: corresponding leading edge not found for the trailing edge tdc: 7 chan: 12
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 8
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 9
-MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
-MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 2 csmId : 4
-MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
-MdtRawDataProvi...  DEBUG Name : 4
-MdtRawDataProvi...  DEBUG Eta  : 1
-MdtRawDataProvi...  DEBUG Phi  : 3
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 1
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 4
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 9
-MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 11
-MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
-MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 2 csmId : 5
-MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
-MdtRawDataProvi...  DEBUG Name : 4
-MdtRawDataProvi...  DEBUG Eta  : 2
-MdtRawDataProvi...WARNING DEBUG message limit (500) reached for MdtRawDataProvider.MDT_RawDataProviderTool.MdtROD_Decoder. Suppressing further output.
-MdtRawDataProvi...  DEBUG After processing numColls=1136
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
 AthenaEventLoopMgr   INFO   ===>>>  done processing event #186525031, run #327265 1 events processed so far  <<<===
 AthenaEventLoopMgr   INFO   ===>>>  start processing event #186524665, run #327265 1 events processed so far  <<<===
-MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
-MdtRawDataProvi...  DEBUG Created container
-MdtRawDataProvi...  DEBUG After processing numColls=1136
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
 AthenaEventLoopMgr   INFO   ===>>>  done processing event #186524665, run #327265 2 events processed so far  <<<===
 AthenaEventLoopMgr   INFO   ===>>>  start processing event #186542447, run #327265 2 events processed so far  <<<===
-MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
-MdtRawDataProvi...  DEBUG Created container
-MdtRawDataProvi...  DEBUG After processing numColls=1136
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
 AthenaEventLoopMgr   INFO   ===>>>  done processing event #186542447, run #327265 3 events processed so far  <<<===
 AthenaEventLoopMgr   INFO   ===>>>  start processing event #186543405, run #327265 3 events processed so far  <<<===
-MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
-MdtRawDataProvi...  DEBUG Created container
-MdtRawDataProvi...  DEBUG After processing numColls=1136
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
 AthenaEventLoopMgr   INFO   ===>>>  done processing event #186543405, run #327265 4 events processed so far  <<<===
 AthenaEventLoopMgr   INFO   ===>>>  start processing event #186548387, run #327265 4 events processed so far  <<<===
-MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
-MdtRawDataProvi...  DEBUG Created container
-MdtRawDataProvi...  DEBUG After processing numColls=1136
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
 AthenaEventLoopMgr   INFO   ===>>>  done processing event #186548387, run #327265 5 events processed so far  <<<===
 AthenaEventLoopMgr   INFO   ===>>>  start processing event #186515186, run #327265 5 events processed so far  <<<===
-MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
-MdtRawDataProvi...  DEBUG Created container
-MdtRawDataProvi...  DEBUG After processing numColls=1136
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
 AthenaEventLoopMgr   INFO   ===>>>  done processing event #186515186, run #327265 6 events processed so far  <<<===
 AthenaEventLoopMgr   INFO   ===>>>  start processing event #186556019, run #327265 6 events processed so far  <<<===
-MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
-MdtRawDataProvi...  DEBUG Created container
-MdtRawDataProvi...  DEBUG After processing numColls=1136
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
 AthenaEventLoopMgr   INFO   ===>>>  done processing event #186556019, run #327265 7 events processed so far  <<<===
 AthenaEventLoopMgr   INFO   ===>>>  start processing event #186542866, run #327265 7 events processed so far  <<<===
-MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
-MdtRawDataProvi...  DEBUG Created container
-MdtRawDataProvi...  DEBUG After processing numColls=1136
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
 AthenaEventLoopMgr   INFO   ===>>>  done processing event #186542866, run #327265 8 events processed so far  <<<===
 AthenaEventLoopMgr   INFO   ===>>>  start processing event #186537901, run #327265 8 events processed so far  <<<===
-MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
-MdtRawDataProvi...  DEBUG Created container
-MdtRawDataProvi...  DEBUG After processing numColls=1136
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
 AthenaEventLoopMgr   INFO   ===>>>  done processing event #186537901, run #327265 9 events processed so far  <<<===
 AthenaEventLoopMgr   INFO   ===>>>  start processing event #186517811, run #327265 9 events processed so far  <<<===
-MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
-MdtRawDataProvi...  DEBUG Created container
-MdtRawDataProvi...  DEBUG After processing numColls=1136
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
 AthenaEventLoopMgr   INFO   ===>>>  done processing event #186517811, run #327265 10 events processed so far  <<<===
 AthenaEventLoopMgr   INFO   ===>>>  start processing event #186534221, run #327265 10 events processed so far  <<<===
-MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
-MdtRawDataProvi...  DEBUG Created container
-MdtRawDataProvi...  DEBUG After processing numColls=1136
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
 AthenaEventLoopMgr   INFO   ===>>>  done processing event #186534221, run #327265 11 events processed so far  <<<===
 AthenaEventLoopMgr   INFO   ===>>>  start processing event #186540986, run #327265 11 events processed so far  <<<===
-MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
-MdtRawDataProvi...  DEBUG Created container
-MdtRawDataProvi...  DEBUG After processing numColls=1136
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
 AthenaEventLoopMgr   INFO   ===>>>  done processing event #186540986, run #327265 12 events processed so far  <<<===
 AthenaEventLoopMgr   INFO   ===>>>  start processing event #186535104, run #327265 12 events processed so far  <<<===
-MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
-MdtRawDataProvi...  DEBUG Created container
-MdtRawDataProvi...  DEBUG After processing numColls=1136
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
 AthenaEventLoopMgr   INFO   ===>>>  done processing event #186535104, run #327265 13 events processed so far  <<<===
 AthenaEventLoopMgr   INFO   ===>>>  start processing event #186539903, run #327265 13 events processed so far  <<<===
-MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
-MdtRawDataProvi...  DEBUG Created container
-MdtRawDataProvi...  DEBUG After processing numColls=1136
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
 AthenaEventLoopMgr   INFO   ===>>>  done processing event #186539903, run #327265 14 events processed so far  <<<===
 AthenaEventLoopMgr   INFO   ===>>>  start processing event #186552713, run #327265 14 events processed so far  <<<===
-MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
-MdtRawDataProvi...  DEBUG Created container
-MdtRawDataProvi...  DEBUG After processing numColls=1136
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
 AthenaEventLoopMgr   INFO   ===>>>  done processing event #186552713, run #327265 15 events processed so far  <<<===
 AthenaEventLoopMgr   INFO   ===>>>  start processing event #186524730, run #327265 15 events processed so far  <<<===
-MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
-MdtRawDataProvi...  DEBUG Created container
-MdtRawDataProvi...  DEBUG After processing numColls=1136
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
 AthenaEventLoopMgr   INFO   ===>>>  done processing event #186524730, run #327265 16 events processed so far  <<<===
 AthenaEventLoopMgr   INFO   ===>>>  start processing event #186547632, run #327265 16 events processed so far  <<<===
-MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
-MdtRawDataProvi...  DEBUG Created container
-MdtRawDataProvi...  DEBUG After processing numColls=1136
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
 AthenaEventLoopMgr   INFO   ===>>>  done processing event #186547632, run #327265 17 events processed so far  <<<===
 AthenaEventLoopMgr   INFO   ===>>>  start processing event #186555621, run #327265 17 events processed so far  <<<===
-MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
-MdtRawDataProvi...  DEBUG Created container
-MdtRawDataProvi...  DEBUG After processing numColls=1136
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
 AthenaEventLoopMgr   INFO   ===>>>  done processing event #186555621, run #327265 18 events processed so far  <<<===
 AthenaEventLoopMgr   INFO   ===>>>  start processing event #186568452, run #327265 18 events processed so far  <<<===
-MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
-MdtRawDataProvi...  DEBUG Created container
-MdtRawDataProvi...  DEBUG After processing numColls=1136
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
 AthenaEventLoopMgr   INFO   ===>>>  done processing event #186568452, run #327265 19 events processed so far  <<<===
 AthenaEventLoopMgr   INFO   ===>>>  start processing event #186580451, run #327265 19 events processed so far  <<<===
-MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
-MdtRawDataProvi...  DEBUG Created container
-MdtRawDataProvi...  DEBUG After processing numColls=1136
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
 AthenaEventLoopMgr   INFO   ===>>>  done processing event #186580451, run #327265 20 events processed so far  <<<===
 Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
 ApplicationMgr       INFO Application Manager Stopped successfully
@@ -2718,7 +2254,4 @@ ToolSvc.TGCCabl...   INFO finalize
 ChronoStatSvc.f...   INFO  Service finalized successfully 
 ApplicationMgr       INFO Application Manager Finalized successfully
 ApplicationMgr       INFO Application Manager Terminated successfully
-Listing sources of suppressed message: 
- Message Source              |   Level |    Count
- MdtRawDataProvider.MDT_RawDataProviderTool.MdtROD_Decoder|   DEBUG |   854603
 Py:Athena            INFO leaving with code 0: "successful run"
diff --git a/MuonSpectrometer/MuonConfig/share/MuonDataDecodeTest_Cache.ref b/MuonSpectrometer/MuonConfig/share/MuonDataDecodeTest_Cache.ref
new file mode 100644
index 000000000000..e832c7dcc385
--- /dev/null
+++ b/MuonSpectrometer/MuonConfig/share/MuonDataDecodeTest_Cache.ref
@@ -0,0 +1,3259 @@
+Flag Name                                : Value
+Py:Athena            INFO About to setup Rpc Raw data decoding
+Py:ComponentAccumulator   DEBUG Adding component EventSelectorByteStream/EventSelector to the job
+Py:ComponentAccumulator   DEBUG Adding component ByteStreamEventStorageInputSvc/ByteStreamInputSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ByteStreamCnvSvc/ByteStreamCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ROBDataProviderSvc/ROBDataProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ByteStreamAddressProviderSvc/ByteStreamAddressProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbMetaDataTool/IOVDbMetaDataTool to the job
+Py:ComponentAccumulator   DEBUG Adding component ByteStreamMetadataTool/ByteStreamMetadataTool to the job
+Py:ComponentAccumulator   DEBUG Adding component StoreGateSvc/MetaDataStore to the job
+Py:ComponentAccumulator   DEBUG Adding component StoreGateSvc/InputMetaDataStore to the job
+Py:ComponentAccumulator   DEBUG Adding component MetaDataSvc/MetaDataSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ByteStreamAttListMetadataSvc/ByteStreamAttListMetadataSvc to the job
+Py:Athena            INFO Obtaining metadata of auto-configuration by peeking into /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TrigP1Test/data17_13TeV.00327265.physics_EnhancedBias.merge.RAW._lb0100._SFO-1._0001.1
+Py:ComponentAccumulator   DEBUG Adding component EventSelectorByteStream/EventSelector to the job
+Py:ComponentAccumulator   DEBUG Adding component ByteStreamEventStorageInputSvc/ByteStreamInputSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ByteStreamCnvSvc/ByteStreamCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ROBDataProviderSvc/ROBDataProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ByteStreamAddressProviderSvc/ByteStreamAddressProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component StoreGateSvc/MetaDataStore to the job
+Py:ComponentAccumulator   DEBUG Adding component StoreGateSvc/InputMetaDataStore to the job
+Py:ComponentAccumulator   DEBUG Adding component MetaDataSvc/MetaDataSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ByteStreamAttListMetadataSvc/ByteStreamAttListMetadataSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbMetaDataTool/IOVDbMetaDataTool to the job
+Py:ComponentAccumulator   DEBUG Adding component ByteStreamMetadataTool/ByteStreamMetadataTool to the job
+Py:ComponentAccumulator   DEBUG   Merging algorithm MuonCacheCreator to a sequence AthAlgSeq
+Py:Configurable     ERROR attempt to add a duplicate (AthAlgSeq.MuonCacheCreator) ... dupe ignored
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
+Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
+Py:ComponentAccumulator   DEBUG Adding component RPCcablingServerSvc/RPCcablingServerSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component RPCCablingDbTool/RPCCablingDbTool to the job
+Py:ComponentAccumulator   DEBUG Adding component MuonRPC_CablingSvc/MuonRPC_CablingSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component RPCcablingServerSvc/RPCcablingServerSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component MuonRPC_CablingSvc/MuonRPC_CablingSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
+Py:ComponentAccumulator   DEBUG Adding component RPCCablingDbTool/RPCCablingDbTool to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
+Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DetDescrCnvSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ToolSvc.Muon::MuonIdHelperTool
+Py:ComponentAccumulator   DEBUG Adding component ROBDataProviderSvc/ROBDataProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component Muon::RPC_RawDataProviderTool/RPC_RawDataProviderTool to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Adding component RPCcablingServerSvc/RPCcablingServerSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component MuonRPC_CablingSvc/MuonRPC_CablingSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ROBDataProviderSvc
+Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
+Py:ComponentAccumulator   DEBUG Adding component RPCCablingDbTool/RPCCablingDbTool to the job
+Py:ComponentAccumulator   DEBUG Adding component Muon::RPC_RawDataProviderTool/RPC_RawDataProviderTool to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
+Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
+Py:ComponentAccumulator   DEBUG Adding component LVL1TGC::TGCRecRoiSvc/LVL1TGC::TGCRecRoiSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TGCcablingServerSvc/TGCcablingServerSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component LVL1TGC::TGCRecRoiSvc/LVL1TGC::TGCRecRoiSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TGCcablingServerSvc/TGCcablingServerSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
+Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DetDescrCnvSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ToolSvc.Muon::MuonIdHelperTool
+Py:ComponentAccumulator   DEBUG Adding component ROBDataProviderSvc/ROBDataProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component Muon::TGC_RawDataProviderTool/TGC_RawDataProviderTool to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondInputLoader
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DetDescrCnvSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Adding component LVL1TGC::TGCRecRoiSvc/LVL1TGC::TGCRecRoiSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TGCcablingServerSvc/TGCcablingServerSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component IOVDbSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component PoolSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DBReplicaSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ROBDataProviderSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ToolSvc.Muon::MuonIdHelperTool
+Py:ComponentAccumulator   DEBUG Adding component Muon::TGC_RawDataProviderTool/TGC_RawDataProviderTool to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
+Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component AthenaPoolCnvSvc/AthenaPoolCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component AthenaPoolCnvSvc/AthenaPoolCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Adding component MuonMDT_CablingAlg/MuonMDT_CablingAlg to the job
+Py:ComponentAccumulator   DEBUG Adding component MDTCablingDbTool/MDTCablingDbTool to the job
+Py:ComponentAccumulator   DEBUG Adding component MuonMDT_CablingSvc/MuonMDT_CablingSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component MuonMDT_CablingAlg/MuonMDT_CablingAlg to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component AthenaPoolCnvSvc/AthenaPoolCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component MuonMDT_CablingSvc/MuonMDT_CablingSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
+Py:ComponentAccumulator   DEBUG Adding component MDTCablingDbTool/MDTCablingDbTool to the job
+Py:Athena            INFO Importing MuonCnvExample.MuonCnvUtils
+Py:Athena            INFO Importing MagFieldServices.MagFieldServicesConfig
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component AthenaPoolCnvSvc/AthenaPoolCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondInputLoader
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component IOVDbSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component PoolSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DBReplicaSvc
+Py:ComponentAccumulator   DEBUG Adding component AthenaPoolCnvSvc/AthenaPoolCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component MagField::AtlasFieldSvc/AtlasFieldSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component AthenaPoolCnvSvc/AthenaPoolCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component MagField::AtlasFieldSvc/AtlasFieldSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:IOVDbSvc.CondDB   DEBUG Loading basic services for CondDBSetup...
+Py:loadBasicAthenaPool   DEBUG Loading basic services for AthenaPool...
+Py:loadBasicAthenaPool   DEBUG Loading basic services for AthenaPool... [DONE]
+Py:loadBasicIOVDb   DEBUG Loading basic services for IOVDbSvc...
+Py:Configurable     ERROR attempt to add a duplicate (ServiceManager.ProxyProviderSvc) ... dupe ignored
+Py:loadBasicEventInfoMgt   DEBUG Loading basic services for EventInfoMgt...
+Py:Configurable     ERROR attempt to add a duplicate (ServiceManager.EventPersistencySvc) ... dupe ignored
+Py:Configurable     ERROR attempt to add a duplicate (ServiceManager.ProxyProviderSvc) ... dupe ignored
+Py:loadBasicEventInfoMgt   DEBUG Loading basic services for EventInfoMgt... [DONE]
+Py:loadBasicIOVDb   DEBUG Loading basic services for IOVDb... [DONE]
+Py:IOVDbSvc.CondDB    INFO Setting up conditions DB access to instance OFLP200
+Py:Configurable     ERROR attempt to add a duplicate (ServiceManager.PoolSvc) ... dupe ignored
+Py:IOVDbSvc.CondDB   DEBUG Loading basic services for CondDBSetup... [DONE]
+Py:ComponentAccumulator   DEBUG Adding component MuonCalib::MdtCalibDbCoolStrTool/MuonCalib::MdtCalibDbCoolStrTool to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component MuonCalib::MdtCalibDbCoolStrTool/MuonCalib::MdtCalibDbCoolStrTool to the job
+Py:ComponentAccumulator   DEBUG Adding component MdtCalibrationDbSvc/MdtCalibrationDbSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondInputLoader
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component IOVDbSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component PoolSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DBReplicaSvc
+Py:ComponentAccumulator   DEBUG Adding component MdtCalibrationDbSvc/MdtCalibrationDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component MuonCalib::MdtCalibDbCoolStrTool/MuonCalib::MdtCalibDbCoolStrTool to the job
+Py:ComponentAccumulator   DEBUG Adding component MdtCalibrationSvc/MdtCalibrationSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondInputLoader
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component IOVDbSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component PoolSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DBReplicaSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component AthenaPoolCnvSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Adding component MagField::AtlasFieldSvc/AtlasFieldSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component MdtCalibrationDbSvc/MdtCalibrationDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component MdtCalibrationSvc/MdtCalibrationSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component MuonCalib::MdtCalibDbCoolStrTool/MuonCalib::MdtCalibDbCoolStrTool to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
+Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DetDescrCnvSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ToolSvc.Muon::MuonIdHelperTool
+Py:ComponentAccumulator   DEBUG Adding component ROBDataProviderSvc/ROBDataProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component Muon::MDT_RawDataProviderTool/MDT_RawDataProviderTool to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondInputLoader
+Py:ComponentAccumulator   DEBUG Adding component MuonMDT_CablingAlg/MuonMDT_CablingAlg to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DetDescrCnvSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component IOVDbSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component PoolSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DBReplicaSvc
+Py:ComponentAccumulator   DEBUG Adding component AthenaPoolCnvSvc/AthenaPoolCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component MuonMDT_CablingSvc/MuonMDT_CablingSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component MagField::AtlasFieldSvc/AtlasFieldSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component MdtCalibrationDbSvc/MdtCalibrationDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component MdtCalibrationSvc/MdtCalibrationSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ROBDataProviderSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ToolSvc.Muon::MuonIdHelperTool
+Py:ComponentAccumulator   DEBUG Adding component MDTCablingDbTool/MDTCablingDbTool to the job
+Py:ComponentAccumulator   DEBUG Adding component MuonCalib::MdtCalibDbCoolStrTool/MuonCalib::MdtCalibDbCoolStrTool to the job
+Py:ComponentAccumulator   DEBUG Adding component Muon::MDT_RawDataProviderTool/MDT_RawDataProviderTool to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
+Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
+Py:ComponentAccumulator   DEBUG Adding component CSCcablingSvc/CSCcablingSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CSCcablingSvc/CSCcablingSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
+Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DetDescrCnvSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ToolSvc.Muon::MuonIdHelperTool
+Py:ComponentAccumulator   DEBUG Adding component ROBDataProviderSvc/ROBDataProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component Muon::CSC_RawDataProviderTool/CSC_RawDataProviderTool to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DetDescrCnvSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Adding component CSCcablingSvc/CSCcablingSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ROBDataProviderSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ToolSvc.Muon::MuonIdHelperTool
+Py:ComponentAccumulator   DEBUG Adding component Muon::CSC_RawDataProviderTool/CSC_RawDataProviderTool to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
+Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
+Py:ComponentAccumulator   DEBUG Adding component RPCcablingServerSvc/RPCcablingServerSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component RPCCablingDbTool/RPCCablingDbTool to the job
+Py:ComponentAccumulator   DEBUG Adding component MuonRPC_CablingSvc/MuonRPC_CablingSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component RPCcablingServerSvc/RPCcablingServerSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component MuonRPC_CablingSvc/MuonRPC_CablingSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
+Py:ComponentAccumulator   DEBUG Adding component RPCCablingDbTool/RPCCablingDbTool to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
+Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DetDescrCnvSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ToolSvc.Muon::MuonIdHelperTool
+Py:ComponentAccumulator   DEBUG Adding component Muon::RpcRdoToPrepDataTool/RpcRdoToRpcPrepDataTool to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondInputLoader
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DetDescrCnvSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component RPCcablingServerSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component IOVDbSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component PoolSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DBReplicaSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component MuonRPC_CablingSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ToolSvc.Muon::MuonIdHelperTool
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ToolSvc.RPCCablingDbTool
+Py:ComponentAccumulator   DEBUG Adding component Muon::RpcRdoToPrepDataTool/RpcRdoToRpcPrepDataTool to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
+Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
+Py:ComponentAccumulator   DEBUG Adding component LVL1TGC::TGCRecRoiSvc/LVL1TGC::TGCRecRoiSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TGCcablingServerSvc/TGCcablingServerSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component LVL1TGC::TGCRecRoiSvc/LVL1TGC::TGCRecRoiSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TGCcablingServerSvc/TGCcablingServerSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
+Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DetDescrCnvSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ToolSvc.Muon::MuonIdHelperTool
+Py:ComponentAccumulator   DEBUG Adding component Muon::TgcRdoToPrepDataTool/TgcRdoToTgcPrepDataTool to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondInputLoader
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DetDescrCnvSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component LVL1TGC::TGCRecRoiSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component TGCcablingServerSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component IOVDbSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component PoolSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DBReplicaSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ToolSvc.Muon::MuonIdHelperTool
+Py:ComponentAccumulator   DEBUG Adding component Muon::TgcRdoToPrepDataTool/TgcRdoToTgcPrepDataTool to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
+Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component AthenaPoolCnvSvc/AthenaPoolCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component AthenaPoolCnvSvc/AthenaPoolCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Adding component MuonMDT_CablingAlg/MuonMDT_CablingAlg to the job
+Py:ComponentAccumulator   DEBUG Adding component MDTCablingDbTool/MDTCablingDbTool to the job
+Py:ComponentAccumulator   DEBUG Adding component MuonMDT_CablingSvc/MuonMDT_CablingSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component MuonMDT_CablingAlg/MuonMDT_CablingAlg to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component AthenaPoolCnvSvc/AthenaPoolCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component MuonMDT_CablingSvc/MuonMDT_CablingSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
+Py:ComponentAccumulator   DEBUG Adding component MDTCablingDbTool/MDTCablingDbTool to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component AthenaPoolCnvSvc/AthenaPoolCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondInputLoader
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component IOVDbSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component PoolSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DBReplicaSvc
+Py:ComponentAccumulator   DEBUG Adding component AthenaPoolCnvSvc/AthenaPoolCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component MagField::AtlasFieldSvc/AtlasFieldSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component AthenaPoolCnvSvc/AthenaPoolCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component MagField::AtlasFieldSvc/AtlasFieldSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component MuonCalib::MdtCalibDbCoolStrTool/MuonCalib::MdtCalibDbCoolStrTool to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component MuonCalib::MdtCalibDbCoolStrTool/MuonCalib::MdtCalibDbCoolStrTool to the job
+Py:ComponentAccumulator   DEBUG Adding component MdtCalibrationDbSvc/MdtCalibrationDbSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondInputLoader
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component IOVDbSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component PoolSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DBReplicaSvc
+Py:ComponentAccumulator   DEBUG Adding component MdtCalibrationDbSvc/MdtCalibrationDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component MuonCalib::MdtCalibDbCoolStrTool/MuonCalib::MdtCalibDbCoolStrTool to the job
+Py:ComponentAccumulator   DEBUG Adding component MdtCalibrationSvc/MdtCalibrationSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondInputLoader
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component IOVDbSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component PoolSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DBReplicaSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component AthenaPoolCnvSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Adding component MagField::AtlasFieldSvc/AtlasFieldSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component MdtCalibrationDbSvc/MdtCalibrationDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component MdtCalibrationSvc/MdtCalibrationSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component MuonCalib::MdtCalibDbCoolStrTool/MuonCalib::MdtCalibDbCoolStrTool to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
+Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DetDescrCnvSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ToolSvc.Muon::MuonIdHelperTool
+Py:ComponentAccumulator   DEBUG Adding component Muon::MdtRdoToPrepDataTool/MdtRdoToMdtPrepDataTool to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondInputLoader
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component MuonMDT_CablingAlg
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DetDescrCnvSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component IOVDbSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component PoolSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DBReplicaSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component AthenaPoolCnvSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component MuonMDT_CablingSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component AtlasFieldSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component MdtCalibrationDbSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component MdtCalibrationSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ToolSvc.Muon::MuonIdHelperTool
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ToolSvc.MDTCablingDbTool
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ToolSvc.MuonCalib::MdtCalibDbCoolStrTool
+Py:ComponentAccumulator   DEBUG Adding component Muon::MdtRdoToPrepDataTool/MdtRdoToMdtPrepDataTool to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
+Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
+Py:ComponentAccumulator   DEBUG Adding component CSCcablingSvc/CSCcablingSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CSCcablingSvc/CSCcablingSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
+Py:ComponentAccumulator   DEBUG Adding component MuonCalib::CscCoolStrSvc/MuonCalib::CscCoolStrSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondInputLoader
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component IOVDbSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component PoolSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DBReplicaSvc
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondInputLoader
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component IOVDbSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component PoolSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DBReplicaSvc
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondInputLoader
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component IOVDbSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component PoolSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DBReplicaSvc
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondInputLoader
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component IOVDbSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component PoolSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DBReplicaSvc
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondInputLoader
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component IOVDbSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component PoolSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DBReplicaSvc
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondInputLoader
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component IOVDbSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component PoolSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DBReplicaSvc
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondInputLoader
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component IOVDbSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component PoolSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DBReplicaSvc
+Py:ComponentAccumulator   DEBUG Adding component CondInputLoader/CondInputLoader to the job
+Py:ComponentAccumulator   DEBUG Adding component MuonCalib::CscCoolStrSvc/MuonCalib::CscCoolStrSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component IOVDbSvc/IOVDbSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component PoolSvc/PoolSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
+Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
+Py:ComponentAccumulator   DEBUG Adding component TagInfoMgr/TagInfoMgr to the job
+Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
+Py:ComponentAccumulator   DEBUG Adding component Muon::MuonIdHelperTool/Muon::MuonIdHelperTool to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DetDescrCnvSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ToolSvc.Muon::MuonIdHelperTool
+Py:ComponentAccumulator   DEBUG Adding component Muon::CscRdoToCscPrepDataTool/CscRdoToCscPrepDataTool to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondInputLoader
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DetDescrCnvSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersistencySvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CSCcablingSvc
+Py:ComponentAccumulator   DEBUG Adding component MuonCalib::CscCoolStrSvc/MuonCalib::CscCoolStrSvc to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component IOVDbSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component PoolSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component DBReplicaSvc
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component ToolSvc.Muon::MuonIdHelperTool
+Py:ComponentAccumulator   DEBUG Adding component Muon::CscRdoToCscPrepDataTool/CscRdoToCscPrepDataTool to the job
+Py:ComponentAccumulator   DEBUG Adding component CscThresholdClusterBuilderTool/CscThesholdClusterBuilderTool to the job
+Py:ComponentAccumulator   DEBUG Adding component CscThresholdClusterBuilderTool/CscThesholdClusterBuilderTool to the job
+Py:ComponentAccumulator   DEBUG Reconciled configuration of component AthenaPoolCnvSvc
+Py:Athena            INFO Print Config
+|-Atomic                                  = False
+|-AuditAlgorithms                         = False
+|-AuditBeginRun                           = False
+|-AuditEndRun                             = False
+|-AuditExecute                            = False
+|-AuditFinalize                           = False
+|-AuditInitialize                         = False
+|-AuditReinitialize                       = False
+|-AuditRestart                            = False
+|-AuditStart                              = False
+|-AuditStop                               = False
+|-ContinueEventloopOnFPE                  = False
+|-Enable                                  = True
+|-ErrorCounter                            = 0
+|-ErrorMax                                = 1
+|-FilterCircularDependencies              = True
+|-IgnoreFilterPassed                      = False
+|-IsIOBound                               = False
+|                                            (default: [])
+|-ModeOR                                  = False
+|-MonitorService                          = 'MonitorSvc'
+|-OutputLevel                             = 0
+|-RegisterForContextService               = False
+|-Sequential                              = False
+|-StopOverride                            = False
+|-TimeOut                                 = 0.0
+|=/***** Algorithm MuonCacheCreator/MuonCacheCreator *************************************************
+| |-AuditAlgorithms                         = False
+| |-AuditBeginRun                           = False
+| |-AuditEndRun                             = False
+| |-AuditExecute                            = False
+| |-AuditFinalize                           = False
+| |-AuditInitialize                         = False
+| |-AuditReinitialize                       = False
+| |-AuditRestart                            = False
+| |-AuditStart                              = False
+| |-AuditStop                               = False
+| |-DisableViewWarning                      = False
+| |-Enable                                  = True
+| |-ErrorCounter                            = 0
+| |-ErrorMax                                = 1
+| |-FilterCircularDependencies              = True
+| |-IsIOBound                               = False
+| |-MonitorService                          = 'MonitorSvc'
+| |-OutputLevel                             = 0
+| |-RegisterForContextService               = False
+| \----- (End of Algorithm MuonCacheCreator/MuonCacheCreator) ----------------------------------------
+|=/***** Algorithm Muon::RpcRawDataProvider/RpcRawDataProvider ***************************************
+| |-AuditAlgorithms                         = False
+| |-AuditBeginRun                           = False
+| |-AuditEndRun                             = False
+| |-AuditExecute                            = False
+| |-AuditFinalize                           = False
+| |-AuditInitialize                         = False
+| |-AuditReinitialize                       = False
+| |-AuditRestart                            = False
+| |-AuditStart                              = False
+| |-AuditStop                               = False
+| |-DoSeededDecoding                        = False
+| |-Enable                                  = True
+| |-ErrorCounter                            = 0
+| |-ErrorMax                                = 1
+| |-FilterCircularDependencies              = True
+| |-IsIOBound                               = False
+| |-MonitorService                          = 'MonitorSvc'
+| |-OutputLevel                             = 0
+| |                                            (default: 'Muon::RPC_RawDataProviderTool/RpcRawDataProviderTool')
+| |-RegisterForContextService               = False
+| |-RoIs                                    = 'StoreGateSvc+OutputRoIs'
+| |=/***** Private AlgTool Muon::RPC_RawDataProviderTool/RpcRawDataProvider.RPC_RawDataProviderTool *****
+| | |-AuditFinalize                  = False
+| | |-AuditInitialize                = False
+| | |-AuditReinitialize              = False
+| | |-AuditRestart                   = False
+| | |-AuditStart                     = False
+| | |-AuditStop                      = False
+| | |-AuditTools                     = False
+| | |-MonitorService                 = 'MonitorSvc'
+| | |-OutputLevel                    = 0
+| | |-RPCSec                         = 'StoreGateSvc+RPC_SECTORLOGIC'
+| | |-RdoLocation                    = 'StoreGateSvc+RPCPAD'
+| | |=/***** Private AlgTool Muon::RpcROD_Decoder/RpcRawDataProvider.RPC_RawDataProviderTool.RpcROD_Decoder *****
+| | | |-AuditFinalize                    = False
+| | | |-AuditInitialize                  = False
+| | | |-AuditReinitialize                = False
+| | | |-AuditRestart                     = False
+| | | |-AuditStart                       = False
+| | | |-AuditStop                        = False
+| | | |-AuditTools                       = False
+| | | |-DataErrorPrintLimit              = 1000
+| | | |-MonitorService                   = 'MonitorSvc'
+| | | |-OutputLevel                      = 0
+| | | |-Sector13Data                     = False
+| | | |-SpecialROBNumber                 = -1
+| | | \----- (End of Private AlgTool Muon::RpcROD_Decoder/RpcRawDataProvider.RPC_RawDataProviderTool.RpcROD_Decoder) -----
+| | \----- (End of Private AlgTool Muon::RPC_RawDataProviderTool/RpcRawDataProvider.RPC_RawDataProviderTool) -----
+| \----- (End of Algorithm Muon::RpcRawDataProvider/RpcRawDataProvider) ------------------------------
+|=/***** Algorithm Muon::TgcRawDataProvider/TgcRawDataProvider ***************************************
+| |-AuditAlgorithms                         = False
+| |-AuditBeginRun                           = False
+| |-AuditEndRun                             = False
+| |-AuditExecute                            = False
+| |-AuditFinalize                           = False
+| |-AuditInitialize                         = False
+| |-AuditReinitialize                       = False
+| |-AuditRestart                            = False
+| |-AuditStart                              = False
+| |-AuditStop                               = False
+| |-Enable                                  = True
+| |-ErrorCounter                            = 0
+| |-ErrorMax                                = 1
+| |-FilterCircularDependencies              = True
+| |-IsIOBound                               = False
+| |-MonitorService                          = 'MonitorSvc'
+| |-OutputLevel                             = 0
+| |                                            (default: 'Muon::TGC_RawDataProviderTool/TgcRawDataProviderTool')
+| |-RegisterForContextService               = False
+| |=/***** Private AlgTool Muon::TGC_RawDataProviderTool/TgcRawDataProvider.TGC_RawDataProviderTool *****
+| | |-AuditFinalize                  = False
+| | |-AuditInitialize                = False
+| | |-AuditReinitialize              = False
+| | |-AuditRestart                   = False
+| | |-AuditStart                     = False
+| | |-AuditStop                      = False
+| | |-AuditTools                     = False
+| | |                                   (default: 'Muon::TGC_RodDecoderReadout/TGC_RodDecoderReadout')
+| | |-MonitorService                 = 'MonitorSvc'
+| | |-OutputLevel                    = 0
+| | |-RdoLocation                    = 'StoreGateSvc+TGCRDO'
+| | |=/***** Private AlgTool Muon::TGC_RodDecoderReadout/TgcRawDataProvider.TGC_RawDataProviderTool.TgcROD_Decoder *****
+| | | |-AuditFinalize                  = False
+| | | |-AuditInitialize                = False
+| | | |-AuditReinitialize              = False
+| | | |-AuditRestart                   = False
+| | | |-AuditStart                     = False
+| | | |-AuditStop                      = False
+| | | |-AuditTools                     = False
+| | | |-MonitorService                 = 'MonitorSvc'
+| | | |-OutputLevel                    = 0
+| | | |-ShowStatusWords                = False
+| | | |-SkipCoincidence                = False
+| | | \----- (End of Private AlgTool Muon::TGC_RodDecoderReadout/TgcRawDataProvider.TGC_RawDataProviderTool.TgcROD_Decoder) -----
+| | \----- (End of Private AlgTool Muon::TGC_RawDataProviderTool/TgcRawDataProvider.TGC_RawDataProviderTool) -----
+| \----- (End of Algorithm Muon::TgcRawDataProvider/TgcRawDataProvider) ------------------------------
+|=/***** Algorithm Muon::MdtRawDataProvider/MdtRawDataProvider ***************************************
+| |-AuditAlgorithms                         = False
+| |-AuditBeginRun                           = False
+| |-AuditEndRun                             = False
+| |-AuditExecute                            = False
+| |-AuditFinalize                           = False
+| |-AuditInitialize                         = False
+| |-AuditReinitialize                       = False
+| |-AuditRestart                            = False
+| |-AuditStart                              = False
+| |-AuditStop                               = False
+| |-Enable                                  = True
+| |-ErrorCounter                            = 0
+| |-ErrorMax                                = 1
+| |-FilterCircularDependencies              = True
+| |-IsIOBound                               = False
+| |-MonitorService                          = 'MonitorSvc'
+| |-OutputLevel                             = 0
+| |                                            (default: 'Muon::MDT_RawDataProviderTool/MdtRawDataProviderTool')
+| |-RegisterForContextService               = False
+| |=/***** Private AlgTool Muon::MDT_RawDataProviderTool/MdtRawDataProvider.MDT_RawDataProviderTool *****
+| | |-AuditFinalize                     = False
+| | |-AuditInitialize                   = False
+| | |-AuditReinitialize                 = False
+| | |-AuditRestart                      = False
+| | |-AuditStart                        = False
+| | |-AuditStop                         = False
+| | |-AuditTools                        = False
+| | |-MonitorService                    = 'MonitorSvc'
+| | |-RdoLocation                       = 'StoreGateSvc+MDTCSM'
+| | |-ReadKey                           = 'ConditionStore+MuonMDT_CablingMap'
+| | |=/***** Private AlgTool MdtROD_Decoder/MdtRawDataProvider.MDT_RawDataProviderTool.MdtROD_Decoder *****
+| | | |-AuditFinalize                  = False
+| | | |-AuditInitialize                = False
+| | | |-AuditReinitialize              = False
+| | | |-AuditRestart                   = False
+| | | |-AuditStart                     = False
+| | | |-AuditStop                      = False
+| | | |-AuditTools                     = False
+| | | |-MonitorService                 = 'MonitorSvc'
+| | | |-OutputLevel                    = 0
+| | | |-ReadKey                        = 'ConditionStore+MuonMDT_CablingMap'
+| | | |-SpecialROBNumber               = -1
+| | | \----- (End of Private AlgTool MdtROD_Decoder/MdtRawDataProvider.MDT_RawDataProviderTool.MdtROD_Decoder) -----
+| | \----- (End of Private AlgTool Muon::MDT_RawDataProviderTool/MdtRawDataProvider.MDT_RawDataProviderTool) -----
+| \----- (End of Algorithm Muon::MdtRawDataProvider/MdtRawDataProvider) ------------------------------
+|=/***** Algorithm Muon::CscRawDataProvider/CscRawDataProvider ***************************************
+| |-AuditAlgorithms                         = False
+| |-AuditBeginRun                           = False
+| |-AuditEndRun                             = False
+| |-AuditExecute                            = False
+| |-AuditFinalize                           = False
+| |-AuditInitialize                         = False
+| |-AuditReinitialize                       = False
+| |-AuditRestart                            = False
+| |-AuditStart                              = False
+| |-AuditStop                               = False
+| |-Enable                                  = True
+| |-ErrorCounter                            = 0
+| |-ErrorMax                                = 1
+| |-FilterCircularDependencies              = True
+| |-IsIOBound                               = False
+| |-MonitorService                          = 'MonitorSvc'
+| |-OutputLevel                             = 0
+| |                                            (default: 'Muon::CSC_RawDataProviderTool/CscRawDataProviderTool')
+| |-RegisterForContextService               = False
+| |=/***** Private AlgTool Muon::CSC_RawDataProviderTool/CscRawDataProvider.CSC_RawDataProviderTool *****
+| | |-AuditFinalize                     = False
+| | |-AuditInitialize                   = False
+| | |-AuditReinitialize                 = False
+| | |-AuditRestart                      = False
+| | |-AuditStart                        = False
+| | |-AuditStop                         = False
+| | |-AuditTools                        = False
+| | |-MonitorService                    = 'MonitorSvc'
+| | |-RdoLocation                       = 'StoreGateSvc+CSCRDO'
+| | |=/***** Private AlgTool Muon::CscROD_Decoder/CscRawDataProvider.CSC_RawDataProviderTool.CscROD_Decoder *****
+| | | |-AuditFinalize                  = False
+| | | |-AuditInitialize                = False
+| | | |-AuditReinitialize              = False
+| | | |-AuditRestart                   = False
+| | | |-AuditStart                     = False
+| | | |-AuditStop                      = False
+| | | |-AuditTools                     = False
+| | | |-IsCosmics                      = False
+| | | |-IsOldCosmics                   = False
+| | | |-MonitorService                 = 'MonitorSvc'
+| | | |-OutputLevel                    = 0
+| | | \----- (End of Private AlgTool Muon::CscROD_Decoder/CscRawDataProvider.CSC_RawDataProviderTool.CscROD_Decoder) -----
+| | \----- (End of Private AlgTool Muon::CSC_RawDataProviderTool/CscRawDataProvider.CSC_RawDataProviderTool) -----
+| \----- (End of Algorithm Muon::CscRawDataProvider/CscRawDataProvider) ------------------------------
+|=/***** Algorithm RpcRdoToRpcPrepData/RpcRdoToRpcPrepData *******************************************
+| |-AuditAlgorithms                         = False
+| |-AuditBeginRun                           = False
+| |-AuditEndRun                             = False
+| |-AuditExecute                            = False
+| |-AuditFinalize                           = False
+| |-AuditInitialize                         = False
+| |-AuditReinitialize                       = False
+| |-AuditRestart                            = False
+| |-AuditStart                              = False
+| |-AuditStop                               = False
+| |                                            (default: 'Muon::RpcRdoToPrepDataTool/RpcRdoToPrepDataTool')
+| |-DoSeededDecoding                        = False
+| |-Enable                                  = True
+| |-ErrorCounter                            = 0
+| |-ErrorMax                                = 1
+| |-FilterCircularDependencies              = True
+| |-IsIOBound                               = False
+| |-MonitorService                          = 'MonitorSvc'
+| |-OutputCollection                        = 'StoreGateSvc+RPC_Measurements'
+| |-OutputLevel                             = 0
+| |-PrintInputRdo                           = False
+| |-RegisterForContextService               = False
+| |-RoIs                                    = 'StoreGateSvc+OutputRoIs'
+| |=/***** Private AlgTool Muon::RpcRdoToPrepDataTool/RpcRdoToRpcPrepData.RpcRdoToRpcPrepDataTool ******
+| | |-AuditFinalize                                   = False
+| | |-AuditInitialize                                 = False
+| | |-AuditReinitialize                               = False
+| | |-AuditRestart                                    = False
+| | |-AuditStart                                      = False
+| | |-AuditStop                                       = False
+| | |-AuditTools                                      = False
+| | |-DecodeData                                      = True
+| | |-InputCollection                                 = 'StoreGateSvc+RPC_triggerHits'
+| | |-MonitorService                                  = 'MonitorSvc'
+| | |-OutputCollection                                = 'StoreGateSvc+RPCPAD'
+| | |-OutputLevel                                     = 0
+| | |-RPCInfoFromDb                                   = False
+| | |                                                    (default: 'Muon::RpcRDO_Decoder')
+| | |-TriggerOutputCollection                         = 'StoreGateSvc+RPC_Measurements'
+| | |-etaphi_coincidenceTime                          = 20.0
+| | |-overlap_timeTolerance                           = 10.0
+| | |-processingData                                  = False
+| | |-produceRpcCoinDatafromTriggerWords              = True
+| | |-reduceCablingOverlap                            = True
+| | |-solvePhiAmbiguities                             = True
+| | |-timeShift                                       = -12.5
+| | |=/***** Private AlgTool Muon::RpcRDO_Decoder/RpcRdoToRpcPrepData.RpcRdoToRpcPrepDataTool.Muon::RpcRDO_Decoder *****
+| | | |-AuditFinalize                  = False
+| | | |-AuditInitialize                = False
+| | | |-AuditReinitialize              = False
+| | | |-AuditRestart                   = False
+| | | |-AuditStart                     = False
+| | | |-AuditStop                      = False
+| | | |-AuditTools                     = False
+| | | |-MonitorService                 = 'MonitorSvc'
+| | | |-OutputLevel                    = 0
+| | | \----- (End of Private AlgTool Muon::RpcRDO_Decoder/RpcRdoToRpcPrepData.RpcRdoToRpcPrepDataTool.Muon::RpcRDO_Decoder) -----
+| | \----- (End of Private AlgTool Muon::RpcRdoToPrepDataTool/RpcRdoToRpcPrepData.RpcRdoToRpcPrepDataTool) -----
+| \----- (End of Algorithm RpcRdoToRpcPrepData/RpcRdoToRpcPrepData) ----------------------------------
+|=/***** Algorithm TgcRdoToTgcPrepData/TgcRdoToTgcPrepData *******************************************
+| |-AuditAlgorithms                         = False
+| |-AuditBeginRun                           = False
+| |-AuditEndRun                             = False
+| |-AuditExecute                            = False
+| |-AuditFinalize                           = False
+| |-AuditInitialize                         = False
+| |-AuditReinitialize                       = False
+| |-AuditRestart                            = False
+| |-AuditStart                              = False
+| |-AuditStop                               = False
+| |                                            (default: 'Muon::TgcRdoToPrepDataTool/TgcPrepDataProviderTool')
+| |-DoSeededDecoding                        = False
+| |-Enable                                  = True
+| |-ErrorCounter                            = 0
+| |-ErrorMax                                = 1
+| |-FilterCircularDependencies              = True
+| |-IsIOBound                               = False
+| |-MonitorService                          = 'MonitorSvc'
+| |-OutputCollection                        = 'StoreGateSvc+TGC_Measurements'
+| |-OutputLevel                             = 0
+| |-PrintInputRdo                           = False
+| |-RegisterForContextService               = False
+| |-RoIs                                    = 'StoreGateSvc+OutputRoIs'
+| |-Setting                                 = 0
+| |=/***** Private AlgTool Muon::TgcRdoToPrepDataTool/TgcRdoToTgcPrepData.TgcRdoToTgcPrepDataTool ******
+| | |-AuditFinalize                                        = False
+| | |-AuditInitialize                                      = False
+| | |-AuditReinitialize                                    = False
+| | |-AuditRestart                                         = False
+| | |-AuditStart                                           = False
+| | |-AuditStop                                            = False
+| | |-AuditTools                                           = False
+| | |-DecodeData                                           = True
+| | |-FillCoinData                                         = True
+| | |-MonitorService                                       = 'MonitorSvc'
+| | |-OutputCoinCollection                                 = 'TrigT1CoinDataCollection'
+| | |-OutputCollection                                     = 'TGC_Measurements'
+| | |-OutputLevel                                          = 0
+| | |-RDOContainer                                         = 'StoreGateSvc+TGCRDO'
+| | |-TGCHashIdOffset                                      = 26000
+| | |-dropPrdsWithZeroWidth                                = True
+| | |                                                         (default: ['StoreGateSvc+dummy', 'StoreGateSvc+dummy', 'StoreGateSvc+dummy'])
+| | |                                                         (default: ['StoreGateSvc+dummy', 'StoreGateSvc+dummy', 'StoreGateSvc+dummy', 'StoreGateSvc+dummy'])
+| | |-show_warning_level_invalid_A09_SSW6_hit              = False
+| | \----- (End of Private AlgTool Muon::TgcRdoToPrepDataTool/TgcRdoToTgcPrepData.TgcRdoToTgcPrepDataTool) -----
+| \----- (End of Algorithm TgcRdoToTgcPrepData/TgcRdoToTgcPrepData) ----------------------------------
+|=/***** Algorithm MdtRdoToMdtPrepData/MdtRdoToMdtPrepData *******************************************
+| |-AuditAlgorithms                         = False
+| |-AuditBeginRun                           = False
+| |-AuditEndRun                             = False
+| |-AuditExecute                            = False
+| |-AuditFinalize                           = False
+| |-AuditInitialize                         = False
+| |-AuditReinitialize                       = False
+| |-AuditRestart                            = False
+| |-AuditStart                              = False
+| |-AuditStop                               = False
+| |                                            (default: 'Muon::MdtRdoToPrepDataTool/MdtPrepDataProviderTool')
+| |-DoSeededDecoding                        = False
+| |-Enable                                  = True
+| |-ErrorCounter                            = 0
+| |-ErrorMax                                = 1
+| |-FilterCircularDependencies              = True
+| |-IsIOBound                               = False
+| |-MonitorService                          = 'MonitorSvc'
+| |-OutputCollection                        = 'StoreGateSvc+MDT_DriftCircles'
+| |-OutputLevel                             = 0
+| |-PrintInputRdo                           = False
+| |-RegisterForContextService               = False
+| |-RoIs                                    = 'StoreGateSvc+OutputRoIs'
+| |=/***** Private AlgTool Muon::MdtRdoToPrepDataTool/MdtRdoToMdtPrepData.MdtRdoToMdtPrepDataTool ******
+| | |-AuditFinalize                        = False
+| | |-AuditInitialize                      = False
+| | |-AuditReinitialize                    = False
+| | |-AuditRestart                         = False
+| | |-AuditStart                           = False
+| | |-AuditStop                            = False
+| | |-AuditTools                           = False
+| | |-CalibratePrepData                    = True
+| | |-DecodeData                           = True
+| | |-DiscardSecondaryHitTwin              = False
+| | |-DoPropagationCorrection              = False
+| | |-DoTofCorrection                      = True
+| | |-MonitorService                       = 'MonitorSvc'
+| | |-OutputCollection                     = 'StoreGateSvc+MDT_DriftCircles'
+| | |-OutputLevel                          = 0
+| | |-RDOContainer                         = 'StoreGateSvc+MDTCSM'
+| | |-ReadKey                              = 'ConditionStore+MuonMDT_CablingMap'
+| | |-SortPrepData                         = False
+| | |-TimeWindowLowerBound                 = -1000000.0
+| | |-TimeWindowSetting                    = 2
+| | |-TimeWindowUpperBound                 = -1000000.0
+| | |-TwinCorrectSlewing                   = False
+| | |-Use1DPrepDataTwin                    = False
+| | |-UseAllBOLTwin                        = False
+| | |-UseTwin                              = True
+| | \----- (End of Private AlgTool Muon::MdtRdoToPrepDataTool/MdtRdoToMdtPrepData.MdtRdoToMdtPrepDataTool) -----
+| \----- (End of Algorithm MdtRdoToMdtPrepData/MdtRdoToMdtPrepData) ----------------------------------
+|=/***** Algorithm CscRdoToCscPrepData/CscRdoToCscPrepData *******************************************
+| |-AuditAlgorithms                         = False
+| |-AuditBeginRun                           = False
+| |-AuditEndRun                             = False
+| |-AuditExecute                            = False
+| |-AuditFinalize                           = False
+| |-AuditInitialize                         = False
+| |-AuditReinitialize                       = False
+| |-AuditRestart                            = False
+| |-AuditStart                              = False
+| |-AuditStop                               = False
+| |                                            (default: 'Muon::CscRdoToCscPrepDataTool/CscRdoToPrepDataTool')
+| |-DoSeededDecoding                        = False
+| |-Enable                                  = True
+| |-ErrorCounter                            = 0
+| |-ErrorMax                                = 1
+| |-FilterCircularDependencies              = True
+| |-IsIOBound                               = False
+| |-MonitorService                          = 'MonitorSvc'
+| |-OutputCollection                        = 'StoreGateSvc+CSC_Measurements'
+| |-OutputLevel                             = 0
+| |-PrintInputRdo                           = False
+| |-RegisterForContextService               = False
+| |-RoIs                                    = 'StoreGateSvc+OutputRoIs'
+| |=/***** Private AlgTool Muon::CscRdoToCscPrepDataTool/CscRdoToCscPrepData.CscRdoToCscPrepDataTool *****
+| | |-AuditFinalize                    = False
+| | |-AuditInitialize                  = False
+| | |-AuditReinitialize                = False
+| | |-AuditRestart                     = False
+| | |-AuditStart                       = False
+| | |-AuditStop                        = False
+| | |-AuditTools                       = False
+| | |-CSCHashIdOffset                  = 22000
+| | |-DecodeData                       = True
+| | |-MonitorService                   = 'MonitorSvc'
+| | |-OutputCollection                 = 'StoreGateSvc+CSC_Measurements'
+| | |-OutputLevel                      = 0
+| | |-RDOContainer                     = 'StoreGateSvc+CSCRDO'
+| | |=/***** Private AlgTool Muon::CSC_RawDataProviderTool/CscRdoToCscPrepData.CscRdoToCscPrepDataTool.CSC_RawDataProviderTool *****
+| | | |-AuditFinalize                     = False
+| | | |-AuditInitialize                   = False
+| | | |-AuditReinitialize                 = False
+| | | |-AuditRestart                      = False
+| | | |-AuditStart                        = False
+| | | |-AuditStop                         = False
+| | | |-AuditTools                        = False
+| | | |-CscContainerCacheKey              = 'StoreGateSvc+'
+| | | |-MonitorService                    = 'MonitorSvc'
+| | | |-OutputLevel                       = 0
+| | | |-RdoLocation                       = 'StoreGateSvc+CSCRDO'
+| | | |=/***** Private AlgTool Muon::CscROD_Decoder/CscRdoToCscPrepData.CscRdoToCscPrepDataTool.CSC_RawDataProviderTool.CscROD_Decoder *****
+| | | | |-AuditFinalize                  = False
+| | | | |-AuditInitialize                = False
+| | | | |-AuditReinitialize              = False
+| | | | |-AuditRestart                   = False
+| | | | |-AuditStart                     = False
+| | | | |-AuditStop                      = False
+| | | | |-AuditTools                     = False
+| | | | |-IsCosmics                      = False
+| | | | |-IsOldCosmics                   = False
+| | | | |-MonitorService                 = 'MonitorSvc'
+| | | | |-OutputLevel                    = 0
+| | | | \----- (End of Private AlgTool Muon::CscROD_Decoder/CscRdoToCscPrepData.CscRdoToCscPrepDataTool.CSC_RawDataProviderTool.CscROD_Decoder) -----
+| | | \----- (End of Private AlgTool Muon::CSC_RawDataProviderTool/CscRdoToCscPrepData.CscRdoToCscPrepDataTool.CSC_RawDataProviderTool) -----
+| | |=/***** Private AlgTool CscCalibTool/CscRdoToCscPrepData.CscRdoToCscPrepDataTool.CscCalibTool *******
+| | | |-AuditFinalize                   = False
+| | | |-AuditInitialize                 = False
+| | | |-AuditReinitialize               = False
+| | | |-AuditRestart                    = False
+| | | |-AuditStart                      = False
+| | | |-AuditStop                       = False
+| | | |-AuditTools                      = False
+| | | |-IsOnline                        = True
+| | | |-Latency                         = 100.0
+| | | |-MonitorService                  = 'MonitorSvc'
+| | | |-NSamples                        = 4
+| | | |-Noise                           = 3.5
+| | | |-OutputLevel                     = 0
+| | | |-Pedestal                        = 2048.0
+| | | |-ReadFromDatabase                = True
+| | | |-Slope                           = 0.19
+| | | |-SlopeFromDatabase               = False
+| | | |-TimeOffsetRange                 = 1.0
+| | | |-Use2Samples                     = False
+| | | |-integrationNumber               = 12.0
+| | | |-integrationNumber2              = 11.66
+| | | |-samplingTime                    = 50.0
+| | | |-signalWidth                     = 14.4092
+| | | |-timeOffset                      = 46.825
+| | | \----- (End of Private AlgTool CscCalibTool/CscRdoToCscPrepData.CscRdoToCscPrepDataTool.CscCalibTool) -----
+| | |=/***** Private AlgTool Muon::CscRDO_Decoder/CscRdoToCscPrepData.CscRdoToCscPrepDataTool.CscRDO_Decoder *****
+| | | |-AuditFinalize                  = False
+| | | |-AuditInitialize                = False
+| | | |-AuditReinitialize              = False
+| | | |-AuditRestart                   = False
+| | | |-AuditStart                     = False
+| | | |-AuditStop                      = False
+| | | |-AuditTools                     = False
+| | | |-MonitorService                 = 'MonitorSvc'
+| | | |-OutputLevel                    = 0
+| | | \----- (End of Private AlgTool Muon::CscRDO_Decoder/CscRdoToCscPrepData.CscRdoToCscPrepDataTool.CscRDO_Decoder) -----
+| | \----- (End of Private AlgTool Muon::CscRdoToCscPrepDataTool/CscRdoToCscPrepData.CscRdoToCscPrepDataTool) -----
+| \----- (End of Algorithm CscRdoToCscPrepData/CscRdoToCscPrepData) ----------------------------------
+|=/***** Algorithm CscThresholdClusterBuilder/CscThesholdClusterBuilder ******************************
+| |-AuditAlgorithms                         = False
+| |-AuditBeginRun                           = False
+| |-AuditEndRun                             = False
+| |-AuditExecute                            = False
+| |-AuditFinalize                           = False
+| |-AuditInitialize                         = False
+| |-AuditReinitialize                       = False
+| |-AuditRestart                            = False
+| |-AuditStart                              = False
+| |-AuditStop                               = False
+| |-Enable                                  = True
+| |-ErrorCounter                            = 0
+| |-ErrorMax                                = 1
+| |-FilterCircularDependencies              = True
+| |-IsIOBound                               = False
+| |-MonitorService                          = 'MonitorSvc'
+| |-OutputLevel                             = 0
+| |-RegisterForContextService               = False
+| |                                            (default: 'CscThresholdClusterBuilderTool/CscThresholdClusterBuilderTool')
+| \----- (End of Algorithm CscThresholdClusterBuilder/CscThesholdClusterBuilder) ---------------------
+\----- (End of Algorithm AthSequencer/AthAlgSeq) ---------------------------------------------------
+Py:Athena            INFO Save Config
+
+JOs reading stage finished, launching Athena from pickle file
+
+Py:Athena            INFO executing ROOT6Setup
+Py:Athena            INFO configuring AthenaHive with [1] concurrent threads and [1] concurrent events
+Py:AlgScheduler      INFO setting up AvalancheSchedulerSvc/AvalancheSchedulerSvc with 1 threads
+Py:Athena            INFO now loading MuonRdoDecode.pkl  ... 
+ApplicationMgr       INFO Application Manager Configured successfully
+AthDictLoaderSvc     INFO in initialize...
+AthDictLoaderSvc     INFO acquired Dso-registry
+CoreDumpSvc          INFO install f-a-t-a-l handler... (flag = -1)
+CoreDumpSvc          INFO Handling signals: 11(Segmentation fault) 7(Bus error) 4(Illegal instruction) 8(Floating point exception) 
+ROBDataProviderSvc   INFO  ---> Filter out empty ROB fragments                               =  'filterEmptyROB':False
+ROBDataProviderSvc   INFO  ---> Filter out specific ROBs by Status Code: # ROBs = 0
+ROBDataProviderSvc   INFO  ---> Filter out Sub Detector ROBs by Status Code: # Sub Detectors = 0
+ByteStreamAddre...   INFO initialized 
+ByteStreamAddre...   INFO -- Module IDs for: 
+ByteStreamAddre...   INFO    CTP                                  = 0x1
+ByteStreamAddre...   INFO    muCTPi                               = 0x1
+ByteStreamAddre...   INFO    Calorimeter Cluster Processor RoI    = 0xa8, 0xa9, 0xaa, 0xab
+ByteStreamAddre...   INFO    Calorimeter Jet/Energy Processor RoI = 0xac, 0xad
+ByteStreamAddre...   INFO    Topo Processor RoI = 0x81, 0x91
+ByteStreamAddre...   INFO -- Will fill Store with id =  0
+PoolSvc              INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.xml) [ok]
+PoolSvc              INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
+PoolSvc              INFO Frontier compression level set to 5
+PoolSvc              INFO Successfully setup replica sorting algorithm
+PoolSvc              INFO Setting up APR FileCatalog and Streams
+PoolSvc              INFO Resolved path (via ATLAS_POOLCOND_PATH) is /cvmfs/atlas-condb.cern.ch/repo/conditions/poolcond/PoolFileCatalog.xml
+PoolSvc           WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables
+PoolSvc           WARNING Unable to locate catalog for apcfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables
+PoolSvc           WARNING Unable to locate catalog for prfile:poolcond/PoolCat_comcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables
+PoolSvc           WARNING Unable to locate catalog for apcfile:poolcond/PoolCat_comcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables
+PoolSvc              INFO POOL WriteCatalog is xmlcatalog_file:PoolFileCatalog.xml
+IOVDbSvc             INFO Opened read transaction for POOL PersistencySvc
+IOVDbSvc             INFO Only 5 POOL conditions files will be open at once
+IOVDbSvc             INFO Global tag: CONDBR2-BLKPA-2018-13 set from joboptions
+IOVDbFolder          INFO Inputfile tag override disabled for /GLOBAL/BField/Maps
+IOVDbSvc             INFO Initialised with 8 connections and 19 folders
+IOVDbSvc             INFO Service IOVDbSvc initialised successfully
+IOVDbSvc             INFO Opening COOL connection for COOLONL_MDT/CONDBR2
+IOVSvc               INFO No IOVSvcTool associated with store "StoreGateSvc"
+IOVSvcTool           INFO IOVRanges will be checked at every Event
+IOVDbSvc             INFO Opening COOL connection for COOLONL_RPC/CONDBR2
+IOVDbSvc             INFO Disconnecting from COOLONL_MDT/CONDBR2
+IOVDbSvc             INFO Opening COOL connection for COOLOFL_MDT/CONDBR2
+IOVDbSvc             INFO Disconnecting from COOLONL_RPC/CONDBR2
+IOVDbSvc             INFO Opening COOL connection for COOLOFL_CSC/CONDBR2
+IOVDbSvc             INFO Disconnecting from COOLOFL_MDT/CONDBR2
+IOVDbSvc             INFO Opening COOL connection for COOLONL_GLOBAL/CONDBR2
+IOVDbSvc             INFO Disconnecting from COOLOFL_CSC/CONDBR2
+IOVDbSvc             INFO Opening COOL connection for COOLONL_TGC/CONDBR2
+IOVDbSvc             INFO Disconnecting from COOLONL_GLOBAL/CONDBR2
+IOVDbSvc             INFO Opening COOL connection for COOLOFL_DCS/CONDBR2
+IOVDbSvc             INFO Disconnecting from COOLONL_TGC/CONDBR2
+IOVDbSvc             INFO Disconnecting from COOLOFL_DCS/CONDBR2
+IOVDbSvc             INFO Added taginfo remove for /EXT/DCS/MAGNETS/SENSORDATA
+IOVDbSvc             INFO Added taginfo remove for /GLOBAL/BField/Maps
+IOVDbSvc             INFO Added taginfo remove for /MDT/CABLING/MAP_SCHEMA
+IOVDbSvc             INFO Added taginfo remove for /MDT/CABLING/MEZZANINE_SCHEMA
+IOVDbSvc             INFO Added taginfo remove for /MDT/RTBLOB
+IOVDbSvc             INFO Added taginfo remove for /MDT/T0BLOB
+IOVDbSvc             INFO Added taginfo remove for /RPC/CABLING/MAP_SCHEMA
+IOVDbSvc             INFO Added taginfo remove for /RPC/CABLING/MAP_SCHEMA_CORR
+IOVDbSvc             INFO Added taginfo remove for /RPC/TRIGGER/CM_THR_ETA
+IOVDbSvc             INFO Added taginfo remove for /RPC/TRIGGER/CM_THR_PHI
+IOVDbSvc             INFO Added taginfo remove for /TGC/CABLING/MAP_SCHEMA
+IOVDbSvc             INFO Added taginfo remove for /CSC/FTHOLD
+IOVDbSvc             INFO Added taginfo remove for /CSC/NOISE
+IOVDbSvc             INFO Added taginfo remove for /CSC/PED
+IOVDbSvc             INFO Added taginfo remove for /CSC/PSLOPE
+IOVDbSvc             INFO Added taginfo remove for /CSC/RMS
+IOVDbSvc             INFO Added taginfo remove for /CSC/STAT
+IOVDbSvc             INFO Added taginfo remove for /CSC/T0BASE
+IOVDbSvc             INFO Added taginfo remove for /CSC/T0PHASE
+DetDescrCnvSvc       INFO  initializing 
+DetDescrCnvSvc       INFO Found DetectorStore service
+DetDescrCnvSvc       INFO  filling proxies for detector managers 
+DetDescrCnvSvc       INFO  filling address for CaloTTMgr with CLID 117659265 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for CaloMgr with CLID 4548337 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for CaloSuperCellMgr with CLID 241807251 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for CaloIdManager with CLID 125856940 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for LArIdManager with CLID 79554919 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for IdDict with CLID 2411 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for AtlasID with CLID 164875623 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for PixelID with CLID 2516 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for SCT_ID with CLID 2517 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for TRT_ID with CLID 2518 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for SiliconID with CLID 129452393 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for LArEM_ID with CLID 163583365 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for LArEM_SuperCell_ID with CLID 99488227 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for LArHEC_ID with CLID 3870484 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for LArHEC_SuperCell_ID with CLID 254277678 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for LArFCAL_ID with CLID 45738051 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for LArFCAL_SuperCell_ID with CLID 12829437 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for LArMiniFCAL_ID with CLID 79264204 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for LArOnlineID with CLID 158698068 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for TTOnlineID with CLID 38321944 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for LArOnline_SuperCellID with CLID 115600394 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for LArHVLineID with CLID 27863673 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for LArElectrodeID with CLID 80757351 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for TileID with CLID 2901 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for Tile_SuperCell_ID with CLID 49557789 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for TileHWID with CLID 2902 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for TileTBID with CLID 2903 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for MDTIDHELPER with CLID 4170 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for CSCIDHELPER with CLID 4171 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for RPCIDHELPER with CLID 4172 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for TGCIDHELPER with CLID 4173 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for STGCIDHELPER with CLID 4174 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for MMIDHELPER with CLID 4175 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for CaloLVL1_ID with CLID 108133391 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for CaloCell_ID with CLID 123500438 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for CaloCell_SuperCell_ID with CLID 128365736 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for CaloDM_ID with CLID 167756483 and storage type 68 to detector store 
+DetDescrCnvSvc       INFO  filling address for ZdcID with CLID 190591643 and storage type 68 to detector store 
+GeoModelSvc.Muo...   INFO Initializing ...
+GeoModelSvc::RD...WARNING  Getting PixTBMatComponents with default tag
+GeoModelSvc::RD...WARNING  Getting PixTBMaterials with default tag
+GeoModelSvc::RD...WARNING  Getting InDetMatComponents with default tag
+GeoModelSvc::RD...WARNING  Getting InDetMaterials with default tag
+GeoModelSvc.Muo...   INFO Properties have been set as follows: 
+GeoModelSvc.Muo...   INFO     LayoutName                     R
+GeoModelSvc.Muo...   INFO     IncludeCutouts                 0
+GeoModelSvc.Muo...   INFO     IncludeCutoutsBog              0
+GeoModelSvc.Muo...   INFO     IncludeCtbBis                  0
+GeoModelSvc.Muo...   INFO     ControlAlines                  111111
+GeoModelSvc.Muo...   INFO     MinimalGeoFlag                 0
+GeoModelSvc.Muo...   INFO     EnableCscIntAlignment          0
+GeoModelSvc.Muo...   INFO     EnableCscIntAlignmentFromGM    1
+GeoModelSvc.Muo...   INFO     ControlCscIntAlines   reset to 0
+GeoModelSvc.Muo...   INFO     EnableMdtDeformations          0
+GeoModelSvc.Muo...   INFO     EnableMdtAsBuiltParameters     0
+MuonGeoModel         INFO MuonDetectorFactory - constructor  MuonSystem OuterRadius 13000 Length 22030
+MuGM:MuonFactory     INFO MuonLayout set to <R.08.01> = Development version for DC3 - infrastructures 
+MuGM:MuonFactory     INFO                    BOG cutouts are activated 1 , all other cutouts are disabled 1
+MuGM:MuonFactory     INFO Manager created for geometry version R.08.01 from DB MuonVersion <MuonSpectrometer-R.08.01>
+MuonGeoModel_MYSQL   INFO GeometryVersion set to <R.08.01>
+MuGM:MuonFactory     INFO Mysql helper class created here for geometry version R.08.01 from DB MuonVersion <MuonSpectrometer-R.08.01>
+EventPersistenc...   INFO Added successfully Conversion service:ByteStreamCnvSvc
+EventPersistenc...   INFO Added successfully Conversion service:AthenaPoolCnvSvc
+EventPersistenc...   INFO Added successfully Conversion service:DetDescrCnvSvc
+MDT_IDDetDescrCnv    INFO in createObj: creating a MdtIdHelper object in the detector store
+IdDictDetDescrCnv    INFO in initialize
+IdDictDetDescrCnv    INFO in createObj: creating a IdDictManager object in the detector store
+IdDictDetDescrCnv    INFO IdDictName:  IdDictParser/ATLAS_IDS.xml
+IdDictDetDescrCnv    INFO Reading InnerDetector    IdDict file InDetIdDictFiles/IdDictInnerDetector_IBL3D25-03.xml
+IdDictDetDescrCnv    INFO Reading LArCalorimeter   IdDict file IdDictParser/IdDictLArCalorimeter_DC3-05-Comm-01.xml
+IdDictDetDescrCnv    INFO Reading TileCalorimeter  IdDict file IdDictParser/IdDictTileCalorimeter.xml
+IdDictDetDescrCnv    INFO Reading Calorimeter      IdDict file IdDictParser/IdDictCalorimeter_L1Onl.xml
+IdDictDetDescrCnv    INFO Reading MuonSpectrometer IdDict file IdDictParser/IdDictMuonSpectrometer_R.03.xml
+IdDictDetDescrCnv    INFO Reading ForwardDetectors IdDict file IdDictParser/IdDictForwardDetectors_2010.xml
+IdDictDetDescrCnv    INFO Found id dicts:
+IdDictDetDescrCnv    INFO Using dictionary tag: null
+IdDictDetDescrCnv    INFO Dictionary ATLAS                version default              DetDescr tag (using default) file 
+IdDictDetDescrCnv    INFO Dictionary Calorimeter          version default              DetDescr tag CaloIdentifier-LVL1-02 file IdDictParser/IdDictCalorimeter_L1Onl.xml
+IdDictDetDescrCnv    INFO Dictionary ForwardDetectors     version default              DetDescr tag ForDetIdentifier-01       file IdDictParser/IdDictForwardDetectors_2010.xml
+IdDictDetDescrCnv    INFO Dictionary InnerDetector        version IBL-DBM              DetDescr tag InDetIdentifier-IBL3D25-02 file InDetIdDictFiles/IdDictInnerDetector_IBL3D25-03.xml
+IdDictDetDescrCnv    INFO Dictionary LArCalorimeter       version fullAtlas            DetDescr tag LArIdentifier-DC3-05-Comm file IdDictParser/IdDictLArCalorimeter_DC3-05-Comm-01.xml
+IdDictDetDescrCnv    INFO Dictionary LArElectrode         version fullAtlas            DetDescr tag (using default) file 
+IdDictDetDescrCnv    INFO Dictionary LArHighVoltage       version fullAtlas            DetDescr tag (using default) file 
+IdDictDetDescrCnv    INFO Dictionary MuonSpectrometer     version R.03                 DetDescr tag MuonIdentifier-08         file IdDictParser/IdDictMuonSpectrometer_R.03.xml
+IdDictDetDescrCnv    INFO Dictionary TileCalorimeter      version fullAtlasAndTestBeam DetDescr tag TileIdentifier-00         file IdDictParser/IdDictTileCalorimeter.xml
+AtlasDetectorIDHelper::initialize_from_dictionary - Warning: unable to find mm region index: group, region size 0 0
+AtlasDetectorIDHelper::initialize_from_dictionary - Warning: unable to find stgc region index: group, region size 0 0
+AtlasDetectorID::initLevelsFromDict - there are no sTGC entries in the dictionary! 
+AtlasDetectorID::initLevelsFromDict - there are no MM entries in the dictionary! 
+ AtlasDetectorID::initialize_from_dictionary - OK 
+MdtIdHelper          INFO MultiRange built successfully to Technology: MultiRange size is 210
+MdtIdHelper          INFO MultiRange built successfully to detector element: Multilayer MultiRange size is 241
+MdtIdHelper          INFO MultiRange built successfully to tube: MultiRange size is 241
+MdtIdHelper          INFO Initializing MDT hash indices ... 
+MdtIdHelper          INFO The element hash max is 1188
+MdtIdHelper          INFO The detector element hash max is 2328
+MdtIdHelper          INFO Initializing MDT hash indices for finding neighbors ... 
+MuGM:MuonFactory     INFO MDTIDHELPER retrieved from DetStore
+RPC_IDDetDescrCnv    INFO in createObj: creating a RpcIdHelper object in the detector store
+AtlasDetectorIDHelper::initialize_from_dictionary - Warning: unable to find mm region index: group, region size 0 0
+AtlasDetectorIDHelper::initialize_from_dictionary - Warning: unable to find stgc region index: group, region size 0 0
+AtlasDetectorID::initLevelsFromDict - there are no sTGC entries in the dictionary! 
+AtlasDetectorID::initLevelsFromDict - there are no MM entries in the dictionary! 
+ AtlasDetectorID::initialize_from_dictionary - OK 
+RpcIdHelper          INFO MultiRange built successfully to doubletR: MultiRange size is 241
+RpcIdHelper          INFO MultiRange built successfully to detectorElement: DetectorElement MultiRange size is 241
+RpcIdHelper          INFO MultiRange built successfully to rpcStrip: MultiRange size is 241
+RpcIdHelper          INFO Initializing RPC hash indices ... 
+RpcIdHelper          INFO The element hash max is 600
+RpcIdHelper          INFO The detector element hash max is 1122
+RpcIdHelper          INFO Initializing RPC hash indices for finding neighbors ... 
+MuGM:MuonFactory     INFO RPCIDHELPER retrieved from DetStore
+TGC_IDDetDescrCnv    INFO in createObj: creating a TgcIdHelper object in the detector store
+AtlasDetectorIDHelper::initialize_from_dictionary - Warning: unable to find mm region index: group, region size 0 0
+AtlasDetectorIDHelper::initialize_from_dictionary - Warning: unable to find stgc region index: group, region size 0 0
+AtlasDetectorID::initLevelsFromDict - there are no sTGC entries in the dictionary! 
+AtlasDetectorID::initLevelsFromDict - there are no MM entries in the dictionary! 
+ AtlasDetectorID::initialize_from_dictionary - OK 
+TgcIdHelper          INFO MultiRange built successfully to Technology: MultiRange size is 210
+TgcIdHelper          INFO MultiRange built successfully to detector element: Multilayer MultiRange size is 210
+TgcIdHelper          INFO MultiRange built successfully to channel: MultiRange size is 241
+TgcIdHelper          INFO Initializing TGC hash indices ... 
+TgcIdHelper          INFO The element hash max is 1578
+TgcIdHelper          INFO The detector element hash max is 1578
+TgcIdHelper          INFO Initializing TGC hash indices for finding neighbors ... 
+MuGM:MuonFactory     INFO TGCIDHELPER retrieved from DetStore
+CSC_IDDetDescrCnv    INFO in createObj: creating a CcscIdHelper object in the detector store
+AtlasDetectorIDHelper::initialize_from_dictionary - Warning: unable to find mm region index: group, region size 0 0
+AtlasDetectorIDHelper::initialize_from_dictionary - Warning: unable to find stgc region index: group, region size 0 0
+AtlasDetectorID::initLevelsFromDict - there are no sTGC entries in the dictionary! 
+AtlasDetectorID::initLevelsFromDict - there are no MM entries in the dictionary! 
+ AtlasDetectorID::initialize_from_dictionary - OK 
+CscIdHelper          INFO MultiRange built successfully to Technology: MultiRange size is 210
+CscIdHelper          INFO MultiRange built successfully to detector element: Multilayer MultiRange size is 237
+CscIdHelper          INFO MultiRange built successfully to cscStrip: MultiRange size is 241
+CscIdHelper          INFO Initializing CSC hash indices ... 
+CscIdHelper          INFO The element hash max is 32
+CscIdHelper          INFO The detector element hash max is 64
+CscIdHelper          INFO The channel hash max is 61440
+CscIdHelper          INFO Initializing CSC hash indices for finding neighbors ... 
+MuGM:MuonFactory     INFO CSCIDHELPER retrieved from DetStore
+sTGC_IDDetDescrCnv   INFO in createObj: creating a sTgcIdHelper object in the detector store
+AtlasDetectorIDHelper::initialize_from_dictionary - Warning: unable to find mm region index: group, region size 0 0
+AtlasDetectorIDHelper::initialize_from_dictionary - Warning: unable to find stgc region index: group, region size 0 0
+AtlasDetectorID::initLevelsFromDict - there are no sTGC entries in the dictionary! 
+AtlasDetectorID::initLevelsFromDict - there are no MM entries in the dictionary! 
+ AtlasDetectorID::initialize_from_dictionary - OK 
+MuGM:MuonFactory     INFO STGCIDHELPER retrieved from DetStore
+MM_IDDetDescrCnv     INFO in createObj: creating a MmIdHelper object in the detector store
+AtlasDetectorIDHelper::initialize_from_dictionary - Warning: unable to find mm region index: group, region size 0 0
+AtlasDetectorIDHelper::initialize_from_dictionary - Warning: unable to find stgc region index: group, region size 0 0
+AtlasDetectorID::initLevelsFromDict - there are no sTGC entries in the dictionary! 
+AtlasDetectorID::initLevelsFromDict - there are no MM entries in the dictionary! 
+ AtlasDetectorID::initialize_from_dictionary - OK 
+MuGM:MuonFactory     INFO MMIDHELPER retrieved from DetStore
+MuGM:MuonFactory     INFO  **************** MuonDetectorFactory001 ************************
+MuGM:MuonFactory     INFO  *** Start building the Muon Geometry Tree **********************
+RDBAccessSvc      WARNING Could not get the tag for XtomoData node. Returning 0 pointer to IRDBQuery
+MuGM:RDBReadAtlas    INFO After getQuery XtomoData
+In DblQ00Xtomo(data)
+No XtomoData table in the MuonDD Database
+MuGM:RDBReadAtlas    INFO After new DblQ00Xtomo
+MuGM:RDBReadAtlas    INFO After m_dhxtomo.data()
+MuGM:RDBReadAtlas    INFO No Ascii aszt input found: looking for A-lines in ORACLE
+MuGM:RDBReadAtlas    INFO ASZT table found in Oracle
+MuGM:RDBReadAtlas    INFO ASZT size is 32
+MuGM:RDBReadAtlas    INFO No Ascii iacsc input found: looking for A-lines in ORACLE
+RDBAccessSvc      WARNING Could not get the tag for ISZT node. Returning 0 pointer to IRDBQuery
+MuGM:RDBReadAtlas    INFO No ISZT table in Oracle
+MuGM:RDBReadAtlas    INFO Access granted for all dbObjects needed by muon detectors
+MuonGeoModel_MYSQL   INFO LayoutName (from DBAM) set to <R.08>  -- relevant for CTB2004
+MuGM:ProcStations    INFO  Processing Stations and Components
+MuGM:ProcStations    INFO  Processing Stations and Components DONE
+MuGM:ProcTechnol.s   INFO nMDT 13 nCSC 2 nTGC 22 nRPC 25
+MuGM:ProcTechnol.s   INFO nDED 2 nSUP 4 nSPA 2
+MuGM:ProcTechnol.s   INFO nCHV 7 nCRO 7 nCMI 6 nLBI 6
+MuGM:ProcPosition    INFO  *** N. of stations positioned in the setup 234
+MuGM:ProcPosition    INFO  *** N. of stations described in mysql      234
+MuGM:ProcPosition    INFO  *** N. of types  32 size of jtypvec 32
+MuGM:ProcPosition    INFO  *** : 234 kinds of stations (type*sub_type) 
+MuGM:ProcPosition    INFO  *** : 1758 physical stations in space - according to the MuonDD DataBase
+MuGM:ProcCutouts     INFO  Processing Cutouts for geometry layout R.08
+MuGM:ProcCutouts     INFO  Processing Cutouts DONE
+MuGM:RDBReadAtlas    INFO  ProcessTGCreadout - version 7 wirespacing 1.8
+MuGM:RDBReadAtlas    INFO Intermediate Objects built from primary numbers
+MuGM:MuonFactory     INFO  theMaterialManager retrieven successfully from the DetStore
+MuGM:MuonFactory     INFO  TreeTop added to the Manager
+MuGM:MuonFactory     INFO  Muon Layout R.08.01
+MuGM:MuonFactory     INFO Fine Clash Fixing disabled: (should be ON/OFF for Simulation/Reconstruction)
+MuGM:MuonFactory     INFO  **************** MuonDetectorFactory001 ****************************
+MuGM:MuonFactory     INFO  *** The Muon Chamber Geometry Tree is built with 
+MuGM:MuonFactory     INFO  *** 1758 child volumes 
+MuGM:MuonFactory     INFO  *** 1839 independent elements and 
+MuGM:MuonFactory     INFO  *** 11473 elements cloned or shared 
+MuGM:MuonFactory     INFO  *** 234 kinds of stations
+MuGM:MuonFactory     INFO  *** 1758 stations with alignable transforms
+MuGM:MuonFactory     INFO  *** 148 stations are described as Assemblies
+MuGM:MuonFactory     INFO  *** 1758 MuonStations 
+MuGM:MuonFactory     INFO  *** 	 2324 MDT Readout Elements 	 1186 MDT Detector Elements 
+MuGM:MuonFactory     INFO  *** 	 32 CSC Readout Elements 	 32 CSC Detector Elements 
+MuGM:MuonFactory     INFO  *** 	 1122 RPC Readout Elements 	 600 RPC Detector Elements 
+MuGM:MuonFactory     INFO  *** 	 1578 TGC Readout Elements 	 1578 TGC Detector Elements 
+MuGM:MuonFactory     INFO  ********************************************************************
+MuGM:MuonFactory     INFO  *** Inert Material built according to DB switches and config. ****** 
+MuGM:MuonFactory     INFO  *** The Muon Geometry Tree has 1758 child vol.s in total ********
+MuGM:MuonFactory     INFO  ********************************************************************
+
+MGM::MuonDetect...   INFO Init A/B Line Containers - done - size is respectively 1758/0
+MGM::MuonDetect...   INFO No Aline for CSC wire layers loaded 
+GeoModelSvc.Muo...   INFO CondAttrListCollection not found in the DetectorStore
+GeoModelSvc.Muo...   INFO Unable to register callback on CondAttrListCollection for any folder in the list 
+GeoModelSvc.Muo...   INFO This is OK unless you expect to read alignment and deformations from COOL 
+CondInputLoader      INFO Initializing CondInputLoader...
+CondInputLoader      INFO Adding base classes:
+  +  ( 'CondAttrListCollection' , 'ConditionStore+/EXT/DCS/MAGNETS/SENSORDATA' )   ->
+  +  ( 'CondAttrListCollection' , 'ConditionStore+/MDT/CABLING/MAP_SCHEMA' )   ->
+  +  ( 'CondAttrListCollection' , 'ConditionStore+/MDT/CABLING/MEZZANINE_SCHEMA' )   ->
+CondInputLoader      INFO Will create WriteCondHandle dependencies for the following DataObjects:
+    +  ( 'CondAttrListCollection' , 'ConditionStore+/EXT/DCS/MAGNETS/SENSORDATA' ) 
+    +  ( 'CondAttrListCollection' , 'ConditionStore+/MDT/CABLING/MAP_SCHEMA' ) 
+    +  ( 'CondAttrListCollection' , 'ConditionStore+/MDT/CABLING/MEZZANINE_SCHEMA' ) 
+RpcRawDataProvider   INFO RpcRawDataProvider::initialize
+RpcRawDataProvider   INFO  'DoSeededDecoding':False
+ToolSvc.RPCCabl...   INFO Initializing - folders names are: conf /RPC/CABLING/MAP_SCHEMA / corr /RPC/CABLING/MAP_SCHEMA_CORR
+MuonRPC_CablingSvc   INFO RPCCablingDbTool retrieved with statusCode = SUCCESS with handle TheRpcCablingDbTool = PublicToolHandle('RPCCablingDbTool/RPCCablingDbTool')
+MuonRPC_CablingSvc   INFO Register call-back  against 2 folders listed below 
+MuonRPC_CablingSvc   INFO  Folder n. 1 </RPC/CABLING/MAP_SCHEMA>     found in the DetStore
+MuonRPC_CablingSvc   INFO initMappingModel registered for call-back against folder </RPC/CABLING/MAP_SCHEMA>
+MuonRPC_CablingSvc   INFO  Folder n. 2 </RPC/CABLING/MAP_SCHEMA_CORR>     found in the DetStore
+MuonRPC_CablingSvc   INFO initMappingModel registered for call-back against folder </RPC/CABLING/MAP_SCHEMA_CORR>
+MuonRPC_CablingSvc   INFO RPCTriggerDbTool retrieved with statusCode = SUCCESS pointer = TheRpcTriggerDbTool = PublicToolHandle('RPCTriggerDbTool')
+MuonRPC_CablingSvc   INFO Register call-back  against 2 folders listed below 
+MuonRPC_CablingSvc   INFO  Folder n. 1 </RPC/TRIGGER/CM_THR_ETA>     found in the DetStore
+MuonRPC_CablingSvc   INFO initTrigRoadsModel registered for call-back against folder </RPC/TRIGGER/CM_THR_ETA>
+MuonRPC_CablingSvc   INFO  Folder n. 2 </RPC/TRIGGER/CM_THR_PHI>     found in the DetStore
+MuonRPC_CablingSvc   INFO initTrigRoadsModel registered for call-back against folder </RPC/TRIGGER/CM_THR_PHI>
+RpcRawDataProvi...   INFO Retrieved tool Decoder = PrivateToolHandle('Muon::RpcROD_Decoder/RpcROD_Decoder')
+RpcRawDataProvi...   INFO Retrieved service ServiceHandle('ROBDataProviderSvc')
+RpcRawDataProvi...   INFO  Tool = RpcRawDataProvider.RPC_RawDataProviderTool is connected to JobOptionsSvc Service = JobOptionsSvc
+RpcRawDataProvi...   INFO initialize() successful in RpcRawDataProvider.RPC_RawDataProviderTool
+TgcRawDataProvider   INFO TgcRawDataProvider::initialize
+TgcRawDataProvi...   INFO initialize() successful in TgcRawDataProvider.TGC_RawDataProviderTool.TgcROD_Decoder
+TgcRawDataProvi...   INFO Retrieved tool Decoder = PrivateToolHandle('Muon::TGC_RodDecoderReadout/TgcROD_Decoder')
+TgcRawDataProvi...   INFO Retrieved service ServiceHandle('ROBDataProviderSvc')
+TgcRawDataProvi...   INFO  Tool = TgcRawDataProvider.TGC_RawDataProviderTool is connected to JobOptionsSvc Service = JobOptionsSvc
+MuonTGC_CablingSvc   INFO for 1/12 sector initialize
+ToolSvc.TGCCabl...   INFO initialize
+TgcRawDataProvi...   INFO initialize() successful in TgcRawDataProvider.TGC_RawDataProviderTool
+MdtRawDataProvider   INFO MdtRawDataProvider::initialize
+MdtRawDataProvi...VERBOSE Starting init
+MdtRawDataProvi...VERBOSE Getting m_robDataProvider
+MdtRawDataProvi...   INFO Retrieved service ServiceHandle('ROBDataProviderSvc')
+MdtRawDataProvi...VERBOSE Getting MuonDetectorManager
+MdtRawDataProvi...VERBOSE Getting m_decoder
+MdtRawDataProvi...   INFO Processing configuration for layouts with BME chambers.
+MdtRawDataProvi...   INFO Processing configuration for layouts with BMG chambers.
+MdtRawDataProvi...   INFO Retrieved tool Decoder = PrivateToolHandle('MdtROD_Decoder/MdtROD_Decoder')
+MdtRawDataProvi...   INFO  Tool = MdtRawDataProvider.MDT_RawDataProviderTool is connected to JobOptionsSvc Service = JobOptionsSvc
+MdtRawDataProvi...  DEBUG Could not find TrigConf::HLTJobOptionsSvc
+MdtRawDataProvi...   INFO initialize() successful in MdtRawDataProvider.MDT_RawDataProviderTool
+MdtRawDataProvi...  DEBUG Adding private ToolHandle tool MdtRawDataProvider.MDT_RawDataProviderTool.MdtROD_Decoder (MdtROD_Decoder)
+CscRawDataProvi...VERBOSE ServiceLocatorHelper::service: found service ActiveStoreSvc
+CscRawDataProvi...   INFO Retrieved service ServiceHandle('ROBDataProviderSvc')
+CscRawDataProvi...VERBOSE ServiceLocatorHelper::service: found service JobOptionsSvc
+CscRawDataProvi...   INFO  Tool = CscRawDataProvider.CSC_RawDataProviderTool is connected to JobOptionsSvc Service = JobOptionsSvc
+CscRawDataProvi...  DEBUG Could not find TrigConf::HLTJobOptionsSvc
+CscRawDataProvi...  DEBUG  Found the CscIdHelper. 
+CscRawDataProvi...   INFO Retrieved tool Decoder = PrivateToolHandle('Muon::CscROD_Decoder/CscROD_Decoder')
+CscRawDataProvi...   INFO The Muon Geometry version is R.08.01
+CscRawDataProvi...   INFO initialize() successful in CscRawDataProvider.CSC_RawDataProviderTool
+CscRawDataProvi...  DEBUG Adding private ToolHandle tool CscRawDataProvider.CSC_RawDataProviderTool.CscROD_Decoder (Muon::CscROD_Decoder)
+RpcRdoToRpcPrep...   INFO properties are 
+RpcRdoToRpcPrep...   INFO processingData                     0
+RpcRdoToRpcPrep...   INFO produceRpcCoinDatafromTriggerWords 1
+RpcRdoToRpcPrep...   INFO reduceCablingOverlap               1
+RpcRdoToRpcPrep...   INFO solvePhiAmbiguities                1
+RpcRdoToRpcPrep...   INFO timeShift                          -12.5
+RpcRdoToRpcPrep...   INFO etaphi_coincidenceTime             20
+RpcRdoToRpcPrep...   INFO overlap_timeTolerance              10
+RpcRdoToRpcPrep...   INFO Correct prd time from cool db      0
+RpcRdoToRpcPrep...   INFO Rpc Cabling Svc name is dataLike
+RpcRdoToRpcPrep...   INFO Retrieved DecodingTool = PrivateToolHandle('Muon::RpcRdoToPrepDataTool/RpcRdoToRpcPrepDataTool')
+TgcRdoToTgcPrep...   INFO initialize() successful in TgcRdoToTgcPrepData.TgcRdoToTgcPrepDataTool
+TgcRdoToTgcPrep...   INFO Retrieved DecodingTool = PrivateToolHandle('Muon::TgcRdoToPrepDataTool/TgcRdoToTgcPrepDataTool')
+MdtCalibrationSvc    INFO Processing configuration for layouts with BMG chambers.
+AtlasFieldSvc        INFO initialize() ...
+AtlasFieldSvc        INFO maps will be chosen reading COOL folder /GLOBAL/BField/Maps
+AtlasFieldSvc        INFO magnet currents will be read from COOL folder /EXT/DCS/MAGNETS/SENSORDATA
+AtlasFieldSvc        INFO Booked callback for /EXT/DCS/MAGNETS/SENSORDATA
+AtlasFieldSvc        INFO initialize() successful
+MdtRdoToMdtPrep...   INFO Processing configuration for layouts with BME chambers.
+MdtRdoToMdtPrep...   INFO Processing configuration for layouts with BMG chambers.
+MdtRdoToMdtPrep...   INFO Retrieved DecodingTool = PrivateToolHandle('Muon::MdtRdoToPrepDataTool/MdtRdoToMdtPrepDataTool')
+CscRdoToCscPrep...   INFO The Geometry version is MuonSpectrometer-R.08.01
+CscRdoToCscPrep...   INFO Retrieved service ServiceHandle('ROBDataProviderSvc')
+CscRdoToCscPrep...   INFO  Tool = CscRdoToCscPrepData.CscRdoToCscPrepDataTool.CSC_RawDataProviderTool is connected to JobOptionsSvc Service = JobOptionsSvc
+CscRdoToCscPrep...   INFO Retrieved tool Decoder = PrivateToolHandle('Muon::CscROD_Decoder/CscROD_Decoder')
+CscRdoToCscPrep...   INFO The Muon Geometry version is R.08.01
+CscRdoToCscPrep...   INFO initialize() successful in CscRdoToCscPrepData.CscRdoToCscPrepDataTool.CSC_RawDataProviderTool
+MuonCalib::CscC...   INFO Initializing CscCoolStrSvc
+CscRdoToCscPrep...   INFO Retrieved CscRdoToCscPrepDataTool = PrivateToolHandle('Muon::CscRdoToCscPrepDataTool/CscRdoToCscPrepDataTool')
+CscRdoToCscPrep...WARNING Implicit circular data dependency detected for id  ( 'CscRawDataContainer' , 'StoreGateSvc+CSCRDO' ) 
+HistogramPersis...WARNING Histograms saving not required.
+EventSelector     WARNING InputCollections not properly set, checking EventStorageInputSvc properties
+EventSelector        INFO Retrieved StoreGateSvc name of  '':StoreGateSvc
+EventSelector        INFO reinitialization...
+ToolSvc.Luminos...   INFO LuminosityTool::initialize() registering 
+ToolSvc.Luminos...   INFO LumiFolderName is empty, skipping
+ToolSvc.Luminos...   INFO OnlineLumiCalibrationTool.empty() is TRUE, skipping...
+ToolSvc.Luminos...   INFO FillParamsTool.empty() is TRUE, skipping...
+ToolSvc.Luminos...   INFO BunchLumisTool.empty() is TRUE, skipping...
+ToolSvc.Luminos...   INFO BunchGroupTool.empty() is TRUE, skipping...
+ToolSvc.Luminos...   INFO LBLBFolderName is empty, skipping...
+EventSelector        INFO Retrieved InputCollections from InputSvc
+EventSelector        INFO reinitialization...
+AthenaEventLoopMgr   INFO Setup EventSelector service EventSelector
+ApplicationMgr       INFO Application Manager Initialized successfully
+ByteStreamInputSvc   INFO Picked valid file: /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TrigP1Test/data17_13TeV.00327265.physics_EnhancedBias.merge.RAW._lb0100._SFO-1._0001.1
+CondInputLoader      INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/EXT/DCS/MAGNETS/SENSORDATA'
+CondInputLoader      INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/MDT/CABLING/MAP_SCHEMA'
+CondInputLoader      INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/MDT/CABLING/MEZZANINE_SCHEMA'
+ApplicationMgr       INFO Application Manager Started successfully
+EventInfoByteSt...   INFO UserType : RawEvent
+EventInfoByteSt...   INFO IsSimulation : 0
+EventInfoByteSt...   INFO IsTestbeam : 0
+EventInfoByteSt...   INFO IsCalibration : 0
+EventInfoByteSt...   INFO  EventContext not valid 
+AthenaEventLoopMgr   INFO   ===>>>  start of run 327265    <<<===
+EventPersistenc...   INFO Added successfully Conversion service:TagInfoMgr
+IOVDbSvc             INFO Opening COOL connection for COOLOFL_DCS/CONDBR2
+IOVDbSvc             INFO Disconnecting from COOLOFL_DCS/CONDBR2
+IOVDbSvc             INFO Opening COOL connection for COOLONL_GLOBAL/CONDBR2
+IOVDbFolder          INFO HVS tag CONDBR2-BLKPA-2018-13 resolved to BFieldMap-Run1-14m-v01 for folder /GLOBAL/BField/Maps
+IOVDbSvc             INFO Disconnecting from COOLONL_GLOBAL/CONDBR2
+IOVDbSvc             INFO Opening COOL connection for COOLONL_RPC/CONDBR2
+IOVDbFolder          INFO HVS tag CONDBR2-BLKPA-2018-13 resolved to RPCCablingMapSchema_2016_2017_01 for folder /RPC/CABLING/MAP_SCHEMA
+IOVDbFolder          INFO HVS tag CONDBR2-BLKPA-2018-13 resolved to RPCCablingMapSchemaCorr_2016_2017_01 for folder /RPC/CABLING/MAP_SCHEMA_CORR
+IOVDbFolder          INFO HVS tag CONDBR2-BLKPA-2018-13 resolved to RPCTriggerCMThrEta_RUN1-RUN2-HI-02 for folder /RPC/TRIGGER/CM_THR_ETA
+IOVDbFolder          INFO HVS tag CONDBR2-BLKPA-2018-13 resolved to RPCTriggerCMThrPhi_RUN1-RUN2-HI-02 for folder /RPC/TRIGGER/CM_THR_PHI
+IOVDbSvc             INFO Disconnecting from COOLONL_RPC/CONDBR2
+IOVDbSvc             INFO Opening COOL connection for COOLONL_TGC/CONDBR2
+IOVDbFolder          INFO HVS tag CONDBR2-BLKPA-2018-13 resolved to TgcCablingMapschema-RUN2-20100908-ASD2PPONL for folder /TGC/CABLING/MAP_SCHEMA
+IOVDbSvc             INFO Disconnecting from COOLONL_TGC/CONDBR2
+IOVDbSvc             INFO Opening COOL connection for COOLOFL_CSC/CONDBR2
+IOVDbFolder          INFO HVS tag CONDBR2-BLKPA-2018-13 resolved to CscFthold-RUN2-BLK-UPD1-007-00 for folder /CSC/FTHOLD
+IOVDbFolder          INFO HVS tag CONDBR2-BLKPA-2018-13 resolved to CscNoise-RUN2-BLK-UPD1-007-00 for folder /CSC/NOISE
+IOVDbFolder          INFO HVS tag CONDBR2-BLKPA-2018-13 resolved to CscPed-RUN2-BLK-UPD1-007-00 for folder /CSC/PED
+IOVDbFolder          INFO HVS tag CONDBR2-BLKPA-2018-13 resolved to CscPslope-RUN2-BLK-UPD1-000-00 for folder /CSC/PSLOPE
+IOVDbFolder          INFO HVS tag CONDBR2-BLKPA-2018-13 resolved to CscRms-RUN2-BLK-UPD1-003-00 for folder /CSC/RMS
+IOVDbFolder          INFO HVS tag CONDBR2-BLKPA-2018-13 resolved to CscStat-RUN2-BLK-UPD1-008-00 for folder /CSC/STAT
+IOVDbFolder          INFO HVS tag CONDBR2-BLKPA-2018-13 resolved to CscT0base-RUN2-BLK-UPD1-001-00 for folder /CSC/T0BASE
+IOVDbFolder          INFO HVS tag CONDBR2-BLKPA-2018-13 resolved to CscT0phase-RUN2-BLK-UPD2-001-00 for folder /CSC/T0PHASE
+IOVDbSvc             INFO Disconnecting from COOLOFL_CSC/CONDBR2
+MuonRPC_CablingSvc   INFO initMappingModel has been called
+MuonRPC_CablingSvc   INFO ToolHandle in initMappingModel - <TheRpcCablingDbTool = PublicToolHandle('RPCCablingDbTool/RPCCablingDbTool')>
+MuonRPC_CablingSvc   INFO Retrieving cabling singleton; to create an empty one or to get the existing one
+RPCcabling           INFO CablingRPC---singleton constructor ---- this must be executed just once
+RPCcabling           INFO CablingRPC---The singleton will fill the maps from the COOL streams
+RPCcabling           INFO CablingRPC---InitMaps from COOL cannot be executed NOW: empty string
+RPCcabling           INFO CablingRPC---The singleton is created here
+RPCcabling           INFO CablingRPC--- cacheCleared: s_status = 0
+MuonRPC_CablingSvc   INFO Cabling singleton cache has been cleared
+MuonRPC_CablingSvc   INFO  Trigger roads will be loaded from COOL
+ToolSvc.RPCCabl...   INFO LoadParameters /RPC/CABLING/MAP_SCHEMA I=2 
+ToolSvc.RPCCabl...   INFO loadRPCMap --- Load Map from DB
+ToolSvc.RPCCabl...   INFO Try to read from folder </RPC/CABLING/MAP_SCHEMA>
+ToolSvc.RPCCabl...   INFO  CondAttrListCollection from DB folder have been obtained with size 1
+ToolSvc.RPCCabl...   INFO Loop over CondAttrListCollection ic = 1
+ToolSvc.RPCCabl...   INFO After Reading folder, Configuration string size is 222202
+ToolSvc.RPCCabl...   INFO LoadParameters /RPC/CABLING/MAP_SCHEMA_CORR I=2 
+ToolSvc.RPCCabl...   INFO loadRPCCorr --- Load Corrections from DB
+ToolSvc.RPCCabl...   INFO Try to read from folder </RPC/CABLING/MAP_SCHEMA_CORR>
+ToolSvc.RPCCabl...   INFO  CondAttrListCollection from DB folder have been obtained with size 1
+ToolSvc.RPCCabl...   INFO After Reading folder, Correction string size is 29369
+MuonRPC_CablingSvc   INFO  InitMappingModel: Trigger roads not yet loaded from COOL - postpone cabling initialization 
+MuonRPC_CablingSvc   INFO initTrigRoadsModel has been called
+MuonRPC_CablingSvc   INFO  Trigger roads will be loaded from COOL
+MuonRPC_CablingSvc   INFO Retrieve the pointer to the cabling singleton 
+RPCcabling           INFO CablingRPC--- cacheCleared: s_status = 0
+MuonRPC_CablingSvc   INFO Cabling singleton cache has been cleared
+ToolSvc.RPCTrig...   INFO LoadParameters /RPC/TRIGGER/CM_THR_ETA I=2 
+ToolSvc.RPCTrig...   INFO LoadParameters /RPC/TRIGGER/CM_THR_PHI I=2 
+MuonRPC_CablingSvc   INFO ======== RPC Trigger Roads from COOL - Header infos ========
+MuonRPC_CablingSvc   INFO 
+RPC LVL1 Configuration 10.6 with roads from Feb 2012
+L1 THRESHOLDS:   MU4 MU6 MU10 MU11 MU15 MU20
+Road version: "road_files_120209"
+CMA            th0    th1   th2
+eta low-pt     mu4    mu6   mu10
+phi low-pt     mu4    mu6   mu10
+eta high-pt    mu11  mu15   mu20
+phi high-pt    mu11  mu15   mu15
+
+
+RPCcabling           INFO CablingRPC---InitMaps from COOL: going to read configuration
+RPCcabling           INFO CablingRPC--- ReadConf: map has size 222202
+RPCcabling           INFO CablingRPC--- ReadConf: map n. of lines read is 924
+RPCcabling           INFO CablingRPC--- ReadConf: version is 5.0 Atlas R_07_03_RUN2ver104
+RPCcabling           INFO CablingRPC--- buildRDOmap
+RPCcabling           INFO CablingRPC---InitMaps from COOL: going to read corrections to configuration
+RPCcabling           INFO CablingRPC--->> RPC cabling corrections from COOL <<
+RPCcabling           INFO CablingRPC--- ReadCorr: CorrMap has size 29369
+RPCcabling           INFO CablingRPC--- ReadConf: CorrMap n. of lines read is 743
+RPCcabling           INFO CablingRPC---InitMaps from COOL - maps have been parsed
+MuonRPC_CablingSvc   INFO InitTrigRoadsModel: RPC cabling model is loaded!
+Level-1 configuration database version 5.0 Atlas R_07_03_RUN2ver104 read.
+Contains 26 Trigger Sector Types:
+negative sectors  0 - 15 ==> 18  2 24  3 19  2 24  4 20  2 24  1 18  5 25  6 
+negative sectors 16 - 31 ==> 21 13 26  6 21  7 16  8 14  7 16  6 21 13 26  1 
+positive sectors 32 - 47 ==>  9 24  2 22  9 24  2 23 10 24  2 18  1 25  5 18 
+positive sectors 48 - 63 ==>  1 26 13 21  6 17 12 15 11 17 12 21  6 26 13 22 
+
+MuonRPC_CablingSvc   INFO buildOfflineOnlineMap
+MuonRPC_CablingSvc   INFO Applying FeetPadThresholds : 0,2,5
+MuonRPC_CablingSvc   INFO MuonRPC_CablingSvc initialized succesfully
+MuonTGC_CablingSvc   INFO updateCableASDToPP called
+ToolSvc.TGCCabl...   INFO loadTGCMap from DB
+ToolSvc.TGCCabl...   INFO CondAttrListCollection from DB folder have been obtained with size 1
+ToolSvc.TGCCabl...   INFO giveASD2PP_DIFF_12 (m_ASD2PP_DIFF_12 is not NULL)
+MdtCalibrationD...   INFO RtKey I=2 TubeKey I=2 
+AtlasFieldSvc        INFO reading magnetic field map filenames from COOL
+AtlasFieldSvc        INFO found map of type GlobalMap with soleCur=7730 toroCur=20400 (path file:MagneticFieldMaps/bfieldmap_7730_20400_14m.root)
+AtlasFieldSvc        INFO found map of type SolenoidMap with soleCur=7730 toroCur=0 (path file:MagneticFieldMaps/bfieldmap_7730_0_14m.root)
+AtlasFieldSvc        INFO found map of type ToroidMap with soleCur=0 toroCur=20400 (path file:MagneticFieldMaps/bfieldmap_0_20400_14m.root)
+AtlasFieldSvc        INFO no need to update map set
+AtlasFieldSvc        INFO Attempt 1 at reading currents from DCS (using channel name)
+AtlasFieldSvc        INFO Trying to read from DCS: [channel name, index, value] CentralSol_Current , 1 , 7729.99
+AtlasFieldSvc        INFO Trying to read from DCS: [channel name, index, value] CentralSol_SCurrent , 2 , 7730
+AtlasFieldSvc        INFO Trying to read from DCS: [channel name, index, value] Toroids_Current , 3 , 20399.9
+AtlasFieldSvc        INFO Trying to read from DCS: [channel name, index, value] Toroids_SCurrent , 4 , 20397.7
+AtlasFieldSvc        INFO Currents read from DCS: solenoid 7729.99 toroid 20399.9
+AtlasFieldSvc        INFO Initializing the field map (solenoidCurrent=7729.99 toroidCurrent=20399.9)
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #186525031, run #327265 0 events processed so far  <<<===
+IOVDbSvc             INFO Opening COOL connection for COOLONL_MDT/CONDBR2
+IOVDbFolder          INFO HVS tag CONDBR2-BLKPA-2018-13 resolved to MDTCablingMapSchema_BMG_01 for folder /MDT/CABLING/MAP_SCHEMA
+IOVDbFolder          INFO HVS tag CONDBR2-BLKPA-2018-13 resolved to MDTCablingMezzanineSchema_M5-RUN2 for folder /MDT/CABLING/MEZZANINE_SCHEMA
+IOVDbSvc             INFO Disconnecting from COOLONL_MDT/CONDBR2
+MuonMDT_CablingAlg   INFO Size of CondAttrListCollection  ( 'CondAttrListCollection' , 'ConditionStore+/MDT/CABLING/MEZZANINE_SCHEMA' )  readCdoMez->size()= 24
+MuonMDT_CablingAlg   INFO Size of CondAttrListCollection  ( 'CondAttrListCollection' , 'ConditionStore+/MDT/CABLING/MAP_SCHEMA' )  readCdoMap->size()= 2312
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
+MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
+MdtRawDataProvi...  DEBUG Created container using cache for MdtCsmCache
+MdtRawDataProvi...  DEBUG fillCollection: starting
+MdtRawDataProvi...  DEBUG **********Decoder dumping the words******** 
+MdtRawDataProvi...  DEBUG The size of this ROD-read is 
+MdtRawDataProvi...  DEBUG word 0 = 8003e994
+MdtRawDataProvi...  DEBUG word 1 = 81040007
+MdtRawDataProvi...  DEBUG word 2 = 18030370
+MdtRawDataProvi...  DEBUG word 3 = 890003ff
+MdtRawDataProvi...  DEBUG word 4 = a3994153
+MdtRawDataProvi...  DEBUG word 5 = 30a403c0
+MdtRawDataProvi...  DEBUG word 6 = 30a004ce
+MdtRawDataProvi...  DEBUG word 7 = 8a994005
+MdtRawDataProvi...  DEBUG word 8 = 8104000d
+MdtRawDataProvi...  DEBUG word 9 = 18030371
+MdtRawDataProvi...  DEBUG word 10 = 89000fff
+MdtRawDataProvi...  DEBUG word 11 = a2994153
+MdtRawDataProvi...  DEBUG word 12 = 306c0472
+MdtRawDataProvi...  DEBUG word 13 = 306804d5
+MdtRawDataProvi...  DEBUG word 14 = a3994153
+MdtRawDataProvi...  DEBUG word 15 = 20080000
+MdtRawDataProvi...  DEBUG word 16 = a4994153
+MdtRawDataProvi...  DEBUG word 17 = 301c0504
+MdtRawDataProvi...  DEBUG word 18 = 30180562
+MdtRawDataProvi...  DEBUG word 19 = 20000010
+MdtRawDataProvi...  DEBUG word 20 = 8a99400b
+MdtRawDataProvi...  DEBUG word 21 = 81040006
+MdtRawDataProvi...  DEBUG word 22 = 18030372
+MdtRawDataProvi...  DEBUG word 23 = 89003fff
+MdtRawDataProvi...  DEBUG word 24 = a6994153
+MdtRawDataProvi...  DEBUG word 25 = 20008000
+MdtRawDataProvi...  DEBUG word 26 = 8a994004
+MdtRawDataProvi...  DEBUG word 27 = 8104000f
+MdtRawDataProvi...  DEBUG word 28 = 18030373
+MdtRawDataProvi...  DEBUG word 29 = 89003fff
+MdtRawDataProvi...  DEBUG word 30 = a0994153
+MdtRawDataProvi...  DEBUG word 31 = 3034054a
+MdtRawDataProvi...  DEBUG word 32 = 303005c2
+MdtRawDataProvi...  DEBUG word 33 = a7994153
+MdtRawDataProvi...  DEBUG word 34 = 3084023a
+MdtRawDataProvi...  DEBUG word 35 = 3080029e
+MdtRawDataProvi...  DEBUG word 36 = a8994153
+MdtRawDataProvi...  DEBUG word 37 = 307c03f6
+MdtRawDataProvi...  DEBUG word 38 = 30ac03f8
+MdtRawDataProvi...  DEBUG word 39 = 307804c4
+MdtRawDataProvi...  DEBUG word 40 = 30a804cb
+MdtRawDataProvi...  DEBUG word 41 = 8a99400d
+MdtRawDataProvi...  DEBUG word 42 = 81040008
+MdtRawDataProvi...  DEBUG word 43 = 18030374
+MdtRawDataProvi...  DEBUG word 44 = 8903ffff
+MdtRawDataProvi...  DEBUG word 45 = af994153
+MdtRawDataProvi...  DEBUG word 46 = 302c05c7
+MdtRawDataProvi...  DEBUG word 47 = 30280664
+MdtRawDataProvi...  DEBUG word 48 = 305c0673
+MdtRawDataProvi...  DEBUG word 49 = 8a994006
+MdtRawDataProvi...  DEBUG word 50 = 81040031
+MdtRawDataProvi...  DEBUG word 51 = 18030375
+MdtRawDataProvi...  DEBUG word 52 = 8903ffff
+MdtRawDataProvi...  DEBUG word 53 = a0994153
+MdtRawDataProvi...  DEBUG word 54 = 3054055c
+MdtRawDataProvi...  DEBUG word 55 = 305005fb
+MdtRawDataProvi...  DEBUG word 56 = a2994153
+MdtRawDataProvi...  DEBUG word 57 = 20010000
+MdtRawDataProvi...  DEBUG word 58 = a8994153
+MdtRawDataProvi...  DEBUG word 59 = 306c034f
+MdtRawDataProvi...  DEBUG word 60 = 309c0349
+MdtRawDataProvi...  DEBUG word 61 = 308c0394
+MdtRawDataProvi...  DEBUG word 62 = 309803d9
+MdtRawDataProvi...  DEBUG word 63 = 304c03f8
+MdtRawDataProvi...  DEBUG word 64 = 30680422
+MdtRawDataProvi...  DEBUG word 65 = 30880439
+MdtRawDataProvi...  DEBUG word 66 = 30bc03f3
+MdtRawDataProvi...  DEBUG word 67 = 3048049a
+MdtRawDataProvi...  DEBUG word 68 = 30b80479
+MdtRawDataProvi...  DEBUG word 69 = 305c05e9
+MdtRawDataProvi...  DEBUG word 70 = 30580652
+MdtRawDataProvi...  DEBUG word 71 = af994153
+MdtRawDataProvi...  DEBUG word 72 = 30940521
+MdtRawDataProvi...  DEBUG word 73 = 30840583
+MdtRawDataProvi...  DEBUG word 74 = 308c0583
+MdtRawDataProvi...  DEBUG word 75 = 309c0585
+MdtRawDataProvi...  DEBUG word 76 = 308005e7
+MdtRawDataProvi...  DEBUG word 77 = 308805f5
+MdtRawDataProvi...  DEBUG word 78 = 3090061d
+MdtRawDataProvi...  DEBUG word 79 = 309805f1
+MdtRawDataProvi...  DEBUG word 80 = 30a40587
+MdtRawDataProvi...  DEBUG word 81 = 30ac0588
+MdtRawDataProvi...  DEBUG word 82 = 30b40589
+MdtRawDataProvi...  DEBUG word 83 = 30bc058d
+MdtRawDataProvi...  DEBUG word 84 = 30a005fc
+MdtRawDataProvi...  DEBUG word 85 = 30a805f2
+MdtRawDataProvi...  DEBUG word 86 = 30b005e7
+MdtRawDataProvi...  DEBUG word 87 = 30b805d8
+MdtRawDataProvi...  DEBUG word 88 = b0994153
+MdtRawDataProvi...  DEBUG word 89 = 306c0082
+MdtRawDataProvi...  DEBUG word 90 = 3068012b
+MdtRawDataProvi...  DEBUG word 91 = 303c01ed
+MdtRawDataProvi...  DEBUG word 92 = 30380250
+MdtRawDataProvi...  DEBUG word 93 = 306c0556
+MdtRawDataProvi...  DEBUG word 94 = 306805a3
+MdtRawDataProvi...  DEBUG word 95 = 20004000
+MdtRawDataProvi...  DEBUG word 96 = b1994153
+MdtRawDataProvi...  DEBUG word 97 = 20010000
+MdtRawDataProvi...  DEBUG word 98 = 8a99402f
+MdtRawDataProvi...  DEBUG word 99 = f0000064
+MdtRawDataProvi...  DEBUG Found the beginning of buffer 
+MdtRawDataProvi...  DEBUG Level 1 Id : 256404
+MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
+MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 0 csmId : 0
+MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
+MdtRawDataProvi...  DEBUG Name : 0
+MdtRawDataProvi...  DEBUG Eta  : 1
+MdtRawDataProvi...  DEBUG Phi  : 1
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 3
+MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
+MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 0 csmId : 1
+MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
+MdtRawDataProvi...  DEBUG Name : 0
+MdtRawDataProvi...  DEBUG Eta  : 2
+MdtRawDataProvi...  DEBUG Phi  : 1
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 2
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 3
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 4
+MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
+MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 0 csmId : 2
+MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
+MdtRawDataProvi...  DEBUG Name : 2
+MdtRawDataProvi...  DEBUG Eta  : 1
+MdtRawDataProvi...  DEBUG Phi  : 1
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 6
+MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
+MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 0 csmId : 3
+MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
+MdtRawDataProvi...  DEBUG Name : 2
+MdtRawDataProvi...  DEBUG Eta  : 2
+MdtRawDataProvi...  DEBUG Phi  : 1
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 0
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 7
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 8
+MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
+MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 0 csmId : 4
+MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
+MdtRawDataProvi...  DEBUG Name : 4
+MdtRawDataProvi...  DEBUG Eta  : 1
+MdtRawDataProvi...  DEBUG Phi  : 1
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 15
+MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
+MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 0 csmId : 5
+MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
+MdtRawDataProvi...  DEBUG Name : 4
+MdtRawDataProvi...  DEBUG Eta  : 2
+MdtRawDataProvi...  DEBUG Phi  : 1
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 0
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 2
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 8
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 15
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 16
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 17
+MdtRawDataProvi...  DEBUG fillCollection: starting
+MdtRawDataProvi...  DEBUG **********Decoder dumping the words******** 
+MdtRawDataProvi...  DEBUG The size of this ROD-read is 
+MdtRawDataProvi...  DEBUG word 0 = 8003e994
+MdtRawDataProvi...  DEBUG word 1 = 81040004
+MdtRawDataProvi...  DEBUG word 2 = 18030210
+MdtRawDataProvi...  DEBUG word 3 = 890003ff
+MdtRawDataProvi...  DEBUG word 4 = 8a994002
+MdtRawDataProvi...  DEBUG word 5 = 81040014
+MdtRawDataProvi...  DEBUG word 6 = 18030211
+MdtRawDataProvi...  DEBUG word 7 = 89000fff
+MdtRawDataProvi...  DEBUG word 8 = a1994153
+MdtRawDataProvi...  DEBUG word 9 = 20000500
+MdtRawDataProvi...  DEBUG word 10 = a3994153
+MdtRawDataProvi...  DEBUG word 11 = 20000028
+MdtRawDataProvi...  DEBUG word 12 = aa994153
+MdtRawDataProvi...  DEBUG word 13 = 303c0116
+MdtRawDataProvi...  DEBUG word 14 = 3038016f
+MdtRawDataProvi...  DEBUG word 15 = 308c0202
+MdtRawDataProvi...  DEBUG word 16 = 3088026b
+MdtRawDataProvi...  DEBUG word 17 = 20100000
+MdtRawDataProvi...  DEBUG word 18 = ab994153
+MdtRawDataProvi...  DEBUG word 19 = 3074012d
+MdtRawDataProvi...  DEBUG word 20 = 30700187
+MdtRawDataProvi...  DEBUG word 21 = 3084015b
+MdtRawDataProvi...  DEBUG word 22 = 308001ca
+MdtRawDataProvi...  DEBUG word 23 = 20140150
+MdtRawDataProvi...  DEBUG word 24 = 8a994012
+MdtRawDataProvi...  DEBUG word 25 = 81040007
+MdtRawDataProvi...  DEBUG word 26 = 18030212
+MdtRawDataProvi...  DEBUG word 27 = 89003fff
+MdtRawDataProvi...  DEBUG word 28 = a3994153
+MdtRawDataProvi...  DEBUG word 29 = 307c0071
+MdtRawDataProvi...  DEBUG word 30 = 30780094
+MdtRawDataProvi...  DEBUG word 31 = 8a994005
+MdtRawDataProvi...  DEBUG word 32 = 81040014
+MdtRawDataProvi...  DEBUG word 33 = 18030213
+MdtRawDataProvi...  DEBUG word 34 = 89003fff
+MdtRawDataProvi...  DEBUG word 35 = a3994153
+MdtRawDataProvi...  DEBUG word 36 = 30b401cb
+MdtRawDataProvi...  DEBUG word 37 = 30bc0213
+MdtRawDataProvi...  DEBUG word 38 = 30b00256
+MdtRawDataProvi...  DEBUG word 39 = 30b802c7
+MdtRawDataProvi...  DEBUG word 40 = 307c032d
+MdtRawDataProvi...  DEBUG word 41 = 30840397
+MdtRawDataProvi...  DEBUG word 42 = 307803e7
+MdtRawDataProvi...  DEBUG word 43 = 308003f1
+MdtRawDataProvi...  DEBUG word 44 = a6994153
+MdtRawDataProvi...  DEBUG word 45 = 30b40533
+MdtRawDataProvi...  DEBUG word 46 = 30740552
+MdtRawDataProvi...  DEBUG word 47 = 30a40588
+MdtRawDataProvi...  DEBUG word 48 = 307005cb
+MdtRawDataProvi...  DEBUG word 49 = 30a00611
+MdtRawDataProvi...  DEBUG word 50 = 30b0063b
+MdtRawDataProvi...  DEBUG word 51 = 8a994012
+MdtRawDataProvi...  DEBUG word 52 = 8104001c
+MdtRawDataProvi...  DEBUG word 53 = 18030214
+MdtRawDataProvi...  DEBUG word 54 = 8903ffff
+MdtRawDataProvi...  DEBUG word 55 = a2994153
+MdtRawDataProvi...  DEBUG word 56 = 30b0002f
+MdtRawDataProvi...  DEBUG word 57 = 3084019b
+MdtRawDataProvi...  DEBUG word 58 = 30800237
+MdtRawDataProvi...  DEBUG word 59 = 20540100
+MdtRawDataProvi...  DEBUG word 60 = a4994153
+MdtRawDataProvi...  DEBUG word 61 = 306c019f
+MdtRawDataProvi...  DEBUG word 62 = 30680214
+MdtRawDataProvi...  DEBUG word 63 = 30140429
+MdtRawDataProvi...  DEBUG word 64 = 30100474
+MdtRawDataProvi...  DEBUG word 65 = 20000ad4
+MdtRawDataProvi...  DEBUG word 66 = a5994153
+MdtRawDataProvi...  DEBUG word 67 = 30bc0362
+MdtRawDataProvi...  DEBUG word 68 = 30b80481
+MdtRawDataProvi...  DEBUG word 69 = a6994153
+MdtRawDataProvi...  DEBUG word 70 = 20004000
+MdtRawDataProvi...  DEBUG word 71 = a8994153
+MdtRawDataProvi...  DEBUG word 72 = 20000820
+MdtRawDataProvi...  DEBUG word 73 = aa994153
+MdtRawDataProvi...  DEBUG word 74 = 20000002
+MdtRawDataProvi...  DEBUG word 75 = ae994153
+MdtRawDataProvi...  DEBUG word 76 = 20000080
+MdtRawDataProvi...  DEBUG word 77 = b0994153
+MdtRawDataProvi...  DEBUG word 78 = 20000200
+MdtRawDataProvi...  DEBUG word 79 = 8a99401a
+MdtRawDataProvi...  DEBUG word 80 = 81040025
+MdtRawDataProvi...  DEBUG word 81 = 18030215
+MdtRawDataProvi...  DEBUG word 82 = 8903ffff
+MdtRawDataProvi...  DEBUG word 83 = a5994153
+MdtRawDataProvi...  DEBUG word 84 = 304c054e
+MdtRawDataProvi...  DEBUG word 85 = 304805fd
+MdtRawDataProvi...  DEBUG word 86 = a6994153
+MdtRawDataProvi...  DEBUG word 87 = 20000040
+MdtRawDataProvi...  DEBUG word 88 = a8994153
+MdtRawDataProvi...  DEBUG word 89 = 306c0098
+MdtRawDataProvi...  DEBUG word 90 = 30bc0093
+MdtRawDataProvi...  DEBUG word 91 = 308400fd
+MdtRawDataProvi...  DEBUG word 92 = 308c00fe
+MdtRawDataProvi...  DEBUG word 93 = 309400fb
+MdtRawDataProvi...  DEBUG word 94 = 309c00fd
+MdtRawDataProvi...  DEBUG word 95 = 30a400f9
+MdtRawDataProvi...  DEBUG word 96 = 30ac00fc
+MdtRawDataProvi...  DEBUG word 97 = 30b400f9
+MdtRawDataProvi...  DEBUG word 98 = 302c0185
+MdtRawDataProvi...  DEBUG word 99 = 306801a0
+MdtRawDataProvi...  DEBUG word 100 = 30800148
+MdtRawDataProvi...  DEBUG word 101 = 30880147
+MdtRawDataProvi...  DEBUG word 102 = 30900149
+MdtRawDataProvi...  DEBUG word 103 = 30980168
+MdtRawDataProvi...  DEBUG word 104 = 30a00169
+MdtRawDataProvi...  DEBUG word 105 = 30a80163
+MdtRawDataProvi...  DEBUG word 106 = 30b00161
+MdtRawDataProvi...  DEBUG word 107 = 30b801a3
+MdtRawDataProvi...  DEBUG word 108 = 30280271
+MdtRawDataProvi...  DEBUG word 109 = a9994153
+MdtRawDataProvi...  DEBUG word 110 = 301c00b6
+MdtRawDataProvi...  DEBUG word 111 = 309c00d1
+MdtRawDataProvi...  DEBUG word 112 = 301801bc
+MdtRawDataProvi...  DEBUG word 113 = 309801b9
+MdtRawDataProvi...  DEBUG word 114 = 305c01f8
+MdtRawDataProvi...  DEBUG word 115 = 305802ec
+MdtRawDataProvi...  DEBUG word 116 = 8a994023
+MdtRawDataProvi...  DEBUG word 117 = f0000076
+MdtRawDataProvi...  DEBUG Found the beginning of buffer 
+MdtRawDataProvi...  DEBUG Level 1 Id : 256404
+MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
+MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 1 csmId : 0
+MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
+MdtRawDataProvi...  DEBUG Name : 0
+MdtRawDataProvi...  DEBUG Eta  : 1
+MdtRawDataProvi...  DEBUG Phi  : 2
+MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
+MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 1 csmId : 1
+MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
+MdtRawDataProvi...  DEBUG Name : 0
+MdtRawDataProvi...  DEBUG Eta  : 2
+MdtRawDataProvi...  DEBUG Phi  : 2
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 1
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 3
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 10
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 11
+MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
+MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 1 csmId : 2
+MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
+MdtRawDataProvi...  DEBUG Name : 2
+MdtRawDataProvi...  DEBUG Eta  : 1
+MdtRawDataProvi...  DEBUG Phi  : 2
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 3
+MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
+MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 1 csmId : 3
+MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
+MdtRawDataProvi...  DEBUG Name : 2
+MdtRawDataProvi...  DEBUG Eta  : 2
+MdtRawDataProvi...  DEBUG Phi  : 2
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 3
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 6
+MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
+MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 1 csmId : 4
+MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
+MdtRawDataProvi...  DEBUG Name : 4
+MdtRawDataProvi...  DEBUG Eta  : 1
+MdtRawDataProvi...  DEBUG Phi  : 2
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 2
+MdtRawDataProvi...  DEBUG Error: corresponding leading edge not found for the trailing edge tdc: 2 chan: 22
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 4
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 5
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 6
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 8
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 10
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 14
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 16
+MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
+MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 1 csmId : 5
+MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
+MdtRawDataProvi...  DEBUG Name : 4
+MdtRawDataProvi...  DEBUG Eta  : 2
+MdtRawDataProvi...  DEBUG Phi  : 2
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 5
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 6
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 8
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 9
+MdtRawDataProvi...  DEBUG fillCollection: starting
+MdtRawDataProvi...  DEBUG **********Decoder dumping the words******** 
+MdtRawDataProvi...  DEBUG The size of this ROD-read is 
+MdtRawDataProvi...  DEBUG word 0 = 8003e994
+MdtRawDataProvi...  DEBUG word 1 = 81040004
+MdtRawDataProvi...  DEBUG word 2 = 180300d0
+MdtRawDataProvi...  DEBUG word 3 = 890003ff
+MdtRawDataProvi...  DEBUG word 4 = 8a994002
+MdtRawDataProvi...  DEBUG word 5 = 81040004
+MdtRawDataProvi...  DEBUG word 6 = 180300d1
+MdtRawDataProvi...  DEBUG word 7 = 89000fff
+MdtRawDataProvi...  DEBUG word 8 = 8a994002
+MdtRawDataProvi...  DEBUG word 9 = 8104000e
+MdtRawDataProvi...  DEBUG word 10 = 180300d2
+MdtRawDataProvi...  DEBUG word 11 = 89000fff
+MdtRawDataProvi...  DEBUG word 12 = a0994153
+MdtRawDataProvi...  DEBUG word 13 = 30a00056
+MdtRawDataProvi...  DEBUG word 14 = 20105050
+MdtRawDataProvi...  DEBUG word 15 = a1994153
+MdtRawDataProvi...  DEBUG word 16 = 30b40578
+MdtRawDataProvi...  DEBUG word 17 = 30b0060a
+MdtRawDataProvi...  DEBUG word 18 = a8994153
+MdtRawDataProvi...  DEBUG word 19 = 20000400
+MdtRawDataProvi...  DEBUG word 20 = a9994153
+MdtRawDataProvi...  DEBUG word 21 = 307c067b
+MdtRawDataProvi...  DEBUG word 22 = 8a99400c
+MdtRawDataProvi...  DEBUG word 23 = 81040011
+MdtRawDataProvi...  DEBUG word 24 = 180300d3
+MdtRawDataProvi...  DEBUG word 25 = 89003fff
+MdtRawDataProvi...  DEBUG word 26 = a5994153
+MdtRawDataProvi...  DEBUG word 27 = 308c0359
+MdtRawDataProvi...  DEBUG word 28 = 30880397
+MdtRawDataProvi...  DEBUG word 29 = 20020000
+MdtRawDataProvi...  DEBUG word 30 = a7994153
+MdtRawDataProvi...  DEBUG word 31 = 30600040
+MdtRawDataProvi...  DEBUG word 32 = 20001000
+MdtRawDataProvi...  DEBUG word 33 = a8994153
+MdtRawDataProvi...  DEBUG word 34 = 302403a8
+MdtRawDataProvi...  DEBUG word 35 = 3020040f
+MdtRawDataProvi...  DEBUG word 36 = a9994153
+MdtRawDataProvi...  DEBUG word 37 = 309c0635
+MdtRawDataProvi...  DEBUG word 38 = 308c0671
+MdtRawDataProvi...  DEBUG word 39 = 8a99400f
+MdtRawDataProvi...  DEBUG word 40 = 81040017
+MdtRawDataProvi...  DEBUG word 41 = 180300d4
+MdtRawDataProvi...  DEBUG word 42 = 8900ffff
+MdtRawDataProvi...  DEBUG word 43 = a1994153
+MdtRawDataProvi...  DEBUG word 44 = 304c0488
+MdtRawDataProvi...  DEBUG word 45 = 308c0498
+MdtRawDataProvi...  DEBUG word 46 = 302c0500
+MdtRawDataProvi...  DEBUG word 47 = 30280581
+MdtRawDataProvi...  DEBUG word 48 = 3048052d
+MdtRawDataProvi...  DEBUG word 49 = 3088056a
+MdtRawDataProvi...  DEBUG word 50 = 301c05a2
+MdtRawDataProvi...  DEBUG word 51 = 30180610
+MdtRawDataProvi...  DEBUG word 52 = 309c0646
+MdtRawDataProvi...  DEBUG word 53 = a4994153
+MdtRawDataProvi...  DEBUG word 54 = 30640517
+MdtRawDataProvi...  DEBUG word 55 = 306005a2
+MdtRawDataProvi...  DEBUG word 56 = 302405e1
+MdtRawDataProvi...  DEBUG word 57 = 30200624
+MdtRawDataProvi...  DEBUG word 58 = a9994153
+MdtRawDataProvi...  DEBUG word 59 = 200000a0
+MdtRawDataProvi...  DEBUG word 60 = ab994153
+MdtRawDataProvi...  DEBUG word 61 = 20041100
+MdtRawDataProvi...  DEBUG word 62 = 8a994015
+MdtRawDataProvi...  DEBUG word 63 = 8104001c
+MdtRawDataProvi...  DEBUG word 64 = 180300d5
+MdtRawDataProvi...  DEBUG word 65 = 8903ffff
+MdtRawDataProvi...  DEBUG word 66 = a0994153
+MdtRawDataProvi...  DEBUG word 67 = 3014000e
+MdtRawDataProvi...  DEBUG word 68 = 30100032
+MdtRawDataProvi...  DEBUG word 69 = 30940069
+MdtRawDataProvi...  DEBUG word 70 = 3090008d
+MdtRawDataProvi...  DEBUG word 71 = 20000400
+MdtRawDataProvi...  DEBUG word 72 = a1994153
+MdtRawDataProvi...  DEBUG word 73 = 3070001a
+MdtRawDataProvi...  DEBUG word 74 = 30040377
+MdtRawDataProvi...  DEBUG word 75 = 30000398
+MdtRawDataProvi...  DEBUG word 76 = 20014001
+MdtRawDataProvi...  DEBUG word 77 = a2994153
+MdtRawDataProvi...  DEBUG word 78 = 20000020
+MdtRawDataProvi...  DEBUG word 79 = a3994153
+MdtRawDataProvi...  DEBUG word 80 = 20000040
+MdtRawDataProvi...  DEBUG word 81 = a9994153
+MdtRawDataProvi...  DEBUG word 82 = 30a40400
+MdtRawDataProvi...  DEBUG word 83 = 30a00424
+MdtRawDataProvi...  DEBUG word 84 = aa994153
+MdtRawDataProvi...  DEBUG word 85 = 20008000
+MdtRawDataProvi...  DEBUG word 86 = ab994153
+MdtRawDataProvi...  DEBUG word 87 = 20080000
+MdtRawDataProvi...  DEBUG word 88 = b0994153
+MdtRawDataProvi...  DEBUG word 89 = 20080000
+MdtRawDataProvi...  DEBUG word 90 = 8a99401a
+MdtRawDataProvi...  DEBUG word 91 = f000005c
+MdtRawDataProvi...  DEBUG Found the beginning of buffer 
+MdtRawDataProvi...  DEBUG Level 1 Id : 256404
+MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
+MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 2 csmId : 0
+MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
+MdtRawDataProvi...  DEBUG Name : 0
+MdtRawDataProvi...  DEBUG Eta  : 1
+MdtRawDataProvi...  DEBUG Phi  : 3
+MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
+MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 2 csmId : 1
+MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
+MdtRawDataProvi...  DEBUG Name : 0
+MdtRawDataProvi...  DEBUG Eta  : 2
+MdtRawDataProvi...  DEBUG Phi  : 3
+MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
+MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 2 csmId : 2
+MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
+MdtRawDataProvi...  DEBUG Name : 2
+MdtRawDataProvi...  DEBUG Eta  : 1
+MdtRawDataProvi...  DEBUG Phi  : 3
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 0
+MdtRawDataProvi...  DEBUG Error: corresponding leading edge not found for the trailing edge tdc: 0 chan: 20
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 1
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 8
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 9
+MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
+MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 2 csmId : 3
+MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
+MdtRawDataProvi...  DEBUG Name : 2
+MdtRawDataProvi...  DEBUG Eta  : 2
+MdtRawDataProvi...  DEBUG Phi  : 3
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 5
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 7
+MdtRawDataProvi...  DEBUG Error: corresponding leading edge not found for the trailing edge tdc: 7 chan: 12
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 8
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 9
+MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
+MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 2 csmId : 4
+MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
+MdtRawDataProvi...  DEBUG Name : 4
+MdtRawDataProvi...  DEBUG Eta  : 1
+MdtRawDataProvi...  DEBUG Phi  : 3
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 1
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 4
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 9
+MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 11
+MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
+MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 2 csmId : 5
+MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
+MdtRawDataProvi...  DEBUG Name : 4
+MdtRawDataProvi...  DEBUG Eta  : 2
+MdtRawDataProvi...WARNING DEBUG message limit (500) reached for MdtRawDataProvider.MDT_RawDataProviderTool.MdtROD_Decoder. Suppressing further output.
+MdtRawDataProvi...  DEBUG After processing numColls=1136
+CscRawDataProvi...VERBOSE Number of ROB ids 32
+CscRawDataProvi...VERBOSE Number of ROB fragments 32
+CscRawDataProvi...  DEBUG Created container using cache for CscCache
+CscRawDataProvi...  DEBUG Before processing numColls=0
+CscRawDataProvi...  DEBUG vector of ROB ID to decode: size = 32
+CscRawDataProvi...  DEBUG in CscROD_Decode::fillCollection()
+CscRawDataProvi...  DEBUG in CscROD_Decoder::fillCollection :ROD version 401
+CscRawDataProvi...  DEBUG  
+CscRawDataProvi...  DEBUG ===================================================
+CscRawDataProvi...  DEBUG in CscROD_Decode::fillCollection() - ROD version 2
+CscRawDataProvi...  DEBUG Online ROD id is 0x80
+CscRawDataProvi...  DEBUG Online ROD / ROD / collection / subDetector IDs are 0x80 24 8 106
+CscRawDataProvi...  DEBUG CSC RDO collection does not exist - creating a new one with hash = 8
+CscRawDataProvi...  DEBUG Event Type: 5407e04
+CscRawDataProvi...  DEBUG Sampling Time: 50  Number of Samples: 4
+CscRawDataProvi...  DEBUG Is Calibration Enabled?: 0  Calibration Amplitude: 5
+CscRawDataProvi...  DEBUG Calibration Layer: 0  Latency: 126
+CscRawDataProvi...  DEBUG Is neutron rejection ON?: 0  Is sparsified data?: 1
+CscRawDataProvi...  DEBUG CscROD_Decoder Total words received = 112
+CscRawDataProvi...  DEBUG RPU ID original = 5
+CscRawDataProvi...  DEBUG RPU ID Updated = 5
+CscRawDataProvi...  DEBUG RPU size = 112
+CscRawDataProvi...  DEBUG SCA Address = 724315438
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 0 Cluster Counts = 0
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 1 Cluster Counts = 2
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 2 Cluster Counts = 2
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 3 Cluster Counts = 2
+CscRawDataProvi...  DEBUG Summed Number of Clusters for non-precision layers 6
+CscRawDataProvi...  DEBUG Cluster Data Words = 108
+CscRawDataProvi...  DEBUG Total summed Cluster Count for precision and non-precision layers = 12
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 8 31725  6  51 :: measphi0 L2 strId 46 nStr 4 T0 nSampWords 8 [7.51.-1.1.1.2.2.0.46]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 8 31733  6  51 :: measphi0 L2 strId 54 nStr 3 T0 nSampWords 6 [7.51.-1.1.1.2.2.0.54]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 8 31916  7  51 :: measphi0 L3 strId 45 nStr 5 T0 nSampWords 10 [7.51.-1.1.1.2.3.0.45]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 8 31927  7  51 :: measphi0 L3 strId 56 nStr 4 T0 nSampWords 8 [7.51.-1.1.1.2.3.0.56]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 8 32109  8  51 :: measphi0 L4 strId 46 nStr 3 T0 nSampWords 6 [7.51.-1.1.1.2.4.0.46]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 8 32121  8  51 :: measphi0 L4 strId 58 nStr 3 T0 nSampWords 6 [7.51.-1.1.1.2.4.0.58]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 8 55491  9  51 :: measphi1 L1 strId 4 nStr 3 T0 nSampWords 6 [7.51.-1.1.1.2.1.1.4]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 8 55544  9  51 :: measphi1 L2 strId 9 nStr 3 T0 nSampWords 6 [7.51.-1.1.1.2.2.1.9]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 8 55566  9  51 :: measphi1 L2 strId 31 nStr 3 T0 nSampWords 6 [7.51.-1.1.1.2.2.1.31]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 8 55591  9  51 :: measphi1 L3 strId 8 nStr 5 T0 nSampWords 10 [7.51.-1.1.1.2.3.1.8]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 8 55614  9  51 :: measphi1 L3 strId 31 nStr 3 T0 nSampWords 6 [7.51.-1.1.1.2.3.1.31]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 8 55640  9  51 :: measphi1 L4 strId 9 nStr 3 T0 nSampWords 6 [7.51.-1.1.1.2.4.1.9]
+CscRawDataProvi...  DEBUG ****Total Cluster count = 12 for RPU ID 5
+CscRawDataProvi...  DEBUG end of CscROD_Decode::fillCollection()
+CscRawDataProvi...  DEBUG in CscROD_Decode::fillCollection()
+CscRawDataProvi...  DEBUG in CscROD_Decoder::fillCollection :ROD version 401
+CscRawDataProvi...  DEBUG  
+CscRawDataProvi...  DEBUG ===================================================
+CscRawDataProvi...  DEBUG in CscROD_Decode::fillCollection() - ROD version 2
+CscRawDataProvi...  DEBUG Online ROD id is 0x81
+CscRawDataProvi...  DEBUG Online ROD / ROD / collection / subDetector IDs are 0x81 16 0 106
+CscRawDataProvi...  DEBUG CSC RDO collection does not exist - creating a new one with hash = 0
+CscRawDataProvi...  DEBUG Event Type: 5407e04
+CscRawDataProvi...  DEBUG Sampling Time: 50  Number of Samples: 4
+CscRawDataProvi...  DEBUG Is Calibration Enabled?: 0  Calibration Amplitude: 5
+CscRawDataProvi...  DEBUG Calibration Layer: 0  Latency: 126
+CscRawDataProvi...  DEBUG Is neutron rejection ON?: 0  Is sparsified data?: 1
+CscRawDataProvi...  DEBUG CscROD_Decoder Total words received = 122
+CscRawDataProvi...  DEBUG RPU ID original = 13
+CscRawDataProvi...  DEBUG RPU ID Updated = 11
+CscRawDataProvi...  DEBUG RPU size = 122
+CscRawDataProvi...  DEBUG SCA Address = 2358087311
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 0 Cluster Counts = 2
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 1 Cluster Counts = 0
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 2 Cluster Counts = 0
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 3 Cluster Counts = 2
+CscRawDataProvi...  DEBUG Summed Number of Clusters for non-precision layers 7
+CscRawDataProvi...  DEBUG Cluster Data Words = 118
+CscRawDataProvi...  DEBUG Total summed Cluster Count for precision and non-precision layers = 11
+CscRawDataProvi...  DEBUG cluster location word 0x810
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 0 784  0  50 :: measphi0 L1 strId 17 nStr 4 T0 nSampWords 8 [7.50.-1.1.1.2.1.0.17]
+CscRawDataProvi...  DEBUG cluster location word 0x868
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 0 872  0  50 :: measphi0 L1 strId 105 nStr 7 T0 nSampWords 14 [7.50.-1.1.1.2.1.0.105]
+CscRawDataProvi...  DEBUG cluster location word 0xe11
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 0 1361  3  50 :: measphi0 L4 strId 18 nStr 10 T0 nSampWords 20 [7.50.-1.1.1.2.4.0.18]
+CscRawDataProvi...  DEBUG cluster location word 0xe41
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 0 1409  3  50 :: measphi0 L4 strId 66 nStr 4 T0 nSampWords 8 [7.50.-1.1.1.2.4.0.66]
+CscRawDataProvi...  DEBUG cluster location word 0x916
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 0 24790  4  50 :: measphi1 L1 strId 23 nStr 5 T0 nSampWords 10 [7.50.-1.1.1.2.1.1.23]
+CscRawDataProvi...  DEBUG cluster location word 0xb16
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 0 24838  4  50 :: measphi1 L2 strId 23 nStr 3 T0 nSampWords 6 [7.50.-1.1.1.2.2.1.23]
+CscRawDataProvi...  DEBUG cluster location word 0xd03
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 0 24867  4  50 :: measphi1 L3 strId 4 nStr 3 T0 nSampWords 6 [7.50.-1.1.1.2.3.1.4]
+CscRawDataProvi...  DEBUG cluster location word 0xd15
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 0 24885  4  50 :: measphi1 L3 strId 22 nStr 3 T0 nSampWords 6 [7.50.-1.1.1.2.3.1.22]
+CscRawDataProvi...  DEBUG cluster location word 0xd2d
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 0 24909  4  50 :: measphi1 L3 strId 46 nStr 3 T0 nSampWords 6 [7.50.-1.1.1.2.3.1.46]
+CscRawDataProvi...  DEBUG cluster location word 0xf15
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 0 24933  4  50 :: measphi1 L4 strId 22 nStr 3 T0 nSampWords 6 [7.50.-1.1.1.2.4.1.22]
+CscRawDataProvi...  DEBUG cluster location word 0xf1e
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 0 24942  4  50 :: measphi1 L4 strId 31 nStr 3 T0 nSampWords 6 [7.50.-1.1.1.2.4.1.31]
+CscRawDataProvi...  DEBUG ****Total Cluster count = 11 for RPU ID 11
+CscRawDataProvi...  DEBUG end of CscROD_Decode::fillCollection()
+CscRawDataProvi...  DEBUG in CscROD_Decode::fillCollection()
+CscRawDataProvi...  DEBUG in CscROD_Decoder::fillCollection :ROD version 401
+CscRawDataProvi...  DEBUG  
+CscRawDataProvi...  DEBUG ===================================================
+CscRawDataProvi...  DEBUG in CscROD_Decode::fillCollection() - ROD version 2
+CscRawDataProvi...  DEBUG Online ROD id is 0x82
+CscRawDataProvi...  DEBUG Online ROD / ROD / collection / subDetector IDs are 0x82 25 9 106
+CscRawDataProvi...  DEBUG CSC RDO collection does not exist - creating a new one with hash = 9
+CscRawDataProvi...  DEBUG Event Type: 5407e04
+CscRawDataProvi...  DEBUG Sampling Time: 50  Number of Samples: 4
+CscRawDataProvi...  DEBUG Is Calibration Enabled?: 0  Calibration Amplitude: 5
+CscRawDataProvi...  DEBUG Calibration Layer: 0  Latency: 126
+CscRawDataProvi...  DEBUG Is neutron rejection ON?: 0  Is sparsified data?: 1
+CscRawDataProvi...  DEBUG CscROD_Decoder Total words received = 50
+CscRawDataProvi...  DEBUG RPU ID original = 5
+CscRawDataProvi...  DEBUG RPU ID Updated = 5
+CscRawDataProvi...  DEBUG RPU size = 50
+CscRawDataProvi...  DEBUG SCA Address = 269554195
+CscRawDataProvi...  DEBUG Number of Precision Cluster word 0x102
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 0 Cluster Counts = 0
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 1 Cluster Counts = 0
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 2 Cluster Counts = 1
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 3 Cluster Counts = 2
+CscRawDataProvi...  DEBUG Summed Number of Clusters for non-precision layers 2
+CscRawDataProvi...  DEBUG Cluster Data Words = 46
+CscRawDataProvi...  DEBUG Total summed Cluster Count for precision and non-precision layers = 5
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 9 33431  7  51 :: measphi0 L3 strId 24 nStr 5 T0 nSampWords 10 [7.51.-1.2.1.2.3.0.24]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 9 33622  8  51 :: measphi0 L4 strId 23 nStr 3 T0 nSampWords 6 [7.51.-1.2.1.2.4.0.23]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 9 33626  8  51 :: measphi0 L4 strId 27 nStr 3 T0 nSampWords 6 [7.51.-1.2.1.2.4.0.27]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 9 56004  9  51 :: measphi1 L3 strId 37 nStr 4 T0 nSampWords 8 [7.51.-1.2.1.2.3.1.37]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 9 56052  9  51 :: measphi1 L4 strId 37 nStr 3 T0 nSampWords 6 [7.51.-1.2.1.2.4.1.37]
+CscRawDataProvi...  DEBUG ****Total Cluster count = 5 for RPU ID 5
+CscRawDataProvi...  DEBUG end of CscROD_Decode::fillCollection()
+CscRawDataProvi...  DEBUG in CscROD_Decode::fillCollection()
+CscRawDataProvi...  DEBUG in CscROD_Decoder::fillCollection :ROD version 401
+CscRawDataProvi...  DEBUG  
+CscRawDataProvi...  DEBUG ===================================================
+CscRawDataProvi...  DEBUG in CscROD_Decode::fillCollection() - ROD version 2
+CscRawDataProvi...  DEBUG Online ROD id is 0x83
+CscRawDataProvi...  DEBUG Online ROD / ROD / collection / subDetector IDs are 0x83 17 1 106
+CscRawDataProvi...  DEBUG CSC RDO collection does not exist - creating a new one with hash = 1
+CscRawDataProvi...  DEBUG Event Type: 5407e04
+CscRawDataProvi...  DEBUG Sampling Time: 50  Number of Samples: 4
+CscRawDataProvi...  DEBUG Is Calibration Enabled?: 0  Calibration Amplitude: 5
+CscRawDataProvi...  DEBUG Calibration Layer: 0  Latency: 126
+CscRawDataProvi...  DEBUG Is neutron rejection ON?: 0  Is sparsified data?: 1
+CscRawDataProvi...  DEBUG CscROD_Decoder Total words received = 116
+CscRawDataProvi...  DEBUG RPU ID original = 13
+CscRawDataProvi...  DEBUG RPU ID Updated = 11
+CscRawDataProvi...  DEBUG RPU size = 116
+CscRawDataProvi...  DEBUG SCA Address = 1920169077
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 0 Cluster Counts = 1
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 1 Cluster Counts = 1
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 2 Cluster Counts = 1
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 3 Cluster Counts = 2
+CscRawDataProvi...  DEBUG Summed Number of Clusters for non-precision layers 6
+CscRawDataProvi...  DEBUG Cluster Data Words = 112
+CscRawDataProvi...  DEBUG Total summed Cluster Count for precision and non-precision layers = 11
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 1 2328  0  50 :: measphi0 L1 strId 25 nStr 4 T0 nSampWords 8 [7.50.-1.2.1.2.1.0.25]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 1 2519  1  50 :: measphi0 L2 strId 24 nStr 6 T0 nSampWords 12 [7.50.-1.2.1.2.2.0.24]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 1 2711  2  50 :: measphi0 L3 strId 24 nStr 5 T0 nSampWords 10 [7.50.-1.2.1.2.3.0.24]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 1 2904  3  50 :: measphi0 L4 strId 25 nStr 4 T0 nSampWords 8 [7.50.-1.2.1.2.4.0.25]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 1 3068  3  50 :: measphi0 L4 strId 189 nStr 3 T0 nSampWords 6 [7.50.-1.2.1.2.4.0.189]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 1 25161  4  50 :: measphi1 L1 strId 10 nStr 4 T0 nSampWords 8 [7.50.-1.2.1.2.1.1.10]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 1 25209  4  50 :: measphi1 L2 strId 10 nStr 5 T0 nSampWords 10 [7.50.-1.2.1.2.2.1.10]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 1 25257  4  50 :: measphi1 L3 strId 10 nStr 4 T0 nSampWords 8 [7.50.-1.2.1.2.3.1.10]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 1 25270  4  50 :: measphi1 L3 strId 23 nStr 3 T0 nSampWords 6 [7.50.-1.2.1.2.3.1.23]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 1 25305  4  50 :: measphi1 L4 strId 10 nStr 4 T0 nSampWords 8 [7.50.-1.2.1.2.4.1.10]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 1 25336  4  50 :: measphi1 L4 strId 41 nStr 3 T0 nSampWords 6 [7.50.-1.2.1.2.4.1.41]
+CscRawDataProvi...  DEBUG ****Total Cluster count = 11 for RPU ID 11
+CscRawDataProvi...  DEBUG end of CscROD_Decode::fillCollection()
+CscRawDataProvi...  DEBUG in CscROD_Decode::fillCollection()
+CscRawDataProvi...  DEBUG in CscROD_Decoder::fillCollection :ROD version 401
+CscRawDataProvi...  DEBUG  
+CscRawDataProvi...  DEBUG ===================================================
+CscRawDataProvi...  DEBUG in CscROD_Decode::fillCollection() - ROD version 2
+CscRawDataProvi...  DEBUG Online ROD id is 0x84
+CscRawDataProvi...  DEBUG Online ROD / ROD / collection / subDetector IDs are 0x84 26 10 106
+CscRawDataProvi...  DEBUG CSC RDO collection does not exist - creating a new one with hash = 10
+CscRawDataProvi...  DEBUG Event Type: 5407e04
+CscRawDataProvi...  DEBUG Sampling Time: 50  Number of Samples: 4
+CscRawDataProvi...  DEBUG Is Calibration Enabled?: 0  Calibration Amplitude: 5
+CscRawDataProvi...  DEBUG Calibration Layer: 0  Latency: 126
+CscRawDataProvi...  DEBUG Is neutron rejection ON?: 0  Is sparsified data?: 1
+CscRawDataProvi...  DEBUG CscROD_Decoder Total words received = 114
+CscRawDataProvi...  DEBUG RPU ID original = 5
+CscRawDataProvi...  DEBUG RPU ID Updated = 5
+CscRawDataProvi...  DEBUG RPU size = 114
+CscRawDataProvi...  DEBUG SCA Address = 1414878807
+CscRawDataProvi...  DEBUG Number of Precision Cluster word 0x200
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 0 Cluster Counts = 0
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 1 Cluster Counts = 0
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 2 Cluster Counts = 2
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 3 Cluster Counts = 0
+CscRawDataProvi...  DEBUG Summed Number of Clusters for non-precision layers 4
+CscRawDataProvi...  DEBUG Cluster Data Words = 110
+CscRawDataProvi...  DEBUG Total summed Cluster Count for precision and non-precision layers = 6
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 10 34947  7  51 :: measphi0 L3 strId 4 nStr 5 T0 nSampWords 10 [7.51.-1.3.1.2.3.0.4]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 10 35046  7  51 :: measphi0 L3 strId 103 nStr 19 T0 nSampWords 38 [7.51.-1.3.1.2.3.0.103]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 10 56283  9  51 :: measphi1 L1 strId 28 nStr 3 T0 nSampWords 6 [7.51.-1.3.1.2.1.1.28]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 10 56361  9  51 :: measphi1 L3 strId 10 nStr 6 T0 nSampWords 12 [7.51.-1.3.1.2.3.1.10]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 10 56383  9  51 :: measphi1 L3 strId 32 nStr 3 T0 nSampWords 6 [7.51.-1.3.1.2.3.1.32]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 10 56387  9  51 :: measphi1 L3 strId 36 nStr 13 T0 nSampWords 26 [7.51.-1.3.1.2.3.1.36]
+CscRawDataProvi...  DEBUG ****Total Cluster count = 6 for RPU ID 5
+CscRawDataProvi...  DEBUG end of CscROD_Decode::fillCollection()
+CscRawDataProvi...  DEBUG in CscROD_Decode::fillCollection()
+CscRawDataProvi...  DEBUG in CscROD_Decoder::fillCollection :ROD version 401
+CscRawDataProvi...  DEBUG  
+CscRawDataProvi...  DEBUG ===================================================
+CscRawDataProvi...  DEBUG in CscROD_Decode::fillCollection() - ROD version 2
+CscRawDataProvi...  DEBUG Online ROD id is 0x85
+CscRawDataProvi...  DEBUG Online ROD / ROD / collection / subDetector IDs are 0x85 18 2 106
+CscRawDataProvi...  DEBUG CSC RDO collection does not exist - creating a new one with hash = 2
+CscRawDataProvi...  DEBUG Event Type: 5407e04
+CscRawDataProvi...  DEBUG Sampling Time: 50  Number of Samples: 4
+CscRawDataProvi...  DEBUG Is Calibration Enabled?: 0  Calibration Amplitude: 5
+CscRawDataProvi...  DEBUG Calibration Layer: 0  Latency: 126
+CscRawDataProvi...  DEBUG Is neutron rejection ON?: 0  Is sparsified data?: 1
+CscRawDataProvi...  DEBUG CscROD_Decoder Total words received = 90
+CscRawDataProvi...  DEBUG RPU ID original = 13
+CscRawDataProvi...  DEBUG RPU ID Updated = 11
+CscRawDataProvi...  DEBUG RPU size = 90
+CscRawDataProvi...  DEBUG SCA Address = 1482250843
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 0 Cluster Counts = 0
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 1 Cluster Counts = 2
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 2 Cluster Counts = 1
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 3 Cluster Counts = 0
+CscRawDataProvi...  DEBUG Summed Number of Clusters for non-precision layers 4
+CscRawDataProvi...  DEBUG Cluster Data Words = 86
+CscRawDataProvi...  DEBUG Total summed Cluster Count for precision and non-precision layers = 7
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 2 4056  1  50 :: measphi0 L2 strId 25 nStr 8 T0 nSampWords 16 [7.50.-1.3.1.2.2.0.25]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 2 4090  1  50 :: measphi0 L2 strId 59 nStr 4 T0 nSampWords 8 [7.50.-1.3.1.2.2.0.59]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 2 4250  2  50 :: measphi0 L3 strId 27 nStr 6 T0 nSampWords 12 [7.50.-1.3.1.2.3.0.27]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 2 25601  4  50 :: measphi1 L2 strId 18 nStr 3 T0 nSampWords 6 [7.50.-1.3.1.2.2.1.18]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 2 25608  4  50 :: measphi1 L2 strId 25 nStr 5 T0 nSampWords 10 [7.50.-1.3.1.2.2.1.25]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 2 25614  4  50 :: measphi1 L2 strId 31 nStr 5 T0 nSampWords 10 [7.50.-1.3.1.2.2.1.31]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 2 25652  4  50 :: measphi1 L3 strId 21 nStr 5 T0 nSampWords 10 [7.50.-1.3.1.2.3.1.21]
+CscRawDataProvi...  DEBUG ****Total Cluster count = 7 for RPU ID 11
+CscRawDataProvi...  DEBUG end of CscROD_Decode::fillCollection()
+CscRawDataProvi...  DEBUG in CscROD_Decode::fillCollection()
+CscRawDataProvi...  DEBUG in CscROD_Decoder::fillCollection :ROD version 401
+CscRawDataProvi...  DEBUG  
+CscRawDataProvi...  DEBUG ===================================================
+CscRawDataProvi...  DEBUG in CscROD_Decode::fillCollection() - ROD version 2
+CscRawDataProvi...  DEBUG Online ROD id is 0x86
+CscRawDataProvi...  DEBUG Online ROD / ROD / collection / subDetector IDs are 0x86 27 11 106
+CscRawDataProvi...  DEBUG CSC RDO collection does not exist - creating a new one with hash = 11
+CscRawDataProvi...  DEBUG Event Type: 5407e04
+CscRawDataProvi...  DEBUG Sampling Time: 50  Number of Samples: 4
+CscRawDataProvi...  DEBUG Is Calibration Enabled?: 0  Calibration Amplitude: 5
+CscRawDataProvi...  DEBUG Calibration Layer: 0  Latency: 126
+CscRawDataProvi...  DEBUG Is neutron rejection ON?: 0  Is sparsified data?: 1
+CscRawDataProvi...  DEBUG CscROD_Decoder Total words received = 58
+CscRawDataProvi...  DEBUG RPU ID original = 5
+CscRawDataProvi...  DEBUG RPU ID Updated = 5
+CscRawDataProvi...  DEBUG RPU size = 58
+CscRawDataProvi...  DEBUG SCA Address = 151653132
+CscRawDataProvi...  DEBUG Number of Precision Cluster word 0x201
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 0 Cluster Counts = 0
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 1 Cluster Counts = 0
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 2 Cluster Counts = 2
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 3 Cluster Counts = 1
+CscRawDataProvi...  DEBUG Summed Number of Clusters for non-precision layers 1
+CscRawDataProvi...  DEBUG Cluster Data Words = 54
+CscRawDataProvi...  DEBUG Total summed Cluster Count for precision and non-precision layers = 4
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 11 36527  7  51 :: measphi0 L3 strId 48 nStr 3 T0 nSampWords 6 [7.51.-1.4.1.2.3.0.48]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 11 36566  7  51 :: measphi0 L3 strId 87 nStr 8 T0 nSampWords 16 [7.51.-1.4.1.2.3.0.87]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 11 36759  8  51 :: measphi0 L4 strId 88 nStr 7 T0 nSampWords 14 [7.51.-1.4.1.2.4.0.88]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 11 56788  9  51 :: measphi1 L4 strId 5 nStr 5 T0 nSampWords 10 [7.51.-1.4.1.2.4.1.5]
+CscRawDataProvi...  DEBUG ****Total Cluster count = 4 for RPU ID 5
+CscRawDataProvi...  DEBUG end of CscROD_Decode::fillCollection()
+CscRawDataProvi...  DEBUG in CscROD_Decode::fillCollection()
+CscRawDataProvi...  DEBUG in CscROD_Decoder::fillCollection :ROD version 401
+CscRawDataProvi...  DEBUG  
+CscRawDataProvi...  DEBUG ===================================================
+CscRawDataProvi...  DEBUG in CscROD_Decode::fillCollection() - ROD version 2
+CscRawDataProvi...  DEBUG Online ROD id is 0x87
+CscRawDataProvi...  DEBUG Online ROD / ROD / collection / subDetector IDs are 0x87 19 3 106
+CscRawDataProvi...  DEBUG CSC RDO collection does not exist - creating a new one with hash = 3
+CscRawDataProvi...  DEBUG Event Type: 5407e04
+CscRawDataProvi...  DEBUG Sampling Time: 50  Number of Samples: 4
+CscRawDataProvi...  DEBUG Is Calibration Enabled?: 0  Calibration Amplitude: 5
+CscRawDataProvi...  DEBUG Calibration Layer: 0  Latency: 126
+CscRawDataProvi...  DEBUG Is neutron rejection ON?: 0  Is sparsified data?: 1
+CscRawDataProvi...  DEBUG CscROD_Decoder Total words received = 92
+CscRawDataProvi...  DEBUG RPU ID original = 13
+CscRawDataProvi...  DEBUG RPU ID Updated = 11
+CscRawDataProvi...  DEBUG RPU size = 92
+CscRawDataProvi...  DEBUG SCA Address = 404298267
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 0 Cluster Counts = 1
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 1 Cluster Counts = 1
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 2 Cluster Counts = 1
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 3 Cluster Counts = 1
+CscRawDataProvi...  DEBUG Summed Number of Clusters for non-precision layers 6
+CscRawDataProvi...  DEBUG Cluster Data Words = 88
+CscRawDataProvi...  DEBUG Total summed Cluster Count for precision and non-precision layers = 10
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 3 5461  0  50 :: measphi0 L1 strId 86 nStr 4 T0 nSampWords 8 [7.50.-1.4.1.2.1.0.86]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 3 5692  1  50 :: measphi0 L2 strId 125 nStr 3 T0 nSampWords 6 [7.50.-1.4.1.2.2.0.125]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 3 5879  2  50 :: measphi0 L3 strId 120 nStr 5 T0 nSampWords 10 [7.50.-1.4.1.2.3.0.120]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 3 6065  3  50 :: measphi0 L4 strId 114 nStr 3 T0 nSampWords 6 [7.50.-1.4.1.2.4.0.114]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 3 25947  4  50 :: measphi1 L1 strId 28 nStr 3 T0 nSampWords 6 [7.50.-1.4.1.2.1.1.28]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 3 25951  4  50 :: measphi1 L1 strId 32 nStr 3 T0 nSampWords 6 [7.50.-1.4.1.2.1.1.32]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 3 25956  4  50 :: measphi1 L1 strId 37 nStr 3 T0 nSampWords 6 [7.50.-1.4.1.2.1.1.37]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 3 25991  4  50 :: measphi1 L2 strId 24 nStr 3 T0 nSampWords 6 [7.50.-1.4.1.2.2.1.24]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 3 26039  4  50 :: measphi1 L3 strId 24 nStr 4 T0 nSampWords 8 [7.50.-1.4.1.2.3.1.24]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 3 26106  4  50 :: measphi1 L4 strId 43 nStr 3 T0 nSampWords 6 [7.50.-1.4.1.2.4.1.43]
+CscRawDataProvi...  DEBUG ****Total Cluster count = 10 for RPU ID 11
+CscRawDataProvi...  DEBUG end of CscROD_Decode::fillCollection()
+CscRawDataProvi...  DEBUG in CscROD_Decode::fillCollection()
+CscRawDataProvi...  DEBUG in CscROD_Decoder::fillCollection :ROD version 401
+CscRawDataProvi...  DEBUG  
+CscRawDataProvi...  DEBUG ===================================================
+CscRawDataProvi...  DEBUG in CscROD_Decode::fillCollection() - ROD version 2
+CscRawDataProvi...  DEBUG Online ROD id is 0x88
+CscRawDataProvi...  DEBUG Online ROD / ROD / collection / subDetector IDs are 0x88 28 12 106
+CscRawDataProvi...  DEBUG CSC RDO collection does not exist - creating a new one with hash = 12
+CscRawDataProvi...  DEBUG Event Type: 5407e04
+CscRawDataProvi...  DEBUG Sampling Time: 50  Number of Samples: 4
+CscRawDataProvi...  DEBUG Is Calibration Enabled?: 0  Calibration Amplitude: 5
+CscRawDataProvi...  DEBUG Calibration Layer: 0  Latency: 126
+CscRawDataProvi...  DEBUG Is neutron rejection ON?: 0  Is sparsified data?: 1
+CscRawDataProvi...  DEBUG CscROD_Decoder Total words received = 74
+CscRawDataProvi...  DEBUG RPU ID original = 5
+CscRawDataProvi...  DEBUG RPU ID Updated = 5
+CscRawDataProvi...  DEBUG RPU size = 74
+CscRawDataProvi...  DEBUG SCA Address = 1499093852
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 0 Cluster Counts = 2
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 1 Cluster Counts = 0
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 2 Cluster Counts = 0
+CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 3 Cluster Counts = 1
+CscRawDataProvi...  DEBUG Summed Number of Clusters for non-precision layers 5
+CscRawDataProvi...  DEBUG Cluster Data Words = 70
+CscRawDataProvi...  DEBUG Total summed Cluster Count for precision and non-precision layers = 8
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 12 37681  5  51 :: measphi0 L1 strId 50 nStr 3 T0 nSampWords 6 [7.51.-1.5.1.2.1.0.50]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 12 37803  5  51 :: measphi0 L1 strId 172 nStr 3 T0 nSampWords 6 [7.51.-1.5.1.2.1.0.172]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 12 38211  8  51 :: measphi0 L4 strId 4 nStr 5 T0 nSampWords 10 [7.51.-1.5.1.2.4.0.4]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 12 57032  9  51 :: measphi1 L1 strId 9 nStr 3 T0 nSampWords 6 [7.51.-1.5.1.2.1.1.9]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 12 57070  9  51 :: measphi1 L1 strId 47 nStr 2 T0 nSampWords 4 [7.51.-1.5.1.2.1.1.47]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 12 57072  9  51 :: measphi1 L2 strId 1 nStr 2 T0 nSampWords 4 [7.51.-1.5.1.2.2.1.1]
+CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 12 57133  9  51 :: measphi1 L3 strId 14 nStr 3 T0 nSampWords 6 [7.51.-1.5.1.2.3.1.14]
+CscRawDataProvi...WARNING DEBUG message limit (500) reached for CscRawDataProvider.CSC_RawDataProviderTool.CscROD_Decoder. Suppressing further output.
+CscRawDataProvi...  DEBUG After processing numColls=32
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #186525031, run #327265 1 events processed so far  <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #186524665, run #327265 1 events processed so far  <<<===
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
+MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
+MdtRawDataProvi...  DEBUG Created container using cache for MdtCsmCache
+MdtRawDataProvi...  DEBUG After processing numColls=1136
+CscRawDataProvi...VERBOSE Number of ROB ids 32
+CscRawDataProvi...VERBOSE Number of ROB fragments 32
+CscRawDataProvi...  DEBUG Created container using cache for CscCache
+CscRawDataProvi...  DEBUG Before processing numColls=0
+CscRawDataProvi...  DEBUG vector of ROB ID to decode: size = 32
+CscRawDataProvi...  DEBUG After processing numColls=32
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #186524665, run #327265 2 events processed so far  <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #186542447, run #327265 2 events processed so far  <<<===
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
+MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
+MdtRawDataProvi...  DEBUG Created container using cache for MdtCsmCache
+MdtRawDataProvi...  DEBUG After processing numColls=1136
+CscRawDataProvi...VERBOSE Number of ROB ids 32
+CscRawDataProvi...VERBOSE Number of ROB fragments 32
+CscRawDataProvi...  DEBUG Created container using cache for CscCache
+CscRawDataProvi...  DEBUG Before processing numColls=0
+CscRawDataProvi...  DEBUG vector of ROB ID to decode: size = 32
+CscRawDataProvi...  DEBUG After processing numColls=32
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #186542447, run #327265 3 events processed so far  <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #186543405, run #327265 3 events processed so far  <<<===
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
+MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
+MdtRawDataProvi...  DEBUG Created container using cache for MdtCsmCache
+MdtRawDataProvi...  DEBUG After processing numColls=1136
+CscRawDataProvi...VERBOSE Number of ROB ids 32
+CscRawDataProvi...VERBOSE Number of ROB fragments 32
+CscRawDataProvi...  DEBUG Created container using cache for CscCache
+CscRawDataProvi...  DEBUG Before processing numColls=0
+CscRawDataProvi...  DEBUG vector of ROB ID to decode: size = 32
+CscRawDataProvi...  DEBUG After processing numColls=32
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #186543405, run #327265 4 events processed so far  <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #186548387, run #327265 4 events processed so far  <<<===
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
+MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
+MdtRawDataProvi...  DEBUG Created container using cache for MdtCsmCache
+MdtRawDataProvi...  DEBUG After processing numColls=1136
+CscRawDataProvi...VERBOSE Number of ROB ids 32
+CscRawDataProvi...VERBOSE Number of ROB fragments 32
+CscRawDataProvi...  DEBUG Created container using cache for CscCache
+CscRawDataProvi...  DEBUG Before processing numColls=0
+CscRawDataProvi...  DEBUG vector of ROB ID to decode: size = 32
+CscRawDataProvi...  DEBUG After processing numColls=32
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #186548387, run #327265 5 events processed so far  <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #186515186, run #327265 5 events processed so far  <<<===
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
+MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
+MdtRawDataProvi...  DEBUG Created container using cache for MdtCsmCache
+MdtRawDataProvi...  DEBUG After processing numColls=1136
+CscRawDataProvi...VERBOSE Number of ROB ids 32
+CscRawDataProvi...VERBOSE Number of ROB fragments 32
+CscRawDataProvi...  DEBUG Created container using cache for CscCache
+CscRawDataProvi...  DEBUG Before processing numColls=0
+CscRawDataProvi...  DEBUG vector of ROB ID to decode: size = 32
+CscRawDataProvi...  DEBUG After processing numColls=32
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #186515186, run #327265 6 events processed so far  <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #186556019, run #327265 6 events processed so far  <<<===
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
+MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
+MdtRawDataProvi...  DEBUG Created container using cache for MdtCsmCache
+MdtRawDataProvi...  DEBUG After processing numColls=1136
+CscRawDataProvi...VERBOSE Number of ROB ids 32
+CscRawDataProvi...VERBOSE Number of ROB fragments 32
+CscRawDataProvi...  DEBUG Created container using cache for CscCache
+CscRawDataProvi...  DEBUG Before processing numColls=0
+CscRawDataProvi...  DEBUG vector of ROB ID to decode: size = 32
+CscRawDataProvi...  DEBUG After processing numColls=32
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #186556019, run #327265 7 events processed so far  <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #186542866, run #327265 7 events processed so far  <<<===
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
+MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
+MdtRawDataProvi...  DEBUG Created container using cache for MdtCsmCache
+MdtRawDataProvi...  DEBUG After processing numColls=1136
+CscRawDataProvi...VERBOSE Number of ROB ids 32
+CscRawDataProvi...VERBOSE Number of ROB fragments 32
+CscRawDataProvi...  DEBUG Created container using cache for CscCache
+CscRawDataProvi...  DEBUG Before processing numColls=0
+CscRawDataProvi...  DEBUG vector of ROB ID to decode: size = 32
+CscRawDataProvi...  DEBUG After processing numColls=32
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #186542866, run #327265 8 events processed so far  <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #186537901, run #327265 8 events processed so far  <<<===
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
+MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
+MdtRawDataProvi...  DEBUG Created container using cache for MdtCsmCache
+MdtRawDataProvi...  DEBUG After processing numColls=1136
+CscRawDataProvi...VERBOSE Number of ROB ids 32
+CscRawDataProvi...VERBOSE Number of ROB fragments 32
+CscRawDataProvi...  DEBUG Created container using cache for CscCache
+CscRawDataProvi...  DEBUG Before processing numColls=0
+CscRawDataProvi...  DEBUG vector of ROB ID to decode: size = 32
+CscRawDataProvi...  DEBUG After processing numColls=32
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #186537901, run #327265 9 events processed so far  <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #186517811, run #327265 9 events processed so far  <<<===
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
+MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
+MdtRawDataProvi...  DEBUG Created container using cache for MdtCsmCache
+MdtRawDataProvi...  DEBUG After processing numColls=1136
+CscRawDataProvi...VERBOSE Number of ROB ids 32
+CscRawDataProvi...VERBOSE Number of ROB fragments 32
+CscRawDataProvi...  DEBUG Created container using cache for CscCache
+CscRawDataProvi...  DEBUG Before processing numColls=0
+CscRawDataProvi...  DEBUG vector of ROB ID to decode: size = 32
+CscRawDataProvi...  DEBUG After processing numColls=32
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #186517811, run #327265 10 events processed so far  <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #186534221, run #327265 10 events processed so far  <<<===
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
+MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
+MdtRawDataProvi...  DEBUG Created container using cache for MdtCsmCache
+MdtRawDataProvi...  DEBUG After processing numColls=1136
+CscRawDataProvi...VERBOSE Number of ROB ids 32
+CscRawDataProvi...VERBOSE Number of ROB fragments 32
+CscRawDataProvi...  DEBUG Created container using cache for CscCache
+CscRawDataProvi...  DEBUG Before processing numColls=0
+CscRawDataProvi...  DEBUG vector of ROB ID to decode: size = 32
+CscRawDataProvi...  DEBUG After processing numColls=32
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #186534221, run #327265 11 events processed so far  <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #186540986, run #327265 11 events processed so far  <<<===
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
+MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
+MdtRawDataProvi...  DEBUG Created container using cache for MdtCsmCache
+MdtRawDataProvi...  DEBUG After processing numColls=1136
+CscRawDataProvi...VERBOSE Number of ROB ids 32
+CscRawDataProvi...VERBOSE Number of ROB fragments 32
+CscRawDataProvi...  DEBUG Created container using cache for CscCache
+CscRawDataProvi...  DEBUG Before processing numColls=0
+CscRawDataProvi...  DEBUG vector of ROB ID to decode: size = 32
+CscRawDataProvi...  DEBUG After processing numColls=32
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #186540986, run #327265 12 events processed so far  <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #186535104, run #327265 12 events processed so far  <<<===
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
+MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
+MdtRawDataProvi...  DEBUG Created container using cache for MdtCsmCache
+MdtRawDataProvi...  DEBUG After processing numColls=1136
+CscRawDataProvi...VERBOSE Number of ROB ids 32
+CscRawDataProvi...VERBOSE Number of ROB fragments 32
+CscRawDataProvi...  DEBUG Created container using cache for CscCache
+CscRawDataProvi...  DEBUG Before processing numColls=0
+CscRawDataProvi...  DEBUG vector of ROB ID to decode: size = 32
+CscRawDataProvi...  DEBUG After processing numColls=32
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #186535104, run #327265 13 events processed so far  <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #186539903, run #327265 13 events processed so far  <<<===
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
+MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
+MdtRawDataProvi...  DEBUG Created container using cache for MdtCsmCache
+MdtRawDataProvi...  DEBUG After processing numColls=1136
+CscRawDataProvi...VERBOSE Number of ROB ids 32
+CscRawDataProvi...VERBOSE Number of ROB fragments 32
+CscRawDataProvi...  DEBUG Created container using cache for CscCache
+CscRawDataProvi...  DEBUG Before processing numColls=0
+CscRawDataProvi...  DEBUG vector of ROB ID to decode: size = 32
+CscRawDataProvi...  DEBUG After processing numColls=32
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #186539903, run #327265 14 events processed so far  <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #186552713, run #327265 14 events processed so far  <<<===
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
+MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
+MdtRawDataProvi...  DEBUG Created container using cache for MdtCsmCache
+MdtRawDataProvi...  DEBUG After processing numColls=1136
+CscRawDataProvi...VERBOSE Number of ROB ids 32
+CscRawDataProvi...VERBOSE Number of ROB fragments 32
+CscRawDataProvi...  DEBUG Created container using cache for CscCache
+CscRawDataProvi...  DEBUG Before processing numColls=0
+CscRawDataProvi...  DEBUG vector of ROB ID to decode: size = 32
+CscRawDataProvi...  DEBUG After processing numColls=32
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #186552713, run #327265 15 events processed so far  <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #186524730, run #327265 15 events processed so far  <<<===
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
+MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
+MdtRawDataProvi...  DEBUG Created container using cache for MdtCsmCache
+MdtRawDataProvi...  DEBUG After processing numColls=1136
+CscRawDataProvi...VERBOSE Number of ROB ids 32
+CscRawDataProvi...VERBOSE Number of ROB fragments 32
+CscRawDataProvi...  DEBUG Created container using cache for CscCache
+CscRawDataProvi...  DEBUG Before processing numColls=0
+CscRawDataProvi...  DEBUG vector of ROB ID to decode: size = 32
+CscRawDataProvi...  DEBUG After processing numColls=32
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #186524730, run #327265 16 events processed so far  <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #186547632, run #327265 16 events processed so far  <<<===
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
+MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
+MdtRawDataProvi...  DEBUG Created container using cache for MdtCsmCache
+MdtRawDataProvi...  DEBUG After processing numColls=1136
+CscRawDataProvi...VERBOSE Number of ROB ids 32
+CscRawDataProvi...VERBOSE Number of ROB fragments 32
+CscRawDataProvi...  DEBUG Created container using cache for CscCache
+CscRawDataProvi...  DEBUG Before processing numColls=0
+CscRawDataProvi...  DEBUG vector of ROB ID to decode: size = 32
+CscRawDataProvi...  DEBUG After processing numColls=32
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #186547632, run #327265 17 events processed so far  <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #186555621, run #327265 17 events processed so far  <<<===
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
+MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
+MdtRawDataProvi...  DEBUG Created container using cache for MdtCsmCache
+MdtRawDataProvi...  DEBUG After processing numColls=1136
+CscRawDataProvi...VERBOSE Number of ROB ids 32
+CscRawDataProvi...VERBOSE Number of ROB fragments 32
+CscRawDataProvi...  DEBUG Created container using cache for CscCache
+CscRawDataProvi...  DEBUG Before processing numColls=0
+CscRawDataProvi...  DEBUG vector of ROB ID to decode: size = 32
+CscRawDataProvi...  DEBUG After processing numColls=32
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #186555621, run #327265 18 events processed so far  <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #186568452, run #327265 18 events processed so far  <<<===
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
+MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
+MdtRawDataProvi...  DEBUG Created container using cache for MdtCsmCache
+MdtRawDataProvi...  DEBUG After processing numColls=1136
+CscRawDataProvi...VERBOSE Number of ROB ids 32
+CscRawDataProvi...VERBOSE Number of ROB fragments 32
+CscRawDataProvi...  DEBUG Created container using cache for CscCache
+CscRawDataProvi...  DEBUG Before processing numColls=0
+CscRawDataProvi...  DEBUG vector of ROB ID to decode: size = 32
+CscRawDataProvi...  DEBUG After processing numColls=32
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #186568452, run #327265 19 events processed so far  <<<===
+AthenaEventLoopMgr   INFO   ===>>>  start processing event #186580451, run #327265 19 events processed so far  <<<===
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
+MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
+MdtRawDataProvi...VERBOSE convert(): 264 ROBFragments.
+MdtRawDataProvi...  DEBUG Created container using cache for MdtCsmCache
+MdtRawDataProvi...  DEBUG After processing numColls=1136
+CscRawDataProvi...VERBOSE Number of ROB ids 32
+CscRawDataProvi...VERBOSE Number of ROB fragments 32
+CscRawDataProvi...  DEBUG Created container using cache for CscCache
+CscRawDataProvi...  DEBUG Before processing numColls=0
+CscRawDataProvi...  DEBUG vector of ROB ID to decode: size = 32
+CscRawDataProvi...  DEBUG After processing numColls=32
+AthenaEventLoopMgr   INFO   ===>>>  done processing event #186580451, run #327265 20 events processed so far  <<<===
+Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
+ApplicationMgr       INFO Application Manager Stopped successfully
+CondInputLoader      INFO Finalizing CondInputLoader...
+AtlasFieldSvc        INFO finalize() successful
+EventInfoByteSt...   INFO finalize 
+IdDictDetDescrCnv    INFO in finalize
+AthDictLoaderSvc     INFO in finalize...
+ToolSvc              INFO Removing all tools created by ToolSvc
+ToolSvc.ByteStr...   INFO in finalize()
+TgcRdoToTgcPrep...   INFO finalize(): input RDOs->output PRDs [Hit: 6807->6807, Tracklet: 28->28, TrackletEIFI: 692->692, HiPt: 4031->4031, SL: 3->3]
+RpcROD_Decoder:...   INFO  ============ FINAL RPC DATA FORMAT STAT. =========== 
+RpcROD_Decoder:...   INFO  RX Header Errors.............0
+RpcROD_Decoder:...   INFO  RX SubHeader Errors..........0
+RpcROD_Decoder:...   INFO  PAD Header Errors............0
+RpcROD_Decoder:...   INFO  PAD/SL SubHeader Errors......0
+RpcROD_Decoder:...   INFO  CM Header Errors.............0
+RpcROD_Decoder:...   INFO  CM SubHeader Errors..........0
+RpcROD_Decoder:...   INFO  CM Footer Errors.............0
+RpcROD_Decoder:...   INFO  PAD PreFooter Errors.........0
+RpcROD_Decoder:...   INFO  PAD Footer Errors............0
+RpcROD_Decoder:...   INFO  SL Header Errors.............0
+RpcROD_Decoder:...   INFO  SL Footer Errors.............0
+RpcROD_Decoder:...   INFO  RX Footer Errors.............0
+RpcROD_Decoder:...   INFO  CRC8 check Failures..........0
+RpcROD_Decoder:...   INFO  ==================================================== 
+ToolSvc.TGCCabl...   INFO finalize
+*****Chrono*****     INFO ****************************************************************************************************
+*****Chrono*****     INFO  The Final CPU consumption ( Chrono ) Table (ordered)
+*****Chrono*****     INFO ****************************************************************************************************
+*****Chrono*****     INFO ****************************************************************************************************
+ChronoStatSvc.f...   INFO  Service finalized successfully 
+ApplicationMgr       INFO Application Manager Finalized successfully
+ApplicationMgr       INFO Application Manager Terminated successfully
+Listing sources of suppressed message: 
+ Message Source              |   Level |    Count
+ CscRawDataProvider.CSC_RawDataProviderTool.CscROD_Decoder|   DEBUG |    35169
+ MdtRawDataProvider.MDT_RawDataProviderTool.MdtROD_Decoder|   DEBUG |   854603
+Py:Athena            INFO leaving with code 0: "successful run"
-- 
GitLab


From b5e91a5035aa69fc0dca8ce2caf89a287554f306 Mon Sep 17 00:00:00 2001
From: Yohei Noguchi <yohei.noguchi@cern.ch>
Date: Mon, 15 Oct 2018 22:33:47 +0200
Subject: [PATCH 035/192] Changed to monitor HLT_mu8, HLT_mu3 and HLT_mu4 in HI
 runs

---
 .../TrigMuonMonitoring/python/TrigMuonMonitCategory.py      | 6 +++---
 .../TrigMuonMonitoring/src/HLTMuonMonTool.cxx               | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/Trigger/TrigMonitoring/TrigMuonMonitoring/python/TrigMuonMonitCategory.py b/Trigger/TrigMonitoring/TrigMuonMonitoring/python/TrigMuonMonitCategory.py
index 02ccbf29dbcb..4704effcaaa2 100644
--- a/Trigger/TrigMonitoring/TrigMuonMonitoring/python/TrigMuonMonitCategory.py
+++ b/Trigger/TrigMonitoring/TrigMuonMonitoring/python/TrigMuonMonitCategory.py
@@ -1,7 +1,7 @@
 # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 
 monitoring_muonNonIso = ['HLT_mu50']
-monitoring_muonNonIso_HI = ['HLT_mu15_L1MU10','HLT_mu14']#8TeV
+monitoring_muonNonIso_HI = ['HLT_mu8','HLT_mu3', 'HLT_mu4']#8TeV
 #monitoring_muonNonIso_HI = ['HLT_mu10','HLT_mu14']
 monitoring_muonNonIso_pp = ['HLT_mu50']
 
@@ -31,7 +31,7 @@ monitoring_muonLowpt = ["HLT_mu14"]
 ### TE name of the hypos for the L2
 #L2 standalone
 monitoring_muonNonIso_L2SAHypo = ['L2_mu_SAhyp_Muon6GeV_v15a_MU20']
-monitoring_muonNonIso_HI_L2SAHypo = ['HLT_mu15_L1MU10','L2_mu_SAhyp_Muon6GeV_v15a_MU10']#8TeV
+monitoring_muonNonIso_HI_L2SAHypo = ['L2_mu_SAhyp_Muon6GeV_v15a_MU6','L2_mu_SAhyp_Muon4GeV_v15a_MU4','L2_mu_SAhyp_Muon4GeV_v15a_MU4']#8TeV
 monitoring_muonNonIso_pp_L2SAHypo = ['L2_mu_SAhyp_Muon6GeV_v15a_MU20']
 
 monitoring_muonIso_L2SAHypo = ['L2_mu_SAhyp_Muon6GeV_v15a_MU20']
@@ -56,7 +56,7 @@ monitoring_muonLowpt_pp_L2SAHypo = ["L2_mu_SAhyp_Muon6GeV_v15a_MU10"]
 
 #L2 combined
 monitoring_muonNonIso_L2CBHypo = ['L2_mucombhyp_mu22_MU20']
-monitoring_muonNonIso_HI_L2CBHypo = ['HLT_mu15_L1MU10','L2_mucombhyp_mu14_MU10']#8TeV
+monitoring_muonNonIso_HI_L2CBHypo = ['L2_mucombhyp_mu8_MU6', 'L2_mucombhyp_mu3_MU4', 'L2_mucombhyp_mu4_MU4']#8TeV
 monitoring_muonNonIso_pp_L2CBHypo = ['L2_mucombhyp_mu22_MU20']
 
 monitoring_muonIso_L2CBHypo = ['L2_mucombhyp_mu22_MU20']
diff --git a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/HLTMuonMonTool.cxx b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/HLTMuonMonTool.cxx
index 3e4e2bd1d754..be4eb774b659 100755
--- a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/HLTMuonMonTool.cxx
+++ b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/HLTMuonMonTool.cxx
@@ -1057,7 +1057,7 @@ const HLT::TriggerElement* HLTMuonMonTool :: getDirectSuccessorHypoTEForL2(const
   const HLT::TriggerElement *hypote = NULL;
   std::vector<HLT::TriggerElement*> TEsuccessors = m_ExpertMethods->getNavigation()->getDirectSuccessors(te);
   for(auto te2 : TEsuccessors){
-    //ATH_MSG_DEBUG("[" << chainname <<"] ::TE2: " << te2->getId() << " " <<  Trig::getTEName(*te2) );
+    ATH_MSG_VERBOSE("[" << chainname <<"] ::TE2: " << te2->getId() << " " <<  Trig::getTEName(*te2) );
     if(Trig::getTEName(*te2)==hyponame){
       ATH_MSG_DEBUG("[" << chainname<< "] selected HypoTE: " << te2->getId() << " " <<  Trig::getTEName(*te2) <<  " isPassed=" << te2->getActiveState() );
       hypote = te2;
-- 
GitLab


From 5c720a1653aec017e2ad2b85af7992612ffb0d33 Mon Sep 17 00:00:00 2001
From: Yohei Noguchi <yohei.noguchi@cern.ch>
Date: Sat, 20 Oct 2018 20:40:30 +0200
Subject: [PATCH 036/192] Changed in hypo TE names for HLT_mu3. Changed
 pretriggers for EFFS histograms

---
 .../python/TrigMuonMonitCategory.py                  |  4 ++--
 .../TrigMuonMonitoring/src/CommonMon.cxx             |  8 ++------
 .../TrigMuonMonitoring/src/HLTMuonMonTool.cxx        | 12 +++++++++---
 3 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/Trigger/TrigMonitoring/TrigMuonMonitoring/python/TrigMuonMonitCategory.py b/Trigger/TrigMonitoring/TrigMuonMonitoring/python/TrigMuonMonitCategory.py
index 4704effcaaa2..292685694b0c 100644
--- a/Trigger/TrigMonitoring/TrigMuonMonitoring/python/TrigMuonMonitCategory.py
+++ b/Trigger/TrigMonitoring/TrigMuonMonitoring/python/TrigMuonMonitCategory.py
@@ -31,7 +31,7 @@ monitoring_muonLowpt = ["HLT_mu14"]
 ### TE name of the hypos for the L2
 #L2 standalone
 monitoring_muonNonIso_L2SAHypo = ['L2_mu_SAhyp_Muon6GeV_v15a_MU20']
-monitoring_muonNonIso_HI_L2SAHypo = ['L2_mu_SAhyp_Muon6GeV_v15a_MU6','L2_mu_SAhyp_Muon4GeV_v15a_MU4','L2_mu_SAhyp_Muon4GeV_v15a_MU4']#8TeV
+monitoring_muonNonIso_HI_L2SAHypo = ['L2_mu_SAhyp_Muon6GeV_v15a_MU6','L2_mu_SAhyp_Muon3GeV_v15a_MU4','L2_mu_SAhyp_Muon4GeV_v15a_MU4']#8TeV
 monitoring_muonNonIso_pp_L2SAHypo = ['L2_mu_SAhyp_Muon6GeV_v15a_MU20']
 
 monitoring_muonIso_L2SAHypo = ['L2_mu_SAhyp_Muon6GeV_v15a_MU20']
@@ -39,7 +39,7 @@ monitoring_muonIso_HI_L2SAHypo = ['']
 monitoring_muonIso_pp_L2SAHypo = ['L2_mu_SAhyp_Muon6GeV_v15a_MU20']
 
 monitoring_MSonly_L2SAHypo = ['L2_mu_SAhyp_Muon6GeV_v15a_MU20']
-monitoring_MSonly_HI_L2SAHypo = ['HLT_mu15_msonly']
+monitoring_MSonly_HI_L2SAHypo = ['L2_mu_SAhyp_Muon6GeV_v15a_MU11']
 monitoring_MSonly_pp_L2SAHypo = ['L2_mu_SAhyp_Muon6GeV_v15a_MU20']
 
 monitoring_muonEFFS_L2SAHypo = ['']
diff --git a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/CommonMon.cxx b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/CommonMon.cxx
index 371a504575c0..a618cb6bd6da 100644
--- a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/CommonMon.cxx
+++ b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/CommonMon.cxx
@@ -1404,17 +1404,13 @@ StatusCode HLTMuonMonTool::fillCommonDQA()
   // updated for real config: 15.02.11
   std::vector<std::string> vs_ESstd;
   if( !m_HI_pp_mode ){
-    vs_ESstd.push_back("HLT_noalg_L1MU4"); 
-    vs_ESstd.push_back("HLT_noalg_L1MU6"); 
-    vs_ESstd.push_back("HLT_noalg_L1MU10"); 
-    //vs_ESstd.push_back("HLT_noalg_L1MU11"); 
+    vs_ESstd.push_back("HLT_mu8"); // increasing stat for muZTP, which requests now ES bits
   }else{
     vs_ESstd.push_back("HLT_mu26_ivarmedium"); // increasing stat for muZTP, which requests now ES bits
   }
-  // vs_ESstd.push_back("HLT_mu18i4_tight"); // for test
-  // vs_ESstd.push_back("HLT_mu22_medium"); // for test
 
   std::vector<std::string> vs_ESnoniso;
+  vs_ESnoniso.push_back("HLT_mu8");   // for HI, but HI does not use iso
   vs_ESnoniso.push_back("HLT_mu14");  // for EnhancedBias
   vs_ESnoniso.push_back("HLT_mu26");
   vs_ESnoniso.push_back("HLT_mu24");      
diff --git a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/HLTMuonMonTool.cxx b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/HLTMuonMonTool.cxx
index be4eb774b659..6439e72ff1bf 100755
--- a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/HLTMuonMonTool.cxx
+++ b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/HLTMuonMonTool.cxx
@@ -159,6 +159,7 @@ StatusCode HLTMuonMonTool::init()
   //(*m_log).setLevel(MSG::DEBUG); // YY: not yet used
   // this->msg().setLevel(MSG::DEBUG);  // YY tried this, worked fine
   ATH_MSG_DEBUG("init being called");
+  ATH_MSG_DEBUG("HI_pp_mode:" << m_HI_pp_mode);
   // some switches and flags
   m_requestESchains = true;
   //initialization for common tools
@@ -255,13 +256,15 @@ StatusCode HLTMuonMonTool::init()
   // v5 primary
   //m_histChainEFFS.push_back("muChainEFFS");
   //m_chainsEFFS.push_back("mu18_mu8noL1");
+
   if(!m_HI_pp_mode){
     m_FS_pre_trigger = "HLT_mu4";
-    m_FS_pre_trigger = "HLT_mu10";
+    m_FS_pre_trigger_second = "HLT_mu8";
   }else{
     m_FS_pre_trigger = "HLT_mu24_ivarmedium";
+    m_FS_pre_trigger_second = "HLT_mu26_ivarmedium";
   }
-  m_FS_pre_trigger_second = "HLT_mu26_ivarmedium";
+
   for(unsigned int ich = 0; ich < m_chainsEFFS.size(); ich++){
 	if(ich > 0) continue;
 	m_histChainEFFS.push_back("muChainEFFS");
@@ -1063,7 +1066,10 @@ const HLT::TriggerElement* HLTMuonMonTool :: getDirectSuccessorHypoTEForL2(const
       hypote = te2;
     }
   }
-
+  if(!hypote){
+      ATH_MSG_DEBUG("[" << chainname<< "] HypoTE not found. Assigning alg TE.");
+      hypote = te;
+  }
 
   return hypote;
 }
-- 
GitLab


From 0b702a203f06df508188310b922cb68989bf67c8 Mon Sep 17 00:00:00 2001
From: Yohei Noguchi <yohei.noguchi@cern.ch>
Date: Sat, 20 Oct 2018 20:42:18 +0200
Subject: [PATCH 037/192] Updated han-configs for 2018 heavy ion runs Automatic
 checks were optimized for HLT_mu8, HLT_mu3 and HLT_mu4_mu4noL1

---
 .../config/HLT/HLTmuon/heavyions_run.config   | 125 +++++++++++++-----
 1 file changed, 94 insertions(+), 31 deletions(-)

diff --git a/DataQuality/DataQualityConfigurations/config/HLT/HLTmuon/heavyions_run.config b/DataQuality/DataQualityConfigurations/config/HLT/HLTmuon/heavyions_run.config
index 4c275cf3285d..55fcd7f7dcd9 100644
--- a/DataQuality/DataQualityConfigurations/config/HLT/HLTmuon/heavyions_run.config
+++ b/DataQuality/DataQualityConfigurations/config/HLT/HLTmuon/heavyions_run.config
@@ -476,13 +476,14 @@ dir HLT {
       hist muChain1_highpt_effsummary_by_ESid {
         output = HLT/TRMUO/Expert/ES_muChain1
         algorithm = TRMUO_GatherDataNoRef
+        description = muChain1 corresponds to chain HLT_mu8.
 	##description = check history efficiencies <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FES_muChain1%2Fmu8_highpt_effsummary_by_ESid%40shifter&result=BinContentDump%7CEF+algorithm&error=&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.85&high_y=1.05&outputtype=png">EF algorithm</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FES_muChain1%2Fmu8_highpt_effsummary_by_ESid%40shifter&result=BinContentDump%7CMuComb&error=&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.85&high_y=1.05&outputtype=png" >MuComb</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FES_muChain1%2Fmu8_highpt_effsummary_by_ESid%40shifter&result=BinContentDump%7CL2MuonSA&error=&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.85&high_y=1.05&outputtype=png">L2MuonSA</a>
         ## need to put reference and compare!
       }
       hist muChain1_highpt_effsummary_by_ESid@shifter {
         output = HLT/TRMUO/Shift/ES_muChain1
         algorithm = effalgmin_3bins
-        description = muChain1 corresponds to chain HLT_mu15_L1MU10. Shifters could click on the link (BinContentDump) on bottom right to see the history efficiencies for each bin.
+        description = muChain1 corresponds to chain HLT_mu8. Shifters could click on the link (BinContentDump) on bottom right to see the history efficiencies for each bin.
 	#description = check history efficiencies <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FES_muChain1%2Fmu8_highpt_effsummary_by_ESid%40shifter&result=BinContentDump%7CEF+algorithm&error=BinContentDump%7CEF+algorithmError&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.85&high_y=1.05&outputtype=png">EF algorithm</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FES_muChain1%2Fmu8_highpt_effsummary_by_ESid%40shifter&result=BinContentDump%7CMuComb&error=BinContentDump%7CMuCombError&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.85&high_y=1.05&outputtype=png" >MuComb</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FES_muChain1%2Fmu8_highpt_effsummary_by_ESid%40shifter&result=BinContentDump%7CL2MuonSA&error=BinContentDump%7CL2MuonSAError&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.85&high_y=1.05&outputtype=png">L2MuonSA</a>
         ## need to put reference and compare!
       }
@@ -491,51 +492,63 @@ dir HLT {
       hist muChain1_ESid_L2MuonSA_Turn_On_Curve_wrt_L1_Fit {
         output = HLT/TRMUO/Expert/ES_muChain1/idtrk/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu10_L2MuonSA_upstream_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_ESid_MuComb_Turn_On_Curve_wrt_L2MuonSA_Fit {
         output = HLT/TRMUO/Expert/ES_muChain1/idtrk/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu10_muComb_upstream_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_ESid_EFmuon_Turn_On_Curve_wrt_MuComb_Fit {
         output = HLT/TRMUO/Expert/ES_muChain1/idtrk/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu10_MuonEFCB_upstream_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_ESid_L2MuonSA_Turn_On_Curve_wrt_L1_Fit@shifter {
         output = HLT/TRMUO/Shift/ES_muChain1
         algorithm = TRMUO_fermi_fit_mu10_ESid_L2MuonSA_upstream_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_ESid_MuComb_Turn_On_Curve_wrt_L2MuonSA_Fit@shifter {
         output = HLT/TRMUO/Shift/ES_muChain1
         algorithm = TRMUO_fermi_fit_mu10_ESid_muComb_upstream_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_ESid_EFmuon_Turn_On_Curve_wrt_MuComb_Fit@shifter {
         output = HLT/TRMUO/Shift/ES_muChain1
         algorithm = TRMUO_fermi_fit_mu10_ESid_MuonEFCB_upstream_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
 # ESid/wrtOffline
       hist muChain1_ESid_L1_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/ES_muChain1/idtrk/wrtOffline
         algorithm = TRMUO_fermi_fit_L1MU0_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_ESid_L1_Barrel_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/ES_muChain1/idtrk/wrtOffline
         algorithm = TRMUO_fermi_fit_L1MU0_barrel_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_ESid_L1_Endcap_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/ES_muChain1/idtrk/wrtOffline
         algorithm = TRMUO_fermi_fit_L1MU0_endcap_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_ESid_L2MuonSA_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/ES_muChain1/idtrk/wrtOffline
         algorithm = TRMUO_fermi_fit_mu10_L2MuonSA_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_ESid_MuComb_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/ES_muChain1/idtrk/wrtOffline
         algorithm = TRMUO_fermi_fit_mu10_muComb_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_ESid_EFmuon_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/ES_muChain1/idtrk/wrtOffline
         algorithm = TRMUO_fermi_fit_mu10_MuonEFCB_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
 
 ### mu10 (all ES and bulk)
@@ -543,27 +556,28 @@ dir HLT {
       hist muChain1_highptL1plateau_wrtOffline {
         output = HLT/TRMUO/Expert/muChain1
         algorithm = TRMUO_GatherDataNoRef
-	description = the L1 item for muChain1 (HLT_mu15_L1MU10) is L1MU10. For express stream, efficiencies measured with Jpsi T&P method are biased due to stream prescales, thus significantly larger than reference. For physics stream, no such bias. Shifters should check the efficiencies carefully for physics stream.
+	description = the L1 item for muChain1 (HLT_mu8) is L1MU6. For express stream, efficiencies measured with Jpsi T&P method are biased due to stream prescales, thus significantly larger than reference. For physics stream, no such bias. Shifters should check the efficiencies carefully for physics stream.
 	#description = check history efficiencies: <br> express_express: <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu8_highptL1plateau_wrtOffline%40shifter&result=BinContentDump%7CBarrel+30-100+GeV+Z+T%26P&error=&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=-0.05&high_y=1.05&outputtype=png">Barrel 30-100 GeV Z T&P</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu8_highptL1plateau_wrtOffline%40shifter&result=BinContentDump%7CEndcap+30-100+GeV+Z+T%26P&error=&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=-0.05&high_y=1.05&outputtype=png">Endcap 30-100 GeV Z T&P</a> <br> physics_Muons: <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu8_highptL1plateau_wrtOffline%40shifter&result=BinContentDump%7CBarrel+30-100+GeV+Z+T%26P&error=&stream=physics_Muons&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=-0.05&high_y=1.05&outputtype=png">Barrel 30-100 GeV Z T&P</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu8_highptL1plateau_wrtOffline%40shifter&result=BinContentDump%7CEndcap+30-100+GeV+Z+T%26P&error=&stream=physics_Muons&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=-0.05&high_y=1.05&outputtype=png">Endcap 30-100 GeV Z T&P</a>
         ## need to put reference and compare!
       }
       hist muChain1_highptL1plateau_wrtOffline@shifter {
         output = HLT/TRMUO/Shift/JpsiTP
         algorithm = effalgmin_3bins
-	description = the L1 item for muChain1 (HLT_mu15_L1MU10) is L1MU10. For express stream, efficiencies measured with Jpsi T&P method are biased due to stream prescales, thus significantly larger than reference. For physics stream, no such bias. Shifters should check the efficiencies carefully for physics stream.
+	description = the L1 item for muChain1 (HLT_mu8) is L1MU6. For express stream, efficiencies measured with Jpsi T&P method are biased due to stream prescales, thus significantly larger than reference. For physics stream, no such bias. Shifters should check the efficiencies carefully for physics stream.
 	#description = check history efficiencies: <br> express_express: <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu8_highptL1plateau_wrtOffline%40shifter&result=BinContentDump%7CBarrel+30-100+GeV+Z+T%26P&error=BinContentDump%7CBarrel+30-100+GeV+Z+T%26PError&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.55&high_y=1.01&outputtype=png">Barrel 30-100 GeV Z T&P</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu8_highptL1plateau_wrtOffline%40shifter&result=BinContentDump%7CEndcap+30-100+GeV+Z+T%26P&error=BinContentDump%7CEndcap+30-100+GeV+Z+T%26PError&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.75&high_y=1.01&outputtype=png">Endcap 30-100 GeV Z T&P</a> <br> physics_Muons: <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu8_highptL1plateau_wrtOffline%40shifter&result=BinContentDump%7CBarrel+30-100+GeV+Z+T%26P&error=BinContentDump%7CBarrel+30-100+GeV+Z+T%26PError&stream=physics_Muons&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.55&high_y=0.80&outputtype=png">Barrel 30-100 GeV Z T&P</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu8_highptL1plateau_wrtOffline%40shifter&result=BinContentDump%7CEndcap+30-100+GeV+Z+T%26P&error=BinContentDump%7CEndcap+30-100+GeV+Z+T%26PError&stream=physics_Muons&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.75&high_y=0.95&outputtype=png">Endcap 30-100 GeV Z T&P</a>
         ## need to put reference and compare!
       }
       hist muChain1_highpt3bins_effwrtL1 {
         output = HLT/TRMUO/Expert/muChain1
         algorithm = TRMUO_GatherDataNoRef
-	description = muChain1 corresponds to chain HLT_mu15_L1MU10. For express stream, efficiencies measured with Z T&P method are biased due to stream prescales, thus expected to be larger than reference. For physics stream, no such bias. Shifters should check the efficiencies carefully for physics stream.
+	description = muChain1 corresponds to chain HLT_mu8. For express stream, efficiencies measured with Z T&P method are biased due to stream prescales, thus expected to be larger than reference. For physics stream, no such bias. Shifters should check the efficiencies carefully for physics stream.
 	#description = check history efficiencies: <br> express_express: <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu8_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C30-50+GeV+Z+T%26P&error=&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.90&high_y=1.05&outputtype=png">30-50 GeV Z T&P</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu8_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C50-100+GeV+Z+T%26P&error=&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.90&high_y=1.05&outputtype=png">50-100 GeV Z T&P</a> <br> physics_Muons: <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu8_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C30-50+GeV+Z+T%26P&error=&stream=physics_Muons&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.90&high_y=1.05&outputtype=png">30-50 GeV Z T&P</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu8_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C50-100+GeV+Z+T%26P&error=&stream=physics_Muons&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.90&high_y=1.05&outputtype=png">50-100 GeV Z T&P</a>
         ## need to put reference and compare!
       }
       hist muChain1_highpt3bins_effwrtL1@shifter {
         output = HLT/TRMUO/Shift/JpsiTP
         algorithm = effalgmin_2bins
+        description = muChain1 corresponds to chain HLT_mu8.
 	#description = check history efficiencies: <br> express_express: <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu8_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C30-50+GeV+Z+T%26P&error=BinContentDump%7C30-50+GeV+Z+T%26PError&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.90&high_y=1.05&outputtype=png">30-50 GeV Z T&P</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu8_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C50-100+GeV+Z+T%26P&error=BinContentDump%7C50-100+GeV+Z+T%26PError&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.90&high_y=1.05&outputtype=png">50-100 GeV Z T&P</a> <br> physics_Muons: <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu8_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C30-50+GeV+Z+T%26P&error=BinContentDump%7C30-50+GeV+Z+T%26PError&stream=physics_Muons&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.90&high_y=1.05&outputtype=png">30-50 GeV Z T&P</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu8_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C50-100+GeV+Z+T%26P&error=BinContentDump%7C50-100+GeV+Z+T%26PError&stream=physics_Muons&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.90&high_y=1.05&outputtype=png">50-100 GeV Z T&P</a>
         ## need to put reference and compare!
       }
@@ -576,38 +590,47 @@ dir HLT {
       hist muChain1_L2MuonSA_Turn_On_Curve_wrt_L1_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu10_L2MuonSA_upstream_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_MuComb_Turn_On_Curve_wrt_L2MuonSA_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu10_muComb_upstream_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_EFmuon_Turn_On_Curve_wrt_MuComb_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu10_MuonEFCB_upstream_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_L2MuonSA_Turn_On_Curve_wrt_L1_Barrel_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu10_L2MuonSA_upstream_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_MuComb_Turn_On_Curve_wrt_L2MuonSA_Barrel_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu10_muComb_upstream_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_EFmuon_Turn_On_Curve_wrt_MuComb_Barrel_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu10_MuonEFCB_upstream_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_L2MuonSA_Turn_On_Curve_wrt_L1_Endcap_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu10_L2MuonSA_upstream_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_MuComb_Turn_On_Curve_wrt_L2MuonSA_Endcap_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu10_muComb_upstream_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_EFmuon_Turn_On_Curve_wrt_MuComb_Endcap_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu10_MuonEFCB_upstream_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
 # wrtUpstream/TakenByMSonly
       hist muChain1_MSb_L2MuonSA_Turn_On_Curve_wrt_L1_Fit {
@@ -651,38 +674,47 @@ dir HLT {
       hist muChain1_L2MuonSA_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtOffline
         algorithm = TRMUO_fermi_fit_mu10_L2MuonSA_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_MuComb_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtOffline
         algorithm = TRMUO_fermi_fit_mu10_muComb_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_EFmuon_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtOffline
         algorithm = TRMUO_fermi_fit_mu10_MuonEFCB_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_L2MuonSA_Barrel_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtOffline
         algorithm = TRMUO_fermi_fit_mu10_L2MuonSA_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_MuComb_Barrel_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtOffline
         algorithm = TRMUO_fermi_fit_mu10_muComb_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_EFmuon_Barrel_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtOffline
         algorithm = TRMUO_fermi_fit_mu10_MuonEFCB_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_L2MuonSA_Endcap_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtOffline
         algorithm = TRMUO_fermi_fit_mu10_L2MuonSA_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_MuComb_Endcap_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtOffline
         algorithm = TRMUO_fermi_fit_mu10_muComb_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_EFmuon_Endcap_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtOffline
         algorithm = TRMUO_fermi_fit_mu10_MuonEFCB_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
 # wrtOffline/TakenByMSonly
       hist muChain1_MSb_L2MuonSA_Turn_On_Curve_wrt_MuidCB_Fit {
@@ -731,14 +763,14 @@ dir HLT {
       hist muChain2_highpt_effsummary_by_ESid {
         output = HLT/TRMUO/Expert/ES_muChain2
         algorithm = TRMUO_GatherDataNoRef
-        description = muChain2 corresponds to chain HLT_mu14. Shifters could click on the link (BinContentDump) on bottom right to see the history efficiencies for each bin. 
+        description = muChain2 corresponds to chain HLT_mu3. Shifters could click on the link (BinContentDump) on bottom right to see the history efficiencies for each bin. 
 	#description = check history efficiencies <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FES_muChain2%2Fmu6_highpt_effsummary_by_ESid%40shifter&result=BinContentDump%7CEF+algorithm&error=&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.85&high_y=1.05&outputtype=png">EF algorithm</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FES_muChain2%2Fmu6_highpt_effsummary_by_ESid%40shifter&result=BinContentDump%7CMuComb&error=&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.85&high_y=1.05&outputtype=png" >MuComb</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FES_muChain2%2Fmu6_highpt_effsummary_by_ESid%40shifter&result=BinContentDump%7CL2MuonSA&error=&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.85&high_y=1.05&outputtype=png">L2MuonSA</a>
         ## need to put reference and compare!
       }
       hist muChain2_highpt_effsummary_by_ESid@shifter {
         output = HLT/TRMUO/Shift/ES_muChain2
         algorithm = effalgmin_3bins
-        description = muChain2 corresponds to chain HLT_mu14. Shifters could click on the link (BinContentDump) on bottom right to see the history efficiencies for each bin. 
+        description = muChain2 corresponds to chain HLT_mu3. Shifters could click on the link (BinContentDump) on bottom right to see the history efficiencies for each bin. 
 #	description = check history efficiencies <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FES_muChain2%2Fmu6_highpt_effsummary_by_ESid%40shifter&result=BinContentDump%7CEF+algorithm&error=BinContentDump%7CEF+algorithmError&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.85&high_y=1.05&outputtype=png">EF algorithm</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FES_muChain2%2Fmu6_highpt_effsummary_by_ESid%40shifter&result=BinContentDump%7CMuComb&error=BinContentDump%7CMuCombError&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.85&high_y=1.05&outputtype=png" >MuComb</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FES_muChain2%2Fmu6_highpt_effsummary_by_ESid%40shifter&result=BinContentDump%7CL2MuonSA&error=BinContentDump%7CL2MuonSAError&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.85&high_y=1.05&outputtype=png">L2MuonSA</a>
         ## need to put reference and compare!
       }
@@ -747,51 +779,63 @@ dir HLT {
       hist muChain2_ESid_L2MuonSA_Turn_On_Curve_wrt_L1_Fit {
         output = HLT/TRMUO/Expert/ES_muChain2/idtrk/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu14_L2MuonSA_upstream_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_ESid_MuComb_Turn_On_Curve_wrt_L2MuonSA_Fit {
         output = HLT/TRMUO/Expert/ES_muChain2/idtrk/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu14_muComb_upstream_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_ESid_EFmuon_Turn_On_Curve_wrt_MuComb_Fit {
         output = HLT/TRMUO/Expert/ES_muChain2/idtrk/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu14_MuonEFCB_upstream_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_ESid_L2MuonSA_Turn_On_Curve_wrt_L1_Fit@shifter {
         output = HLT/TRMUO/Shift/ES_muChain2
         algorithm = TRMUO_fermi_fit_mu14_ESid_L2MuonSA_upstream_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_ESid_MuComb_Turn_On_Curve_wrt_L2MuonSA_Fit@shifter {
         output = HLT/TRMUO/Shift/ES_muChain2
         algorithm = TRMUO_fermi_fit_mu14_ESid_muComb_upstream_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_ESid_EFmuon_Turn_On_Curve_wrt_MuComb_Fit@shifter {
         output = HLT/TRMUO/Shift/ES_muChain2
         algorithm = TRMUO_fermi_fit_mu14_ESid_MuonEFCB_upstream_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
 # ESid/wrtOffline
       hist muChain2_ESid_L1_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/ES_muChain2/idtrk/wrtOffline
         algorithm = TRMUO_fermi_fit_L1MU0_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_ESid_L1_Barrel_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/ES_muChain2/idtrk/wrtOffline
         algorithm = TRMUO_fermi_fit_L1MU0_barrel_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_ESid_L1_Endcap_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/ES_muChain2/idtrk/wrtOffline
         algorithm = TRMUO_fermi_fit_L1MU0_endcap_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_ESid_L2MuonSA_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/ES_muChain2/idtrk/wrtOffline
         algorithm = TRMUO_fermi_fit_mu14_L2MuonSA_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_ESid_MuComb_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/ES_muChain2/idtrk/wrtOffline
         algorithm = TRMUO_fermi_fit_mu14_muComb_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_ESid_EFmuon_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/ES_muChain2/idtrk/wrtOffline
         algorithm = TRMUO_fermi_fit_mu14_MuonEFCB_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
 
 ### mu14 (all ES and bulk)
@@ -799,19 +843,20 @@ dir HLT {
       hist muChain2_highptL1plateau_wrtOffline {
         output = HLT/TRMUO/Expert/muChain2
         algorithm = TRMUO_GatherDataNoRef
+	description = muChain2 corresponds to chain HLT_mu3.
         ## need to put reference and compare!
       }
       hist muChain2_highpt3bins_effwrtL1 {
         output = HLT/TRMUO/Expert/muChain2
         algorithm = TRMUO_GatherDataNoRef
-	description = muChain2 corresponds to chain HLT_mu14. For express stream, efficiencies measured with Jpsi T&P method are biased due to stream prescales, thus expected to be larger than reference. For physics stream, no such bias. Shifters should check the efficiencies carefully for physics stream.
+	description = muChain2 corresponds to chain HLT_mu3. For express stream, efficiencies measured with Jpsi T&P method are biased due to stream prescales, thus expected to be larger than reference. For physics stream, no such bias. Shifters should check the efficiencies carefully for physics stream.
 	#description = check history efficiencies: <br> express_express: <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu6_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C30-50+GeV+Z+T%26P&error=&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=-0.05&high_y=1.05&outputtype=png">30-50 GeV Z T&P</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu6_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C50-100+GeV+Z+T%26P&error=&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=-0.05&high_y=1.05&outputtype=png">50-100 GeV Z T&P</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu6_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C100-300+GeV+MSonly_barrel-tagged&error=&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=-0.05&high_y=1.05&outputtype=png">100-300 GeV MSonly_barrel-tagged</a> <br> physics_Muons: <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu6_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C30-50+GeV+Z+T%26P&error=&stream=physics_Muons&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=-0.05&high_y=1.05&outputtype=png">30-50 GeV Z T&P</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu6_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C50-100+GeV+Z+T%26P&error=&stream=physics_Muons&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=-0.05&high_y=1.05&outputtype=png">50-100 GeV Z T&P</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu6_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C100-300+GeV+MSonly_barrel-tagged&error=&stream=physics_Muons&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=-0.05&high_y=1.05&outputtype=png">100-300 GeV MSonly_barrel-tagged</a>
         ## need to put reference and compare!
       }
       hist muChain2_highpt3bins_effwrtL1@shifter {
         output = HLT/TRMUO/Shift/JpsiTP
         algorithm = effalgmin_2bins
-	description = muChain2 corresponds to chain HLT_mu14. For express stream, efficiencies measured with Jpsi T&P method are biased due to stream prescales, thus expected to be larger than reference. For physics stream, no such bias. Shifters should check the efficiencies carefully for physics stream.
+	description = muChain2 corresponds to chain HLT_mu3. For express stream, efficiencies measured with Jpsi T&P method are biased due to stream prescales, thus expected to be larger than reference. For physics stream, no such bias. Shifters should check the efficiencies carefully for physics stream.
 	#description = check history efficiencies: <br> express_express: <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu6_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C30-50+GeV+Z+T%26P&error=BinContentDump%7C30-50+GeV+Z+T%26PError&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.75&high_y=0.90&outputtype=png">30-50 GeV Z T&P</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu6_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C50-100+GeV+Z+T%26P&error=BinContentDump%7C50-100+GeV+Z+T%26PError&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.90&high_y=1.01&outputtype=png">50-100 GeV Z T&P</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu6_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C100-300+GeV+MSonly_barrel-tagged&error=BinContentDump%7C100-300+GeV+MSonly_barrel-taggedError&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.90&high_y=1.01&outputtype=png">100-300 GeV MSonly_barrel-tagged</a> <br> physics_Muons: <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu6_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C30-50+GeV+Z+T%26P&error=BinContentDump%7C30-50+GeV+Z+T%26PError&stream=physics_Muons&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.75&high_y=0.90&outputtype=png">30-50 GeV Z T&P</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu6_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C50-100+GeV+Z+T%26P&error=BinContentDump%7C50-100+GeV+Z+T%26PError&stream=physics_Muons&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.90&high_y=1.01&outputtype=png">50-100 GeV Z T&P</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu6_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C100-300+GeV+MSonly_barrel-tagged&error=BinContentDump%7C100-300+GeV+MSonly_barrel-taggedError&stream=physics_Muons&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.90&high_y=1.01&outputtype=png">100-300 GeV MSonly_barrel-tagged</a>
         ## need to put reference and compare!
       }
@@ -824,38 +869,47 @@ dir HLT {
       hist muChain2_L2MuonSA_Turn_On_Curve_wrt_L1_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu14_L2MuonSA_upstream_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_MuComb_Turn_On_Curve_wrt_L2MuonSA_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu14_muComb_upstream_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_EFmuon_Turn_On_Curve_wrt_MuComb_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu14_MuonEFCB_upstream_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_L2MuonSA_Turn_On_Curve_wrt_L1_Barrel_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu14_L2MuonSA_upstream_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_MuComb_Turn_On_Curve_wrt_L2MuonSA_Barrel_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu14_muComb_upstream_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_EFmuon_Turn_On_Curve_wrt_MuComb_Barrel_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu14_MuonEFCB_upstream_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_L2MuonSA_Turn_On_Curve_wrt_L1_Endcap_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu14_L2MuonSA_upstream_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_MuComb_Turn_On_Curve_wrt_L2MuonSA_Endcap_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu14_muComb_upstream_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_EFmuon_Turn_On_Curve_wrt_MuComb_Endcap_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu14_MuonEFCB_upstream_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
 # wrtUpstream/TakenByMSonly
       hist muChain2_MSb_L2MuonSA_Turn_On_Curve_wrt_L1_Fit {
@@ -899,38 +953,47 @@ dir HLT {
       hist muChain2_L2MuonSA_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtOffline
         algorithm = TRMUO_fermi_fit_mu14_L2MuonSA_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_MuComb_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtOffline
         algorithm = TRMUO_fermi_fit_mu14_muComb_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_EFmuon_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtOffline
         algorithm = TRMUO_fermi_fit_mu14_MuonEFCB_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_L2MuonSA_Barrel_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtOffline
         algorithm = TRMUO_fermi_fit_mu14_L2MuonSA_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_MuComb_Barrel_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtOffline
         algorithm = TRMUO_fermi_fit_mu14_muComb_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_EFmuon_Barrel_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtOffline
         algorithm = TRMUO_fermi_fit_mu14_MuonEFCB_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_L2MuonSA_Endcap_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtOffline
         algorithm = TRMUO_fermi_fit_mu14_L2MuonSA_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_MuComb_Endcap_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtOffline
         algorithm = TRMUO_fermi_fit_mu14_muComb_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_EFmuon_Endcap_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtOffline
         algorithm = TRMUO_fermi_fit_mu14_MuonEFCB_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
 # wrtOffline/TakenByMSonly
       hist muChain2_MSb_L2MuonSA_Turn_On_Curve_wrt_MuidCB_Fit {
@@ -3415,16 +3478,16 @@ thresholds th_TRMUO_fermi_fit_mu15_MSonly_EStag_MuonEFSA_upstream {
 
 thresholds th_TRMUO_fermi_fit_mu10_ESid_L2MuonSA_upstream {
   limits Plateau {
-    warning = 0.93
-    error = 0.929
+    warning = 0.95
+    error = 0.93
   }
   limits Threshold {
-    warning = 10.0
-    error   = 11.0
+    warning = 8.0
+    error   = 10.0
   }
   limits Resolution {
-    warning = 1.0
-    error   = 2.0
+    warning = 2.0
+    error   = 3.0
   }
 }
 
@@ -3463,16 +3526,16 @@ thresholds th_TRMUO_fermi_fit_mu10_ESid_MuonEFCB_upstream {
 #for Shift mu14
 thresholds th_TRMUO_fermi_fit_mu14_ESid_L2MuonSA_upstream {
   limits Plateau {
-    warning = 0.70
-    error = 0.699
+    warning = 0.95
+    error = 0.93
   }
   limits Threshold {
-    warning = 14.0
-    error = 15.0
+    warning = 5.0
+    error = 7.0
   }
   limits Resolution {
-    warning = 1.0
-    error   = 2.0
+    warning = 2.0
+    error   = 3.0
   }
 }
 
@@ -3481,11 +3544,11 @@ thresholds th_TRMUO_fermi_fit_mu14_ESid_muComb_upstream {
 #    warning = 0.98 # 120830
 #   warning = 0.97 # 110909
     warning = 0.95
-    error = 0.949
+    error = 0.93
   }
   limits Threshold {
-    warning = 14.0
-    error = 15.0
+    warning = 5.0
+    error = 7.0
   }
   limits Resolution {
     warning = 1.0
@@ -3496,16 +3559,16 @@ thresholds th_TRMUO_fermi_fit_mu14_ESid_muComb_upstream {
 
 thresholds th_TRMUO_fermi_fit_mu14_ESid_MuonEFCB_upstream {
   limits Plateau {
-    warning = 0.98
-    error = 0.979
+    warning = 0.95
+    error = 0.93
   }
   limits Threshold {
-    warning = 14.0
-    error = 15.0
+    warning = 5.0
+    error = 7.0
   }
   limits Resolution {
-    warning = 0.5
-    error   = 1.0
+    warning = 1.0
+    error   = 2.0
   }
 }
 
@@ -3683,8 +3746,8 @@ thresholds th_TRMUO_fermi_fit_mu10_L2MuonSA_upstream {
     error   = 11.0
   }
   limits Resolution {
-    warning = 1.0
-    error   = 2.0
+    warning = 2.0
+    error   = 3.0
   }
 }
 
-- 
GitLab


From b51fdfb392d64af4e39ca04781f26c931427bf19 Mon Sep 17 00:00:00 2001
From: Charles Burton <cdb97@cornell.edu>
Date: Mon, 21 Jan 2019 13:31:33 -0600
Subject: [PATCH 038/192] resolve	MR comments

1. Cleanup boilerplate code
2. Change property declaration to new method
3. Change function names in AthMonitorCfgHelper
4. Add AOD to TestDefaults.py
5. Add override keyword to functions
---
 .../AthenaMonitoring/AthMonitorAlgorithm.h    | 39 +++++++-------
 .../ExampleMonitorAlgorithm.h                 |  2 +-
 .../python/AthMonitorCfgHelper.py             |  4 +-
 .../ExampleMonitorAlgorithm.py                | 36 +++++++------
 Control/AthenaMonitoring/python/__init__.py   |  3 +-
 .../src/AthMonitorAlgorithm.cxx               | 53 +++----------------
 .../src/ExampleMonitorAlgorithm.cxx           |  4 +-
 7 files changed, 51 insertions(+), 90 deletions(-)
 rename Control/AthenaMonitoring/{share => python}/ExampleMonitorAlgorithm.py (82%)

diff --git a/Control/AthenaMonitoring/AthenaMonitoring/AthMonitorAlgorithm.h b/Control/AthenaMonitoring/AthenaMonitoring/AthMonitorAlgorithm.h
index 11c0542fb48c..cdb1d6b12cdf 100644
--- a/Control/AthenaMonitoring/AthenaMonitoring/AthMonitorAlgorithm.h
+++ b/Control/AthenaMonitoring/AthenaMonitoring/AthMonitorAlgorithm.h
@@ -52,7 +52,7 @@ public:
      * 
      * @return StatusCode
      */
-    virtual StatusCode initialize();
+    virtual StatusCode initialize() override;
 
 
     /** 
@@ -61,7 +61,7 @@ public:
      * @param ctx event context for reentrant Athena call
      * @return StatusCode
      */
-    virtual StatusCode execute(const EventContext& ctx) const;
+    virtual StatusCode execute(const EventContext& ctx) const override;
 
 
     /** 
@@ -125,7 +125,7 @@ public:
      *
      * @return a value in the Environment_t enumeration which matches the input string.
      */
-    Environment_t envStringToEnum( const std::string& str );
+    Environment_t envStringToEnum( const std::string& str ) const;
 
 
     /** 
@@ -141,7 +141,7 @@ public:
      * 
      * @return a value in the DataType_t enumeration which matches the input string.
      */
-    DataType_t dataTypeStringToEnum( const std::string& str );
+    DataType_t dataTypeStringToEnum( const std::string& str ) const;
 
 
     /** 
@@ -261,27 +261,30 @@ public:
 
 
 protected:
-    ToolHandleArray<GenericMonitoringTool> m_tools; ///< Array of Generic Monitoring Tools
-    ToolHandle<Trig::ITrigDecisionTool> m_trigDecTool; ///< Tool to tell whether a specific trigger is passed
-    ToolHandle<ITriggerTranslatorTool> m_trigTranslator; ///< Tool to unpack trigger categories into a trigger list
-    ToolHandleArray<IDQFilterTool> m_DQFilterTools; ///< Array of Data Quality filter tools
-    ToolHandle<ILuminosityTool> m_lumiTool; ///< Tool for calculating various luminosity quantities
-    ToolHandle<ITrigLivefractionTool> m_liveTool; ///< Tool for calculating various live luminosity quantities
+    // Using the new way to declare JO properties: Gaudi::Property<int> m_myProperty {this,"MyProperty",0};
+
+    ToolHandleArray<GenericMonitoringTool> m_tools {this,"GMTools",{}}; ///< Array of Generic Monitoring Tools
+    ToolHandle<Trig::ITrigDecisionTool> m_trigDecTool {this,"TrigDecisionTool",""}; ///< Tool to tell whether a specific trigger is passed
+    ToolHandle<ITriggerTranslatorTool> m_trigTranslator {this,"TriggerTranslatorTool",""}; ///< Tool to unpack trigger categories into a trigger list
+    ToolHandleArray<IDQFilterTool> m_DQFilterTools {this,"FilterTools",{}}; ///< Array of Data Quality filter tools
+
+    ToolHandle<ILuminosityTool> m_lumiTool {this,"lumiTool","LuminosityTool"}; ///< Tool for calculating various luminosity quantities
+    ToolHandle<ITrigLivefractionTool> m_liveTool {this,"liveTool","TrigLivefractionTool"}; ///< Tool for calculating various live luminosity quantities
 
     AthMonitorAlgorithm::Environment_t m_environment; ///< Instance of the Environment_t enum
     AthMonitorAlgorithm::DataType_t m_dataType; ///< Instance of the DataType_t enum
-    std::string m_environmentStr; ///< Environment string pulled from the job option and converted to enum
-    std::string m_dataTypeStr; ///< DataType string pulled from the job option and converted to enum
+    Gaudi::Property<std::string> m_environmentStr {this,"Environment","user"}; ///< Environment string pulled from the job option and converted to enum
+    Gaudi::Property<std::string> m_dataTypeStr {this,"DataType","userDefined"}; ///< DataType string pulled from the job option and converted to enum
 
-    std::string m_triggerChainString; ///< Trigger chain string pulled from the job option and parsed into a vector
+    Gaudi::Property<std::string> m_triggerChainString {this,"TriggerChain",""}; ///< Trigger chain string pulled from the job option and parsed into a vector
     std::vector<std::string> m_vTrigChainNames; ///< Vector of trigger chain names parsed from trigger chain string
 
-    std::string m_fileKey;
+    Gaudi::Property<std::string> m_fileKey {this,"FileKey",""}; ///< Internal Athena name for file
     bool m_hasRetrievedLumiTool; ///< Allows use of various luminosity functions
-    bool m_useLumi; ///< Allows use of various luminosity functions
-    float m_defaultLBDuration; ///< Default duration of one lumi block
-    int m_detailLevel; ///< Sets the level of detail used in the monitoring
-    SG::ReadHandleKey<xAOD::EventInfo> m_EventInfoKey; // key for retrieving EventInfo from StoreGate
+    Gaudi::Property<bool> m_useLumi {this,"EnableLumi",false}; ///< Allows use of various luminosity functions
+    Gaudi::Property<float> m_defaultLBDuration {this,"DefaultLBDuration",60.}; ///< Default duration of one lumi block
+    Gaudi::Property<int> m_detailLevel {this,"DetailLevel",0}; ///< Sets the level of detail used in the monitoring
+    SG::ReadHandleKey<xAOD::EventInfo> m_EventInfoKey {this,"EventInfoKey","EventInfo"}; ///< Key for retrieving EventInfo from StoreGate
 };
 
 #endif
diff --git a/Control/AthenaMonitoring/AthenaMonitoring/ExampleMonitorAlgorithm.h b/Control/AthenaMonitoring/AthenaMonitoring/ExampleMonitorAlgorithm.h
index 0c6f77662709..0d959860d56a 100644
--- a/Control/AthenaMonitoring/AthenaMonitoring/ExampleMonitorAlgorithm.h
+++ b/Control/AthenaMonitoring/AthenaMonitoring/ExampleMonitorAlgorithm.h
@@ -20,6 +20,6 @@ public:
     StatusCode initialize();
     virtual StatusCode fillHistograms( const EventContext& ctx ) const override;
 private:
-	bool m_doRandom;
+	Gaudi::Property<bool> m_doRandom {this,"RandomHist",false};
 };
 #endif
\ No newline at end of file
diff --git a/Control/AthenaMonitoring/python/AthMonitorCfgHelper.py b/Control/AthenaMonitoring/python/AthMonitorCfgHelper.py
index 16a4ea893376..9c8cccce5ca6 100644
--- a/Control/AthenaMonitoring/python/AthMonitorCfgHelper.py
+++ b/Control/AthenaMonitoring/python/AthMonitorCfgHelper.py
@@ -11,7 +11,7 @@ class AthMonitorCfgHelper(object):
         self.monSeq = AthSequencer('AthMonSeq_' + monName)
         self.resobj = ComponentAccumulator()
 
-    def AddAlgorithm(self,algClassOrObj, *args, **kwargs):
+    def addAlgorithm(self,algClassOrObj, *args, **kwargs):
         from AthenaCommon.Configurable import Configurable
         if issubclass(algClassOrObj, Configurable):
             algObj = algClassOrObj(*args, **kwargs)
@@ -25,7 +25,7 @@ class AthMonitorCfgHelper(object):
         self.monSeq += algObj
         return algObj
 
-    def AddGroup(self, alg, name, topPath=''):
+    def addGroup(self, alg, name, topPath=''):
         from AthenaMonitoring.GenericMonitoringTool import GenericMonitoringTool
         tool = GenericMonitoringTool(name)
         acc, histsvc = GetDQTHistSvc(self.inputFlags)
diff --git a/Control/AthenaMonitoring/share/ExampleMonitorAlgorithm.py b/Control/AthenaMonitoring/python/ExampleMonitorAlgorithm.py
similarity index 82%
rename from Control/AthenaMonitoring/share/ExampleMonitorAlgorithm.py
rename to Control/AthenaMonitoring/python/ExampleMonitorAlgorithm.py
index bc4d49131617..88b8fffe90ee 100644
--- a/Control/AthenaMonitoring/share/ExampleMonitorAlgorithm.py
+++ b/Control/AthenaMonitoring/python/ExampleMonitorAlgorithm.py
@@ -21,7 +21,7 @@ def ExampleMonitoringConfig(inputFlags):
     # The following class will make a sequence, configure algorithms, and link
     # them to GenericMonitoringTools
     from AthenaMonitoring import AthMonitorCfgHelper
-    helper = AthMonitorCfgHelper(inputFlags,"ExampleMonitor")
+    helper = AthMonitorCfgHelper(inputFlags,'ExampleAthMonitorCfg')
 
 
     ### STEP 2 ###
@@ -31,11 +31,11 @@ def ExampleMonitoringConfig(inputFlags):
     # base class configuration following the inputFlags. The returned object 
     # is the algorithm.
     from AthenaMonitoring.AthenaMonitoringConf import ExampleMonitorAlgorithm
-    exampleMonAlg = helper.AddAlgorithm(ExampleMonitorAlgorithm)
+    exampleMonAlg = helper.addAlgorithm(ExampleMonitorAlgorithm,'ExampleMonAlg')
 
     # You can actually make multiple instances of the same algorithm and give 
     # them different configurations
-    anotherExampleMonAlg = helper.AddAlgorithm(ExampleMonitorAlgorithm)
+    anotherExampleMonAlg = helper.addAlgorithm(ExampleMonitorAlgorithm,'AnotherExampleMonAlg')
 
     # # If for some really obscure reason you need to instantiate an algorithm
     # # yourself, the AddAlgorithm method will still configure the base 
@@ -44,14 +44,8 @@ def ExampleMonitoringConfig(inputFlags):
 
 
     ### STEP 3 ###
-    # Edit properties of a algorithm, using inputFlags.
-    exampleMonAlg.FileKey = inputFlags.DQ.FileKey
-    exampleMonAlg.Environment = inputFlags.DQ.Environment
-    exampleMonAlg.DataType = inputFlags.DQ.DataType
-    
+    # Edit properties of a algorithm
     exampleMonAlg.TriggerChain = ''
-    exampleMonAlg.EnableLumi = True
-
 
     ### STEP 4 ###
     # Add some tools. N.B. Do not use your own trigger decion tool. Use the
@@ -72,21 +66,29 @@ def ExampleMonitoringConfig(inputFlags):
 
     # Add a generic monitoring tool (a "group" in old language). The returned 
     # object here is the standard GenericMonitoringTool.
-    myGroup = helper.AddGroup(
+    myGroup = helper.addGroup(
         exampleMonAlg,
-        "ExampleMonitor",
-        "OneRing/"
+        'ExampleMonitor',
+        'OneRing/'
     )
 
+    # Add a GMT for the other example monitor algorithm
+    anotherGroup = helper.addGroup(anotherExampleMonAlg,'ExampleMonitor')
+
     ### STEP 5 ###
     # Configure histograms
-    myGroup.defineHistogram("lumiPerBCID;lumiPerBCID", title="Luminosity;L/BCID;Events",
+    myGroup.defineHistogram('lumiPerBCID;lumiPerBCID', title='Luminosity;L/BCID;Events',
                             path='ToRuleThemAll',xbins=10,xmin=0.0,xmax=10.0)
-    myGroup.defineHistogram("lb;lb", title="Luminosity Block;lb;Events",
+    myGroup.defineHistogram('lb;lb', title='Luminosity Block;lb;Events',
                             path='ToFindThem',xbins=1000,xmin=-0.5,xmax=999.5)
-    myGroup.defineHistogram("random;random", title="LB;x;Events",
+    myGroup.defineHistogram('random;random', title='LB;x;Events',
                             path='ToBringThemAll',xbins=30,xmin=0,xmax=1)
 
+
+    anotherGroup.defineHistogram('lbWithFilter;lbWithFilter',title='Lumi;lb;Events',
+                                 path='top',xbins=1000,xmin=-0.5,xmax=999.5)
+
+
     ### STEP 6 ###
     # Finalize. The return value should be a tuple of the ComponentAccumulator
     # and the sequence containing the created algorithms. If we haven't called
@@ -116,7 +118,7 @@ if __name__=='__main__':
     file = 'data16_13TeV.00311321.physics_Main.recon.AOD.r9264/AOD.11038520._000001.pool.root.1'
     ConfigFlags.Input.Files = [nightly+file]
     ConfigFlags.Input.isMC = False
-    ConfigFlags.Output.HISTFileName = 'ExampleMonitor.root'
+    ConfigFlags.Output.HISTFileName = 'ExampleMonitorOutput.root'
     ConfigFlags.lock()
 
     # Initialize configuration object, add accumulator, merge, and run.
diff --git a/Control/AthenaMonitoring/python/__init__.py b/Control/AthenaMonitoring/python/__init__.py
index a97b74013952..d95762383ed5 100644
--- a/Control/AthenaMonitoring/python/__init__.py
+++ b/Control/AthenaMonitoring/python/__init__.py
@@ -3,5 +3,4 @@
 #
 
 from AthMonitorCfgHelper import AthMonitorCfgHelper
-from AtlasReadyFilterTool import GetAtlasReadyFilterTool
-import DQConfigFlags
+from AtlasReadyFilterTool import GetAtlasReadyFilterTool
\ No newline at end of file
diff --git a/Control/AthenaMonitoring/src/AthMonitorAlgorithm.cxx b/Control/AthenaMonitoring/src/AthMonitorAlgorithm.cxx
index a6b28b2f1312..044cf89f2205 100644
--- a/Control/AthenaMonitoring/src/AthMonitorAlgorithm.cxx
+++ b/Control/AthenaMonitoring/src/AthMonitorAlgorithm.cxx
@@ -6,41 +6,11 @@
 
 AthMonitorAlgorithm::AthMonitorAlgorithm( const std::string& name, ISvcLocator* pSvcLocator )
 :AthReentrantAlgorithm(name,pSvcLocator)
-,m_tools(this)
-,m_trigDecTool("")
-,m_trigTranslator("")
-,m_DQFilterTools(this)
-,m_lumiTool("LuminosityTool")
-,m_liveTool("TrigLivefractionTool")
 ,m_environment(Environment_t::user)
 ,m_dataType(DataType_t::userDefined)
-,m_environmentStr("user")
-,m_dataTypeStr("userDefined")
-,m_triggerChainString("")
 ,m_vTrigChainNames({})
-,m_fileKey("")
 ,m_hasRetrievedLumiTool(false)
-,m_useLumi(false)
-,m_defaultLBDuration(60.)
-,m_detailLevel(1)
-,m_EventInfoKey("EventInfo")
-{
-    // The following properties are set in the python configuration and
-    // picked up here to be converted into the method variables. For an
-    // explanation of each variable, see the header.
-    declareProperty("GMTools",m_tools);
-    declareProperty("TrigDecisionTool",m_trigDecTool);
-    declareProperty("TriggerTranslatorTool",m_trigTranslator);
-    declareProperty("FilterTools",m_DQFilterTools);
-    declareProperty("Environment",m_environmentStr);
-    declareProperty("DataType",m_dataTypeStr);
-    declareProperty("TriggerChain",m_triggerChainString);
-    declareProperty("FileKey",m_fileKey);
-    declareProperty("EnableLumi",m_useLumi); 
-    declareProperty("DefaultLBDuration",m_defaultLBDuration);
-    declareProperty("DetailLevel",m_detailLevel);
-    declareProperty("EventInfoKey",m_EventInfoKey);
-}
+{}
 
 
 AthMonitorAlgorithm::~AthMonitorAlgorithm() {}
@@ -51,19 +21,12 @@ StatusCode AthMonitorAlgorithm::initialize() {
 
     // Retrieve the generic monitoring tools (a ToolHandleArray)
     if ( !m_tools.empty() ) {
-        sc = m_tools.retrieve();
-        if ( !sc.isSuccess() ) {
-            ATH_MSG_ERROR("Unable to retrieve the generic monitoring tools." << endmsg);
-        }
+        ATH_CHECK( m_tools.retrieve() );
     }
 
     // Retrieve the trigger decision tool if requested
     if ( !m_trigDecTool.empty() ) {
-        sc = m_trigDecTool.retrieve();
-        if( !sc.isSuccess() ) {
-            ATH_MSG_ERROR("Unable to retrieve the TrigDecisionTool." << endmsg);
-            return sc;
-        }
+        ATH_CHECK( m_trigDecTool.retrieve() );
 
         // If the trigger chain is specified, parse it into a list.
         if ( m_triggerChainString!="" ) {
@@ -76,11 +39,7 @@ StatusCode AthMonitorAlgorithm::initialize() {
             // Then, retrieve the trigger translator if requested. Finally, convert 
             // into a usable format using the unpackTriggerCategories function.
             if (!m_trigTranslator.empty()) {
-                sc = m_trigTranslator.retrieve();
-                if ( !sc.isSuccess() ) {
-                    ATH_MSG_ERROR("Unable to retrieve the TrigTranslatorTool." << endmsg);
-                    return sc;
-                }
+                ATH_CHECK( m_trigTranslator.retrieve() );
                 unpackTriggerCategories(m_vTrigChainNames);
             }
         }
@@ -144,7 +103,7 @@ AthMonitorAlgorithm::Environment_t AthMonitorAlgorithm::environment() const {
 }
 
 
-AthMonitorAlgorithm::Environment_t AthMonitorAlgorithm::envStringToEnum( const std::string& str ) {
+AthMonitorAlgorithm::Environment_t AthMonitorAlgorithm::envStringToEnum( const std::string& str ) const {
     // convert the string to all lowercase
     std::string lowerCaseStr = str;
     std::transform(lowerCaseStr.begin(), lowerCaseStr.end(), lowerCaseStr.begin(), ::tolower);
@@ -177,7 +136,7 @@ AthMonitorAlgorithm::DataType_t AthMonitorAlgorithm::dataType() const {
 }
 
 
-AthMonitorAlgorithm::DataType_t AthMonitorAlgorithm::dataTypeStringToEnum( const std::string& str ) {
+AthMonitorAlgorithm::DataType_t AthMonitorAlgorithm::dataTypeStringToEnum( const std::string& str ) const {
     // convert the string to all lowercase
     std::string lowerCaseStr = str;
     std::transform(lowerCaseStr.begin(), lowerCaseStr.end(), lowerCaseStr.begin(), ::tolower);
diff --git a/Control/AthenaMonitoring/src/ExampleMonitorAlgorithm.cxx b/Control/AthenaMonitoring/src/ExampleMonitorAlgorithm.cxx
index 58b7784ee03e..bc0167f758a5 100644
--- a/Control/AthenaMonitoring/src/ExampleMonitorAlgorithm.cxx
+++ b/Control/AthenaMonitoring/src/ExampleMonitorAlgorithm.cxx
@@ -7,9 +7,7 @@
 ExampleMonitorAlgorithm::ExampleMonitorAlgorithm( const std::string& name, ISvcLocator* pSvcLocator )
 :AthMonitorAlgorithm(name,pSvcLocator)
 ,m_doRandom(false)
-{
-    declareProperty("RandomHist",m_doRandom);
-}
+{}
 
 
 ExampleMonitorAlgorithm::~ExampleMonitorAlgorithm() {}
-- 
GitLab


From 3ade3f3af2632e79c95d649eb95da7f6af0220e8 Mon Sep 17 00:00:00 2001
From: Charles Burton <cdb97@cornell.edu>
Date: Mon, 21 Jan 2019 14:25:25 -0600
Subject: [PATCH 039/192] add test defaults file

---
 Control/AthenaConfiguration/python/TestDefaults.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Control/AthenaConfiguration/python/TestDefaults.py b/Control/AthenaConfiguration/python/TestDefaults.py
index d1c17095f61f..0a984d5f1ed4 100644
--- a/Control/AthenaConfiguration/python/TestDefaults.py
+++ b/Control/AthenaConfiguration/python/TestDefaults.py
@@ -6,5 +6,5 @@ class defaultTestFiles():
                        '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art')
     RAW = [d + "/TrigP1Test/data17_13TeV.00327265.physics_EnhancedBias.merge.RAW._lb0100._SFO-1._0001.1"]
     RDO = ["myRDO.pool.root"]#needs a test RDO
-    AOD = ["myAOD.pool.root"]#needs a test AOD
+    AOD = [d + '/CommonInputs/data16_13TeV.00311321.physics_Main.recon.AOD.r9264/AOD.11038520._000001.pool.root.1']
     ESD = ["myESD.pool.root"]#needs a test ESD
-- 
GitLab


From f29840d0f4dc7380b483101929d41be9025a9ab1 Mon Sep 17 00:00:00 2001
From: Krzysztof Jamrog <krzysztof.piotr.jamrog@cern.ch>
Date: Mon, 21 Jan 2019 21:31:48 +0100
Subject: [PATCH 040/192] Removing unnecessary comment

---
 Control/AthenaConfiguration/python/ComponentAccumulator.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Control/AthenaConfiguration/python/ComponentAccumulator.py b/Control/AthenaConfiguration/python/ComponentAccumulator.py
index 4bad9da69a7b..f433b4fa8f52 100644
--- a/Control/AthenaConfiguration/python/ComponentAccumulator.py
+++ b/Control/AthenaConfiguration/python/ComponentAccumulator.py
@@ -437,7 +437,7 @@ class ComponentAccumulator(object):
                 else: # an algorithm
                     existingAlg = findAlgorithm( dest, c.name(), depth=1 )
                     if existingAlg:
-                        if existingAlg != c: # if it is the same we can just skip it, else this indicates an error
+                        if existingAlg != c:
                             self._deduplicate(c, existingAlg)
                     else: # absent, adding
                         self._msg.debug("  Merging algorithm %s to a sequence %s", c.name(), dest.name() )
-- 
GitLab


From faf4c3068c76a8fd35bc592af4b511a5e564955d Mon Sep 17 00:00:00 2001
From: Vakho Tsulaia <vakhtang.tsulaia@cern.ch>
Date: Tue, 22 Jan 2019 08:13:30 +0100
Subject: [PATCH 041/192] Use EventContext instead of EventInfo in
 CondWriterExtAlg

---
 .../src/CondWriterExtAlg.cxx                     | 16 +++++-----------
 .../src/CondWriterExtAlg.h                       |  4 ----
 2 files changed, 5 insertions(+), 15 deletions(-)

diff --git a/Control/DataModelTest/DataModelTestDataCommon/src/CondWriterExtAlg.cxx b/Control/DataModelTest/DataModelTestDataCommon/src/CondWriterExtAlg.cxx
index 3b79e7f283d7..50ff261f7b2f 100644
--- a/Control/DataModelTest/DataModelTestDataCommon/src/CondWriterExtAlg.cxx
+++ b/Control/DataModelTest/DataModelTestDataCommon/src/CondWriterExtAlg.cxx
@@ -4,8 +4,6 @@
 
 #include "CondWriterExtAlg.h"
 
-#include "EventInfo/EventID.h"
-#include "EventInfo/EventIncident.h"
 #include "StoreGate/ReadHandle.h"
 #include "AthenaKernel/IOVTime.h"
 #include "AthenaKernel/IOVRange.h"
@@ -17,30 +15,26 @@ namespace DMTest {
 CondWriterExtAlg::CondWriterExtAlg(const std::string& name, ISvcLocator* pSvcLocator) :
   AthAlgorithm(name, pSvcLocator),
   m_iovSvc("IOVSvc", name),
-  m_iovDbSvc("IOVDbSvc", name),
-  m_incidentSvc("IncidentSvc", name)
+  m_iovDbSvc("IOVDbSvc", name)
 {
 }
 
 StatusCode CondWriterExtAlg::initialize()
 {
-  ATH_CHECK( m_eventInfoKey.initialize() );    
   ATH_CHECK( m_iovSvc.retrieve() );
   ATH_CHECK( m_iovDbSvc.retrieve() );
-  ATH_CHECK( m_incidentSvc.retrieve() );
 
   return StatusCode::SUCCESS;
 }
 
 StatusCode CondWriterExtAlg::execute()
 {
-  SG::ReadHandle<EventInfo> eventInfo (m_eventInfoKey);
-
-  ATH_MSG_INFO ("Event " << eventInfo->event_ID()->event_number() <<
-                " LBN " << eventInfo->event_ID()->lumi_block());
+  const EventContext& context = getContext();
+  ATH_MSG_INFO ("Event " << context.eventID().event_number() <<
+                " LBN " << context.eventID().lumi_block());
 
   // Check if we need to execute a command
-  auto it = m_cmd.find(eventInfo->event_ID()->lumi_block());
+  auto it = m_cmd.find(context.eventID().lumi_block());
   if (it != m_cmd.end()) {
     ATH_MSG_INFO("Executing: " << it->second);
     if ( system(it->second.c_str()) != 0 ) {
diff --git a/Control/DataModelTest/DataModelTestDataCommon/src/CondWriterExtAlg.h b/Control/DataModelTest/DataModelTestDataCommon/src/CondWriterExtAlg.h
index f0049c83397d..2534c615e313 100644
--- a/Control/DataModelTest/DataModelTestDataCommon/src/CondWriterExtAlg.h
+++ b/Control/DataModelTest/DataModelTestDataCommon/src/CondWriterExtAlg.h
@@ -7,8 +7,6 @@
 #include "AthenaBaseComps/AthAlgorithm.h"
 
 #include "GaudiKernel/ServiceHandle.h"
-#include "GaudiKernel/IIncidentSvc.h"
-#include "EventInfo/EventInfo.h"
 #include "StoreGate/ReadHandleKey.h"
 #include "AthenaKernel/IIOVDbSvc.h"
 #include "AthenaKernel/IIOVSvc.h"
@@ -30,13 +28,11 @@ public:
   virtual StatusCode execute() override;
 
 private:
-  SG::ReadHandleKey<EventInfo> m_eventInfoKey{this, "EventInfoKey", "McEventInfo"};
   Gaudi::Property<std::string> m_attrListKey{this, "AttrListKey", "/DMTest/TestAttrList"};
   Gaudi::Property<std::map<int,std::string>> m_cmd{this, "Commands", {}, "Commands to be executed on LB change"};
 
   ServiceHandle<IIOVSvc> m_iovSvc;
   ServiceHandle<IIOVDbSvc> m_iovDbSvc;
-  ServiceHandle<IIncidentSvc> m_incidentSvc;
 };
 
 } // namespace DMTest
-- 
GitLab


From 2da5266fb2689f9063cdaf9f34ed5aa90d6d45ae Mon Sep 17 00:00:00 2001
From: Mark Hodgkinson <m.hodgkinson@sheffield.ac.uk>
Date: Tue, 22 Jan 2019 10:47:56 +0000
Subject: [PATCH 042/192] Bug fix such that isMuon checks all muons, not just
 the first one.

---
 Reconstruction/eflowRec/src/PFTrackSelector.cxx | 1 -
 1 file changed, 1 deletion(-)

diff --git a/Reconstruction/eflowRec/src/PFTrackSelector.cxx b/Reconstruction/eflowRec/src/PFTrackSelector.cxx
index ac7999c93e9c..41af12815ed0 100644
--- a/Reconstruction/eflowRec/src/PFTrackSelector.cxx
+++ b/Reconstruction/eflowRec/src/PFTrackSelector.cxx
@@ -143,7 +143,6 @@ bool PFTrackSelector::isMuon(const xAOD::TrackParticle* track){
 	  const xAOD::TrackParticle* ID_track = *theLink;
 	  if (ID_track){
 	    if (track == ID_track) return true;
-	    return false;
 	  }
 	  else ATH_MSG_WARNING("This muon has a NULL pointer to the track");
 	}
-- 
GitLab


From 23ad7b2f055e546494c443062882e20659aab529 Mon Sep 17 00:00:00 2001
From: John Chapman <jchapman@cern.ch>
Date: Tue, 22 Jan 2019 14:14:55 +0100
Subject: [PATCH 043/192] Add support for using the MixMax random number
 generator.

---
 Control/RngComps/src/AthRNGSvc.cxx | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/Control/RngComps/src/AthRNGSvc.cxx b/Control/RngComps/src/AthRNGSvc.cxx
index b3cff3107299..1b26f5e4497c 100644
--- a/Control/RngComps/src/AthRNGSvc.cxx
+++ b/Control/RngComps/src/AthRNGSvc.cxx
@@ -7,6 +7,7 @@
 #include "AthenaKernel/SlotSpecificObj.h"
 
 #include "AtlasCLHEP_RandomGenerators/dSFMTEngine.h"
+#include "CLHEP/Random/MixMaxRng.h"
 #include "CLHEP/Random/Ranlux64Engine.h"
 #include "CLHEP/Random/RanecuEngine.h"
 
@@ -32,8 +33,12 @@ StatusCode AthRNGSvc::initialize()
     m_fact = [](void)->CLHEP::HepRandomEngine*{
       return new CLHEP::RanecuEngine();
     };
+  } else if(m_rngType == "MixMax") {
+    m_fact = [](void)->CLHEP::HepRandomEngine*{
+      return new CLHEP::MixMaxRng();
+    };
   } else {
-    ATH_MSG_WARNING("Supported Generator types are 'dSFMT', 'Ranlux64', 'Ranecu'");
+    ATH_MSG_WARNING("Supported Generator types are 'dSFMT', 'Ranlux64', 'Ranecu', 'MixMax'");
     ATH_MSG_FATAL("Generator type \"" << m_rngType << "\" is not known. Check Joboptions");
     return StatusCode::FAILURE;
   }
-- 
GitLab


From b82c4f6258c69e62f1ac17585e19b1709155c25d Mon Sep 17 00:00:00 2001
From: Ian Connelly <ian.connelly@cern.ch>
Date: Tue, 22 Jan 2019 16:07:21 +0000
Subject: [PATCH 044/192] Fixing conflict

---
 MuonSpectrometer/MuonCnv/MuonByteStream/src/MuonCacheCreator.h | 2 --
 1 file changed, 2 deletions(-)

diff --git a/MuonSpectrometer/MuonCnv/MuonByteStream/src/MuonCacheCreator.h b/MuonSpectrometer/MuonCnv/MuonByteStream/src/MuonCacheCreator.h
index b6b8298b362c..c19c9a388e59 100644
--- a/MuonSpectrometer/MuonCnv/MuonByteStream/src/MuonCacheCreator.h
+++ b/MuonSpectrometer/MuonCnv/MuonByteStream/src/MuonCacheCreator.h
@@ -47,8 +47,6 @@ protected:
   const CscIdHelper* m_cscIdHelper = 0;
   const RpcIdHelper* m_rpcIdHelper = 0;
   const TgcIdHelper* m_tgcIdHelper = 0;  
-  bool m_disableWarning = false;
-
   mutable bool m_disableWarning = false;
   bool isInsideView(const EventContext&) const;
 
-- 
GitLab


From 55684f4250205adfbc4fa6e3d21c1615d8595601 Mon Sep 17 00:00:00 2001
From: Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch>
Date: Tue, 22 Jan 2019 17:32:39 +0100
Subject: [PATCH 045/192] Updated the Athena project to atlasexternals-2.0.21.

This required updating all <FOO>_ROOT variable definitions to the new naming
scheme(s) used by AtlasCMake and AtlasLCG.
---
 External/Pythia8/CMakeLists.txt              |  3 +-
 Projects/Athena/CMakeLists.txt               | 39 +++++++++++++-------
 Projects/Athena/externals.txt                |  2 +-
 Projects/Athena/externals/Crmc.cmake         |  6 +--
 Projects/Athena/externals/EvtGen.cmake       |  6 +--
 Projects/Athena/externals/HEPUtils.cmake     |  6 +--
 Projects/Athena/externals/Herwig.cmake       |  6 +--
 Projects/Athena/externals/Herwig3.cmake      |  6 +--
 Projects/Athena/externals/Hydjet.cmake       |  6 +--
 Projects/Athena/externals/Lhapdf.cmake       |  6 +--
 Projects/Athena/externals/MCUtils.cmake      |  6 +--
 Projects/Athena/externals/MadGraph5Amc.cmake |  6 +--
 Projects/Athena/externals/Photospp.cmake     |  6 +--
 Projects/Athena/externals/Pythia6.cmake      |  6 +--
 Projects/Athena/externals/Pythia8.cmake      |  7 ++--
 Projects/Athena/externals/Rivet.cmake        |  6 +--
 Projects/Athena/externals/Sherpa.cmake       |  6 +--
 Projects/Athena/externals/Starlight.cmake    |  6 +--
 Projects/Athena/externals/Tauolapp.cmake     |  6 +--
 Projects/Athena/externals/ThePEG.cmake       |  6 +--
 Projects/Athena/externals/YODA.cmake         |  6 +--
 21 files changed, 81 insertions(+), 72 deletions(-)

diff --git a/External/Pythia8/CMakeLists.txt b/External/Pythia8/CMakeLists.txt
index 169ef610a28b..1b98a23260be 100644
--- a/External/Pythia8/CMakeLists.txt
+++ b/External/Pythia8/CMakeLists.txt
@@ -1,4 +1,3 @@
-# $Id: CMakeLists.txt 728071 2016-03-07 10:51:32Z krasznaa $
 #
 # Package setting up Pythia8 to be used in the ATLAS offline software.
 #
@@ -21,7 +20,7 @@ if( NOT PYTHIA8_FOUND )
 endif()
 
 # Install the files from the xmldoc directory into the offline release.
-set( xmldoc_dir "${PYTHIA8_ROOT}/share/Pythia8/xmldoc" )
+set( xmldoc_dir "${PYTHIA8_LCGROOT}/share/Pythia8/xmldoc" )
 if( NOT IS_DIRECTORY ${xmldoc_dir} )
    message( WARNING "Can't access ${xmldoc_dir}" )
    return()
diff --git a/Projects/Athena/CMakeLists.txt b/Projects/Athena/CMakeLists.txt
index f92e3b2516b8..299132047c75 100644
--- a/Projects/Athena/CMakeLists.txt
+++ b/Projects/Athena/CMakeLists.txt
@@ -16,26 +16,37 @@ if( NOT LCG_NIGHTLY )
        message( STATUS "Using LCG_NIGHTLY: ${LCG_NIGHTLY}" )
    endif()
 endif()
- 
+
 # Set the versions of the TDAQ externals to pick up for the build:
 if( LCG_NIGHTLY )
     # TDAQ_RELEASE_BASE should be set to a NIGHTLY TDAQ build!
-    set( TDAQ-COMMON_VERSION "99-00-00" )
-    set( DQM-COMMON_VERSION "99-00-00" )
-    set( TDAQ_VERSION "99-00-00" )
+    set( TDAQ-COMMON_VERSION "99-00-00" CACHE STRING
+       "The version of tdaq-common to use for the build" )
+    set( DQM-COMMON_VERSION "99-00-00" CACHE STRING
+       "The version of dqm-common to use for the build" )
+    set( TDAQ_VERSION "99-00-00" CACHE STRING
+       "The version of tdaq to use for the build" )
 else()
-    set( TDAQ-COMMON_VERSION "02-09-00" )
-    set( DQM-COMMON_VERSION "01-09-00" )
-    set( TDAQ_VERSION "08-01-01" )
+    set( TDAQ-COMMON_VERSION "02-09-00" CACHE STRING
+       "The version of tdaq-common to use for the build" )
+    set( DQM-COMMON_VERSION "01-09-00" CACHE STRING
+       "The version of dqm-common to use for the build" )
+    set( TDAQ_VERSION "08-01-01" CACHE STRING
+       "The version of tdaq to use for the build" )
 endif()
 
-set( TDAQ-COMMON_ROOT
-   "$ENV{TDAQ_RELEASE_BASE}/tdaq-common/tdaq-common-${TDAQ-COMMON_VERSION}" )
-set( DQM-COMMON_ROOT
-   "$ENV{TDAQ_RELEASE_BASE}/dqm-common/dqm-common-${DQM-COMMON_VERSION}" )
-set( TDAQ_PROJECT_NAME "tdaq")
-set( TDAQ_ROOT
-   "$ENV{TDAQ_RELEASE_BASE}/${TDAQ_PROJECT_NAME}/${TDAQ_PROJECT_NAME}-${TDAQ_VERSION}" )
+set( TDAQ-COMMON_ATROOT
+   "$ENV{TDAQ_RELEASE_BASE}/tdaq-common/tdaq-common-${TDAQ-COMMON_VERSION}"
+   CACHE PATH "The directory to pick up tdaq-common from" )
+set( DQM-COMMON_ATROOT
+   "$ENV{TDAQ_RELEASE_BASE}/dqm-common/dqm-common-${DQM-COMMON_VERSION}"
+   CACHE PATH "The directory to pick up dqm-common from" )
+set( TDAQ_PROJECT_NAME "tdaq" CACHE STRING "The name of the tdaq project" )
+set( TDAQ_ATROOT
+   "$ENV{TDAQ_RELEASE_BASE}/${TDAQ_PROJECT_NAME}/${TDAQ_PROJECT_NAME}-${TDAQ_VERSION}"
+   CACHE PATH "The directory to pick up tdaq from" )
+mark_as_advanced( TDAQ-COMMON_ATROOT DQM-COMMON_ATROOT TDAQ_PROJECT_NAME
+   TDAQ_ATROOT )
 
 # Find the ATLAS CMake code:
 find_package( AtlasCMake QUIET )
diff --git a/Projects/Athena/externals.txt b/Projects/Athena/externals.txt
index b2ff34243dff..389ed070ccb1 100644
--- a/Projects/Athena/externals.txt
+++ b/Projects/Athena/externals.txt
@@ -6,7 +6,7 @@
 # forbidden.
 
 # The version of atlas/atlasexternals to use:
-AthenaExternalsVersion = 2.0.20
+AthenaExternalsVersion = 2.0.21
 
 # The version of atlas/Gaudi to use:
 GaudiVersion = v31r0.001
diff --git a/Projects/Athena/externals/Crmc.cmake b/Projects/Athena/externals/Crmc.cmake
index 25c348f2ac3f..a7d9d68fe02d 100644
--- a/Projects/Athena/externals/Crmc.cmake
+++ b/Projects/Athena/externals/Crmc.cmake
@@ -2,6 +2,6 @@
 # File specifying the location of Crmc to use.
 #
 
-set( CRMC_VERSION 1.5.4 )
-set( CRMC_ROOT
-   ${LCG_RELEASE_DIR}/MCGenerators/crmc/${CRMC_VERSION}/${LCG_PLATFORM} )
+set( CRMC_LCGVERSION 1.5.4 )
+set( CRMC_LCGROOT
+   ${LCG_RELEASE_DIR}/MCGenerators/crmc/${CRMC_LCGVERSION}/${LCG_PLATFORM} )
diff --git a/Projects/Athena/externals/EvtGen.cmake b/Projects/Athena/externals/EvtGen.cmake
index 5e867d801b1e..b6b2c0a3ec1c 100644
--- a/Projects/Athena/externals/EvtGen.cmake
+++ b/Projects/Athena/externals/EvtGen.cmake
@@ -2,6 +2,6 @@
 # File specifying the location of EvtGen to use.
 #
 
-set( EVTGEN_VERSION 1.6.0 )
-set( EVTGEN_ROOT
-   ${LCG_RELEASE_DIR}/MCGenerators/evtgen/${EVTGEN_VERSION}/${LCG_PLATFORM} )
+set( EVTGEN_LCGVERSION 1.6.0 )
+set( EVTGEN_LCGROOT
+   ${LCG_RELEASE_DIR}/MCGenerators/evtgen/${EVTGEN_LCGVERSION}/${LCG_PLATFORM} )
diff --git a/Projects/Athena/externals/HEPUtils.cmake b/Projects/Athena/externals/HEPUtils.cmake
index f16c2e48e92c..27acb546c018 100644
--- a/Projects/Athena/externals/HEPUtils.cmake
+++ b/Projects/Athena/externals/HEPUtils.cmake
@@ -2,6 +2,6 @@
 # File specifying the location of HEPUtils to use.
 #
 
-set( HEPUTILS_VERSION 1.1.0 )
-set( HEPUTILS_ROOT
-   ${LCG_RELEASE_DIR}/MCGenerators/heputils/${HEPUTILS_VERSION}/${LCG_PLATFORM} )
+set( HEPUTILS_LCGVERSION 1.1.0 )
+set( HEPUTILS_LCGROOT
+   ${LCG_RELEASE_DIR}/MCGenerators/heputils/${HEPUTILS_LCGVERSION}/${LCG_PLATFORM} )
diff --git a/Projects/Athena/externals/Herwig.cmake b/Projects/Athena/externals/Herwig.cmake
index 6edc8f04a192..5b0f25a9dd99 100644
--- a/Projects/Athena/externals/Herwig.cmake
+++ b/Projects/Athena/externals/Herwig.cmake
@@ -2,6 +2,6 @@
 # File specifying the location of Herwig to use.
 #
 
-set( HERWIG_VERSION 6.520.2 )
-set( HERWIG_ROOT
-   ${LCG_RELEASE_DIR}/MCGenerators/herwig/${HERWIG_VERSION}/${LCG_PLATFORM} )
+set( HERWIG_LCGVERSION 6.520.2 )
+set( HERWIG_LCGROOT
+   ${LCG_RELEASE_DIR}/MCGenerators/herwig/${HERWIG_LCGVERSION}/${LCG_PLATFORM} )
diff --git a/Projects/Athena/externals/Herwig3.cmake b/Projects/Athena/externals/Herwig3.cmake
index b110df59c09f..85b274e718d8 100644
--- a/Projects/Athena/externals/Herwig3.cmake
+++ b/Projects/Athena/externals/Herwig3.cmake
@@ -2,6 +2,6 @@
 # File specifying the location of Herwig3 to use.
 #
 
-set( HERWIG3_VERSION 7.0.4 )
-set( HERWIG3_ROOT
-   ${LCG_RELEASE_DIR}/MCGenerators/herwig++/${HERWIG3_VERSION}/${LCG_PLATFORM} )
+set( HERWIG3_LCGVERSION 7.0.4 )
+set( HERWIG3_LCGROOT
+   ${LCG_RELEASE_DIR}/MCGenerators/herwig++/${HERWIG3_LCGVERSION}/${LCG_PLATFORM} )
diff --git a/Projects/Athena/externals/Hydjet.cmake b/Projects/Athena/externals/Hydjet.cmake
index a0ff58d0dfdf..637f1ac350e4 100644
--- a/Projects/Athena/externals/Hydjet.cmake
+++ b/Projects/Athena/externals/Hydjet.cmake
@@ -2,6 +2,6 @@
 # File specifying the location of Hydjet to use.
 #
 
-set( HYDJET_VERSION 1.6 )
-set( HYDJET_ROOT
-   ${LCG_RELEASE_DIR}/MCGenerators/hydjet/${HYDJET_VERSION}/${LCG_PLATFORM} )
+set( HYDJET_LCGVERSION 1.6 )
+set( HYDJET_LCGROOT
+   ${LCG_RELEASE_DIR}/MCGenerators/hydjet/${HYDJET_LCGVERSION}/${LCG_PLATFORM} )
diff --git a/Projects/Athena/externals/Lhapdf.cmake b/Projects/Athena/externals/Lhapdf.cmake
index 3eb6fa66064b..11910812fa83 100644
--- a/Projects/Athena/externals/Lhapdf.cmake
+++ b/Projects/Athena/externals/Lhapdf.cmake
@@ -2,6 +2,6 @@
 # File specifying the location of Lhapdf to use.
 #
 
-set( LHAPDF_VERSION 6.2.1 )
-set( LHAPDF_ROOT
-   ${LCG_RELEASE_DIR}/MCGenerators/lhapdf/${LHAPDF_VERSION}/${LCG_PLATFORM} )
+set( LHAPDF_LCGVERSION 6.2.1 )
+set( LHAPDF_LCGROOT
+   ${LCG_RELEASE_DIR}/MCGenerators/lhapdf/${LHAPDF_LCGVERSION}/${LCG_PLATFORM} )
diff --git a/Projects/Athena/externals/MCUtils.cmake b/Projects/Athena/externals/MCUtils.cmake
index 86c3b4c6653d..f9b41cbffd2e 100644
--- a/Projects/Athena/externals/MCUtils.cmake
+++ b/Projects/Athena/externals/MCUtils.cmake
@@ -2,6 +2,6 @@
 # File specifying the location of MCUtils to use.
 #
 
-set( MCUTILS_VERSION 1.3.2 )
-set( MCUTILS_ROOT
-   ${LCG_RELEASE_DIR}/MCGenerators/mcutils/${MCUTILS_VERSION}/${LCG_PLATFORM} )
+set( MCUTILS_LCGVERSION 1.3.2 )
+set( MCUTILS_LCGROOT
+   ${LCG_RELEASE_DIR}/MCGenerators/mcutils/${MCUTILS_LCGVERSION}/${LCG_PLATFORM} )
diff --git a/Projects/Athena/externals/MadGraph5Amc.cmake b/Projects/Athena/externals/MadGraph5Amc.cmake
index a410e52e444b..b21334f72a78 100644
--- a/Projects/Athena/externals/MadGraph5Amc.cmake
+++ b/Projects/Athena/externals/MadGraph5Amc.cmake
@@ -2,6 +2,6 @@
 # File specifying the location of MadGraph to use.
 #
 
-set( MADGRAPH5AMC_VERSION 2.6.1.atlas )
-set( MADGRAPH5AMC_ROOT
-   ${LCG_RELEASE_DIR}/MCGenerators/madgraph5amc/${MADGRAPH5AMC_VERSION}/${LCG_PLATFORM} )
+set( MADGRAPH5AMC_LCGVERSION 2.6.1.atlas )
+set( MADGRAPH5AMC_LCGROOT
+   ${LCG_RELEASE_DIR}/MCGenerators/madgraph5amc/${MADGRAPH5AMC_LCGVERSION}/${LCG_PLATFORM} )
diff --git a/Projects/Athena/externals/Photospp.cmake b/Projects/Athena/externals/Photospp.cmake
index 3e6761fdf161..8e0b8c2deae5 100644
--- a/Projects/Athena/externals/Photospp.cmake
+++ b/Projects/Athena/externals/Photospp.cmake
@@ -2,6 +2,6 @@
 # File specifying the location of Photos++ to use.
 #
 
-set( PHOTOSPP_VERSION 3.61 )
-set( PHOTOSPP_ROOT
-   ${LCG_RELEASE_DIR}/MCGenerators/photos++/${PHOTOSPP_VERSION}/${LCG_PLATFORM} )
+set( PHOTOSPP_LCGVERSION 3.61 )
+set( PHOTOSPP_LCGROOT
+   ${LCG_RELEASE_DIR}/MCGenerators/photos++/${PHOTOSPP_LCGVERSION}/${LCG_PLATFORM} )
diff --git a/Projects/Athena/externals/Pythia6.cmake b/Projects/Athena/externals/Pythia6.cmake
index bc6307fb19db..0531af48046a 100644
--- a/Projects/Athena/externals/Pythia6.cmake
+++ b/Projects/Athena/externals/Pythia6.cmake
@@ -2,6 +2,6 @@
 # File specifying the location of Pythia 6 to use.
 #
 
-set( PYTHIA6_VERSION 428.2 )
-set( PYTHIA6_ROOT
-   ${LCG_RELEASE_DIR}/MCGenerators/pythia6/${PYTHIA6_VERSION}/${LCG_PLATFORM} )
+set( PYTHIA6_LCGVERSION 428.2 )
+set( PYTHIA6_LCGROOT
+   ${LCG_RELEASE_DIR}/MCGenerators/pythia6/${PYTHIA6_LCGVERSION}/${LCG_PLATFORM} )
diff --git a/Projects/Athena/externals/Pythia8.cmake b/Projects/Athena/externals/Pythia8.cmake
index c4482eec04f8..1e58aa7b7c47 100644
--- a/Projects/Athena/externals/Pythia8.cmake
+++ b/Projects/Athena/externals/Pythia8.cmake
@@ -2,7 +2,6 @@
 # File specifying the location of Pythia 8 to use.
 #
 
-set( PYTHIA8_VERSION 219.pdf6plugin )
-
-set( PYTHIA8_ROOT
-   ${LCG_RELEASE_DIR}/MCGenerators/pythia8/${PYTHIA8_VERSION}/${LCG_PLATFORM} )
+set( PYTHIA8_LCGVERSION 219.pdf6plugin )
+set( PYTHIA8_LCGROOT
+   ${LCG_RELEASE_DIR}/MCGenerators/pythia8/${PYTHIA8_LCGVERSION}/${LCG_PLATFORM} )
diff --git a/Projects/Athena/externals/Rivet.cmake b/Projects/Athena/externals/Rivet.cmake
index 6ef04ba05c8d..b42b8058bd6e 100644
--- a/Projects/Athena/externals/Rivet.cmake
+++ b/Projects/Athena/externals/Rivet.cmake
@@ -2,6 +2,6 @@
 # File specifying the location of Rivet to use.
 #
 
-set( RIVET_VERSION 2.6.0 )
-set( RIVET_ROOT
-   ${LCG_RELEASE_DIR}/MCGenerators/rivet/${RIVET_VERSION}/${LCG_PLATFORM} )
+set( RIVET_LCGVERSION 2.6.0 )
+set( RIVET_LCGROOT
+   ${LCG_RELEASE_DIR}/MCGenerators/rivet/${RIVET_LCGVERSION}/${LCG_PLATFORM} )
diff --git a/Projects/Athena/externals/Sherpa.cmake b/Projects/Athena/externals/Sherpa.cmake
index 1a89135be3b9..3ea89cce7b1d 100644
--- a/Projects/Athena/externals/Sherpa.cmake
+++ b/Projects/Athena/externals/Sherpa.cmake
@@ -2,6 +2,6 @@
 # File specifying the location of Sherpa to use.
 #
 
-set( SHERPA_VERSION 2.2.5 )
-set( SHERPA_ROOT
-   ${LCG_RELEASE_DIR}/MCGenerators/sherpa/${SHERPA_VERSION}/${LCG_PLATFORM} )
+set( SHERPA_LCGVERSION 2.2.5 )
+set( SHERPA_LCGROOT
+   ${LCG_RELEASE_DIR}/MCGenerators/sherpa/${SHERPA_LCGVERSION}/${LCG_PLATFORM} )
diff --git a/Projects/Athena/externals/Starlight.cmake b/Projects/Athena/externals/Starlight.cmake
index 4ac46cb1bd74..614bc44908da 100644
--- a/Projects/Athena/externals/Starlight.cmake
+++ b/Projects/Athena/externals/Starlight.cmake
@@ -2,6 +2,6 @@
 # File specifying the location of Starlight to use.
 #
 
-set( STARLIGHT_VERSION r193 )
-set( STARLIGHT_ROOT
-   ${LCG_RELEASE_DIR}/MCGenerators/starlight/${STARLIGHT_VERSION}/${LCG_PLATFORM} )
+set( STARLIGHT_LCGVERSION r193 )
+set( STARLIGHT_LCGROOT
+   ${LCG_RELEASE_DIR}/MCGenerators/starlight/${STARLIGHT_LCGVERSION}/${LCG_PLATFORM} )
diff --git a/Projects/Athena/externals/Tauolapp.cmake b/Projects/Athena/externals/Tauolapp.cmake
index f7ccd72db65f..375c6944f2a5 100644
--- a/Projects/Athena/externals/Tauolapp.cmake
+++ b/Projects/Athena/externals/Tauolapp.cmake
@@ -2,6 +2,6 @@
 # File specifying the location of Tauola++ to use.
 #
 
-set( TAUOLAPP_VERSION 1.1.6 )
-set( TAUOLAPP_ROOT
-   ${LCG_RELEASE_DIR}/MCGenerators/tauola++/${TAUOLAPP_VERSION}/${LCG_PLATFORM} )
+set( TAUOLAPP_LCGVERSION 1.1.6 )
+set( TAUOLAPP_LCGROOT
+   ${LCG_RELEASE_DIR}/MCGenerators/tauola++/${TAUOLAPP_LCGVERSION}/${LCG_PLATFORM} )
diff --git a/Projects/Athena/externals/ThePEG.cmake b/Projects/Athena/externals/ThePEG.cmake
index 08e607dcb69f..d4739d0012fe 100644
--- a/Projects/Athena/externals/ThePEG.cmake
+++ b/Projects/Athena/externals/ThePEG.cmake
@@ -2,6 +2,6 @@
 # File specifying the location of ThePEG to use.
 #
 
-set( THEPEG_VERSION 2.0.4 )
-set( THEPEG_ROOT
-   ${LCG_RELEASE_DIR}/MCGenerators/thepeg/${THEPEG_VERSION}/${LCG_PLATFORM} )
+set( THEPEG_LCGVERSION 2.0.4 )
+set( THEPEG_LCGROOT
+   ${LCG_RELEASE_DIR}/MCGenerators/thepeg/${THEPEG_LCGVERSION}/${LCG_PLATFORM} )
diff --git a/Projects/Athena/externals/YODA.cmake b/Projects/Athena/externals/YODA.cmake
index 5c4f7b407c39..bc0106b3654d 100644
--- a/Projects/Athena/externals/YODA.cmake
+++ b/Projects/Athena/externals/YODA.cmake
@@ -2,6 +2,6 @@
 # File specifying the location of YODA to use.
 #
 
-set( YODA_VERSION 1.7.0 )
-set( YODA_ROOT
-   ${LCG_RELEASE_DIR}/MCGenerators/yoda/${YODA_VERSION}/${LCG_PLATFORM} )
+set( YODA_LCGVERSION 1.7.0 )
+set( YODA_LCGROOT
+   ${LCG_RELEASE_DIR}/MCGenerators/yoda/${YODA_LCGVERSION}/${LCG_PLATFORM} )
-- 
GitLab


From 4ee16bba3f8285d84cdf6fa240b6d227159e8e0f Mon Sep 17 00:00:00 2001
From: Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch>
Date: Tue, 22 Jan 2019 17:35:35 +0100
Subject: [PATCH 046/192] Updated the README file under Athena/externals.

So that it would be in sync with the implementation of the files in the
directory.
---
 Projects/Athena/externals/README.md | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/Projects/Athena/externals/README.md b/Projects/Athena/externals/README.md
index fefec01c5dd6..410c717ff112 100644
--- a/Projects/Athena/externals/README.md
+++ b/Projects/Athena/externals/README.md
@@ -12,9 +12,9 @@ the external in question.
 The files should define all the variables expected by the Find<Bla> modules,
 which normally boil down to variables:
 
-`EXTNAME_ROOT`
-`EXTNAME_VERSION`
+  - `EXTNAME_LCGROOT`
+  - `EXTNAME_LCGVERSION`
 
-But some modules may require other variables. In which case the `_ROOT`
+But some modules may require other variables. In which case the `_LCGROOT`
 variable should still be set, to get a nice printout from the Athena
 project during the build about the location of the used external.
-- 
GitLab


From fe3e654cdc43278a5adb095e691f2ef0ce745052 Mon Sep 17 00:00:00 2001
From: Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch>
Date: Tue, 22 Jan 2019 17:38:16 +0100
Subject: [PATCH 047/192] Updated the AthSimulation project to
 atlasexternals-2.0.21.

Just like for Athena, this meant updating all <FOO>_ROOT settings to
use <FOO>_LCGROOT instead.
---
 Projects/AthSimulation/externals.txt            | 2 +-
 Projects/AthSimulation/externals/HEPUtils.cmake | 6 +++---
 Projects/AthSimulation/externals/MCUtils.cmake  | 6 +++---
 Projects/AthSimulation/externals/README.md      | 6 +++---
 Projects/AthSimulation/externals/YODA.cmake     | 6 +++---
 5 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/Projects/AthSimulation/externals.txt b/Projects/AthSimulation/externals.txt
index a0bf3b54617b..18c99554427f 100644
--- a/Projects/AthSimulation/externals.txt
+++ b/Projects/AthSimulation/externals.txt
@@ -6,7 +6,7 @@
 # forbidden.
 
 # The version of atlas/atlasexternals to use:
-AthSimulationExternalsVersion = 2.0.20
+AthSimulationExternalsVersion = 2.0.21
 
 # The version of atlas/Gaudi to use:
 GaudiVersion = v31r0.001
diff --git a/Projects/AthSimulation/externals/HEPUtils.cmake b/Projects/AthSimulation/externals/HEPUtils.cmake
index f16c2e48e92c..27acb546c018 100644
--- a/Projects/AthSimulation/externals/HEPUtils.cmake
+++ b/Projects/AthSimulation/externals/HEPUtils.cmake
@@ -2,6 +2,6 @@
 # File specifying the location of HEPUtils to use.
 #
 
-set( HEPUTILS_VERSION 1.1.0 )
-set( HEPUTILS_ROOT
-   ${LCG_RELEASE_DIR}/MCGenerators/heputils/${HEPUTILS_VERSION}/${LCG_PLATFORM} )
+set( HEPUTILS_LCGVERSION 1.1.0 )
+set( HEPUTILS_LCGROOT
+   ${LCG_RELEASE_DIR}/MCGenerators/heputils/${HEPUTILS_LCGVERSION}/${LCG_PLATFORM} )
diff --git a/Projects/AthSimulation/externals/MCUtils.cmake b/Projects/AthSimulation/externals/MCUtils.cmake
index 86c3b4c6653d..f9b41cbffd2e 100644
--- a/Projects/AthSimulation/externals/MCUtils.cmake
+++ b/Projects/AthSimulation/externals/MCUtils.cmake
@@ -2,6 +2,6 @@
 # File specifying the location of MCUtils to use.
 #
 
-set( MCUTILS_VERSION 1.3.2 )
-set( MCUTILS_ROOT
-   ${LCG_RELEASE_DIR}/MCGenerators/mcutils/${MCUTILS_VERSION}/${LCG_PLATFORM} )
+set( MCUTILS_LCGVERSION 1.3.2 )
+set( MCUTILS_LCGROOT
+   ${LCG_RELEASE_DIR}/MCGenerators/mcutils/${MCUTILS_LCGVERSION}/${LCG_PLATFORM} )
diff --git a/Projects/AthSimulation/externals/README.md b/Projects/AthSimulation/externals/README.md
index fefec01c5dd6..410c717ff112 100644
--- a/Projects/AthSimulation/externals/README.md
+++ b/Projects/AthSimulation/externals/README.md
@@ -12,9 +12,9 @@ the external in question.
 The files should define all the variables expected by the Find<Bla> modules,
 which normally boil down to variables:
 
-`EXTNAME_ROOT`
-`EXTNAME_VERSION`
+  - `EXTNAME_LCGROOT`
+  - `EXTNAME_LCGVERSION`
 
-But some modules may require other variables. In which case the `_ROOT`
+But some modules may require other variables. In which case the `_LCGROOT`
 variable should still be set, to get a nice printout from the Athena
 project during the build about the location of the used external.
diff --git a/Projects/AthSimulation/externals/YODA.cmake b/Projects/AthSimulation/externals/YODA.cmake
index 9d7213d9cd01..9aae31a0fe16 100644
--- a/Projects/AthSimulation/externals/YODA.cmake
+++ b/Projects/AthSimulation/externals/YODA.cmake
@@ -2,6 +2,6 @@
 # File specifying the location of YODA to use.
 #
 
-set( YODA_VERSION 1.6.6 )
-set( YODA_ROOT
-   ${LCG_RELEASE_DIR}/MCGenerators/yoda/${YODA_VERSION}/${LCG_PLATFORM} )
+set( YODA_LCGVERSION 1.6.6 )
+set( YODA_LCGROOT
+   ${LCG_RELEASE_DIR}/MCGenerators/yoda/${YODA_LCGVERSION}/${LCG_PLATFORM} )
-- 
GitLab


From cecf78db91cb1f364aa5b83b0491fc6b4b0c0348 Mon Sep 17 00:00:00 2001
From: Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch>
Date: Tue, 22 Jan 2019 17:39:06 +0100
Subject: [PATCH 048/192] Updated AnalysisBase, AnalysisTop and AthDataQuality
 to atlasexternals-2.0.21.

Since these didn't need any additional care, they could just be updated by
modifying their externals.txt files.
---
 Projects/AnalysisBase/externals.txt   | 2 +-
 Projects/AnalysisTop/externals.txt    | 2 +-
 Projects/AthDataQuality/externals.txt | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/Projects/AnalysisBase/externals.txt b/Projects/AnalysisBase/externals.txt
index 9a2a23b5125f..624cd41a081c 100644
--- a/Projects/AnalysisBase/externals.txt
+++ b/Projects/AnalysisBase/externals.txt
@@ -6,4 +6,4 @@
 # forbidden.
 
 # The version of atlas/atlasexternals to use:
-AnalysisBaseExternalsVersion = 2.0.20
+AnalysisBaseExternalsVersion = 2.0.21
diff --git a/Projects/AnalysisTop/externals.txt b/Projects/AnalysisTop/externals.txt
index b05c766d18f8..86228c86567d 100644
--- a/Projects/AnalysisTop/externals.txt
+++ b/Projects/AnalysisTop/externals.txt
@@ -1,4 +1,4 @@
 # Versions of the various externals to build before starting the build of
 # this project, when doing a full stack nightly build.
 
-AnalysisBaseExternalsVersion = 2.0.20
+AnalysisBaseExternalsVersion = 2.0.21
diff --git a/Projects/AthDataQuality/externals.txt b/Projects/AthDataQuality/externals.txt
index 905a85343618..f7c7926e3e79 100644
--- a/Projects/AthDataQuality/externals.txt
+++ b/Projects/AthDataQuality/externals.txt
@@ -5,4 +5,4 @@
 # an "origin/" prefix before it. For tags however this is explicitly
 # forbidden.
 
-AtlasExternalsVersion = 2.0.20
+AtlasExternalsVersion = 2.0.21
-- 
GitLab


From ec5d425c95481d993ef02429aadc672439e7fdbe Mon Sep 17 00:00:00 2001
From: scott snyder <snyder@bnl.gov>
Date: Mon, 21 Jan 2019 20:49:46 +0100
Subject: [PATCH 049/192] StoreGate: Add initialize(SG::AllowEmpty) to
 VarHandleKey.

Add a variant of VarHandleKey::initialize that allows the key to be
empty.  Also add an empty() method.
---
 Control/StoreGate/StoreGate/VarHandleKey.h   | 26 ++++++++++++++++-
 Control/StoreGate/src/VarHandleKey.cxx       | 30 +++++++++++++++++++-
 Control/StoreGate/test/VarHandleKey_test.cxx |  5 +++-
 3 files changed, 58 insertions(+), 3 deletions(-)

diff --git a/Control/StoreGate/StoreGate/VarHandleKey.h b/Control/StoreGate/StoreGate/VarHandleKey.h
index cebaf602a17b..eaae6c24807a 100644
--- a/Control/StoreGate/StoreGate/VarHandleKey.h
+++ b/Control/StoreGate/StoreGate/VarHandleKey.h
@@ -1,7 +1,7 @@
 // This file's extension implies that it's C, but it's really -*- C++ -*-.
 
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // $Id$
@@ -26,6 +26,11 @@
 namespace SG {
 
 
+enum AllowEmptyEnum {
+  AllowEmpty = 1
+};
+
+
 class VarHandleBase;
 
 
@@ -120,6 +125,18 @@ public:
   StatusCode initialize (bool used = true);
 
 
+  /**
+   * @brief If this object is used as a property, then this should be called
+   *        during the initialize phase.  This variant will allow the key
+   *        to be blank.
+   * @param Flag to select this variant.  Call like
+   *@code
+   *  ATH_CHECK( key.initialize (SG::AllowEmpty) );
+   @endcode
+   */
+  StatusCode initialize (AllowEmptyEnum);
+
+
   /**
    * @brief Return the class ID for the referenced object.
    */
@@ -131,6 +148,13 @@ public:
    */
   const std::string& key() const;
 
+
+  /**
+   * @brief Test if the key is blank.
+   */
+  bool empty() const;
+
+
   /**
    * @brief Return handle to the referenced store.
    */
diff --git a/Control/StoreGate/src/VarHandleKey.cxx b/Control/StoreGate/src/VarHandleKey.cxx
index cb725f3af91a..3ff38a2080ac 100644
--- a/Control/StoreGate/src/VarHandleKey.cxx
+++ b/Control/StoreGate/src/VarHandleKey.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2017, 2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // $Id$
@@ -134,6 +134,24 @@ StatusCode VarHandleKey::initialize (bool used /*= true*/)
 }
 
 
+/**
+ * @brief If this object is used as a property, then this should be called
+ *        during the initialize phase.  This variant will allow the key
+ *        to be blank.
+ * @param Flag to select this variant.  Call like
+ *@code
+ *  ATH_CHECK( key.initialize (SG::AllowEmpty) );
+ @endcode
+*/
+StatusCode VarHandleKey::initialize (AllowEmptyEnum)
+{
+  if (key().empty()) {
+    return StatusCode::SUCCESS;
+  }
+  return initialize (true);
+}
+
+
 /**
  * @brief Return the class ID for the referenced object.
  */
@@ -151,6 +169,16 @@ const std::string& VarHandleKey::key() const
   return m_sgKey;
 }
 
+
+/**
+ * @brief Test if the key is blank.
+ */
+bool VarHandleKey::empty() const
+{
+  return m_sgKey.empty();
+}
+
+
 /**
  * @brief Prevent this method from being called.
  */
diff --git a/Control/StoreGate/test/VarHandleKey_test.cxx b/Control/StoreGate/test/VarHandleKey_test.cxx
index aeeb3a42a3ef..ecdc129c79b5 100644
--- a/Control/StoreGate/test/VarHandleKey_test.cxx
+++ b/Control/StoreGate/test/VarHandleKey_test.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // $Id$
@@ -44,6 +44,7 @@ void test1()
   assert (k1.storeHandle().isSet());
   assert (k1.start().isSuccess());
   assert (!k1.isCondition());
+  assert (!k1.empty());
 
   k1 = "aab";
   assert (k1.clid() == 1234);
@@ -95,6 +96,8 @@ void test1()
   assert (!k4.storeHandle().isSet());
   assert (k4.initialize().isFailure());
   assert (k4.initialize(false).isSuccess());
+  assert (k4.initialize(SG::AllowEmpty).isSuccess());
+  assert (k4.empty());
 
   EXPECT_EXCEPTION (SG::ExcBadHandleKey,
                     SG::VarHandleKey (1237, "a/b/c", Gaudi::DataHandle::Updater));
-- 
GitLab


From 19124ffd5301a112a48ce839ec2d42f28993a81c Mon Sep 17 00:00:00 2001
From: Vakho Tsulaia <vakhtang.tsulaia@cern.ch>
Date: Mon, 21 Jan 2019 08:50:05 +0100
Subject: [PATCH 050/192] Migrated PixelGeoModel from GeoModelKernelUnits to
 Gaudi::Units

All units migrated except GeoModelKernelUnits::gram and ::g, which are different from
Gaudi::Units::gram/g
---
 .../PixelGeoModel/src/DBM_Det.cxx             |  15 +-
 .../PixelGeoModel/src/DBM_Module.cxx          |  16 +-
 .../PixelGeoModel/src/DBM_ModuleCage.cxx      |   3 +-
 .../PixelGeoModel/src/DBM_Telescope.cxx       |  19 +-
 .../PixelGeoModel/src/GeoPixelCable.cxx       |   2 +-
 .../src/GeoPixelDetailedStaveSupport.cxx      |  31 +-
 .../PixelGeoModel/src/GeoPixelDisk.cxx        |  17 +-
 .../PixelGeoModel/src/GeoPixelEnvelope.cxx    |   9 +-
 .../PixelGeoModel/src/GeoPixelFrame.cxx       |  14 +-
 .../src/GeoPixelIBLFwdSvcCADModel.cxx         |  13 +-
 .../src/GeoPixelIBLFwdSvcModel1.cxx           |  13 +-
 .../src/GeoPixelIFlexServices.cxx             |  17 +-
 .../PixelGeoModel/src/GeoPixelLadder.cxx      |  12 +-
 .../src/GeoPixelLadderServices.cxx            |  67 +--
 .../PixelGeoModel/src/GeoPixelLayer.cxx       |   7 +-
 .../PixelGeoModel/src/GeoPixelModule.cxx      |   9 +-
 .../PixelGeoModel/src/GeoPixelOldFrame.cxx    |   5 +-
 .../PixelGeoModel/src/GeoPixelRingSLHC.cxx    |  11 +-
 .../PixelGeoModel/src/GeoPixelServices.cxx    |  24 +-
 .../PixelGeoModel/src/GeoPixelSiCrystal.cxx   |  13 +-
 .../PixelGeoModel/src/GeoPixelStaveRing.cxx   |   4 +-
 .../src/GeoPixelStaveRingServices.cxx         |  11 +-
 .../PixelGeoModel/src/GeoPixelTMT.cxx         |   6 +-
 .../PixelGeoModel/src/OraclePixGeoManager.cxx | 475 +++++++++---------
 .../PixelGeoModel/src/OraclePixGeoManager.h   |   4 +-
 .../PixelGeoModel/src/PixelDetectorDC1DC2.cxx | 119 ++---
 .../PixelGeoModel/src/PixelDetectorDC1DC2.h   |  86 ++--
 .../src/PixelDetectorFactory.cxx              |   5 +-
 .../src/PixelDetectorFactoryDC2.cxx           |   4 +-
 .../src/PixelDetectorFactorySR1.cxx           |   7 +-
 .../PixelGeoModel/src/PixelLegacyManager.cxx  | 268 +++++-----
 31 files changed, 664 insertions(+), 642 deletions(-)

diff --git a/InnerDetector/InDetDetDescr/PixelGeoModel/src/DBM_Det.cxx b/InnerDetector/InDetDetDescr/PixelGeoModel/src/DBM_Det.cxx
index f75a38c352fc..a4cba5fd99db 100644
--- a/InnerDetector/InDetDetDescr/PixelGeoModel/src/DBM_Det.cxx
+++ b/InnerDetector/InDetDetDescr/PixelGeoModel/src/DBM_Det.cxx
@@ -11,6 +11,7 @@
 #include "GeoModelKernel/GeoBox.h"
 #include "GeoModelKernel/GeoTrd.h"
 #include "GeoModelKernel/GeoTube.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include "InDetReadoutGeometry/PixelDetectorManager.h"
 
 #include <iostream>
@@ -21,7 +22,7 @@ DBM_Det::DBM_Det() {
   
   // Radius to beamline
   // Hardcoded, so if change then change in DBM_module too
-  double trans_rad = 46.678*GeoModelKernelUnits::mm + (m_gmt_mgr->DBMTelescopeY()) / 2.; // 10-GeoModelKernelUnits::degree version
+  double trans_rad = 46.678*Gaudi::Units::mm + (m_gmt_mgr->DBMTelescopeY()) / 2.; // 10-Gaudi::Units::degree version
 
   //                 TRANS_X                        TRANS_Y                        TRANS_Z                          ROT_X                       ROT_Y                      ROT_Z        
   m_module[0].push_back(trans_rad);   m_module[0].push_back(0);         m_module[0].push_back(Trans_Y);    m_module[0].push_back(0);     m_module[0].push_back(0);    m_module[0].push_back(270);  
@@ -36,9 +37,9 @@ GeoVPhysVol* DBM_Det::Build()
   double safety = 0.001;
 
   //create a cylinder 8mm smaller than the BPSS outer radius to place the 4 DBM telescopes
-  double rmin = 45.*GeoModelKernelUnits::mm;//41.0*GeoModelKernelUnits::mm;
-  double rmax = 150.*GeoModelKernelUnits::mm; //244.*GeoModelKernelUnits::mm;
-  double halflength = m_gmt_mgr->DBMTelescopeZ()/2.;//200.*GeoModelKernelUnits::mm
+  double rmin = 45.*Gaudi::Units::mm;//41.0*Gaudi::Units::mm;
+  double rmax = 150.*Gaudi::Units::mm; //244.*Gaudi::Units::mm;
+  double halflength = m_gmt_mgr->DBMTelescopeZ()/2.;//200.*Gaudi::Units::mm
   GeoTube * Shape = new GeoTube(rmin,rmax,halflength);
   const GeoMaterial* air = m_mat_mgr->getMaterial("std::Air");
   const GeoLogVol* Log = new GeoLogVol("OutsideDBM",Shape,air);
@@ -66,9 +67,9 @@ GeoVPhysVol* DBM_Det::Build()
       else if ((m_gmt_mgr->GetSide() < 0) && (i == 2)) m_gmt_mgr->SetPhi(0);
 
       //setting transformation
-      GeoTrf::Transform3D rm  = GeoTrf::RotateZ3D(m_module[i].at(5)*GeoModelKernelUnits::deg)
-	* GeoTrf::RotateY3D(m_module[i].at(4)*GeoModelKernelUnits::deg)
-	* GeoTrf::RotateX3D(m_module[i].at(3)*GeoModelKernelUnits::deg);
+      GeoTrf::Transform3D rm  = GeoTrf::RotateZ3D(m_module[i].at(5)*Gaudi::Units::deg)
+	* GeoTrf::RotateY3D(m_module[i].at(4)*Gaudi::Units::deg)
+	* GeoTrf::RotateX3D(m_module[i].at(3)*Gaudi::Units::deg);
       GeoTrf::Translation3D pos(m_module[i].at(0), m_module[i].at(1), m_module[i].at(2));
       GeoTransform* xform = new GeoTransform(GeoTrf::Transform3D(pos*rm));
 
diff --git a/InnerDetector/InDetDetDescr/PixelGeoModel/src/DBM_Module.cxx b/InnerDetector/InDetDetDescr/PixelGeoModel/src/DBM_Module.cxx
index d4bfe3ff3f60..f86aab047bf9 100644
--- a/InnerDetector/InDetDetDescr/PixelGeoModel/src/DBM_Module.cxx
+++ b/InnerDetector/InDetDetDescr/PixelGeoModel/src/DBM_Module.cxx
@@ -9,7 +9,7 @@
 #include "GeoModelKernel/GeoAlignableTransform.h"
 #include "GeoModelKernel/GeoNameTag.h"
 #include "GeoModelKernel/GeoBox.h"
-
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include "Identifier/Identifier.h"
 #include "InDetIdentifier/PixelID.h"
@@ -64,7 +64,7 @@ GeoVPhysVol* DBM_Module::Build()
   GeoIdentifierTag* diamondTag = new GeoIdentifierTag(400);
 
 
-    double safety = 0.003*GeoModelKernelUnits::mm;
+    double safety = 0.003*Gaudi::Units::mm;
 
     //diamond dimension
     double diamond_X = m_gmt_mgr->DBMDiamondX();
@@ -84,8 +84,8 @@ GeoVPhysVol* DBM_Module::Build()
     
     //distances from bottom of the ceramic
     //Hardcoded!
-    double bot2Chip = 0.0*GeoModelKernelUnits::mm;
-    double bot2Diamond = 1.685*GeoModelKernelUnits::mm;
+    double bot2Chip = 0.0*Gaudi::Units::mm;
+    double bot2Diamond = 1.685*Gaudi::Units::mm;
 
 
     //---------------------------------------------
@@ -93,8 +93,8 @@ GeoVPhysVol* DBM_Module::Build()
   
     // Position of the corner closest to IP and beamline
     // Hardcoded, so if change then change in GeoPixelEnvelope and DBM_Det too
-    double ZToIP = 887.002*GeoModelKernelUnits::mm;
-    double RToBeam = 46.678*GeoModelKernelUnits::mm;
+    double ZToIP = 887.002*Gaudi::Units::mm;
+    double RToBeam = 46.678*Gaudi::Units::mm;
 
     // layer spacing
     double Zspacing = m_gmt_mgr->DBMSpacingZ();
@@ -146,7 +146,7 @@ GeoVPhysVol* DBM_Module::Build()
     const GeoLogVol* dbmModuleLog = new GeoLogVol("dbmModuleLog", dbmModuleBox, air);
     GeoPhysVol* dbmModulePhys = new GeoPhysVol(dbmModuleLog);
     
-    GeoTrf::Transform3D rm = GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(270.*GeoModelKernelUnits::deg);
+    GeoTrf::Transform3D rm = GeoTrf::RotateZ3D(90.*Gaudi::Units::deg)*GeoTrf::RotateY3D(270.*Gaudi::Units::deg);
 
     //diamond
     const GeoBox* dbmDiamondBox = new GeoBox(diamond_Z/2.0, diamond_X/2.0, diamond_Y/2.0 );
@@ -224,7 +224,7 @@ GeoVPhysVol* DBM_Module::Build()
     double globPosZ = ZToIP + layerUnitPos_Z + (sensorPosInModuleCage_Z * cos(angle) - sensorPosInModuleCage_Y * sin(angle));
     double globPosY = RToBeam + layerUnitPos_Y + (sensorPosInModuleCage_Z * sin(angle) + sensorPosInModuleCage_Y * cos(angle));
 
-    GeoTrf::RotateX3D rmX10(-10.*GeoModelKernelUnits::deg);
+    GeoTrf::RotateX3D rmX10(-10.*Gaudi::Units::deg);
     GeoTrf::Translation3D alignTransformPos(0, globPosY, globPosZ);
     GeoAlignableTransform *xformAlign = new GeoAlignableTransform(GeoTrf::Transform3D(alignTransformPos*rmX10));
     m_DDmgr->addAlignableTransform(0, idwafer, xformAlign, dbmDiamondPhys);
diff --git a/InnerDetector/InDetDetDescr/PixelGeoModel/src/DBM_ModuleCage.cxx b/InnerDetector/InDetDetDescr/PixelGeoModel/src/DBM_ModuleCage.cxx
index 2f72f02edd60..1a9550c37dc3 100644
--- a/InnerDetector/InDetDetDescr/PixelGeoModel/src/DBM_ModuleCage.cxx
+++ b/InnerDetector/InDetDetDescr/PixelGeoModel/src/DBM_ModuleCage.cxx
@@ -14,13 +14,14 @@
 #include "GeoModelKernel/GeoTube.h"
 
 #include "GeoModelKernel/GeoPhysVol.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include "InDetReadoutGeometry/PixelDetectorManager.h"
 
 GeoVPhysVol* DBM_ModuleCage::Build() {
 
   // safety, to make sure volumes don't overlap
-  double safety = 0.005*GeoModelKernelUnits::mm;
+  double safety = 0.005*Gaudi::Units::mm;
 
   // Telescope dimension
   double layerUnitY = m_gmt_mgr->DBMModuleCageY();
diff --git a/InnerDetector/InDetDetDescr/PixelGeoModel/src/DBM_Telescope.cxx b/InnerDetector/InDetDetDescr/PixelGeoModel/src/DBM_Telescope.cxx
index 35b64596c7ca..b4440678f21b 100644
--- a/InnerDetector/InDetDetDescr/PixelGeoModel/src/DBM_Telescope.cxx
+++ b/InnerDetector/InDetDetDescr/PixelGeoModel/src/DBM_Telescope.cxx
@@ -18,12 +18,13 @@
 #include "GeoModelKernel/GeoShapeShift.h"
 #include "GeoModelKernel/GeoShapeSubtraction.h"
 #include "GeoModelKernel/GeoShapeUnion.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include "InDetGeoModelUtils/InDetMaterialManager.h"
 
 GeoVPhysVol* DBM_Telescope::Build() {
 
-  double safety = 0.005*GeoModelKernelUnits::mm;
+  double safety = 0.005*Gaudi::Units::mm;
 
   // telescope tilting angle in degree
   double angle = m_gmt_mgr->DBMAngle();
@@ -83,14 +84,14 @@ GeoVPhysVol* DBM_Telescope::Build() {
   const GeoLogVol* telescopeLog = new GeoLogVol("dbmTelescopeLog", telescopeBox, air);
   GeoPhysVol* telescopePhys = new GeoPhysVol(telescopeLog);
 
-  GeoTrf::RotateX3D rmX10(-10.*GeoModelKernelUnits::deg);
+  GeoTrf::RotateX3D rmX10(-10.*Gaudi::Units::deg);
 
   DBM_ModuleCage moduleCage;
   GeoVPhysVol* moduleCagePhys = moduleCage.Build();
 
   // parameters for rotating the 3-layer unit
   double lyRadius = sqrt(layerUnitY*layerUnitY/4 + layerUnitZ*layerUnitZ/4);
-  double lyAngle = atan(layerUnitY/layerUnitZ);//21.6444*GeoModelKernelUnits::deg; // arctan(DBM3LayersY / DBM3LayersZ)
+  double lyAngle = atan(layerUnitY/layerUnitZ);//21.6444*Gaudi::Units::deg; // arctan(DBM3LayersY / DBM3LayersZ)
   // position of bottom tip of the 3-layers unit, which is the rotation point
   double layerUnitPos_Y = (trapBackY/cos(angle) - coolingSidePlateY)*cos(angle);
   double layerUnitPos_Z = coolingSidePlateY*sin(angle) + trapBackShortZ + bracketZ - brcktLockZ; 
@@ -107,7 +108,7 @@ GeoVPhysVol* DBM_Telescope::Build() {
   
   // back trapezoid block with window, will be rotated by 90 degree along the x-axis
 
-  const GeoTrap* trapBack = new GeoTrap(trapBackY/2., trapBack_theta, 90.0*GeoModelKernelUnits::deg, trapBackShortZ/2., trapBackX/2., trapBackX/2, 0.0, (trapBackShortZ+trapBackY*tan(angle))/2., trapBackX/2., trapBackX/2., 0.0);
+  const GeoTrap* trapBack = new GeoTrap(trapBackY/2., trapBack_theta, 90.0*Gaudi::Units::deg, trapBackShortZ/2., trapBackX/2., trapBackX/2, 0.0, (trapBackShortZ+trapBackY*tan(angle))/2., trapBackX/2., trapBackX/2., 0.0);
 
   double brWindowPosY = brcktWindow_offset + brcktWindow_centerZ * tan(angle) + brcktWindowY/(2 * cos(angle));
   const GeoBox* brWindow = new GeoBox(brcktWindowX/2., trapBackShortZ, brcktWindowY/2.);
@@ -120,7 +121,7 @@ GeoVPhysVol* DBM_Telescope::Build() {
   const GeoLogVol* trapBackLog = new GeoLogVol("bracketLog", &trapBack1, dbmPeek4);
   GeoPhysVol* trapBackPhys = new GeoPhysVol(trapBackLog);
 
-  GeoTrf::RotateX3D rmX90(90.*GeoModelKernelUnits::deg);
+  GeoTrf::RotateX3D rmX90(90.*Gaudi::Units::deg);
   double trapBackPos_Z = -telescopeZ/2. + bracketZ - brcktLockZ + ( (trapBackShortZ+trapBackY*tan(angle))/2. + trapBackY/2.*sin(trapBack_theta) - trapBackY*tan(trapBack_theta) );
   GeoTrf::Translation3D trapBackPos(0.0, -telescopeY/2. + trapBackY/2. + safety, trapBackPos_Z + 3*safety);
   xform = new GeoTransform(GeoTrf::Transform3D(trapBackPos*rmX90));
@@ -182,7 +183,7 @@ GeoVPhysVol* DBM_Telescope::Build() {
   const GeoLogVol* sidePlateLog = new GeoLogVol("sidePlateLog", sidePlate, dbmAluminium2);
   GeoPhysVol* sidePlatePhys = new GeoPhysVol(sidePlateLog);
 
-  double spAngle = angle + 17.57126*GeoModelKernelUnits::deg;
+  double spAngle = angle + 17.57126*Gaudi::Units::deg;
   double spRadius = 1/2. * sqrt(coolingSidePlateZ*coolingSidePlateZ + coolingSidePlateY*coolingSidePlateY);
 
   GeoTrf::Translation3D sidePlatePos1( mainPlateX/2. + coolingSidePlateX/2. + 2*safety, - telescopeY/2. + spRadius * sin(spAngle), -telescopeZ/2. + layerUnitPos_Z - coolingSidePlatePos*cos(angle) + spRadius * cos(spAngle));
@@ -200,19 +201,19 @@ GeoVPhysVol* DBM_Telescope::Build() {
   telescopePhys->add(sidePlatePhys);
 
   //cooling plates next to the bracket unit
-  const GeoTrap* coolingFin = new GeoTrap(coolingFinHeight/2., trapBack_theta, 90.0*GeoModelKernelUnits::deg, (coolingFinLongZ - coolingFinHeight*tan(angle))/2., coolingFinThick/2., coolingFinThick/2, 0.0, coolingFinLongZ/2., coolingFinThick/2., coolingFinThick/2., 0.0);
+  const GeoTrap* coolingFin = new GeoTrap(coolingFinHeight/2., trapBack_theta, 90.0*Gaudi::Units::deg, (coolingFinLongZ - coolingFinHeight*tan(angle))/2., coolingFinThick/2., coolingFinThick/2, 0.0, coolingFinLongZ/2., coolingFinThick/2., coolingFinThick/2., 0.0);
   const GeoMaterial* dbmAluminium3 = m_mat_mgr->getMaterialForVolume("pix::DBMAluminium3", coolingFin->volume());
   const GeoLogVol* finLog = new GeoLogVol("finLog", coolingFin, dbmAluminium3);
   GeoPhysVol* coolingFinPhys = new GeoPhysVol(finLog);
 
-  GeoTrf::Translation3D finPos1( mainPlateX/2. - coolingFinThick/2. + safety, -telescopeY/2. +  coolingFinHeight/2. + 4*safety, -telescopeZ/2. + coolingFinPos + 0.05*GeoModelKernelUnits::mm);
+  GeoTrf::Translation3D finPos1( mainPlateX/2. - coolingFinThick/2. + safety, -telescopeY/2. +  coolingFinHeight/2. + 4*safety, -telescopeZ/2. + coolingFinPos + 0.05*Gaudi::Units::mm);
   xform = new GeoTransform(GeoTrf::Transform3D(finPos1*rmX90));
   tag = new GeoNameTag("finPlate");
   telescopePhys->add(tag);
   telescopePhys->add(xform);
   telescopePhys->add(coolingFinPhys);
 
-  GeoTrf::Translation3D finPos2( -mainPlateX/2. + coolingFinThick/2. - safety, -telescopeY/2. +  coolingFinHeight/2. + 4*safety, -telescopeZ/2. + coolingFinPos + 0.05*GeoModelKernelUnits::mm);
+  GeoTrf::Translation3D finPos2( -mainPlateX/2. + coolingFinThick/2. - safety, -telescopeY/2. +  coolingFinHeight/2. + 4*safety, -telescopeZ/2. + coolingFinPos + 0.05*Gaudi::Units::mm);
   xform = new GeoTransform(GeoTrf::Transform3D(finPos2*rmX90));
   tag = new GeoNameTag("finPlate");
   telescopePhys->add(tag);
diff --git a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelCable.cxx b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelCable.cxx
index a6c8e52e21ab..3f38b500c767 100644
--- a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelCable.cxx
+++ b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelCable.cxx
@@ -70,7 +70,7 @@ GeoVPhysVol* GeoPixelCable::Build() {
   std::ostringstream o;
   o << m_gmt_mgr->getLD_Label() << label;
   logName = logName+o.str();
-  //std::cout << logName << ": " << weight/GeoModelKernelUnits::g << " g, " << thickness << std::endl;
+  //std::cout << logName << ": " << weight/Gaudi::Units::g << " g, " << thickness << std::endl;
 
   GeoLogVol* theCable = new GeoLogVol(logName,cableBox,cableMat);
   GeoPhysVol* cablePhys = new GeoPhysVol(theCable);
diff --git a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelDetailedStaveSupport.cxx b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelDetailedStaveSupport.cxx
index 6b6b9382d667..d9b40650778a 100644
--- a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelDetailedStaveSupport.cxx
+++ b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelDetailedStaveSupport.cxx
@@ -21,6 +21,7 @@
 
 #include "GeoModelKernel/GeoTransform.h"
 #include "GeoModelKernel/GeoDefinitions.h"
+#include "GaudiKernel/PhysicalConstants.h"
 
 #include <algorithm>
 using std::max;
@@ -201,9 +202,9 @@ GeoVPhysVol* GeoPixelDetailedStaveSupport::Build() {
   double halfMecStaveWidth=MechanicalStaveWidth*0.5;
 
   // SafetyMargin
-  m_SafetyMargin=.001*GeoModelKernelUnits::mm;
+  m_SafetyMargin=.001*Gaudi::Units::mm;
   double xGblOffset=FacePlateThick+m_SafetyMargin;
-  double safetyMarginZ=.001*GeoModelKernelUnits::mm;
+  double safetyMarginZ=.001*Gaudi::Units::mm;
 
   // Compute approximated stave shape based on DB parameters
   ComputeStaveExternalShape();
@@ -450,7 +451,7 @@ GeoVPhysVol* GeoPixelDetailedStaveSupport::Build() {
 										 omegaVolume,
 										 omegaVolume,"pix::Omega_IBL",
 										 glueVolume,"pix::Stycast2850FT");
-      m_gmt_mgr->msg(MSG::INFO)<<"***> new material : "<<omega_material->getName()<<" "<<omega_material->getDensity()/(GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3)<<endmsg;
+      m_gmt_mgr->msg(MSG::INFO)<<"***> new material : "<<omega_material->getName()<<" "<<omega_material->getDensity()/(GeoModelKernelUnits::gram/Gaudi::Units::cm3)<<endmsg;
       omega_logVol = new GeoLogVol("Omega",omega_shape,omega_material);
     }
 
@@ -459,7 +460,7 @@ GeoVPhysVol* GeoPixelDetailedStaveSupport::Build() {
 
   //       const GeoMaterial* omega_material = m_mat_mgr->getMaterial(m_gmt_mgr->getMaterialName("Omega",0,0));
   //       GeoNameTag* omega_tag = new GeoNameTag("Omega");
-  //       GeoTransform* omega_xform = new GeoTransform(GeoTrf::Transform3D(GeoModelKernelUnits::HepRotation(),GeoTrf::Vector3D()));
+  //       GeoTransform* omega_xform = new GeoTransform(GeoTrf::Transform3D(Gaudi::Units::HepRotation(),GeoTrf::Vector3D()));
   //      GeoLogVol * omega_logVol = new GeoLogVol("Omega",omega_shape,omega_material);
 
   GeoPhysVol * omega_logVolPV = new GeoPhysVol(omega_logVol);
@@ -500,7 +501,7 @@ GeoVPhysVol* GeoPixelDetailedStaveSupport::Build() {
 								  facePlateVolume,
 								  facePlateVolume,"pix::FacePlate_IBL",
 								  glueVolume,"pix::Stycast2850FT");
-      m_gmt_mgr->msg(MSG::INFO)<<"***> new material : "<<faceplate_material->getName()<<" "<<faceplate_material->getDensity()/(GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3)<<endmsg;
+      m_gmt_mgr->msg(MSG::INFO)<<"***> new material : "<<faceplate_material->getName()<<" "<<faceplate_material->getDensity()/(GeoModelKernelUnits::gram/Gaudi::Units::cm3)<<endmsg;
     }
 
   // Create composite material made of faceplate + grease if a thickness of grease is defined is DB
@@ -525,7 +526,7 @@ GeoVPhysVol* GeoPixelDetailedStaveSupport::Build() {
 										     facePlateVolume,faceplateMatName,
 										     greaseVolume,"pix::ThermGrease_IBL");
       faceplate_logVol = new GeoLogVol("FacePlate",faceplate_shape,faceplate_material);
-      m_gmt_mgr->msg(MSG::INFO)<<"***> new material : "<<faceplate_material->getName()<<" "<<faceplate_material->getDensity()/(GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3)<<endmsg;
+      m_gmt_mgr->msg(MSG::INFO)<<"***> new material : "<<faceplate_material->getName()<<" "<<faceplate_material->getDensity()/(GeoModelKernelUnits::gram/Gaudi::Units::cm3)<<endmsg;
     }
 
   //  const GeoMaterial* faceplate_material = m_mat_mgr->getMaterial(m_gmt_mgr->getMaterialName("FacePlate",0,0));
@@ -626,7 +627,7 @@ GeoVPhysVol* GeoPixelDetailedStaveSupport::Build() {
 
       // Add flex in 3D model : A component
       GeoTrf::Translation3D cableflex_pos((flex1x+flex2x+flex3x+flex4x)*0.25,(flex1y+flex2y+flex3y+flex4y)*0.25,ModulePosZ+flexGapZ*0.5);
-      //      GeoTransform* cableflex_xform = new GeoTransform(GeoTrf::Transform3D(GeoModelKernelUnits::HepRotation(0.0,0.0,-fabs(flex_angle)),cableflex_pos));
+      //      GeoTransform* cableflex_xform = new GeoTransform(GeoTrf::Transform3D(Gaudi::Units::HepRotation(0.0,0.0,-fabs(flex_angle)),cableflex_pos));
       GeoTransform* cableflex_xform = new GeoTransform(GeoTrf::Transform3D(cableflex_pos*GeoTrf::RotateZ3D(fabs(flex_angle))));
 
       GeoLogVol * cableflex_logVol = 0;
@@ -833,16 +834,16 @@ GeoVPhysVol* GeoPixelDetailedStaveSupport::Build() {
   else
     {
       m_gmt_mgr->msg(MSG::INFO)<<"** TUBE : with Stycast "<<TubeGlueThick<<"  diam "<<TubeOuterDiam*0.5<<" "<<TubeInnerDiam*0.5<<endmsg;
-      double glueVolume = (TubeOuterDiam*0.5+TubeGlueThick)*(TubeOuterDiam*0.5+TubeGlueThick)*GeoModelKernelUnits::pi*MiddleSectionLength;
-      double tubeOuterVolume = TubeOuterDiam*TubeOuterDiam*0.25*GeoModelKernelUnits::pi*MiddleSectionLength;
-      double tubeInnerVolume = TubeInnerDiam*TubeInnerDiam*0.25*GeoModelKernelUnits::pi*MiddleSectionLength;
+      double glueVolume = (TubeOuterDiam*0.5+TubeGlueThick)*(TubeOuterDiam*0.5+TubeGlueThick)*Gaudi::Units::pi*MiddleSectionLength;
+      double tubeOuterVolume = TubeOuterDiam*TubeOuterDiam*0.25*Gaudi::Units::pi*MiddleSectionLength;
+      double tubeInnerVolume = TubeInnerDiam*TubeInnerDiam*0.25*Gaudi::Units::pi*MiddleSectionLength;
 
       const std::string compMatName="CoolingPipeGlue_IBL";
       const GeoMaterial* cp_material = m_mat_mgr->getCompositeMaterialForVolume(compMatName,
 									      tubeOuterVolume-tubeInnerVolume,
 									      tubeOuterVolume-tubeInnerVolume,"pix::CoolingPipe_IBL",
 									      glueVolume-tubeOuterVolume,"pix::Stycast2850FT");
-      m_gmt_mgr->msg(MSG::INFO)<<"***> new material : "<<cp_material->getName()<<" "<<cp_material->getDensity()/(GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3)<<endmsg;
+      m_gmt_mgr->msg(MSG::INFO)<<"***> new material : "<<cp_material->getName()<<" "<<cp_material->getDensity()/(GeoModelKernelUnits::gram/Gaudi::Units::cm3)<<endmsg;
       cp_logVol = new GeoLogVol("CoolingPipe",coolingPipe,cp_material);
     }
 
@@ -1050,7 +1051,7 @@ GeoVPhysVol* GeoPixelDetailedStaveSupport::Build() {
   
 //   GeoNameTag* cp_service_tag = new GeoNameTag("ServiceCoolingPipe");
 //   GeoTrf::Vector3D cp_service_pos(xGblOffset+TubeMiddlePos,0.0,0.0);
-//   GeoTransform* cp_service_xform = new GeoTransform(GeoTrf::Transform3D(GeoModelKernelUnits::HepRotation(),cp_service_pos));
+//   GeoTransform* cp_service_xform = new GeoTransform(GeoTrf::Transform3D(Gaudi::Units::HepRotation(),cp_service_pos));
 //   //       service_logVolPV->add(cp_service_tag);
 //   //       service_logVolPV->add(cp_service_xform);
 //   //       service_logVolPV->add(cp_service_logPV);
@@ -1311,7 +1312,7 @@ void GeoPixelDetailedStaveSupport::RemoveCoincidentAndColinearPointsFromShape(st
 	  int i2=(iPt+1)%(nbPoint);
 	  
 	  double zDist=fabs(sqrt((xPoint[i1]-xPoint[i2])*(xPoint[i1]-xPoint[i2])+(yPoint[i1]-yPoint[i2])*(yPoint[i1]-yPoint[i2])));
-	  if(zDist<0.01*GeoModelKernelUnits::mm){
+	  if(zDist<0.01*Gaudi::Units::mm){
 	      xPoint.erase(xPoint.begin()+i1);
 	      yPoint.erase(yPoint.begin()+i1);
 	      bRemovedPoint=true;
@@ -1514,11 +1515,11 @@ void GeoPixelDetailedStaveSupport::ComputeStaveExternalShape()
 
   GeoTrf::Vector3D midStaveCenter(m_gmt_mgr->IBLStaveOmegaMidCenterX(),0.0,0.0);
   double midStaveRadius=m_gmt_mgr->IBLStaveOmegaMidRadius();
-  double midStaveAngle=90.0*GeoModelKernelUnits::deg-m_gmt_mgr->IBLStaveOmegaMidAngle();
+  double midStaveAngle=90.0*Gaudi::Units::deg-m_gmt_mgr->IBLStaveOmegaMidAngle();
 
   GeoTrf::Vector3D endStaveCenter(m_gmt_mgr->IBLStaveOmegaEndCenterX(),m_gmt_mgr->IBLStaveOmegaEndCenterY(),0.0);
   double endStaveRadius=m_gmt_mgr->IBLStaveOmegaEndRadius();
-  double endStaveAngle=90.0*GeoModelKernelUnits::deg+m_gmt_mgr->IBLStaveOmegaEndAngle();
+  double endStaveAngle=90.0*Gaudi::Units::deg+m_gmt_mgr->IBLStaveOmegaEndAngle();
 
   double omegaThick = m_gmt_mgr->IBLStaveOmegaThickness();
   double omegaEndStavePointY = m_gmt_mgr->IBLStaveMechanicalStaveWidth()*0.5;
diff --git a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelDisk.cxx b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelDisk.cxx
index 3ba59bf0a3c4..b9c017461071 100644
--- a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelDisk.cxx
+++ b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelDisk.cxx
@@ -17,6 +17,7 @@
 #include "GeoModelKernel/GeoMaterial.h"
 #include "GeoModelKernel/GeoTransform.h"
 #include "GeoModelKernel/GeoAlignableTransform.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include "InDetReadoutGeometry/PixelDetectorManager.h"
 #include <sstream>
@@ -55,7 +56,7 @@ GeoVPhysVol* GeoPixelDisk::Build( ) {
   // Need to specify some eta. Assume all module the same
   GeoPixelModule psd(theSensor);
   double zpos = m_gmt_mgr->PixelECSiDz1()*0.5;
-  double deltaPhi = 360.*GeoModelKernelUnits::deg/ (float) nbECSector;
+  double deltaPhi = 360.*Gaudi::Units::deg/ (float) nbECSector;
   // This is the start angle of the even modules (3.75 deg):
   double startAngle = deltaPhi*0.25;
   // Start angle could eventually come from the database...
@@ -133,17 +134,17 @@ GeoVPhysVol* GeoPixelDisk::Build( ) {
     m_gmt_mgr->SetPhi(phiId);
 
     double angle = ii*0.5*deltaPhi+startAngle;
-    //if ( m_gmt_mgr->GetSide()<0 ) angle = 360*GeoModelKernelUnits::deg-(ii*deltaPhi+startAngle);
+    //if ( m_gmt_mgr->GetSide()<0 ) angle = 360*Gaudi::Units::deg-(ii*deltaPhi+startAngle);
     int diskSide = (ii%2) ? +1 : -1; // even: -1, odd +1
 
 
     GeoTrf::Transform3D rmX(GeoTrf::Transform3D::Identity());
     if (oldGeometry && m_gmt_mgr->GetSide()<0) {
-      if (diskSide > 0) rmX = GeoTrf::RotateX3D(180.*GeoModelKernelUnits::deg); // This is for compatibilty with older geomtries.
+      if (diskSide > 0) rmX = GeoTrf::RotateX3D(180.*Gaudi::Units::deg); // This is for compatibilty with older geomtries.
     } else {
-      if (diskSide < 0) rmX = GeoTrf::RotateX3D(180.*GeoModelKernelUnits::deg); // depth axis points towards disk.
+      if (diskSide < 0) rmX = GeoTrf::RotateX3D(180.*Gaudi::Units::deg); // depth axis points towards disk.
     } 
-    GeoTrf::Transform3D rm = GeoTrf::RotateZ3D(angle) * rmX * GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+    GeoTrf::Transform3D rm = GeoTrf::RotateZ3D(angle) * rmX * GeoTrf::RotateY3D(90*Gaudi::Units::deg);
     GeoTrf::Vector3D pos(moduleRadius,0.,diskSide*zpos);
     pos = GeoTrf::RotateZ3D(angle)*pos;
     GeoAlignableTransform* xform = new GeoAlignableTransform(GeoTrf::Translate3D(pos.x(),pos.y(),pos.z())*rm);
@@ -208,11 +209,11 @@ double GeoPixelDisk::Thickness() {
   // 7-1 I switch to the minimum thickness possible as the cables are right
   // outside this volume.
   //
-  //  return 10*GeoModelKernelUnits::mm;
+  //  return 10*Gaudi::Units::mm;
   // GWG. It would be nice to get these numbers from the module itself to
   // ensure consistency.
-  double safety = 0.01* GeoModelKernelUnits::mm; // This is the safety added to the module.
-  double zClearance = 0.5 * GeoModelKernelUnits::mm; // Clearance for misalignments
+  double safety = 0.01* Gaudi::Units::mm; // This is the safety added to the module.
+  double zClearance = 0.5 * Gaudi::Units::mm; // Clearance for misalignments
   double tck = 2*(safety + 0.5*m_gmt_mgr->PixelBoardThickness()
                   + std::max(m_gmt_mgr->PixelHybridThickness(),
 			     m_gmt_mgr->PixelChipThickness()+m_gmt_mgr->PixelChipGap())
diff --git a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelEnvelope.cxx b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelEnvelope.cxx
index 0a19ebf30ecb..c936b78ada61 100644
--- a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelEnvelope.cxx
+++ b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelEnvelope.cxx
@@ -11,6 +11,7 @@
 #include "GeoModelKernel/GeoFullPhysVol.h"
 #include "GeoModelKernel/GeoTransform.h"
 #include "GeoModelKernel/GeoMaterial.h"
+#include "GaudiKernel/PhysicalConstants.h"
 
 #include "GeoPixelBarrel.h"
 #include "GeoPixelEndCap.h"
@@ -59,7 +60,7 @@ GeoVPhysVol* GeoPixelEnvelope::Build( ) {
     envelopeShape = new GeoTube(rmin,rmax,halflength);
     pixZone = new InDetDD::TubeZone("Pixel",-halflength,halflength,rmin,rmax);
   } else {
-    GeoPcon* envelopeShapeTmp  = new GeoPcon(0.,2*GeoModelKernelUnits::pi);
+    GeoPcon* envelopeShapeTmp  = new GeoPcon(0.,2*Gaudi::Units::pi);
     // table contains +ve z values only and envelope is assumed to be symmetric around z.
     int numPlanes = m_gmt_mgr->PixelEnvelopeNumPlanes();
     for (int i = 0; i < numPlanes * 2; i++) {
@@ -135,7 +136,7 @@ GeoVPhysVol* GeoPixelEnvelope::Build( ) {
       
       m_gmt_mgr->SetEndcap();
       m_gmt_mgr->SetNeg();
-      GeoTransform* xform = new GeoTransform(endcapCTransform * GeoTrf::TranslateZ3D(-zpos) *  GeoTrf::RotateY3D(180*GeoModelKernelUnits::deg));
+      GeoTransform* xform = new GeoTransform(endcapCTransform * GeoTrf::TranslateZ3D(-zpos) *  GeoTrf::RotateY3D(180*Gaudi::Units::deg));
       GeoNameTag* tag  = new GeoNameTag("EndCapC");
       envelopePhys->add(tag);
       envelopePhys->add(new GeoIdentifierTag(-2));
@@ -237,7 +238,7 @@ GeoVPhysVol* GeoPixelEnvelope::Build( ) {
   // so if change then change in DBM_module too
 
   if (m_gmt_mgr->dbm()) {
-    GeoTrf::Translate3D dbmTransform1( 0, 0, 887.002*GeoModelKernelUnits::mm + ( m_gmt_mgr->DBMTelescopeZ() )/2.); //Add 0.002mm to 887mm for safety
+    GeoTrf::Translate3D dbmTransform1( 0, 0, 887.002*Gaudi::Units::mm + ( m_gmt_mgr->DBMTelescopeZ() )/2.); //Add 0.002mm to 887mm for safety
 
     //m_DDmgr->numerology().addEndcap(4);
     m_gmt_mgr->SetPartsDBM();
@@ -253,7 +254,7 @@ GeoVPhysVol* GeoPixelEnvelope::Build( ) {
     //m_DDmgr->numerology().addEndcap(-4);
     m_gmt_mgr->SetNeg();
     GeoNameTag* tag2 = new GeoNameTag("DBMC");
-    GeoTransform* dbmTransform2 = new GeoTransform(GeoTrf::TranslateZ3D(-887.002*GeoModelKernelUnits::mm - ( m_gmt_mgr->DBMTelescopeZ() )/2.) *  GeoTrf::RotateY3D(180*GeoModelKernelUnits::deg));
+    GeoTransform* dbmTransform2 = new GeoTransform(GeoTrf::TranslateZ3D(-887.002*Gaudi::Units::mm - ( m_gmt_mgr->DBMTelescopeZ() )/2.) *  GeoTrf::RotateY3D(180*Gaudi::Units::deg));
     envelopePhys->add(tag2);
     envelopePhys->add(new GeoIdentifierTag(-4));
     envelopePhys->add(dbmTransform2);
diff --git a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelFrame.cxx b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelFrame.cxx
index e626969c244f..83975b7b728f 100644
--- a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelFrame.cxx
+++ b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelFrame.cxx
@@ -15,7 +15,7 @@
 #include "GeoModelKernel/GeoPhysVol.h"
 #include "GeoModelKernel/GeoMaterial.h"
 #include "GeoModelKernel/GeoTransform.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/PhysicalConstants.h"
 #include <algorithm>
 
 GeoPixelFrame::GeoPixelFrame()
@@ -47,18 +47,18 @@ void GeoPixelFrame::BuildAndPlace(GeoFullPhysVol * parent, int section)
   ////////////////////////
   
   // Make envelope to hold the frame
-  //double safety = 0.001 * GeoModelKernelUnits::mm;
-  double epsilon = 0.00001 * GeoModelKernelUnits::mm;
+  //double safety = 0.001 * Gaudi::Units::mm;
+  double epsilon = 0.00001 * Gaudi::Units::mm;
   double halflength = 0.5*std::abs(zmax - zmin); 
 
-  double alpha = GeoModelKernelUnits::pi/numSides;
+  double alpha = Gaudi::Units::pi/numSides;
   double cosalpha = cos(alpha);
   double sinalpha = sin(alpha);
   
   /*
   double rminEnv = (rminSide-safety)/cosalpha;
   double rmaxEnv = (rmaxSide+safety)/cosalpha;
-  GeoPgon * frameEnvShape = new GeoPgon(phiLoc-alpha,2*GeoModelKernelUnits::pi,numSides);
+  GeoPgon * frameEnvShape = new GeoPgon(phiLoc-alpha,2*Gaudi::Units::pi,numSides);
   frameEnvShape->addPlane(zCenter-halflength-0.5*epsilon,rminEnv,rmaxEnv);
   frameEnvShape->addPlane(zCenter+halflength+0.5*epsilon,rminEnv,rmaxEnv);
 
@@ -172,7 +172,7 @@ void GeoPixelFrame::BuildAndPlace(GeoFullPhysVol * parent, int section)
 	double thetaPara = 0; 
 	double phiPara = 0;
 	sideElementShape = new GeoPara(0.5*std::abs(zMax1-zMin1),  0.5*sideWidth-epsilon, 0.5*sideThick, alphaPara, thetaPara, phiPara);
-	rotateShape = GeoTrf::RotateY3D(-90*GeoModelKernelUnits::deg);
+	rotateShape = GeoTrf::RotateY3D(-90*Gaudi::Units::deg);
 	shapeVolume =  std::abs(zMax1-zMin1) * (sideWidth-2*epsilon) * sideThick;
       } else {// 
 	      // other cases not implemented. Should not occur for the frame.
@@ -220,7 +220,7 @@ void GeoPixelFrame::BuildAndPlace(GeoFullPhysVol * parent, int section)
       double angleSide   = phiLoc + alpha * (2*iSide);
       GeoTrf::Transform3D oddEvenRotate(GeoTrf::Transform3D::Identity());
       if (iSide%2 && mirrorSides) {
-	      oddEvenRotate = GeoTrf::RotateZ3D(GeoModelKernelUnits::pi); // Every 2nd side we mirror the side. 
+	      oddEvenRotate = GeoTrf::RotateZ3D(Gaudi::Units::pi); // Every 2nd side we mirror the side. 
       }
       GeoTransform * sideTrans = new GeoTransform(GeoTrf::TranslateZ3D(zSideCenter)*GeoTrf::RotateZ3D(angleSide)
 						  *GeoTrf::TranslateX3D(midRadius)*oddEvenRotate);
diff --git a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelIBLFwdSvcCADModel.cxx b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelIBLFwdSvcCADModel.cxx
index 11643a2de652..c8418be6cb4e 100644
--- a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelIBLFwdSvcCADModel.cxx
+++ b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelIBLFwdSvcCADModel.cxx
@@ -25,6 +25,7 @@
 #include "GeoModelKernel/GeoNameTag.h"
 
 #include "GeoModelKernel/GeoTransform.h"
+#include "GaudiKernel/PhysicalConstants.h"
 
 #include <algorithm>
 #include <iostream> 
@@ -53,7 +54,7 @@ GeoVPhysVol* GeoPixelIBLFwdSvcCADModel::Build()
 
   m_gmt_mgr->msg(MSG::INFO) <<"Build IBL fwd services - CAD tool design - Torus object is defined"<<endmsg;
 
-  //  double safety = 0.01*GeoModelKernelUnits::mm;
+  //  double safety = 0.01*Gaudi::Units::mm;
 
   // IBL layer shift ( 2mm shift issue )
   double layerZshift = m_gmt_mgr->PixelLayerGlobalShift();
@@ -63,7 +64,7 @@ GeoVPhysVol* GeoPixelIBLFwdSvcCADModel::Build()
 
   // check if sectors are properly defined
   if(nSectors==0) return 0;
-  double angle=360./(double)nSectors*GeoModelKernelUnits::deg;
+  double angle=360./(double)nSectors*Gaudi::Units::deg;
   
   // Defines the IBL_Fwd02 section in the IBL services area
   double innerRadius = 33.;
@@ -94,7 +95,7 @@ GeoVPhysVol* GeoPixelIBLFwdSvcCADModel::Build()
   double lgFwdSvc[4]={511., 561., 560., 706. };
   double devLgFwdSvc[4]={512., 562., 562., 707. };
   double devTotalLength = 2460.188;
-  double pi = GeoModelKernelUnits::pi;
+  double pi = Gaudi::Units::pi;
 
   // Cable bundle sizes
   double rminCable = 0.;
@@ -112,7 +113,7 @@ GeoVPhysVol* GeoPixelIBLFwdSvcCADModel::Build()
   double zposRing = 0.;
   double totalLength=0.;
   double hermJunction = .4;
-  double breakAngle = 11.*GeoModelKernelUnits::deg;
+  double breakAngle = 11.*Gaudi::Units::deg;
 
   //  Loop over the wavy shape sections to build a cable and a cooling pipe
   const GeoShape * gblShapeCableA = 0;
@@ -195,12 +196,12 @@ GeoVPhysVol* GeoPixelIBLFwdSvcCADModel::Build()
 
   // -------------- Alignement of the services with the previous services (Fwd01 area)
   double cooling_radius = 35.1;
-  double cooling_angle = -2.154*GeoModelKernelUnits::deg;
+  double cooling_angle = -2.154*Gaudi::Units::deg;
 
   if(m_gmt_mgr->PixelStaveAxe()==1)   
     {
       cooling_radius = 34.7 + layerRadius-33.25;
-      cooling_angle = -.1*GeoModelKernelUnits::deg;
+      cooling_angle = -.1*Gaudi::Units::deg;
     }
 
   double cable_radius = 36.501;
diff --git a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelIBLFwdSvcModel1.cxx b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelIBLFwdSvcModel1.cxx
index ae12b9fea422..9722286a261a 100644
--- a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelIBLFwdSvcModel1.cxx
+++ b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelIBLFwdSvcModel1.cxx
@@ -20,6 +20,7 @@
 #include "GeoModelKernel/GeoNameTag.h"
 
 #include "GeoModelKernel/GeoTransform.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <algorithm>
 #include <iostream> 
@@ -39,7 +40,7 @@ GeoVPhysVol* GeoPixelIBLFwdSvcModel1::Build()
 
   m_gmt_mgr->msg(MSG::INFO) <<"Build IBL fwd services"<<endmsg;
 
-  //  double safety = 0.01*GeoModelKernelUnits::mm;
+  //  double safety = 0.01*Gaudi::Units::mm;
 
   // IBL layer shift ( 2mm shift issue )
   double layerZshift = m_gmt_mgr->PixelLayerGlobalShift();
@@ -49,7 +50,7 @@ GeoVPhysVol* GeoPixelIBLFwdSvcModel1::Build()
 
   // check if sectors are properly defined
   if(nSectors==0) return 0;
-  double angle=360./(double)nSectors*GeoModelKernelUnits::deg;
+  double angle=360./(double)nSectors*Gaudi::Units::deg;
   
   // Defines the IBL_Fwd02 section in the IBL services area
   double innerRadius = 33.;
@@ -98,15 +99,15 @@ GeoVPhysVol* GeoPixelIBLFwdSvcModel1::Build()
   //  double zposRing = 0.;
   double totalLength=0.;
   //  double hermJunction = .4;
-  double breakAngle = 11.*GeoModelKernelUnits::deg;
+  double breakAngle = 11.*Gaudi::Units::deg;
 
   double cooling_radius = 35.1;
-  double cooling_angle = -2.154*GeoModelKernelUnits::deg;
+  double cooling_angle = -2.154*Gaudi::Units::deg;
 
   if(m_gmt_mgr->PixelStaveAxe()==1)   
     {
       cooling_radius = 34.7 + layerRadius-33.25;
-      cooling_angle = -.1*GeoModelKernelUnits::deg;
+      cooling_angle = -.1*Gaudi::Units::deg;
     }
 
   double cable_radius = 36.501;
@@ -189,7 +190,7 @@ GeoVPhysVol* GeoPixelIBLFwdSvcModel1::Build()
 
 	// Cable
 	const GeoTube* cableShape = new GeoTube(rminCable, rmaxCable, zHalfLength);	
-	double angle = 0.; //11.*GeoModelKernelUnits::deg;
+	double angle = 0.; //11.*Gaudi::Units::deg;
 	GeoTrf::Transform3D trfA1 = GeoTrf::RotateZ3D(angle)*GeoTrf::TranslateZ3D(zpos-zMiddle);
 	gblShapeCableA = addShape(gblShapeCableA, cableShape, trfA1 );
 	GeoTrf::Transform3D trfC1 = GeoTrf::RotateZ3D(angle)*GeoTrf::TranslateZ3D(zMax-(zpos-zMin)-zMiddle);
diff --git a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelIFlexServices.cxx b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelIFlexServices.cxx
index 3463842e192a..136ae93f4951 100644
--- a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelIFlexServices.cxx
+++ b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelIFlexServices.cxx
@@ -17,6 +17,7 @@
 #include "GeoModelKernel/GeoNameTag.h"
 
 #include "GeoModelKernel/GeoTransform.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <algorithm>
 using std::max;
@@ -35,7 +36,7 @@ GeoVPhysVol* GeoPixelIFlexServices::Build()
 
   m_gmt_mgr->msg(MSG::INFO) <<"Build IBL I-Flex services"<<endmsg;
 
-  double safety = 0.01*GeoModelKernelUnits::mm;
+  double safety = 0.01*Gaudi::Units::mm;
 
   // IBL layer shift ( 2mm shift issue )
   double layerZshift = m_gmt_mgr->PixelLayerGlobalShift();
@@ -45,7 +46,7 @@ GeoVPhysVol* GeoPixelIFlexServices::Build()
 
   // check if sectors are properly defined
   if(nSectors==0) return 0;
-  double angle=360./(double)nSectors*GeoModelKernelUnits::deg;
+  double angle=360./(double)nSectors*Gaudi::Units::deg;
 
   double zmin=0., zmax=0.;
   double deltaLength = 0.;
@@ -108,12 +109,12 @@ GeoVPhysVol* GeoPixelIFlexServices::Build()
   double cooling_radius = 35.1;
   double TubeOuterDiam = m_gmt_mgr->IBLStaveTubeOuterDiameter();
   double TubeInnerDiam = m_gmt_mgr->IBLStaveTubeInnerDiameter();
-  double cooling_angle = -2.154*GeoModelKernelUnits::deg;
+  double cooling_angle = -2.154*Gaudi::Units::deg;
 
   if(m_gmt_mgr->PixelStaveAxe()==1)   
     {
       cooling_radius = 34.7 + layerRadius-33.25;
-      cooling_angle = -.1*GeoModelKernelUnits::deg;
+      cooling_angle = -.1*Gaudi::Units::deg;
     }
 
   const GeoTube* service_coolingPipeA = new GeoTube(0.0,TubeOuterDiam*0.5,halfLengthA);
@@ -145,9 +146,9 @@ GeoVPhysVol* GeoPixelIFlexServices::Build()
   GeoLogVol* flex_logVolA = 0;
   GeoLogVol* flex_logVolC = 0;
 
-  double flex_angle = -15.001*GeoModelKernelUnits::deg;
+  double flex_angle = -15.001*Gaudi::Units::deg;
   if(m_gmt_mgr->PixelStaveAxe()==1)   
-    flex_angle += 2.14*GeoModelKernelUnits::deg;
+    flex_angle += 2.14*Gaudi::Units::deg;
 
   double flex_rot=0.30265;
   flex_rot=-0.30265*.5;
@@ -244,12 +245,12 @@ GeoVPhysVol* GeoPixelIFlexServices::Build()
     if(m_section==2){
 
       // Intermediate flex
-      GeoTransform* xformA2 = new GeoTransform(GeoTrf::RotateZ3D(phiOfFlex)*GeoTrf::TranslateX3D(flexYmidPos)*GeoTrf::RotateZ3D(-90.*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(-90.*GeoModelKernelUnits::deg)*GeoTrf::RotateX3D(flex_rot));
+      GeoTransform* xformA2 = new GeoTransform(GeoTrf::RotateZ3D(phiOfFlex)*GeoTrf::TranslateX3D(flexYmidPos)*GeoTrf::RotateZ3D(-90.*Gaudi::Units::deg)*GeoTrf::RotateY3D(-90.*Gaudi::Units::deg)*GeoTrf::RotateX3D(flex_rot));
       m_supportPhysA->add(tag2);
       m_supportPhysA->add(xformA2);
       m_supportPhysA->add(flexPhysVolA);
 
-      GeoTransform* xformC2 = new GeoTransform(GeoTrf::RotateZ3D(phiOfFlex)*GeoTrf::TranslateX3D(flexYmidPos)*GeoTrf::RotateZ3D(-90.*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(90.*GeoModelKernelUnits::deg)*GeoTrf::RotateX3D(-flex_rot));
+      GeoTransform* xformC2 = new GeoTransform(GeoTrf::RotateZ3D(phiOfFlex)*GeoTrf::TranslateX3D(flexYmidPos)*GeoTrf::RotateZ3D(-90.*Gaudi::Units::deg)*GeoTrf::RotateY3D(90.*Gaudi::Units::deg)*GeoTrf::RotateX3D(-flex_rot));
       m_supportPhysC->add(tag2);
       m_supportPhysC->add(xformC2);
       m_supportPhysC->add(flexPhysVolC);
diff --git a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelLadder.cxx b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelLadder.cxx
index bcbc577a590b..39c3e6ef0502 100644
--- a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelLadder.cxx
+++ b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelLadder.cxx
@@ -21,6 +21,8 @@
 #include "GeoModelKernel/GeoShapeShift.h"
 #include "GeoModelKernel/GeoShapeUnion.h"
 
+#include "GaudiKernel/PhysicalConstants.h"
+
 using std::max;
 
 GeoPixelLadder::GeoPixelLadder(GeoPixelSiCrystal& theSensor,
@@ -37,7 +39,7 @@ GeoPixelLadder::GeoPixelLadder(GeoPixelSiCrystal& theSensor,
   // Length of the ladder is in the db
   //
   double length = m_gmt_mgr->PixelLadderLength();
-  double safety = 0.01*GeoModelKernelUnits::mm; 
+  double safety = 0.01*Gaudi::Units::mm; 
 
   m_width = calcWidth();
   m_thicknessP = 0.5 * m_gmt_mgr->PixelLadderThickness();
@@ -58,7 +60,7 @@ GeoPixelLadder::GeoPixelLadder(GeoPixelSiCrystal& theSensor,
   const GeoShape * ladderShape = 0;
 
   // If upper and lower thicknesses are within 100 um. Make them the same.
-  if (std::abs(m_thicknessP - m_thicknessN) < 0.1*GeoModelKernelUnits::mm) {
+  if (std::abs(m_thicknessP - m_thicknessN) < 0.1*Gaudi::Units::mm) {
     m_thicknessP = std::max(m_thicknessP,m_thicknessN); 
     m_thicknessN = m_thicknessP;
     double halfThickness = m_thicknessP;
@@ -67,7 +69,7 @@ GeoPixelLadder::GeoPixelLadder(GeoPixelSiCrystal& theSensor,
   else if (m_gmt_mgr->PixelBentStaveNModule() != 0)
     {
       // Calculate thickness from bent stave part
-      double angle              = m_gmt_mgr->PixelLadderBentStaveAngle() * GeoModelKernelUnits::pi / 180.0;
+      double angle              = m_gmt_mgr->PixelLadderBentStaveAngle() * Gaudi::Units::pi / 180.0;
       double BentStaveThickness = double(m_gmt_mgr->PixelBentStaveNModule()) * m_gmt_mgr->PixelLadderModuleDeltaZ() * sin(angle);
       
       // Extend +ve or -ve ladder thickness according to stave angle
@@ -382,7 +384,7 @@ GeoVPhysVol* GeoPixelLadder::Build( ) {
       //      const GeoMaterial* materialSup = m_mat_mgr->getMaterialForVolume(matName,shapeSupBent->volume());
       const GeoMaterial* materialSup = m_mat_mgr->getMaterial("pix::StaveSupportBase");
       
-      double ang = m_gmt_mgr->PixelLadderBentStaveAngle() * GeoModelKernelUnits::pi / 180.0;
+      double ang = m_gmt_mgr->PixelLadderBentStaveAngle() * Gaudi::Units::pi / 180.0;
       double xst = xOffset - (bentStaveHalfLength * sin(ang)); 
       
       // Construct bent stave at negative z
@@ -415,7 +417,7 @@ double GeoPixelLadder::calcThickness() {
   // to avoid duplication of code
   //
 
-  const double safety = 0.01*GeoModelKernelUnits::mm; 
+  const double safety = 0.01*Gaudi::Units::mm; 
   double clearance = m_gmt_mgr->PixelLadderThicknessClearance();
   clearance = std::max(clearance, safety);
 
diff --git a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelLadderServices.cxx b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelLadderServices.cxx
index 1af721b80a5e..517d424f197c 100644
--- a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelLadderServices.cxx
+++ b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelLadderServices.cxx
@@ -18,6 +18,7 @@
 #include "GeoModelKernel/GeoTransform.h"
 #include "GeoModelKernel/GeoShapeShift.h"
 #include "GeoModelKernel/GeoShapeUnion.h"
+#include "GaudiKernel/PhysicalConstants.h"
 
 #include <cmath>
 #include <vector>
@@ -37,7 +38,7 @@ GeoPixelLadderServices::GeoPixelLadderServices(int ladderType)
   //
   //const GeoBox* ladderSvcBox = new GeoBox(thickness/2.,width/2.,halflength);
   // Quick fix - we hardwire the numbers. Need to work out a way to extract this from the database numbers.
-  double safety = 0.01*GeoModelKernelUnits::mm;
+  double safety = 0.01*Gaudi::Units::mm;
   double xBase = 0;
   
   // ConnA: Part to fit Connector
@@ -47,22 +48,22 @@ GeoPixelLadderServices::GeoPixelLadderServices(int ladderType)
   double xOffsetConnC = xOffsetConnA;
 
 
-  //double xMaxConnA = 1.250 * GeoModelKernelUnits::cm + xOffsetConnA + safety;
-  // double xMaxConnC = 1.6575 * GeoModelKernelUnits::cm + xOffsetConnC + safety;
+  //double xMaxConnA = 1.250 * Gaudi::Units::cm + xOffsetConnA + safety;
+  // double xMaxConnC = 1.6575 * Gaudi::Units::cm + xOffsetConnC + safety;
   // max offset is 12.5mm + 1/2 thickness of cables
-  //  double xMaxConnA = 1.5075 * GeoModelKernelUnits::cm + 0.5* 0.15*GeoModelKernelUnits::cm + xOffsetConnA + safety;
+  //  double xMaxConnA = 1.5075 * Gaudi::Units::cm + 0.5* 0.15*Gaudi::Units::cm + xOffsetConnA + safety;
   double xMaxConnA = m_gmt_mgr->PixelConnectorPosX(1) + 0.5*m_gmt_mgr->PixelConnectorWidthX(1)  + xOffsetConnA + safety;
-  double xMaxConnC = 1.25 * GeoModelKernelUnits::cm + 0.5* 0.0125*GeoModelKernelUnits::cm + xOffsetConnC + safety;
-  double xMaxOmegaBase = 0.055 * GeoModelKernelUnits::cm + xBase + 1*GeoModelKernelUnits::mm; // The 1 mm is just extra safety. 
-  double yWidthConnA = 1.0 * GeoModelKernelUnits::cm;
-  double yWidthConnC = 0.2 * GeoModelKernelUnits::cm;
+  double xMaxConnC = 1.25 * Gaudi::Units::cm + 0.5* 0.0125*Gaudi::Units::cm + xOffsetConnC + safety;
+  double xMaxOmegaBase = 0.055 * Gaudi::Units::cm + xBase + 1*Gaudi::Units::mm; // The 1 mm is just extra safety. 
+  double yWidthConnA = 1.0 * Gaudi::Units::cm;
+  double yWidthConnC = 0.2 * Gaudi::Units::cm;
   double yPosConnA =  m_gmt_mgr->PixelLadderCableOffsetY() - m_gmt_mgr->PixelLadderServicesY();
   double yPosConnC =  yPosConnA;
   double xCenter = 0;
   double xWidthOmegaBase = xMaxOmegaBase - xBase;
   double xWidthConnA = xMaxConnA - xBase;
   double xWidthConnC = xMaxConnC - xBase;
-  double yWidthOmega = 1.2*GeoModelKernelUnits::cm + m_epsilon;
+  double yWidthOmega = 1.2*Gaudi::Units::cm + m_epsilon;
 
   const GeoBox* omegaBaseEnv = new GeoBox(0.5*xWidthOmegaBase, 0.5*yWidthOmega, halflength);
   const GeoBox* connAEnv     = new GeoBox(0.5*xWidthConnA, 0.5*yWidthConnA + safety, halflength);
@@ -98,7 +99,7 @@ GeoPixelLadderServices::~GeoPixelLadderServices(){
 GeoVPhysVol* GeoPixelLadderServices::Build() {
   GeoPhysVol* ladderSvcPhys = new GeoPhysVol(m_ladderServicesLV);
   //double thickness = m_gmt_mgr->PixelLadderThickness()+m_gmt_mgr->PixelCableThickness();
-  //double thickness = m_gmt_mgr->PixelLadderThickness() + m_gmt_mgr->PixelCableThickness() + 0.25*GeoModelKernelUnits::cm; // plus 0.25 cm New DC3 ???
+  //double thickness = m_gmt_mgr->PixelLadderThickness() + m_gmt_mgr->PixelCableThickness() + 0.25*Gaudi::Units::cm; // plus 0.25 cm New DC3 ???
   //double thickness = m_gmt_mgr->PixelLadderThickness()+ 6.5;  // m_gmt_mgr->PixelCableThickness() was 0.4 cm, plus 0.25 cm New DC3
   //
   // The Glue
@@ -154,16 +155,16 @@ GeoVPhysVol* GeoPixelLadderServices::BuildOmega() {
   double xOffset = m_xOffset;
   double yOffset = m_yOffset;
   /*
-  double xUpperBend = xOffset + 2.9*GeoModelKernelUnits::mm;
+  double xUpperBend = xOffset + 2.9*Gaudi::Units::mm;
   double yUpperBend = yOffset + 0;
-  double radUpperBend = 2.3*GeoModelKernelUnits::mm; 
+  double radUpperBend = 2.3*Gaudi::Units::mm; 
   double xLowerBend = xOffset + 0.9;
-  double yLowerBend = yOffset + 3.35*GeoModelKernelUnits::mm;
-  double radLowerBend = 0.8*GeoModelKernelUnits::mm; 
-  double yStart= yOffset + (4.675+0.5*2.65)*GeoModelKernelUnits::mm;
+  double yLowerBend = yOffset + 3.35*Gaudi::Units::mm;
+  double radLowerBend = 0.8*Gaudi::Units::mm; 
+  double yStart= yOffset + (4.675+0.5*2.65)*Gaudi::Units::mm;
   double yEnd =  yOffset -yStart;
-  double thick = 0.3*GeoModelKernelUnits::mm;
-  double length = 816*GeoModelKernelUnits::mm;
+  double thick = 0.3*Gaudi::Units::mm;
+  double length = 816*Gaudi::Units::mm;
   double zOffset = 0;
   */
   double xUpperBend = xOffset + m_gmt_mgr->PixelOmegaUpperBendX();
@@ -192,13 +193,13 @@ GeoVPhysVol* GeoPixelLadderServices::BuildOmega() {
 
 
   // Tube sector for upper bend
-  GeoTubs * upperBendShape = new GeoTubs(radUpperBend - thick, radUpperBend, 0.5* length, alpha-0.5*GeoModelKernelUnits::pi, GeoModelKernelUnits::pi - 2*alpha);
+  GeoTubs * upperBendShape = new GeoTubs(radUpperBend - thick, radUpperBend, 0.5* length, alpha-0.5*Gaudi::Units::pi, Gaudi::Units::pi - 2*alpha);
 
   // Tube sector for lower bend (+y)
-  GeoTubs * lowerBendShapeP = new GeoTubs(radLowerBend - thick, radLowerBend, 0.5* length, GeoModelKernelUnits::pi, 0.5*GeoModelKernelUnits::pi-alpha);
+  GeoTubs * lowerBendShapeP = new GeoTubs(radLowerBend - thick, radLowerBend, 0.5* length, Gaudi::Units::pi, 0.5*Gaudi::Units::pi-alpha);
 
   // Tube sector for lower bend (-y)
-  GeoTubs * lowerBendShapeM = new GeoTubs(radLowerBend - thick, radLowerBend, 0.5* length, 0.5*GeoModelKernelUnits::pi + alpha, 0.5*GeoModelKernelUnits::pi-alpha);
+  GeoTubs * lowerBendShapeM = new GeoTubs(radLowerBend - thick, radLowerBend, 0.5* length, 0.5*Gaudi::Units::pi + alpha, 0.5*Gaudi::Units::pi-alpha);
  
   // Lower Straight section (+y)
   GeoBox * lowerStraightBoxP = new GeoBox(0.5*thick, 0.5*(yStart - yLowerBend), 0.5*length);
@@ -213,9 +214,9 @@ GeoVPhysVol* GeoPixelLadderServices::BuildOmega() {
   const GeoShape & omegaShape = 
     (*lowerStraightBoxP     << GeoTrf::Translate3D(xLowerBend-radLowerBend+0.5*thick,0.5*(yLowerBend+yStart),zOffset) )
     .add(*lowerBendShapeP   << GeoTrf::Translate3D(xLowerBend,yLowerBend,zOffset) )
-    .add(*upperStraightBox  << GeoTrf::Translate3D(0.5*(xLowerStraight+xUpperStraight),0.5*(yLowerStraight+yUpperStraight),zOffset)*GeoTrf::RotateZ3D(0.5*GeoModelKernelUnits::pi-alpha) )
+    .add(*upperStraightBox  << GeoTrf::Translate3D(0.5*(xLowerStraight+xUpperStraight),0.5*(yLowerStraight+yUpperStraight),zOffset)*GeoTrf::RotateZ3D(0.5*Gaudi::Units::pi-alpha) )
     .add(*upperBendShape    << GeoTrf::Translate3D(xUpperBend,yUpperBend,zOffset) )
-    .add(*upperStraightBox  << GeoTrf::Translate3D(0.5*(xLowerStraight+xUpperStraight),-0.5*(yLowerStraight+yUpperStraight),zOffset)*GeoTrf::RotateZ3D(0.5*GeoModelKernelUnits::pi+alpha) )
+    .add(*upperStraightBox  << GeoTrf::Translate3D(0.5*(xLowerStraight+xUpperStraight),-0.5*(yLowerStraight+yUpperStraight),zOffset)*GeoTrf::RotateZ3D(0.5*Gaudi::Units::pi+alpha) )
     .add(*lowerBendShapeM   << GeoTrf::Translate3D(xLowerBend,-yLowerBend,zOffset) )
     .add(*lowerStraightBoxM << GeoTrf::Translate3D(xLowerBend-radLowerBend+0.5*thick,0.5*(-yLowerBend+yEnd),zOffset) );
 
@@ -240,14 +241,14 @@ GeoVPhysVol* GeoPixelLadderServices::BuildAlTube() {
   double yOffset = m_yOffset;
 
   /*
-  double xUpperBend = xOffset + 2.7*GeoModelKernelUnits::mm;
+  double xUpperBend = xOffset + 2.7*Gaudi::Units::mm;
   double yUpperBend = yOffset;
-  double radUpperBend = 2.0*GeoModelKernelUnits::mm; 
+  double radUpperBend = 2.0*Gaudi::Units::mm; 
   double xLowerBend = xOffset + 0.55;
-  double yLowerBend = yOffset+1.925*GeoModelKernelUnits::mm;
-  double radLowerBend = 0.5*GeoModelKernelUnits::mm; 
-  double thick = 0.2*GeoModelKernelUnits::mm;
-  double length = 838*GeoModelKernelUnits::mm;
+  double yLowerBend = yOffset+1.925*Gaudi::Units::mm;
+  double radLowerBend = 0.5*Gaudi::Units::mm; 
+  double thick = 0.2*Gaudi::Units::mm;
+  double length = 838*Gaudi::Units::mm;
   double zOffset = 0;
   */
 
@@ -275,13 +276,13 @@ GeoVPhysVol* GeoPixelLadderServices::BuildAlTube() {
 
 
   // Tube sector for upper bend
-  GeoTubs * upperBendShape = new GeoTubs(radUpperBend - thick, radUpperBend, 0.5* length, alpha-0.5*GeoModelKernelUnits::pi, GeoModelKernelUnits::pi - 2*alpha);
+  GeoTubs * upperBendShape = new GeoTubs(radUpperBend - thick, radUpperBend, 0.5* length, alpha-0.5*Gaudi::Units::pi, Gaudi::Units::pi - 2*alpha);
 
   // Tube sector for lower bend (+y)
-  GeoTubs * lowerBendShapeP = new GeoTubs(radLowerBend - thick, radLowerBend, 0.5* length, 0.5*GeoModelKernelUnits::pi-alpha, 0.5*GeoModelKernelUnits::pi+alpha);
+  GeoTubs * lowerBendShapeP = new GeoTubs(radLowerBend - thick, radLowerBend, 0.5* length, 0.5*Gaudi::Units::pi-alpha, 0.5*Gaudi::Units::pi+alpha);
 
   // Tube sector for lower bend (-y)
-  GeoTubs * lowerBendShapeM = new GeoTubs(radLowerBend - thick, radLowerBend, 0.5* length, GeoModelKernelUnits::pi, 0.5*GeoModelKernelUnits::pi+alpha);
+  GeoTubs * lowerBendShapeM = new GeoTubs(radLowerBend - thick, radLowerBend, 0.5* length, Gaudi::Units::pi, 0.5*Gaudi::Units::pi+alpha);
  
   // Lower Straight section 
   GeoBox * lowerStraightBox = new GeoBox(0.5*thick, yLowerBend, 0.5*length);
@@ -293,9 +294,9 @@ GeoVPhysVol* GeoPixelLadderServices::BuildAlTube() {
   const GeoShape & alTubeShape = 
     (*lowerStraightBox      << GeoTrf::Translate3D(xLowerBend-radLowerBend+0.5*thick,0,zOffset) )
     .add(*lowerBendShapeP   << GeoTrf::Translate3D(xLowerBend,yLowerBend,zOffset) )
-    .add(*upperStraightBox  << GeoTrf::Translate3D(0.5*(xLowerStraight+xUpperStraight),0.5*(yLowerStraight+yUpperStraight),zOffset)*GeoTrf::RotateZ3D(0.5*GeoModelKernelUnits::pi-alpha) )
+    .add(*upperStraightBox  << GeoTrf::Translate3D(0.5*(xLowerStraight+xUpperStraight),0.5*(yLowerStraight+yUpperStraight),zOffset)*GeoTrf::RotateZ3D(0.5*Gaudi::Units::pi-alpha) )
     .add(*upperBendShape    << GeoTrf::Translate3D(xUpperBend,yUpperBend,zOffset) )
-    .add(*upperStraightBox  << GeoTrf::Translate3D(0.5*(xLowerStraight+xUpperStraight),-0.5*(yLowerStraight+yUpperStraight),zOffset)*GeoTrf::RotateZ3D(0.5*GeoModelKernelUnits::pi+alpha) )
+    .add(*upperStraightBox  << GeoTrf::Translate3D(0.5*(xLowerStraight+xUpperStraight),-0.5*(yLowerStraight+yUpperStraight),zOffset)*GeoTrf::RotateZ3D(0.5*Gaudi::Units::pi+alpha) )
     .add(*lowerBendShapeM   << GeoTrf::Translate3D(xLowerBend,-yLowerBend,zOffset) );
 
   double totVolume = 
diff --git a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelLayer.cxx b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelLayer.cxx
index 8e103b87779d..80d2d00918bf 100644
--- a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelLayer.cxx
+++ b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelLayer.cxx
@@ -30,6 +30,7 @@
 
 #include "GeoModelKernel/GeoTubs.h"
 #include "GeoModelKernel/GeoPhysVol.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <sstream>
 
@@ -304,7 +305,7 @@ GeoVPhysVol* GeoPixelLayer::Build() {
   //
   // Layer dimensions from above, etc
   //
-  double safety = 0.01 * GeoModelKernelUnits::mm;
+  double safety = 0.01 * Gaudi::Units::mm;
   double rmin =  m_gmt_mgr->PixelLayerRadius()-layerThicknessN - safety;
   double rmax =  m_gmt_mgr->PixelLayerRadius()+layerThicknessP + safety;
   double length = m_gmt_mgr->PixelLadderLength() + 4*m_epsilon; // Ladder has length m_gmt_mgr->PixelLadderLength() +  2*m_epsilon
@@ -315,7 +316,7 @@ GeoVPhysVol* GeoPixelLayer::Build() {
   if(m_gmt_mgr->GetLD()==0&&m_gmt_mgr->ibl()&&m_gmt_mgr->PixelStaveLayout()>3&&m_gmt_mgr->PixelStaveLayout()<8)
     {
       bAddIBLStaveRings=true;
-      double safety = 0.001 * GeoModelKernelUnits::mm;
+      double safety = 0.001 * Gaudi::Units::mm;
       double outerRadius = m_gmt_mgr->IBLSupportMidRingInnerRadius();  
       rmax=outerRadius-safety;
 
@@ -346,7 +347,7 @@ GeoVPhysVol* GeoPixelLayer::Build() {
   //
   // A few variables needed below
   //  
-  double angle=(nSectors>0)?(360./(double)nSectors)*GeoModelKernelUnits::deg:(360.*GeoModelKernelUnits::deg);
+  double angle=(nSectors>0)?(360./(double)nSectors)*Gaudi::Units::deg:(360.*Gaudi::Units::deg);
   GeoTrf::Transform3D transRadiusAndTilt = GeoTrf::TranslateX3D(layerRadius)*GeoTrf::RotateZ3D(ladderTilt);
   double phiOfModuleZero =  m_gmt_mgr->PhiOfModuleZero();
 
diff --git a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelModule.cxx b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelModule.cxx
index 9f0fb3b103fe..e2f9223d3255 100644
--- a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelModule.cxx
+++ b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelModule.cxx
@@ -16,6 +16,7 @@
 #include "GeoModelKernel/GeoTransform.h"
 #include "GeoModelKernel/GeoShapeShift.h"
 #include "GeoModelKernel/GeoShapeUnion.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 using std::max;
 
@@ -137,7 +138,7 @@ GeoVPhysVol* GeoPixelModule::Build( ) {
   //
   // Place the Hybrid
   //
-  if (m_gmt_mgr->PixelHybridThickness(m_isModule3D)>0.00001*GeoModelKernelUnits::mm){
+  if (m_gmt_mgr->PixelHybridThickness(m_isModule3D)>0.00001*Gaudi::Units::mm){
     GeoPixelHybrid ph(m_isModule3D);
     double hybxpos = -0.5*(m_gmt_mgr->PixelBoardThickness(m_isModule3D)+m_gmt_mgr->PixelHybridThickness(m_isModule3D));
     GeoTransform* xform = new GeoTransform(GeoTrf::TranslateX3D(hybxpos));
@@ -200,7 +201,7 @@ double GeoPixelModule::ThicknessN_noSvc() {
   // is the max of ThicknessP and thickness from the module center to
   // the outer surface of the hybrid plus some safety.
   //
-  double safety = 0.01*GeoModelKernelUnits::mm; 
+  double safety = 0.01*Gaudi::Units::mm; 
   double thickn = 0.5 * m_gmt_mgr->PixelBoardThickness(m_isModule3D)+ m_gmt_mgr->PixelHybridThickness(m_isModule3D) + safety;
   double thick = max(thickn, ThicknessP()); 
   
@@ -234,7 +235,7 @@ double GeoPixelModule::ThicknessN() {
   //
 
 
-  double safety = 0.01*GeoModelKernelUnits::mm; 
+  double safety = 0.01*Gaudi::Units::mm; 
   double thickn = 0.5 * m_gmt_mgr->PixelBoardThickness(m_isModule3D)+ m_gmt_mgr->PixelHybridThickness(m_isModule3D) + safety;
   double thick = max(thickn, ThicknessP()); 
 
@@ -265,7 +266,7 @@ double GeoPixelModule::ThicknessP() {
   // is thickness from the module center to the outer surface of the
   // chips plus some safety.
 
-  double safety = 0.01*GeoModelKernelUnits::mm;
+  double safety = 0.01*Gaudi::Units::mm;
   double thick = 0.5 * m_gmt_mgr->PixelBoardThickness(m_isModule3D) +
     m_gmt_mgr->PixelChipThickness(m_isModule3D)+m_gmt_mgr->PixelChipGap(m_isModule3D) + safety;
 
diff --git a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelOldFrame.cxx b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelOldFrame.cxx
index e50c4ccec30f..5877c11627df 100644
--- a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelOldFrame.cxx
+++ b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelOldFrame.cxx
@@ -16,6 +16,7 @@
 #include "GeoModelKernel/GeoFullPhysVol.h"
 #include "GeoModelKernel/GeoMaterial.h"
 #include "GeoModelKernel/GeoTransform.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 // Satisfy interface
 
@@ -113,7 +114,7 @@ void GeoPixelOldFrame::BuildInBarrel(GeoFullPhysVol * parent) {
   
   // First part
   m_legacyManager->setBarrelInSFrame();
-  double alpha = 45.*GeoModelKernelUnits::deg;
+  double alpha = 45.*Gaudi::Units::deg;
   double w1    = m_legacyManager->PixelBarrelBFrameWidth();
   double w2    = m_legacyManager->PixelBarrelTFrameWidth();
   double off   = m_legacyManager->PixelBarrelFrameOffset();
@@ -206,7 +207,7 @@ void GeoPixelOldFrame::BuildOutBarrel(GeoFullPhysVol * parent) {
   // Add the pixel frame inside the endcap volume
   //
   m_legacyManager->setEndcapInSFrame();
-  double alpha = 45.*GeoModelKernelUnits::deg;
+  double alpha = 45.*Gaudi::Units::deg;
   double w1    = m_legacyManager->PixelEndcapBFrameWidth();
   double w2    = m_legacyManager->PixelEndcapTFrameWidth();
   double off   = m_legacyManager->PixelEndcapFrameOffset()+m_legacyManager->PixelEndcapFrameLength();
diff --git a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelRingSLHC.cxx b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelRingSLHC.cxx
index 01ace765ff7d..ca402ad4db54 100644
--- a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelRingSLHC.cxx
+++ b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelRingSLHC.cxx
@@ -16,6 +16,7 @@
 #include "GeoModelKernel/GeoMaterial.h"
 #include "GeoModelKernel/GeoTransform.h"
 #include "GeoModelKernel/GeoAlignableTransform.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include "InDetReadoutGeometry/PixelDetectorManager.h"
 //#include <string>
@@ -42,8 +43,8 @@ GeoVPhysVol* GeoPixelRingSLHC::Build() {
   //(sar) Original block was in c'tor...
   // Dimensions from class methods
   //
-  double rmin = m_gmt_mgr->PixelRingRMin(); // Default is 0.01 GeoModelKernelUnits::mm safety added
-  double rmax = m_gmt_mgr->PixelRingRMax(); // Default is 0.01 GeoModelKernelUnits::mm safety added
+  double rmin = m_gmt_mgr->PixelRingRMin(); // Default is 0.01 Gaudi::Units::mm safety added
+  double rmax = m_gmt_mgr->PixelRingRMax(); // Default is 0.01 Gaudi::Units::mm safety added
   double halflength = m_gmt_mgr->PixelRingThickness()/2.;
   const GeoMaterial* air = m_mat_mgr->getMaterial("std::Air");
   const GeoTube* ringTube = new GeoTube(rmin,rmax,halflength);
@@ -60,7 +61,7 @@ GeoVPhysVol* GeoPixelRingSLHC::Build() {
   if(nmodules==0) return ringPhys;
 
   // deltaPhi is angle between two adjacent modules regardless of side of the disk
-  double deltaPhi = 360.*GeoModelKernelUnits::deg / (double)nmodules;
+  double deltaPhi = 360.*Gaudi::Units::deg / (double)nmodules;
 
   // This is the start angle of the even modules
   // Start angle could eventually come from the database...
@@ -99,8 +100,8 @@ GeoVPhysVol* GeoPixelRingSLHC::Build() {
 
     double angle = imod*deltaPhi+startAngle;
 
-    GeoTrf::Transform3D rm = GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-    if( m_gmt_mgr->isDiskBack() ) rm = rm * GeoTrf::RotateX3D(180.*GeoModelKernelUnits::deg);
+    GeoTrf::Transform3D rm = GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+    if( m_gmt_mgr->isDiskBack() ) rm = rm * GeoTrf::RotateX3D(180.*Gaudi::Units::deg);
     rm = rm * GeoTrf::RotateZ3D(angle);
 
     GeoTrf::Vector3D pos(moduleRadius,0,zpos);
diff --git a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelServices.cxx b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelServices.cxx
index 30aaf37b6dc5..00f1c9f2b75a 100644
--- a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelServices.cxx
+++ b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelServices.cxx
@@ -34,7 +34,7 @@
 // TUBS
 //   Ignored: RIN2,ROUT2
 //   PHI: phi start location of tube sector
-//   WIDTH (GeoModelKernelUnits::deg): phi width of sector  
+//   WIDTH (Gaudi::Units::deg): phi width of sector  
 //   REPEAT: Repeat the tube sector this many times in phi with equal distance between them.
 // CONS, CONE
 //   WIDTH,REPEAT ignored if CONE
@@ -72,30 +72,30 @@
 //   Ignored: ROUT, RIN2, ROUT2
 //   RIN: Radial position of center of tube
 //   PHI: phi position of center
-//   WIDTH (GeoModelKernelUnits::mm): diameter 
+//   WIDTH (Gaudi::Units::mm): diameter 
 //   REPEAT: Repeat this many times in phi with equal distance between them.
 // ROD2
 //   Ignored: ROUT, RIN2, ROUT2
 //   RIN: Radial position of center of tube
 //   PHI: phi position of center
-//   WIDTH (GeoModelKernelUnits::mm): diameter 
+//   WIDTH (Gaudi::Units::mm): diameter 
 //   REPEAT: Repeat this many times in phi with equal distance between them.
 // BOX
 //   Ignored: RIN2, ROUT2
 //   ROUT-RIN = thickness of box (radially)
 //   (RIN+ROUT)/2 = radial poistion of center of box
 //   PHI: phi position of center
-//   WIDTH (GeoModelKernelUnits::mm) = width of box
+//   WIDTH (Gaudi::Units::mm) = width of box
 //   REPEAT: Repeat this many times in phi with equal distance between them.
 // TRAP
 //   Ignored: RIN2, ROUT2
 //   ROUT-RIN = thickness of trapezoid (radially)
 //   (RIN+ROUT)/2 = radial poistion of center of trapzoid
 //   PHI: phi position of center
-//   WIDTH (GeoModelKernelUnits::mm) = width of trapezoid at center
+//   WIDTH (Gaudi::Units::mm) = width of trapezoid at center
 //   REPEAT: Repeat this many times in phi with equal distance between them.
 //
-//   **IMPORTANT NOTE** WIDTH can be in degrees or GeoModelKernelUnits::mm. See OraclePixGeoManager
+//   **IMPORTANT NOTE** WIDTH can be in degrees or Gaudi::Units::mm. See OraclePixGeoManager
 
 
 #include "GeoPixelServices.h"
@@ -104,7 +104,7 @@
 #include "InDetGeoModelUtils/ServiceVolume.h"
 #include "InDetGeoModelUtils/ServiceVolumeMaker.h"
 #include "InDetGeoModelUtils/IInDetServMatBuilderTool.h"
-
+#include "GaudiKernel/PhysicalConstants.h"
 
 #include <sstream>
 #include <iomanip>
@@ -206,7 +206,7 @@ GeoPixelServices::GeoPixelServices(InDetDD::Zone * pixZone)
     std::vector<const InDetDD::ServiceVolume *> servicesOutPix;
     double svc3_rMin = 99999., svc3_rMax = 0.;
     std::vector<const InDetDD::ServiceVolume *> servicesOther;
-    double safety=0.001*GeoModelKernelUnits::mm;
+    double safety=0.001*Gaudi::Units::mm;
 
     for(std::vector<const InDetDD::ServiceVolume *>::const_iterator it=services.begin(); it!=services.end(); it++)
       {
@@ -403,15 +403,15 @@ void GeoPixelServices::initializeOld(const std::string & a)
       double phiLoc =  m_gmt_mgr->PixelServicePhiLoc(a, ii);
       double phiWidth =  m_gmt_mgr->PixelServiceWidth(a, ii);
       
-      // Can be in degree or GeoModelKernelUnits::mm. Usually it is GeoModelKernelUnits::deg expect for BOX, TRAP and ROD shape
+      // Can be in degree or Gaudi::Units::mm. Usually it is Gaudi::Units::deg expect for BOX, TRAP and ROD shape
       // Geometry manager makes no assumptions about units. So we must interpret here.
       if (shapeType == "BOX" || shapeType == "ROD" || shapeType == "ROD2" || shapeType == "TRAP") {
-	phiWidth *= GeoModelKernelUnits::mm;
+	phiWidth *= Gaudi::Units::mm;
       } else {
-	phiWidth *= GeoModelKernelUnits::degree;
+	phiWidth *= Gaudi::Units::degree;
       }
       
-      if (phiWidth == 0) phiWidth = 2*GeoModelKernelUnits::pi;
+      if (phiWidth == 0) phiWidth = 2*Gaudi::Units::pi;
       if (rmin2 <= 0) rmin2 = param.rmin(); 
       if (rmax2 <= 0) rmax2 = param.rmax(); 
       if (repeat == 0) repeat = 1;
diff --git a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelSiCrystal.cxx b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelSiCrystal.cxx
index 57fc49f96acb..23e8519e37ff 100644
--- a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelSiCrystal.cxx
+++ b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelSiCrystal.cxx
@@ -16,6 +16,7 @@
 #include "GeoModelKernel/GeoLogVol.h"
 #include "GeoModelKernel/GeoFullPhysVol.h"
 #include "GeoModelKernel/GeoMaterial.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include "Identifier/Identifier.h"
 #include "InDetIdentifier/PixelID.h"
 #include "InDetReadoutGeometry/PixelDetectorManager.h"
@@ -109,17 +110,17 @@ GeoPixelSiCrystal::GeoPixelSiCrystal(bool isBLayer, bool isModule3D)
 
   if ( (m_gmt_mgr->DesignRPActiveArea(m_isModule3D) > width) ||
        (m_gmt_mgr->DesignZActiveArea(m_isModule3D) >  length) || 
-       (width - m_gmt_mgr->DesignRPActiveArea(m_isModule3D) > 4 * GeoModelKernelUnits::mm) || 
-       (length - m_gmt_mgr->DesignZActiveArea(m_isModule3D) > 4 * GeoModelKernelUnits::mm) ) { 
+       (width - m_gmt_mgr->DesignRPActiveArea(m_isModule3D) > 4 * Gaudi::Units::mm) || 
+       (length - m_gmt_mgr->DesignZActiveArea(m_isModule3D) > 4 * Gaudi::Units::mm) ) { 
     m_gmt_mgr->msg(MSG::WARNING) << "GeoPixelSiCrystal: Active area not consistent with sensor size. Sensor: " 
-			       << width/GeoModelKernelUnits::mm << " x " << length/GeoModelKernelUnits::mm << ", Active: " 
-			       << m_gmt_mgr->DesignRPActiveArea(m_isModule3D)/GeoModelKernelUnits::mm << " x " << m_gmt_mgr->DesignZActiveArea(m_isModule3D)/GeoModelKernelUnits::mm 
+			       << width/Gaudi::Units::mm << " x " << length/Gaudi::Units::mm << ", Active: " 
+			       << m_gmt_mgr->DesignRPActiveArea(m_isModule3D)/Gaudi::Units::mm << " x " << m_gmt_mgr->DesignZActiveArea(m_isModule3D)/Gaudi::Units::mm 
 			       << endmsg;
   } else {
     if (m_gmt_mgr->msgLvl(MSG::DEBUG)) m_gmt_mgr->msg(MSG::DEBUG) 
       << "GeoPixelSiCrystal: Sensor: "  
-      << width/GeoModelKernelUnits::mm << " x " << length/GeoModelKernelUnits::mm << ", Active: " 
-      << m_gmt_mgr->DesignRPActiveArea(m_isModule3D)/GeoModelKernelUnits::mm << " x " << m_gmt_mgr->DesignZActiveArea(m_isModule3D)/GeoModelKernelUnits::mm 
+      << width/Gaudi::Units::mm << " x " << length/Gaudi::Units::mm << ", Active: " 
+      << m_gmt_mgr->DesignRPActiveArea(m_isModule3D)/Gaudi::Units::mm << " x " << m_gmt_mgr->DesignZActiveArea(m_isModule3D)/Gaudi::Units::mm 
       << endmsg;		       
   }
 
diff --git a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelStaveRing.cxx b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelStaveRing.cxx
index f949df028596..da3635267f17 100644
--- a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelStaveRing.cxx
+++ b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelStaveRing.cxx
@@ -17,7 +17,7 @@
 #include "GeoModelKernel/GeoPhysVol.h"
 #include "GeoModelKernel/GeoMaterial.h"
 #include "GeoModelKernel/GeoNameTag.h"
-
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <algorithm>
 using std::max;
@@ -48,7 +48,7 @@ GeoVPhysVol* GeoPixelStaveRing::Build(){
 
   m_gmt_mgr->msg(MSG::INFO) <<"Build detailed stave ring support : "<<m_ringName<<"  "<<m_ringPosition<<endmsg;
 
-  double safety = 0.001*GeoModelKernelUnits::mm; 
+  double safety = 0.001*Gaudi::Units::mm; 
   bool isBLayer = false;
   if(m_gmt_mgr->GetLD() == 0) isBLayer = true;
   GeoPixelSiCrystal theSensor(isBLayer);
diff --git a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelStaveRingServices.cxx b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelStaveRingServices.cxx
index 66130eeedae9..65f14b9acfb7 100644
--- a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelStaveRingServices.cxx
+++ b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelStaveRingServices.cxx
@@ -19,6 +19,7 @@
 #include "GeoModelKernel/GeoNameTag.h"
 
 #include "GeoModelKernel/GeoTransform.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <algorithm>
 using std::max;
@@ -43,7 +44,7 @@ GeoVPhysVol* GeoPixelStaveRingServices::Build()
 
   double ladderHalfThickN = m_ladder.thicknessN();
   double ladderHalfThickP = m_ladder.thicknessP();
-  double safetyMargin = 0.001*GeoModelKernelUnits::mm;
+  double safetyMargin = 0.001*Gaudi::Units::mm;
 
   // Get endblock from m_staveSupport
   GeoPhysVol* endblockA=dynamic_cast<GeoPhysVol*>(m_staveSupport.getEndblockEnvelopShape(2));
@@ -109,7 +110,7 @@ GeoVPhysVol* GeoPixelStaveRingServices::Build()
   }
   else {
 
-    double angle=360./nSectors*GeoModelKernelUnits::deg;
+    double angle=360./nSectors*Gaudi::Units::deg;
     GeoTrf::Transform3D transRadiusAndTilt = GeoTrf::TranslateX3D(layerRadius)*GeoTrf::RotateZ3D(ladderTilt);
     double phiOfModuleZero =  m_gmt_mgr->PhiOfModuleZero();
 
@@ -208,7 +209,7 @@ GeoVPhysVol* GeoPixelStaveRingServices::Build()
 	double dimX=dimX_lin/cos(alpha1)-.15;
 	double dimY=m_gmt_mgr->IBLStaveFlexWidth();
 	double dimZ=m_gmt_mgr->IBLStaveFlexBaseThickness();
-	double angle=90.*GeoModelKernelUnits::deg-alpha1;   //90.-27.99;
+	double angle=90.*Gaudi::Units::deg-alpha1;   //90.-27.99;
 	double delta=m_gmt_mgr->IBLFlexDoglegDY();
 	double trX=-dimX_lin*tan(alpha1)*0.5;   //-3.28;
 	double trZ=eoStave+dimX_lin*0.5;
@@ -222,7 +223,7 @@ GeoVPhysVol* GeoPixelStaveRingServices::Build()
 	for(unsigned int iPt=0; iPt<xShape.size(); iPt++) tmp_shape->addVertex(xShape[iPt],yShape[iPt]);
 	
 	
-	//	GeoPara * tmp_shape = new GeoPara(0.47,5.5,9.,0.*GeoModelKernelUnits::deg,55.*GeoModelKernelUnits::deg,0.);
+	//	GeoPara * tmp_shape = new GeoPara(0.47,5.5,9.,0.*Gaudi::Units::deg,55.*Gaudi::Units::deg,0.);
 	std::string flexMatName = m_gmt_mgr->IBLFlexMaterial(1,"doglegA");
 	const GeoMaterial* tmp_material = m_mat_mgr->getMaterial(flexMatName);
 	GeoLogVol* tmp_logVol = new GeoLogVol("FlexDogLeg1",tmp_shape,tmp_material);
@@ -253,7 +254,7 @@ GeoVPhysVol* GeoPixelStaveRingServices::Build()
 	double trX2=trX*2.-dimX2_lin*tan(alpha2)*0.5;   //-3.28;
 	double trZ2=eoStave+dimX_lin+dimX2_lin*0.5;
 	xShape.clear(); yShape.clear();
-	angle=90.*GeoModelKernelUnits::deg-alpha2;
+	angle=90.*Gaudi::Units::deg-alpha2;
 	xShape.push_back(dimX2*0.5);  yShape.push_back(dimY2*0.5);
 	xShape.push_back(-dimX2*0.5);  yShape.push_back(dimY2*0.5);
 	xShape.push_back(-dimX2*0.5); yShape.push_back(-dimY2*0.5);
diff --git a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelTMT.cxx b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelTMT.cxx
index 5d2286e73b42..537463efb037 100644
--- a/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelTMT.cxx
+++ b/InnerDetector/InDetDetDescr/PixelGeoModel/src/GeoPixelTMT.cxx
@@ -18,7 +18,7 @@
 #include "GeoModelKernel/GeoTransform.h"
 #include "GeoModelKernel/GeoShapeShift.h"
 #include "GeoModelKernel/GeoShapeUnion.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include <utility> //std::swap
 #include <cmath>
 
@@ -51,7 +51,7 @@ GeoVPhysVol* GeoPixelTMT::Build() {
   GeoNameTag* tag = new GeoNameTag("TMT");
 
   // this part is unchanged: reading the DB, creating the shapes of the volumes and defining their position
-  GeoTrf::RotateX3D traprot(180.*GeoModelKernelUnits::deg);
+  GeoTrf::RotateX3D traprot(180.*Gaudi::Units::deg);
 
   int halfNModule = m_gmt_mgr->PixelNModule()/2;
 
@@ -129,7 +129,7 @@ GeoVPhysVol* GeoPixelTMT::Build() {
         theTMT->add(transPos);
         theTMT->add(tmpPhysVol);
 
-        GeoTransform* transNeg = new GeoTransform(GeoTrf::Translate3D(xpos,ypos,-(zpos+zshift))*GeoTrf::RotateX3D(180*GeoModelKernelUnits::deg));
+        GeoTransform* transNeg = new GeoTransform(GeoTrf::Translate3D(xpos,ypos,-(zpos+zshift))*GeoTrf::RotateX3D(180*Gaudi::Units::deg));
         theTMT->add(tag);
         theTMT->add(transNeg);
         theTMT->add(tmpPhysVol);
diff --git a/InnerDetector/InDetDetDescr/PixelGeoModel/src/OraclePixGeoManager.cxx b/InnerDetector/InDetDetDescr/PixelGeoModel/src/OraclePixGeoManager.cxx
index a4a53b368622..3346fa36e95f 100644
--- a/InnerDetector/InDetDetDescr/PixelGeoModel/src/OraclePixGeoManager.cxx
+++ b/InnerDetector/InDetDetDescr/PixelGeoModel/src/OraclePixGeoManager.cxx
@@ -17,6 +17,7 @@
 #include "GeoModelInterfaces/IGeoDbTagSvc.h"
 #include "GeoModelUtilities/DecodeVersionKey.h"
 #include "GeoModelKernel/GeoMaterial.h"
+#include "GeoModelKernel/Units.h"
 
 //
 // Get the pixelDD Manager from SG.
@@ -30,7 +31,7 @@
 // Distorted material manager
 //
 #include "InDetGeoModelUtils/DistortedMaterialManager.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 using InDetDD::PixelDetectorManager; 
 
@@ -64,7 +65,7 @@ OraclePixGeoManager::OraclePixGeoManager(const PixelGeoModelAthenaComps * athena
     m_diskRingIndexMap(0),
     m_zPositionMap(0),
     m_dbVersion(0),
-    m_defaultLengthUnit(GeoModelKernelUnits::mm)
+    m_defaultLengthUnit(Gaudi::Units::mm)
 {
   m_commonItems = 0;
   m_pDDmgr = 0;
@@ -171,8 +172,8 @@ OraclePixGeoManager::init()
 
   m_distortedMatManager = new InDetDD::DistortedMaterialManager;
  
-  // Set default lenth unit to GeoModelKernelUnits::mm for newer version and GeoModelKernelUnits::cm for older versions
-  m_defaultLengthUnit =  (dbVersion() < 3) ? GeoModelKernelUnits::cm : GeoModelKernelUnits::mm;
+  // Set default lenth unit to Gaudi::Units::mm for newer version and Gaudi::Units::cm for older versions
+  m_defaultLengthUnit =  (dbVersion() < 3) ? Gaudi::Units::cm : Gaudi::Units::mm;
 
   // Get the top level placements
   m_placements = new TopLevelPlacements(m_PixelTopLevel);
@@ -515,7 +516,7 @@ double OraclePixGeoManager::PixelBoardLength(bool isModule3D)
 double OraclePixGeoManager::PixelBoardThickness(bool isModule3D) 
 {
   if (m_dc1Geometry && isBarrel() && (m_currentLD == 0)) {
-    return 200*GeoModelKernelUnits::micrometer;
+    return 200*Gaudi::Units::micrometer;
   }
 
   if(ibl()&&isModule3D)
@@ -825,7 +826,7 @@ double OraclePixGeoManager::PixelServiceRMin2(const std::string & type, int inde
   if (!getPixelServiceRecordTestField("RIN2",type,index)) {
     return 0;
   } else {
-    return getPixelServiceRecordDouble("RIN2",type,index) * GeoModelKernelUnits::mm;
+    return getPixelServiceRecordDouble("RIN2",type,index) * Gaudi::Units::mm;
   }
 }
 
@@ -833,7 +834,7 @@ double OraclePixGeoManager::PixelServiceRMax2(const std::string & type, int inde
   if (!getPixelServiceRecordTestField("ROUT2",type,index)) {
     return 0;
   } else {
-    return getPixelServiceRecordDouble("ROUT2",type,index) * GeoModelKernelUnits::mm;
+    return getPixelServiceRecordDouble("ROUT2",type,index) * Gaudi::Units::mm;
   }
 }
 
@@ -860,7 +861,7 @@ double OraclePixGeoManager::PixelServicePhiLoc(const std::string & type, int ind
   if (!getPixelServiceRecordTestField("PHI",type,index)) {
     return 0;
   } else {
-    return getPixelServiceRecordDouble("PHI",type,index) * GeoModelKernelUnits::degree; 
+    return getPixelServiceRecordDouble("PHI",type,index) * Gaudi::Units::degree; 
   }
 }
 
@@ -868,7 +869,7 @@ double OraclePixGeoManager::PixelServiceWidth(const std::string & type, int inde
   if (!getPixelServiceRecordTestField("WIDTH",type,index)) {
     return 0;
   } else {
-    // Can be in degree or GeoModelKernelUnits::mm. Leave it to GeoPixelServices to interpret.    
+    // Can be in degree or Gaudi::Units::mm. Leave it to GeoPixelServices to interpret.    
     return getPixelServiceRecordDouble("WIDTH",type,index); 
   }
 }
@@ -1095,35 +1096,35 @@ double
 OraclePixGeoManager::PixelCableZStart(int index)
 {
   if (dbVersion() < 3) return m_legacyManager->PixelCableZStart(index);
-  return db()->getDouble(m_PixelBarrelCable,"ZSTART",index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelBarrelCable,"ZSTART",index) * Gaudi::Units::mm;
 }
 
 double 
 OraclePixGeoManager::PixelCableZEnd(int index)
 {
   if (dbVersion() < 3) return m_legacyManager->PixelCableZEnd(index);
-  return db()->getDouble(m_PixelBarrelCable,"ZEND",index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelBarrelCable,"ZEND",index) * Gaudi::Units::mm;
 }
 
 double 
 OraclePixGeoManager::PixelCableWidth(int index)
 {
   if (dbVersion() < 3) return m_legacyManager->PixelCableWidth(index);
-  return db()->getDouble(m_PixelBarrelCable,"WIDTH",index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelBarrelCable,"WIDTH",index) * Gaudi::Units::mm;
 }
 
 double 
 OraclePixGeoManager::PixelCableThickness(int index)
 {
   if (dbVersion() < 3) return m_legacyManager->PixelCableThickness(index);
-  return db()->getDouble(m_PixelBarrelCable,"THICK",index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelBarrelCable,"THICK",index) * Gaudi::Units::mm;
 }
 
 double 
 OraclePixGeoManager::PixelCableStackOffset(int index)
 {
   if (dbVersion() < 3) return m_legacyManager->PixelCableStackOffset(index);
-  return db()->getDouble(m_PixelBarrelCable,"STACKPOS",index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelBarrelCable,"STACKPOS",index) * Gaudi::Units::mm;
 }
 
 double 
@@ -1310,19 +1311,19 @@ unsigned int OraclePixGeoManager::PixelEnvelopeNumPlanes()
 
 double OraclePixGeoManager::PixelEnvelopeZ(int i) 
 {
-  double zmin =  db()->getDouble(m_PixelEnvelope,"Z",i) * GeoModelKernelUnits::mm;
+  double zmin =  db()->getDouble(m_PixelEnvelope,"Z",i) * Gaudi::Units::mm;
   if (zmin < 0) msg(MSG::ERROR) << "PixelEnvelope table should only contain +ve z values" << endmsg;
   return std::abs(zmin);
 }
 
 double OraclePixGeoManager::PixelEnvelopeRMin(int i) 
 {
-  return db()->getDouble(m_PixelEnvelope,"RMIN",i) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelEnvelope,"RMIN",i) * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelEnvelopeRMax(int i) 
 {
-  return db()->getDouble(m_PixelEnvelope,"RMAX",i) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelEnvelope,"RMAX",i) * Gaudi::Units::mm;
 }
 
 
@@ -1367,32 +1368,32 @@ int OraclePixGeoManager::PixelFrameSections()
 
 double OraclePixGeoManager::PixelFrameRMinSide(int sectionIndex)
 {
-  return db()->getDouble(m_PixelFrame, "RMINSIDE", sectionIndex) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelFrame, "RMINSIDE", sectionIndex) * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelFrameRMaxSide(int sectionIndex)
 {
-  return db()->getDouble(m_PixelFrame, "RMAXSIDE", sectionIndex) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelFrame, "RMAXSIDE", sectionIndex) * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelFrameSideWidth(int sectionIndex)
 {
-  return db()->getDouble(m_PixelFrame, "SIDEWIDTH", sectionIndex) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelFrame, "SIDEWIDTH", sectionIndex) * Gaudi::Units::mm;
 } 
  
 double OraclePixGeoManager::PixelFrameZMin(int sectionIndex)
 { 
-  return db()->getDouble(m_PixelFrame, "ZMIN", sectionIndex) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelFrame, "ZMIN", sectionIndex) * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelFrameZMax(int sectionIndex)
 { 
-  return db()->getDouble(m_PixelFrame, "ZMAX", sectionIndex) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelFrame, "ZMAX", sectionIndex) * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelFramePhiStart(int sectionIndex)
 {
-  return db()->getDouble(m_PixelFrame, "PHISTART", sectionIndex) * GeoModelKernelUnits::deg;
+  return db()->getDouble(m_PixelFrame, "PHISTART", sectionIndex) * Gaudi::Units::deg;
 }
  
 int OraclePixGeoManager::PixelFrameNumSides(int sectionIndex)
@@ -1477,28 +1478,28 @@ double OraclePixGeoManager::PixelFrameElementZMin1(int sectionIndex, int element
 {
   int index = getFrameElementIndex(sectionIndex, element);
   if (index < 0) return 0; // Error message already printed in getFrameElementIndex.
-  return db()->getDouble(m_PixelFrameSect, "ZMIN1", index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelFrameSect, "ZMIN1", index) * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelFrameElementZMin2(int sectionIndex, int element)
 {
   int index = getFrameElementIndex(sectionIndex, element);
   if (index < 0) return 0; // Error message already printed in getFrameElementIndex.
-  return db()->getDouble(m_PixelFrameSect, "ZMIN2", index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelFrameSect, "ZMIN2", index) * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelFrameElementZMax1(int sectionIndex, int element)
 {
   int index = getFrameElementIndex(sectionIndex, element);
   if (index < 0) return 0; // Error message already printed in getFrameElementIndex.
-  return db()->getDouble(m_PixelFrameSect, "ZMAX1", index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelFrameSect, "ZMAX1", index) * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelFrameElementZMax2(int sectionIndex, int element)
 {
   int index = getFrameElementIndex(sectionIndex, element);
   if (index < 0) return 0; // Error message already printed in getFrameElementIndex.
-  return db()->getDouble(m_PixelFrameSect, "ZMAX2", index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelFrameSect, "ZMAX2", index) * Gaudi::Units::mm;
 }
 
 int OraclePixGeoManager::PixelStaveIndex(int layer)
@@ -1582,14 +1583,14 @@ double OraclePixGeoManager::PixelLadderLength()
 {
   if (useLegacy()) return m_legacyManager->PixelLadderLength(); 
   int index = PixelStaveIndex(m_currentLD);
-  return db()->getDouble(m_PixelStave,"ENVLENGTH",index)*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelStave,"ENVLENGTH",index)*Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelLadderWidthClearance() 
 {
-  if (useLegacy()) return 0.9*GeoModelKernelUnits::mm; 
+  if (useLegacy()) return 0.9*Gaudi::Units::mm; 
   int index = PixelStaveIndex(m_currentLD);
-  return db()->getDouble(m_PixelStave,"CLEARANCEY",index)*GeoModelKernelUnits::mm;  
+  return db()->getDouble(m_PixelStave,"CLEARANCEY",index)*Gaudi::Units::mm;  
 }
 
 // Only used if ladder thickness is automatically calculated it, ie ENVTHICK = 0
@@ -1598,63 +1599,63 @@ double OraclePixGeoManager::PixelLadderThicknessClearance()
 {
   int index = PixelStaveIndex(m_currentLD);
   if (db()->testField(m_PixelStave,"CLEARANCEX",index)) {
-    return db()->getDouble(m_PixelStave,"CLEARANCEX",index)*GeoModelKernelUnits::mm;  
+    return db()->getDouble(m_PixelStave,"CLEARANCEX",index)*Gaudi::Units::mm;  
   }
-  return 0.1*GeoModelKernelUnits::mm;
+  return 0.1*Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelLadderThickness() 
 {
   if (useLegacy()) return m_legacyManager->PixelLadderThickness();  // 2*1.48972 mm
   int index = PixelStaveIndex(m_currentLD);
-  return db()->getDouble(m_PixelStave,"ENVTHICK",index)*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelStave,"ENVTHICK",index)*Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelLadderTilt() 
 {
-  return db()->getDouble(m_PixelLayer,"STAVETILT",m_currentLD)*GeoModelKernelUnits::deg;
+  return db()->getDouble(m_PixelLayer,"STAVETILT",m_currentLD)*Gaudi::Units::deg;
 }
 
 double OraclePixGeoManager::PixelLadderServicesX() 
 {
   if (useLegacy()) return m_legacyManager->PixelLadderServicesX(); // 1.48972 mm
   int index = PixelStaveIndex(m_currentLD);
-  return db()->getDouble(m_PixelStave,"SERVICEOFFSETX",index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelStave,"SERVICEOFFSETX",index) * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelLadderServicesY() 
 {
   if (useLegacy()) return m_legacyManager->PixelLadderServicesY();  // 3mm
   int index = PixelStaveIndex(m_currentLD);
-  return db()->getDouble(m_PixelStave,"SERVICEOFFSETY",index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelStave,"SERVICEOFFSETY",index) * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelLadderCableOffsetX() 
 {
   if (useLegacy()) return m_legacyManager->PixelLadderCableOffsetX(); // 0
   int index = PixelStaveIndex(m_currentLD);
-  return db()->getDouble(m_PixelStave,"CABLEOFFSETX",index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelStave,"CABLEOFFSETX",index) * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelLadderCableOffsetY() 
 {
   if (useLegacy()) return m_legacyManager->PixelLadderCableOffsetY();  // 4mm
   int index = PixelStaveIndex(m_currentLD);
-  return db()->getDouble(m_PixelStave,"CABLEOFFSETY",index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelStave,"CABLEOFFSETY",index) * Gaudi::Units::mm;
 }
 
 // SLHC/IBL only
 double OraclePixGeoManager::PixelLadderSupportThickness() 
 {
   int index = PixelStaveIndex(m_currentLD);
-  return db()->getDouble(m_PixelStave,"SUPPORTTHICK",index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelStave,"SUPPORTTHICK",index) * Gaudi::Units::mm;
 }
 
 // SLHC/IBL only
 double OraclePixGeoManager::PixelLadderSupportWidth() 
 {
   int index = PixelStaveIndex(m_currentLD);
-  return db()->getDouble(m_PixelStave,"SUPPORTWIDTH",index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelStave,"SUPPORTWIDTH",index) * Gaudi::Units::mm;
 }
 
 
@@ -1688,10 +1689,10 @@ double OraclePixGeoManager::PixelLadderSupportLength()
 {
   int index = PixelStaveIndex(m_currentLD);
   if (db()->testField(m_PixelStave,"SUPPORTHLENGTH",index)) {
-    double halflength = db()->getDouble(m_PixelStave,"SUPPORTHLENGTH",index) * GeoModelKernelUnits::mm;
+    double halflength = db()->getDouble(m_PixelStave,"SUPPORTHLENGTH",index) * Gaudi::Units::mm;
     if (halflength > 0)  return 2 * halflength;
   } 
-  double safety = 0.01*GeoModelKernelUnits::mm;
+  double safety = 0.01*Gaudi::Units::mm;
   return PixelLadderLength() - safety;
 }
 
@@ -1749,7 +1750,7 @@ double OraclePixGeoManager::IBLStaveFacePlateThickness()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLStave,"FACEPLATETHICK",index)) {
-    double thickness = db()->getDouble(m_PixelIBLStave,"FACEPLATETHICK",index) * GeoModelKernelUnits::mm;
+    double thickness = db()->getDouble(m_PixelIBLStave,"FACEPLATETHICK",index) * Gaudi::Units::mm;
     if (thickness > 0)  return thickness ;
   } 
   return 0.0;
@@ -1760,7 +1761,7 @@ double OraclePixGeoManager:: IBLStaveMechanicalStaveWidth()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLStave,"STAVEWIDTH",index)) {
-    double value = db()->getDouble(m_PixelIBLStave,"STAVEWIDTH",index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLStave,"STAVEWIDTH",index) * Gaudi::Units::mm;
     if (value > 0)  return value ;
   } 
   return 0.0;
@@ -1771,7 +1772,7 @@ double OraclePixGeoManager:: IBLStaveMechanicalStaveEndBlockLength()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLStave,"ENDBLOCKLENGTH",index)) {
-    double value = db()->getDouble(m_PixelIBLStave,"ENDBLOCKLENGTH",index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLStave,"ENDBLOCKLENGTH",index) * Gaudi::Units::mm;
     if (value > 0)  return value ;
   } 
   return 0.0;
@@ -1782,7 +1783,7 @@ double OraclePixGeoManager:: IBLStaveMechanicalStaveEndBlockFixPoint()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLStave,"ENDBLOCKFIXINGPOS",index)) {
-    double value = db()->getDouble(m_PixelIBLStave,"ENDBLOCKFIXINGPOS",index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLStave,"ENDBLOCKFIXINGPOS",index) * Gaudi::Units::mm;
     return value ;
   } 
   return 0.0;
@@ -1794,7 +1795,7 @@ double OraclePixGeoManager:: IBLStaveMechanicalStaveEndBlockOmegaOverlap()
   try{
     int index=0;
     if (db()->testField(m_PixelIBLStave,"ENDBLOCKOMEGAOVERLAP",index)) {
-      double value = db()->getDouble(m_PixelIBLStave,"ENDBLOCKOMEGAOVERLAP",index) * GeoModelKernelUnits::mm;
+      double value = db()->getDouble(m_PixelIBLStave,"ENDBLOCKOMEGAOVERLAP",index) * Gaudi::Units::mm;
       return value ;
     } 
     return 0.0;
@@ -1810,7 +1811,7 @@ double OraclePixGeoManager::IBLStaveLength()
     {
       int index=0;
       if (db()->testField(m_PixelIBLStave,"STAVELENGTH",index)) {
-	double value = db()->getDouble(m_PixelIBLStave,"STAVELENGTH",index) * GeoModelKernelUnits::mm;
+	double value = db()->getDouble(m_PixelIBLStave,"STAVELENGTH",index) * Gaudi::Units::mm;
 	return value ;
       } 
     }
@@ -1820,7 +1821,7 @@ double OraclePixGeoManager::IBLStaveLength()
       //           IBL stave length not eqal to other stave length 
     }  
   
-  return 748.0 * GeoModelKernelUnits::mm;  
+  return 748.0 * Gaudi::Units::mm;  
 }
 
 double OraclePixGeoManager:: IBLStaveMechanicalStaveOffset(bool isModule3D)
@@ -1828,11 +1829,11 @@ double OraclePixGeoManager:: IBLStaveMechanicalStaveOffset(bool isModule3D)
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (!isModule3D&&db()->testField(m_PixelIBLStave,"MODULELATERALOFFSET",index)) {
-    double value = db()->getDouble(m_PixelIBLStave,"MODULELATERALOFFSET",index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLStave,"MODULELATERALOFFSET",index) * Gaudi::Units::mm;
     return value ;
   } 
   if (isModule3D&&db()->testField(m_PixelIBLStave,"MODULELATERALOFFSET3D",index)) {
-    double value = db()->getDouble(m_PixelIBLStave,"MODULELATERALOFFSET3D",index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLStave,"MODULELATERALOFFSET3D",index) * Gaudi::Units::mm;
     return value ;
   } 
   return 0.0;
@@ -1843,7 +1844,7 @@ double OraclePixGeoManager:: IBLStaveMechanicalStaveModuleOffset()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLStave,"STAVETOMODULEGAP",index)) {
-    double value = db()->getDouble(m_PixelIBLStave,"STAVETOMODULEGAP",index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLStave,"STAVETOMODULEGAP",index) * Gaudi::Units::mm;
     return value ;
   } 
   return 0.0;
@@ -1854,7 +1855,7 @@ double OraclePixGeoManager:: IBLStaveTubeOuterDiameter()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLStave,"TUBEOUTERDIAM",index)) {
-    double value = db()->getDouble(m_PixelIBLStave,"TUBEOUTERDIAM",index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLStave,"TUBEOUTERDIAM",index) * Gaudi::Units::mm;
     if (value > 0)  return value ;
   } 
   return 0.0;
@@ -1865,7 +1866,7 @@ double OraclePixGeoManager:: IBLStaveTubeInnerDiameter()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLStave,"TUBEINNERDIAM",index)) {
-    double value = db()->getDouble(m_PixelIBLStave,"TUBEINNERDIAM",index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLStave,"TUBEINNERDIAM",index) * Gaudi::Units::mm;
     if (value > 0)  return value ;
   } 
   return 0.0;
@@ -1876,7 +1877,7 @@ double OraclePixGeoManager:: IBLStaveTubeMiddlePos()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLStave,"TUBEMIDDLEPOS",index)) {
-    double value = db()->getDouble(m_PixelIBLStave,"TUBEMIDDLEPOS",index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLStave,"TUBEMIDDLEPOS",index) * Gaudi::Units::mm;
     return value ;
   } 
   return 0.0;
@@ -1887,7 +1888,7 @@ double OraclePixGeoManager:: IBLStaveFlexLayerThickness()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLStave,"FLEXLAYERTHICK",index)) {
-    double value = db()->getDouble(m_PixelIBLStave,"FLEXLAYERTHICK",index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLStave,"FLEXLAYERTHICK",index) * Gaudi::Units::mm;
     if (value > 0)  return value ;
   } 
   return 0.0;
@@ -1898,7 +1899,7 @@ double OraclePixGeoManager:: IBLStaveFlexBaseThickness()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLStave,"FLEXBASETHICK",index)) {
-    double value = db()->getDouble(m_PixelIBLStave,"FLEXBASETHICK",index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLStave,"FLEXBASETHICK",index) * Gaudi::Units::mm;
     if (value > 0)  return value ;
   } 
   return 0.0;
@@ -1909,7 +1910,7 @@ double OraclePixGeoManager:: IBLStaveFlexWidth()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLStave,"FLEXWIDTH",index)) {
-    double value = db()->getDouble(m_PixelIBLStave,"FLEXWIDTH",index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLStave,"FLEXWIDTH",index) * Gaudi::Units::mm;
     if (value > 0)  return value ;
   } 
   return 0.0;
@@ -1920,7 +1921,7 @@ double OraclePixGeoManager:: IBLStaveFlexOffset()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLStave,"FLEXOFFSET",index)) {
-    double value = db()->getDouble(m_PixelIBLStave,"FLEXOFFSET",index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLStave,"FLEXOFFSET",index) * Gaudi::Units::mm;
     return value ;
   } 
   return 0.0;
@@ -1932,7 +1933,7 @@ double OraclePixGeoManager::IBLStaveOmegaThickness()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLStave,"OMEGATHICK",index)) {
-    double value = db()->getDouble(m_PixelIBLStave,"OMEGATHICK",index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLStave,"OMEGATHICK",index) * Gaudi::Units::mm;
     return value ;
   } 
   return 0.0;
@@ -1943,7 +1944,7 @@ double OraclePixGeoManager::IBLStaveOmegaEndCenterX()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLStave,"OMEGAENDCENTERX",index)) {
-    double value = db()->getDouble(m_PixelIBLStave,"OMEGAENDCENTERX",index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLStave,"OMEGAENDCENTERX",index) * Gaudi::Units::mm;
     return value ;
   } 
   return 0.0;
@@ -1953,7 +1954,7 @@ double OraclePixGeoManager::IBLStaveOmegaEndCenterY()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLStave,"OMEGAENDCENTERY",index)) {
-    double value = db()->getDouble(m_PixelIBLStave,"OMEGAENDCENTERY",index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLStave,"OMEGAENDCENTERY",index) * Gaudi::Units::mm;
     return value ;
   } 
   return 0.0;
@@ -1963,7 +1964,7 @@ double OraclePixGeoManager::IBLStaveOmegaEndRadius()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLStave,"OMEGAENDRADIUS",index)) {
-    double value = db()->getDouble(m_PixelIBLStave,"OMEGAENDRADIUS",index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLStave,"OMEGAENDRADIUS",index) * Gaudi::Units::mm;
     return value ;
   } 
   return 0.0;
@@ -1973,7 +1974,7 @@ double OraclePixGeoManager::IBLStaveOmegaEndAngle()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLStave,"OMEGAENDANGLE",index)) {
-    double value = db()->getDouble(m_PixelIBLStave,"OMEGAENDANGLE",index) * GeoModelKernelUnits::deg;
+    double value = db()->getDouble(m_PixelIBLStave,"OMEGAENDANGLE",index) * Gaudi::Units::deg;
     return value ;
   } 
   return 0.0;
@@ -1984,7 +1985,7 @@ double OraclePixGeoManager::IBLStaveOmegaMidCenterX()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLStave,"OMEGAMIDCENTERX",index)) {
-    double value = db()->getDouble(m_PixelIBLStave,"OMEGAMIDCENTERX",index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLStave,"OMEGAMIDCENTERX",index) * Gaudi::Units::mm;
     return value ;
   } 
   return 0.0;
@@ -1995,7 +1996,7 @@ double OraclePixGeoManager::IBLStaveOmegaMidRadius()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLStave,"OMEGAMIDRADIUS",index)) {
-    double value = db()->getDouble(m_PixelIBLStave,"OMEGAMIDRADIUS",index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLStave,"OMEGAMIDRADIUS",index) * Gaudi::Units::mm;
     return value ;
   } 
   return 0.0;
@@ -2005,7 +2006,7 @@ double OraclePixGeoManager::IBLStaveOmegaMidAngle()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLStave,"OMEGAOPENINGANGLE",index)) {
-    double value = db()->getDouble(m_PixelIBLStave,"OMEGAOPENINGANGLE",index) * GeoModelKernelUnits::deg;
+    double value = db()->getDouble(m_PixelIBLStave,"OMEGAOPENINGANGLE",index) * Gaudi::Units::deg;
     return value ;
   } 
   return 0.0;
@@ -2033,7 +2034,7 @@ double OraclePixGeoManager::IBLStaveModuleGap()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLStave,"MODULEGAP",index)) {
-    double value = db()->getDouble(m_PixelIBLStave,"MODULEGAP",index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLStave,"MODULEGAP",index) * Gaudi::Units::mm;
     if (value > 0)  return value ;
   } 
   return 0.0;
@@ -2044,7 +2045,7 @@ int OraclePixGeoManager::IBLStaveModuleType()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLStave,"MODULETYPE",index)) {
-    int value = db()->getInt(m_PixelIBLStave,"MODULETYPE",index) * GeoModelKernelUnits::mm;
+    int value = db()->getInt(m_PixelIBLStave,"MODULETYPE",index) * Gaudi::Units::mm;
     if (value > 0)  return value ;
   } 
   return 0;
@@ -2056,7 +2057,7 @@ double OraclePixGeoManager::IBLStaveFacePlateGreaseThickness()
   try{
     int index=0;
     if (db()->testField(m_PixelIBLGlueGrease,"FACEPLATEGREASETHICK",index)) {
-      double value = db()->getDouble(m_PixelIBLGlueGrease,"FACEPLATEGREASETHICK",index) * GeoModelKernelUnits::mm;
+      double value = db()->getDouble(m_PixelIBLGlueGrease,"FACEPLATEGREASETHICK",index) * Gaudi::Units::mm;
       return value ;
     }
     return 0.;
@@ -2071,7 +2072,7 @@ double OraclePixGeoManager::IBLStaveFacePlateGlueThickness()
   try{
     int index=0;
     if (db()->testField(m_PixelIBLGlueGrease,"FACEPLATEGLUETHICK",index)) {
-      double value = db()->getDouble(m_PixelIBLGlueGrease,"FACEPLATEGLUETHICK",index) * GeoModelKernelUnits::mm;
+      double value = db()->getDouble(m_PixelIBLGlueGrease,"FACEPLATEGLUETHICK",index) * Gaudi::Units::mm;
       return value ;
     }
     return 0.;
@@ -2086,7 +2087,7 @@ double OraclePixGeoManager::IBLStaveTubeGlueThickness()
   try{
     int index=0;
     if (db()->testField(m_PixelIBLGlueGrease,"TUBEGLUETHICK",index)) {
-      double value = db()->getDouble(m_PixelIBLGlueGrease,"TUBEGLUETHICK",index) * GeoModelKernelUnits::mm;
+      double value = db()->getDouble(m_PixelIBLGlueGrease,"TUBEGLUETHICK",index) * Gaudi::Units::mm;
       return value ;
     }
     return 0.;
@@ -2101,7 +2102,7 @@ double OraclePixGeoManager::IBLStaveOmegaGlueThickness()
   try{
     int index=0;
     if (db()->testField(m_PixelIBLGlueGrease,"OMEGAGLUETHICK",index)) {
-      double value = db()->getDouble(m_PixelIBLGlueGrease,"OMEGAGLUETHICK",index) * GeoModelKernelUnits::mm;
+      double value = db()->getDouble(m_PixelIBLGlueGrease,"OMEGAGLUETHICK",index) * Gaudi::Units::mm;
       return value ;
     }
     return 0.;
@@ -2116,7 +2117,7 @@ double OraclePixGeoManager:: IBLSupportRingWidth()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLSupport,"STAVERINGWIDTH",index)) {
-    double value = db()->getDouble(m_PixelIBLSupport,"STAVERINGWIDTH",index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLSupport,"STAVERINGWIDTH",index) * Gaudi::Units::mm;
     if (value > 0)  return value ;
   } 
   return 0.0;
@@ -2127,7 +2128,7 @@ double OraclePixGeoManager:: IBLSupportRingInnerRadius()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLSupport,"STAVERINGINNERRADIUS",index)) {
-    double value = db()->getDouble(m_PixelIBLSupport,"STAVERINGINNERRADIUS",index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLSupport,"STAVERINGINNERRADIUS",index) * Gaudi::Units::mm;
     if (value > 0)  return value ;
   } 
   return 0.0;
@@ -2138,7 +2139,7 @@ double OraclePixGeoManager:: IBLSupportRingOuterRadius()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLSupport,"STAVERINGOUTERRADIUS",index)) {
-    double value = db()->getDouble(m_PixelIBLSupport,"STAVERINGOUTERRADIUS",index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLSupport,"STAVERINGOUTERRADIUS",index) * Gaudi::Units::mm;
     if (value > 0)  return value ;
   } 
   return 0.0;
@@ -2150,7 +2151,7 @@ double OraclePixGeoManager:: IBLSupportMechanicalStaveRingFixPoint()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLSupport,"STAVERINGFIXINGPOS",index)) {
-    double value = db()->getDouble(m_PixelIBLSupport,"STAVERINGFIXINGPOS",index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLSupport,"STAVERINGFIXINGPOS",index) * Gaudi::Units::mm;
     if (value > 0)  return value ;
   } 
   return 0.0;
@@ -2161,7 +2162,7 @@ double OraclePixGeoManager:: IBLSupportMidRingWidth()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLSupport,"STAVEMIDRINGWIDTH",index)) {
-    double value = db()->getDouble(m_PixelIBLSupport,"STAVEMIDRINGWIDTH",index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLSupport,"STAVEMIDRINGWIDTH",index) * Gaudi::Units::mm;
     if (value > 0)  return value ;
   } 
   return 0.0;
@@ -2172,7 +2173,7 @@ double OraclePixGeoManager:: IBLSupportMidRingInnerRadius()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLSupport,"STAVEMIDRINGINNERRADIUS",index)) {
-    double value = db()->getDouble(m_PixelIBLSupport,"STAVEMIDRINGINNERRADIUS",index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLSupport,"STAVEMIDRINGINNERRADIUS",index) * Gaudi::Units::mm;
     if (value > 0)  return value;
   } 
   return 0.0;
@@ -2183,7 +2184,7 @@ double OraclePixGeoManager:: IBLSupportMidRingOuterRadius()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLSupport,"STAVEMIDRINGOUTERRADIUS",index)) {
-    double value = db()->getDouble(m_PixelIBLSupport,"STAVEMIDRINGOUTERRADIUS",index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLSupport,"STAVEMIDRINGOUTERRADIUS",index) * Gaudi::Units::mm;
     if (value > 0)  return value ;
   } 
   return 0.0;
@@ -2194,7 +2195,7 @@ double OraclePixGeoManager::IBLFlexMiddleGap()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLFlex,"FLEXMIDGAP",index)) {
-    double value = db()->getDouble(m_PixelIBLFlex,"FLEXMIDGAP",index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLFlex,"FLEXMIDGAP",index) * Gaudi::Units::mm;
     return value ;
   } 
   return 0.0;
@@ -2214,7 +2215,7 @@ double OraclePixGeoManager::IBLFlexDoglegLength()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLFlex,"FLEXDOGLEGLENGTH",index)) {
-    double value = db()->getDouble(m_PixelIBLFlex,"FLEXDOGLEGLENGTH",index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLFlex,"FLEXDOGLEGLENGTH",index) * Gaudi::Units::mm;
     return value ;
   } 
   return 0.0;
@@ -2226,7 +2227,7 @@ double OraclePixGeoManager::IBLStaveFlexWingWidth()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLFlex,"FLEXWINGWIDTH",index)) {
-    double value = db()->getDouble(m_PixelIBLFlex,"FLEXWINGWIDTH",index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLFlex,"FLEXWINGWIDTH",index) * Gaudi::Units::mm;
     return value ;
   } 
   return 0.0;
@@ -2237,7 +2238,7 @@ double OraclePixGeoManager::IBLStaveFlexWingThick()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLFlex,"FLEXWINGTHICK",index)) {
-    double value = db()->getDouble(m_PixelIBLFlex,"FLEXWINGTHICK",index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLFlex,"FLEXWINGTHICK",index) * Gaudi::Units::mm;
     return value ;
   } 
   return 0.0;
@@ -2248,7 +2249,7 @@ double OraclePixGeoManager::IBLFlexDoglegRatio()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLFlex,"FLEXDOGLEGRATIO",index)) {
-    double value = db()->getDouble(m_PixelIBLFlex,"FLEXDOGLEGRATIO",index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLFlex,"FLEXDOGLEGRATIO",index) * Gaudi::Units::mm;
     return value ;
   } 
   return 0.0;
@@ -2262,7 +2263,7 @@ double OraclePixGeoManager::IBLFlexDoglegHeight(int iHeight)
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLFlex,lname.str(),index)) {
-    double value = db()->getDouble(m_PixelIBLFlex,lname.str(),index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLFlex,lname.str(),index) * Gaudi::Units::mm;
     return value ;
   } 
   return 0.0;
@@ -2273,7 +2274,7 @@ double OraclePixGeoManager::IBLFlexDoglegDY()
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLFlex,"FLEXDOGLEGDY",index)) {
-    double value = db()->getDouble(m_PixelIBLFlex,"FLEXDOGLEGDY",index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLFlex,"FLEXDOGLEGDY",index) * Gaudi::Units::mm;
     return value ;
   } 
   return 0.0;
@@ -2287,7 +2288,7 @@ double OraclePixGeoManager::IBLFlexPP0Z(int iPos)
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLFlex,lname.str(),index)) {
-    double value = db()->getDouble(m_PixelIBLFlex,lname.str(),index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLFlex,lname.str(),index) * Gaudi::Units::mm;
     return value ;
   } 
   return 0.0;
@@ -2302,7 +2303,7 @@ double OraclePixGeoManager::IBLFlexPP0Rmin(int iPos)
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLFlex,lname.str(),index)) {
-    double value = db()->getDouble(m_PixelIBLFlex,lname.str(),index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLFlex,lname.str(),index) * Gaudi::Units::mm;
     return value ;
   } 
   return 0.0;
@@ -2316,7 +2317,7 @@ double OraclePixGeoManager::IBLFlexPP0Rmax(int iPos)
   //  int index = PixelStaveIndex(m_currentLD);
   int index=0;
   if (db()->testField(m_PixelIBLFlex,lname.str(),index)) {
-    double value = db()->getDouble(m_PixelIBLFlex,lname.str(),index) * GeoModelKernelUnits::mm;
+    double value = db()->getDouble(m_PixelIBLFlex,lname.str(),index) * Gaudi::Units::mm;
     return value ;
   } 
   return 0.0;
@@ -2367,10 +2368,10 @@ double OraclePixGeoManager:: IBLServiceGetMinRadialPosition(const std::string& s
       double zmin, zmax, r;
       int symm;
       if(srvType=="simple"){
-	zmin=db()->getDouble(m_PixelSimpleService,"ZMIN",ii)*GeoModelKernelUnits::mm;
-	zmax=db()->getDouble(m_PixelSimpleService,"ZMAX",ii)*GeoModelKernelUnits::mm;
+	zmin=db()->getDouble(m_PixelSimpleService,"ZMIN",ii)*Gaudi::Units::mm;
+	zmax=db()->getDouble(m_PixelSimpleService,"ZMAX",ii)*Gaudi::Units::mm;
 	symm=db()->getInt(m_PixelSimpleService,"ZSYMM",ii);
-	r=db()->getDouble(m_PixelSimpleService,"RMAX",ii)*GeoModelKernelUnits::mm;
+	r=db()->getDouble(m_PixelSimpleService,"RMAX",ii)*Gaudi::Units::mm;
       }
       else {
 	zmin=PixelServiceZMin(srvType, ii);
@@ -2417,10 +2418,10 @@ double OraclePixGeoManager:: IBLServiceGetMaxRadialPosition(const std::string& s
       double zmin, zmax, r;
       int symm;
       if(srvType=="simple"){
-	zmin=db()->getDouble(m_PixelSimpleService,"ZMIN",ii)*GeoModelKernelUnits::mm;
-	zmax=db()->getDouble(m_PixelSimpleService,"ZMAX",ii)*GeoModelKernelUnits::mm;
+	zmin=db()->getDouble(m_PixelSimpleService,"ZMIN",ii)*Gaudi::Units::mm;
+	zmax=db()->getDouble(m_PixelSimpleService,"ZMAX",ii)*Gaudi::Units::mm;
 	symm=db()->getInt(m_PixelSimpleService,"ZSYMM",ii);
-	r=db()->getDouble(m_PixelSimpleService,"RMAX",ii)*GeoModelKernelUnits::mm;
+	r=db()->getDouble(m_PixelSimpleService,"RMAX",ii)*Gaudi::Units::mm;
       }
       else {
 	zmin=PixelServiceZMin(srvType, ii);
@@ -2460,10 +2461,10 @@ double OraclePixGeoManager::PhiOfModuleZero()
 {
   // For backward compatibilty first module is at 1/2 a module division
   if (!db()->testField(m_PixelLayer,"PHIOFMODULEZERO",m_currentLD)){
-    if(NPixelSectors()>0) return 180.0*GeoModelKernelUnits::degree/NPixelSectors();
+    if(NPixelSectors()>0) return 180.0*Gaudi::Units::degree/NPixelSectors();
     return 0.;
   } else { 
-    return db()->getDouble(m_PixelLayer,"PHIOFMODULEZERO",m_currentLD) * GeoModelKernelUnits::degree;
+    return db()->getDouble(m_PixelLayer,"PHIOFMODULEZERO",m_currentLD) * Gaudi::Units::degree;
   }
 }
 
@@ -2481,7 +2482,7 @@ int OraclePixGeoManager::PixelNModule()
 double OraclePixGeoManager::PixelModuleAngle() 
 {
   int staveIndex = PixelStaveIndex(m_currentLD);
-  return db()->getDouble(m_PixelStave,"MODULETILT",staveIndex)*GeoModelKernelUnits::deg;
+  return db()->getDouble(m_PixelStave,"MODULETILT",staveIndex)*Gaudi::Units::deg;
 }
 
 double OraclePixGeoManager::PixelModuleDrDistance() 
@@ -2524,7 +2525,7 @@ double OraclePixGeoManager::PixelModuleZPositionTabulated(int etaModule, int typ
     msg(MSG::ERROR) << "Z position not found for etaModule,type =  " << etaModule << ", " << type << endmsg;
     return 0;
   }
-  return db()->getDouble(m_PixelStaveZ,"ZPOS",index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelStaveZ,"ZPOS",index) * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelModuleShiftFlag(int etaModule) 
@@ -2537,7 +2538,7 @@ double OraclePixGeoManager::PixelModuleStaggerDistance()
 {
   int staveIndex = PixelStaveIndex(m_currentLD);
   if (!(slhc() || ibl()) || !db()->testField(m_PixelStave,"STAGGERDIST",staveIndex)) return 0; 
-  return db()->getDouble(m_PixelStave,"STAGGERDIST",staveIndex) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelStave,"STAGGERDIST",staveIndex) * Gaudi::Units::mm;
 }
 
 int OraclePixGeoManager::PixelModuleStaggerSign(int etaModule)
@@ -2690,49 +2691,49 @@ int OraclePixGeoManager::PixelTMTNumParts()
 double OraclePixGeoManager::PixelTMTWidthX1(int iPart)
 {
   if (useLegacy()) return m_legacyManager->PixelTMTWidthX1(iPart);
-  return db()->getDouble(m_PixelTMT,"WIDTHX1",iPart) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelTMT,"WIDTHX1",iPart) * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelTMTWidthX2(int iPart)
 {
   if (useLegacy()) return m_legacyManager->PixelTMTWidthX2(iPart);
-  return db()->getDouble(m_PixelTMT,"WIDTHX2",iPart) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelTMT,"WIDTHX2",iPart) * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelTMTWidthY(int iPart)
 {
   if (useLegacy()) return m_legacyManager->PixelTMTWidthY(iPart);
-  return db()->getDouble(m_PixelTMT,"WIDTHY",iPart) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelTMT,"WIDTHY",iPart) * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelTMTBaseX1(int iPart)
 {
   if (useLegacy()) return m_legacyManager->PixelTMTBaseX1(iPart);
-  return db()->getDouble(m_PixelTMT,"BASEX1",iPart) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelTMT,"BASEX1",iPart) * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelTMTBaseX2(int iPart)
 {
   if (useLegacy()) return m_legacyManager->PixelTMTBaseX2(iPart);
-  return db()->getDouble(m_PixelTMT,"BASEX2",iPart) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelTMT,"BASEX2",iPart) * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelTMTPosY(int iPart)
 {
   if (useLegacy()) return m_legacyManager->PixelTMTPosY(iPart);
-  return db()->getDouble(m_PixelTMT,"Y",iPart) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelTMT,"Y",iPart) * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelTMTPosZ1(int iPart)
 {
   if (useLegacy()) return m_legacyManager->PixelTMTPosZ1(iPart);
-  return db()->getDouble(m_PixelTMT,"Z1",iPart) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelTMT,"Z1",iPart) * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelTMTPosZ2(int iPart)
 {
   if (useLegacy()) return m_legacyManager->PixelTMTPosZ2(iPart);
-  return db()->getDouble(m_PixelTMT,"Z2",iPart) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelTMT,"Z2",iPart) * Gaudi::Units::mm;
 }
 
 bool OraclePixGeoManager::PixelTMTPerModule(int iPart)
@@ -2747,61 +2748,61 @@ bool OraclePixGeoManager::PixelTMTPerModule(int iPart)
 double OraclePixGeoManager::PixelOmegaUpperBendX()
 {
   if (useLegacy()) return m_legacyManager->PixelOmegaUpperBendX();
-  return db()->getDouble(m_PixelOmega,"UPPERBENDX") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelOmega,"UPPERBENDX") * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelOmegaUpperBendY()
 {
   if (useLegacy()) return m_legacyManager->PixelOmegaUpperBendY();
-  return db()->getDouble(m_PixelOmega,"UPPERBENDY") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelOmega,"UPPERBENDY") * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelOmegaUpperBendRadius()
 {
   if (useLegacy()) return m_legacyManager->PixelOmegaUpperBendRadius();
-  return db()->getDouble(m_PixelOmega,"UPPERBENDR") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelOmega,"UPPERBENDR") * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelOmegaLowerBendX()
 {
   if (useLegacy()) return m_legacyManager->PixelOmegaLowerBendX();
-  return db()->getDouble(m_PixelOmega,"LOWERBENDX") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelOmega,"LOWERBENDX") * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelOmegaLowerBendY()
 {
   if (useLegacy()) return m_legacyManager->PixelOmegaLowerBendY();
-  return db()->getDouble(m_PixelOmega,"LOWERBENDY") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelOmega,"LOWERBENDY") * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelOmegaLowerBendRadius()
 {
   if (useLegacy()) return m_legacyManager->PixelOmegaLowerBendRadius();
-  return db()->getDouble(m_PixelOmega,"LOWERBENDR") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelOmega,"LOWERBENDR") * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelOmegaWallThickness()
 {
   if (useLegacy()) return m_legacyManager->PixelOmegaWallThickness();
-  return db()->getDouble(m_PixelOmega,"THICK") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelOmega,"THICK") * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelOmegaLength()
 {
   if (useLegacy()) return m_legacyManager->PixelOmegaLength();
-  return db()->getDouble(m_PixelOmega,"LENGTH") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelOmega,"LENGTH") * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelOmegaStartY()
 {
   if (useLegacy()) return m_legacyManager->PixelOmegaStartY();
-  return db()->getDouble(m_PixelOmega,"STARTY") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelOmega,"STARTY") * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelOmegaEndY()
 {
   if (useLegacy()) return m_legacyManager->PixelOmegaEndY();
-  return db()->getDouble(m_PixelOmega,"ENDY") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelOmega,"ENDY") * Gaudi::Units::mm;
 }
 
 //
@@ -2811,49 +2812,49 @@ double OraclePixGeoManager::PixelOmegaEndY()
 double OraclePixGeoManager::PixelAlTubeUpperBendX()
 {
   if (useLegacy()) return m_legacyManager->PixelAlTubeUpperBendX();
-  return db()->getDouble(m_PixelAlTube,"UPPERBENDX") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelAlTube,"UPPERBENDX") * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelAlTubeUpperBendY()
 {
   if (useLegacy()) return m_legacyManager->PixelAlTubeUpperBendY();
-  return db()->getDouble(m_PixelAlTube,"UPPERBENDY") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelAlTube,"UPPERBENDY") * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelAlTubeUpperBendRadius()
 {
   if (useLegacy()) return m_legacyManager->PixelAlTubeUpperBendRadius();
-  return db()->getDouble(m_PixelAlTube,"UPPERBENDR") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelAlTube,"UPPERBENDR") * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelAlTubeLowerBendX()
 {
   if (useLegacy()) return m_legacyManager->PixelAlTubeLowerBendX();
-  return db()->getDouble(m_PixelAlTube,"LOWERBENDX") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelAlTube,"LOWERBENDX") * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelAlTubeLowerBendY()
 {
   if (useLegacy()) return m_legacyManager->PixelAlTubeLowerBendY();
-  return db()->getDouble(m_PixelAlTube,"LOWERBENDY") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelAlTube,"LOWERBENDY") * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelAlTubeLowerBendRadius()
 {
   if (useLegacy()) return m_legacyManager->PixelAlTubeLowerBendRadius();
-  return db()->getDouble(m_PixelAlTube,"LOWERBENDR") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelAlTube,"LOWERBENDR") * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelAlTubeWallThickness()
 {
   if (useLegacy()) return m_legacyManager->PixelAlTubeWallThickness();
-  return db()->getDouble(m_PixelAlTube,"THICK") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelAlTube,"THICK") * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelAlTubeLength()
 {
   if (useLegacy()) return m_legacyManager->PixelAlTubeLength();
-  return db()->getDouble(m_PixelAlTube,"LENGTH") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelAlTube,"LENGTH") * Gaudi::Units::mm;
 }
 
 //
@@ -2869,37 +2870,37 @@ int OraclePixGeoManager::PixelNumOmegaGlueElements()
 double OraclePixGeoManager::PixelOmegaGlueStartX(int index)
 {
   if (useLegacy()) return m_legacyManager->PixelOmegaGlueStartX(index);
-  return db()->getDouble(m_PixelOmegaGlue,"STARTX",index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelOmegaGlue,"STARTX",index) * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelOmegaGlueThickness(int index)
 {
   if (useLegacy()) return m_legacyManager->PixelOmegaGlueThickness(index);
-  return db()->getDouble(m_PixelOmegaGlue,"THICK",index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelOmegaGlue,"THICK",index) * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelOmegaGlueStartY(int index)
 {
   if (useLegacy()) return m_legacyManager->PixelOmegaGlueStartY(index);
-  return db()->getDouble(m_PixelOmegaGlue,"STARTY",index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelOmegaGlue,"STARTY",index) * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelOmegaGlueEndY(int index)
 {
   if (useLegacy()) return m_legacyManager->PixelOmegaGlueEndY(index);
-  return db()->getDouble(m_PixelOmegaGlue,"ENDY",index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelOmegaGlue,"ENDY",index) * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelOmegaGlueLength(int index)
 {
   if (useLegacy()) return m_legacyManager->PixelOmegaGlueLength(index);
-  return db()->getDouble(m_PixelOmegaGlue,"LENGTH",index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelOmegaGlue,"LENGTH",index) * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelOmegaGluePosZ(int index)
 {
   if (useLegacy()) return m_legacyManager->PixelOmegaGluePosZ(index);
-  return db()->getDouble(m_PixelOmegaGlue,"Z",index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelOmegaGlue,"Z",index) * Gaudi::Units::mm;
 }
 
 int OraclePixGeoManager::PixelOmegaGlueTypeNum(int index)
@@ -2915,45 +2916,45 @@ int OraclePixGeoManager::PixelOmegaGlueTypeNum(int index)
 double OraclePixGeoManager::PixelFluidZ1(int index)
 {
   if (useLegacy()) return m_legacyManager->PixelFluidZ1(index);
-  return db()->getDouble(m_PixelFluid,"Z1",index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelFluid,"Z1",index) * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelFluidZ2(int index)
 {
   if (useLegacy()) return m_legacyManager->PixelFluidZ2(index);
-  return db()->getDouble(m_PixelFluid,"Z2",index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelFluid,"Z2",index) * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelFluidThick1(int index)
 {
   if (useLegacy()) return m_legacyManager->PixelFluidThick1(index);
-  return db()->getDouble(m_PixelFluid,"THICK1",index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelFluid,"THICK1",index) * Gaudi::Units::mm;
 }
 
 
 double OraclePixGeoManager::PixelFluidThick2(int index)
 {
   if (useLegacy()) return m_legacyManager->PixelFluidThick2(index);
-  return db()->getDouble(m_PixelFluid,"THICK2",index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelFluid,"THICK2",index) * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelFluidWidth(int index)
 {
   if (useLegacy()) return m_legacyManager->PixelFluidWidth(index);
-  return db()->getDouble(m_PixelFluid,"WIDTH",index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelFluid,"WIDTH",index) * Gaudi::Units::mm;
 }
 
 
 double OraclePixGeoManager::PixelFluidX(int index)
 {
   if (useLegacy()) return m_legacyManager->PixelFluidX(index);
-  return db()->getDouble(m_PixelFluid,"X",index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelFluid,"X",index) * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelFluidY(int index)
 {
   if (useLegacy()) return m_legacyManager->PixelFluidY(index);
-  return db()->getDouble(m_PixelFluid,"Y",index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelFluid,"Y",index) * Gaudi::Units::mm;
 }
 
 int OraclePixGeoManager::PixelFluidType(int index)
@@ -2999,25 +3000,25 @@ int OraclePixGeoManager::PixelFluidOrient(int layer, int phi)
 double OraclePixGeoManager::PixelPigtailThickness()
 {
   if (useLegacy()) return m_legacyManager->PixelPigtailThickness();
-  return db()->getDouble(m_PixelPigtail,"THICK") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelPigtail,"THICK") * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelPigtailStartY()
 {
   if (useLegacy()) return m_legacyManager->PixelPigtailStartY();
-  return db()->getDouble(m_PixelPigtail,"STARTY") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelPigtail,"STARTY") * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelPigtailEndY()
 {
   if (useLegacy()) return m_legacyManager->PixelPigtailEndY();
-  return db()->getDouble(m_PixelPigtail,"ENDY") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelPigtail,"ENDY") * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelPigtailWidthZ()
 {
   if (useLegacy()) return m_legacyManager->PixelPigtailWidthZ();
-  return db()->getDouble(m_PixelPigtail,"WIDTHZ") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelPigtail,"WIDTHZ") * Gaudi::Units::mm;
 }
 
 // Different width from the curved section in old geometry
@@ -3030,31 +3031,31 @@ double OraclePixGeoManager::PixelPigtailFlatWidthZ()
 double OraclePixGeoManager::PixelPigtailPosX()
 {
   if (useLegacy()) return m_legacyManager->PixelPigtailPosX();
-  return db()->getDouble(m_PixelPigtail,"X") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelPigtail,"X") * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelPigtailPosZ()
 {
   if (useLegacy()) return m_legacyManager->PixelPigtailPosZ();
-  return db()->getDouble(m_PixelPigtail,"Z") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelPigtail,"Z") * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelPigtailBendX()
 {
   if (useLegacy()) return m_legacyManager->PixelPigtailBendX();
-  return db()->getDouble(m_PixelPigtail,"BENDX") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelPigtail,"BENDX") * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelPigtailBendY()
 {
   if (useLegacy()) return m_legacyManager->PixelPigtailBendY();
-  return db()->getDouble(m_PixelPigtail,"BENDY") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelPigtail,"BENDY") * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelPigtailBendRMin()
 {
   if (useLegacy()) return m_legacyManager->PixelPigtailBendRMin();
-  return db()->getDouble(m_PixelPigtail,"BENDRMIN") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelPigtail,"BENDRMIN") * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelPigtailBendRMax()
@@ -3066,19 +3067,19 @@ double OraclePixGeoManager::PixelPigtailBendRMax()
 double OraclePixGeoManager::PixelPigtailBendPhiMin()
 {
   if (useLegacy()) return m_legacyManager->PixelPigtailBendPhiMin();
-  return db()->getDouble(m_PixelPigtail,"BENDPHIMIN") * GeoModelKernelUnits::deg;
+  return db()->getDouble(m_PixelPigtail,"BENDPHIMIN") * Gaudi::Units::deg;
 }
 
 double OraclePixGeoManager::PixelPigtailBendPhiMax()
 {
   if (useLegacy()) return m_legacyManager->PixelPigtailBendPhiMax();
-  return db()->getDouble(m_PixelPigtail,"BENDPHIMAX") * GeoModelKernelUnits::deg;
+  return db()->getDouble(m_PixelPigtail,"BENDPHIMAX") * Gaudi::Units::deg;
 }
 
 double OraclePixGeoManager::PixelPigtailEnvelopeLength()
 {
   if (useLegacy()) return m_legacyManager->PixelPigtailEnvelopeLength();
-  return db()->getDouble(m_PixelPigtail,"ENVLENGTH") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelPigtail,"ENVLENGTH") * Gaudi::Units::mm;
 }
 
 //
@@ -3093,37 +3094,37 @@ int OraclePixGeoManager::PixelNumConnectorElements()
 double OraclePixGeoManager::PixelConnectorWidthX(int index)
 {
   if (useLegacy()) return m_legacyManager->PixelConnectorWidthX(index);
-  return db()->getDouble(m_PixelConnector,"WIDTHX",index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelConnector,"WIDTHX",index) * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelConnectorWidthY(int index)
 {
   if (useLegacy()) return m_legacyManager->PixelConnectorWidthY(index);
-  return db()->getDouble(m_PixelConnector,"WIDTHY",index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelConnector,"WIDTHY",index) * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelConnectorWidthZ(int index)
 {
   if (useLegacy()) return m_legacyManager->PixelConnectorWidthZ(index);
-  return db()->getDouble(m_PixelConnector,"WIDTHZ",index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelConnector,"WIDTHZ",index) * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelConnectorPosX(int index)
 {
   if (useLegacy()) return m_legacyManager->PixelConnectorPosX(index);
-  return db()->getDouble(m_PixelConnector,"X",index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelConnector,"X",index) * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelConnectorPosY(int index)
 {
   if (useLegacy()) return m_legacyManager->PixelConnectorPosY(index);
-  return db()->getDouble(m_PixelConnector,"Y",index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelConnector,"Y",index) * Gaudi::Units::mm;
 }
 
 double OraclePixGeoManager::PixelConnectorPosZ(int index)
 {
   if (useLegacy()) return m_legacyManager->PixelConnectorPosZ(index);
-  return db()->getDouble(m_PixelConnector,"Z",index) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelConnector,"Z",index) * Gaudi::Units::mm;
 }
 
 //
@@ -3387,7 +3388,7 @@ double OraclePixGeoManager::DesignPitchRP(bool isModule3D)
     return m_legacyManager->DesignPitchRP(isInnermostPixelLayer());
   } else {
     int type = designType((ibl()&&isModule3D));
-    return db()->getDouble(m_PixelReadout,"PITCHPHI",type) * GeoModelKernelUnits::mm;
+    return db()->getDouble(m_PixelReadout,"PITCHPHI",type) * Gaudi::Units::mm;
  } 
 }
 
@@ -3397,7 +3398,7 @@ double OraclePixGeoManager::DesignPitchZ(bool isModule3D)
     return m_legacyManager->DesignPitchZ(isInnermostPixelLayer());
   } else {
     int type = designType((ibl()&&isModule3D));
-    return db()->getDouble(m_PixelReadout,"PITCHETA",type) * GeoModelKernelUnits::mm;
+    return db()->getDouble(m_PixelReadout,"PITCHETA",type) * Gaudi::Units::mm;
   }
 }
 
@@ -3408,7 +3409,7 @@ double OraclePixGeoManager::DesignPitchZLong(bool isModule3D)
     return m_legacyManager->DesignPitchZLong(isInnermostPixelLayer());
   } else {
     int type = designType((ibl()&&isModule3D));
-    double pitch = db()->getDouble(m_PixelReadout,"PITCHETALONG",type) * GeoModelKernelUnits::mm;
+    double pitch = db()->getDouble(m_PixelReadout,"PITCHETALONG",type) * Gaudi::Units::mm;
     if (pitch == 0) pitch = DesignPitchZ(isModule3D);
     return pitch;
   }
@@ -3423,7 +3424,7 @@ double OraclePixGeoManager::DesignPitchZLongEnd(bool isModule3D)
     int type = designType((ibl()&&isModule3D));
     double pitch = 0;
     if (db()->testField(m_PixelReadout,"PITCHETAEND",type)) {
-      pitch = db()->getDouble(m_PixelReadout,"PITCHETAEND",type) * GeoModelKernelUnits::mm;
+      pitch = db()->getDouble(m_PixelReadout,"PITCHETAEND",type) * Gaudi::Units::mm;
     }
     if (pitch == 0) pitch = DesignPitchZLong(isModule3D);
     return pitch;
@@ -3518,18 +3519,18 @@ double  OraclePixGeoManager::PixelDiskRMin(bool includeSupports)
   if (!slhc()) {
     return db()->getDouble(m_PixelDisk,"RIDISK",m_currentLD)*mmcm();
   } else {
-    double result = db()->getDouble(m_PixelDisk,"RMIN",m_currentLD) * GeoModelKernelUnits::mm;
+    double result = db()->getDouble(m_PixelDisk,"RMIN",m_currentLD) * Gaudi::Units::mm;
     if(includeSupports) {
       result = std::min( result, PixelDiskSupportRMin(0) );
     }
     int etaInner = 0; // Inner ring
     int ringType = getDiskRingType(m_currentLD,etaInner); 
     if (ringType >= 0 && db()->testField(m_PixelRing,"RMIN",ringType) && db()->getDouble(m_PixelRing,"RMIN",ringType)) {
-      double ringRmin = db()->getDouble(m_PixelRing,"RMIN",ringType) * GeoModelKernelUnits::mm - 0.01*GeoModelKernelUnits::mm;  // ring envelope has a 0.01mm safety
+      double ringRmin = db()->getDouble(m_PixelRing,"RMIN",ringType) * Gaudi::Units::mm - 0.01*Gaudi::Units::mm;  // ring envelope has a 0.01mm safety
       if (ringRmin < result) {
 	msg(MSG::WARNING) << "Ring rmin is less than disk rmin for disk : " << m_currentLD 
 			  << ". Ring rmin: " << ringRmin << ", Disk rmin: " << result <<endmsg;
-	result = ringRmin - 0.1*GeoModelKernelUnits::mm; // NB. ring envelope has a 0.01mm saftey added, but we add a little more.
+	result = ringRmin - 0.1*Gaudi::Units::mm; // NB. ring envelope has a 0.01mm saftey added, but we add a little more.
       }
     }
     return result;
@@ -3539,7 +3540,7 @@ double  OraclePixGeoManager::PixelDiskRMin(bool includeSupports)
 // SLHC only
 double OraclePixGeoManager::PixelDiskRMax(bool includeSupports)
 {
-  double result = db()->getDouble(m_PixelDisk,"RMAX",m_currentLD) * GeoModelKernelUnits::mm;
+  double result = db()->getDouble(m_PixelDisk,"RMAX",m_currentLD) * Gaudi::Units::mm;
   if(includeSupports) {
     result = std::max( result, PixelDiskSupportRMax(2) );
   }
@@ -3551,11 +3552,11 @@ double OraclePixGeoManager::PixelDiskRMax(bool includeSupports)
     // This is not so nice as PixelRingRMax can potentially call PixelDiskRMax, however it
     // only calls PixelDiskRMax if the above condition is not satisified. So hopefully OK.
     // TODO: Code could do with some improvement to make it less fragile.
-    double ringRmax  = PixelRingRMax(0.01*GeoModelKernelUnits::mm); // ring envelope has a 0.01mm safety
+    double ringRmax  = PixelRingRMax(0.01*Gaudi::Units::mm); // ring envelope has a 0.01mm safety
     if (ringRmax > result) {
       msg(MSG::WARNING) << "Ring rmax is greater than disk rmax for disk : " << m_currentLD 
 			<< ". Ring rmax: " << ringRmax << ", Disk rmax: " << result <<endmsg;
-      result = ringRmax + 0.1*GeoModelKernelUnits::mm; // NB. ring envelope has a 0.01mm saftey added, but we add a little more.
+      result = ringRmax + 0.1*Gaudi::Units::mm; // NB. ring envelope has a 0.01mm saftey added, but we add a little more.
     }
   }
   // restore state
@@ -3591,7 +3592,7 @@ double OraclePixGeoManager::PixelRingRcenter() {
   // If ring rmin is present and non-zero use that.
   int ringType = getDiskRingType(m_currentLD,m_eta); 
   if (ringType >=0 && db()->testField(m_PixelRing,"RMIN",ringType) && db()->getDouble(m_PixelRing,"RMIN",ringType)) {
-    return db()->getDouble(m_PixelRing,"RMIN",ringType)  * GeoModelKernelUnits::mm + PixelModuleLength()/2;
+    return db()->getDouble(m_PixelRing,"RMIN",ringType)  * Gaudi::Units::mm + PixelModuleLength()/2;
   } else { 
     // Otherwise calculate from disk rmin/rmax
     int nrings = PixelDiskNRings();
@@ -3614,7 +3615,7 @@ double OraclePixGeoManager::PixelRingRMin(double safety) {
   // If ring rmin is present and non-zero use that.
   int ringType = getDiskRingType(m_currentLD,m_eta); 
   if (ringType >= 0 && db()->testField(m_PixelRing,"RMIN",ringType) && db()->getDouble(m_PixelRing,"RMIN",ringType)) {
-    return db()->getDouble(m_PixelRing,"RMIN",ringType)  * GeoModelKernelUnits::mm - std::abs(safety); 
+    return db()->getDouble(m_PixelRing,"RMIN",ringType)  * Gaudi::Units::mm - std::abs(safety); 
   } else {
     // Otherwise calculated it from disk rmin
     if(m_eta==0) return PixelDiskRMin() - std::abs(safety);
@@ -3660,7 +3661,7 @@ double OraclePixGeoManager::PixelRingZpos() {
 double OraclePixGeoManager::PixelRingZoffset() 
 {
   int index = getDiskRingIndex(m_currentLD,m_eta);
-  return std::abs(db()->getDouble(m_PixelDiskRing,"ZOFFSET",index))*GeoModelKernelUnits::mm;
+  return std::abs(db()->getDouble(m_PixelDiskRing,"ZOFFSET",index))*Gaudi::Units::mm;
 }
 
 // SLHC only
@@ -3674,13 +3675,13 @@ int OraclePixGeoManager::PixelRingSide()
 double OraclePixGeoManager::PixelRingStagger() 
 {
   int ringType = getDiskRingType(m_currentLD,m_eta);
-  return db()->getDouble(m_PixelRing,"STAGGER",ringType)*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelRing,"STAGGER",ringType)*Gaudi::Units::mm;
 }
 
 
 // SLHC only
 //int OraclePixGeoManager::PixelRingNmodules() {
-//  return db()->getInt("PixelRing","NMODULES",ringIndex)*GeoModelKernelUnits::mm();
+//  return db()->getInt("PixelRing","NMODULES",ringIndex)*Gaudi::Units::mm();
 //}
 
 
@@ -3770,7 +3771,7 @@ double OraclePixGeoManager::PixelModuleThicknessN() {
   // is the max of ThicknessP and thickness from the module center to
   // the outer surface of the hybrid plus some safety.
   //
-  double safety = 0.01*GeoModelKernelUnits::mm;
+  double safety = 0.01*Gaudi::Units::mm;
   double thickn = 0.5 * PixelBoardThickness()
     + PixelHybridThickness() + safety;
   double thick = std::max(thickn, PixelModuleThicknessP());
@@ -3785,7 +3786,7 @@ double OraclePixGeoManager::PixelModuleThicknessP() {
   // is thickness from the module center to the outer surface of the
   // chips plus some safety.
 
-  double safety = 0.01*GeoModelKernelUnits::mm;
+  double safety = 0.01*Gaudi::Units::mm;
   double thick = 0.5 * PixelBoardThickness() +
     PixelChipThickness() + PixelChipGap() + safety;
 
@@ -3829,39 +3830,39 @@ double OraclePixGeoManager::PixelModuleLength() {
 
 // return angle of the telescope
 double OraclePixGeoManager::DBMAngle() {
-  return db()->getDouble(m_DBMTelescope,"ANGLE")*GeoModelKernelUnits::deg;
+  return db()->getDouble(m_DBMTelescope,"ANGLE")*Gaudi::Units::deg;
 }
 
 // return dimension of the DBM telescope
 double OraclePixGeoManager::DBMTelescopeX() {
-   return db()->getDouble(m_DBMTelescope,"WIDTH")*GeoModelKernelUnits::mm;
+   return db()->getDouble(m_DBMTelescope,"WIDTH")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMTelescopeY() {
-   return db()->getDouble(m_DBMTelescope,"HEIGHT")*GeoModelKernelUnits::mm;
+   return db()->getDouble(m_DBMTelescope,"HEIGHT")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMTelescopeZ() {
-   return db()->getDouble(m_DBMTelescope,"LENGTH")*GeoModelKernelUnits::mm;
+   return db()->getDouble(m_DBMTelescope,"LENGTH")*Gaudi::Units::mm;
 }
 
 // return height and length of the module cage having a 3-layers structure
 double OraclePixGeoManager::DBMModuleCageY() {
-  return db()->getDouble(m_DBMTelescope,"CAGE_HEIGHT")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMTelescope,"CAGE_HEIGHT")*Gaudi::Units::mm;
 } 
 double OraclePixGeoManager::DBMModuleCageZ() {
-  return db()->getDouble(m_DBMTelescope,"CAGE_LENGTH")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMTelescope,"CAGE_LENGTH")*Gaudi::Units::mm;
 } 
 
 // return layer spacing
 double OraclePixGeoManager::DBMSpacingZ() {
-  return db()->getDouble(m_DBMCage,"ZSPACING")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMCage,"ZSPACING")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMSpacingRadial() {
   if (m_currentLD == 0)
-    return db()->getDouble(m_DBMCage,"RADIAL_SPACE_0")*GeoModelKernelUnits::mm;
+    return db()->getDouble(m_DBMCage,"RADIAL_SPACE_0")*Gaudi::Units::mm;
   else if (m_currentLD == 1)
-    return db()->getDouble(m_DBMCage,"RADIAL_SPACE_1")*GeoModelKernelUnits::mm;
+    return db()->getDouble(m_DBMCage,"RADIAL_SPACE_1")*Gaudi::Units::mm;
   else if (m_currentLD == 2)
-    return db()->getDouble(m_DBMCage,"RADIAL_SPACE_2")*GeoModelKernelUnits::mm;
+    return db()->getDouble(m_DBMCage,"RADIAL_SPACE_2")*Gaudi::Units::mm;
   else {
      msg(MSG::WARNING) << "DBMSpacingRadial() is not found" << endmsg;
      return 0.;
@@ -3869,174 +3870,174 @@ double OraclePixGeoManager::DBMSpacingRadial() {
 }
 // return dimension of bracket unit
 double OraclePixGeoManager::DBMBracketX() {
-  return db()->getDouble(m_DBMBracket,"WIDTH")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMBracket,"WIDTH")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMBracketY() {
-  return db()->getDouble(m_DBMBracket,"HEIGHT")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMBracket,"HEIGHT")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMBracketZ() {
-  return db()->getDouble(m_DBMBracket,"THICKNESS")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMBracket,"THICKNESS")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMTrapezBackTheta() {
-  return db()->getDouble(m_DBMBracket,"TRAPEZBACK_THETA")*GeoModelKernelUnits::deg;
+  return db()->getDouble(m_DBMBracket,"TRAPEZBACK_THETA")*Gaudi::Units::deg;
 }
 double OraclePixGeoManager::DBMTrapezBackX() {
-  return db()->getDouble(m_DBMBracket,"TRAPEZBACK_WIDTH")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMBracket,"TRAPEZBACK_WIDTH")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMTrapezBackY() {
-  return db()->getDouble(m_DBMBracket,"TRAPEZBACK_HEIGHT")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMBracket,"TRAPEZBACK_HEIGHT")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMTrapezBackShortZ() {
-  return db()->getDouble(m_DBMBracket,"TRAPEZBACK_ZSHORT")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMBracket,"TRAPEZBACK_ZSHORT")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMBrcktWindowX() {
-  return db()->getDouble(m_DBMBracket,"WINDOW_WIDTH")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMBracket,"WINDOW_WIDTH")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMBrcktWindowY() {
-  return db()->getDouble(m_DBMBracket,"WINDOW_HEIGHT")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMBracket,"WINDOW_HEIGHT")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMBrcktWindowOffset() {
-  return db()->getDouble(m_DBMBracket,"WINDOW_OFFSET")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMBracket,"WINDOW_OFFSET")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMBrcktWindowCenterZ() {
-  return db()->getDouble(m_DBMBracket,"WINDOW_CENTERZ")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMBracket,"WINDOW_CENTERZ")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMBrcktTopBlockZ() {
-  return db()->getDouble(m_DBMBracket,"TOPBLOCK_THICK")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMBracket,"TOPBLOCK_THICK")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMBrcktSideBlockX() {
-  return db()->getDouble(m_DBMBracket,"SIDEBLOCK_WIDTH")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMBracket,"SIDEBLOCK_WIDTH")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMBrcktSideBlockY() {
-  return db()->getDouble(m_DBMBracket,"SIDEBLOCK_HEIGHT")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMBracket,"SIDEBLOCK_HEIGHT")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMBrcktLockZ() {
-  return db()->getDouble(m_DBMBracket,"LOCK_THICK")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMBracket,"LOCK_THICK")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMBrcktLockY() {
-  return db()->getDouble(m_DBMBracket,"LOCK_HEIGHT")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMBracket,"LOCK_HEIGHT")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMBrcktFinLongZ() {
-  return db()->getDouble(m_DBMBracket,"COOLINGFIN_ZLONG")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMBracket,"COOLINGFIN_ZLONG")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMBrcktFinHeight() {
-  return db()->getDouble(m_DBMBracket,"COOLINGFIN_HEIGHT")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMBracket,"COOLINGFIN_HEIGHT")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMBrcktFinThick() {
-  return db()->getDouble(m_DBMBracket,"COOLINGFIN_THICK")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMBracket,"COOLINGFIN_THICK")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMBrcktFinPos() {
-  return db()->getDouble(m_DBMBracket,"COOLINGFIN_POS")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMBracket,"COOLINGFIN_POS")*Gaudi::Units::mm;
 }
 
 // return spacing between V-slide and first layer
 double OraclePixGeoManager::DBMSpace() {
-  return db()->getDouble(m_DBMCage,"SPACING1")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMCage,"SPACING1")*Gaudi::Units::mm;
 }
 
 // return dimensions of the main plate
 double OraclePixGeoManager::DBMMainPlateX() {
-  return db()->getDouble(m_DBMCage,"MAINPLATE_WIDTH")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMCage,"MAINPLATE_WIDTH")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMMainPlateY() {
-  return db()->getDouble(m_DBMCage,"MAINPLATE_HEIGHT")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMCage,"MAINPLATE_HEIGHT")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMMainPlateZ() {
-  return db()->getDouble(m_DBMCage,"MAINPLATE_THICK")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMCage,"MAINPLATE_THICK")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMMPlateWindowWidth() {
-  return db()->getDouble(m_DBMCage,"MPWINDOW_WIDTH")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMCage,"MPWINDOW_WIDTH")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMMPlateWindowHeight() {
-  return db()->getDouble(m_DBMCage,"MPWINDOW_HEIGHT")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMCage,"MPWINDOW_HEIGHT")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMMPlateWindowPos() {
-  return db()->getDouble(m_DBMCage,"MPWINDOW_POS")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMCage,"MPWINDOW_POS")*Gaudi::Units::mm;
 }
 // return dimensions of aluminium side plates
 double OraclePixGeoManager::DBMCoolingSidePlateX() {
-  return db()->getDouble(m_DBMCage,"SIDEPLATE_THICK")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMCage,"SIDEPLATE_THICK")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMCoolingSidePlateY() {
-  return db()->getDouble(m_DBMCage,"SIDEPLATE_HEIGHT")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMCage,"SIDEPLATE_HEIGHT")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMCoolingSidePlateZ() {
-  return db()->getDouble(m_DBMCage,"SIDEPLATE_LENGTH")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMCage,"SIDEPLATE_LENGTH")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMCoolingSidePlatePos() {
-  return db()->getDouble(m_DBMCage,"SIDEPLATE_POS")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMCage,"SIDEPLATE_POS")*Gaudi::Units::mm;
 }
 
 // return dimension of sensor, chip and ceramic
 double OraclePixGeoManager::DBMDiamondX() {
-  return db()->getDouble(m_DBMModule,"DIAMOND_WIDTH")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMModule,"DIAMOND_WIDTH")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMDiamondY() {
-  return db()->getDouble(m_DBMModule,"DIAMOND_HEIGHT")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMModule,"DIAMOND_HEIGHT")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMDiamondZ() {
-  return db()->getDouble(m_DBMModule,"DIAMOND_THICK")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMModule,"DIAMOND_THICK")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMFEI4X() {
-  return db()->getDouble(m_DBMModule,"FEI4_WIDTH")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMModule,"FEI4_WIDTH")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMFEI4Y() {
-  return db()->getDouble(m_DBMModule,"FEI4_HEIGHT")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMModule,"FEI4_HEIGHT")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMFEI4Z() {
-  return db()->getDouble(m_DBMModule,"FEI4_THICK")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMModule,"FEI4_THICK")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMCeramicX() {
-  return db()->getDouble(m_DBMModule,"CERAMIC_WIDTH")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMModule,"CERAMIC_WIDTH")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMCeramicY() {
-  return db()->getDouble(m_DBMModule,"CERAMIC_HEIGHT")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMModule,"CERAMIC_HEIGHT")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMCeramicZ() {
-  return db()->getDouble(m_DBMModule,"CERAMIC_THICK")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMModule,"CERAMIC_THICK")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMAirGap() {
-  return db()->getDouble(m_DBMModule,"AIR_GAP")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMModule,"AIR_GAP")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMKaptonZ() {
-  return db()->getDouble(m_DBMModule,"KAPTONZ")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMModule,"KAPTONZ")*Gaudi::Units::mm;
 }
 
 // flex support
 double OraclePixGeoManager::DBMFlexSupportX() {
-  return db()->getDouble(m_DBMCage,"FLEXSUPP_WIDTH")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMCage,"FLEXSUPP_WIDTH")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMFlexSupportY() {
-    return db()->getDouble(m_DBMCage,"FLEXSUPP_HEIGHT")*GeoModelKernelUnits::mm;
+    return db()->getDouble(m_DBMCage,"FLEXSUPP_HEIGHT")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMFlexSupportZ() {
-  return db()->getDouble(m_DBMCage,"FLEXSUPP_THICK")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMCage,"FLEXSUPP_THICK")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMFlexSupportOffset() {
-    return db()->getDouble(m_DBMCage, "FLEXSUPP_OFFSET")*GeoModelKernelUnits::mm;
+    return db()->getDouble(m_DBMCage, "FLEXSUPP_OFFSET")*Gaudi::Units::mm;
 }
 
 // return radius of supporting rod
 double OraclePixGeoManager::DBMRodRadius() {
-  return db()->getDouble(m_DBMCage,"ROD_RADIUS")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMCage,"ROD_RADIUS")*Gaudi::Units::mm;
 }
 // return distance between center of rods
 double OraclePixGeoManager::DBMMPlateRod2RodY() {
-  return db()->getDouble(m_DBMCage,"ROD2ROD_VERT")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMCage,"ROD2ROD_VERT")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMMPlateRod2RodX() {
-  return db()->getDouble(m_DBMCage,"ROD2ROD_HOR")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMCage,"ROD2ROD_HOR")*Gaudi::Units::mm;
 }
 
 // radius and thickness of PP0 board
 double OraclePixGeoManager::DBMPP0RIn() {
-  return db()->getDouble(m_DBMTelescope,"PP0_RIN")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMTelescope,"PP0_RIN")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMPP0ROut() {
-  return db()->getDouble(m_DBMTelescope,"PP0_ROUT")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMTelescope,"PP0_ROUT")*Gaudi::Units::mm;
 }
 double OraclePixGeoManager::DBMPP0Thick() {
-  return db()->getDouble(m_DBMTelescope,"PP0_THICK")*GeoModelKernelUnits::mm;
+  return db()->getDouble(m_DBMTelescope,"PP0_THICK")*Gaudi::Units::mm;
 }
 
 
diff --git a/InnerDetector/InDetDetDescr/PixelGeoModel/src/OraclePixGeoManager.h b/InnerDetector/InDetDetDescr/PixelGeoModel/src/OraclePixGeoManager.h
index 04dbd659378b..776fbace992c 100644
--- a/InnerDetector/InDetDetDescr/PixelGeoModel/src/OraclePixGeoManager.h
+++ b/InnerDetector/InDetDetDescr/PixelGeoModel/src/OraclePixGeoManager.h
@@ -169,7 +169,7 @@ class OraclePixGeoManager : public PixelGeometryManager {
   // db version
   int m_dbVersion;
 
-  // default length unit set according to db version (GeoModelKernelUnits::mm or GeoModelKernelUnits::cm)
+  // default length unit set according to db version (Gaudi::Units::mm or Gaudi::Units::cm)
   double m_defaultLengthUnit;
 
  public:
@@ -836,7 +836,7 @@ class OraclePixGeoManager : public PixelGeometryManager {
   double CalculateThickness(double,std::string);
   int determineDbVersion();
   void addDefaultMaterials();
-  // return default length unit (GeoModelKernelUnits::mm or GeoModelKernelUnits::cm)
+  // return default length unit (Gaudi::Units::mm or Gaudi::Units::cm)
   double mmcm() {return m_defaultLengthUnit;}
 
 };
diff --git a/InnerDetector/InDetDetDescr/PixelGeoModel/src/PixelDetectorDC1DC2.cxx b/InnerDetector/InDetDetDescr/PixelGeoModel/src/PixelDetectorDC1DC2.cxx
index a945c0463b07..0bc7cd79ca3c 100644
--- a/InnerDetector/InDetDetDescr/PixelGeoModel/src/PixelDetectorDC1DC2.cxx
+++ b/InnerDetector/InDetDetDescr/PixelGeoModel/src/PixelDetectorDC1DC2.cxx
@@ -28,6 +28,7 @@
 #include "GeoModelKernel/GeoTransform.h"
 #include "GeoModelKernel/GeoTube.h"
 #include "GeoModelKernel/GeoTubs.h"
+#include "GaudiKernel/PhysicalConstants.h"
 #include "GeoModelInterfaces/IGeoModelSvc.h"
 #include "GeoModelInterfaces/StoredMaterialManager.h"
 #include "Identifier/Identifier.h"
@@ -152,19 +153,19 @@ double GeoPixelCable::Length() {
 
 double GeoPixelCable::Thickness() {
   //
-  // This is calculated from the GeoModelKernelUnits::rad length of the cables and their mass
+  // This is calculated from the Gaudi::Units::rad length of the cables and their mass
   // I have to go back on this later when I'll have defined a material
   // manager, for the time being I get the thickness by atlsim, using dtree
   // anf hardwire the numbers in the code...
   // I have to come back on the thickness using the cables recipes
   //
-  if(m_moduleNumber == 0) return 2.*0.0028412*GeoModelKernelUnits::cm;
-  if(m_moduleNumber == 1) return 2.*0.0056795*GeoModelKernelUnits::cm;
-  if(m_moduleNumber == 2) return 2.*0.0056830*GeoModelKernelUnits::cm;
-  if(m_moduleNumber == 3) return 2.*0.0056763*GeoModelKernelUnits::cm;
-  if(m_moduleNumber == 4) return 2.*0.0056752*GeoModelKernelUnits::cm;
-  if(m_moduleNumber == 5) return 2.*0.0057058*GeoModelKernelUnits::cm;
-  if(m_moduleNumber == 6) return 2.*0.0056818*GeoModelKernelUnits::cm;
+  if(m_moduleNumber == 0) return 2.*0.0028412*Gaudi::Units::cm;
+  if(m_moduleNumber == 1) return 2.*0.0056795*Gaudi::Units::cm;
+  if(m_moduleNumber == 2) return 2.*0.0056830*Gaudi::Units::cm;
+  if(m_moduleNumber == 3) return 2.*0.0056763*Gaudi::Units::cm;
+  if(m_moduleNumber == 4) return 2.*0.0056752*Gaudi::Units::cm;
+  if(m_moduleNumber == 5) return 2.*0.0057058*Gaudi::Units::cm;
+  if(m_moduleNumber == 6) return 2.*0.0056818*Gaudi::Units::cm;
 
   return 0.;
 
@@ -249,7 +250,7 @@ GeoVPhysVol* GeoPixelDisk::Build( ) {
   //
   GeoPixelSubDisk psd(theSensor);
   double zpos = -m_gmt_mgr->PixelECSiDz1()/2.;
-  double angle = 360.*GeoModelKernelUnits::deg/ (float) m_gmt_mgr->PixelECNSectors1();
+  double angle = 360.*Gaudi::Units::deg/ (float) m_gmt_mgr->PixelECNSectors1();
   GeoTrf::Translation3D pos(0.,0.,zpos);
 
   // Set numerology
@@ -261,7 +262,7 @@ GeoVPhysVol* GeoPixelDisk::Build( ) {
   m_gmt_mgr->SetEta(0);
   for (int ii = 0; ii <  m_gmt_mgr->PixelECNSectors1(); ii++) {
     m_gmt_mgr->SetPhi(ii);
-    GeoTrf::Transform3D rm = GeoTrf::RotateZ3D(ii*angle+angle/2.)*GeoTrf::RotateX3D(180.*GeoModelKernelUnits::deg);
+    GeoTrf::Transform3D rm = GeoTrf::RotateZ3D(ii*angle+angle/2.)*GeoTrf::RotateX3D(180.*Gaudi::Units::deg);
     GeoAlignableTransform* xform = new GeoAlignableTransform(GeoTrf::Transform3D(pos*rm));
     GeoVPhysVol * modulePhys = psd.Build();
     GeoNameTag* tag = new GeoNameTag("DiskSector");
@@ -328,7 +329,7 @@ double GeoPixelDisk::Thickness() {
   // 7-1 I switch to the minimum thickness possible as the cables are right
   // outside this volume.
   //
-  //  return 10*GeoModelKernelUnits::mm;
+  //  return 10*Gaudi::Units::mm;
   double tck = 2*(m_gmt_mgr->PixelBoardThickness()
                   +std::max(m_gmt_mgr->PixelHybridThickness(),m_gmt_mgr->PixelChipThickness()));
   tck += std::max(m_gmt_mgr->PixelECSiDz1(),m_gmt_mgr->PixelECSiDz2());
@@ -593,7 +594,7 @@ GeoVPhysVol* GeoPixelEnvelope::Build( ) {
   envelopePhys->add(xform);
   envelopePhys->add(pec.Build() );
   m_gmt_mgr->SetNeg();
-  GeoTrf::RotateX3D rm(180.*GeoModelKernelUnits::deg);
+  GeoTrf::RotateX3D rm(180.*Gaudi::Units::deg);
   xform = new GeoTransform(GeoTrf::Transform3D(GeoTrf::Translation3D(0.,0.,-zpos)*rm));
   tag  = new GeoNameTag("EndCap 2");
   envelopePhys->add(tag);
@@ -828,7 +829,7 @@ GeoVPhysVol* GeoPixelLayer::Build() {
   //
   // This is the maximum possible w/o going out of the mother volume!
   //
-  double LayerThickness = 8.499*GeoModelKernelUnits::mm;
+  double LayerThickness = 8.499*Gaudi::Units::mm;
   const GeoMaterial* air = m_mat_mgr->getMaterial("std::Air");
   //
   // Layer dimensions from the geometry manager
@@ -849,7 +850,7 @@ GeoVPhysVol* GeoPixelLayer::Build() {
   GeoPixelLadder pl(theSensor);
   GeoPixelTubeCables ptc;
   int nsectors = m_gmt_mgr->NPixelSectors();
-  double angle=360./nsectors*GeoModelKernelUnits::deg;
+  double angle=360./nsectors*Gaudi::Units::deg;
   double layerradius = m_gmt_mgr->PixelLayerRadius();
   double xcblpos =  layerradius + (pl.Thickness()/2.+ptc.Thickness()/2)/cos(m_gmt_mgr->PixelLadderTilt());
   GeoTrf::Vector3D posladder(layerradius, 0.,0.);
@@ -1343,7 +1344,7 @@ m_theSensor(theSensor)
   double rmax = RMax();
   double halflength = Thickness()/2.;
   const GeoMaterial* air = m_mat_mgr->getMaterial("std::Air");
-  const GeoTubs* SDTubs = new GeoTubs(rmin,rmax,halflength,-180.*GeoModelKernelUnits::deg/m_gmt_mgr->PixelECNSectors1()+0.000005,360.*GeoModelKernelUnits::deg/m_gmt_mgr->PixelECNSectors1()-0.00001);
+  const GeoTubs* SDTubs = new GeoTubs(rmin,rmax,halflength,-180.*Gaudi::Units::deg/m_gmt_mgr->PixelECNSectors1()+0.000005,360.*Gaudi::Units::deg/m_gmt_mgr->PixelECNSectors1()-0.00001);
   m_theSubDisk = new GeoLogVol("SubDiskLog",SDTubs,air);
   m_theSubDisk->ref();
 }
@@ -1359,7 +1360,7 @@ GeoVPhysVol* GeoPixelSubDisk::Build( ) {
   //
   double xpos = RMin()+m_gmt_mgr->PixelBoardLength()/2.;
   GeoNameTag* tag = new GeoNameTag("SiCrystal");
-  GeoTrf::Transform3D rm = GeoTrf::RotateX3D(180.*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(90.*GeoModelKernelUnits::deg);
+  GeoTrf::Transform3D rm = GeoTrf::RotateX3D(180.*Gaudi::Units::deg)*GeoTrf::RotateY3D(90.*Gaudi::Units::deg);
   GeoTrf::Translation3D pos(xpos,0.,0.);
   GeoAlignableTransform* xformsi = new GeoAlignableTransform(GeoTrf::Transform3D(pos*rm));
   SDPhys->add(tag);
@@ -1763,29 +1764,29 @@ double OraclePixGeoManager::CalculateThickness(double tck,string mat) {
 /////////////////////////////////////////////////////////
 double OraclePixGeoManager::PixelBoardWidth() 
 {
-  if(isBarrel()) return (*m_PixelModule)[m_currentLD]->getDouble("BOARDWIDTH")*GeoModelKernelUnits::cm;
-  if(isEndcap()) return (*m_PixelModule)[m_currentLD+3]->getDouble("BOARDWIDTH")*GeoModelKernelUnits::cm;
+  if(isBarrel()) return (*m_PixelModule)[m_currentLD]->getDouble("BOARDWIDTH")*Gaudi::Units::cm;
+  if(isEndcap()) return (*m_PixelModule)[m_currentLD+3]->getDouble("BOARDWIDTH")*Gaudi::Units::cm;
   return 0.;
 }
 double OraclePixGeoManager::PixelBoardLength() 
 {
-  if(isBarrel()) return (*m_PixelModule)[m_currentLD]->getDouble("BOARDLENGTH")*GeoModelKernelUnits::cm;
-  if(isEndcap()) return (*m_PixelModule)[m_currentLD+3]->getDouble("BOARDLENGTH")*GeoModelKernelUnits::cm;
+  if(isBarrel()) return (*m_PixelModule)[m_currentLD]->getDouble("BOARDLENGTH")*Gaudi::Units::cm;
+  if(isEndcap()) return (*m_PixelModule)[m_currentLD+3]->getDouble("BOARDLENGTH")*Gaudi::Units::cm;
   return 0.;
 }
 double OraclePixGeoManager::PixelBoardThickness() 
 {
   if (m_dc1Geometry && isBarrel() && (m_currentLD == 0)) {
-    return 200*GeoModelKernelUnits::micrometer;
+    return 200*Gaudi::Units::micrometer;
   }
-  if(isBarrel()) return (*m_PixelModule)[m_currentLD]->getDouble("BOARDTHICK")*GeoModelKernelUnits::cm;
-  if(isEndcap()) return (*m_PixelModule)[m_currentLD+3]->getDouble("BOARDTHICK")*GeoModelKernelUnits::cm;
+  if(isBarrel()) return (*m_PixelModule)[m_currentLD]->getDouble("BOARDTHICK")*Gaudi::Units::cm;
+  if(isEndcap()) return (*m_PixelModule)[m_currentLD+3]->getDouble("BOARDTHICK")*Gaudi::Units::cm;
   return 0.;
 }
 double  OraclePixGeoManager::PixelBoardActiveLen() 
 {
-  if(isEndcap()) return (*m_pxei)[m_currentLD]->getDouble("DRACTIVE")*GeoModelKernelUnits::cm;
-  if(isBarrel()) return (*m_pxbi)[m_currentLD]->getDouble("DZELEB")*GeoModelKernelUnits::cm;
+  if(isEndcap()) return (*m_pxei)[m_currentLD]->getDouble("DRACTIVE")*Gaudi::Units::cm;
+  if(isBarrel()) return (*m_pxbi)[m_currentLD]->getDouble("DZELEB")*Gaudi::Units::cm;
   return 0.;
 }
 /////////////////////////////////////////////////////////
@@ -1795,14 +1796,14 @@ double  OraclePixGeoManager::PixelBoardActiveLen()
 /////////////////////////////////////////////////////////
 double OraclePixGeoManager::PixelHybridWidth() 
 {
-  if(isBarrel()) return (*m_PixelModule)[m_currentLD]->getDouble("HYBRIDWIDTH")*GeoModelKernelUnits::cm;
-  if(isEndcap()) return (*m_PixelModule)[m_currentLD+3]->getDouble("HYBRIDWIDTH")*GeoModelKernelUnits::cm;
+  if(isBarrel()) return (*m_PixelModule)[m_currentLD]->getDouble("HYBRIDWIDTH")*Gaudi::Units::cm;
+  if(isEndcap()) return (*m_PixelModule)[m_currentLD+3]->getDouble("HYBRIDWIDTH")*Gaudi::Units::cm;
   return 0.;
 }
 double OraclePixGeoManager::PixelHybridLength() 
 {
-  if(isBarrel()) return (*m_PixelModule)[m_currentLD]->getDouble("HYBRIDLENGTH")*GeoModelKernelUnits::cm;
-  if(isEndcap()) return (*m_PixelModule)[m_currentLD+3]->getDouble("HYBRIDLENGTH")*GeoModelKernelUnits::cm;
+  if(isBarrel()) return (*m_PixelModule)[m_currentLD]->getDouble("HYBRIDLENGTH")*Gaudi::Units::cm;
+  if(isEndcap()) return (*m_PixelModule)[m_currentLD+3]->getDouble("HYBRIDLENGTH")*Gaudi::Units::cm;
   return 0.;
 }
 double OraclePixGeoManager::PixelHybridThickness() 
@@ -1820,7 +1821,7 @@ double OraclePixGeoManager::PixelHybridThickness()
   }
   // if it is negative is given in % of r.l.
   if(thick > 0.) { 
-    return thick*GeoModelKernelUnits::cm;
+    return thick*Gaudi::Units::cm;
   }
   return CalculateThickness(thick,mat);
 
@@ -1833,20 +1834,20 @@ double OraclePixGeoManager::PixelHybridThickness()
 
 double OraclePixGeoManager::PixelChipWidth()
 {
-  if(isBarrel()) return (*m_PixelModule)[m_currentLD]->getDouble("CHIPWIDTH")*GeoModelKernelUnits::cm;
-  if(isEndcap()) return (*m_PixelModule)[m_currentLD+3]->getDouble("CHIPWIDTH")*GeoModelKernelUnits::cm;
+  if(isBarrel()) return (*m_PixelModule)[m_currentLD]->getDouble("CHIPWIDTH")*Gaudi::Units::cm;
+  if(isEndcap()) return (*m_PixelModule)[m_currentLD+3]->getDouble("CHIPWIDTH")*Gaudi::Units::cm;
   return 0.;
 }
 double OraclePixGeoManager::PixelChipLength()
 {
-  if(isBarrel())return (*m_PixelModule)[m_currentLD]->getDouble("CHIPLENGTH")*GeoModelKernelUnits::cm;
-  if(isEndcap())return (*m_PixelModule)[m_currentLD+3]->getDouble("CHIPLENGTH")*GeoModelKernelUnits::cm;
+  if(isBarrel())return (*m_PixelModule)[m_currentLD]->getDouble("CHIPLENGTH")*Gaudi::Units::cm;
+  if(isEndcap())return (*m_PixelModule)[m_currentLD+3]->getDouble("CHIPLENGTH")*Gaudi::Units::cm;
   return 0.;
 }
 double OraclePixGeoManager::PixelChipGap()
 {
-  if(isBarrel()) return (*m_PixelModule)[m_currentLD]->getDouble("CHIPGAP")*GeoModelKernelUnits::cm;
-  if(isEndcap()) return (*m_PixelModule)[m_currentLD+3]->getDouble("CHIPGAP")*GeoModelKernelUnits::cm;
+  if(isBarrel()) return (*m_PixelModule)[m_currentLD]->getDouble("CHIPGAP")*Gaudi::Units::cm;
+  if(isEndcap()) return (*m_PixelModule)[m_currentLD+3]->getDouble("CHIPGAP")*Gaudi::Units::cm;
   return 0.;
 }
 double OraclePixGeoManager::PixelChipThickness() {
@@ -1862,7 +1863,7 @@ double OraclePixGeoManager::PixelChipThickness() {
   } 
   // if it is negative is given in % of r.l.
   if(thick > 0.) { 
-    return thick*GeoModelKernelUnits::cm;
+    return thick*Gaudi::Units::cm;
   } 
   return CalculateThickness(thick,mat);
 
@@ -1875,20 +1876,20 @@ double OraclePixGeoManager::PixelChipThickness() {
 /////////////////////////////////////////////////////////
 double OraclePixGeoManager::PixelECCarbonRMin(string a) {
   if(a == "Inner") {
-    return (*m_PixelDisk)[m_currentLD]->getDouble("SUP1RMIN")*GeoModelKernelUnits::cm;
+    return (*m_PixelDisk)[m_currentLD]->getDouble("SUP1RMIN")*Gaudi::Units::cm;
   } else if (a == "Central") {
-    return (*m_PixelDisk)[m_currentLD]->getDouble("SUP2RMIN")*GeoModelKernelUnits::cm;
+    return (*m_PixelDisk)[m_currentLD]->getDouble("SUP2RMIN")*Gaudi::Units::cm;
   }
-  return (*m_PixelDisk)[m_currentLD]->getDouble("SUP3RMIN")*GeoModelKernelUnits::cm;
+  return (*m_PixelDisk)[m_currentLD]->getDouble("SUP3RMIN")*Gaudi::Units::cm;
 }
 
 double OraclePixGeoManager::PixelECCarbonRMax(string a) {
   if(a == "Inner") {
-    return (*m_PixelDisk)[m_currentLD]->getDouble("SUP1RMAX")*GeoModelKernelUnits::cm;
+    return (*m_PixelDisk)[m_currentLD]->getDouble("SUP1RMAX")*Gaudi::Units::cm;
   } else if (a == "Central") {
-    return (*m_PixelDisk)[m_currentLD]->getDouble("SUP2RMAX")*GeoModelKernelUnits::cm;
+    return (*m_PixelDisk)[m_currentLD]->getDouble("SUP2RMAX")*Gaudi::Units::cm;
   } else {
-    return (*m_PixelDisk)[m_currentLD]->getDouble("SUP3RMAX")*GeoModelKernelUnits::cm;
+    return (*m_PixelDisk)[m_currentLD]->getDouble("SUP3RMAX")*Gaudi::Units::cm;
   }
 }
 
@@ -1907,7 +1908,7 @@ double OraclePixGeoManager::PixelECCarbonThickness(string a) {
     imat =(*m_PixelDisk)[m_currentLD]->getInt("SUP3MAT")-1;
   }
   if(tck>0.) {
-    return tck*GeoModelKernelUnits::cm;
+    return tck*Gaudi::Units::cm;
   } 
   return CalculateThickness(tck,mat[imat]);
 }
@@ -1979,12 +1980,12 @@ double*  OraclePixGeoManager::PixelServiceR(string a, int n) {
     }
   }
   // If this is negative this is the thickness of the cyl in % of r.l.
-  r[0] = rmin*GeoModelKernelUnits::cm;
+  r[0] = rmin*Gaudi::Units::cm;
   if(rmax > 0) {
-    r[1] = rmax*GeoModelKernelUnits::cm;
+    r[1] = rmax*Gaudi::Units::cm;
   } else {
     string material = PixelServiceMaterial(a,n);
-    r[1] = fabs(rmin*GeoModelKernelUnits::cm)+CalculateThickness(rmax,material);
+    r[1] = fabs(rmin*Gaudi::Units::cm)+CalculateThickness(rmax,material);
   }
   return r;
 }
@@ -2012,15 +2013,15 @@ double* OraclePixGeoManager::PixelServiceZ(string a,int n) {
       z[1] = (*m_PixelEndcapService)[n+m_endcapInFrames]->getDouble("ZOUT");
     }
   }
-  z[0] = z[0] *GeoModelKernelUnits::cm;
+  z[0] = z[0] *Gaudi::Units::cm;
   if(z[0]*(z[1]) > -0.000000001) { // same sign and z[0] > 0.
-    z[1] = z[1] *GeoModelKernelUnits::cm;
+    z[1] = z[1] *Gaudi::Units::cm;
   } else {
     string material = PixelServiceMaterial(a,n);
     z[1] = z[0] * (1 + CalculateThickness(z[1],material)/fabs(z[0]));
   }
   if(isEndcap() && a == "Inside" ) { // Translate to the ecnter of EndCap
-    double center = ((*m_PixelEndcapGeneral)[0]->getDouble("ZMAX")+(*m_PixelEndcapGeneral)[0]->getDouble("ZMIN"))/2.*GeoModelKernelUnits::cm;
+    double center = ((*m_PixelEndcapGeneral)[0]->getDouble("ZMAX")+(*m_PixelEndcapGeneral)[0]->getDouble("ZMIN"))/2.*Gaudi::Units::cm;
     z[0] = z[0]-center;
     z[1] = z[1]-center;
   }
@@ -2148,7 +2149,7 @@ double OraclePixGeoManager::PixelLadderThickness()
 {
   double tck = (*m_PixelStave)[0]->getDouble("SUPPORTTHICK");
   if( tck > 0.) {
-    return tck*GeoModelKernelUnits::cm;
+    return tck*Gaudi::Units::cm;
   } else {
     return CalculateThickness(tck,"pix::Ladder");
   }
@@ -2158,7 +2159,7 @@ double OraclePixGeoManager::PixelECCablesThickness()
 {
   double tck =  (*m_PixelDisk)[m_currentLD]->getDouble("CABLETHICK");
   if( tck > 0.) {
-    return tck*GeoModelKernelUnits::cm;
+    return tck*Gaudi::Units::cm;
   } else {
     return CalculateThickness(tck,"pix::ECCables");
   }
@@ -2219,14 +2220,14 @@ double OraclePixGeoManager::Voltage(bool isBLayer){
   // override B-layer voltage for DC1 geometry by 
   // value in old DB (approx ratio of thicknesses (200/250 = 0.8)
   // 97.1*0.8 = 77.68. In Nova its 77.7.
-  if (isBLayer && m_dc1Geometry) return 77.7*GeoModelKernelUnits::volt; 
-  if(isBLayer) { return (*m_plor)[0]->getDouble("VOLTAGE")*GeoModelKernelUnits::volt;}
-  return (*m_plor)[1]->getDouble("VOLTAGE")*GeoModelKernelUnits::volt;
+  if (isBLayer && m_dc1Geometry) return 77.7*Gaudi::Units::volt; 
+  if(isBLayer) { return (*m_plor)[0]->getDouble("VOLTAGE")*Gaudi::Units::volt;}
+  return (*m_plor)[1]->getDouble("VOLTAGE")*Gaudi::Units::volt;
 }
 
 double OraclePixGeoManager::Temperature(bool isBLayer){
-  if(isBLayer) { return (*m_plor)[0]->getDouble("TEMPC")*GeoModelKernelUnits::kelvin+GeoModelKernelUnits::STP_Temperature;}
-  return (*m_plor)[1]->getDouble("TEMPC")*GeoModelKernelUnits::kelvin+GeoModelKernelUnits::STP_Temperature;
+  if(isBLayer) { return (*m_plor)[0]->getDouble("TEMPC")*Gaudi::Units::kelvin+Gaudi::Units::STP_Temperature;}
+  return (*m_plor)[1]->getDouble("TEMPC")*Gaudi::Units::kelvin+Gaudi::Units::STP_Temperature;
 }
 
 const GeoTrf::Vector3D & 
@@ -2234,9 +2235,9 @@ OraclePixGeoManager::magneticField(bool isBLayer) const
 {
   if (m_magFieldFromNova) {
     if(isBLayer) { 
-      m_magField = GeoTrf::Vector3D(0, 0, (*m_plrn)[0]->getDouble("BFIELD") * GeoModelKernelUnits::tesla);
+      m_magField = GeoTrf::Vector3D(0, 0, (*m_plrn)[0]->getDouble("BFIELD") * Gaudi::Units::tesla);
     } else {
-      m_magField = GeoTrf::Vector3D(0, 0, (*m_plrn)[1]->getDouble("BFIELD") * GeoModelKernelUnits::tesla);
+      m_magField = GeoTrf::Vector3D(0, 0, (*m_plrn)[1]->getDouble("BFIELD") * Gaudi::Units::tesla);
     }
   }
   return m_magField;
diff --git a/InnerDetector/InDetDetDescr/PixelGeoModel/src/PixelDetectorDC1DC2.h b/InnerDetector/InDetDetDescr/PixelGeoModel/src/PixelDetectorDC1DC2.h
index 4a59f7251044..4a5337eeca16 100644
--- a/InnerDetector/InDetDetDescr/PixelGeoModel/src/PixelDetectorDC1DC2.h
+++ b/InnerDetector/InDetDetDescr/PixelGeoModel/src/PixelDetectorDC1DC2.h
@@ -7,7 +7,7 @@
 #include "Identifier/Identifier.h"
 #include "GeoPrimitives/GeoPrimitives.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include "RDBAccessSvc/IRDBRecord.h" //IRDBRecord used in code in the header
 #include "RDBAccessSvc/IRDBRecordset.h"
 #include "RDBAccessSvc/IRDBAccessSvc.h" //for IRDBRecordset_ptr typedef
@@ -926,16 +926,16 @@ class OraclePixGeoManager : public PixelGeometryManager {
 // ATLS
 double OraclePixGeoManager::GetATLSRadius() 
 {
-  return (*m_atls)[0]->getDouble("RMAX")*GeoModelKernelUnits::cm;
+  return (*m_atls)[0]->getDouble("RMAX")*Gaudi::Units::cm;
  }
 
 double OraclePixGeoManager::GetATLSRmin() 
 {
- return (*m_atls)[0]->getDouble("RMIN")*GeoModelKernelUnits::cm;
+ return (*m_atls)[0]->getDouble("RMIN")*Gaudi::Units::cm;
 }
 double OraclePixGeoManager::GetATLSLength() 
 {
-  return (*m_atls)[0]->getDouble("ZMAX")*GeoModelKernelUnits::cm;
+  return (*m_atls)[0]->getDouble("ZMAX")*Gaudi::Units::cm;
 }
 
 //
@@ -951,35 +951,35 @@ int OraclePixGeoManager::PixelEndcapMinorVersion()
   { return static_cast<int>(((*m_PixelEndcapGeneral)[0]->getDouble("VERSION") - PixelEndcapMajorVersion())*10 + 0.5);}
 
 // PXBG
-double OraclePixGeoManager::PixelRMin() {return (*m_PixelCommon)[0]->getDouble("RMIN")*GeoModelKernelUnits::cm;}
-double OraclePixGeoManager::PixelRMax() {return (*m_PixelCommon)[0]->getDouble("RMAX")*GeoModelKernelUnits::cm;}
-double OraclePixGeoManager::PixelHalfLength() {return (*m_PixelCommon)[0]->getDouble("HALFLENGTH")*GeoModelKernelUnits::cm;}
+double OraclePixGeoManager::PixelRMin() {return (*m_PixelCommon)[0]->getDouble("RMIN")*Gaudi::Units::cm;}
+double OraclePixGeoManager::PixelRMax() {return (*m_PixelCommon)[0]->getDouble("RMAX")*Gaudi::Units::cm;}
+double OraclePixGeoManager::PixelHalfLength() {return (*m_PixelCommon)[0]->getDouble("HALFLENGTH")*Gaudi::Units::cm;}
 int OraclePixGeoManager::PixelBarrelNLayer() {return (*m_PixelBarrelGeneral)[0]->getInt("NLAYER");}
 
 // m_PixelBarrelGeneral
-double OraclePixGeoManager::PixelBarrelRMin() {return (*m_PixelBarrelGeneral)[0]->getDouble("RMIN")*GeoModelKernelUnits::cm;}
-double OraclePixGeoManager::PixelBarrelRMax() {return (*m_PixelBarrelGeneral)[0]->getDouble("RMAX")*GeoModelKernelUnits::cm;}
-double OraclePixGeoManager::PixelBarrelHalfLength() {return (*m_PixelBarrelGeneral)[0]->getDouble("HALFLENGTH")*GeoModelKernelUnits::cm;}
+double OraclePixGeoManager::PixelBarrelRMin() {return (*m_PixelBarrelGeneral)[0]->getDouble("RMIN")*Gaudi::Units::cm;}
+double OraclePixGeoManager::PixelBarrelRMax() {return (*m_PixelBarrelGeneral)[0]->getDouble("RMAX")*Gaudi::Units::cm;}
+double OraclePixGeoManager::PixelBarrelHalfLength() {return (*m_PixelBarrelGeneral)[0]->getDouble("HALFLENGTH")*Gaudi::Units::cm;}
 
 // PXBI
 double OraclePixGeoManager::PixelLayerRadius() 
 {
-  return (*m_PixelLayer)[m_currentLD]->getDouble("RLAYER")*GeoModelKernelUnits::cm;
+  return (*m_PixelLayer)[m_currentLD]->getDouble("RLAYER")*Gaudi::Units::cm;
 }
 
 double OraclePixGeoManager::PixelLadderHalfLength() 
 {
-  return (*m_PixelStave)[0]->getDouble("SUPPORTHLENGTH")*GeoModelKernelUnits::cm;
+  return (*m_PixelStave)[0]->getDouble("SUPPORTHLENGTH")*Gaudi::Units::cm;
 }
 
 double OraclePixGeoManager::PixelLadderWidth() 
 {
-  return (*m_PixelStave)[0]->getDouble("SUPPORTWIDTH")*GeoModelKernelUnits::cm;
+  return (*m_PixelStave)[0]->getDouble("SUPPORTWIDTH")*Gaudi::Units::cm;
 }
 
 double OraclePixGeoManager::PixelLadderTilt() 
 {
-  return (*m_PixelLayer)[m_currentLD]->getDouble("STAVETILT")*GeoModelKernelUnits::deg;
+  return (*m_PixelLayer)[m_currentLD]->getDouble("STAVETILT")*Gaudi::Units::deg;
 }
 int OraclePixGeoManager::NPixelSectors() 
 {
@@ -988,7 +988,7 @@ int OraclePixGeoManager::NPixelSectors()
 
 double OraclePixGeoManager::PixelBalcony() 
 {
-  return (*m_pxbi)[m_currentLD]->getDouble("DXELEB")*GeoModelKernelUnits::cm;
+  return (*m_pxbi)[m_currentLD]->getDouble("DXELEB")*Gaudi::Units::cm;
 }
 
 int OraclePixGeoManager::PixelNModule() 
@@ -998,17 +998,17 @@ int OraclePixGeoManager::PixelNModule()
 
 double OraclePixGeoManager::PixelModuleAngle() 
 {
-  return (*m_PixelStave)[0]->getDouble("MODULETILT")*GeoModelKernelUnits::deg;
+  return (*m_PixelStave)[0]->getDouble("MODULETILT")*Gaudi::Units::deg;
 }
 
 double OraclePixGeoManager::PixelModuleDrDistance() 
 {
-  return (*m_PixelStave)[0]->getDouble("CENTRMODULESHIFT")*GeoModelKernelUnits::cm;
+  return (*m_PixelStave)[0]->getDouble("CENTRMODULESHIFT")*Gaudi::Units::cm;
 }
 
 double OraclePixGeoManager::PixelModulePosition(int im) 
 {
-  return (*m_PixelStave)[0]->getDouble("MODULEDZ")*GeoModelKernelUnits::cm*im;
+  return (*m_PixelStave)[0]->getDouble("MODULEDZ")*Gaudi::Units::cm*im;
 }
 
 // OBSOLETE!!! TO MOVE INTO THE NEW FACTORY 
@@ -1029,23 +1029,23 @@ double OraclePixGeoManager::PixelModuleAngleSign(int im)
 
 // PBAC
 double OraclePixGeoManager::PixelCableWidth() {
-  return (*m_PixelStave)[0]->getDouble("CABLEWIDTH")*GeoModelKernelUnits::cm;
+  return (*m_PixelStave)[0]->getDouble("CABLEWIDTH")*Gaudi::Units::cm;
 }
 
 double OraclePixGeoManager::PixelCableThickness() {
-  return (*m_PixelStave)[0]->getDouble("CABLETHICK")*GeoModelKernelUnits::cm;
+  return (*m_PixelStave)[0]->getDouble("CABLETHICK")*Gaudi::Units::cm;
 }
 
 double OraclePixGeoManager::PixelCableZMax() {
-  return (*m_PixelStave)[0]->getDouble("SUPPORTHLENGTH")*GeoModelKernelUnits::cm;
+  return (*m_PixelStave)[0]->getDouble("SUPPORTHLENGTH")*Gaudi::Units::cm;
 }
 
 double OraclePixGeoManager::PixelCableZMin() {
-  return (*m_PixelStave)[0]->getDouble("CABLEZMIN")*GeoModelKernelUnits::cm;
+  return (*m_PixelStave)[0]->getDouble("CABLEZMIN")*Gaudi::Units::cm;
 }
 
 double OraclePixGeoManager::PixelCableDeltaZ() {
-  return (*m_PixelStave)[0]->getDouble("MODULEDZ")*GeoModelKernelUnits::cm;
+  return (*m_PixelStave)[0]->getDouble("MODULEDZ")*Gaudi::Units::cm;
 }
 
 
@@ -1053,24 +1053,24 @@ double OraclePixGeoManager::PixelCableDeltaZ() {
 int OraclePixGeoManager::PixelEndcapNDisk() {return (*m_PixelEndcapGeneral)[0]->getInt("NDISK");}
 
 // Endcap container PEVO
-double  OraclePixGeoManager::PixelEndcapRMin() {return (*m_PixelEndcapGeneral)[0]->getDouble("RMIN")*GeoModelKernelUnits::cm;}
+double  OraclePixGeoManager::PixelEndcapRMin() {return (*m_PixelEndcapGeneral)[0]->getDouble("RMIN")*Gaudi::Units::cm;}
 
-double  OraclePixGeoManager::PixelEndcapRMax() {return (*m_PixelEndcapGeneral)[0]->getDouble("RMAX")*GeoModelKernelUnits::cm;}
+double  OraclePixGeoManager::PixelEndcapRMax() {return (*m_PixelEndcapGeneral)[0]->getDouble("RMAX")*Gaudi::Units::cm;}
 
-double  OraclePixGeoManager::PixelEndcapZMin() {return (*m_PixelEndcapGeneral)[0]->getDouble("ZMIN")*GeoModelKernelUnits::cm;}
+double  OraclePixGeoManager::PixelEndcapZMin() {return (*m_PixelEndcapGeneral)[0]->getDouble("ZMIN")*Gaudi::Units::cm;}
 
-double  OraclePixGeoManager::PixelEndcapZMax() {return (*m_PixelEndcapGeneral)[0]->getDouble("ZMAX")*GeoModelKernelUnits::cm;}
+double  OraclePixGeoManager::PixelEndcapZMax() {return (*m_PixelEndcapGeneral)[0]->getDouble("ZMAX")*Gaudi::Units::cm;}
 
 int OraclePixGeoManager::PixelEndcapNSupportFrames() {return (int) (*m_PixelEndcapGeneral)[0]->getDouble("NFRAME");}
 
 // Endcap Inner (PXEI)
-double  OraclePixGeoManager::PixelDiskPosition() {return (*m_PixelDisk)[m_currentLD]->getDouble("ZDISK")*GeoModelKernelUnits::cm;}
+double  OraclePixGeoManager::PixelDiskPosition() {return (*m_PixelDisk)[m_currentLD]->getDouble("ZDISK")*Gaudi::Units::cm;}
 
-double  OraclePixGeoManager::PixelDiskRMin() {return (*m_PixelDisk)[m_currentLD]->getDouble("RIDISK")*GeoModelKernelUnits::cm;}
+double  OraclePixGeoManager::PixelDiskRMin() {return (*m_PixelDisk)[m_currentLD]->getDouble("RIDISK")*Gaudi::Units::cm;}
 
-double OraclePixGeoManager::PixelECSiDz1() {return (*m_PixelDisk)[m_currentLD]->getDouble("DZCOUNTER")*GeoModelKernelUnits::cm;}
+double OraclePixGeoManager::PixelECSiDz1() {return (*m_PixelDisk)[m_currentLD]->getDouble("DZCOUNTER")*Gaudi::Units::cm;}
 
-double OraclePixGeoManager::PixelECSiDz2() {return (*m_PixelDisk)[m_currentLD]->getDouble("DZCOUNTER")*GeoModelKernelUnits::cm;}
+double OraclePixGeoManager::PixelECSiDz2() {return (*m_PixelDisk)[m_currentLD]->getDouble("DZCOUNTER")*Gaudi::Units::cm;}
 
 int OraclePixGeoManager::PixelECNSectors1() {return (*m_PixelDisk)[m_currentLD]->getInt("NMODULE");}
 
@@ -1078,53 +1078,53 @@ int OraclePixGeoManager::PixelECNSectors2() {return (*m_PixelDisk)[m_currentLD]-
 
 // Endcap Cables PEAC
 double OraclePixGeoManager::PixelECCablesRMin() {
-  return (*m_PixelDisk)[m_currentLD]->getDouble("RMINCABLE")*GeoModelKernelUnits::cm;
+  return (*m_PixelDisk)[m_currentLD]->getDouble("RMINCABLE")*Gaudi::Units::cm;
 }
 
 double OraclePixGeoManager::PixelECCablesRMax() {
-  return (*m_PixelDisk)[m_currentLD]->getDouble("RMAXCABLE")*GeoModelKernelUnits::cm;
+  return (*m_PixelDisk)[m_currentLD]->getDouble("RMAXCABLE")*Gaudi::Units::cm;
 }
 
 
 double OraclePixGeoManager::PixelECCablesDistance() {
-  return (*m_PixelDisk)[m_currentLD]->getDouble("ZCABLE")*GeoModelKernelUnits::cm;
+  return (*m_PixelDisk)[m_currentLD]->getDouble("ZCABLE")*Gaudi::Units::cm;
 }
 //
 // Design
 //
 
 double OraclePixGeoManager::DesignRPActiveArea(){
-  return (*m_pxbi)[0]->getDouble("DYACTIVE")*GeoModelKernelUnits::cm;
+  return (*m_pxbi)[0]->getDouble("DYACTIVE")*Gaudi::Units::cm;
 }
 double OraclePixGeoManager::DesignZActiveArea(){
-  return (*m_pxbi)[0]->getDouble("DZELEB")*GeoModelKernelUnits::cm;
+  return (*m_pxbi)[0]->getDouble("DZELEB")*Gaudi::Units::cm;
 }
 
 double OraclePixGeoManager::DesignPitchRP(bool isBLayer) {
-  if(isBLayer) return (*m_pxbd)[0]->getDouble("PITCHRP")*GeoModelKernelUnits::cm;
-  else return (*m_pxbd)[1]->getDouble("PITCHRP")*GeoModelKernelUnits::cm;
+  if(isBLayer) return (*m_pxbd)[0]->getDouble("PITCHRP")*Gaudi::Units::cm;
+  else return (*m_pxbd)[1]->getDouble("PITCHRP")*Gaudi::Units::cm;
 }
 
 double OraclePixGeoManager::DesignPitchZ(bool isBLayer) {
   double pitchZ;
   if(isBLayer) {
     if (m_dc1Geometry) { // Override NOVA 
-      pitchZ = 300 * GeoModelKernelUnits::micrometer; 
+      pitchZ = 300 * Gaudi::Units::micrometer; 
     } else {
-      pitchZ = (*m_pxbd)[0]->getDouble("PITCHZ") * GeoModelKernelUnits::cm;
+      pitchZ = (*m_pxbd)[0]->getDouble("PITCHZ") * Gaudi::Units::cm;
     }
   } else {
-    pitchZ = (*m_pxbd)[1]->getDouble("PITCHZ") * GeoModelKernelUnits::cm;
+    pitchZ = (*m_pxbd)[1]->getDouble("PITCHZ") * Gaudi::Units::cm;
   }
   return pitchZ;
 }
 
 double OraclePixGeoManager::DesignGapRP() {
-  return (*m_pdch)[0]->getDouble("GAPRP")*GeoModelKernelUnits::cm;
+  return (*m_pdch)[0]->getDouble("GAPRP")*Gaudi::Units::cm;
 }
 
 double OraclePixGeoManager::DesignGapZ() {
-  return (*m_pdch)[0]->getDouble("GAPZ")*GeoModelKernelUnits::cm;
+  return (*m_pdch)[0]->getDouble("GAPZ")*Gaudi::Units::cm;
 }
 
 
diff --git a/InnerDetector/InDetDetDescr/PixelGeoModel/src/PixelDetectorFactory.cxx b/InnerDetector/InDetDetDescr/PixelGeoModel/src/PixelDetectorFactory.cxx
index 160edfb488ba..1651b6cf1d8d 100644
--- a/InnerDetector/InDetDetDescr/PixelGeoModel/src/PixelDetectorFactory.cxx
+++ b/InnerDetector/InDetDetDescr/PixelGeoModel/src/PixelDetectorFactory.cxx
@@ -13,6 +13,7 @@
 #include "GeoModelKernel/GeoNameTag.h"  
 #include "GeoModelKernel/GeoPhysVol.h"  
 #include "GeoModelKernel/GeoAlignableTransform.h"  
+#include "GaudiKernel/SystemOfUnits.h"
 
 // InDetReadoutGeometry
 #include "InDetReadoutGeometry/SiCommonItems.h" 
@@ -120,8 +121,8 @@ void PixelDetectorFactory::create(GeoPhysVol *world)
   m_geometryManager->SetCurrentLD(0);
   m_geometryManager->SetBarrel();
   if(msgLvl(MSG::DEBUG)) {
-    msg(MSG::DEBUG) << " B-Layer basic eta pitch: " << m_geometryManager->DesignPitchZ()/GeoModelKernelUnits::micrometer << "um" << endmsg;  
-    msg(MSG::DEBUG) << " B-Layer sensor thickness: " << m_geometryManager->PixelBoardThickness()/GeoModelKernelUnits::micrometer << "um" << endmsg;   
+    msg(MSG::DEBUG) << " B-Layer basic eta pitch: " << m_geometryManager->DesignPitchZ()/Gaudi::Units::micrometer << "um" << endmsg;  
+    msg(MSG::DEBUG) << " B-Layer sensor thickness: " << m_geometryManager->PixelBoardThickness()/Gaudi::Units::micrometer << "um" << endmsg;   
   }
 
   // Top level transform
diff --git a/InnerDetector/InDetDetDescr/PixelGeoModel/src/PixelDetectorFactoryDC2.cxx b/InnerDetector/InDetDetDescr/PixelGeoModel/src/PixelDetectorFactoryDC2.cxx
index 9731105c0ecb..0d5797ba806d 100644
--- a/InnerDetector/InDetDetDescr/PixelGeoModel/src/PixelDetectorFactoryDC2.cxx
+++ b/InnerDetector/InDetDetDescr/PixelGeoModel/src/PixelDetectorFactoryDC2.cxx
@@ -125,12 +125,12 @@ void PixelDetectorFactoryDC2::create(GeoPhysVol *world)
     msg(MSG::INFO) << " " << m_detectorManager->getVersion().fullDescription() << endmsg;
 
     // Printout the parameters that are different in DC1 and DC2.
-    msg(MSG::INFO) << " B-Layer basic eta pitch: " << geometryManager->DesignPitchZ(true)/GeoModelKernelUnits::micrometer << "um" << endmsg;
+    msg(MSG::INFO) << " B-Layer basic eta pitch: " << geometryManager->DesignPitchZ(true)/Gaudi::Units::micrometer << "um" << endmsg;
   }  
   geometryManager->SetCurrentLD(0);
   geometryManager->SetBarrel();
   if(msgLvl(MSG::INFO)) 
-    msg(MSG::INFO) << " B-Layer sensor thickness: " << geometryManager->PixelBoardThickness()/GeoModelKernelUnits::micrometer << "um" << endmsg;   
+    msg(MSG::INFO) << " B-Layer sensor thickness: " << geometryManager->PixelBoardThickness()/Gaudi::Units::micrometer << "um" << endmsg;   
   
   //
   // Create the Pixel Envelope...
diff --git a/InnerDetector/InDetDetDescr/PixelGeoModel/src/PixelDetectorFactorySR1.cxx b/InnerDetector/InDetDetDescr/PixelGeoModel/src/PixelDetectorFactorySR1.cxx
index e0a93585e536..f833a3103e9c 100644
--- a/InnerDetector/InDetDetDescr/PixelGeoModel/src/PixelDetectorFactorySR1.cxx
+++ b/InnerDetector/InDetDetDescr/PixelGeoModel/src/PixelDetectorFactorySR1.cxx
@@ -16,6 +16,7 @@
 #include "GeoModelKernel/GeoIdentifierTag.h"  
 #include "GeoModelKernel/GeoPhysVol.h"  
 #include "GeoModelKernel/GeoAlignableTransform.h"  
+#include "GaudiKernel/SystemOfUnits.h"
 
 // InDetReadoutGeometry
 #include "InDetReadoutGeometry/SiCommonItems.h" 
@@ -110,8 +111,8 @@ void PixelDetectorFactorySR1::create(GeoPhysVol *world)
     msg(MSG::INFO) << " " << m_detectorManager->getVersion().fullDescription() << endmsg;
 
     // Printout the parameters that are different in DC1 and DC2.
-    msg(MSG::INFO) << " B-Layer basic eta pitch: " << m_geometryManager->DesignPitchZ()/GeoModelKernelUnits::micrometer << "um" << endmsg;
-    msg(MSG::INFO) << " B-Layer sensor thickness: " << m_geometryManager->PixelBoardThickness()/GeoModelKernelUnits::micrometer << "um" << endmsg;   
+    msg(MSG::INFO) << " B-Layer basic eta pitch: " << m_geometryManager->DesignPitchZ()/Gaudi::Units::micrometer << "um" << endmsg;
+    msg(MSG::INFO) << " B-Layer sensor thickness: " << m_geometryManager->PixelBoardThickness()/Gaudi::Units::micrometer << "um" << endmsg;   
   }  
 
   bool barrelPresent   = m_geometryManager->partPresent("Barrel");
@@ -195,7 +196,7 @@ void PixelDetectorFactorySR1::create(GeoPhysVol *world)
       physVol = pec.Build();
       
       GeoTrf::Transform3D endcapCTransform = m_geometryManager->partTransform("EndcapC");
-      transform = new GeoAlignableTransform(topTransform * endcapCTransform * GeoTrf::TranslateZ3D(-zpos) * GeoTrf::RotateY3D(180*GeoModelKernelUnits::deg));
+      transform = new GeoAlignableTransform(topTransform * endcapCTransform * GeoTrf::TranslateZ3D(-zpos) * GeoTrf::RotateY3D(180*Gaudi::Units::deg));
       
       GeoNameTag* tag  = new GeoNameTag("Pixel");
       world->add(tag);
diff --git a/InnerDetector/InDetDetDescr/PixelGeoModel/src/PixelLegacyManager.cxx b/InnerDetector/InDetDetDescr/PixelGeoModel/src/PixelLegacyManager.cxx
index 1bd7b37a9ece..9e19a15c0924 100644
--- a/InnerDetector/InDetDetDescr/PixelGeoModel/src/PixelLegacyManager.cxx
+++ b/InnerDetector/InDetDetDescr/PixelGeoModel/src/PixelLegacyManager.cxx
@@ -8,7 +8,7 @@
 #include "RDBAccessSvc/IRDBRecord.h"
 #include "RDBAccessSvc/IRDBRecordset.h"
 #include "GeoPrimitives/GeoPrimitives.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <sstream>
 #include <string>
@@ -89,36 +89,36 @@ int PixelLegacyManager::PixelBarrelNTFrame()
 double PixelLegacyManager::PixelBarrelBFrameWidth() 
 {
   if (m_BarrelInSFrame) {
-    return (*m_pfba)[0]->getDouble("WIDTH1")*GeoModelKernelUnits::cm;
+    return (*m_pfba)[0]->getDouble("WIDTH1")*Gaudi::Units::cm;
   } else {
-    return (*m_pfec)[0]->getDouble("WIDTH1")*GeoModelKernelUnits::cm;
+    return (*m_pfec)[0]->getDouble("WIDTH1")*Gaudi::Units::cm;
   }
 }
 
 double PixelLegacyManager::PixelBarrelTFrameWidth() 
 {
   if (m_BarrelInSFrame) {
-    return (*m_pfba)[0]->getDouble("WIDTH2")*GeoModelKernelUnits::cm;
+    return (*m_pfba)[0]->getDouble("WIDTH2")*Gaudi::Units::cm;
   } else {
-    return (*m_pfec)[0]->getDouble("WIDTH2")*GeoModelKernelUnits::cm;
+    return (*m_pfec)[0]->getDouble("WIDTH2")*Gaudi::Units::cm;
   }
 }
 
 double PixelLegacyManager::PixelBarrelFrameLength() 
 {
   if (m_BarrelInSFrame) {
-    return (*m_pfba)[0]->getDouble("LENGTH")*GeoModelKernelUnits::cm;
+    return (*m_pfba)[0]->getDouble("LENGTH")*Gaudi::Units::cm;
   } else {
-    return (*m_pfec)[0]->getDouble("LENGTH")*GeoModelKernelUnits::cm;
+    return (*m_pfec)[0]->getDouble("LENGTH")*Gaudi::Units::cm;
   }
 }
 
 double PixelLegacyManager::PixelBarrelFrameOffset() 
 {
   if (m_BarrelInSFrame) {
-    return (*m_pfba)[0]->getDouble("OFFSET")*GeoModelKernelUnits::cm;
+    return (*m_pfba)[0]->getDouble("OFFSET")*Gaudi::Units::cm;
   } else {
-    return (*m_pfec)[0]->getDouble("OFFSET")*GeoModelKernelUnits::cm;
+    return (*m_pfec)[0]->getDouble("OFFSET")*Gaudi::Units::cm;
   }
 }
 
@@ -135,33 +135,33 @@ int PixelLegacyManager::PixelEndcapNTFrame()
 
 double PixelLegacyManager::PixelEndcapBFrameWidth()
 {
-  return (*m_pecf)[0]->getDouble("WIDTH1")*GeoModelKernelUnits::cm;
+  return (*m_pecf)[0]->getDouble("WIDTH1")*Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelEndcapTFrameWidth() 
 {
-  return (*m_pecf)[0]->getDouble("WIDTH2")*GeoModelKernelUnits::cm;
+  return (*m_pecf)[0]->getDouble("WIDTH2")*Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelEndcapFrameLength() 
 {
-  return (*m_pecf)[0]->getDouble("LENGTH")*GeoModelKernelUnits::cm;
+  return (*m_pecf)[0]->getDouble("LENGTH")*Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelEndcapFrameOffset() 
 {
-  return (*m_pecf)[0]->getDouble("OFFSET")*GeoModelKernelUnits::cm;
+  return (*m_pecf)[0]->getDouble("OFFSET")*Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelBFrameHalfLength() 
 {
   if (m_BarrelInSFrame) {
-    return (*m_pbba)[0]->getDouble("DZ")*GeoModelKernelUnits::cm;
+    return (*m_pbba)[0]->getDouble("DZ")*Gaudi::Units::cm;
   } else {
     if (m_EndcapInSFrame) {
-      return (*m_pecb)[0]->getDouble("DZ")*GeoModelKernelUnits::cm;
+      return (*m_pecb)[0]->getDouble("DZ")*Gaudi::Units::cm;
     } else {
-      return (*m_pbec)[0]->getDouble("DZ")*GeoModelKernelUnits::cm;
+      return (*m_pbec)[0]->getDouble("DZ")*Gaudi::Units::cm;
     }
   }
 }
@@ -169,12 +169,12 @@ double PixelLegacyManager::PixelBFrameHalfLength()
 double PixelLegacyManager::PixelBFrameHalfWidth() 
 {
   if (m_BarrelInSFrame) {
-    return (*m_pbba)[0]->getDouble("DY")*GeoModelKernelUnits::cm;
+    return (*m_pbba)[0]->getDouble("DY")*Gaudi::Units::cm;
   } else {
     if (m_EndcapInSFrame) {
-      return (*m_pecb)[0]->getDouble("DY")*GeoModelKernelUnits::cm;
+      return (*m_pecb)[0]->getDouble("DY")*Gaudi::Units::cm;
     } else {
-      return (*m_pbec)[0]->getDouble("DY")*GeoModelKernelUnits::cm;
+      return (*m_pbec)[0]->getDouble("DY")*Gaudi::Units::cm;
     }
   }
 }
@@ -182,12 +182,12 @@ double PixelLegacyManager::PixelBFrameHalfWidth()
 double PixelLegacyManager::PixelBFrameHalfThickness() 
 {
   if (m_BarrelInSFrame) {
-    return (*m_pbba)[0]->getDouble("DX")*GeoModelKernelUnits::cm;
+    return (*m_pbba)[0]->getDouble("DX")*Gaudi::Units::cm;
   } else {
     if (m_EndcapInSFrame) {
-      return (*m_pecb)[0]->getDouble("DX")*GeoModelKernelUnits::cm;
+      return (*m_pecb)[0]->getDouble("DX")*Gaudi::Units::cm;
     } else {
-      return (*m_pbec)[0]->getDouble("DX")*GeoModelKernelUnits::cm;
+      return (*m_pbec)[0]->getDouble("DX")*Gaudi::Units::cm;
     }
   }
 }
@@ -195,15 +195,15 @@ double PixelLegacyManager::PixelBFrameHalfThickness()
 double PixelLegacyManager::PixelTFrameHalfLength() 
 {
   if (m_BarrelInSFrame) {
-    return (*m_ptba)[0]->getDouble("DZ")*GeoModelKernelUnits::cm;
+    return (*m_ptba)[0]->getDouble("DZ")*Gaudi::Units::cm;
   } else {
     if (m_EndcapInSFrame) {
-      return (*m_pect)[0]->getDouble("DZ")*GeoModelKernelUnits::cm;
+      return (*m_pect)[0]->getDouble("DZ")*Gaudi::Units::cm;
     } else {
       if (m_EndConeSFrame) {
-        return (*m_pecn)[0]->getDouble("DZ")*GeoModelKernelUnits::cm;
+        return (*m_pecn)[0]->getDouble("DZ")*Gaudi::Units::cm;
       } else {
-        return (*m_ptec)[0]->getDouble("DZ")*GeoModelKernelUnits::cm;
+        return (*m_ptec)[0]->getDouble("DZ")*Gaudi::Units::cm;
       } 
     }
   }
@@ -212,15 +212,15 @@ double PixelLegacyManager::PixelTFrameHalfLength()
 double PixelLegacyManager::PixelTFrameHalfWidthY() 
 {
   if (m_BarrelInSFrame) {
-    return (*m_ptba)[0]->getDouble("DY")*GeoModelKernelUnits::cm;
+    return (*m_ptba)[0]->getDouble("DY")*Gaudi::Units::cm;
   } else {
     if (m_EndcapInSFrame) {
-      return (*m_pect)[0]->getDouble("DY")*GeoModelKernelUnits::cm;
+      return (*m_pect)[0]->getDouble("DY")*Gaudi::Units::cm;
     } else {
       if (m_EndConeSFrame) {
-        return (*m_pecn)[0]->getDouble("DY")*GeoModelKernelUnits::cm;
+        return (*m_pecn)[0]->getDouble("DY")*Gaudi::Units::cm;
       } else {
-        return (*m_ptec)[0]->getDouble("DY")*GeoModelKernelUnits::cm;
+        return (*m_ptec)[0]->getDouble("DY")*Gaudi::Units::cm;
       } 
     }
   }
@@ -229,15 +229,15 @@ double PixelLegacyManager::PixelTFrameHalfWidthY()
 double PixelLegacyManager::PixelTFrameHalfWidthXzn() 
 {
   if (m_BarrelInSFrame) {
-    return (*m_ptba)[0]->getDouble("DX1")*GeoModelKernelUnits::cm;
+    return (*m_ptba)[0]->getDouble("DX1")*Gaudi::Units::cm;
   } else {
     if (m_EndcapInSFrame) {
-      return (*m_pect)[0]->getDouble("DX1")*GeoModelKernelUnits::cm;
+      return (*m_pect)[0]->getDouble("DX1")*Gaudi::Units::cm;
     } else {    
       if (m_EndConeSFrame) {
-        return (*m_pecn)[0]->getDouble("DX1")*GeoModelKernelUnits::cm;
+        return (*m_pecn)[0]->getDouble("DX1")*Gaudi::Units::cm;
       } else {
-        return (*m_ptec)[0]->getDouble("DX1")*GeoModelKernelUnits::cm;
+        return (*m_ptec)[0]->getDouble("DX1")*Gaudi::Units::cm;
       } 
     }
   }
@@ -246,15 +246,15 @@ double PixelLegacyManager::PixelTFrameHalfWidthXzn()
 double PixelLegacyManager::PixelTFrameHalfWidthXzp() 
 {
   if (m_BarrelInSFrame) {
-    return (*m_ptba)[0]->getDouble("DX2")*GeoModelKernelUnits::cm;
+    return (*m_ptba)[0]->getDouble("DX2")*Gaudi::Units::cm;
   } else {
     if (m_EndcapInSFrame) {
-      return (*m_pect)[0]->getDouble("DX2")*GeoModelKernelUnits::cm;
+      return (*m_pect)[0]->getDouble("DX2")*Gaudi::Units::cm;
     } else {
       if (m_EndConeSFrame) {
-        return (*m_pecn)[0]->getDouble("DX2")*GeoModelKernelUnits::cm;
+        return (*m_pecn)[0]->getDouble("DX2")*Gaudi::Units::cm;
       } else {
-        return (*m_ptec)[0]->getDouble("DX2")*GeoModelKernelUnits::cm;
+        return (*m_ptec)[0]->getDouble("DX2")*Gaudi::Units::cm;
       } 
     }
   }
@@ -263,15 +263,15 @@ double PixelLegacyManager::PixelTFrameHalfWidthXzp()
 double PixelLegacyManager::PixelTFrameDzDr()
 {
   if (m_BarrelInSFrame) {
-    return (*m_ptba)[0]->getDouble("DZDR")*GeoModelKernelUnits::deg;
+    return (*m_ptba)[0]->getDouble("DZDR")*Gaudi::Units::deg;
   } else {
     if (m_EndcapInSFrame) {
-      return (*m_pect)[0]->getDouble("DZDR")*GeoModelKernelUnits::cm;
+      return (*m_pect)[0]->getDouble("DZDR")*Gaudi::Units::cm;
     } else {
       if (m_EndConeSFrame) {
-        return (*m_pecn)[0]->getDouble("DZDR")*GeoModelKernelUnits::deg;
+        return (*m_pecn)[0]->getDouble("DZDR")*Gaudi::Units::deg;
       } else {
-        return (*m_ptec)[0]->getDouble("DZDR")*GeoModelKernelUnits::deg;
+        return (*m_ptec)[0]->getDouble("DZDR")*Gaudi::Units::deg;
       } 
     }
   }
@@ -279,33 +279,33 @@ double PixelLegacyManager::PixelTFrameDzDr()
 
 double PixelLegacyManager::PixelBarrelFrameECRadius()
 {
-  return (*m_pecn)[0]->getDouble("RADIUS")*GeoModelKernelUnits::cm;
+  return (*m_pecn)[0]->getDouble("RADIUS")*Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelBarrelFrameECZPos() 
 {
-  return (*m_pecn)[0]->getDouble("Z")*GeoModelKernelUnits::cm;
+  return (*m_pecn)[0]->getDouble("Z")*Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelBarrelFrameECAlphaX() 
 {
-  return (*m_pecn)[0]->getDouble("ANGLEX")*GeoModelKernelUnits::deg;
+  return (*m_pecn)[0]->getDouble("ANGLEX")*Gaudi::Units::deg;
 }
 
 double PixelLegacyManager::PixelBarrelFrameECAlphaY() 
 {
-  return (*m_pecn)[0]->getDouble("ANGLEY")*GeoModelKernelUnits::deg;
+  return (*m_pecn)[0]->getDouble("ANGLEY")*Gaudi::Units::deg;
 }
 
 
 double PixelLegacyManager::PixelLadderThickness() 
 {
-  return 2 * 1.48972*GeoModelKernelUnits::mm;
+  return 2 * 1.48972*Gaudi::Units::mm;
 }
 
 double PixelLegacyManager::PixelLadderLength() 
 {
-  return 2 * (*m_pxbi)[0]->getDouble("DZLADDER")*GeoModelKernelUnits::cm;
+  return 2 * (*m_pxbi)[0]->getDouble("DZLADDER")*Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelLadderServicesX() 
@@ -315,28 +315,28 @@ double PixelLegacyManager::PixelLadderServicesX()
 
 double PixelLegacyManager::PixelLadderServicesY() 
 {
-  return 3*GeoModelKernelUnits::mm;
+  return 3*Gaudi::Units::mm;
 }
 
 
 double PixelLegacyManager::PixelLadderCableOffsetX() 
 {
-  return 0.099*GeoModelKernelUnits::mm;
+  return 0.099*Gaudi::Units::mm;
 }
 
 double PixelLegacyManager::PixelLadderCableOffsetY() 
 {
-  return 4*GeoModelKernelUnits::mm;
+  return 4*Gaudi::Units::mm;
 }
 
 double PixelLegacyManager::PixelLadderConnectorOffsetX() 
 {
-  return -5.8*GeoModelKernelUnits::mm;
+  return -5.8*Gaudi::Units::mm;
 }
 
 double PixelLegacyManager::PixelLadderPigtailOffsetY() 
 {
-  return -0.5*GeoModelKernelUnits::mm - PixelLadderCableOffsetY();
+  return -0.5*Gaudi::Units::mm - PixelLadderCableOffsetY();
 }
 
 
@@ -353,34 +353,34 @@ double
 PixelLegacyManager::PixelCableZStart(int index)
 {
   // In old code two cables were connected to middle. Correction stops them touching.
-  double correction = (index == 7) ? 0.000001*GeoModelKernelUnits::cm : 0;
-  return ((*m_poci)[index]->getDouble("Z")  -  (*m_poci)[index]->getDouble("DZ")) * GeoModelKernelUnits::cm + correction;
+  double correction = (index == 7) ? 0.000001*Gaudi::Units::cm : 0;
+  return ((*m_poci)[index]->getDouble("Z")  -  (*m_poci)[index]->getDouble("DZ")) * Gaudi::Units::cm + correction;
 }
 
 double 
 PixelLegacyManager::PixelCableZEnd(int index)
 {
   // In old code two cables were connected to middle. Correction stops them touching.
-  double correction = (index == 7) ? 0.000001*GeoModelKernelUnits::cm : 0;
-  return ((*m_poci)[index]->getDouble("Z") +  (*m_poci)[index]->getDouble("DZ")) * GeoModelKernelUnits::cm + correction;
+  double correction = (index == 7) ? 0.000001*Gaudi::Units::cm : 0;
+  return ((*m_poci)[index]->getDouble("Z") +  (*m_poci)[index]->getDouble("DZ")) * Gaudi::Units::cm + correction;
 }
 
 double 
 PixelLegacyManager::PixelCableWidth(int index)
 {
-  return (*m_poci)[index]->getDouble("DY") * GeoModelKernelUnits::cm;
+  return (*m_poci)[index]->getDouble("DY") * Gaudi::Units::cm;
 }
 
 double 
 PixelLegacyManager::PixelCableThickness(int index)
 {
-  return (*m_poci)[index]->getDouble("DX")*GeoModelKernelUnits::cm;
+  return (*m_poci)[index]->getDouble("DX")*Gaudi::Units::cm;
 }
 
 double 
 PixelLegacyManager::PixelCableStackOffset(int index)
 {
-  return (*m_poci)[index]->getDouble("X")*GeoModelKernelUnits::cm;
+  return (*m_poci)[index]->getDouble("X")*Gaudi::Units::cm;
 }
 
 
@@ -417,47 +417,47 @@ double PixelLegacyManager::PixelTMTVariable(int iPart, const std::string & varNa
 
 double PixelLegacyManager::PixelTMTDzdr(int iPart)
 {
-  return PixelTMTVariable(iPart, "DZDR") * GeoModelKernelUnits::deg;
+  return PixelTMTVariable(iPart, "DZDR") * Gaudi::Units::deg;
 }
 
 
 double PixelLegacyManager::PixelTMTPosX(int iPart)
 {
-  return PixelTMTVariable(iPart, "X") * GeoModelKernelUnits::cm;
+  return PixelTMTVariable(iPart, "X") * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelTMTPosZ(int iPart)
 {
-  return PixelTMTVariable(iPart, "Z") * GeoModelKernelUnits::cm;
+  return PixelTMTVariable(iPart, "Z") * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelTMTLength(int iPart)
 {
-  return 2 * PixelTMTVariable(iPart, "DZ") * GeoModelKernelUnits::cm;
+  return 2 * PixelTMTVariable(iPart, "DZ") * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelTMTWidthX2(int iPart)
 {
-  return 2 * PixelTMTVariable(iPart, "DX2") * GeoModelKernelUnits::cm;
+  return 2 * PixelTMTVariable(iPart, "DX2") * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelTMTWidthX1(int iPart)
 {
-  return 2 * PixelTMTVariable(iPart, "DX1") * GeoModelKernelUnits::cm;
+  return 2 * PixelTMTVariable(iPart, "DX1") * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelTMTWidthY(int iPart)
 {
-  return 2 * PixelTMTVariable(iPart, "DY") * GeoModelKernelUnits::cm;
+  return 2 * PixelTMTVariable(iPart, "DY") * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelTMTBaseX1(int iPart)
 {
   double theta = PixelTMTDzdr(iPart);
   if (theta == 0) {
-    return PixelTMTVariable(iPart, "X")*GeoModelKernelUnits::cm + 0.25*(PixelTMTWidthX1(iPart)+PixelTMTWidthX2(iPart));
+    return PixelTMTVariable(iPart, "X")*Gaudi::Units::cm + 0.25*(PixelTMTWidthX1(iPart)+PixelTMTWidthX2(iPart));
   } else {
-    return  PixelTMTVariable(iPart, "X")*GeoModelKernelUnits::cm - 0.5*PixelTMTLength(iPart) * tan(theta) + 0.5*PixelTMTWidthX1(iPart);
+    return  PixelTMTVariable(iPart, "X")*Gaudi::Units::cm - 0.5*PixelTMTLength(iPart) * tan(theta) + 0.5*PixelTMTWidthX1(iPart);
   }
 }
 
@@ -465,15 +465,15 @@ double PixelLegacyManager::PixelTMTBaseX2(int iPart)
 {
   double theta = PixelTMTDzdr(iPart);
   if (theta == 0) {
-    return PixelTMTVariable(iPart, "X")*GeoModelKernelUnits::cm + 0.25*(PixelTMTWidthX1(iPart)+PixelTMTWidthX2(iPart));
+    return PixelTMTVariable(iPart, "X")*Gaudi::Units::cm + 0.25*(PixelTMTWidthX1(iPart)+PixelTMTWidthX2(iPart));
   } else {
-    return PixelTMTVariable(iPart, "X")*GeoModelKernelUnits::cm + 0.5*PixelTMTLength(iPart) * tan(theta) + 0.5*PixelTMTWidthX2(iPart);
+    return PixelTMTVariable(iPart, "X")*Gaudi::Units::cm + 0.5*PixelTMTLength(iPart) * tan(theta) + 0.5*PixelTMTWidthX2(iPart);
   }
 }
 
 double PixelLegacyManager::PixelTMTPosY(int iPart)
 {
-  return PixelTMTVariable(iPart, "Y") * GeoModelKernelUnits::cm;
+  return PixelTMTVariable(iPart, "Y") * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelTMTPosZ1(int iPart)
@@ -498,52 +498,52 @@ bool PixelLegacyManager::PixelTMTPerModule(int iPart)
 //
 double PixelLegacyManager::PixelOmegaUpperBendX()
 {
-  return (*m_poti)[2]->getDouble("X") * GeoModelKernelUnits::cm;
+  return (*m_poti)[2]->getDouble("X") * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelOmegaUpperBendY()
 {
-  return (*m_poti)[2]->getDouble("Y") * GeoModelKernelUnits::cm;
+  return (*m_poti)[2]->getDouble("Y") * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelOmegaUpperBendRadius()
 {
-  return (*m_poti)[2]->getDouble("RMAX") * GeoModelKernelUnits::cm;
+  return (*m_poti)[2]->getDouble("RMAX") * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelOmegaLowerBendX()
 {
-  return (*m_poti)[0]->getDouble("X") * GeoModelKernelUnits::cm;
+  return (*m_poti)[0]->getDouble("X") * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelOmegaLowerBendY()
 {
-  return (*m_poti)[0]->getDouble("Y") * GeoModelKernelUnits::cm;
+  return (*m_poti)[0]->getDouble("Y") * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelOmegaLowerBendRadius()
 {
-  return (*m_poti)[0]->getDouble("RMAX") * GeoModelKernelUnits::cm;
+  return (*m_poti)[0]->getDouble("RMAX") * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelOmegaWallThickness()
 {
-  return ((*m_poti)[0]->getDouble("RMAX") - (*m_poti)[0]->getDouble("RMIN")) * GeoModelKernelUnits::cm;
+  return ((*m_poti)[0]->getDouble("RMAX") - (*m_poti)[0]->getDouble("RMIN")) * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelOmegaLength()
 {
-  return 2. * (*m_poti)[0]->getDouble("DZ") * GeoModelKernelUnits::cm;
+  return 2. * (*m_poti)[0]->getDouble("DZ") * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelOmegaStartY()
 {
-  return ((*m_posi)[0]->getDouble("Y") + 0.5*(*m_posi)[0]->getDouble("DY")) * GeoModelKernelUnits::cm;
+  return ((*m_posi)[0]->getDouble("Y") + 0.5*(*m_posi)[0]->getDouble("DY")) * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelOmegaEndY()
 {
-  return ((*m_posi)[1]->getDouble("Y") - 0.5*(*m_posi)[1]->getDouble("DY")) * GeoModelKernelUnits::cm;
+  return ((*m_posi)[1]->getDouble("Y") - 0.5*(*m_posi)[1]->getDouble("DY")) * Gaudi::Units::cm;
 }
 
 //
@@ -552,42 +552,42 @@ double PixelLegacyManager::PixelOmegaEndY()
 
 double PixelLegacyManager::PixelAlTubeUpperBendX()
 {
-  return (*m_poti)[5]->getDouble("X") * GeoModelKernelUnits::cm;
+  return (*m_poti)[5]->getDouble("X") * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelAlTubeUpperBendY()
 {
-  return (*m_poti)[5]->getDouble("Y") * GeoModelKernelUnits::cm;
+  return (*m_poti)[5]->getDouble("Y") * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelAlTubeUpperBendRadius()
 {
-  return (*m_poti)[5]->getDouble("RMAX") * GeoModelKernelUnits::cm;
+  return (*m_poti)[5]->getDouble("RMAX") * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelAlTubeLowerBendX()
 {
-  return (*m_poti)[3]->getDouble("X") * GeoModelKernelUnits::cm;
+  return (*m_poti)[3]->getDouble("X") * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelAlTubeLowerBendY()
 {
-  return (*m_poti)[3]->getDouble("Y") * GeoModelKernelUnits::cm;
+  return (*m_poti)[3]->getDouble("Y") * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelAlTubeLowerBendRadius()
 {
-  return (*m_poti)[3]->getDouble("RMAX") * GeoModelKernelUnits::cm;
+  return (*m_poti)[3]->getDouble("RMAX") * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelAlTubeWallThickness()
 {
-  return ((*m_poti)[3]->getDouble("RMAX") - (*m_poti)[3]->getDouble("RMIN")) * GeoModelKernelUnits::cm;
+  return ((*m_poti)[3]->getDouble("RMAX") - (*m_poti)[3]->getDouble("RMIN")) * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelAlTubeLength()
 {
-  return 2 * (*m_poti)[3]->getDouble("DZ") * GeoModelKernelUnits::cm;
+  return 2 * (*m_poti)[3]->getDouble("DZ") * Gaudi::Units::cm;
 }
 
 //
@@ -601,32 +601,32 @@ int PixelLegacyManager::PixelNumOmegaGlueElements()
 
 double PixelLegacyManager::PixelOmegaGlueStartX(int index)
 {
-  return ((*m_posi)[index+2]->getDouble("X") - 0.5*(*m_posi)[index+2]->getDouble("DX")) * GeoModelKernelUnits::cm;
+  return ((*m_posi)[index+2]->getDouble("X") - 0.5*(*m_posi)[index+2]->getDouble("DX")) * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelOmegaGlueThickness(int index)
 {
-  return (*m_posi)[index+2]->getDouble("DX") * GeoModelKernelUnits::cm;
+  return (*m_posi)[index+2]->getDouble("DX") * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelOmegaGlueStartY(int index)
 {
-  return ((*m_posi)[index+2]->getDouble("Y") - 0.5*(*m_posi)[index+2]->getDouble("DY")) * GeoModelKernelUnits::cm;
+  return ((*m_posi)[index+2]->getDouble("Y") - 0.5*(*m_posi)[index+2]->getDouble("DY")) * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelOmegaGlueEndY(int index)
 {
-  return ((*m_posi)[index+2]->getDouble("Y") + 0.5*(*m_posi)[index+2]->getDouble("DY")) * GeoModelKernelUnits::cm;
+  return ((*m_posi)[index+2]->getDouble("Y") + 0.5*(*m_posi)[index+2]->getDouble("DY")) * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelOmegaGlueLength(int index)
 {
-  return 2 * (*m_posi)[index+2]->getDouble("DZ") * GeoModelKernelUnits::cm;
+  return 2 * (*m_posi)[index+2]->getDouble("DZ") * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelOmegaGluePosZ(int index)
 {
-  return (*m_posi)[index+2]->getDouble("Z") * GeoModelKernelUnits::cm;
+  return (*m_posi)[index+2]->getDouble("Z") * Gaudi::Units::cm;
 }
 
 int PixelLegacyManager::PixelOmegaGlueTypeNum(int index)
@@ -640,24 +640,24 @@ int PixelLegacyManager::PixelOmegaGlueTypeNum(int index)
 
 double PixelLegacyManager::PixelFluidZ1(int index)
 {
-  double dz = (*m_pcff)[index%2]->getDouble("DZ")*GeoModelKernelUnits::cm;
-  double posz = (*m_pcff)[index%2]->getDouble("Z")*GeoModelKernelUnits::cm;
+  double dz = (*m_pcff)[index%2]->getDouble("DZ")*Gaudi::Units::cm;
+  double posz = (*m_pcff)[index%2]->getDouble("Z")*Gaudi::Units::cm;
   return posz-dz;
 }
 
 double PixelLegacyManager::PixelFluidZ2(int index)
 {
-  double dz = (*m_pcff)[index%2]->getDouble("DZ")*GeoModelKernelUnits::cm;
-  double posz = (*m_pcff)[index%2]->getDouble("Z")*GeoModelKernelUnits::cm;
+  double dz = (*m_pcff)[index%2]->getDouble("DZ")*Gaudi::Units::cm;
+  double posz = (*m_pcff)[index%2]->getDouble("Z")*Gaudi::Units::cm;
   return posz+dz;
 }
 
 double PixelLegacyManager::PixelFluidThick1(int index)
 {
   if (index < 2) {
-    return 2*(*m_pcff)[index%2]->getDouble("DX1")*GeoModelKernelUnits::cm;
+    return 2*(*m_pcff)[index%2]->getDouble("DX1")*Gaudi::Units::cm;
   } else {
-    return 2*(*m_pcff)[index%2]->getDouble("DX2")*GeoModelKernelUnits::cm;
+    return 2*(*m_pcff)[index%2]->getDouble("DX2")*Gaudi::Units::cm;
   }
 }
 
@@ -665,26 +665,26 @@ double PixelLegacyManager::PixelFluidThick1(int index)
 double PixelLegacyManager::PixelFluidThick2(int index)
 {
   if (index < 2) {
-    return 2*(*m_pcff)[index%2]->getDouble("DX2")*GeoModelKernelUnits::cm;
+    return 2*(*m_pcff)[index%2]->getDouble("DX2")*Gaudi::Units::cm;
   } else {
-    return 2*(*m_pcff)[index%2]->getDouble("DX1")*GeoModelKernelUnits::cm;
+    return 2*(*m_pcff)[index%2]->getDouble("DX1")*Gaudi::Units::cm;
   }
 }
 
 double PixelLegacyManager::PixelFluidWidth(int index)
 {
-  return 2*(*m_pcff)[index%2]->getDouble("DY")*GeoModelKernelUnits::cm;
+  return 2*(*m_pcff)[index%2]->getDouble("DY")*Gaudi::Units::cm;
 }
 
 
 double PixelLegacyManager::PixelFluidX(int index)
 {
-  return (*m_pcff)[index%2]->getDouble("X")*GeoModelKernelUnits::cm;
+  return (*m_pcff)[index%2]->getDouble("X")*Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelFluidY(int index)
 {
-  return (*m_pcff)[index%2]->getDouble("Y")*GeoModelKernelUnits::cm;
+  return (*m_pcff)[index%2]->getDouble("Y")*Gaudi::Units::cm;
 }
 
 int PixelLegacyManager::PixelFluidType(int index)
@@ -716,17 +716,17 @@ int PixelLegacyManager::PixelFluidOrient(int layer, int phi)
 //
 double PixelLegacyManager::PixelPigtailThickness()
 {
-  return (*m_poai)[0]->getDouble("DX") * GeoModelKernelUnits::cm;
+  return (*m_poai)[0]->getDouble("DX") * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelPigtailStartY()
 {
-  return -0.5*(*m_poai)[0]->getDouble("DY") * GeoModelKernelUnits::cm;
+  return -0.5*(*m_poai)[0]->getDouble("DY") * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelPigtailEndY()
 {
-  return  0.5*(*m_poai)[0]->getDouble("DY") * GeoModelKernelUnits::cm;
+  return  0.5*(*m_poai)[0]->getDouble("DY") * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelPigtailFlatWidthZ()
@@ -734,59 +734,59 @@ double PixelLegacyManager::PixelPigtailFlatWidthZ()
   // Assume its actually the full width but in old geometry it was interpreted as a half width so we
   // multiply by 2. This gives the flat section twice the width of the curved section which I don't think was the 
   // intention.
-  return 2*(*m_poai)[0]->getDouble("DZ") * GeoModelKernelUnits::cm;
+  return 2*(*m_poai)[0]->getDouble("DZ") * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelPigtailWidthZ()
 {
-  return 2*(*m_pobi)[0]->getDouble("DZ") * GeoModelKernelUnits::cm;
+  return 2*(*m_pobi)[0]->getDouble("DZ") * Gaudi::Units::cm;
 }
 
 // FIXME some weird offset
 double PixelLegacyManager::PixelPigtailPosX()
 {
-  return (*m_poai)[0]->getDouble("X") * GeoModelKernelUnits::cm + PixelLadderConnectorOffsetX();
+  return (*m_poai)[0]->getDouble("X") * Gaudi::Units::cm + PixelLadderConnectorOffsetX();
 }
 
 double PixelLegacyManager::PixelPigtailPosZ()
 {
-  return (*m_poai)[0]->getDouble("Z") * GeoModelKernelUnits::cm;
+  return (*m_poai)[0]->getDouble("Z") * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelPigtailBendX()
 {
-  return (*m_pobi)[0]->getDouble("X") * GeoModelKernelUnits::cm + PixelLadderConnectorOffsetX();
+  return (*m_pobi)[0]->getDouble("X") * Gaudi::Units::cm + PixelLadderConnectorOffsetX();
 }
 
 double PixelLegacyManager::PixelPigtailBendY()
 {
-  return (*m_pobi)[0]->getDouble("Y") * GeoModelKernelUnits::cm + PixelLadderPigtailOffsetY();
+  return (*m_pobi)[0]->getDouble("Y") * Gaudi::Units::cm + PixelLadderPigtailOffsetY();
 }
 
 double PixelLegacyManager::PixelPigtailBendRMin()
 {
-  return (*m_pobi)[0]->getDouble("RMIN") * GeoModelKernelUnits::cm;
+  return (*m_pobi)[0]->getDouble("RMIN") * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelPigtailBendRMax()
 {
-  return (*m_pobi)[0]->getDouble("RMAX") * GeoModelKernelUnits::cm;
+  return (*m_pobi)[0]->getDouble("RMAX") * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelPigtailBendPhiMin()
 {
-  return (*m_pobi)[0]->getDouble("PHI1") * GeoModelKernelUnits::deg;
+  return (*m_pobi)[0]->getDouble("PHI1") * Gaudi::Units::deg;
 }
 
 double PixelLegacyManager::PixelPigtailBendPhiMax()
 {
-  return (*m_pobi)[0]->getDouble("PHI2") * GeoModelKernelUnits::deg;
+  return (*m_pobi)[0]->getDouble("PHI2") * Gaudi::Units::deg;
 }
 
 double PixelLegacyManager::PixelPigtailEnvelopeLength()
 {
   // FIXME Check
-  return 2*(*m_posi)[9]->getDouble("DZ") * GeoModelKernelUnits::cm;
+  return 2*(*m_posi)[9]->getDouble("DZ") * Gaudi::Units::cm;
 }
 
 //
@@ -799,22 +799,22 @@ int PixelLegacyManager::PixelNumConnectorElements()
 
 double PixelLegacyManager::PixelConnectorWidthX(int index)
 {
-  return (*m_poai)[index+1]->getDouble("DX") * GeoModelKernelUnits::cm;
+  return (*m_poai)[index+1]->getDouble("DX") * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelConnectorWidthY(int index)
 {
-  return (*m_poai)[index+1]->getDouble("DY") * GeoModelKernelUnits::cm;
+  return (*m_poai)[index+1]->getDouble("DY") * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelConnectorWidthZ(int index)
 {
-  return 2*(*m_poai)[index+1]->getDouble("DZ") * GeoModelKernelUnits::cm;
+  return 2*(*m_poai)[index+1]->getDouble("DZ") * Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::PixelConnectorPosX(int index)
 {
-  return (*m_poai)[index+1]->getDouble("X") * GeoModelKernelUnits::cm + PixelLadderConnectorOffsetX();
+  return (*m_poai)[index+1]->getDouble("X") * Gaudi::Units::cm + PixelLadderConnectorOffsetX();
 }
 
 double PixelLegacyManager::PixelConnectorPosY(int)
@@ -824,8 +824,8 @@ double PixelLegacyManager::PixelConnectorPosY(int)
 
 double PixelLegacyManager::PixelConnectorPosZ(int index)
 {
-  // same as  (*m_pobi)[0]->getDouble("Z") * GeoModelKernelUnits::cm;
-  return (*m_poai)[index+1]->getDouble("Z") * GeoModelKernelUnits::cm;
+  // same as  (*m_pobi)[0]->getDouble("Z") * Gaudi::Units::cm;
+  return (*m_poai)[index+1]->getDouble("Z") * Gaudi::Units::cm;
 }
 
 
@@ -908,19 +908,19 @@ int PixelLegacyManager::EmptyRowConnections(int index)
 
 double PixelLegacyManager::DesignRPActiveArea()
 {
-  return (*m_pxbi)[0]->getDouble("DYACTIVE")*GeoModelKernelUnits::cm;
+  return (*m_pxbi)[0]->getDouble("DYACTIVE")*Gaudi::Units::cm;
 
 }
 
 double PixelLegacyManager::DesignZActiveArea()
 {
-  return (*m_pxbi)[0]->getDouble("DZELEB")*GeoModelKernelUnits::cm;
+  return (*m_pxbi)[0]->getDouble("DZELEB")*Gaudi::Units::cm;
 }
     
 double PixelLegacyManager::DesignPitchRP(bool isBLayer)
 {
   int type = designType(isBLayer);
-  return (*m_pxbd)[type]->getDouble("PITCHRP")*GeoModelKernelUnits::cm;
+  return (*m_pxbd)[type]->getDouble("PITCHRP")*Gaudi::Units::cm;
 }
 
 // FIXME m_dc1Geometry
@@ -930,9 +930,9 @@ double PixelLegacyManager::DesignPitchZ(bool isBLayer)
   double pitchZ;
   if(isBLayer && m_dc1Geometry) {
     // Override NOVA 
-    pitchZ = 300 * GeoModelKernelUnits::micrometer; 
+    pitchZ = 300 * Gaudi::Units::micrometer; 
   } else {
-    pitchZ = (*m_pxbd)[type]->getDouble("PITCHZ") * GeoModelKernelUnits::cm;
+    pitchZ = (*m_pxbd)[type]->getDouble("PITCHZ") * Gaudi::Units::cm;
   }
   return pitchZ;
 }
@@ -945,12 +945,12 @@ double PixelLegacyManager::DesignPitchZLong(bool isBLayer)
 
 double PixelLegacyManager::DesignGapRP()
 {
-  return (*m_pdch)[0]->getDouble("GAPRP")*GeoModelKernelUnits::cm;
+  return (*m_pdch)[0]->getDouble("GAPRP")*Gaudi::Units::cm;
 }
 
 double PixelLegacyManager::DesignGapZ()
 {
-  return (*m_pdch)[0]->getDouble("GAPZ")*GeoModelKernelUnits::cm;
+  return (*m_pdch)[0]->getDouble("GAPZ")*Gaudi::Units::cm;
 }
 
 int PixelLegacyManager::DesignCircuitsEta()
-- 
GitLab


From 44e4ef1123dc9e792f6fe81b98bedd33b9451d5e Mon Sep 17 00:00:00 2001
From: Vakho Tsulaia <vakhtang.tsulaia@cern.ch>
Date: Wed, 23 Jan 2019 01:22:37 +0100
Subject: [PATCH 051/192] Migrated SCT_GeoModel from GeoModelKernelUnits to
 Gaudi::Units

All units migrated except GeoModelKernelUnits::gram/g, which is different from Gaudi::Units::gram/g
---
 .../SCT_GeoModel/src/SCT_Barrel.cxx           |  10 +-
 .../src/SCT_BarrelModuleParameters.cxx        |  58 +++---
 .../SCT_GeoModel/src/SCT_BarrelParameters.cxx | 180 +++++++++---------
 .../SCT_GeoModel/src/SCT_ComponentFactory.cxx |   4 +-
 .../SCT_GeoModel/src/SCT_DetectorFactory.cxx  |   4 +-
 .../SCT_GeoModel/src/SCT_FSIHelper.cxx        |   6 +-
 .../SCT_GeoModel/src/SCT_Forward.cxx          |   4 +-
 .../src/SCT_ForwardModuleParameters.cxx       |  80 ++++----
 .../src/SCT_ForwardParameters.cxx             | 116 +++++------
 .../SCT_GeoModel/src/SCT_FwdCoolingPipe.cxx   |  10 +-
 .../src/SCT_FwdCylinderServices.cxx           |  37 ++--
 .../SCT_GeoModel/src/SCT_FwdHybrid.cxx        |  12 +-
 .../SCT_GeoModel/src/SCT_FwdModule.cxx        |  43 ++---
 .../src/SCT_FwdModuleConnector.cxx            |   4 +-
 .../SCT_GeoModel/src/SCT_FwdOptoHarness.cxx   |   4 +-
 .../SCT_GeoModel/src/SCT_FwdPowerTape.cxx     |   6 +-
 .../SCT_GeoModel/src/SCT_FwdRing.cxx          |  32 ++--
 .../SCT_GeoModel/src/SCT_FwdSensor.cxx        |  12 +-
 .../SCT_GeoModel/src/SCT_FwdSpine.cxx         |   9 +-
 .../SCT_GeoModel/src/SCT_FwdWheel.cxx         |  29 ++-
 .../src/SCT_GeneralParameters.cxx             |  16 +-
 .../SCT_GeoModel/src/SCT_InnerSide.cxx        |   6 +-
 .../SCT_GeoModel/src/SCT_InterLink.cxx        |  18 +-
 .../SCT_GeoModel/src/SCT_Layer.cxx            |  20 +-
 .../SCT_GeoModel/src/SCT_MaterialManager.cxx  |   3 +-
 .../SCT_GeoModel/src/SCT_Module.cxx           |  48 ++---
 .../SCT_GeoModel/src/SCT_OuterSide.cxx        |  10 +-
 .../SCT_GeoModel/src/SCT_Sensor.cxx           |  11 +-
 .../SCT_GeoModel/src/SCT_Ski.cxx              |   8 +-
 .../SCT_GeoModel/src/SCT_SkiPowerTape.cxx     |   6 +-
 30 files changed, 392 insertions(+), 414 deletions(-)

diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Barrel.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Barrel.cxx
index ce889524052d..a0294257cca2 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Barrel.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Barrel.cxx
@@ -33,7 +33,7 @@
 #include "GeoModelKernel/GeoMaterial.h"
 #include "GeoModelKernel/GeoShape.h"
 #include "GeoModelKernel/GeoShapeShift.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <iostream>
 
@@ -59,7 +59,7 @@ SCT_Barrel::getParameters()
   m_thermalShieldEndWallThickness = parameters->thermalShieldEndCapThickness();
 
   // Clearannce in z between layer and interlink.
-  m_zClearance = 1*GeoModelKernelUnits::mm;
+  m_zClearance = 1*Gaudi::Units::mm;
 
   // Layer internal structure and services depend on geometry version
   m_isOldGeometry = parameters->isOldGeometry();
@@ -277,10 +277,10 @@ void SCT_Barrel::buildEMIShield(GeoFullPhysVol * parent) const
   if (!m_isOldGeometry) {
     double dphi = jointRPhi / outerRadius;
     const GeoTubs* emiJointTubs = new GeoTubs(outerRadius, outerRadius+jointDeltaR, 0.5*length,
-                                              -0.5 * dphi * GeoModelKernelUnits::radian, dphi * GeoModelKernelUnits::radian);
+                                              -0.5 * dphi * Gaudi::Units::radian, dphi * Gaudi::Units::radian);
     //    std::cout << "EMIJoint tubs volume = " << emiJointTubs->volume() << std::endl; 
     const GeoTubs* jointCutOut = new GeoTubs(outerRadius, outerRadius+jointDeltaR, 0.5*pixelAttachmentLength,
-                                             -0.5 * dphi * GeoModelKernelUnits::radian, dphi * GeoModelKernelUnits::radian);
+                                             -0.5 * dphi * Gaudi::Units::radian, dphi * Gaudi::Units::radian);
     //    std::cout << "Cut-out volume = " << jointCutOut->volume() << std::endl; 
     const GeoShape* jointTemp = (GeoShape*)&(emiJointTubs->subtract(*jointCutOut << GeoTrf::TranslateZ3D(pixelAttachmentZpos)));
     const GeoShape* emiJointShape = (GeoShape*)&jointTemp->subtract(*jointCutOut << GeoTrf::TranslateZ3D(-pixelAttachmentZpos));
@@ -291,7 +291,7 @@ void SCT_Barrel::buildEMIShield(GeoFullPhysVol * parent) const
     GeoPhysVol * emiJoint = new GeoPhysVol(emiJointLog);
     // Place 3 copies
     for (int i=0; i<3; i++) {
-      double angle = (90. + i * 120.) * GeoModelKernelUnits::degree;
+      double angle = (90. + i * 120.) * Gaudi::Units::degree;
       parent->add(new GeoTransform(GeoTrf::RotateZ3D(angle)));
       parent->add(emiJoint);
     }
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_BarrelModuleParameters.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_BarrelModuleParameters.cxx
index 5e9b1e1dc341..ef197e7387e5 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_BarrelModuleParameters.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_BarrelModuleParameters.cxx
@@ -9,7 +9,7 @@
 
 #include "RDBAccessSvc/IRDBRecord.h"
 
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <cmath>
 
@@ -19,16 +19,16 @@ using std::abs;
 // A few hard wired numbers (some of which should go in NOVA)
 //
 /*
-const double SCT_MODULE_HYBRID_OFFSET = 5.0 * GeoModelKernelUnits::mm; // Planar distance from center of sensor to edge of hybrid.
+const double SCT_MODULE_HYBRID_OFFSET = 5.0 * Gaudi::Units::mm; // Planar distance from center of sensor to edge of hybrid.
 const int STEREO_UPPER_SIGN = -1; // Sign of stereo rotation of upper sensor with axis going
                                   // from lower to upper  
 
 const double PITCH = 80 * micrometer;
-const double HALF_ACTIVE_STRIP_LENGTH = 31 * GeoModelKernelUnits::mm;
-const double NOMINAL_WAFER_LENGTH = 63.960 * GeoModelKernelUnits::mm;
-const double REF_DISTANCE_BETWEEN_FIDUCIALS = 2.19 * GeoModelKernelUnits::mm; 
-const double DISTANCE_CORNER_MARK_TO_CENTER = 31.750 * GeoModelKernelUnits::mm; 
-const double DISTANCE_CORNER_MARK_TO_FIDUCIAL = 0.8 * GeoModelKernelUnits::mm; 
+const double HALF_ACTIVE_STRIP_LENGTH = 31 * Gaudi::Units::mm;
+const double NOMINAL_WAFER_LENGTH = 63.960 * Gaudi::Units::mm;
+const double REF_DISTANCE_BETWEEN_FIDUCIALS = 2.19 * Gaudi::Units::mm; 
+const double DISTANCE_CORNER_MARK_TO_CENTER = 31.750 * Gaudi::Units::mm; 
+const double DISTANCE_CORNER_MARK_TO_FIDUCIAL = 0.8 * Gaudi::Units::mm; 
 const double DISTANCE_CENTER_TO_CENTER = 2 * (DISTANCE_CORNER_MARK_TO_CENTER - 
                                               DISTANCE_CORNER_MARK_TO_FIDUCIAL)
                                          + REF_DISTANCE_BETWEEN_FIDUCIALS;
@@ -45,19 +45,19 @@ SCT_BarrelModuleParameters::SCT_BarrelModuleParameters()
 double 
 SCT_BarrelModuleParameters::sensorThickness() const 
 {
-  return m_rdb->brlSensor()->getDouble("THICKNESS") * GeoModelKernelUnits::mm;
+  return m_rdb->brlSensor()->getDouble("THICKNESS") * Gaudi::Units::mm;
 }
 
 double 
 SCT_BarrelModuleParameters::sensorWidth() const 
 {
-  return m_rdb->brlSensor()->getDouble("WIDTH") * GeoModelKernelUnits::mm;
+  return m_rdb->brlSensor()->getDouble("WIDTH") * Gaudi::Units::mm;
 }
 
 double 
 SCT_BarrelModuleParameters::sensorLength() const 
 {
-  return m_rdb->brlSensor()->getDouble("WAFERLENGTH") * GeoModelKernelUnits::mm;
+  return m_rdb->brlSensor()->getDouble("WAFERLENGTH") * Gaudi::Units::mm;
 }
 
 int
@@ -75,20 +75,20 @@ SCT_BarrelModuleParameters::sensorMaterial() const
 double
 SCT_BarrelModuleParameters::sensorDistCenterToCenter() const 
 {
-  return 2 * m_rdb->brlSensor()->getDouble("CENTERTOFIDUCIAL") * GeoModelKernelUnits::mm 
-    + m_rdb->brlSensor()->getDouble("FIDUCIALSEP") * GeoModelKernelUnits::mm;
+  return 2 * m_rdb->brlSensor()->getDouble("CENTERTOFIDUCIAL") * Gaudi::Units::mm 
+    + m_rdb->brlSensor()->getDouble("FIDUCIALSEP") * Gaudi::Units::mm;
 }
 
 double
 SCT_BarrelModuleParameters::sensorStripLength() const
 {
-  return 2 * m_rdb->brlSensor()->getDouble("ACTIVEHALFLENGTH") * GeoModelKernelUnits::mm;
+  return 2 * m_rdb->brlSensor()->getDouble("ACTIVEHALFLENGTH") * Gaudi::Units::mm;
 }
 
 double
 SCT_BarrelModuleParameters::sensorStripPitch() const
 {
-  return m_rdb->brlSensor()->getDouble("STRIPPITCH") * GeoModelKernelUnits::mm;
+  return m_rdb->brlSensor()->getDouble("STRIPPITCH") * Gaudi::Units::mm;
 }
 
 int 
@@ -118,19 +118,19 @@ SCT_BarrelModuleParameters::sensorStripShift() const
 double 
 SCT_BarrelModuleParameters::baseBoardThickness() const 
 {
-  return m_rdb->brlModule()->getDouble("BASEBOARDTHICKNESS") * GeoModelKernelUnits::mm;
+  return m_rdb->brlModule()->getDouble("BASEBOARDTHICKNESS") * Gaudi::Units::mm;
 }
 
 double 
 SCT_BarrelModuleParameters::baseBoardWidth() const 
 {
-  return m_rdb->brlModule()->getDouble("BASEBOARDWIDTH") * GeoModelKernelUnits::mm;
+  return m_rdb->brlModule()->getDouble("BASEBOARDWIDTH") * Gaudi::Units::mm;
 }
 
 double 
 SCT_BarrelModuleParameters::baseBoardLength() const 
 {
-  return m_rdb->brlModule()->getDouble("BASEBOARDLENGTH") * GeoModelKernelUnits::mm;
+  return m_rdb->brlModule()->getDouble("BASEBOARDLENGTH") * Gaudi::Units::mm;
 }
 
 std::string
@@ -142,13 +142,13 @@ SCT_BarrelModuleParameters::baseBoardMaterial() const
 double 
 SCT_BarrelModuleParameters::baseBoardOffsetY() const 
 {
-  return m_rdb->brlModule()->getDouble("BASEBOARDOFFSETY") * GeoModelKernelUnits::mm;
+  return m_rdb->brlModule()->getDouble("BASEBOARDOFFSETY") * Gaudi::Units::mm;
 }
 
 double 
 SCT_BarrelModuleParameters::baseBoardOffsetZ() const 
 {
-  return m_rdb->brlModule()->getDouble("BASEBOARDOFFSETZ") * GeoModelKernelUnits::mm;
+  return m_rdb->brlModule()->getDouble("BASEBOARDOFFSETZ") * Gaudi::Units::mm;
 }
 
 //
@@ -157,19 +157,19 @@ SCT_BarrelModuleParameters::baseBoardOffsetZ() const
 double 
 SCT_BarrelModuleParameters::hybridThickness() const 
 {
-  return m_rdb->brlModule()->getDouble("HYBRIDTHICKNESS") * GeoModelKernelUnits::mm;
+  return m_rdb->brlModule()->getDouble("HYBRIDTHICKNESS") * Gaudi::Units::mm;
 }
 
 double 
 SCT_BarrelModuleParameters::hybridWidth() const 
 {
-  return m_rdb->brlModule()->getDouble("HYBRIDWIDTH") * GeoModelKernelUnits::mm;
+  return m_rdb->brlModule()->getDouble("HYBRIDWIDTH") * Gaudi::Units::mm;
 }
 
 double 
 SCT_BarrelModuleParameters::hybridLength() const 
 {
-  return m_rdb->brlModule()->getDouble("HYBRIDLENGTH") * GeoModelKernelUnits::mm;
+  return m_rdb->brlModule()->getDouble("HYBRIDLENGTH") * Gaudi::Units::mm;
 }
 
 std::string
@@ -181,13 +181,13 @@ SCT_BarrelModuleParameters::hybridMaterial() const
 double 
 SCT_BarrelModuleParameters::hybridOffsetX() const 
 {
-  return m_rdb->brlModule()->getDouble("HYBRIDOFFSETX") * GeoModelKernelUnits::mm;
+  return m_rdb->brlModule()->getDouble("HYBRIDOFFSETX") * Gaudi::Units::mm;
 }
 
 double 
 SCT_BarrelModuleParameters::hybridOffsetZ() const 
 {
-  return m_rdb->brlModule()->getDouble("HYBRIDOFFSETZ") * GeoModelKernelUnits::mm;
+  return m_rdb->brlModule()->getDouble("HYBRIDOFFSETZ") * Gaudi::Units::mm;
 }
 
 //
@@ -196,19 +196,19 @@ SCT_BarrelModuleParameters::hybridOffsetZ() const
 double 
 SCT_BarrelModuleParameters::pigtailThickness() const 
 {
-  return m_rdb->brlModule()->getDouble("PIGTAILTHICKNESS") * GeoModelKernelUnits::mm;
+  return m_rdb->brlModule()->getDouble("PIGTAILTHICKNESS") * Gaudi::Units::mm;
 }
 
 double 
 SCT_BarrelModuleParameters::pigtailWidth() const 
 {
-  return m_rdb->brlModule()->getDouble("PIGTAILWIDTH") * GeoModelKernelUnits::mm;
+  return m_rdb->brlModule()->getDouble("PIGTAILWIDTH") * Gaudi::Units::mm;
 }
 
 double 
 SCT_BarrelModuleParameters::pigtailLength() const 
 {
-  return m_rdb->brlModule()->getDouble("PIGTAILLENGTH") * GeoModelKernelUnits::mm;
+  return m_rdb->brlModule()->getDouble("PIGTAILLENGTH") * Gaudi::Units::mm;
 }
 
 std::string
@@ -242,14 +242,14 @@ SCT_BarrelModuleParameters::moduleUpperSideNumber() const
 double 
 SCT_BarrelModuleParameters::moduleStereoAngle() const
 {
-  return m_rdb->brlModule()->getDouble("STEREOANGLE") * GeoModelKernelUnits::milliradian;
+  return m_rdb->brlModule()->getDouble("STEREOANGLE") * Gaudi::Units::milliradian;
 }
 
 
 double 
 SCT_BarrelModuleParameters::moduleSensorToSensorGap() const
 {
-  return m_rdb->brlModule()->getDouble("SENSORTOSENSORGAP") * GeoModelKernelUnits::mm;
+  return m_rdb->brlModule()->getDouble("SENSORTOSENSORGAP") * Gaudi::Units::mm;
 }
 
 
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_BarrelParameters.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_BarrelParameters.cxx
index ae69ebf0f092..4edba82c1e48 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_BarrelParameters.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_BarrelParameters.cxx
@@ -8,7 +8,7 @@
 #include "SCT_GeoModel/SCT_DataBase.h"
 
 #include "RDBAccessSvc/IRDBRecord.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <cmath>
 #include <iostream>
@@ -32,7 +32,7 @@ SCT_BarrelParameters::skiFirstStagger() const
 double 
 SCT_BarrelParameters::skiRadialSep() const
 {
-  return m_rdb->brlSki()->getDouble("SKIRADIALSEP") * GeoModelKernelUnits::mm;
+  return m_rdb->brlSki()->getDouble("SKIRADIALSEP") * Gaudi::Units::mm;
 }
 
 int
@@ -44,7 +44,7 @@ SCT_BarrelParameters::modulesPerSki() const
 double 
 SCT_BarrelParameters::skiZPosition(int index) const
 {
-  return m_rdb->brlSkiZ(index)->getDouble("ZPOSITION") * GeoModelKernelUnits::mm;
+  return m_rdb->brlSkiZ(index)->getDouble("ZPOSITION") * Gaudi::Units::mm;
 }
 
 int 
@@ -59,7 +59,7 @@ SCT_BarrelParameters::skiModuleIdentifier(int index) const
 double 
 SCT_BarrelParameters::tilt(int iLayer) const
 {
-  return m_rdb->brlLayer(iLayer)->getDouble("TILT") * GeoModelKernelUnits::degree;
+  return m_rdb->brlLayer(iLayer)->getDouble("TILT") * Gaudi::Units::degree;
 }
 
 int 
@@ -72,7 +72,7 @@ SCT_BarrelParameters::layerStereoSign(int iLayer) const
 double 
 SCT_BarrelParameters::radius(int iLayer) const
 {
-  return m_rdb->brlLayer(iLayer)->getDouble("RADIUS") * GeoModelKernelUnits::mm;
+  return m_rdb->brlLayer(iLayer)->getDouble("RADIUS") * Gaudi::Units::mm;
 }
 
 int 
@@ -84,7 +84,7 @@ SCT_BarrelParameters::skisPerLayer(int iLayer) const
 double 
 SCT_BarrelParameters::layerBracketPhiOffset(int iLayer) const
 {
-  return m_rdb->brlLayer(iLayer)->getDouble("BRACKETPHIOFFSET") * GeoModelKernelUnits::deg;
+  return m_rdb->brlLayer(iLayer)->getDouble("BRACKETPHIOFFSET") * Gaudi::Units::deg;
 }
 
 double 
@@ -93,9 +93,9 @@ SCT_BarrelParameters::layerPhiOfRefModule(int iLayer) const
   // For backward compatibility, if field is null return (90 - tilt) 
   // as ref module is horizontal in old versions.
   if  (m_rdb->brlLayer(iLayer)->isFieldNull("PHIOFREFMODULE")) {
-    return 90*GeoModelKernelUnits::deg - tilt(iLayer);
+    return 90*Gaudi::Units::deg - tilt(iLayer);
   }
-  return m_rdb->brlLayer(iLayer)->getDouble("PHIOFREFMODULE") * GeoModelKernelUnits::deg;
+  return m_rdb->brlLayer(iLayer)->getDouble("PHIOFREFMODULE") * Gaudi::Units::deg;
 }
 
 
@@ -105,19 +105,19 @@ SCT_BarrelParameters::layerPhiOfRefModule(int iLayer) const
 double
 SCT_BarrelParameters::bracketThickness() const
 {
-  return m_rdb->brlSki()->getDouble("BRACKETTHICKNESS") * GeoModelKernelUnits::mm;
+  return m_rdb->brlSki()->getDouble("BRACKETTHICKNESS") * Gaudi::Units::mm;
 }
 
 double
 SCT_BarrelParameters::bracketWidth() const
 {
-  return m_rdb->brlSki()->getDouble("BRACKETWIDTH") * GeoModelKernelUnits::mm;
+  return m_rdb->brlSki()->getDouble("BRACKETWIDTH") * Gaudi::Units::mm;
 }
  
 double
 SCT_BarrelParameters::bracketLength() const
 {
-  return m_rdb->brlSki()->getDouble("BRACKETLENGTH") * GeoModelKernelUnits::mm;
+  return m_rdb->brlSki()->getDouble("BRACKETLENGTH") * Gaudi::Units::mm;
 }
 
 std::string
@@ -132,19 +132,19 @@ SCT_BarrelParameters::bracketMaterial() const
 double
 SCT_BarrelParameters::doglegThickness() const
 {
-  return m_rdb->brlSki()->getDouble("DOGLEGTHICKNESS") * GeoModelKernelUnits::mm;
+  return m_rdb->brlSki()->getDouble("DOGLEGTHICKNESS") * Gaudi::Units::mm;
 }
 
 double
 SCT_BarrelParameters::doglegWidth() const
 {
-  return m_rdb->brlSki()->getDouble("DOGLEGWIDTH") * GeoModelKernelUnits::mm;
+  return m_rdb->brlSki()->getDouble("DOGLEGWIDTH") * Gaudi::Units::mm;
 }
  
 double
 SCT_BarrelParameters::doglegLength() const
 {
-  return m_rdb->brlSki()->getDouble("DOGLEGLENGTH") * GeoModelKernelUnits::mm;
+  return m_rdb->brlSki()->getDouble("DOGLEGLENGTH") * Gaudi::Units::mm;
 }
 
 std::string
@@ -156,13 +156,13 @@ SCT_BarrelParameters::doglegMaterial() const
 double
 SCT_BarrelParameters::doglegOffsetX() const
 {
-  return m_rdb->brlSki()->getDouble("DOGLEGOFFSETX") * GeoModelKernelUnits::mm;
+  return m_rdb->brlSki()->getDouble("DOGLEGOFFSETX") * Gaudi::Units::mm;
 }
 
 double
 SCT_BarrelParameters::doglegOffsetY() const
 {
-  return m_rdb->brlSki()->getDouble("DOGLEGOFFSETY") * GeoModelKernelUnits::mm;
+  return m_rdb->brlSki()->getDouble("DOGLEGOFFSETY") * Gaudi::Units::mm;
 }
 
 //
@@ -171,19 +171,19 @@ SCT_BarrelParameters::doglegOffsetY() const
 double
 SCT_BarrelParameters::coolingBlockThickness() const
 {
-  return m_rdb->brlSki()->getDouble("COOLINGBLOCKTHICK") * GeoModelKernelUnits::mm;
+  return m_rdb->brlSki()->getDouble("COOLINGBLOCKTHICK") * Gaudi::Units::mm;
 }
 
 double
 SCT_BarrelParameters::coolingBlockWidth() const
 {
-  return m_rdb->brlSki()->getDouble("COOLINGBLOCKWIDTH") * GeoModelKernelUnits::mm;
+  return m_rdb->brlSki()->getDouble("COOLINGBLOCKWIDTH") * Gaudi::Units::mm;
 }
  
 double
 SCT_BarrelParameters::coolingBlockLength() const
 {
-  return m_rdb->brlSki()->getDouble("COOLINGBLOCKLENGTH") * GeoModelKernelUnits::mm;
+  return m_rdb->brlSki()->getDouble("COOLINGBLOCKLENGTH") * Gaudi::Units::mm;
 }
 
 std::string
@@ -195,19 +195,19 @@ SCT_BarrelParameters::coolingBlockMaterial() const
 double
 SCT_BarrelParameters::coolingBlockOffsetX() const
 {
-  return m_rdb->brlSki()->getDouble("COOLINGBLOCKOFFSETX") * GeoModelKernelUnits::mm;
+  return m_rdb->brlSki()->getDouble("COOLINGBLOCKOFFSETX") * Gaudi::Units::mm;
 }
 
 double
 SCT_BarrelParameters::coolingBlockOffsetY() const
 {
-  return m_rdb->brlSki()->getDouble("COOLINGBLOCKOFFSETY") * GeoModelKernelUnits::mm;
+  return m_rdb->brlSki()->getDouble("COOLINGBLOCKOFFSETY") * Gaudi::Units::mm;
 }
 
 double
 SCT_BarrelParameters::coolingBlockOffsetZ() const
 {
-  return m_rdb->brlSki()->getDouble("COOLINGBLOCKOFFSETZ") * GeoModelKernelUnits::mm;
+  return m_rdb->brlSki()->getDouble("COOLINGBLOCKOFFSETZ") * Gaudi::Units::mm;
 }
 
 //
@@ -216,7 +216,7 @@ SCT_BarrelParameters::coolingBlockOffsetZ() const
 double
 SCT_BarrelParameters::coolingPipeRadius() const
 {
-  return m_rdb->brlSki()->getDouble("COOLINGPIPERADIUS") * GeoModelKernelUnits::mm;
+  return m_rdb->brlSki()->getDouble("COOLINGPIPERADIUS") * Gaudi::Units::mm;
 }
 
 std::string
@@ -228,13 +228,13 @@ SCT_BarrelParameters::coolingPipeMaterial() const
 double
 SCT_BarrelParameters::coolingPipeOffsetX() const
 {
-  return m_rdb->brlSki()->getDouble("COOLINGPIPEOFFSETX") * GeoModelKernelUnits::mm;
+  return m_rdb->brlSki()->getDouble("COOLINGPIPEOFFSETX") * Gaudi::Units::mm;
 }
 
 double
 SCT_BarrelParameters::coolingPipeOffsetY() const
 {
-  return m_rdb->brlSki()->getDouble("COOLINGPIPEOFFSETY") * GeoModelKernelUnits::mm;
+  return m_rdb->brlSki()->getDouble("COOLINGPIPEOFFSETY") * Gaudi::Units::mm;
 }
 
 
@@ -244,13 +244,13 @@ SCT_BarrelParameters::coolingPipeOffsetY() const
 double
 SCT_BarrelParameters::powerTapeThickness() const
 {
-  return m_rdb->brlSki()->getDouble("POWERTAPETHICKNESS") * GeoModelKernelUnits::mm;
+  return m_rdb->brlSki()->getDouble("POWERTAPETHICKNESS") * Gaudi::Units::mm;
 }
 
 double
 SCT_BarrelParameters::powerTapeWidth() const
 {
-  return m_rdb->brlSki()->getDouble("POWERTAPEWIDTH") * GeoModelKernelUnits::mm;
+  return m_rdb->brlSki()->getDouble("POWERTAPEWIDTH") * Gaudi::Units::mm;
 }
 
 std::string
@@ -262,7 +262,7 @@ SCT_BarrelParameters::powerTapeMaterial() const
 double
 SCT_BarrelParameters::powerTapeStartPointOffset() const
 {
-  return m_rdb->brlSki()->getDouble("POWERTAPESTARTOFFSET") * GeoModelKernelUnits::mm;
+  return m_rdb->brlSki()->getDouble("POWERTAPESTARTOFFSET") * Gaudi::Units::mm;
 }
  
 //
@@ -271,13 +271,13 @@ SCT_BarrelParameters::powerTapeStartPointOffset() const
 double
 SCT_BarrelParameters::harnessThickness() const
 {
-  return m_rdb->brlSki()->getDouble("HARNESSTHICKNESS") * GeoModelKernelUnits::mm;
+  return m_rdb->brlSki()->getDouble("HARNESSTHICKNESS") * Gaudi::Units::mm;
 }
 
 double
 SCT_BarrelParameters::harnessWidth() const
 {
-  return m_rdb->brlSki()->getDouble("HARNESSWIDTH") * GeoModelKernelUnits::mm;
+  return m_rdb->brlSki()->getDouble("HARNESSWIDTH") * Gaudi::Units::mm;
 }
 
 std::string
@@ -292,7 +292,7 @@ SCT_BarrelParameters::harnessMaterial() const
 double 
 SCT_BarrelParameters::supportCylInnerRadius(int iLayer) const
 {
-  return m_rdb->brlServPerLayer(iLayer)->getDouble("SUPPORTCYLINNERRAD") * GeoModelKernelUnits::mm;
+  return m_rdb->brlServPerLayer(iLayer)->getDouble("SUPPORTCYLINNERRAD") * Gaudi::Units::mm;
 }
 
 double 
@@ -304,7 +304,7 @@ SCT_BarrelParameters::supportCylOuterRadius(int iLayer) const
 double 
 SCT_BarrelParameters::supportCylDeltaR(int iLayer) const
 {
-  return m_rdb->brlServPerLayer(iLayer)->getDouble("SUPPORTCYLDELTAR") * GeoModelKernelUnits::mm;
+  return m_rdb->brlServPerLayer(iLayer)->getDouble("SUPPORTCYLDELTAR") * Gaudi::Units::mm;
 }
 
 std::string 
@@ -320,13 +320,13 @@ SCT_BarrelParameters::supportCylMaterial(int iLayer) const
 double 
 SCT_BarrelParameters::flangeDeltaZ(int iLayer) const
 {
-  return m_rdb->brlServPerLayer(iLayer)->getDouble("FLANGEDELTAZ") * GeoModelKernelUnits::mm;
+  return m_rdb->brlServPerLayer(iLayer)->getDouble("FLANGEDELTAZ") * Gaudi::Units::mm;
 }
 
 double 
 SCT_BarrelParameters::flangeDeltaR(int iLayer) const
 {
-  return m_rdb->brlServPerLayer(iLayer)->getDouble("FLANGEDELTAR") * GeoModelKernelUnits::mm;
+  return m_rdb->brlServPerLayer(iLayer)->getDouble("FLANGEDELTAR") * Gaudi::Units::mm;
 }
 
 std::string 
@@ -341,13 +341,13 @@ SCT_BarrelParameters::flangeMaterial(int iLayer) const
 double 
 SCT_BarrelParameters::clampDeltaZ(int iLayer) const
 {
-  return m_rdb->brlServPerLayer(iLayer)->getDouble("CLAMPDELTAZ") * GeoModelKernelUnits::mm;
+  return m_rdb->brlServPerLayer(iLayer)->getDouble("CLAMPDELTAZ") * Gaudi::Units::mm;
 }
 
 double 
 SCT_BarrelParameters::clampDeltaR(int iLayer) const
 {
-  return m_rdb->brlServPerLayer(iLayer)->getDouble("CLAMPDELTAR") * GeoModelKernelUnits::mm;
+  return m_rdb->brlServPerLayer(iLayer)->getDouble("CLAMPDELTAR") * Gaudi::Units::mm;
 }
 
 std::string 
@@ -362,7 +362,7 @@ SCT_BarrelParameters::clampMaterial(int iLayer) const
 double 
 SCT_BarrelParameters::coolingEndDeltaR(int iLayer) const
 {
-  return m_rdb->brlServPerLayer(iLayer)->getDouble("COOLINGENDDELTAR") * GeoModelKernelUnits::mm;
+  return m_rdb->brlServPerLayer(iLayer)->getDouble("COOLINGENDDELTAR") * Gaudi::Units::mm;
 }
 
 std::string 
@@ -377,7 +377,7 @@ SCT_BarrelParameters::coolingEndMaterial(int iLayer) const
 double 
 SCT_BarrelParameters::closeOutDeltaZ(int iLayer) const
 {
-  return m_rdb->brlServPerLayer(iLayer)->getDouble("CLOSEOUTDELTAZ") * GeoModelKernelUnits::mm;
+  return m_rdb->brlServPerLayer(iLayer)->getDouble("CLOSEOUTDELTAZ") * Gaudi::Units::mm;
 }
 
 std::string 
@@ -392,19 +392,19 @@ SCT_BarrelParameters::closeOutMaterial(int iLayer) const
 double 
 SCT_BarrelParameters::interLinkDeltaZ() const
 {
-  return m_rdb->brlServices()->getDouble("INTERLINKDELTAZ") * GeoModelKernelUnits::mm; 
+  return m_rdb->brlServices()->getDouble("INTERLINKDELTAZ") * Gaudi::Units::mm; 
 }
 
 double 
 SCT_BarrelParameters::interLinkInnerRadius() const
 {
-  return m_rdb->brlServices()->getDouble("INTERLINKINNERRADIUS") * GeoModelKernelUnits::mm; 
+  return m_rdb->brlServices()->getDouble("INTERLINKINNERRADIUS") * Gaudi::Units::mm; 
 }
 
 double 
 SCT_BarrelParameters::interLinkOuterRadius() const
 {
-  return m_rdb->brlServices()->getDouble("INTERLINKOUTERRADIUS") * GeoModelKernelUnits::mm; 
+  return m_rdb->brlServices()->getDouble("INTERLINKOUTERRADIUS") * Gaudi::Units::mm; 
 }
 
 std::string 
@@ -417,9 +417,9 @@ double
 SCT_BarrelParameters::interLinkDeltaPhi() const
 {
   if  (m_rdb->brlServices()->isFieldNull("INTERLINKDPHI")) {
-    return 360.*GeoModelKernelUnits::deg;
+    return 360.*Gaudi::Units::deg;
   }
-  return m_rdb->brlServices()->getDouble("INTERLINKDPHI") * GeoModelKernelUnits::deg; 
+  return m_rdb->brlServices()->getDouble("INTERLINKDPHI") * Gaudi::Units::deg; 
 }
 
 double 
@@ -428,7 +428,7 @@ SCT_BarrelParameters::interLinkPhiPos() const
   if  (m_rdb->brlServices()->isFieldNull("INTERLINKPHIPOS")) {
     return 0.;
   }
-  return m_rdb->brlServices()->getDouble("INTERLINKPHIPOS") * GeoModelKernelUnits::deg;
+  return m_rdb->brlServices()->getDouble("INTERLINKPHIPOS") * Gaudi::Units::deg;
 }
 
 int
@@ -446,7 +446,7 @@ SCT_BarrelParameters::bearingDeltaPhi() const
   if  (m_rdb->brlServices()->isFieldNull("BEARINGDPHI")) {
     return 0.;
   }
-  return m_rdb->brlServices()->getDouble("BEARINGDPHI") * GeoModelKernelUnits::deg; 
+  return m_rdb->brlServices()->getDouble("BEARINGDPHI") * Gaudi::Units::deg; 
 }
 
 double 
@@ -455,7 +455,7 @@ SCT_BarrelParameters::bearingPhiPos() const
   if  (m_rdb->brlServices()->isFieldNull("BEARINGPHIPOS")) {
     return 0.;
   }
-  return m_rdb->brlServices()->getDouble("BEARINGPHIPOS") * GeoModelKernelUnits::deg;
+  return m_rdb->brlServices()->getDouble("BEARINGPHIPOS") * Gaudi::Units::deg;
 }
 
 int
@@ -489,13 +489,13 @@ SCT_BarrelParameters::includeFSI() const
 double 
 SCT_BarrelParameters::fsiFlangeInnerRadius() const
 {
-  return m_rdb->brlFSI()->getDouble("FLANGEINNERRADIUS") * GeoModelKernelUnits::mm; 
+  return m_rdb->brlFSI()->getDouble("FLANGEINNERRADIUS") * Gaudi::Units::mm; 
 }
 
 double 
 SCT_BarrelParameters::fsiFlangeOuterRadius() const
 {
-  return m_rdb->brlFSI()->getDouble("FLANGEOUTERRADIUS") * GeoModelKernelUnits::mm; 
+  return m_rdb->brlFSI()->getDouble("FLANGEOUTERRADIUS") * Gaudi::Units::mm; 
 }
 
 std::string 
@@ -507,7 +507,7 @@ SCT_BarrelParameters::fsiFlangeMaterial() const
 double 
 SCT_BarrelParameters::fsiFibreMaskDeltaR() const
 {
-  return m_rdb->brlFSI()->getDouble("FIBREMASKDELTAR") * GeoModelKernelUnits::mm; 
+  return m_rdb->brlFSI()->getDouble("FIBREMASKDELTAR") * Gaudi::Units::mm; 
 }
 
 std::string 
@@ -519,19 +519,19 @@ SCT_BarrelParameters::fsiFibreMaskMaterial() const
 double 
 SCT_BarrelParameters::fsiEndJewelRadialWidth() const
 {
-  return m_rdb->brlFSI()->getDouble("ENDJEWELRADIALWIDTH") * GeoModelKernelUnits::mm; 
+  return m_rdb->brlFSI()->getDouble("ENDJEWELRADIALWIDTH") * Gaudi::Units::mm; 
 }
 
 double 
 SCT_BarrelParameters::fsiEndJewelRPhiWidth() const
 {
-  return m_rdb->brlFSI()->getDouble("ENDJEWELRPHIWIDTH") * GeoModelKernelUnits::mm; 
+  return m_rdb->brlFSI()->getDouble("ENDJEWELRPHIWIDTH") * Gaudi::Units::mm; 
 }
 
 double 
 SCT_BarrelParameters::fsiEndJewelLength() const
 {
-  return m_rdb->brlFSI()->getDouble("ENDJEWELLENGTH") * GeoModelKernelUnits::mm; 
+  return m_rdb->brlFSI()->getDouble("ENDJEWELLENGTH") * Gaudi::Units::mm; 
 }
 
 std::string 
@@ -549,31 +549,31 @@ SCT_BarrelParameters::fsiEndJewelNRepeat(int iLayer) const
 double 
 SCT_BarrelParameters::fsiEndJewelPhi(int iLayer) const
 {
-  return m_rdb->brlFSILocation(iLayer)->getDouble("ENDJEWELPHI") * GeoModelKernelUnits::degree;
+  return m_rdb->brlFSILocation(iLayer)->getDouble("ENDJEWELPHI") * Gaudi::Units::degree;
 }
 
 double 
 SCT_BarrelParameters::fsiEndJewelZ(int iLayer) const
 {
-  return m_rdb->brlFSILocation(iLayer)->getDouble("ENDJEWELZ") * GeoModelKernelUnits::mm;
+  return m_rdb->brlFSILocation(iLayer)->getDouble("ENDJEWELZ") * Gaudi::Units::mm;
 }
 
 double 
 SCT_BarrelParameters::fsiScorpionRadialWidth() const
 {
-  return m_rdb->brlFSI()->getDouble("SCORPIONRADIALWIDTH") * GeoModelKernelUnits::mm; 
+  return m_rdb->brlFSI()->getDouble("SCORPIONRADIALWIDTH") * Gaudi::Units::mm; 
 }
 
 double 
 SCT_BarrelParameters::fsiScorpionRPhiWidth() const
 {
-  return m_rdb->brlFSI()->getDouble("SCORPIONRPHIWIDTH") * GeoModelKernelUnits::mm; 
+  return m_rdb->brlFSI()->getDouble("SCORPIONRPHIWIDTH") * Gaudi::Units::mm; 
 }
 
 double 
 SCT_BarrelParameters::fsiScorpionLength() const
 {
-  return m_rdb->brlFSI()->getDouble("SCORPIONLENGTH") * GeoModelKernelUnits::mm; 
+  return m_rdb->brlFSI()->getDouble("SCORPIONLENGTH") * Gaudi::Units::mm; 
 }
 
 std::string 
@@ -591,13 +591,13 @@ SCT_BarrelParameters::fsiScorpionNRepeat(int iLayer) const
 double 
 SCT_BarrelParameters::fsiScorpionPhi(int iLayer) const
 {
-  return m_rdb->brlFSILocation(iLayer)->getDouble("SCORPIONPHI") * GeoModelKernelUnits::degree;
+  return m_rdb->brlFSILocation(iLayer)->getDouble("SCORPIONPHI") * Gaudi::Units::degree;
 }
 
 double 
 SCT_BarrelParameters::fsiScorpionZ(int iLayer) const
 {
-  return m_rdb->brlFSILocation(iLayer)->getDouble("SCORPIONZ") * GeoModelKernelUnits::mm;
+  return m_rdb->brlFSILocation(iLayer)->getDouble("SCORPIONZ") * Gaudi::Units::mm;
 }
 
 
@@ -607,19 +607,19 @@ SCT_BarrelParameters::fsiScorpionZ(int iLayer) const
 double 
 SCT_BarrelParameters::spiderDeltaZ() const
 {
-  return m_rdb->brlServices()->getDouble("SPIDERDELTAZ") * GeoModelKernelUnits::mm; 
+  return m_rdb->brlServices()->getDouble("SPIDERDELTAZ") * Gaudi::Units::mm; 
 }
 
 double 
 SCT_BarrelParameters::spiderInnerRadius() const
 {
-  return m_rdb->brlServices()->getDouble("SPIDERINNERRADIUS") * GeoModelKernelUnits::mm; 
+  return m_rdb->brlServices()->getDouble("SPIDERINNERRADIUS") * Gaudi::Units::mm; 
 }
 
 double 
 SCT_BarrelParameters::spiderOuterRadius() const
 {
-  return m_rdb->brlServices()->getDouble("SPIDEROUTERRADIUS") * GeoModelKernelUnits::mm; 
+  return m_rdb->brlServices()->getDouble("SPIDEROUTERRADIUS") * Gaudi::Units::mm; 
 }
 
 std::string 
@@ -634,85 +634,85 @@ SCT_BarrelParameters::spiderMaterial() const
 double
 SCT_BarrelParameters::thermalShieldInnerRadius() const
 {
-  return m_rdb->brlThermalShield()->getDouble("INNERRADIUS") * GeoModelKernelUnits::mm;
+  return m_rdb->brlThermalShield()->getDouble("INNERRADIUS") * Gaudi::Units::mm;
 }
 
 double
 SCT_BarrelParameters::thermalShieldOuterRadius() const
 {
-  return m_rdb->brlThermalShield()->getDouble("OUTERRADIUS") * GeoModelKernelUnits::mm;
+  return m_rdb->brlThermalShield()->getDouble("OUTERRADIUS") * Gaudi::Units::mm;
 }
 
 double
 SCT_BarrelParameters::thermalShieldEndZMax() const
 {
-  return m_rdb->brlThermalShield()->getDouble("ENDZMAX") * GeoModelKernelUnits::mm;
+  return m_rdb->brlThermalShield()->getDouble("ENDZMAX") * Gaudi::Units::mm;
 }
 
 double
 SCT_BarrelParameters::thermalShieldCylTotalThickness() const
 {
-  return m_rdb->brlThermalShield()->getDouble("CYLTOTALTHICKNESS") * GeoModelKernelUnits::mm;
+  return m_rdb->brlThermalShield()->getDouble("CYLTOTALTHICKNESS") * Gaudi::Units::mm;
 }
 
 double
 SCT_BarrelParameters::thermalShieldCylInnerWallThickness() const
 {
-  return m_rdb->brlThermalShield()->getDouble("CYLINNERWALLTHICK") * GeoModelKernelUnits::mm;
+  return m_rdb->brlThermalShield()->getDouble("CYLINNERWALLTHICK") * Gaudi::Units::mm;
 }
 
 double
 SCT_BarrelParameters::thermalShieldCylOuterWallThickness() const
 {
-  return m_rdb->brlThermalShield()->getDouble("CYLOUTERWALLTHICK") * GeoModelKernelUnits::mm;
+  return m_rdb->brlThermalShield()->getDouble("CYLOUTERWALLTHICK") * Gaudi::Units::mm;
 }
 
 double
 SCT_BarrelParameters::thermalShieldSpacerZWidth() const
 {
-  return m_rdb->brlThermalShield()->getDouble("SPACERZWIDTH") * GeoModelKernelUnits::mm;
+  return m_rdb->brlThermalShield()->getDouble("SPACERZWIDTH") * Gaudi::Units::mm;
 }
 
 double
 SCT_BarrelParameters::thermalShieldFirstSpacerZMin() const
 {
-  return m_rdb->brlThermalShield()->getDouble("FIRSTSPACERZMIN") * GeoModelKernelUnits::mm;
+  return m_rdb->brlThermalShield()->getDouble("FIRSTSPACERZMIN") * Gaudi::Units::mm;
 }
 
 double
 SCT_BarrelParameters::thermalShieldEndCapCylThickness() const
 {
-  return m_rdb->brlThermalShield()->getDouble("ENDCAPCYLTHICKNESS") * GeoModelKernelUnits::mm;
+  return m_rdb->brlThermalShield()->getDouble("ENDCAPCYLTHICKNESS") * Gaudi::Units::mm;
 }
 
 double
 SCT_BarrelParameters::thermalShieldEndCapThickness() const
 {
-  return m_rdb->brlThermalShield()->getDouble("ENDCAPTHICKNESS") * GeoModelKernelUnits::mm;
+  return m_rdb->brlThermalShield()->getDouble("ENDCAPTHICKNESS") * Gaudi::Units::mm;
 }
 
 double
 SCT_BarrelParameters::thermalShieldBulkheadInnerRadius() const
 {
-  return m_rdb->brlThermalShield()->getDouble("BULKHEADINNERRADIUS") * GeoModelKernelUnits::mm;
+  return m_rdb->brlThermalShield()->getDouble("BULKHEADINNERRADIUS") * Gaudi::Units::mm;
 }
 
 double
 SCT_BarrelParameters::thermalShieldBulkheadOuterRadius() const
 {
-  return m_rdb->brlThermalShield()->getDouble("BULKHEADOUTERRADIUS") * GeoModelKernelUnits::mm;
+  return m_rdb->brlThermalShield()->getDouble("BULKHEADOUTERRADIUS") * Gaudi::Units::mm;
 }
 
 double
 SCT_BarrelParameters::thermalShieldEndPanelInnerRadius() const
 {
-  return m_rdb->brlThermalShield()->getDouble("ENDPANELINNERRADIUS") * GeoModelKernelUnits::mm;
+  return m_rdb->brlThermalShield()->getDouble("ENDPANELINNERRADIUS") * Gaudi::Units::mm;
 }
 
 double
 SCT_BarrelParameters::thermalShieldEndPanelOuterRadius() const
 {
-  return m_rdb->brlThermalShield()->getDouble("ENDPANELOUTERRADIUS") * GeoModelKernelUnits::mm;
+  return m_rdb->brlThermalShield()->getDouble("ENDPANELOUTERRADIUS") * Gaudi::Units::mm;
 }
 
 std::string
@@ -745,19 +745,19 @@ SCT_BarrelParameters::thermalShieldMaterialInnerSect() const
 double
 SCT_BarrelParameters::emiShieldInnerRadius() const
 {
-  return m_rdb->brlServices()->getDouble("EMIINNERRADIUS") * GeoModelKernelUnits::mm;
+  return m_rdb->brlServices()->getDouble("EMIINNERRADIUS") * Gaudi::Units::mm;
 }
 
 double
 SCT_BarrelParameters::emiShieldDeltaR() const
 {
-  return m_rdb->brlServices()->getDouble("EMIDELTAR") * GeoModelKernelUnits::mm;
+  return m_rdb->brlServices()->getDouble("EMIDELTAR") * Gaudi::Units::mm;
 }
 
 double
 SCT_BarrelParameters::emiShieldZMax() const
 {
-  return m_rdb->brlServices()->getDouble("EMIZMAX") * GeoModelKernelUnits::mm;
+  return m_rdb->brlServices()->getDouble("EMIZMAX") * Gaudi::Units::mm;
 }
 
 std::string
@@ -769,13 +769,13 @@ SCT_BarrelParameters::emiShieldMaterial() const
 double
 SCT_BarrelParameters::emiJointDeltaR() const
 {
-  return m_rdb->brlServices()->getDouble("EMIJOINTDELTAR") * GeoModelKernelUnits::mm;
+  return m_rdb->brlServices()->getDouble("EMIJOINTDELTAR") * Gaudi::Units::mm;
 }
 
 double
 SCT_BarrelParameters::emiJointRPhi() const
 {
-  return m_rdb->brlServices()->getDouble("EMIJOINTRPHI") * GeoModelKernelUnits::mm;
+  return m_rdb->brlServices()->getDouble("EMIJOINTRPHI") * Gaudi::Units::mm;
 }
 
 std::string
@@ -792,25 +792,25 @@ SCT_BarrelParameters::emiJointMaterial() const
 double 
 SCT_BarrelParameters::pixelAttachmentInnerRadius() const
 {
-  return m_rdb->brlServices()->getDouble("PIXELATTACHINNERRAD") * GeoModelKernelUnits::mm; 
+  return m_rdb->brlServices()->getDouble("PIXELATTACHINNERRAD") * Gaudi::Units::mm; 
 }
 
 double 
 SCT_BarrelParameters::pixelAttachmentOuterRadius() const
 {
-  return m_rdb->brlServices()->getDouble("PIXELATTACHOUTERRAD") * GeoModelKernelUnits::mm; 
+  return m_rdb->brlServices()->getDouble("PIXELATTACHOUTERRAD") * Gaudi::Units::mm; 
 }
 
 double 
 SCT_BarrelParameters::pixelAttachmentZMin() const
 {
-  return m_rdb->brlServices()->getDouble("PIXELATTACHZMIN") * GeoModelKernelUnits::mm; 
+  return m_rdb->brlServices()->getDouble("PIXELATTACHZMIN") * Gaudi::Units::mm; 
 }
 
 double 
 SCT_BarrelParameters::pixelAttachmentDeltaZ() const
 {
-  return m_rdb->brlServices()->getDouble("PIXELATTACHDELTAZ") * GeoModelKernelUnits::mm; 
+  return m_rdb->brlServices()->getDouble("PIXELATTACHDELTAZ") * Gaudi::Units::mm; 
 }
 
 std::string 
@@ -831,31 +831,31 @@ SCT_BarrelParameters::numLayers() const
 double 
 SCT_BarrelParameters::barrelInnerRadius() const
 {
-  return m_rdb->brlGeneral()->getDouble("INNERRADIUS") * GeoModelKernelUnits::mm; 
+  return m_rdb->brlGeneral()->getDouble("INNERRADIUS") * Gaudi::Units::mm; 
 }
 
 double 
 SCT_BarrelParameters::barrelOuterRadius() const
 {
-  return m_rdb->brlGeneral()->getDouble("OUTERRADIUS") * GeoModelKernelUnits::mm; 
+  return m_rdb->brlGeneral()->getDouble("OUTERRADIUS") * Gaudi::Units::mm; 
 }
 
 double 
 SCT_BarrelParameters::barrelLength() const
 {
-  return m_rdb->brlGeneral()->getDouble("LENGTH") * GeoModelKernelUnits::mm; 
+  return m_rdb->brlGeneral()->getDouble("LENGTH") * Gaudi::Units::mm; 
 }
 
 double 
 SCT_BarrelParameters::cylinderLength() const
 {
-  return m_rdb->brlGeneral()->getDouble("CYLINDERLENGTH") * GeoModelKernelUnits::mm; 
+  return m_rdb->brlGeneral()->getDouble("CYLINDERLENGTH") * Gaudi::Units::mm; 
 }
 
 double 
 SCT_BarrelParameters::activeLength() const
 {
-  return m_rdb->brlGeneral()->getDouble("ACTIVELENGTH") * GeoModelKernelUnits::mm; 
+  return m_rdb->brlGeneral()->getDouble("ACTIVELENGTH") * Gaudi::Units::mm; 
 }
 
 bool 
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_ComponentFactory.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_ComponentFactory.cxx
index cf2f14e12963..cee35aa92f6f 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_ComponentFactory.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_ComponentFactory.cxx
@@ -3,7 +3,7 @@
 */
 
 #include "SCT_GeoModel/SCT_ComponentFactory.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <sstream>
 #include <string>
@@ -13,7 +13,7 @@ using InDetDD::SCT_DetectorManager;
 SCT_DetectorManager * SCT_ComponentFactory::s_detectorManager = 0;
 const SCT_GeometryManager * SCT_ComponentFactory::s_geometryManager = 0;
 
-double SCT_ComponentFactory::s_epsilon = 1.0e-6 * GeoModelKernelUnits::mm;
+double SCT_ComponentFactory::s_epsilon = 1.0e-6 * Gaudi::Units::mm;
 
 SCT_ComponentFactory::SCT_ComponentFactory(const std::string & name) 
   : m_name(name)
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_DetectorFactory.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_DetectorFactory.cxx
index 3a9fdd418ed6..94b2350d3ac8 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_DetectorFactory.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_DetectorFactory.cxx
@@ -50,8 +50,8 @@
 #include "GaudiKernel/ISvcLocator.h"
 
 #include "GeoModelKernel/GeoDefinitions.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
-#include "GeoModelKernel/Units.h"
 
 
 #include <iostream> 
@@ -246,7 +246,7 @@ void SCT_DetectorFactory::create(GeoPhysVol *world)
     GeoVPhysVol * forwardMinusPV = sctForwardMinus.build(idFwdMinus);
 
     GeoTrf::Transform3D rot;
-    rot = GeoTrf::RotateY3D(180 * GeoModelKernelUnits::degree);
+    rot = GeoTrf::RotateY3D(180 * Gaudi::Units::degree);
   
     GeoTrf::Transform3D fwdTransformMinus(sctTransform  
                                            * sctGeneral->partTransform(forwardMinusLabel)  
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FSIHelper.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FSIHelper.cxx
index 5b0b4e3c9bcd..da4786130076 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FSIHelper.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FSIHelper.cxx
@@ -6,7 +6,7 @@
 #include "SCT_GeoModel/SCT_FSIHelper.h"
 #include "SCT_GeoModel/SCT_DataBase.h"
 #include "RDBAccessSvc/IRDBRecord.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <iostream>
 
@@ -66,8 +66,8 @@ FSIHelper::fill()
   // Loop through location types
   for (int iLocIndex = 0; iLocIndex < m_rdb->fwdFSILocationSize(); iLocIndex++) {
     std::string locType =  m_rdb->fwdFSILocation(iLocIndex)->getString("LOCTYPE");
-    double radius =  m_rdb->fwdFSILocation(iLocIndex)->getDouble("LOCR") * GeoModelKernelUnits::mm;
-    double rphi = m_rdb->fwdFSILocation(iLocIndex)->getDouble("LOCPHI") * GeoModelKernelUnits::deg;
+    double radius =  m_rdb->fwdFSILocation(iLocIndex)->getDouble("LOCR") * Gaudi::Units::mm;
+    double rphi = m_rdb->fwdFSILocation(iLocIndex)->getDouble("LOCPHI") * Gaudi::Units::deg;
     int side =  m_rdb->fwdFSILocation(iLocIndex)->getInt("SIDE");
     FSILocation * location = new  FSILocation(locType, radius, rphi, side);
     m_locationTypes[locType] = location;
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Forward.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Forward.cxx
index 9282e83020c2..615d618c2b0d 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Forward.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Forward.cxx
@@ -32,7 +32,7 @@
 #include "GeoModelKernel/GeoTransform.h"
 #include "GeoModelKernel/GeoAlignableTransform.h"
 #include "GeoModelKernel/GeoMaterial.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <sstream>
 #include <cmath>
@@ -224,7 +224,7 @@ SCT_Forward::build(SCT_Identifier id) const
       // Calculate radius to start placing power tapes. This is half way bewteen outer radius
       // of support fram and outer radius of forward envelope.
       // The -1 mm is to avoid a clash with the thermal shield.
-      double innerRadiusPowerTapes = 0.5*(supportFrame.outerRadius() + m_outerRadius) - 1*GeoModelKernelUnits::mm;
+      double innerRadiusPowerTapes = 0.5*(supportFrame.outerRadius() + m_outerRadius) - 1*Gaudi::Units::mm;
 
       // Inner radius of cylinder representing power tapes. Gets incremented for each wheel.
       double rStart = innerRadiusPowerTapes;
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_ForwardModuleParameters.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_ForwardModuleParameters.cxx
index d1617a10e14e..fb09c3900adb 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_ForwardModuleParameters.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_ForwardModuleParameters.cxx
@@ -9,7 +9,7 @@
 #include "RDBAccessSvc/IRDBRecordset.h"
 #include "RDBAccessSvc/IRDBRecord.h"
 
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <cmath>
 
@@ -31,55 +31,55 @@ SCT_ForwardModuleParameters::fwdSensorNumWafers(int iModuleType) const
 double 
 SCT_ForwardModuleParameters::fwdSensorThickness(int iModuleType) const
 {
-  return  m_rdb->fwdSensor(iModuleType)->getDouble("THICKNESS") * GeoModelKernelUnits::mm;
+  return  m_rdb->fwdSensor(iModuleType)->getDouble("THICKNESS") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdSensorInnerWidthNear(int iModuleType) const
 {
-  return  m_rdb->fwdSensor(iModuleType)->getDouble("INNERWIDTHNEAR") * GeoModelKernelUnits::mm;
+  return  m_rdb->fwdSensor(iModuleType)->getDouble("INNERWIDTHNEAR") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdSensorInnerWidthFar(int iModuleType) const
 {
-  return  m_rdb->fwdSensor(iModuleType)->getDouble("INNERWIDTHFAR") * GeoModelKernelUnits::mm;
+  return  m_rdb->fwdSensor(iModuleType)->getDouble("INNERWIDTHFAR") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdSensorOuterWidthNear(int iModuleType) const
 {
-  return  m_rdb->fwdSensor(iModuleType)->getDouble("OUTERWIDTHNEAR") * GeoModelKernelUnits::mm;
+  return  m_rdb->fwdSensor(iModuleType)->getDouble("OUTERWIDTHNEAR") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdSensorOuterWidthFar(int iModuleType) const
 {
-  return  m_rdb->fwdSensor(iModuleType)->getDouble("OUTERWIDTHFAR") * GeoModelKernelUnits::mm;
+  return  m_rdb->fwdSensor(iModuleType)->getDouble("OUTERWIDTHFAR") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdSensorLengthNear(int iModuleType) const
 {
-  return  m_rdb->fwdSensor(iModuleType)->getDouble("LENGTHNEAR") * GeoModelKernelUnits::mm;
+  return  m_rdb->fwdSensor(iModuleType)->getDouble("LENGTHNEAR") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdSensorLengthFar(int iModuleType) const
 {
-  return  m_rdb->fwdSensor(iModuleType)->getDouble("LENGTHFAR") * GeoModelKernelUnits::mm;
+  return  m_rdb->fwdSensor(iModuleType)->getDouble("LENGTHFAR") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdSensorRadiusNear(int iModuleType) const
 {
-  return  m_rdb->fwdSensor(iModuleType)->getDouble("RADIUSNEAR") * GeoModelKernelUnits::mm;
+  return  m_rdb->fwdSensor(iModuleType)->getDouble("RADIUSNEAR") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdSensorRadiusFar(int iModuleType) const
 {
-  return  m_rdb->fwdSensor(iModuleType)->getDouble("RADIUSFAR") * GeoModelKernelUnits::mm;
+  return  m_rdb->fwdSensor(iModuleType)->getDouble("RADIUSFAR") * Gaudi::Units::mm;
 }
 
 std::string 
@@ -109,19 +109,19 @@ SCT_ForwardModuleParameters::fwdSensorActiveFar(int iModuleType) const
 double 
 SCT_ForwardModuleParameters::fwdSensorActiveHalfLengthNear(int iModuleType) const
 {
-  return  m_rdb->fwdSensor(iModuleType)->getDouble("ACTIVEHALFLENGTHNEAR") * GeoModelKernelUnits::mm;
+  return  m_rdb->fwdSensor(iModuleType)->getDouble("ACTIVEHALFLENGTHNEAR") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdSensorActiveHalfLengthFar(int iModuleType) const
 {
-  return  m_rdb->fwdSensor(iModuleType)->getDouble("ACTIVEHALFLENGTHFAR") * GeoModelKernelUnits::mm;
+  return  m_rdb->fwdSensor(iModuleType)->getDouble("ACTIVEHALFLENGTHFAR") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdSensorAngularPitch(int iModuleType) const
 {
-  return  m_rdb->fwdSensor(iModuleType)->getDouble("ANGULARPITCH") * GeoModelKernelUnits::radian;
+  return  m_rdb->fwdSensor(iModuleType)->getDouble("ANGULARPITCH") * Gaudi::Units::radian;
 }
 
 int
@@ -149,37 +149,37 @@ SCT_ForwardModuleParameters::fwdSensorStripShift(int iModuleType) const
 double 
 SCT_ForwardModuleParameters::fwdHybridThickness() const
 {
-  return  m_rdb->fwdHybrid()->getDouble("THICKNESS") * GeoModelKernelUnits::mm;
+  return  m_rdb->fwdHybrid()->getDouble("THICKNESS") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdHybridInnerWidth() const
 {
-  return  m_rdb->fwdHybrid()->getDouble("INNERWIDTH") * GeoModelKernelUnits::mm;
+  return  m_rdb->fwdHybrid()->getDouble("INNERWIDTH") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdHybridOuterWidth() const
 {
-  return  m_rdb->fwdHybrid()->getDouble("OUTERWIDTH") * GeoModelKernelUnits::mm;
+  return  m_rdb->fwdHybrid()->getDouble("OUTERWIDTH") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdHybridLength() const
 {
-  return  m_rdb->fwdHybrid()->getDouble("LENGTH") * GeoModelKernelUnits::mm;
+  return  m_rdb->fwdHybrid()->getDouble("LENGTH") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdHybridLengthToCorner() const
 {
-  return  m_rdb->fwdHybrid()->getDouble("LENGTHTOCORNER") * GeoModelKernelUnits::mm;
+  return  m_rdb->fwdHybrid()->getDouble("LENGTHTOCORNER") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdHybridMountPointToInnerEdge() const
 {
-  return  m_rdb->fwdHybrid()->getDouble("MOUNTPOINTTOINEDGE") * GeoModelKernelUnits::mm;
+  return  m_rdb->fwdHybrid()->getDouble("MOUNTPOINTTOINEDGE") * Gaudi::Units::mm;
 }
 
 std::string 
@@ -194,26 +194,26 @@ SCT_ForwardModuleParameters::fwdHybridMaterial() const
 double 
 SCT_ForwardModuleParameters::fwdSpineThickness(int iModuleType) const
 {
-  return  m_rdb->fwdSpine(iModuleType)->getDouble("THICKNESS") * GeoModelKernelUnits::mm;
+  return  m_rdb->fwdSpine(iModuleType)->getDouble("THICKNESS") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdSpineWidth(int iModuleType) const
 {
-  return  m_rdb->fwdSpine(iModuleType)->getDouble("WIDTH") * GeoModelKernelUnits::mm;
+  return  m_rdb->fwdSpine(iModuleType)->getDouble("WIDTH") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdSpineEndToModuleCenter(int iModuleType) const
 {
-  return  m_rdb->fwdSpine(iModuleType)->getDouble("ENDTOMODULECENTER") * GeoModelKernelUnits::mm;
+  return  m_rdb->fwdSpine(iModuleType)->getDouble("ENDTOMODULECENTER") * Gaudi::Units::mm;
 }
 
 
 double 
 SCT_ForwardModuleParameters::fwdSpineEndLocatorToEndMount(int iModuleType) const
 {
-  return  m_rdb->fwdSpine(iModuleType)->getDouble("ENDLOCATORTOENDMOUNT") * GeoModelKernelUnits::mm;
+  return  m_rdb->fwdSpine(iModuleType)->getDouble("ENDLOCATORTOENDMOUNT") * Gaudi::Units::mm;
 }
 
 
@@ -230,55 +230,55 @@ SCT_ForwardModuleParameters::fwdSpineMaterial(int iModuleType) const
 double 
 SCT_ForwardModuleParameters::fwdSubSpineInnerWidth(int iModuleType) const
 {
-  return  m_rdb->fwdSpine(iModuleType)->getDouble("SUBINNERWIDTH") * GeoModelKernelUnits::mm;
+  return  m_rdb->fwdSpine(iModuleType)->getDouble("SUBINNERWIDTH") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdSubSpineInnerLength(int iModuleType) const
 {
-  return  m_rdb->fwdSpine(iModuleType)->getDouble("SUBINNERLENGTH") * GeoModelKernelUnits::mm;
+  return  m_rdb->fwdSpine(iModuleType)->getDouble("SUBINNERLENGTH") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdSubSpineInnerRefDist(int iModuleType) const
 {
-  return  m_rdb->fwdSpine(iModuleType)->getDouble("SUBINNERREFDIST") * GeoModelKernelUnits::mm;
+  return  m_rdb->fwdSpine(iModuleType)->getDouble("SUBINNERREFDIST") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdSubSpineMiddleWidth(int iModuleType) const
 {
-  return  m_rdb->fwdSpine(iModuleType)->getDouble("SUBMIDDLEWIDTH") * GeoModelKernelUnits::mm;
+  return  m_rdb->fwdSpine(iModuleType)->getDouble("SUBMIDDLEWIDTH") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdSubSpineMiddleLength(int iModuleType) const
 {
-  return  m_rdb->fwdSpine(iModuleType)->getDouble("SUBMIDDLELENGTH") * GeoModelKernelUnits::mm;
+  return  m_rdb->fwdSpine(iModuleType)->getDouble("SUBMIDDLELENGTH") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdSubSpineMiddleRefDist(int iModuleType) const
 {
-  return  m_rdb->fwdSpine(iModuleType)->getDouble("SUBMIDDLEREFDIST") * GeoModelKernelUnits::mm;
+  return  m_rdb->fwdSpine(iModuleType)->getDouble("SUBMIDDLEREFDIST") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdSubSpineOuterWidth(int iModuleType) const
 {
-  return  m_rdb->fwdSpine(iModuleType)->getDouble("SUBOUTERWIDTH") * GeoModelKernelUnits::mm;
+  return  m_rdb->fwdSpine(iModuleType)->getDouble("SUBOUTERWIDTH") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdSubSpineOuterLength(int iModuleType) const
 {
-  return  m_rdb->fwdSpine(iModuleType)->getDouble("SUBOUTERLENGTH") * GeoModelKernelUnits::mm;
+  return  m_rdb->fwdSpine(iModuleType)->getDouble("SUBOUTERLENGTH") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdSubSpineOuterRefDist(int iModuleType) const
 {
-  return  m_rdb->fwdSpine(iModuleType)->getDouble("SUBOUTERREFDIST") * GeoModelKernelUnits::mm;
+  return  m_rdb->fwdSpine(iModuleType)->getDouble("SUBOUTERREFDIST") * Gaudi::Units::mm;
 }
 
 std::string 
@@ -301,7 +301,7 @@ SCT_ForwardModuleParameters::fwdModuleNumTypes() const
 double 
 SCT_ForwardModuleParameters::fwdModuleStereoAngle(int iModuleType) const
 {
-  return m_rdb->fwdModule(iModuleType)->getDouble("STEREOANGLE") * GeoModelKernelUnits::milliradian;
+  return m_rdb->fwdModule(iModuleType)->getDouble("STEREOANGLE") * Gaudi::Units::milliradian;
 }
 
 int
@@ -323,25 +323,25 @@ SCT_ForwardModuleParameters::fwdModuleUpperSideNumber(int iModuleType) const
 double
 SCT_ForwardModuleParameters::fwdModuleGlueThickness(int iModuleType) const
 {
-  return m_rdb->fwdModule(iModuleType)->getDouble("GLUETHICKNESS") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdModule(iModuleType)->getDouble("GLUETHICKNESS") * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardModuleParameters::fwdModuleMountPoint(int iModuleType) const
 {
-  return m_rdb->fwdModule(iModuleType)->getDouble("MOUNTPOINT") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdModule(iModuleType)->getDouble("MOUNTPOINT") * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardModuleParameters::fwdModuleDistBtwMountPoints(int iModuleType) const
 {
-  return m_rdb->fwdModule(iModuleType)->getDouble("DISTBTWMOUNTPOINTS") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdModule(iModuleType)->getDouble("DISTBTWMOUNTPOINTS") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdModuleHybridEdgeToSpine(int iModuleType) const
 {
-  return m_rdb->fwdModule(iModuleType)->getDouble("HYBRIDEDGETOSPINE")*GeoModelKernelUnits::mm;
+  return m_rdb->fwdModule(iModuleType)->getDouble("HYBRIDEDGETOSPINE")*Gaudi::Units::mm;
 }  
 
 bool 
@@ -367,19 +367,19 @@ SCT_ForwardModuleParameters::fwdModuleConnectorPresent() const
 double 
 SCT_ForwardModuleParameters::fwdModuleConnectorDeltaR() const
 {
-  return m_rdb->fwdModuleConnector()->getDouble("DELTAR") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdModuleConnector()->getDouble("DELTAR") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdModuleConnectorRPhi() const
 {
-  return m_rdb->fwdModuleConnector()->getDouble("RPHI") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdModuleConnector()->getDouble("RPHI") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdModuleConnectorThickness() const
 {
-  return m_rdb->fwdModuleConnector()->getDouble("THICKNESS") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdModuleConnector()->getDouble("THICKNESS") * Gaudi::Units::mm;
 }
 
 std::string
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_ForwardParameters.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_ForwardParameters.cxx
index a56ae8177ae5..80fc94334cbb 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_ForwardParameters.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_ForwardParameters.cxx
@@ -10,7 +10,7 @@
 #include "RDBAccessSvc/IRDBRecord.h"
 
 #include "SCT_GeoModel/SCT_FSIHelper.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <iostream>
 #include <cmath>
@@ -38,13 +38,13 @@ SCT_ForwardParameters::fwdRingNumModules(int iRing) const
 double
 SCT_ForwardParameters::fwdRingModuleStagger(int iRing) const
 {
-  return m_rdb->fwdRing(iRing)->getDouble("MODULESTAGGER") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdRing(iRing)->getDouble("MODULESTAGGER") * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardParameters::fwdRingPhiOfRefModule(int iRing) const
 {
-  return m_rdb->fwdRing(iRing)->getDouble("PHIOFREFMODULE") * GeoModelKernelUnits::deg;
+  return m_rdb->fwdRing(iRing)->getDouble("PHIOFREFMODULE") * Gaudi::Units::deg;
 }
 
 
@@ -57,7 +57,7 @@ SCT_ForwardParameters::fwdRingUsualRingSide(int iRing) const
 double
 SCT_ForwardParameters::fwdRingDistToDiscCenter(int iRing) const
 {
-  return m_rdb->fwdRing(iRing)->getDouble("RINGTODISCCENTER") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdRing(iRing)->getDouble("RINGTODISCCENTER") * Gaudi::Units::mm;
 }
 
 
@@ -68,7 +68,7 @@ SCT_ForwardParameters::fwdRingDistToDiscCenter(int iRing) const
 double
 SCT_ForwardParameters::fwdWheelZPosition(int iWheel) const
 {
-  return m_rdb->fwdWheel(iWheel)->getDouble("ZPOSITION") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdWheel(iWheel)->getDouble("ZPOSITION") * Gaudi::Units::mm;
 }
 
 // Returns +/-1 
@@ -167,19 +167,19 @@ SCT_ForwardParameters::fwdWheelModuleType(int iWheel, int iRing, int ec) const
 double
 SCT_ForwardParameters::fwdDiscSupportInnerRadius() const
 {
-  return m_rdb->fwdDiscSupport()->getDouble("INNERRADIUS") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdDiscSupport()->getDouble("INNERRADIUS") * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardParameters::fwdDiscSupportOuterRadius() const
 {
-  return m_rdb->fwdDiscSupport()->getDouble("OUTERRADIUS") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdDiscSupport()->getDouble("OUTERRADIUS") * Gaudi::Units::mm;
 }
  
 double
 SCT_ForwardParameters::fwdDiscSupportThickness() const
 {
-  return m_rdb->fwdDiscSupport()->getDouble("THICKNESS") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdDiscSupport()->getDouble("THICKNESS") * Gaudi::Units::mm;
 }
 
 std::string
@@ -206,7 +206,7 @@ SCT_ForwardParameters::fwdPatchPanelType(int iLoc) const
 double
 SCT_ForwardParameters::fwdPatchPanelLocAngle(int iLoc) const
 {
-  return m_rdb->fwdPatchPanelLoc(iLoc)->getDouble("LOCANGLE") * GeoModelKernelUnits::degree;
+  return m_rdb->fwdPatchPanelLoc(iLoc)->getDouble("LOCANGLE") * Gaudi::Units::degree;
 }
 
 bool
@@ -224,26 +224,26 @@ SCT_ForwardParameters::fwdNumPatchPanelTypes() const
 double
 SCT_ForwardParameters::fwdPatchPanelThickness(int iType) const
 {
-  return m_rdb->fwdPatchPanel(iType)->getDouble("THICKNESS") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdPatchPanel(iType)->getDouble("THICKNESS") * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardParameters::fwdPatchPanelMidRadius(int iType) const
 {
-  return m_rdb->fwdPatchPanel(iType)->getDouble("MIDRADIUS") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdPatchPanel(iType)->getDouble("MIDRADIUS") * Gaudi::Units::mm;
 }
 
  
 double
 SCT_ForwardParameters::fwdPatchPanelDeltaR(int iType) const
 {
-  return m_rdb->fwdPatchPanel(iType)->getDouble("DELTAR") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdPatchPanel(iType)->getDouble("DELTAR") * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardParameters::fwdPatchPanelRPhi(int iType) const
 {
-  return m_rdb->fwdPatchPanel(iType)->getDouble("RPHI") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdPatchPanel(iType)->getDouble("RPHI") * Gaudi::Units::mm;
 }
 
 std::string
@@ -269,19 +269,19 @@ SCT_ForwardParameters::fwdPPConnectorPresent() const
 double
 SCT_ForwardParameters::fwdPPConnectorThickness() const
 {
-  return m_rdb->fwdPPConnector()->getDouble("THICKNESS") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdPPConnector()->getDouble("THICKNESS") * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardParameters::fwdPPConnectorDeltaR() const
 {
-  return m_rdb->fwdPPConnector()->getDouble("DELTAR") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdPPConnector()->getDouble("DELTAR") * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardParameters::fwdPPConnectorRPhi() const
 {
-  return m_rdb->fwdPPConnector()->getDouble("RPHI") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdPPConnector()->getDouble("RPHI") * Gaudi::Units::mm;
 }
 
 std::string
@@ -307,19 +307,19 @@ SCT_ForwardParameters::fwdPPCoolingPresent() const
 double
 SCT_ForwardParameters::fwdPPCoolingThickness() const
 {
-  return m_rdb->fwdPPCooling()->getDouble("THICKNESS") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdPPCooling()->getDouble("THICKNESS") * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardParameters::fwdPPCoolingDeltaR() const
 {
-  return m_rdb->fwdPPCooling()->getDouble("DELTAR") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdPPCooling()->getDouble("DELTAR") * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardParameters::fwdPPCoolingRPhi() const
 {
-  return m_rdb->fwdPPCooling()->getDouble("RPHI") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdPPCooling()->getDouble("RPHI") * Gaudi::Units::mm;
 }
 
 std::string
@@ -347,25 +347,25 @@ SCT_ForwardParameters::fwdCoolingBlockMainOrSecondary(int iType) const
 double
 SCT_ForwardParameters::fwdCoolingBlockDeltaR(int iType) const
 {
-  return m_rdb->fwdCoolingBlock(iType)->getDouble("DELTAR") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdCoolingBlock(iType)->getDouble("DELTAR") * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardParameters::fwdCoolingBlockRPhi(int iType) const
 {
-  return m_rdb->fwdCoolingBlock(iType)->getDouble("RPHI") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdCoolingBlock(iType)->getDouble("RPHI") * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardParameters::fwdCoolingBlockThickness(int iType) const
 {
-  return m_rdb->fwdCoolingBlock(iType)->getDouble("THICKNESS") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdCoolingBlock(iType)->getDouble("THICKNESS") * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardParameters::fwdCoolingBlockOffsetFromDisc(int iType) const
 {
-  return m_rdb->fwdCoolingBlock(iType)->getDouble("OFFSETFROMDISC") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdCoolingBlock(iType)->getDouble("OFFSETFROMDISC") * Gaudi::Units::mm;
 }
 
 std::string
@@ -381,19 +381,19 @@ SCT_ForwardParameters::fwdCoolingBlockMaterial(int iType) const
 double 
 SCT_ForwardParameters::fwdDiscPowerTapeInnerRadius(int iRing) const
 {
-  return m_rdb->fwdRingServices(iRing)->getDouble("POWERTAPEINNERRADIUS") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdRingServices(iRing)->getDouble("POWERTAPEINNERRADIUS") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardParameters::fwdDiscPowerTapeOuterRadius(int iRing) const
 {
-  return m_rdb->fwdRingServices(iRing)->getDouble("POWERTAPEOUTERRADIUS") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdRingServices(iRing)->getDouble("POWERTAPEOUTERRADIUS") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardParameters::fwdDiscPowerTapeThickness(int iRing) const
 {
-  return m_rdb->fwdRingServices(iRing)->getDouble("POWERTAPETHICKNESS") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdRingServices(iRing)->getDouble("POWERTAPETHICKNESS") * Gaudi::Units::mm;
 }
 
 std::string
@@ -410,19 +410,19 @@ SCT_ForwardParameters::fwdDiscPowerTapeMaterial(int iRing) const
 double 
 SCT_ForwardParameters::fwdRingCoolingInnerRadius(int iRing) const
 {
-  return m_rdb->fwdRingServices(iRing)->getDouble("COOLINGINNERRADIUS") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdRingServices(iRing)->getDouble("COOLINGINNERRADIUS") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardParameters::fwdRingCoolingOuterRadius(int iRing) const
 {
-  return m_rdb->fwdRingServices(iRing)->getDouble("COOLINGOUTERRADIUS") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdRingServices(iRing)->getDouble("COOLINGOUTERRADIUS") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardParameters::fwdRingCoolingThickness(int iRing) const
 {
-  return m_rdb->fwdRingServices(iRing)->getDouble("COOLINGTHICKNESS") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdRingServices(iRing)->getDouble("COOLINGTHICKNESS") * Gaudi::Units::mm;
 }
 
 std::string
@@ -448,13 +448,13 @@ SCT_ForwardParameters::fwdDiscFixationPresent() const
 double
 SCT_ForwardParameters::fwdDiscFixationThickness() const
 {
-  return m_rdb->fwdDiscFixation()->getDouble("THICKNESS") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdDiscFixation()->getDouble("THICKNESS") * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardParameters::fwdDiscFixationRadius() const
 {
-  return m_rdb->fwdDiscFixation()->getDouble("RADIUS") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdDiscFixation()->getDouble("RADIUS") * Gaudi::Units::mm;
 }
 
 std::string
@@ -469,25 +469,25 @@ SCT_ForwardParameters::fwdDiscFixationMaterial() const
 double 
 SCT_ForwardParameters::fwdSupportFrameRadialThickness() const
 {
-  return m_rdb->fwdServices()->getDouble("SUPPORTFRAMEDELTAR") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdServices()->getDouble("SUPPORTFRAMEDELTAR") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardParameters::fwdSupportFrameInnerRadius() const
 {
-  return m_rdb->fwdServices()->getDouble("SUPPORTFRAMEINNERRAD") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdServices()->getDouble("SUPPORTFRAMEINNERRAD") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardParameters::fwdSupportFrameZMin() const 
 {
-  return m_rdb->fwdServices()->getDouble("SUPPORTFRAMEZMIN") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdServices()->getDouble("SUPPORTFRAMEZMIN") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardParameters::fwdSupportFrameZMax() const 
 {
-  return m_rdb->fwdServices()->getDouble("SUPPORTFRAMEZMAX") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdServices()->getDouble("SUPPORTFRAMEZMAX") * Gaudi::Units::mm;
 } 
 
 std::string 
@@ -502,7 +502,7 @@ SCT_ForwardParameters::fwdSupportFrameMaterial() const
 double
 SCT_ForwardParameters::fwdCoolingPipeRadius() const
 {
-  return m_rdb->fwdServices()->getDouble("COOLINGPIPERADIUS") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdServices()->getDouble("COOLINGPIPERADIUS") * Gaudi::Units::mm;
 }
 
 std::string
@@ -517,7 +517,7 @@ SCT_ForwardParameters::fwdCoolingPipeMaterial() const
 double
 SCT_ForwardParameters::fwdPowerTapeCrossSectArea() const
 {
-  return m_rdb->fwdServices()->getDouble("POWERTAPECROSSSECT") * GeoModelKernelUnits::mm2;
+  return m_rdb->fwdServices()->getDouble("POWERTAPECROSSSECT") * Gaudi::Units::mm2;
 }
 
 
@@ -539,21 +539,21 @@ SCT_ForwardParameters::fwdFSINumGeomTypes() const
 double
 SCT_ForwardParameters::fwdFSIGeomDeltaR(int iType) const
 {
-  return m_rdb->fwdFSIType(iType)->getDouble("DELTAR") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdFSIType(iType)->getDouble("DELTAR") * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardParameters::fwdFSIGeomRPhi(int iType) const
 {
-  return m_rdb->fwdFSIType(iType)->getDouble("RPHI") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdFSIType(iType)->getDouble("RPHI") * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardParameters::fwdFSIGeomThickness(int iType) const
 {
   // Fix for SCT-DC3-03. May be removed when ATLAS-DC3-07 is obsolete.
-  if (iType == 0 && m_rdb->versionTag() == "SCT-DC3-03") return  26*GeoModelKernelUnits::mm;
-  return m_rdb->fwdFSIType(iType)->getDouble("THICKNESS") * GeoModelKernelUnits::mm;
+  if (iType == 0 && m_rdb->versionTag() == "SCT-DC3-03") return  26*Gaudi::Units::mm;
+  return m_rdb->fwdFSIType(iType)->getDouble("THICKNESS") * Gaudi::Units::mm;
 }
 
 std::string
@@ -566,8 +566,8 @@ double
 SCT_ForwardParameters::fwdFSIGeomZOffset(int iType) const
 {
   // Fix for SCT-DC3-03. May be removed when ATLAS-DC3-07 is obsolete.
-  if (iType == 0 && m_rdb->versionTag() == "SCT-DC3-03") return  22*GeoModelKernelUnits::mm;
-  return m_rdb->fwdFSIType(iType)->getDouble("ZOFFSET") * GeoModelKernelUnits::mm;
+  if (iType == 0 && m_rdb->versionTag() == "SCT-DC3-03") return  22*Gaudi::Units::mm;
+  return m_rdb->fwdFSIType(iType)->getDouble("ZOFFSET") * Gaudi::Units::mm;
 }
 
 
@@ -616,7 +616,7 @@ SCT_ForwardParameters::fwdCylinderServiceLocName(int iLoc) const
 double
 SCT_ForwardParameters::fwdCylinderServiceLocAngle(int iLoc) const
 {
-  return m_rdb->fwdCylServLoc(iLoc)->getDouble("LOCANGLE") * GeoModelKernelUnits::degree;
+  return m_rdb->fwdCylServLoc(iLoc)->getDouble("LOCANGLE") * Gaudi::Units::degree;
 }
 
 int
@@ -640,13 +640,13 @@ SCT_ForwardParameters::fwdCylinderServiceMaterial(int iType) const
 double
 SCT_ForwardParameters::fwdCylinderServiceDeltaR(int iType) const
 {
-  return m_rdb->fwdCylServ(iType)->getDouble("DELTAR") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdCylServ(iType)->getDouble("DELTAR") * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardParameters::fwdCylinderServiceRPhi(int iType) const
 {
-  return m_rdb->fwdCylServ(iType)->getDouble("RPHI") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdCylServ(iType)->getDouble("RPHI") * Gaudi::Units::mm;
 }
 
 //
@@ -667,25 +667,25 @@ SCT_ForwardParameters::fwdThermalShieldMaterial(int iElement) const
 double
 SCT_ForwardParameters::fwdThermalShieldInnerRadius(int iElement) const
 {
-  return m_rdb->fwdThermalShield(iElement)->getDouble("INNERRADIUS") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdThermalShield(iElement)->getDouble("INNERRADIUS") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardParameters::fwdThermalShieldOuterRadius(int iElement) const
 {
-  return m_rdb->fwdThermalShield(iElement)->getDouble("OUTERRADIUS") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdThermalShield(iElement)->getDouble("OUTERRADIUS") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardParameters::fwdThermalShieldZMin(int iElement) const 
 {
-  return m_rdb->fwdThermalShield(iElement)->getDouble("ZMIN") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdThermalShield(iElement)->getDouble("ZMIN") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardParameters::fwdThermalShieldZMax(int iElement) const 
 {
-  return m_rdb->fwdThermalShield(iElement)->getDouble("ZMAX") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdThermalShield(iElement)->getDouble("ZMAX") * Gaudi::Units::mm;
 } 
 
 
@@ -701,31 +701,31 @@ SCT_ForwardParameters::fwdNumWheels() const
 double
 SCT_ForwardParameters::fwdInnerRadius() const
 {
-  return m_rdb->fwdGeneral()->getDouble("INNERRADIUS") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdGeneral()->getDouble("INNERRADIUS") * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardParameters::fwdOuterRadius() const
 {
-  return m_rdb->fwdGeneral()->getDouble("OUTERRADIUS") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdGeneral()->getDouble("OUTERRADIUS") * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardParameters::fwdZMin() const
 {
-  return m_rdb->fwdGeneral()->getDouble("ZMIN") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdGeneral()->getDouble("ZMIN") * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardParameters::fwdZMax() const
 {
-  return m_rdb->fwdGeneral()->getDouble("ZMAX") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdGeneral()->getDouble("ZMAX") * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardParameters::fwdTrtGapPos() const
 {
-  return m_rdb->fwdGeneral()->getDouble("TRTGAPPOS") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdGeneral()->getDouble("TRTGAPPOS") * Gaudi::Units::mm;
 }
 
 //
@@ -751,19 +751,19 @@ SCT_ForwardParameters::fwdOptoHarnessDiscType(int index) const
 double 
 SCT_ForwardParameters::fwdOptoHarnessInnerRadius(int index) const
 {
-  return m_rdb->fwdOptoHarness(index)->getDouble("INNERRADIUS") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdOptoHarness(index)->getDouble("INNERRADIUS") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardParameters::fwdOptoHarnessOuterRadius(int index) const
 {
-  return m_rdb->fwdOptoHarness(index)->getDouble("OUTERRADIUS") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdOptoHarness(index)->getDouble("OUTERRADIUS") * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardParameters::fwdOptoHarnessThickness(int index) const
 {
-  return m_rdb->fwdOptoHarness(index)->getDouble("THICKNESS") * GeoModelKernelUnits::mm;
+  return m_rdb->fwdOptoHarness(index)->getDouble("THICKNESS") * Gaudi::Units::mm;
 }
 
 std::string
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdCoolingPipe.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdCoolingPipe.cxx
index 2365854c61df..bd06f571ebd0 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdCoolingPipe.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdCoolingPipe.cxx
@@ -12,7 +12,7 @@
 #include "GeoModelKernel/GeoTube.h"
 #include "GeoModelKernel/GeoLogVol.h"
 #include "GeoModelKernel/GeoPhysVol.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/PhysicalConstants.h"
 
 #include <cmath>
 
@@ -47,13 +47,13 @@ GeoVPhysVol *
 SCT_FwdCoolingPipe::build() 
 {
   // Calculate the dimensions.
-  // area = GeoModelKernelUnits::pi*(pipeRadius)^2 * numPipes
-  // also area = 2*GeoModelKernelUnits::pi*r_ave*delta_r approx= 2 * GeoModelKernelUnits::pi * rMin * delta_r
+  // area = Gaudi::Units::pi*(pipeRadius)^2 * numPipes
+  // also area = 2*Gaudi::Units::pi*r_ave*delta_r approx= 2 * Gaudi::Units::pi * rMin * delta_r
   // solve for delta_r
   // m_thickness = delta_r
 
-  double area = GeoModelKernelUnits::pi * sqr(m_pipeRadius) * m_numPipes;
-  m_thickness = area/(2. * GeoModelKernelUnits::pi * m_innerRadius);
+  double area = Gaudi::Units::pi * sqr(m_pipeRadius) * m_numPipes;
+  m_thickness = area/(2. * Gaudi::Units::pi * m_innerRadius);
   m_outerRadius = m_innerRadius +  m_thickness;
 
 
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdCylinderServices.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdCylinderServices.cxx
index 75544a454038..7d36ba704b34 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdCylinderServices.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdCylinderServices.cxx
@@ -17,11 +17,8 @@
 #include "GeoModelKernel/GeoPhysVol.h"
 #include "GeoModelKernel/GeoTransform.h"
 #include "GeoModelKernel/GeoMaterial.h"
-#include "GeoModelKernel/Units.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-
-
-
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <sstream>
 #include <cmath>
@@ -136,7 +133,7 @@ SCT_FwdCylinderServices::build()
   double coolingDPhi = m_coolingRPhi / coolingRmin;
   const GeoCons* coolingShape = new GeoCons(coolingRmin, coolingRmin, coolingRmax1, coolingRmax2, 
                                             0.5 * m_length, 
-                                            -0.5 * coolingDPhi * GeoModelKernelUnits::radian, coolingDPhi * GeoModelKernelUnits::radian);
+                                            -0.5 * coolingDPhi * Gaudi::Units::radian, coolingDPhi * Gaudi::Units::radian);
   const GeoLogVol * coolingLog = new GeoLogVol("CoolingPipe", coolingShape, materials.getMaterialForVolume(m_coolingMaterialName, coolingShape->volume()));
   GeoPhysVol * coolingPipe = new GeoPhysVol(coolingLog);
 
@@ -146,7 +143,7 @@ SCT_FwdCylinderServices::build()
   double lmtRmax2 = lmtRmin + 1.8 * m_lmtDeltaR;
   double lmtDPhi = m_lmtRPhi / lmtRmin;
   const GeoCons* lmtShape = new GeoCons(lmtRmin, lmtRmin, lmtRmax1, lmtRmax2, 0.5 * m_length, 
-                                        -0.5 * lmtDPhi * GeoModelKernelUnits::radian, lmtDPhi * GeoModelKernelUnits::radian);
+                                        -0.5 * lmtDPhi * Gaudi::Units::radian, lmtDPhi * Gaudi::Units::radian);
   const GeoLogVol * lmtLog = new GeoLogVol("LMT", lmtShape, materials.getMaterialForVolume(m_lmtMaterialName,lmtShape->volume()));
   GeoPhysVol * lmt = new GeoPhysVol(lmtLog);
 
@@ -156,7 +153,7 @@ SCT_FwdCylinderServices::build()
   double lmtCoolingDPhi = m_lmtCoolingRPhi / lmtCoolingRmin;
   double lmtLength = m_length - 2. * m_lmtCoolingZOffset;
   const GeoTubs* lmtCoolingShape = new GeoTubs(lmtCoolingRmin, lmtCoolingRmax, 0.5 * lmtLength, 
-                                               -0.5 * lmtCoolingDPhi * GeoModelKernelUnits::radian, lmtCoolingDPhi * GeoModelKernelUnits::radian);
+                                               -0.5 * lmtCoolingDPhi * Gaudi::Units::radian, lmtCoolingDPhi * Gaudi::Units::radian);
   const GeoLogVol * lmtCoolingLog = new GeoLogVol("LMTCooling", lmtCoolingShape, materials.getMaterialForVolume(m_lmtCoolingMaterialName,lmtCoolingShape->volume()));
   GeoPhysVol * lmtCooling = new GeoPhysVol(lmtCoolingLog);
 
@@ -166,7 +163,7 @@ SCT_FwdCylinderServices::build()
   double fibreRmax2 = fibreRmin + 1.8 * m_fibreDeltaR;
   double fibreDPhi = m_fibreRPhi / fibreRmin;
   const GeoCons* fibreShape = new GeoCons(fibreRmin, fibreRmin, fibreRmax1, fibreRmax2, 0.5 * m_length,
-                                          -0.5 * fibreDPhi * GeoModelKernelUnits::radian, fibreDPhi * GeoModelKernelUnits::radian);
+                                          -0.5 * fibreDPhi * Gaudi::Units::radian, fibreDPhi * Gaudi::Units::radian);
   const GeoLogVol * fibreLog = new GeoLogVol("Fibres", fibreShape, materials.getMaterialForVolume(m_fibreMaterialName,fibreShape->volume()));
   GeoPhysVol * fibres = new GeoPhysVol(fibreLog);
 
@@ -175,7 +172,7 @@ SCT_FwdCylinderServices::build()
   double nPipeRmax = nPipeRmin + m_nPipeDeltaR;
   double nPipeDPhi = m_nPipeRPhi / nPipeRmin;
   const GeoTubs* nPipeShape = new GeoTubs(nPipeRmin, nPipeRmax, 0.5 * m_length, 
-                                          -0.5 * nPipeDPhi * GeoModelKernelUnits::radian, nPipeDPhi * GeoModelKernelUnits::radian);
+                                          -0.5 * nPipeDPhi * Gaudi::Units::radian, nPipeDPhi * Gaudi::Units::radian);
   const GeoLogVol * nPipeLog = new GeoLogVol("NPipe", nPipeShape, materials.getMaterialForVolume(m_nPipeMaterialName,nPipeShape->volume()));
   GeoPhysVol * nPipe = new GeoPhysVol(nPipeLog);
 
@@ -184,7 +181,7 @@ SCT_FwdCylinderServices::build()
   double railRmax = railRmin + m_railDeltaR;
   double railDPhi = m_railRPhi / railRmin;
   const GeoTubs* railShape = new GeoTubs(railRmin, railRmax,
-                                         0.5 * m_length, -0.5 * railDPhi * GeoModelKernelUnits::radian, railDPhi * GeoModelKernelUnits::radian);
+                                         0.5 * m_length, -0.5 * railDPhi * Gaudi::Units::radian, railDPhi * Gaudi::Units::radian);
   const GeoLogVol * railLog = new GeoLogVol("Rail", railShape, materials.getMaterialForVolume(m_railMaterialName,railShape->volume()));
   GeoPhysVol * rail = new GeoPhysVol(railLog);
 
@@ -193,16 +190,16 @@ SCT_FwdCylinderServices::build()
 
     // Cooling pipe
     for (unsigned int iLoc = 0; iLoc < m_coolingLocAngle.size(); iLoc++) {
-      double coolingAngle = m_coolingLocAngle[iLoc] + iquad * 90*GeoModelKernelUnits::degree;
-      //      std::cout << "Placing cooling pipe at " << coolingAngle / GeoModelKernelUnits::degree << " GeoModelKernelUnits::degrees" << std::endl;
+      double coolingAngle = m_coolingLocAngle[iLoc] + iquad * 90*Gaudi::Units::degree;
+      //      std::cout << "Placing cooling pipe at " << coolingAngle / Gaudi::Units::degree << " Gaudi::Units::degrees" << std::endl;
       cylinder->add(new GeoTransform(GeoTrf::RotateZ3D(coolingAngle)));
       cylinder->add(coolingPipe);
     }
 
     // Low Mass Tapes and LMT Cooling are at same phi positions
     for (unsigned int iLoc = 0; iLoc < m_lmtLocAngle.size(); iLoc++) {
-      double lmtAngle = m_lmtLocAngle[iLoc] + iquad * 90*GeoModelKernelUnits::degree;
-      //      std::cout << "Placing LMT at " << lmtAngle / GeoModelKernelUnits::degree << " GeoModelKernelUnits::degrees" << std::endl;
+      double lmtAngle = m_lmtLocAngle[iLoc] + iquad * 90*Gaudi::Units::degree;
+      //      std::cout << "Placing LMT at " << lmtAngle / Gaudi::Units::degree << " Gaudi::Units::degrees" << std::endl;
       cylinder->add(new GeoTransform(GeoTrf::RotateZ3D(lmtAngle)));
       cylinder->add(lmt);
       cylinder->add(new GeoTransform(GeoTrf::RotateZ3D(lmtAngle)*GeoTrf::TranslateZ3D(m_lmtCoolingZOffset)));
@@ -211,24 +208,24 @@ SCT_FwdCylinderServices::build()
 
     // Fibres are between pairs of LMTs
     for (unsigned int iLoc = 0; iLoc < m_fibreLocAngle.size(); iLoc++) {
-      double fibreAngle = m_fibreLocAngle[iLoc] + iquad * 90*GeoModelKernelUnits::degree;
-      //      std::cout << "Placing fibres at " << fibreAngle / GeoModelKernelUnits::degree << " GeoModelKernelUnits::degrees" << std::endl;
+      double fibreAngle = m_fibreLocAngle[iLoc] + iquad * 90*Gaudi::Units::degree;
+      //      std::cout << "Placing fibres at " << fibreAngle / Gaudi::Units::degree << " Gaudi::Units::degrees" << std::endl;
       cylinder->add(new GeoTransform(GeoTrf::RotateZ3D(fibreAngle)));
       cylinder->add(fibres);
     }
 
     // N2 Pipes
     for (unsigned int iLoc = 0; iLoc < m_nPipeLocAngle.size(); iLoc++) {
-      double nPipeAngle = m_nPipeLocAngle[iLoc] + iquad * 90*GeoModelKernelUnits::degree;
-      //      std::cout << "Placing N2 pipe at " << nPipeAngle / GeoModelKernelUnits::degree << " GeoModelKernelUnits::degrees" << std::endl;
+      double nPipeAngle = m_nPipeLocAngle[iLoc] + iquad * 90*Gaudi::Units::degree;
+      //      std::cout << "Placing N2 pipe at " << nPipeAngle / Gaudi::Units::degree << " Gaudi::Units::degrees" << std::endl;
       cylinder->add(new GeoTransform(GeoTrf::RotateZ3D(nPipeAngle)));
       cylinder->add(nPipe);
     }
 
     // Rails
     for (unsigned int iLoc = 0; iLoc < m_railLocAngle.size(); iLoc++) {
-      double railAngle = m_railLocAngle[iLoc] + iquad * 90*GeoModelKernelUnits::degree;
-      //      std::cout << "Placing rail at " << railAngle / GeoModelKernelUnits::degree << " GeoModelKernelUnits::degrees" << std::endl;
+      double railAngle = m_railLocAngle[iLoc] + iquad * 90*Gaudi::Units::degree;
+      //      std::cout << "Placing rail at " << railAngle / Gaudi::Units::degree << " Gaudi::Units::degrees" << std::endl;
       cylinder->add(new GeoTransform(GeoTrf::RotateZ3D(railAngle)));
       cylinder->add(rail);
     }
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdHybrid.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdHybrid.cxx
index 761b82e5d9d4..fb526e58d6a8 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdHybrid.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdHybrid.cxx
@@ -28,12 +28,10 @@
 #include "GeoModelKernel/GeoTransform.h"
 #include "GeoModelKernel/GeoAlignableTransform.h"
 #include "GeoModelKernel/GeoMaterial.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include "GeoModelKernel/GeoDefinitions.h"
 
-
-
 #include <cmath>
 
 
@@ -54,9 +52,9 @@ SCT_FwdHybrid::getParameters()
 
   m_materialName  = parameters->fwdHybridMaterial();
 
-  //double GeoModelKernelUnits::radlength;
-  //GeoModelKernelUnits::radlength = 18.8 * GeoModelKernelUnits::cm;
-  // [GeoModelKernelUnits::cm] for carbon (Partickle Physics Booklet)
+  //double Gaudi::Units::radlength;
+  //Gaudi::Units::radlength = 18.8 * Gaudi::Units::cm;
+  // [Gaudi::Units::cm] for carbon (Partickle Physics Booklet)
 
   m_thickness  = parameters->fwdHybridThickness();
   m_thickness2 = m_thickness;
@@ -105,7 +103,7 @@ GeoVPhysVol * SCT_FwdHybrid::build()
     position = -1 * position;  };
   
   double rotation = 0.;
-  if (m_ringType == 0)  rotation = 180. * GeoModelKernelUnits::deg;  
+  if (m_ringType == 0)  rotation = 180. * Gaudi::Units::deg;  
   
   const GeoShape & hybridPos2 = (*hybridShape1 << GeoTrf::RotateX3D(rotation)
                       << GeoTrf::TranslateZ3D(position) );
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdModule.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdModule.cxx
index 7c5baa4f2af3..cd5b5cacd35c 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdModule.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdModule.cxx
@@ -38,10 +38,7 @@
 #include "GeoModelKernel/GeoAlignableTransform.h"
 #include "GeoModelKernel/GeoMaterial.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
-
-
-
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <cmath>
 #include <sstream>
@@ -104,42 +101,42 @@ const GeoLogVol * SCT_FwdModule::preBuild()
   const SCT_GeneralParameters * generalParameters = geometryManager()->generalParameters();
   
   double safety = generalParameters->safety();
-  double safetyTmp = safety * GeoModelKernelUnits::cm; // For compatibility with minor bug in older version - safety already in CLHEP units;
+  double safetyTmp = safety * Gaudi::Units::cm; // For compatibility with minor bug in older version - safety already in CLHEP units;
 
-  // module_length = (zhyb->hyby - zhyb->hybysh + zsmi[m_ringType].mountd2 + 0.33 ) * GeoModelKernelUnits::cm + safety;
+  // module_length = (zhyb->hyby - zhyb->hybysh + zsmi[m_ringType].mountd2 + 0.33 ) * Gaudi::Units::cm + safety;
   // Distance from outer bybrid edge to outer spine edge.
-  // FIXME: The 1.05GeoModelKernelUnits::mm is not needed
-  double moduleLength = m_hybrid->mountPointToOuterEdge() + m_mountPointToCenter + m_spine->moduleCenterToEnd() + 1.05 * GeoModelKernelUnits::mm;
+  // FIXME: The 1.05Gaudi::Units::mm is not needed
+  double moduleLength = m_hybrid->mountPointToOuterEdge() + m_mountPointToCenter + m_spine->moduleCenterToEnd() + 1.05 * Gaudi::Units::mm;
   m_length = moduleLength + safety; // We add a bit of safety for the envelope
 
-  //  module_thickness = (zhyb->hybz0 * 2 + safety) * GeoModelKernelUnits::cm;
+  //  module_thickness = (zhyb->hybz0 * 2 + safety) * Gaudi::Units::cm;
   double sensorEnvelopeThickness = 2 * m_sensor->thickness() + m_spine->thickness() + 2 * m_glueThickness;
   m_thickness = std::max(sensorEnvelopeThickness,  m_hybrid->thickness());
 
-  // module_widthInner = ((zsmo->subdq + zssp[m_ringType].ssp0l + 0.325) * 2.+ 0.7 + safety)*GeoModelKernelUnits::cm;   // upto to NOVA_760
-  // module_widthOuter = ((zsmo->subdq + zssp[m_ringType].ssp2l + 0.325) * 2.+ 0.7 + safety)*GeoModelKernelUnits::cm;   // upto to NOVA_760
+  // module_widthInner = ((zsmo->subdq + zssp[m_ringType].ssp0l + 0.325) * 2.+ 0.7 + safety)*Gaudi::Units::cm;   // upto to NOVA_760
+  // module_widthOuter = ((zsmo->subdq + zssp[m_ringType].ssp2l + 0.325) * 2.+ 0.7 + safety)*Gaudi::Units::cm;   // upto to NOVA_760
   
-  //module_widthInner = ((zsmo->subdq + zssp[m_ringType].ssp0l) * 2.+ 0.7 + safety)*GeoModelKernelUnits::cm;
-  //module_widthOuter = ((zsmo->subdq + zssp[m_ringType].ssp2l) * 2.+ 0.7 + safety)*GeoModelKernelUnits::cm;
+  //module_widthInner = ((zsmo->subdq + zssp[m_ringType].ssp0l) * 2.+ 0.7 + safety)*Gaudi::Units::cm;
+  //module_widthOuter = ((zsmo->subdq + zssp[m_ringType].ssp2l) * 2.+ 0.7 + safety)*Gaudi::Units::cm;
   
-  m_widthInner = (m_spine->width() + 2 * m_subspineL->innerWidth() + 0.7*GeoModelKernelUnits::cm) + safetyTmp; 
-  m_widthOuter = (m_spine->width() + 2 * m_subspineL->outerWidth() + 0.7*GeoModelKernelUnits::cm) + safetyTmp; 
+  m_widthInner = (m_spine->width() + 2 * m_subspineL->innerWidth() + 0.7*Gaudi::Units::cm) + safetyTmp; 
+  m_widthOuter = (m_spine->width() + 2 * m_subspineL->outerWidth() + 0.7*Gaudi::Units::cm) + safetyTmp; 
   
 
 
   if (m_ringType == 3 ) {
-    //  module_widthOuter = (( zsmo->subdq + zssp[m_ringType].ssp2l + 0.325) * 2.+ 1.6 + safety)*GeoModelKernelUnits::cm;  // upto to NOVA_760
-    //  module_widthOuter = (( zsmo->subdq + zssp[m_ringType].ssp2l) * 2.+ 1.6 + safety)*GeoModelKernelUnits::cm; 
-    m_widthOuter = m_spine->width() + 2 * m_subspineL->outerWidth() + 1.6*GeoModelKernelUnits::cm + safetyTmp; 
+    //  module_widthOuter = (( zsmo->subdq + zssp[m_ringType].ssp2l + 0.325) * 2.+ 1.6 + safety)*Gaudi::Units::cm;  // upto to NOVA_760
+    //  module_widthOuter = (( zsmo->subdq + zssp[m_ringType].ssp2l) * 2.+ 1.6 + safety)*Gaudi::Units::cm; 
+    m_widthOuter = m_spine->width() + 2 * m_subspineL->outerWidth() + 1.6*Gaudi::Units::cm + safetyTmp; 
   }  
     
   // Calculate module shift. Distance between module physics center and center of envelope.  
   int hybridSign =  m_hybridIsOnInnerEdge ? +1: -1;
-  //module_shift = (zhyb->hyby - zhyb->hybysh + zsmi[m_ringType].mountd + 0.05)*GeoModelKernelUnits::cm;
+  //module_shift = (zhyb->hyby - zhyb->hybysh + zsmi[m_ringType].mountd + 0.05)*Gaudi::Units::cm;
   //module_shift = hybrid * (module_length / 2. - module_shift);
 
-  double moduleCenterToHybridOuterEdge = m_hybrid->mountPointToOuterEdge() + m_mountPointToCenter + 0.5*GeoModelKernelUnits::mm;
-  //FIXME: Should be: (ie don't need the 0.5GeoModelKernelUnits::mm)
+  double moduleCenterToHybridOuterEdge = m_hybrid->mountPointToOuterEdge() + m_mountPointToCenter + 0.5*Gaudi::Units::mm;
+  //FIXME: Should be: (ie don't need the 0.5Gaudi::Units::mm)
   // double moduleCenterToHybridOuterEdge = m_hybrid->mountPointToOuterEdge() + m_mountPointToCenter ;
   m_moduleShift = hybridSign * (0.5 * m_length - moduleCenterToHybridOuterEdge);
 
@@ -196,7 +193,7 @@ GeoVPhysVol * SCT_FwdModule::build(SCT_Identifier id) const
   rotation = 0.5 * m_stereoAngle;
   GeoTrf::Translation3D vecB(positionX,0,0);
   // Rotate so that X axis goes from backside to implant side 
-  GeoTrf::Transform3D rotB = GeoTrf::RotateX3D(rotation)*GeoTrf::RotateZ3D(180*GeoModelKernelUnits::degree);
+  GeoTrf::Transform3D rotB = GeoTrf::RotateX3D(rotation)*GeoTrf::RotateZ3D(180*Gaudi::Units::degree);
   // First translate in z (only non-zero for truncated middle)
   // Then rotate and then translate in x.
   GeoAlignableTransform *bottomTransform
@@ -223,7 +220,7 @@ GeoVPhysVol * SCT_FwdModule::build(SCT_Identifier id) const
   positionX=-positionX;
   rotation=-rotation;
   GeoTrf::RotateX3D rotT(rotation);
-  //rotT.rotateZ(180*GeoModelKernelUnits::degree); // Rotate so that X axis goes from implant side to backside 
+  //rotT.rotateZ(180*Gaudi::Units::degree); // Rotate so that X axis goes from implant side to backside 
   GeoTrf::Translation3D vecT(positionX,0,0);
   // First translate in z (only non-zero for truncated middle)
   // Then rotate and then translate in x.
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdModuleConnector.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdModuleConnector.cxx
index d2428723b1e5..93f207cf9ee8 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdModuleConnector.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdModuleConnector.cxx
@@ -14,7 +14,7 @@
 #include "GeoModelKernel/GeoPhysVol.h"
 #include "GeoModelKernel/GeoShape.h"
 #include "GeoModelKernel/GeoShapeShift.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <cmath>
 #include <iostream>
@@ -48,7 +48,7 @@ SCT_FwdModuleConnector::build()
   const GeoBox * moduleConnShape = new GeoBox(0.5 * m_thickness, 0.5 * m_rphi, 0.5 * m_deltaR);
   m_material = materials.getMaterialForVolume(m_materialName, moduleConnShape->volume());
   //  std::cout << "Material = " << m_material->getName() << std::endl;
-  //  std::cout << "Density = " << m_material->getDensity()/(gram/GeoModelKernelUnits::cm3) << std::endl;
+  //  std::cout << "Density = " << m_material->getDensity()/(gram/Gaudi::Units::cm3) << std::endl;
 
   // Shift to correct position within module
   double xposition = 0.5 * (parameters->fwdHybridThickness() + m_thickness);
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdOptoHarness.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdOptoHarness.cxx
index 422f0087e19c..e0bb9db2588a 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdOptoHarness.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdOptoHarness.cxx
@@ -12,7 +12,7 @@
 #include "GeoModelKernel/GeoTube.h"
 #include "GeoModelKernel/GeoLogVol.h"
 #include "GeoModelKernel/GeoPhysVol.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <cmath>
 #include <iostream>
@@ -58,7 +58,7 @@ SCT_FwdOptoHarness::build()
   m_material = materials.getMaterialForVolume(m_materialName, optoHarnessShape->volume());
   //  m_material = materials.getMaterial(m_materialName);
   //  cout << "Material = " << m_material->getName() << endl;
-  //  cout << "Density = " << m_material->getDensity()/(gram/GeoModelKernelUnits::cm3) << endl;
+  //  cout << "Density = " << m_material->getDensity()/(gram/Gaudi::Units::cm3) << endl;
   const GeoLogVol * optoHarnessLog = new GeoLogVol(getName(), optoHarnessShape, m_material);
 
   GeoPhysVol * optoHarness = new GeoPhysVol(optoHarnessLog);
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdPowerTape.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdPowerTape.cxx
index 136cd3e68c9e..26eb84882179 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdPowerTape.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdPowerTape.cxx
@@ -12,7 +12,7 @@
 #include "GeoModelKernel/GeoTube.h"
 #include "GeoModelKernel/GeoLogVol.h"
 #include "GeoModelKernel/GeoPhysVol.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/PhysicalConstants.h"
 
 #include <cmath>
 
@@ -45,11 +45,11 @@ GeoVPhysVol *
 SCT_FwdPowerTape::build() 
 {
   // Calculate the dimensions.
-  // The area = 2*GeoModelKernelUnits::pi*r_ave*delta_r approx= 2 * GeoModelKernelUnits::pi * rMin * delta_r
+  // The area = 2*Gaudi::Units::pi*r_ave*delta_r approx= 2 * Gaudi::Units::pi * rMin * delta_r
   // where m_thickness = delta_r
 
   double area = m_crossSectArea * m_numModules;
-  m_thickness = area/(2. * GeoModelKernelUnits::pi * m_innerRadius);
+  m_thickness = area/(2. * Gaudi::Units::pi * m_innerRadius);
   m_outerRadius = m_innerRadius +  m_thickness;
 
   // Make the support disk. A simple tube.
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdRing.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdRing.cxx
index d7194c036ad7..f72d096699d6 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdRing.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdRing.cxx
@@ -25,10 +25,8 @@
 #include "GeoModelKernel/GeoAlignableTransform.h"
 #include "GeoModelKernel/GeoMaterial.h"
 #include "GeoModelKernel/GeoShapeShift.h"
-#include "GeoModelKernel/Units.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-
-
+#include "GaudiKernel/PhysicalConstants.h"
 
 #include <sstream>
 #include <cmath>
@@ -128,8 +126,8 @@ SCT_FwdRing::preBuild()
   // If disc is rotated then recalculate the angle.
   // It assumed the disc is rotated around the Y axis.  
   // TODO: Check this assumption. 
-  if (m_discRotated) angle = GeoModelKernelUnits::pi - angle;
-  double divisionAngle = 2*GeoModelKernelUnits::pi / m_numModules;
+  if (m_discRotated) angle = Gaudi::Units::pi - angle;
+  double divisionAngle = 2*Gaudi::Units::pi / m_numModules;
 
   // Now we choose module 0 as the first module with -0.5 * divAngle <  phi <=  0.5 * divAngle   
   double moduleCount = angle / divisionAngle;
@@ -140,7 +138,7 @@ SCT_FwdRing::preBuild()
   // Determine numbering for -ve endcap.
   // This is for a rotation around Y axis.
   // After rotation we want the first module closest to phi = 0.
-  double angleNegEC = GeoModelKernelUnits::pi - m_startAngle; 
+  double angleNegEC = Gaudi::Units::pi - m_startAngle; 
   double moduleCountNegEC = angleNegEC / divisionAngle;
   m_moduleZero = static_cast<int>(floor(moduleCountNegEC + 0.5 - 0.0001));
   
@@ -151,16 +149,16 @@ SCT_FwdRing::preBuild()
 
   //   std::cout << "RingType, RingSide, Stereo, rotated = " << m_iRing << " " << m_ringSide << " "
   //          << m_stereoSign << " " << m_discRotated << std::endl;
-  //   std::cout << "Ref   Start angle and stagger " << m_refStartAngle/GeoModelKernelUnits::deg << " " << m_refFirstStagger << std::endl;
-  //   std::cout << "First Start angle and stagger " << m_startAngle/GeoModelKernelUnits::deg << " " << m_firstStagger << std::endl;
+  //   std::cout << "Ref   Start angle and stagger " << m_refStartAngle/Gaudi::Units::deg << " " << m_refFirstStagger << std::endl;
+  //   std::cout << "First Start angle and stagger " << m_startAngle/Gaudi::Units::deg << " " << m_firstStagger << std::endl;
   //   std::cout << "Module zero in -ve endcap " << m_moduleZero << std::endl;
 
 
   makeModuleServices();
 
   // Make envelope for ring
-  double moduleClearanceZ = 0.6 * GeoModelKernelUnits::mm; // Arbitrary choice
-  double moduleClearanceR = 0.5 * GeoModelKernelUnits::mm; 
+  double moduleClearanceZ = 0.6 * Gaudi::Units::mm; // Arbitrary choice
+  double moduleClearanceR = 0.5 * Gaudi::Units::mm; 
 
   m_innerRadius = m_module->innerRadius() - 0.5*m_module->stereoAngle()*(0.5*m_module->innerWidth()) - moduleClearanceR;
   m_outerRadius = sqrt(sqr(m_module->outerRadius()) + sqr(0.5*m_module->outerWidth())) 
@@ -168,15 +166,15 @@ SCT_FwdRing::preBuild()
 
   // Calculate clearance we have. NB. This is an approximate.
   //std::cout << "Module clearance (radial value does not take into account stereo rotation:" << std::endl;
-  //std::cout << " radial: " << moduleClearanceR/GeoModelKernelUnits::mm << " mm" << std::endl;
-  //std::cout << " away from disc in z " << moduleClearanceZ/GeoModelKernelUnits::mm << " mm" << std::endl;
+  //std::cout << " radial: " << moduleClearanceR/Gaudi::Units::mm << " mm" << std::endl;
+  //std::cout << " away from disc in z " << moduleClearanceZ/Gaudi::Units::mm << " mm" << std::endl;
   //std::cout << " Lo Module to cooling block: " << -m_moduleStagger-0.5*m_module->thickness() - m_moduleServicesLoOuterZPos << std::endl;
   //std::cout << " Hi Module to cooling block: " << +m_moduleStagger-0.5*m_module->thickness() - m_moduleServicesHiOuterZPos << std::endl;
   //std::cout << " Module to Module: " << m_moduleStagger-m_module->thickness() << std::endl;
   //std::cout << " towards disc in z "   
   //     << std::min(m_moduleStagger-m_module->thickness(), 
   //   std::min(-m_moduleStagger-0.5*m_module->thickness() - m_moduleServicesLoOuterZPos,
-  //     +m_moduleStagger-0.5*m_module->thickness() - m_moduleServicesHiOuterZPos)) / GeoModelKernelUnits::mm << " mm" << std::endl;
+  //     +m_moduleStagger-0.5*m_module->thickness() - m_moduleServicesHiOuterZPos)) / Gaudi::Units::mm << " mm" << std::endl;
 
   m_thicknessOuter = 0.5 * m_module->thickness() + m_moduleStagger + moduleClearanceZ;
   m_thicknessInner = m_maxModuleServicesBaseToRingCenter + 2*m_safety;
@@ -209,7 +207,7 @@ SCT_FwdRing::build(SCT_Identifier id) const
   // Physical volume for the half ring
   GeoPhysVol * ring = new GeoPhysVol(m_logVolume);
   
-  double deltaPhi = 360*GeoModelKernelUnits::degree / m_numModules;
+  double deltaPhi = 360*Gaudi::Units::degree / m_numModules;
   bool negativeEndCap = (id.getBarrelEC() < 0);
   
   for (int i = 0; i < m_numModules; i++){
@@ -264,13 +262,13 @@ SCT_FwdRing::build(SCT_Identifier id) const
     //std::cout << "Endcap# = " <<id.getBarrelEC() 
     //       << ", idModule = " << idModule 
     //       << ", i = " << i 
-    //       << ", phi = " << phi/GeoModelKernelUnits::degree << std::endl;
+    //       << ", phi = " << phi/Gaudi::Units::degree << std::endl;
 
     GeoTrf::Transform3D rot = GeoTrf::RotateZ3D(phi + 0.5 * m_module->stereoAngle() * m_stereoSign);
     if (m_ringSide > 0) {
-      rot = rot*GeoTrf::RotateX3D(180*GeoModelKernelUnits::degree);
+      rot = rot*GeoTrf::RotateX3D(180*Gaudi::Units::degree);
     }
-    rot = rot*GeoTrf::RotateY3D(90*GeoModelKernelUnits::degree);
+    rot = rot*GeoTrf::RotateY3D(90*Gaudi::Units::degree);
     
     double zPos =  staggerUpperLower * m_moduleStagger * m_ringSide;
     GeoTrf::Vector3D xyz(m_module->sensorCenterRadius(), 0, zPos);
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdSensor.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdSensor.cxx
index a681a2f0291d..34400f89fbdb 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdSensor.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdSensor.cxx
@@ -31,12 +31,10 @@
 #include "GeoModelKernel/GeoTransform.h"
 #include "GeoModelKernel/GeoAlignableTransform.h"
 #include "GeoModelKernel/GeoMaterial.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include "GeoModelKernel/GeoDefinitions.h"
 
-
-
 #include "InDetReadoutGeometry/SCT_DetectorManager.h"
 #include "InDetReadoutGeometry/SCT_ForwardModuleSideDesign.h"
 #include "InDetReadoutGeometry/SiDetectorElement.h"
@@ -316,10 +314,10 @@ void SCT_FwdSensor::makeDesign()
   // This is the default and no action is required. 
   // Can force axes not to be swapped by setting to false.
   // 
-  // bool phiSyGeoModelKernelUnits::mmetric = true;
-  // bool etaSyGeoModelKernelUnits::mmetric = false; 
-  // bool depthSyGeoModelKernelUnits::mmetric = true;
-  // m_design->setSyGeoModelKernelUnits::mmetry(phiSyGeoModelKernelUnits::mmetric, etaSyGeoModelKernelUnits::mmetric, depthSyGeoModelKernelUnits::mmetric,
+  // bool phiSyGaudi::Units::mmetric = true;
+  // bool etaSyGaudi::Units::mmetric = false; 
+  // bool depthSyGaudi::Units::mmetric = true;
+  // m_design->setSyGaudi::Units::mmetry(phiSyGaudi::Units::mmetric, etaSyGaudi::Units::mmetric, depthSyGaudi::Units::mmetric,
   //
 
 }
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdSpine.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdSpine.cxx
index 7e01fc5b52f6..6c6f13e57d7c 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdSpine.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdSpine.cxx
@@ -24,16 +24,11 @@
 #include "GeoModelKernel/GeoShape.h"
 #include "GeoModelKernel/GeoShapeShift.h"
 #include "GeoModelKernel/GeoShapeUnion.h"
-
-#include "GeoModelKernel/Units.h"
-
 #include "GeoModelKernel/GeoDefinitions.h"
-
-
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <cmath>
 
-
 SCT_FwdSpine::SCT_FwdSpine(const std::string & name,
          int ringType)
   : SCT_SharedComponentFactory(name), m_ringType(ringType)
@@ -70,7 +65,7 @@ SCT_FwdSpine::getParameters()
     - parameters->fwdHybridMountPointToInnerEdge()
     - parameters->fwdModuleHybridEdgeToSpine(m_ringType);
    
-  // (zssp[m_ringType].spndox + zsmi[m_ringType].mountd - zhyb->hybysh - zhyb->hybgap0) * GeoModelKernelUnits::cm;
+  // (zssp[m_ringType].spndox + zsmi[m_ringType].mountd - zhyb->hybysh - zhyb->hybgap0) * Gaudi::Units::cm;
 
 }
 
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdWheel.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdWheel.cxx
index c28934fe5d36..fd9d628e6db9 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdWheel.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdWheel.cxx
@@ -37,11 +37,8 @@
 #include "GeoModelKernel/GeoAlignableTransform.h"
 #include "GeoModelKernel/GeoMaterial.h"
 #include "GeoModelKernel/GeoShapeShift.h"
-#include "GeoModelKernel/Units.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-
-
-
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <sstream>
 #include <cmath>
@@ -111,12 +108,12 @@ SCT_FwdWheel::getParameters()
 
   // FIXME: Check and put these in DB or calculate them
   // We have a maximum width of 80.2. Make it 75 for some clearance.
-  //m_innerRadius = 267 * GeoModelKernelUnits::mm;
-  //m_outerRadius = 590 * GeoModelKernelUnits::mm;
-  //m_thickness = 100 * GeoModelKernelUnits::mm;
+  //m_innerRadius = 267 * Gaudi::Units::mm;
+  //m_outerRadius = 590 * Gaudi::Units::mm;
+  //m_thickness = 100 * Gaudi::Units::mm;
   // These get swapped later if the wheel is rotated.
-  m_thicknessFront = 30 * GeoModelKernelUnits::mm;
-  m_thicknessBack  = 45 * GeoModelKernelUnits::mm;
+  m_thicknessFront = 30 * Gaudi::Units::mm;
+  m_thicknessBack  = 45 * Gaudi::Units::mm;
 
   m_numFSITypes = parameters->fwdFSINumGeomTypes();
   m_fsiVector =  &(parameters->fsiVector(m_iWheel));
@@ -207,7 +204,7 @@ SCT_FwdWheel::preBuild()
   // If first or last wheel there is nothing protruding beyond the rings so we reduce the
   // envelope size. Comes to about 20 mm. Note the front becomes the back later for the last wheel.
   if ((m_iWheel == 0) || (m_iWheel == m_numWheels - 1)) {
-     m_thicknessFront = maxModuleThickness + 1*GeoModelKernelUnits::mm; // We give plenty of safety as we have the room.
+     m_thicknessFront = maxModuleThickness + 1*Gaudi::Units::mm; // We give plenty of safety as we have the room.
   // But now modified by disc fixations
      if(m_discFixationPresent) {
        m_thicknessFront = std::max(m_thicknessFront,m_discFixation->radius() + m_safety);
@@ -249,7 +246,7 @@ SCT_FwdWheel::preBuild()
 
   // TODO. Have to account for FSI and patch panels
   //m_thickness   = 2. * maxRingOffset + maxThickness; 
-  // m_thickness  = 100 * GeoModelKernelUnits::mm;
+  // m_thickness  = 100 * Gaudi::Units::mm;
 
   //  std::cout << "Wheel " << m_iWheel << ":" << std::endl;
   //  std::cout << " innerRadius = " << m_innerRadius << std::endl;
@@ -391,7 +388,7 @@ SCT_FwdWheel::build(SCT_Identifier id) const
     for (int iRepeat = 0; iRepeat < numRepeat; iRepeat++) {
   
       // Calculate the location.
-      double patchPanelAngle = m_patchPanelLocAngle[iPPLoc] + iRepeat * 90*GeoModelKernelUnits::degree;
+      double patchPanelAngle = m_patchPanelLocAngle[iPPLoc] + iRepeat * 90*Gaudi::Units::degree;
       double patchPanelZpos =  patchPanelSide * (powerTapeZMax + 0.5*m_patchPanel[ppType]->thickness() + m_safety);
       double patchPanelR = m_patchPanel[ppType]->midRadius();
 
@@ -471,8 +468,8 @@ SCT_FwdWheel::build(SCT_Identifier id) const
     //        << "Sim type: " << (*m_fsiVector)[iFSI]->simTypeString() << ", "
     //        << "Actual type: " << (*m_fsiVector)[iFSI]->actualType() << ", "
     //        << "Loc type: " << (*m_fsiVector)[iFSI]->locationType() << ", "
-    //        << "Radius(mm): " << fsiRadius/GeoModelKernelUnits::mm << ", "
-    //        << "Phi(deg): " << fsiPhi/GeoModelKernelUnits::deg << ", "
+    //        << "Radius(mm): " << fsiRadius/Gaudi::Units::mm << ", "
+    //        << "Phi(deg): " << fsiPhi/Gaudi::Units::deg << ", "
     //        << "Thickness(mm): " << m_fsiType[type]->thickness() << ", "
     //        << "ZOffset(mm): " << m_fsiType[type]->zOffset() << ", "
     //        << "RPhi(mm): " << m_fsiType[type]->rphi() << ", "
@@ -515,7 +512,7 @@ SCT_FwdWheel::build(SCT_Identifier id) const
       // The disc fixations repeat in the four quadrants.
       for (int iRepeat = 0; iRepeat < 4; iRepeat++) {
         // Calculate the location.
-        double discFixationAngle = m_discFixationLocAngle[iLoc] + iRepeat * 90*GeoModelKernelUnits::degree;
+        double discFixationAngle = m_discFixationLocAngle[iLoc] + iRepeat * 90*Gaudi::Units::degree;
         double discFixationR = m_ringMaxRadius + 0.5*m_discFixation->thickness() + m_safety;
         // Check is within wheel
         if (discFixationR + 0.5*m_discFixation->thickness() >= m_outerRadius) {
@@ -524,7 +521,7 @@ SCT_FwdWheel::build(SCT_Identifier id) const
           std::cout << " Wheel outer radius: " << m_outerRadius << std::endl;
         }
        // Add it to the wheel
-        wheel->add(new GeoTransform(GeoTrf::RotateY3D(90.*GeoModelKernelUnits::degree)*GeoTrf::RotateX3D(discFixationAngle)*GeoTrf::TranslateZ3D(discFixationR)));
+        wheel->add(new GeoTransform(GeoTrf::RotateY3D(90.*Gaudi::Units::degree)*GeoTrf::RotateX3D(discFixationAngle)*GeoTrf::TranslateZ3D(discFixationR)));
         wheel->add(m_discFixation->getVolume());
       }
     }
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_GeneralParameters.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_GeneralParameters.cxx
index f5ae06e73786..1bec07bc2435 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_GeneralParameters.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_GeneralParameters.cxx
@@ -6,14 +6,14 @@
 #include "SCT_GeoModel/SCT_DataBase.h"
 #include "RDBAccessSvc/IRDBRecord.h"
 #include "RDBAccessSvc/IRDBRecordset.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include "GeoModelKernel/GeoDefinitions.h"
 #include "InDetGeoModelUtils/TopLevelPlacements.h"
 
 #include <iostream>
 
 
-const double SCT_SAFETY = 0.01 * GeoModelKernelUnits::mm; // Used in some places to make envelopes slightly larger to ensure
+const double SCT_SAFETY = 0.01 * Gaudi::Units::mm; // Used in some places to make envelopes slightly larger to ensure
                                      // no overlaps due to rounding errors.
 
 
@@ -62,9 +62,9 @@ double
 SCT_GeneralParameters::temperature() const
 {
   if (m_rdb->conditionsTable()->size() == 0) {
-    return 266.15 * GeoModelKernelUnits::kelvin; // -7 C
+    return 266.15 * Gaudi::Units::kelvin; // -7 C
   }
-  return (m_rdb->conditions()->getDouble("TEMPERATURE") + 273.15) * GeoModelKernelUnits::kelvin;
+  return (m_rdb->conditions()->getDouble("TEMPERATURE") + 273.15) * Gaudi::Units::kelvin;
 }
 
 
@@ -72,18 +72,18 @@ double
 SCT_GeneralParameters::biasVoltage() const
 {
   if (m_rdb->conditionsTable()->size() == 0) {
-    return 100 * GeoModelKernelUnits::volt;
+    return 100 * Gaudi::Units::volt;
   }
-  return m_rdb->conditions()->getDouble("BIASVOLT") * GeoModelKernelUnits::volt;
+  return m_rdb->conditions()->getDouble("BIASVOLT") * Gaudi::Units::volt;
 }
 
 double 
 SCT_GeneralParameters::depletionVoltage() const
 {
   if (m_rdb->conditionsTable()->size() == 0) {
-    return 20 * GeoModelKernelUnits::volt;
+    return 20 * Gaudi::Units::volt;
   }
-  return m_rdb->conditions()->getDouble("DEPLETIONVOLT") * GeoModelKernelUnits::volt;
+  return m_rdb->conditions()->getDouble("DEPLETIONVOLT") * Gaudi::Units::volt;
 }
 
 
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_InnerSide.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_InnerSide.cxx
index b30430ed63fc..c350e121281a 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_InnerSide.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_InnerSide.cxx
@@ -33,7 +33,7 @@
 #include "GeoModelKernel/GeoShapeUnion.h"
 #include "GeoModelKernel/GeoShapeShift.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <cmath>
 
@@ -141,8 +141,8 @@ SCT_InnerSide::preBuild()
   //
   // Shown is the outer side. The inner side is the same but with a rotation of 180 deg around the z-axis.       
   // 
-  //GeoModelKernelUnits::HepRotation rotSensor;
-  //rotSensor.rotateZ(180*GeoModelKernelUnits::deg);
+  //Gaudi::Units::HepRotation rotSensor;
+  //rotSensor.rotateZ(180*Gaudi::Units::deg);
   //m_outerSidePos = new GeoTrf::Transform3D(rotOuter, GeoTrf::Vector3D(0.5 * (m_sensorGap + sectThickness), 0., 0.));
   //m_sensorPos = new GeoTransform(GeoTrf::Transform3D(rotSensor, GeoTrf::Vector3D(sensorPosX, sensorPosY, sensorPosZ)));
   m_sensorPos             = new GeoTransform(GeoTrf::Translate3D(sensorPosX, sensorPosY, sensorPosZ));
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_InterLink.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_InterLink.cxx
index a9694cdbc689..d30351c0efc8 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_InterLink.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_InterLink.cxx
@@ -14,7 +14,7 @@
 #include "GeoModelKernel/GeoLogVol.h"
 #include "GeoModelKernel/GeoPhysVol.h"
 #include "GeoModelKernel/GeoTransform.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 SCT_InterLink::SCT_InterLink(const std::string & name)
   : SCT_SharedComponentFactory(name),
@@ -109,13 +109,13 @@ SCT_InterLink::build()
     m_interLink->ref();
 
     // Interlink segments:
-    m_interLinkSegShape = new GeoTubs(m_innerRadius, m_outerRadius, 0.5*m_length, - 0.5*m_dPhi*GeoModelKernelUnits::radian, m_dPhi*GeoModelKernelUnits::radian);
+    m_interLinkSegShape = new GeoTubs(m_innerRadius, m_outerRadius, 0.5*m_length, - 0.5*m_dPhi*Gaudi::Units::radian, m_dPhi*Gaudi::Units::radian);
     m_interLinkSegLog = new GeoLogVol("InterlinkSegment", m_interLinkSegShape, materials.getMaterialForVolume(m_materialName, m_interLinkSegShape->volume()));
     m_interLinkSeg = new GeoPhysVol(m_interLinkSegLog);
     m_interLinkSeg->ref();
 
     for(int i=0; i<m_nRepeat; i++) {
-      double interlinkAngle = m_phiPos + (i * 360./m_nRepeat)*GeoModelKernelUnits::deg;
+      double interlinkAngle = m_phiPos + (i * 360./m_nRepeat)*Gaudi::Units::deg;
       GeoTransform* geoTransform = new GeoTransform(GeoTrf::RotateZ3D(interlinkAngle));
       m_geoTransforms.push_back(geoTransform);
       m_interLink->add(geoTransform);
@@ -123,13 +123,13 @@ SCT_InterLink::build()
     }
 
     // B6 bearings
-    m_bearingShape = new GeoTubs(m_innerRadiusBearing, m_outerRadiusBearing, 0.5*m_lengthBearing, - 0.5*m_dPhiBearing*GeoModelKernelUnits::radian, m_dPhiBearing*GeoModelKernelUnits::radian);
+    m_bearingShape = new GeoTubs(m_innerRadiusBearing, m_outerRadiusBearing, 0.5*m_lengthBearing, - 0.5*m_dPhiBearing*Gaudi::Units::radian, m_dPhiBearing*Gaudi::Units::radian);
     m_bearingLog = new GeoLogVol("Bearing", m_bearingShape, materials.getMaterialForVolume(m_materialNameBearing, m_bearingShape->volume()));
     m_bearing = new GeoPhysVol(m_bearingLog);
     m_bearing->ref();
 
     for(int i=0; i<m_nRepeatBearing; i++) {
-      double bearingAngle = m_phiPosBearing + (i * 360./m_nRepeatBearing)*GeoModelKernelUnits::deg;
+      double bearingAngle = m_phiPosBearing + (i * 360./m_nRepeatBearing)*Gaudi::Units::deg;
       GeoTransform* geoTransform = new GeoTransform(GeoTrf::RotateZ3D(bearingAngle));
       m_geoTransforms.push_back(geoTransform);
       m_interLink->add(geoTransform);
@@ -139,15 +139,15 @@ SCT_InterLink::build()
     // FSI Flange segments:
     // These exactly fill gaps between interlink segments, with smaller radial extent
     if(m_includeFSIFlange) {
-      double dPhiFSI = (360./m_nRepeat)*GeoModelKernelUnits::deg - m_dPhi; 
-      m_FSIFlangeShape = new GeoTubs(m_innerRadiusFSIFlange, m_outerRadiusFSIFlange, 0.5*m_length, - 0.5*dPhiFSI*GeoModelKernelUnits::radian, dPhiFSI*GeoModelKernelUnits::radian);
+      double dPhiFSI = (360./m_nRepeat)*Gaudi::Units::deg - m_dPhi; 
+      m_FSIFlangeShape = new GeoTubs(m_innerRadiusFSIFlange, m_outerRadiusFSIFlange, 0.5*m_length, - 0.5*dPhiFSI*Gaudi::Units::radian, dPhiFSI*Gaudi::Units::radian);
       m_FSIFlangeLog = new GeoLogVol("FSIFlangeSegment", m_FSIFlangeShape, materials.getMaterialForVolume(m_materialNameFSIFlange, m_FSIFlangeShape->volume()));
       m_FSIFlange = new GeoPhysVol(m_FSIFlangeLog);
       m_FSIFlange->ref();
 
       for(int i=0; i<m_nRepeat; i++) {
-        double phiPosFSI = m_phiPos + (180./m_nRepeat)*GeoModelKernelUnits::deg;
-        double FSIFlangeAngle = phiPosFSI + (i * 360./m_nRepeat)*GeoModelKernelUnits::deg;
+        double phiPosFSI = m_phiPos + (180./m_nRepeat)*Gaudi::Units::deg;
+        double FSIFlangeAngle = phiPosFSI + (i * 360./m_nRepeat)*Gaudi::Units::deg;
         GeoTransform* geoTransform = new GeoTransform(GeoTrf::RotateZ3D(FSIFlangeAngle));
         m_geoTransforms.push_back(geoTransform);
         m_interLink->add(geoTransform);
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Layer.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Layer.cxx
index d8fbdccbe690..73758851473b 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Layer.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Layer.cxx
@@ -40,7 +40,7 @@
 #include "GeoModelKernel/GeoMaterial.h"
 #include "GeoModelKernel/GeoShapeSubtraction.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <sstream>
 #include <cmath>
@@ -149,7 +149,7 @@ SCT_Layer::preBuild()
   // Calculations for making active layer components - called ski.
   // This is the modules + doglegs + cooling blocks + coolingpipe 
   // 
-  double divisionAngle  = 360 * GeoModelKernelUnits::degree / m_skisPerLayer;
+  double divisionAngle  = 360 * Gaudi::Units::degree / m_skisPerLayer;
 
   // We define here the first module(id = 0) as the nearest module to phi = 0 with positive phi.
   // We allow slightly negative in case of rounding errors.
@@ -199,7 +199,7 @@ SCT_Layer::preBuild()
   // Build the volume representing the cooling inlets, outlet and U-bends.
   // We cannot do this until we have the dimensions of the clamp
   double coolingInnerRadius = m_clamp->outerRadius();
-  double clearance = 1*GeoModelKernelUnits::mm;
+  double clearance = 1*Gaudi::Units::mm;
   double coolingLength = 0.5*m_cylinderLength - 0.5*m_activeLength - clearance;
   m_coolingEnd = new SCT_CoolingEnd("CoolingEnd"+layerNumStr, m_iLayer, coolingInnerRadius, coolingLength);
 
@@ -271,7 +271,7 @@ SCT_Layer::build(SCT_Identifier id) const
   // We make this a fullPhysVol for alignment code.
   GeoFullPhysVol * layer = new GeoFullPhysVol(m_logVolume);
 
-  double divisionAngle  = 360 * GeoModelKernelUnits::degree / m_skisPerLayer;
+  double divisionAngle  = 360 * Gaudi::Units::degree / m_skisPerLayer;
 
   //
   // Active Layer
@@ -290,7 +290,7 @@ SCT_Layer::build(SCT_Identifier id) const
    
     double phi = m_skiPhiStart + iSki * divisionAngle;
 
-    //    std::cout << "m_skiPhiStart = " << m_skiPhiStart/GeoModelKernelUnits::degree << ", phi = " << phi/GeoModelKernelUnits::degree << std::endl;
+    //    std::cout << "m_skiPhiStart = " << m_skiPhiStart/Gaudi::Units::degree << ", phi = " << phi/Gaudi::Units::degree << std::endl;
 
     GeoTrf::Vector3D pos(m_radius, 0, 0);
     pos = GeoTrf::RotateZ3D(phi)*pos;
@@ -379,7 +379,7 @@ SCT_Layer::build(SCT_Identifier id) const
     double jewelRadius = std::sqrt(m_fibreMask->innerRadius()*m_fibreMask->innerRadius() - 0.25 * m_endJewel->rPhiWidth()*m_endJewel->rPhiWidth()) - 0.5 * m_endJewel->radialWidth();
     //  std::cout << "jewelRadius = " << jewelRadius << std::endl;
     for ( int i=0; i<m_nRepeatEndJewel; i++) {
-      double jewelAngle = m_phiEndJewel + i * 360.*GeoModelKernelUnits::degree/m_nRepeatEndJewel;
+      double jewelAngle = m_phiEndJewel + i * 360.*Gaudi::Units::degree/m_nRepeatEndJewel;
       //    std::cout << "jewelAngle = " << jewelAngle << std::endl;
       supportLayer->add(new GeoTransform(GeoTrf::RotateZ3D(jewelAngle)*GeoTrf::TranslateX3D(jewelRadius)*GeoTrf::TranslateZ3D(m_zEndJewel)));
       supportLayer->add(m_endJewel->getVolume());
@@ -391,7 +391,7 @@ SCT_Layer::build(SCT_Identifier id) const
     double scorpionRadius = std::sqrt(m_supportCyl->innerRadius()*m_supportCyl->innerRadius() - 0.25 * m_scorpion->rPhiWidth()*m_scorpion->rPhiWidth()) - 0.5 * m_scorpion->radialWidth();
     //  std::cout << "scorpionRadius = " << scorpionRadius << std::endl;
     for ( int i=0; i<m_nRepeatScorpion; i++) {
-      double scorpionAngle = m_phiScorpion + i * 360.*GeoModelKernelUnits::degree/m_nRepeatScorpion;
+      double scorpionAngle = m_phiScorpion + i * 360.*Gaudi::Units::degree/m_nRepeatScorpion;
       //    std::cout << "scorpionAngle = " << scorpionAngle << std::endl;
       supportLayer->add(new GeoTransform(GeoTrf::RotateZ3D(scorpionAngle)*GeoTrf::TranslateX3D(scorpionRadius)*GeoTrf::TranslateZ3D(m_zScorpion)));
       supportLayer->add(m_scorpion->getVolume());
@@ -465,7 +465,7 @@ SCT_Layer::calcSkiPhiOffset()
 
   // First calculated for abs(m_tilt). 
 
-  double divisionAngle  = 360 * GeoModelKernelUnits::degree / m_skisPerLayer;
+  double divisionAngle  = 360 * Gaudi::Units::degree / m_skisPerLayer;
 
   // double activeHalfWidth =     0.5 * m_skiAux->ski()->module()->activeWidth();
   // double moduleHalfThickness = 0.5 * m_skiAux->ski()->module()->thickness();
@@ -495,7 +495,7 @@ SCT_Layer::calcSkiPhiOffset()
   //// std::cout << "  Active width = " << m_skiAux->ski()->module()->activeWidth() << std::endl;
   //std::cout << "  Module width = " << m_module->width() << std::endl;
   //std::cout << "  Active width = " << m_module->activeWidth() << std::endl;
-  //std::cout << "  Division angle = " << divisionAngle/GeoModelKernelUnits::degree << " GeoModelKernelUnits::deg" << std::endl;
-  //std::cout << "  Ski phi offset = " << skiPhiOffset/GeoModelKernelUnits::degree  << " GeoModelKernelUnits::deg" << std::endl;
+  //std::cout << "  Division angle = " << divisionAngle/Gaudi::Units::degree << " Gaudi::Units::deg" << std::endl;
+  //std::cout << "  Ski phi offset = " << skiPhiOffset/Gaudi::Units::degree  << " Gaudi::Units::deg" << std::endl;
   return skiPhiOffset;
 }
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_MaterialManager.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_MaterialManager.cxx
index d5d853261358..6143317a4d1e 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_MaterialManager.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_MaterialManager.cxx
@@ -11,6 +11,7 @@
 #include "StoreGate/StoreGateSvc.h"
 #include "GaudiKernel/Bootstrap.h"
 #include "GaudiKernel/ISvcLocator.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <iostream>
 
@@ -64,7 +65,7 @@ SCT_MaterialManager::loadMaterials()
   //const GeoMaterial *kapton   = getMaterial("std::Kapton"); // 30th Aug 2005 D.Naito added.
 
   // CuKapton for Low Mass Tapes
-  //GeoMaterial * matCuKapton   = new GeoMaterial("sct::CuKapton",2.94*gram/GeoModelKernelUnits::cm3);
+  //GeoMaterial * matCuKapton   = new GeoMaterial("sct::CuKapton",2.94*gram/Gaudi::Units::cm3);
   //matCuKapton->add(const_cast<GeoElement*>(copper),  0.6142);
   //matCuKapton->add(const_cast<GeoMaterial*>(kapton), 0.3858);
   //addMaterial(matCuKapton);
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Module.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Module.cxx
index dea79f0f86d1..502e1d7d6b5d 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Module.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Module.cxx
@@ -33,7 +33,7 @@
 #include "GeoModelKernel/GeoTransform.h"
 #include "GeoModelKernel/GeoAlignableTransform.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 // 8th Aug 2005 S.Mima modified.
 #include "GeoModelKernel/GeoShapeSubtraction.h"
 
@@ -181,28 +181,28 @@ SCT_Module::preBuild()
   GeoTrf::Vector3D s(0.0, r.y(), m_innerSide->hybridOffsetZ() - 0.5*innerSideHybridLength);
   GeoTrf::Vector3D t(0.0, q.y(), s.z());
 
-  // All points turn +-20 mGeoModelKernelUnits::rad around physical center of module.
-  a = GeoTrf::RotateX3D(m_stereoOuter/GeoModelKernelUnits::radian)*a;
-  b = GeoTrf::RotateX3D(m_stereoOuter/GeoModelKernelUnits::radian)*b;
-  c = GeoTrf::RotateX3D(m_stereoOuter/GeoModelKernelUnits::radian)*c;
-  d = GeoTrf::RotateX3D(m_stereoOuter/GeoModelKernelUnits::radian)*d;
-
-  e = GeoTrf::RotateX3D(m_stereoInner/GeoModelKernelUnits::radian)*e;
-  f = GeoTrf::RotateX3D(m_stereoInner/GeoModelKernelUnits::radian)*f;
-  g = GeoTrf::RotateX3D(m_stereoInner/GeoModelKernelUnits::radian)*g;
-  h = GeoTrf::RotateX3D(m_stereoInner/GeoModelKernelUnits::radian)*h;
-
-  i = GeoTrf::RotateX3D(m_stereoOuter/GeoModelKernelUnits::radian)*i;
-  //k.rotateX(m_stereoOuter/GeoModelKernelUnits::radian);
-  l = GeoTrf::RotateX3D(m_stereoOuter/GeoModelKernelUnits::radian)*l;
-  m = GeoTrf::RotateX3D(m_stereoOuter/GeoModelKernelUnits::radian)*m;
-  //n.rotateX(m_stereoOuter/GeoModelKernelUnits::radian);
-  p = GeoTrf::RotateX3D(m_stereoOuter/GeoModelKernelUnits::radian)*p;
-
-  q = GeoTrf::RotateX3D(m_stereoInner/GeoModelKernelUnits::radian)*q;
-  r = GeoTrf::RotateX3D(m_stereoInner/GeoModelKernelUnits::radian)*r;
-  s = GeoTrf::RotateX3D(m_stereoInner/GeoModelKernelUnits::radian)*s;
-  t = GeoTrf::RotateX3D(m_stereoInner/GeoModelKernelUnits::radian)*t;
+  // All points turn +-20 mGaudi::Units::rad around physical center of module.
+  a = GeoTrf::RotateX3D(m_stereoOuter/Gaudi::Units::radian)*a;
+  b = GeoTrf::RotateX3D(m_stereoOuter/Gaudi::Units::radian)*b;
+  c = GeoTrf::RotateX3D(m_stereoOuter/Gaudi::Units::radian)*c;
+  d = GeoTrf::RotateX3D(m_stereoOuter/Gaudi::Units::radian)*d;
+
+  e = GeoTrf::RotateX3D(m_stereoInner/Gaudi::Units::radian)*e;
+  f = GeoTrf::RotateX3D(m_stereoInner/Gaudi::Units::radian)*f;
+  g = GeoTrf::RotateX3D(m_stereoInner/Gaudi::Units::radian)*g;
+  h = GeoTrf::RotateX3D(m_stereoInner/Gaudi::Units::radian)*h;
+
+  i = GeoTrf::RotateX3D(m_stereoOuter/Gaudi::Units::radian)*i;
+  //k.rotateX(m_stereoOuter/Gaudi::Units::radian);
+  l = GeoTrf::RotateX3D(m_stereoOuter/Gaudi::Units::radian)*l;
+  m = GeoTrf::RotateX3D(m_stereoOuter/Gaudi::Units::radian)*m;
+  //n.rotateX(m_stereoOuter/Gaudi::Units::radian);
+  p = GeoTrf::RotateX3D(m_stereoOuter/Gaudi::Units::radian)*p;
+
+  q = GeoTrf::RotateX3D(m_stereoInner/Gaudi::Units::radian)*q;
+  r = GeoTrf::RotateX3D(m_stereoInner/Gaudi::Units::radian)*r;
+  s = GeoTrf::RotateX3D(m_stereoInner/Gaudi::Units::radian)*s;
+  t = GeoTrf::RotateX3D(m_stereoInner/Gaudi::Units::radian)*t;
 
   // Calculate demension of envelope1.
   const double z_ab = std::max(a.z(), b.z());
@@ -330,7 +330,7 @@ SCT_Module::preBuild()
   //
   // inner side
   //
-  GeoTrf::Transform3D rotInner = GeoTrf::RotateX3D(m_stereoInner) * GeoTrf::RotateZ3D(180*GeoModelKernelUnits::deg);
+  GeoTrf::Transform3D rotInner = GeoTrf::RotateX3D(m_stereoInner) * GeoTrf::RotateZ3D(180*Gaudi::Units::deg);
   m_innerSidePos = new GeoTrf::Transform3D(GeoTrf::Transform3D(GeoTrf::Translation3D(ISPosX, 0.0, 0.0)*rotInner));
 
   //
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_OuterSide.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_OuterSide.cxx
index b9b9a7b6e92c..1a4ee321aeba 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_OuterSide.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_OuterSide.cxx
@@ -27,10 +27,8 @@
 #include "GeoModelKernel/GeoShape.h"
 #include "GeoModelKernel/GeoShapeUnion.h"
 #include "GeoModelKernel/GeoShapeShift.h"
-
-#include "GeoModelKernel/Units.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <cmath>
 
@@ -148,10 +146,10 @@ SCT_OuterSide::preBuild()
   //        ---   hybrid  | 
   //      ------- sensor  | x-axis
   //
-  // Shown is the outer side. The inner side is the same but with a rotation of 180 GeoModelKernelUnits::deg around the z-axis.       
+  // Shown is the outer side. The inner side is the same but with a rotation of 180 Gaudi::Units::deg around the z-axis.       
   // 
-  //GeoModelKernelUnits::HepRotation rotSensor;
-  //rotSensor.rotateZ(180*GeoModelKernelUnits::deg);
+  //Gaudi::Units::HepRotation rotSensor;
+  //rotSensor.rotateZ(180*Gaudi::Units::deg);
   //m_outerSidePos = new GeoTrf::Transform3D(rotOuter, GeoTrf::Vector3D(0.5 * (m_sensorGap + sectThickness), 0., 0.));
   //m_sensorPos = new GeoTransform(GeoTrf::Transform3D(rotSensor, GeoTrf::Vector3D(sensorPosX, sensorPosY, sensorPosZ)));
   m_sensorPos             = new GeoTransform(GeoTrf::Translate3D(sensorPosX, sensorPosY, sensorPosZ));
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Sensor.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Sensor.cxx
index 6cc41f4ffb5c..4a3b15f269e5 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Sensor.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Sensor.cxx
@@ -20,8 +20,7 @@
 #include "InDetReadoutGeometry/InDetDD_Defs.h"
 #include "InDetReadoutGeometry/SiCommonItems.h"
 
-
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 using namespace InDetDD;
 
@@ -122,10 +121,10 @@ SCT_Sensor::makeDesign()
   // This is the default and no action is required. 
   // Can force axes not to be swapped by setting to false.
   // 
-  // bool phiSyGeoModelKernelUnits::mmetric = true;
-  // bool etaSyGeoModelKernelUnits::mmetric = true; 
-  // bool depthSyGeoModelKernelUnits::mmetric = true;
-  // m_design->setSyGeoModelKernelUnits::mmetry(phiSyGeoModelKernelUnits::mmetric, etaSyGeoModelKernelUnits::mmetric, depthSyGeoModelKernelUnits::mmetric,
+  // bool phiSyGaudi::Units::mmetric = true;
+  // bool etaSyGaudi::Units::mmetric = true; 
+  // bool depthSyGaudi::Units::mmetric = true;
+  // m_design->setSyGaudi::Units::mmetry(phiSyGaudi::Units::mmetric, etaSyGaudi::Units::mmetric, depthSyGaudi::Units::mmetric,
   //
 }
 
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Ski.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Ski.cxx
index bae8c9ba459f..ef7d865734e9 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Ski.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Ski.cxx
@@ -29,7 +29,7 @@
 #include "GeoModelKernel/GeoShapeUnion.h"
 #include "GeoModelKernel/GeoShapeShift.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <sstream>
 #include <cmath>
@@ -102,8 +102,8 @@ SCT_Ski::getParameters()
 const GeoLogVol * 
 SCT_Ski::preBuild()
 {
-  const double rphiClearance = 0.5*GeoModelKernelUnits::mm;
-  const double radialClearance = 0.5*GeoModelKernelUnits::mm;
+  const double rphiClearance = 0.5*Gaudi::Units::mm;
+  const double radialClearance = 0.5*Gaudi::Units::mm;
 
 
   // Make components.
@@ -134,7 +134,7 @@ SCT_Ski::preBuild()
 
   // *** 18:00 Fri 27th May 2005 D.Naito put some comments.
   // I need to calculate moduleYMax and moduleYMin for yModuleOffset,
-  // because the modules is asyGeoModelKernelUnits::mmetry in y direction.
+  // because the modules is asyGaudi::Units::mmetry in y direction.
 
   //
   // These are coordinates of corners of module's envelopes.
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_SkiPowerTape.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_SkiPowerTape.cxx
index 9b11aeb79d5c..d9f62da5c53a 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_SkiPowerTape.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_SkiPowerTape.cxx
@@ -27,7 +27,7 @@
 #include "GeoModelKernel/GeoMaterial.h"
 #include "GeoModelKernel/Units.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include <iostream>
 #include <sstream>
 #include <cmath>
@@ -94,7 +94,7 @@ SCT_SkiPowerTape::build()
     
     // nPos is used to stack the power tapes. Modules closest to interlink are
     // furthest from support. The positive and negative z positions are 
-    // syGeoModelKernelUnits::mmetric. nPos = 5,4,3,2,1,0,0,1,2,3,4,5 for the 12 modules.
+    // syGaudi::Units::mmetric. nPos = 5,4,3,2,1,0,0,1,2,3,4,5 for the 12 modules.
     int nPos;
 
     // test sign of zpos to determine whether the tape runs to the
@@ -157,7 +157,7 @@ SCT_SkiPowerTape::build()
     // Position the tape
     skiPowerTape->add(new GeoTransform(GeoTrf::Translate3D(xTapePos, yTapePos, tapeMid)));
     skiPowerTape->add(powerTape.getVolume());
-    mass += (powerTape.getVolume()->getLogVol()->getShape()->volume()/GeoModelKernelUnits::cm3)*(powerTape.material()->getDensity()/GeoModelKernelUnits::g/GeoModelKernelUnits::cm3);
+    mass += (powerTape.getVolume()->getLogVol()->getShape()->volume()/Gaudi::Units::cm3)*(powerTape.material()->getDensity()/GeoModelKernelUnits::g/Gaudi::Units::cm3);
     ltot += tapeLength;
 
   }    
-- 
GitLab


From 12ae80e7e5008ac7e104c951098d22682ceed5cd Mon Sep 17 00:00:00 2001
From: John Kenneth Anders <john.kenneth.anders@cern.ch>
Date: Tue, 22 Jan 2019 12:58:57 +0000
Subject: [PATCH 052/192] Merge branch 'fix_Broken_TCT' into '21.0'

Removed mc16d TCT and replaced with mc16e

See merge request atlas/athena!20519

(cherry picked from commit 3629f2a94aa2156b659b5d1eaceb50f6c388d56a)

62086093 Removed mc16d TCT and replaced with mc16e
---
 .../CxxUtils/ATLAS_CHECK_THREAD_SAFETY        |  0
 Tools/Tier0ChainTests/test/test_reco_mc16e.sh | 19 +++++++++++++++++++
 2 files changed, 19 insertions(+)
 mode change 100755 => 100644 Control/CxxUtils/CxxUtils/ATLAS_CHECK_THREAD_SAFETY
 create mode 100644 Tools/Tier0ChainTests/test/test_reco_mc16e.sh

diff --git a/Control/CxxUtils/CxxUtils/ATLAS_CHECK_THREAD_SAFETY b/Control/CxxUtils/CxxUtils/ATLAS_CHECK_THREAD_SAFETY
old mode 100755
new mode 100644
diff --git a/Tools/Tier0ChainTests/test/test_reco_mc16e.sh b/Tools/Tier0ChainTests/test/test_reco_mc16e.sh
new file mode 100644
index 000000000000..f6ae0bf55b4f
--- /dev/null
+++ b/Tools/Tier0ChainTests/test/test_reco_mc16e.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+#
+# art-description: RecoTrf
+# art-type: grid
+# art-include: 21.0/Athena
+# art-include: 21.0-TrigMC/Athena
+# art-include: master/Athena
+# art-include: 21.3/Athena
+# art-include: 21.9/Athena
+
+Reco_tf.py --digiSteeringConf 'StandardSignalOnlyTruth' --conditionsTag 'default:OFLCOND-MC16-SDR-25' --valid 'True' --pileupFinalBunch '6' --numberOfHighPtMinBias '0.2595392' --autoConfiguration 'everything' --numberOfLowPtMinBias '99.2404608' --steering 'doRDO_TRIG' --preInclude 'HITtoRDO:Digitization/ForceUseOfPileUpTools.py,SimulationJobOptions/preInlcude.PileUpBunchTrainsMC16c_2017_Config1.py,RunDependentSimData/configLumi_run310000.py' --postInclude 'default:PyJobTransforms/UseFrontier.py' --postExec 'all:CfgMgr.MessageSvc().setError+=["HepMcParticleLink"]' "ESDtoAOD:fixedAttrib=[s if \"CONTAINER_SPLITLEVEL = '99'\" not in s else \"\" for s in svcMgr.AthenaPoolCnvSvc.PoolAttributes];svcMgr.AthenaPoolCnvSvc.PoolAttributes=fixedAttrib" "RDOtoRDOTrigger:conddb.addOverride(\"/CALO/Ofl/Noise/PileUpNoiseLumi\",\"CALOOflNoisePileUpNoiseLumi-mc15-mu30-dt25ns\")" 'ESDtoAOD:CILMergeAOD.removeItem("xAOD::CaloClusterAuxContainer#CaloCalTopoClustersAux.LATERAL.LONGITUDINAL.SECOND_R.SECOND_LAMBDA.CENTER_MAG.CENTER_LAMBDA.FIRST_ENG_DENS.ENG_FRAC_MAX.ISOLATION.ENG_BAD_CELLS.N_BAD_CELLS.BADLARQ_FRAC.ENG_BAD_HV_CELLS.N_BAD_HV_CELLS.ENG_POS.SIGNIFICANCE.CELL_SIGNIFICANCE.CELL_SIG_SAMPLING.AVG_LAR_Q.AVG_TILE_Q.EM_PROBABILITY.PTD.BadChannelList");CILMergeAOD.add("xAOD::CaloClusterAuxContainer#CaloCalTopoClustersAux.N_BAD_CELLS.ENG_BAD_CELLS.BADLARQ_FRAC.AVG_TILE_Q.AVG_LAR_Q.CENTER_MAG.ENG_POS.CENTER_LAMBDA.SECOND_LAMBDA.SECOND_R.ISOLATION.EM_PROBABILITY");StreamAOD.ItemList=CILMergeAOD()' --preExec 'all:rec.Commissioning.set_Value_and_Lock(True);from AthenaCommon.BeamFlags import jobproperties;jobproperties.Beam.numberOfCollisions.set_Value_and_Lock(20.0);from LArROD.LArRODFlags import larRODFlags;larRODFlags.NumberOfCollisions.set_Value_and_Lock(20);larRODFlags.nSamples.set_Value_and_Lock(4);larRODFlags.doOFCPileupOptimization.set_Value_and_Lock(True);larRODFlags.firstSample.set_Value_and_Lock(0);larRODFlags.useHighestGainAutoCorr.set_Value_and_Lock(True); from LArDigitization.LArDigitizationFlags import jobproperties;jobproperties.LArDigitizationFlags.useEmecIwHighGain.set_Value_and_Lock(False)' 'ESDtoAOD:from TriggerJobOpts.TriggerFlags import TriggerFlags;TriggerFlags.AODEDMSet.set_Value_and_Lock("AODSLIM");' --triggerConfig 'RDOtoRDOTrigger=MCRECO:DBF:TRIGGERDBMC:2232,86,278' --geometryVersion 'default:ATLAS-R2-2016-01-00-01' --numberOfCavernBkg '0' --inputHITSFile=/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/valid1.410000.PowhegPythiaEvtGen_P2012_ttbar_hdamp172p5_nonallhad.simul.HITS.e4993_s3091/\* --maxEvents=100 --outputAODFile=myAOD.pool.root --outputRDOFile=myRDO.pool.root --outputESDFile=myESD.pool.root --outputTAGFile=myTAG.root --runNumber=410000 --jobNumber=1 --inputLowPtMinbiasHitsFile=/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/mc16_13TeV.361238.Pythia8EvtGen_A3NNPDF23LO_minbias_inelastic_low.merge.HITS.e4981_s3087_s3089/\* --inputHighPtMinbiasHitsFile=/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/mc16_13TeV.361239.Pythia8EvtGen_A3NNPDF23LO_minbias_inelastic_high.merge.HITS.e4981_s3087_s3089/\*
+
+echo "art-result: $? Reco"
+
+ArtPackage=$1
+ArtJobName=$2
+art.py compare grid --entries 10 ${ArtPackage} ${ArtJobName}
+echo "art-result: $? Diff"
+
-- 
GitLab


From 3cb62f1739a87ab049828c14cd8c6e50075e9b72 Mon Sep 17 00:00:00 2001
From: John Derek Chapman <chapman@hep.phy.cam.ac.uk>
Date: Tue, 22 Jan 2019 11:13:17 +0000
Subject: [PATCH 053/192] Merge branch 'rdopos' into '21.3'

Adding local and global position to RDOs in NSW Val Alg

See merge request atlas/athena!20480

(cherry picked from commit 0f8aaf02b5c185b9c2b7cb84695df45510495d9a)

14641d10 Adding local and global position to RDOs in NSW Val Alg
---
 .../CxxUtils/ATLAS_CHECK_THREAD_SAFETY        |  0
 .../MuonPRDTest/src/MMRDOVariables.cxx        | 55 +++++++++++++++++--
 .../MuonPRDTest/src/MMRDOVariables.h          | 12 +++-
 .../MuonPRDTest/src/sTGCRDOVariables.cxx      | 51 +++++++++++++++++
 .../MuonPRDTest/src/sTGCRDOVariables.h        | 13 ++++-
 5 files changed, 125 insertions(+), 6 deletions(-)
 mode change 100755 => 100644 Control/CxxUtils/CxxUtils/ATLAS_CHECK_THREAD_SAFETY

diff --git a/Control/CxxUtils/CxxUtils/ATLAS_CHECK_THREAD_SAFETY b/Control/CxxUtils/CxxUtils/ATLAS_CHECK_THREAD_SAFETY
old mode 100755
new mode 100644
diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMRDOVariables.cxx b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMRDOVariables.cxx
index 2b965366b218..4446264704aa 100644
--- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMRDOVariables.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMRDOVariables.cxx
@@ -68,9 +68,24 @@ StatusCode MMRDOVariables::fillVariables()
       m_NSWMM_rdo_charge->push_back(rdo->charge());
 
       // get the readout element class where the RDO is recorded
-      // int isSmall = (stName[2] == 'S');
-      // const MuonGM::MMReadoutElement* rdoEl = m_detManager->getMMRElement_fromIdFields(isSmall, stationEta, stationPhi, multiplet );
-
+      int isSmall = (stName[2] == 'S');
+      const MuonGM::MMReadoutElement* rdoEl = m_detManager->getMMRElement_fromIdFields(isSmall, stationEta, stationPhi, multiplet );
+
+      Amg::Vector2D localStripPos(0.,0.);
+      if ( rdoEl->stripPosition(Id,localStripPos) )  {
+        m_NSWMM_rdo_localPosX->push_back(localStripPos.x());
+        m_NSWMM_rdo_localPosY->push_back(localStripPos.y());
+        ATH_MSG_DEBUG("MM RDO: local pos.:  x=" << localStripPos[0] << ",  y=" << localStripPos[1]);
+      } else { 
+        ATH_MSG_WARNING("MM RDO: local Strip position not defined"); 
+      }
+      
+      // asking the detector element to transform this local to the global position
+      Amg::Vector3D globalStripPos(0., 0., 0.);
+      rdoEl->surface(Id).localToGlobal(localStripPos,Amg::Vector3D(0.,0.,0.),globalStripPos);
+      m_NSWMM_rdo_globalPosX->push_back(globalStripPos.x());
+      m_NSWMM_rdo_globalPosY->push_back(globalStripPos.y());
+      m_NSWMM_rdo_globalPosZ->push_back(globalStripPos.z());
 
       // rdo counter for the ntuple
       m_NSWMM_nrdo++;
@@ -99,6 +114,13 @@ StatusCode MMRDOVariables::clearVariables()
   m_NSWMM_rdo_time->clear();
   m_NSWMM_rdo_charge->clear();
 
+  m_NSWMM_rdo_globalPosX->clear();
+  m_NSWMM_rdo_globalPosY->clear();
+  m_NSWMM_rdo_globalPosZ->clear();
+
+  m_NSWMM_rdo_localPosX->clear();
+  m_NSWMM_rdo_localPosY->clear();
+
   return StatusCode::SUCCESS;
 }
 
@@ -118,6 +140,13 @@ StatusCode MMRDOVariables::initializeVariables()
   m_NSWMM_rdo_time        = new std::vector<int>();
   m_NSWMM_rdo_charge      = new std::vector<int>();
 
+  m_NSWMM_rdo_localPosX   = new std::vector<double>();
+  m_NSWMM_rdo_localPosY   = new std::vector<double>();
+
+  m_NSWMM_rdo_globalPosX   = new std::vector<double>();
+  m_NSWMM_rdo_globalPosY   = new std::vector<double>();
+  m_NSWMM_rdo_globalPosZ   = new std::vector<double>();
+
 
   if(m_tree) {
     m_tree->Branch("RDO_MM_n",           &m_NSWMM_nrdo);
@@ -129,6 +158,14 @@ StatusCode MMRDOVariables::initializeVariables()
     m_tree->Branch("RDO_MM_channel",     &m_NSWMM_rdo_channel);
     m_tree->Branch("RDO_MM_time",        &m_NSWMM_rdo_time);
     m_tree->Branch("RDO_MM_charge",      &m_NSWMM_rdo_charge);
+    
+    m_tree->Branch("RDO_MM_localPosX",   &m_NSWMM_rdo_localPosX);
+    m_tree->Branch("RDO_MM_localPosY",   &m_NSWMM_rdo_localPosY);
+
+    m_tree->Branch("RDO_MM_globalPosX",  &m_NSWMM_rdo_globalPosX);
+    m_tree->Branch("RDO_MM_globalPosY",  &m_NSWMM_rdo_globalPosY);
+    m_tree->Branch("RDO_MM_globalPosZ",  &m_NSWMM_rdo_globalPosZ);
+
   }
 
   return StatusCode::SUCCESS;
@@ -147,7 +184,12 @@ void MMRDOVariables::deleteVariables()
   delete m_NSWMM_rdo_channel;
   delete m_NSWMM_rdo_time;
   delete m_NSWMM_rdo_charge;
-  
+  delete m_NSWMM_rdo_localPosX;
+  delete m_NSWMM_rdo_localPosY;
+  delete m_NSWMM_rdo_globalPosX;
+  delete m_NSWMM_rdo_globalPosY;
+  delete m_NSWMM_rdo_globalPosZ;
+
 
   m_NSWMM_nrdo = 0;
   m_NSWMM_rdo_stationName = nullptr;
@@ -158,6 +200,11 @@ void MMRDOVariables::deleteVariables()
   m_NSWMM_rdo_channel = nullptr;
   m_NSWMM_rdo_time = nullptr;
   m_NSWMM_rdo_charge = nullptr;
+  m_NSWMM_rdo_localPosX = nullptr;
+  m_NSWMM_rdo_localPosY = nullptr;
+  m_NSWMM_rdo_globalPosX = nullptr;
+  m_NSWMM_rdo_globalPosY = nullptr;
+  m_NSWMM_rdo_globalPosZ = nullptr;
 
   return;
 }
diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMRDOVariables.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMRDOVariables.h
index 2b587179d2c9..4eac77ac855d 100644
--- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMRDOVariables.h
+++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/MMRDOVariables.h
@@ -29,7 +29,12 @@ class MMRDOVariables : public ValAlgVariables
     m_NSWMM_rdo_gas_gap(0),
     m_NSWMM_rdo_channel(0),
     m_NSWMM_rdo_time(0),
-    m_NSWMM_rdo_charge(0)
+    m_NSWMM_rdo_charge(0),
+    m_NSWMM_rdo_localPosX(0),
+    m_NSWMM_rdo_localPosY(0),
+    m_NSWMM_rdo_globalPosX(0),
+    m_NSWMM_rdo_globalPosY(0),
+    m_NSWMM_rdo_globalPosZ(0)
   {
     setHelper(idhelper);
   }
@@ -67,6 +72,11 @@ class MMRDOVariables : public ValAlgVariables
   std::vector<int> *m_NSWMM_rdo_time;
   std::vector<int> *m_NSWMM_rdo_charge;
 
+  std::vector<double> *m_NSWMM_rdo_localPosX;
+  std::vector<double> *m_NSWMM_rdo_localPosY;
+  std::vector<double> *m_NSWMM_rdo_globalPosX;
+  std::vector<double> *m_NSWMM_rdo_globalPosY;
+  std::vector<double> *m_NSWMM_rdo_globalPosZ;
 };
 
 #endif // MMRDOVARIABLES_H
diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCRDOVariables.cxx b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCRDOVariables.cxx
index 02760eb31fad..1544fe8c2588 100644
--- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCRDOVariables.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCRDOVariables.cxx
@@ -5,6 +5,7 @@
 #include "sTGCRDOVariables.h"
 #include "AthenaBaseComps/AthAlgorithm.h"
 
+#include "MuonReadoutGeometry/sTgcReadoutElement.h"
 #include "MuonSimData/MuonSimDataCollection.h"
 
 #include "MuonRDO/STGC_RawDataContainer.h"
@@ -70,6 +71,26 @@ StatusCode sTGCRDOVariables::fillVariables()
       m_NSWsTGC_rdo_bcTag->push_back(rdo->bcTag());
       m_NSWsTGC_rdo_isDead->push_back(rdo->isDead());
 
+      // get the readout element class where the RDO is recorded
+      int isSmall = stName[2] == 'S';
+      const MuonGM::sTgcReadoutElement* rdoEl = m_detManager->getsTgcRElement_fromIdFields(isSmall, stationEta, stationPhi, multiplet );
+
+      Amg::Vector2D localStripPos(0.,0.);
+      if ( rdoEl->stripPosition(Id,localStripPos) )  {
+        m_NSWsTGC_rdo_localPosX->push_back(localStripPos.x());
+        m_NSWsTGC_rdo_localPosY->push_back(localStripPos.y());
+        ATH_MSG_DEBUG("sTGC RDO: local pos.:  x=" << localStripPos[0] << ",  y=" << localStripPos[1]);
+      } else { 
+        ATH_MSG_WARNING("sTGC RDO: local Strip position not defined"); 
+      }
+
+       // asking the detector element to transform this local to the global position
+      Amg::Vector3D globalStripPos(0., 0., 0.);
+      rdoEl->surface(Id).localToGlobal(localStripPos,Amg::Vector3D(0.,0.,0.),globalStripPos);
+      m_NSWsTGC_rdo_globalPosX->push_back(globalStripPos.x());
+      m_NSWsTGC_rdo_globalPosY->push_back(globalStripPos.y());
+      m_NSWsTGC_rdo_globalPosZ->push_back(globalStripPos.z());
+
       // rdo counter for the ntuple
       m_NSWsTGC_nrdo++;
     }
@@ -100,6 +121,13 @@ StatusCode sTGCRDOVariables::clearVariables()
   m_NSWsTGC_rdo_bcTag->clear();
   m_NSWsTGC_rdo_isDead->clear();
 
+  m_NSWsTGC_rdo_globalPosX->clear();
+  m_NSWsTGC_rdo_globalPosY->clear();
+  m_NSWsTGC_rdo_globalPosZ->clear();
+
+  m_NSWsTGC_rdo_localPosX->clear();
+  m_NSWsTGC_rdo_localPosY->clear();
+
   return StatusCode::SUCCESS;
 }
 
@@ -122,6 +150,12 @@ StatusCode sTGCRDOVariables::initializeVariables()
   m_NSWsTGC_rdo_bcTag       = new std::vector<uint16_t>();
   m_NSWsTGC_rdo_isDead      = new std::vector<bool>();
 
+  m_NSWsTGC_rdo_localPosX   = new std::vector<double>();
+  m_NSWsTGC_rdo_localPosY   = new std::vector<double>();
+
+  m_NSWsTGC_rdo_globalPosX   = new std::vector<double>();
+  m_NSWsTGC_rdo_globalPosY   = new std::vector<double>();
+  m_NSWsTGC_rdo_globalPosZ   = new std::vector<double>();
 
   if(m_tree) {
     m_tree->Branch("RDO_sTGC_n",            &m_NSWsTGC_nrdo);
@@ -136,6 +170,13 @@ StatusCode sTGCRDOVariables::initializeVariables()
     m_tree->Branch("RDO_sTGC_charge",       &m_NSWsTGC_rdo_charge);
     m_tree->Branch("RDO_sTGC_bcTag",        &m_NSWsTGC_rdo_bcTag);
     m_tree->Branch("RDO_sTGC_isDead",       &m_NSWsTGC_rdo_isDead);
+
+    m_tree->Branch("RDO_sTGC_localPosX",   &m_NSWsTGC_rdo_localPosX);
+    m_tree->Branch("RDO_sTGC_localPosY",   &m_NSWsTGC_rdo_localPosY);
+
+    m_tree->Branch("RDO_sTGC_globalPosX",  &m_NSWsTGC_rdo_globalPosX);
+    m_tree->Branch("RDO_sTGC_globalPosY",  &m_NSWsTGC_rdo_globalPosY);
+    m_tree->Branch("RDO_sTGC_globalPosZ",  &m_NSWsTGC_rdo_globalPosZ);
   }
 
   return StatusCode::SUCCESS;
@@ -157,6 +198,11 @@ void sTGCRDOVariables::deleteVariables()
   delete m_NSWsTGC_rdo_charge;
   delete m_NSWsTGC_rdo_bcTag;
   delete m_NSWsTGC_rdo_isDead;
+  delete m_NSWsTGC_rdo_localPosX;
+  delete m_NSWsTGC_rdo_localPosY;
+  delete m_NSWsTGC_rdo_globalPosX;
+  delete m_NSWsTGC_rdo_globalPosY;
+  delete m_NSWsTGC_rdo_globalPosZ;
 
   m_NSWsTGC_nrdo = 0;
   m_NSWsTGC_rdo_stationName = nullptr;
@@ -170,6 +216,11 @@ void sTGCRDOVariables::deleteVariables()
   m_NSWsTGC_rdo_charge = nullptr;
   m_NSWsTGC_rdo_bcTag = nullptr;
   m_NSWsTGC_rdo_isDead = nullptr;
+  m_NSWsTGC_rdo_localPosX = nullptr;
+  m_NSWsTGC_rdo_localPosY = nullptr;
+  m_NSWsTGC_rdo_globalPosX = nullptr;
+  m_NSWsTGC_rdo_globalPosY = nullptr;
+  m_NSWsTGC_rdo_globalPosZ = nullptr;
 
   return;
 }
diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCRDOVariables.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCRDOVariables.h
index 2e89de331a01..f5717c023a71 100644
--- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCRDOVariables.h
+++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/sTGCRDOVariables.h
@@ -32,7 +32,12 @@ class sTGCRDOVariables : public ValAlgVariables
     m_NSWsTGC_rdo_time(0),
     m_NSWsTGC_rdo_charge(0),
     m_NSWsTGC_rdo_bcTag(0),
-    m_NSWsTGC_rdo_isDead(0)
+    m_NSWsTGC_rdo_isDead(0),
+    m_NSWsTGC_rdo_localPosX(0),
+    m_NSWsTGC_rdo_localPosY(0),
+    m_NSWsTGC_rdo_globalPosX(0),
+    m_NSWsTGC_rdo_globalPosY(0),
+    m_NSWsTGC_rdo_globalPosZ(0)
   {
     setHelper(idhelper);
   }
@@ -70,6 +75,12 @@ class sTGCRDOVariables : public ValAlgVariables
   std::vector<uint16_t> *m_NSWsTGC_rdo_bcTag;
   std::vector<bool> *m_NSWsTGC_rdo_isDead;
 
+  std::vector<double> *m_NSWsTGC_rdo_localPosX;
+  std::vector<double> *m_NSWsTGC_rdo_localPosY;
+
+  std::vector<double> *m_NSWsTGC_rdo_globalPosX;
+  std::vector<double> *m_NSWsTGC_rdo_globalPosY;
+  std::vector<double> *m_NSWsTGC_rdo_globalPosZ;
 };
 
 #endif // STGCRDOVARIABLES_H
-- 
GitLab


From 7fa3a0e01184f42c7c5ad8970fb4655956831a51 Mon Sep 17 00:00:00 2001
From: Susumu Oda <Susumu.Oda@cern.ch>
Date: Wed, 23 Jan 2019 04:28:21 +0100
Subject: [PATCH 054/192] make SCT_PrepDataToxAOD and SCT_RawDataToxAOD
 reentrant

---
 .../src/SCT_PrepDataToxAOD.cxx                | 22 +++++++++----------
 .../src/SCT_PrepDataToxAOD.h                  | 10 ++++-----
 .../src/SCT_RawDataToxAOD.cxx                 | 10 ++++-----
 .../src/SCT_RawDataToxAOD.h                   |  8 +++----
 4 files changed, 25 insertions(+), 25 deletions(-)

diff --git a/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/SCT_PrepDataToxAOD.cxx b/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/SCT_PrepDataToxAOD.cxx
index 383071250237..994925b909f9 100644
--- a/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/SCT_PrepDataToxAOD.cxx
+++ b/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/SCT_PrepDataToxAOD.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -33,7 +33,7 @@
 //
 /////////////////////////////////////////////////////////////////////
 SCT_PrepDataToxAOD::SCT_PrepDataToxAOD(const std::string &name, ISvcLocator *pSvcLocator) :
-  AthAlgorithm(name,pSvcLocator),
+  AthReentrantAlgorithm(name,pSvcLocator),
   m_SCTHelper{nullptr},
   m_firstEventWarnings{true}
 { 
@@ -72,12 +72,12 @@ StatusCode SCT_PrepDataToxAOD::initialize()
 //        Execute method: 
 //
 /////////////////////////////////////////////////////////////////////
-StatusCode SCT_PrepDataToxAOD::execute() 
-{     
+StatusCode SCT_PrepDataToxAOD::execute(const EventContext& ctx) const
+{
   // the cluster ambiguity map
   std::map< Identifier, const SCT_RDORawData* > idToRAWDataMap;
   if (m_writeRDOinformation.value()) {
-    SG::ReadHandle<SCT_RDO_Container> rdoContainer(m_rdoContainer);
+    SG::ReadHandle<SCT_RDO_Container> rdoContainer(m_rdoContainer, ctx);
     if (rdoContainer.isValid()) {
       // get all the RIO_Collections in the container
       for (const auto& collection: *rdoContainer) {
@@ -101,18 +101,18 @@ StatusCode SCT_PrepDataToxAOD::execute()
   ATH_MSG_DEBUG("Size of RDO map is "<<idToRAWDataMap.size());
 
   // Mandatory. This is needed and required if this algorithm is scheduled.
-  SG::ReadHandle<InDet::SCT_ClusterContainer> sctClusterContainer(m_clustercontainer);
+  SG::ReadHandle<InDet::SCT_ClusterContainer> sctClusterContainer(m_clustercontainer, ctx);
   if (not sctClusterContainer.isValid()) {
     ATH_MSG_FATAL("Cannot retrieve SCT PrepDataContainer " << m_clustercontainer.key());
     return StatusCode::FAILURE;
   }
 
   // Create the xAOD container and its auxiliary store:
-  SG::WriteHandle<xAOD::TrackMeasurementValidationContainer> xaod(m_xAodContainer);
+  SG::WriteHandle<xAOD::TrackMeasurementValidationContainer> xaod(m_xAodContainer, ctx);
   ATH_CHECK( xaod.record(std::make_unique<xAOD::TrackMeasurementValidationContainer>(),
                          std::make_unique<xAOD::TrackMeasurementValidationAuxContainer>()) );
   
-  SG::WriteHandle<std::vector<unsigned int> > offsets(m_xAodOffset);
+  SG::WriteHandle<std::vector<unsigned int> > offsets(m_xAodOffset, ctx);
   ATH_CHECK( offsets.record(std::make_unique<std::vector<unsigned int> >( m_SCTHelper->wafer_hash_max(), 0 )) );
   
   // Loop over the container
@@ -203,7 +203,7 @@ StatusCode SCT_PrepDataToxAOD::execute()
       
       // Use the MultiTruth Collection to get a list of all true particle contributing to the cluster
       if (m_useTruthInfo.value()) {
-        SG::ReadHandle<PRD_MultiTruthCollection> prdmtColl(m_multiTruth);
+        SG::ReadHandle<PRD_MultiTruthCollection> prdmtColl(m_multiTruth, ctx);
         if (prdmtColl.isValid()) {
           std::vector<int> barcodes;
           //std::pair<PRD_MultiTruthCollection::const_iterator,PRD_MultiTruthCollection::const_iterator>;
@@ -218,7 +218,7 @@ StatusCode SCT_PrepDataToxAOD::execute()
       // Use the SDO Collection to get a list of all true particle contributing to the cluster per readout element
       //  Also get the energy deposited by each true particle per readout element   
       if (m_writeSDOs.value()) {
-        SG::ReadHandle<InDetSimDataCollection> sdoCollection(m_SDOcontainer);
+        SG::ReadHandle<InDetSimDataCollection> sdoCollection(m_SDOcontainer, ctx);
         if (sdoCollection.isValid()) {
           addSDOInformation( xprd, prd, &*sdoCollection);
         }
@@ -227,7 +227,7 @@ StatusCode SCT_PrepDataToxAOD::execute()
       // Now Get the most detailed truth from the SiHits
       // Note that this could get really slow if there are a lot of hits and clusters
       if (m_writeSiHits.value()) {
-        SG::ReadHandle<SiHitCollection> sihitCollection(m_sihitContainer);
+        SG::ReadHandle<SiHitCollection> sihitCollection(m_sihitContainer, ctx);
         if (sihitCollection.isValid()) {
           addSiHitInformation( xprd, prd, &*sihitCollection);
         }
diff --git a/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/SCT_PrepDataToxAOD.h b/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/SCT_PrepDataToxAOD.h
index 0ad7343f69fa..9502572c9815 100644
--- a/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/SCT_PrepDataToxAOD.h
+++ b/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/SCT_PrepDataToxAOD.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -10,7 +10,7 @@
 #ifndef SCT_PREPDATATOXAOD_H
 #define SCT_PREPDATATOXAOD_H
 
-#include "AthenaBaseComps/AthAlgorithm.h"
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 
 #include "InDetPrepRawData/SCT_ClusterContainer.h"
 #include "InDetReadoutGeometry/SiDetectorElementCollection.h"
@@ -39,7 +39,7 @@ namespace InDet
 }
 
 
-class SCT_PrepDataToxAOD : public AthAlgorithm {
+class SCT_PrepDataToxAOD : public AthReentrantAlgorithm {
 
 public:
   // Constructor with parameters:
@@ -47,7 +47,7 @@ public:
 
   // Basic algorithm methods:
   virtual StatusCode initialize();
-  virtual StatusCode execute();
+  virtual StatusCode execute(const EventContext& ctx) const;
   virtual StatusCode finalize();
 
 private:
@@ -87,7 +87,7 @@ private:
   BooleanProperty m_writeSiHits{this, "WriteSiHits", true};
   
   // --- private members
-  std::atomic_bool m_firstEventWarnings;
+  mutable std::atomic_bool m_firstEventWarnings;
   
 };
 
diff --git a/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/SCT_RawDataToxAOD.cxx b/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/SCT_RawDataToxAOD.cxx
index 0fbcdfcfe2e7..2ed5f243cb70 100644
--- a/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/SCT_RawDataToxAOD.cxx
+++ b/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/SCT_RawDataToxAOD.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -17,7 +17,7 @@
 
 SCT_RawDataToxAOD::SCT_RawDataToxAOD(const std::string &name,
                                      ISvcLocator *pSvcLocator)
-  : AthAlgorithm(name, pSvcLocator),
+  : AthReentrantAlgorithm(name, pSvcLocator),
     m_SCTHelper{nullptr}
 {
 }
@@ -37,11 +37,11 @@ static SG::AuxElement::Accessor<int> phi_module_acc("phi_module");
 static SG::AuxElement::Accessor<int> eta_module_acc("eta_module");
 static SG::AuxElement::Accessor<int> side_acc("side");
 
-StatusCode SCT_RawDataToxAOD::execute() {
-  SG::ReadHandle<SCT_RDO_Container> rdoContainer(m_rdoContainerName);
+StatusCode SCT_RawDataToxAOD::execute(const EventContext& ctx) const {
+  SG::ReadHandle<SCT_RDO_Container> rdoContainer(m_rdoContainerName, ctx);
 
   // Create the output xAOD container and its auxiliary store:
-  SG::WriteHandle<xAOD::SCTRawHitValidationContainer> xaod(m_xAodRawHitContainerName);
+  SG::WriteHandle<xAOD::SCTRawHitValidationContainer> xaod(m_xAodRawHitContainerName, ctx);
   ATH_CHECK(xaod.record(std::make_unique<xAOD::SCTRawHitValidationContainer>(),
                         std::make_unique<xAOD::SCTRawHitValidationAuxContainer>()));
 
diff --git a/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/SCT_RawDataToxAOD.h b/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/SCT_RawDataToxAOD.h
index 68b635f6c756..5cb610854fb9 100644
--- a/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/SCT_RawDataToxAOD.h
+++ b/InnerDetector/InDetEventCnv/InDetPrepRawDataToxAOD/src/SCT_RawDataToxAOD.h
@@ -1,13 +1,13 @@
 // -*- C++ -*-
 
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef SCT_RAWDATATOXAOD_H
 #define SCT_RAWDATATOXAOD_H
 
-#include "AthenaBaseComps/AthAlgorithm.h"
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 
 // StoreGate Data Handle Key
 #include "StoreGate/ReadHandleKey.h"
@@ -24,12 +24,12 @@ class SCT_ID;
 
 /** Algorithm to read RDO information from SCT ntuple and write augmented xAOD.
  **/
-class SCT_RawDataToxAOD : public AthAlgorithm {
+class SCT_RawDataToxAOD : public AthReentrantAlgorithm {
 public:
   SCT_RawDataToxAOD(const std::string& name, ISvcLocator* pSvcLocator);
 
   StatusCode initialize();
-  StatusCode execute();
+  StatusCode execute(const EventContext& ctx) const;
   StatusCode finalize();
 
 private:
-- 
GitLab


From 673e9b7594d06f265f9175eb243f6f725c69d62d Mon Sep 17 00:00:00 2001
From: Vakho Tsulaia <vakhtang.tsulaia@cern.ch>
Date: Wed, 23 Jan 2019 07:47:05 +0100
Subject: [PATCH 055/192] Migrated four InDetDetDescr packages from
 GeoModelKernelUnits to Gaudi::Units

All units migrated except GeoModelKernelUnits::gram/g, which is different from Gaudi::Units::gram/g
---
 .../BCM_GeoModel/src/BCM_Builder.cxx          |  12 +-
 .../BCM_GeoModel/src/BCM_Module.cxx           |   8 +-
 .../BLM_GeoModel/src/BLM_Builder.cxx          |  10 +-
 .../BLM_GeoModel/src/BLM_Module.cxx           |   9 +-
 .../BLM_GeoModel/src/BLM_Wall.cxx             |  21 ++--
 .../src/EndPlateFactory.cxx                   |  98 +++++++--------
 .../src/EndPlateFactoryFS.cxx                 |  97 +++++++--------
 .../src/InDetServMatBuilderToolSLHC.cxx       |   5 +-
 .../src/InDetServMatFactory.cxx               |  53 ++++----
 .../src/InDetServMatFactoryDC2.cxx            |  38 +++---
 .../src/InDetServMatFactoryDC3.cxx            |  41 ++++---
 .../src/InDetServMatFactoryFS.cxx             |  50 ++++----
 .../src/InDetServMatFactorySLHC.cxx           |  16 +--
 .../src/InDetServMatGeometryManager.cxx       |  30 ++---
 .../src/PixelServMatFactoryDC2.cxx            |   9 +-
 .../src/PixelServMatFactoryDC3.cxx            |  16 +--
 .../src/PixelServMatFactoryFS.cxx             |   3 +-
 .../src/SCT_ServMatFactory.cxx                |  59 ++++-----
 .../src/SCT_ServMatFactoryDC2.cxx             |  56 +++++----
 .../src/SCT_ServMatFactoryDC3.cxx             |  70 +++++------
 .../src/SCT_ServMatFactoryFS.cxx              |  25 ++--
 .../src/SquirrelCageFactory.cxx               | 115 +++++++++---------
 .../src/SquirrelCageFactoryFS.cxx             |  56 ++++-----
 .../src/SupportRailFactory.cxx                |  87 ++++++-------
 .../src/SupportRailFactoryFS.cxx              |  44 +++----
 .../src/TRT_ServMatFactory.cxx                |  25 ++--
 .../src/TRT_ServMatFactoryDC2.cxx             |  32 ++---
 .../src/TRT_ServMatFactoryDC3.cxx             |  28 ++---
 .../src/TRT_ServMatFactoryFS.cxx              |  15 ++-
 .../src/SCT_BarrelModuleParameters.cxx        |  34 +++---
 .../src/SCT_BarrelModuleParametersOld.cxx     |  55 ++++-----
 .../src/SCT_BarrelParameters.cxx              |  52 ++++----
 .../src/SCT_BarrelParametersOld.cxx           |  46 +++----
 .../src/SCT_ComponentFactory.cxx              |   4 +-
 .../src/SCT_DetectorFactory.cxx               |  14 +--
 .../src/SCT_ForwardModuleParameters.cxx       |  35 +++---
 .../src/SCT_ForwardModuleParametersOld.cxx    |  79 ++++++------
 .../src/SCT_ForwardParameters.cxx             |  36 +++---
 .../src/SCT_ForwardParametersOld.cxx          |  60 +++++----
 .../src/SCT_FwdDiscSupport.cxx                |   4 +-
 .../SCT_SLHC_GeoModel/src/SCT_FwdModule.cxx   |  25 ++--
 .../SCT_SLHC_GeoModel/src/SCT_FwdRing.cxx     |  28 ++---
 .../SCT_SLHC_GeoModel/src/SCT_FwdWheel.cxx    |  15 +--
 .../src/SCT_GeneralParameters.cxx             |  10 +-
 .../SCT_SLHC_GeoModel/src/SCT_Layer.cxx       |  14 +--
 .../src/SCT_MaterialManager.cxx               |  10 --
 .../SCT_SLHC_GeoModel/src/SCT_Module.cxx      |  15 +--
 .../SCT_SLHC_GeoModel/src/SCT_Sensor.cxx      |   6 +-
 .../SCT_SLHC_GeoModel/src/SCT_Ski.cxx         |   6 +-
 49 files changed, 833 insertions(+), 843 deletions(-)

diff --git a/InnerDetector/InDetDetDescr/BCM_GeoModel/src/BCM_Builder.cxx b/InnerDetector/InDetDetDescr/BCM_GeoModel/src/BCM_Builder.cxx
index 79e8b6c9197f..98be47f59a3f 100755
--- a/InnerDetector/InDetDetDescr/BCM_GeoModel/src/BCM_Builder.cxx
+++ b/InnerDetector/InDetDetDescr/BCM_GeoModel/src/BCM_Builder.cxx
@@ -19,6 +19,8 @@
 #include "RDBAccessSvc/IRDBRecordset.h"
 #include "RDBAccessSvc/IRDBRecord.h"
 
+#include "GaudiKernel/SystemOfUnits.h"
+
 //================ Constructor =================================================
 
 InDetDD::BCM_Builder::BCM_Builder(const std::string& t,
@@ -232,11 +234,11 @@ StatusCode InDetDD::BCM_Builder::build(GeoVPhysVol* pv)
       
       //setting transformation
       GeoTrf::Translation3D pos(parameters->Position_X(), parameters->Position_Y(), parameters->Position_Z());
-      GeoTrf::Transform3D rm = GeoTrf::RotateZ3D(parameters->Rotation_Z()*GeoModelKernelUnits::deg)
-	* GeoTrf::RotateY3D(parameters->Rotation_Y()*GeoModelKernelUnits::deg)
-	* GeoTrf::RotateX3D(parameters->Rotation_X()*GeoModelKernelUnits::deg)
-	* GeoTrf::RotateZ3D(-90.*GeoModelKernelUnits::deg)
-	* GeoTrf::RotateY3D(-90.*GeoModelKernelUnits::deg);
+      GeoTrf::Transform3D rm = GeoTrf::RotateZ3D(parameters->Rotation_Z()*Gaudi::Units::deg)
+	* GeoTrf::RotateY3D(parameters->Rotation_Y()*Gaudi::Units::deg)
+	* GeoTrf::RotateX3D(parameters->Rotation_X()*Gaudi::Units::deg)
+	* GeoTrf::RotateZ3D(-90.*Gaudi::Units::deg)
+	* GeoTrf::RotateY3D(-90.*Gaudi::Units::deg);
       GeoTransform* xform = new GeoTransform(GeoTrf::Transform3D(pos*rm));
       xform->ref();
       ATH_MSG_DEBUG(" --> Module " << i << " build!");
diff --git a/InnerDetector/InDetDetDescr/BCM_GeoModel/src/BCM_Module.cxx b/InnerDetector/InDetDetDescr/BCM_GeoModel/src/BCM_Module.cxx
index 28ba6043a842..b06e3b3ad9d8 100755
--- a/InnerDetector/InDetDetDescr/BCM_GeoModel/src/BCM_Module.cxx
+++ b/InnerDetector/InDetDetDescr/BCM_GeoModel/src/BCM_Module.cxx
@@ -13,6 +13,8 @@
 #include "GeoModelKernel/GeoIdentifierTag.h"
 #include "GeoModelKernel/GeoSimplePolygonBrep.h" 
 
+#include "GaudiKernel/SystemOfUnits.h"
+
 GeoPhysVol* BCM_Module::Build(const AbsMaterialManager* mat_mgr, const BCM_ModuleParameters* parameters, MsgStream* /*msg*/)
 {
   //module outside dimensions
@@ -110,7 +112,7 @@ GeoPhysVol* BCM_Module::Build(const AbsMaterialManager* mat_mgr, const BCM_Modul
   GeoPhysVol* WallC = wall.Build(ModLength/2, ReducedModWidth/2, G10Thick, CuThick, g10, copper, mat_mgr);
 		
   GeoTrf::Translation3D WallCPos(ModHeight/2 - WallThick/2, 0, 0);
-  GeoTrf::RotateY3D rmC(90.*GeoModelKernelUnits::deg);
+  GeoTrf::RotateY3D rmC(90.*Gaudi::Units::deg);
   GeoTransform* xform = new GeoTransform(GeoTrf::Transform3D(WallCPos*rmC));
   GeoNameTag* tag = new GeoNameTag("Wall C");
   env_bcmModPhys->add(tag);
@@ -236,7 +238,7 @@ GeoPhysVol* BCM_Module::Build(const AbsMaterialManager* mat_mgr, const BCM_Modul
   GeoPhysVol* WallA = wall.Build(ModTailHeight/2, (ModLength - ModHeadLength)/2, CuThick, G10Thick, copper, g10, mat_mgr);
   
   GeoTrf::Translation3D WallAPos((ModHeight - ModTailHeight)/2 , (ReducedModWidth + WallThick)/2, -ModHeadLength/2);
-  GeoTrf::RotateX3D rmA(90.*GeoModelKernelUnits::deg);
+  GeoTrf::RotateX3D rmA(90.*Gaudi::Units::deg);
   xform = new GeoTransform(GeoTrf::Transform3D(WallAPos*rmA));
   tag = new GeoNameTag("Wall A");
   env_bcmModPhys->add(tag);
@@ -278,7 +280,7 @@ GeoPhysVol* BCM_Module::Build(const AbsMaterialManager* mat_mgr, const BCM_Modul
   // Add the BCM envelop inside the new complex encompassing volume
   // --------------------------------------------------------------------------------------
 
-  GeoTrf::Transform3D rmEnv = GeoTrf::RotateY3D(90.*GeoModelKernelUnits::deg)*GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg);
+  GeoTrf::Transform3D rmEnv = GeoTrf::RotateY3D(90.*Gaudi::Units::deg)*GeoTrf::RotateZ3D(90.*Gaudi::Units::deg);
   xform = new GeoTransform(rmEnv);
   tag = new GeoNameTag("EnvBcmWallLog");
   bcmModPhys->add(tag);
diff --git a/InnerDetector/InDetDetDescr/BLM_GeoModel/src/BLM_Builder.cxx b/InnerDetector/InDetDetDescr/BLM_GeoModel/src/BLM_Builder.cxx
index 12c308b8d307..96c4d38c1039 100644
--- a/InnerDetector/InDetDetDescr/BLM_GeoModel/src/BLM_Builder.cxx
+++ b/InnerDetector/InDetDetDescr/BLM_GeoModel/src/BLM_Builder.cxx
@@ -20,6 +20,8 @@
 #include "RDBAccessSvc/IRDBRecord.h"
 #include "RDBAccessSvc/IRDBRecordset.h"
 
+#include "GaudiKernel/SystemOfUnits.h"
+
 //================ Constructor =================================================
 
 InDetDD::BLM_Builder::BLM_Builder(const std::string& t,
@@ -240,10 +242,10 @@ StatusCode InDetDD::BLM_Builder::build(GeoVPhysVol* pv)
       BLM_ModuleParameters* parameters = manager->Module(i);
 
       //setting transformation
-      GeoTrf::Translation3D pos(parameters->R()*cos(parameters->Phi()*GeoModelKernelUnits::deg), parameters->R()*sin(parameters->Phi()*GeoModelKernelUnits::deg), parameters->Z());
-      GeoTrf::Transform3D rm = GeoTrf::RotateZ3D(parameters->Rotation_Z()*GeoModelKernelUnits::deg)
-	* GeoTrf::RotateY3D(parameters->Rotation_Y()*GeoModelKernelUnits::deg)
-	* GeoTrf::RotateX3D(parameters->Rotation_X()*GeoModelKernelUnits::deg);
+      GeoTrf::Translation3D pos(parameters->R()*cos(parameters->Phi()*Gaudi::Units::deg), parameters->R()*sin(parameters->Phi()*Gaudi::Units::deg), parameters->Z());
+      GeoTrf::Transform3D rm = GeoTrf::RotateZ3D(parameters->Rotation_Z()*Gaudi::Units::deg)
+	* GeoTrf::RotateY3D(parameters->Rotation_Y()*Gaudi::Units::deg)
+	* GeoTrf::RotateX3D(parameters->Rotation_X()*Gaudi::Units::deg);
       GeoTransform* xform = new GeoTransform(GeoTrf::Transform3D(pos*rm));
       xform->ref();
       //building module
diff --git a/InnerDetector/InDetDetDescr/BLM_GeoModel/src/BLM_Module.cxx b/InnerDetector/InDetDetDescr/BLM_GeoModel/src/BLM_Module.cxx
index 5b5e88207f4e..c16ec7a1be8f 100755
--- a/InnerDetector/InDetDetDescr/BLM_GeoModel/src/BLM_Module.cxx
+++ b/InnerDetector/InDetDetDescr/BLM_GeoModel/src/BLM_Module.cxx
@@ -12,6 +12,9 @@
 #include "GeoModelKernel/GeoNameTag.h"
 #include "GeoModelKernel/GeoIdentifierTag.h"
 
+#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
+
 GeoPhysVol* BLM_Module::Build(const AbsMaterialManager* mat_mgr, const BLM_ModuleParameters* parameters, MsgStream* msg)
 {
   double CuThick = 0.015;
@@ -47,7 +50,7 @@ GeoPhysVol* BLM_Module::Build(const AbsMaterialManager* mat_mgr, const BLM_Modul
   {     
   	if(msg)
   		(*msg) << "BLM _ PEEK _ MISSING." << endmsg;
-	GeoMaterial* peektmp = new GeoMaterial("PEEK", 1.3*GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3);
+	GeoMaterial* peektmp = new GeoMaterial("PEEK", 1.3*GeoModelKernelUnits::gram/Gaudi::Units::cm3);
 	GeoElement* hydrogen = new GeoElement("Hydrogen", "H", 1.0, 1.010);
 	GeoElement* oxygen = new GeoElement("Oxygen", "O", 8.0, 16.000);
 	GeoElement* carbon = new GeoElement("Carbon", "C", 6.0, 12.010);
@@ -200,8 +203,8 @@ GeoPhysVol* BLM_Module::Build(const AbsMaterialManager* mat_mgr, const BLM_Modul
   GeoPhysVol* screw6 = wall.BuildScrew(10, stainless_steel);
   GeoPhysVol* screw7 = wall.BuildScrew(BLM_Wall::s_holder_thickness, stainless_steel);
   GeoPhysVol* screw8 = wall.BuildScrew(BLM_Wall::s_holder_thickness, stainless_steel);
-  GeoTrf::RotateX3D screwRot(90.*GeoModelKernelUnits::deg);
-  GeoTrf::RotateX3D screwRot1(180.*GeoModelKernelUnits::deg);  
+  GeoTrf::RotateX3D screwRot(90.*Gaudi::Units::deg);
+  GeoTrf::RotateX3D screwRot1(180.*Gaudi::Units::deg);  
   GeoTrf::Translation3D screwPos1(ModWidth/2-BLM_Wall::s_hole_position, BLM_Wall::s_holder_height-ModHeight/2+10*CuThick+2*LamelThick15+3*LamelThick234+1, ModLength/2-BLM_Wall::s_hole_position);
   GeoTrf::Translation3D screwPos2(BLM_Wall::s_hole_position-ModWidth/2, BLM_Wall::s_holder_height-ModHeight/2+10*CuThick+2*LamelThick15+3*LamelThick234+1, ModLength/2-BLM_Wall::s_hole_position);
   GeoTrf::Translation3D screwPos3(ModWidth/2-BLM_Wall::s_hole_position, BLM_Wall::s_holder_height-ModHeight/2+10*CuThick+2*LamelThick15+3*LamelThick234+1, ModLength/2-BLM_Wall::s_length+BLM_Wall::s_hole_position);
diff --git a/InnerDetector/InDetDetDescr/BLM_GeoModel/src/BLM_Wall.cxx b/InnerDetector/InDetDetDescr/BLM_GeoModel/src/BLM_Wall.cxx
index e2983ec4d48a..516183bcb523 100755
--- a/InnerDetector/InDetDetDescr/BLM_GeoModel/src/BLM_Wall.cxx
+++ b/InnerDetector/InDetDetDescr/BLM_GeoModel/src/BLM_Wall.cxx
@@ -10,6 +10,7 @@
 #include "GeoModelKernel/GeoBox.h"
 #include "GeoModelKernel/GeoTube.h"
 #include "GeoModelKernel/GeoLogVol.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 double BLM_Wall::s_width = 18;
 double BLM_Wall::s_length = 22;
@@ -29,7 +30,7 @@ GeoPhysVol* BLM_Wall::BuildClamp(const GeoMaterial* material)
   const GeoBox* blmWallBox = new GeoBox(s_width/2, s_clamp_thickness/2, s_clamp_length/2);
   const GeoTube* blmWallHole = new GeoTube(0, s_hole_r, s_clamp_thickness);
   //rotations
-  GeoTrf::RotateX3D rm(90.*GeoModelKernelUnits::deg);
+  GeoTrf::RotateX3D rm(90.*Gaudi::Units::deg);
   //position of holes
   GeoTrf::Translation3D pos1(s_width/2-s_hole_position, 0, s_clamp_length/2-2.5);
   GeoTrf::Translation3D pos2(s_hole_position-s_width/2, 0, s_clamp_length/2-2.5);
@@ -76,7 +77,7 @@ GeoPhysVol* BLM_Wall::BuildHolder(const GeoMaterial* material)
   const GeoTube* blmWallHole = new GeoTube(0, s_hole_r, s_holder_thickness);
   const GeoBox* blmWallHole1 = new GeoBox(s_holder_spacing/2, s_holder_height, (s_holder_spacing_length+s_holder_thickness)/2+1);
   //rotations
-  GeoTrf::RotateX3D rm(90.*GeoModelKernelUnits::deg);
+  GeoTrf::RotateX3D rm(90.*Gaudi::Units::deg);
   //position of holes
   GeoTrf::Translation3D pos1(s_width/2-s_hole_position, 0, s_holder_length/2-s_hole_position);
   GeoTrf::Translation3D pos2(s_hole_position-s_width/2, 0, s_holder_length/2-s_hole_position);
@@ -124,8 +125,8 @@ GeoPhysVol* BLM_Wall::BuildLayerI(double thick, const GeoMaterial* material, boo
       const GeoShape* blmWallHole1 = new GeoBox(s_width/2-3.5, thick, 5.9);
       const GeoShape* blmWallHole2 = new GeoBox(s_width/2-6.1, thick, 4);
       const GeoShape* blmWallHole3 = new GeoBox(3.89, thick, 3.89);
-      GeoTrf::RotateX3D rm(90.*GeoModelKernelUnits::deg);
-      GeoTrf::RotateY3D rm1(45.*GeoModelKernelUnits::deg);
+      GeoTrf::RotateX3D rm(90.*Gaudi::Units::deg);
+      GeoTrf::RotateY3D rm1(45.*Gaudi::Units::deg);
       GeoTrf::Translation3D pos1(s_width/2-s_hole_position, 0, s_extended_length/2-s_hole_position);
       GeoTrf::Translation3D pos2(s_hole_position-s_width/2, 0, s_extended_length/2-s_hole_position);
       GeoTrf::Translation3D pos3(s_width/2-s_hole_position, 0, s_extended_length/2-s_length+s_hole_position);
@@ -162,7 +163,7 @@ GeoPhysVol* BLM_Wall::BuildLayerI(double thick, const GeoMaterial* material, boo
     {
       const GeoShape* blmWallBox = new GeoBox(s_width/2, thick/2, s_extended_length/2);
       const GeoShape* blmWallHole = new GeoTube(0, s_hole_r, thick);
-      GeoTrf::RotateX3D rm(90.*GeoModelKernelUnits::deg);
+      GeoTrf::RotateX3D rm(90.*Gaudi::Units::deg);
       GeoTrf::Translation3D pos1(s_width/2-s_hole_position, 0, s_extended_length/2-s_hole_position);
       GeoTrf::Translation3D pos2(s_hole_position-s_width/2, 0, s_extended_length/2-s_hole_position);
       GeoTrf::Translation3D pos3(s_width/2-s_hole_position, 0, s_extended_length/2-s_length+s_hole_position);
@@ -197,8 +198,8 @@ GeoPhysVol* BLM_Wall::BuildLayerII(double thick, const GeoMaterial* material)
   const GeoShape* blmWallHole2 = new GeoBox(s_width/2-6.1, thick, 4);
   //const GeoShape* blmWallHole3 = new GeoBox(1.76777, thick, 1.76777);
   const GeoShape* blmWallHole3 = new GeoBox(3.9, thick, 3.9);
-  GeoTrf::RotateX3D rm(90.*GeoModelKernelUnits::deg);
-  GeoTrf::RotateY3D rm1(45.*GeoModelKernelUnits::deg);
+  GeoTrf::RotateX3D rm(90.*Gaudi::Units::deg);
+  GeoTrf::RotateY3D rm1(45.*Gaudi::Units::deg);
   GeoTrf::Translation3D pos1(s_width/2-s_hole_position, 0, s_length/2-s_hole_position);
   GeoTrf::Translation3D pos2(s_hole_position-s_width/2, 0, s_length/2-s_hole_position);
   GeoTrf::Translation3D pos3(s_width/2-s_hole_position, 0, s_hole_position-s_length/2);
@@ -235,7 +236,7 @@ GeoPhysVol* BLM_Wall::BuildLayerIII(double thick, const GeoMaterial* material)
   const GeoShape* blmWallBox = new GeoBox(s_width/2, thick/2, s_length/2);
   const GeoShape* blmWallHole = new GeoTube(0, s_hole_r, thick);
   const GeoShape* blmWallHole1 = new GeoBox(s_width/2-3.5, thick, 5.425);
-  GeoTrf::RotateX3D rm(90.*GeoModelKernelUnits::deg);
+  GeoTrf::RotateX3D rm(90.*Gaudi::Units::deg);
   GeoTrf::Translation3D pos1(s_width/2-s_hole_position, 0, s_length/2-s_hole_position);
   GeoTrf::Translation3D pos2(s_hole_position-s_width/2, 0, s_length/2-s_hole_position);
   GeoTrf::Translation3D pos3(s_width/2-s_hole_position, 0, s_hole_position-s_length/2);
@@ -263,7 +264,7 @@ GeoPhysVol* BLM_Wall::BuildLayerIV(double thick, const GeoMaterial* material)
   const GeoShape* blmWallHole = new GeoTube(0, s_hole_r, thick);
   const GeoShape* blmWallHole1 = new GeoBox(s_width/2-3.5, thick, 5.425);
   const GeoShape* blmWallHole2 = new GeoBox(s_width/2-8.1, thick, 4);
-  GeoTrf::RotateX3D rm(90.*GeoModelKernelUnits::deg);
+  GeoTrf::RotateX3D rm(90.*Gaudi::Units::deg);
   GeoTrf::Translation3D pos1(s_width/2-s_hole_position, 0, s_length/2-s_hole_position);
   GeoTrf::Translation3D pos2(s_hole_position-s_width/2, 0, s_length/2-s_hole_position);
   GeoTrf::Translation3D pos3(s_width/2-s_hole_position, 0, s_hole_position-s_length/2);
@@ -291,7 +292,7 @@ GeoPhysVol* BLM_Wall::BuildLayerV(double thick, const GeoMaterial* material)
 {
   const GeoShape* blmWallBox = new GeoBox(s_width/2, thick/2, s_length/2);
   const GeoShape* blmWallHole = new GeoTube(0, s_hole_r, thick);
-  GeoTrf::RotateX3D rm(90.*GeoModelKernelUnits::deg);
+  GeoTrf::RotateX3D rm(90.*Gaudi::Units::deg);
   GeoTrf::Translation3D pos1(s_width/2-s_hole_position, 0, s_length/2-s_hole_position);
   GeoTrf::Translation3D pos2(s_hole_position-s_width/2, 0, s_length/2-s_hole_position);
   GeoTrf::Translation3D pos3(s_width/2-s_hole_position, 0, s_hole_position-s_length/2);
diff --git a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/EndPlateFactory.cxx b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/EndPlateFactory.cxx
index 98dfcadc2716..c70c11f80613 100755
--- a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/EndPlateFactory.cxx
+++ b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/EndPlateFactory.cxx
@@ -23,6 +23,8 @@
 #include "GeoModelInterfaces/IGeoDbTagSvc.h"
 #include "GeoModelUtilities/DecodeVersionKey.h"
 
+#include "GaudiKernel/SystemOfUnits.h"
+
 #include <iostream>
 
 
@@ -48,29 +50,29 @@ void EndPlateFactory::create(GeoPhysVol *mother)
 //----------------------------------------------------------------------------------
 //    std::string matName =  mat[(int) (*pbfi)[ii]->getFloat("MAT")];
 //    const GeoMaterial* cylMat = materialManager()->getMaterial(matName);
-//    double rmin = (*pbfi)[ii]->getFloat("RIN")*GeoModelKernelUnits::cm;
+//    double rmin = (*pbfi)[ii]->getFloat("RIN")*Gaudi::Units::cm;
 //----------------------------------------------------------------------------------
-    double safety = 0.01*GeoModelKernelUnits::mm;
-    double maxRofEP = 1075.0*GeoModelKernelUnits::mm - safety; // Interfere with TRT PatchPanel1
-    double RibConnection = 550.0*GeoModelKernelUnits::mm;
+    double safety = 0.01*Gaudi::Units::mm;
+    double maxRofEP = 1075.0*Gaudi::Units::mm - safety; // Interfere with TRT PatchPanel1
+    double RibConnection = 550.0*Gaudi::Units::mm;
 
-    maxRofEP      = (*shell)[0]->getDouble("EPMAXR")*GeoModelKernelUnits::mm - safety; 
-    RibConnection = (*ribs)[0]->getDouble("RIBCONNECTION")*GeoModelKernelUnits::mm; 
+    maxRofEP      = (*shell)[0]->getDouble("EPMAXR")*Gaudi::Units::mm - safety; 
+    RibConnection = (*ribs)[0]->getDouble("RIBCONNECTION")*Gaudi::Units::mm; 
 //
 //     Internal shell. Default (initial) values
 //
-    double rminInt = 425.*GeoModelKernelUnits::mm;
-    double rmaxInt = 1040.*GeoModelKernelUnits::mm;
-    double thickShell = 3.*GeoModelKernelUnits::mm;
-    double thick2     = 10.*GeoModelKernelUnits::mm;
-    double zposEP     = 3370.*GeoModelKernelUnits::mm;
-    double zleng      = 42.*GeoModelKernelUnits::mm;
-    rminInt    = (*shell)[0]->getDouble("RMININT")*GeoModelKernelUnits::mm; 
-    rmaxInt    = (*shell)[0]->getDouble("RMAXINT")*GeoModelKernelUnits::mm;
-    thickShell = (*shell)[0]->getDouble("THICKSHELL")*GeoModelKernelUnits::mm;
-    thick2     = (*shell)[0]->getDouble("THICKADD")*GeoModelKernelUnits::mm;
-    zposEP     = (*shell)[0]->getDouble("ZSTART")*GeoModelKernelUnits::mm;
-    zleng      = (*shell)[0]->getDouble("ZSHIFT")*GeoModelKernelUnits::mm;
+    double rminInt = 425.*Gaudi::Units::mm;
+    double rmaxInt = 1040.*Gaudi::Units::mm;
+    double thickShell = 3.*Gaudi::Units::mm;
+    double thick2     = 10.*Gaudi::Units::mm;
+    double zposEP     = 3370.*Gaudi::Units::mm;
+    double zleng      = 42.*Gaudi::Units::mm;
+    rminInt    = (*shell)[0]->getDouble("RMININT")*Gaudi::Units::mm; 
+    rmaxInt    = (*shell)[0]->getDouble("RMAXINT")*Gaudi::Units::mm;
+    thickShell = (*shell)[0]->getDouble("THICKSHELL")*Gaudi::Units::mm;
+    thick2     = (*shell)[0]->getDouble("THICKADD")*Gaudi::Units::mm;
+    zposEP     = (*shell)[0]->getDouble("ZSTART")*Gaudi::Units::mm;
+    zleng      = (*shell)[0]->getDouble("ZSHIFT")*Gaudi::Units::mm;
  
  
     GeoPcon* shellInt = new GeoPcon(0.,2*M_PI);
@@ -101,12 +103,12 @@ void EndPlateFactory::create(GeoPhysVol *mother)
 //
 //     External shell (default/initial values)
 
-    double zgap     = 50.*GeoModelKernelUnits::mm;
-    double rminExt  = 250.*GeoModelKernelUnits::mm;
+    double zgap     = 50.*Gaudi::Units::mm;
+    double rminExt  = 250.*Gaudi::Units::mm;
     double rmaxExt  = maxRofEP;
     
-    zgap    = (*shell)[0]->getDouble("ZGAP")*GeoModelKernelUnits::mm;
-    rminExt = (*shell)[0]->getDouble("RMINEXT")*GeoModelKernelUnits::mm;
+    zgap    = (*shell)[0]->getDouble("ZGAP")*Gaudi::Units::mm;
+    rminExt = (*shell)[0]->getDouble("RMINEXT")*Gaudi::Units::mm;
 
 
     const GeoTube*   shellExt    = new GeoTube(rminExt,rmaxExt,thickShell/2.);
@@ -127,19 +129,19 @@ void EndPlateFactory::create(GeoPhysVol *mother)
 //
 //     Insert - default (initial) values
 
-    double zthick  = 16.0*GeoModelKernelUnits::mm;
-    double zinsert = 3018.*GeoModelKernelUnits::mm-zthick;
-    double rminins = 252.*GeoModelKernelUnits::mm;
-    double rmaxins = 435.*GeoModelKernelUnits::mm;
-    double rthick  = 5.*GeoModelKernelUnits::mm;
-    double zlengi   = 410.*GeoModelKernelUnits::mm;
+    double zthick  = 16.0*Gaudi::Units::mm;
+    double zinsert = 3018.*Gaudi::Units::mm-zthick;
+    double rminins = 252.*Gaudi::Units::mm;
+    double rmaxins = 435.*Gaudi::Units::mm;
+    double rthick  = 5.*Gaudi::Units::mm;
+    double zlengi   = 410.*Gaudi::Units::mm;
 
-    zthick  = (*insert)[0]->getDouble("ZTHICK")*GeoModelKernelUnits::mm;
-    zinsert = (*insert)[0]->getDouble("ZINSERT")*GeoModelKernelUnits::mm;
-    rminins = (*insert)[0]->getDouble("RMININS")*GeoModelKernelUnits::mm;
-    rmaxins = (*insert)[0]->getDouble("RMAXINS")*GeoModelKernelUnits::mm;
-    rthick  = (*insert)[0]->getDouble("RTHICK")*GeoModelKernelUnits::mm;
-    zlengi  = (*insert)[0]->getDouble("ZLENGINS")*GeoModelKernelUnits::mm;
+    zthick  = (*insert)[0]->getDouble("ZTHICK")*Gaudi::Units::mm;
+    zinsert = (*insert)[0]->getDouble("ZINSERT")*Gaudi::Units::mm;
+    rminins = (*insert)[0]->getDouble("RMININS")*Gaudi::Units::mm;
+    rmaxins = (*insert)[0]->getDouble("RMAXINS")*Gaudi::Units::mm;
+    rthick  = (*insert)[0]->getDouble("RTHICK")*Gaudi::Units::mm;
+    zlengi  = (*insert)[0]->getDouble("ZLENGINS")*Gaudi::Units::mm;
 
     GeoPcon* Insert = new GeoPcon(0.,2*M_PI);
     Insert->addPlane(0.              , rminins, rmaxins+rthick);
@@ -169,15 +171,15 @@ void EndPlateFactory::create(GeoPhysVol *mother)
 //     Short ribs - default (initial) values
 //     Initial position is along X axis then move and rotate
 //
-    double ribY   = 12.0*GeoModelKernelUnits::mm;
+    double ribY   = 12.0*Gaudi::Units::mm;
     double ribZ   = zgap - safety;
-    double ribX   = 380.0*GeoModelKernelUnits::mm;
-    double posX   = 550.0*GeoModelKernelUnits::mm+ribX/2.;
+    double ribX   = 380.0*Gaudi::Units::mm;
+    double posX   = 550.0*Gaudi::Units::mm+ribX/2.;
 
-    ribY   = (*ribs)[0]->getDouble("SHORTWID")*GeoModelKernelUnits::mm;
+    ribY   = (*ribs)[0]->getDouble("SHORTWID")*Gaudi::Units::mm;
     ribZ   = zgap - safety;
-    ribX   = (*ribs)[0]->getDouble("SHORTLENG")*GeoModelKernelUnits::mm;
-    posX   = (*ribs)[0]->getDouble("SHORTRSTART")*GeoModelKernelUnits::mm + ribX/2.;
+    ribX   = (*ribs)[0]->getDouble("SHORTLENG")*Gaudi::Units::mm;
+    posX   = (*ribs)[0]->getDouble("SHORTRSTART")*Gaudi::Units::mm + ribX/2.;
 
     const GeoBox* ribShort = new GeoBox(ribX/2., ribY/2., ribZ/2.);
 
@@ -207,22 +209,22 @@ void EndPlateFactory::create(GeoPhysVol *mother)
 //---------------------------------------------------------------------------------
 //     Long ribs (initial position is along X axis then move and rotate)
 //
-    double ribY1   = 20.0*GeoModelKernelUnits::mm;
+    double ribY1   = 20.0*Gaudi::Units::mm;
     double ribZ1   = zgap - safety;
-    double ribX1   = RibConnection-250.*GeoModelKernelUnits::mm;
-    double posX1   = 250.*GeoModelKernelUnits::mm+ribX1/2.;
+    double ribX1   = RibConnection-250.*Gaudi::Units::mm;
+    double posX1   = 250.*Gaudi::Units::mm+ribX1/2.;
 
-    double ribY2   = 30.0*GeoModelKernelUnits::mm;
+    double ribY2   = 30.0*Gaudi::Units::mm;
     double ribZ2   = zgap - safety;
     double ribX2   = maxRofEP - RibConnection;
     double posX2   = RibConnection+ribX2/2.;
 
-    ribY1   = (*ribs)[0]->getDouble("LONGWID1")*GeoModelKernelUnits::mm;
+    ribY1   = (*ribs)[0]->getDouble("LONGWID1")*Gaudi::Units::mm;
     ribZ1   = zgap - safety;
-    ribX1   = RibConnection - (*ribs)[0]->getDouble("LONGLENG1")*GeoModelKernelUnits::mm;  // LONGLENG1 is a RMIN of ribs
-    posX1   = (*ribs)[0]->getDouble("LONGLENG1")*GeoModelKernelUnits::mm + ribX1/2.;       // It's determined by Pixel volume -> so 250.0!!!
+    ribX1   = RibConnection - (*ribs)[0]->getDouble("LONGLENG1")*Gaudi::Units::mm;  // LONGLENG1 is a RMIN of ribs
+    posX1   = (*ribs)[0]->getDouble("LONGLENG1")*Gaudi::Units::mm + ribX1/2.;       // It's determined by Pixel volume -> so 250.0!!!
  
-    ribY2   = (*ribs)[0]->getDouble("LONGWID2")*GeoModelKernelUnits::mm;
+    ribY2   = (*ribs)[0]->getDouble("LONGWID2")*Gaudi::Units::mm;
     ribZ2   = zgap - safety;
     ribX2   = maxRofEP - RibConnection;
     posX2   = RibConnection+ribX2/2.;
diff --git a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/EndPlateFactoryFS.cxx b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/EndPlateFactoryFS.cxx
index 508d487c5d17..56518c48da11 100755
--- a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/EndPlateFactoryFS.cxx
+++ b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/EndPlateFactoryFS.cxx
@@ -24,6 +24,7 @@
 #include "GeoModelUtilities/DecodeVersionKey.h"
 #include "GaudiKernel/Bootstrap.h"
 
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <iostream>
 
@@ -64,29 +65,29 @@ void EndPlateFactoryFS::create(GeoPhysVol *motherP, GeoPhysVol *motherM)
 //----------------------------------------------------------------------------------
 //    std::string matName =  mat[(int) (*pbfi)[ii]->getFloat("MAT")];
 //    const GeoMaterial* cylMat = materialManager->getMaterial(matName);
-//    double rmin = (*pbfi)[ii]->getFloat("RIN")*GeoModelKernelUnits::cm;
+//    double rmin = (*pbfi)[ii]->getFloat("RIN")*Gaudi::Units::cm;
 //----------------------------------------------------------------------------------
-    double safety = 0.01*GeoModelKernelUnits::mm;
-    double maxRofEP = 1075.0*GeoModelKernelUnits::mm - safety; // Interfere with TRT PatchPanel1
-    double RibConnection = 550.0*GeoModelKernelUnits::mm;
+    double safety = 0.01*Gaudi::Units::mm;
+    double maxRofEP = 1075.0*Gaudi::Units::mm - safety; // Interfere with TRT PatchPanel1
+    double RibConnection = 550.0*Gaudi::Units::mm;
 
-    maxRofEP      = (*shell)[0]->getDouble("EPMAXR")*GeoModelKernelUnits::mm - safety; 
-    RibConnection = (*ribs)[0]->getDouble("RIBCONNECTION")*GeoModelKernelUnits::mm; 
+    maxRofEP      = (*shell)[0]->getDouble("EPMAXR")*Gaudi::Units::mm - safety; 
+    RibConnection = (*ribs)[0]->getDouble("RIBCONNECTION")*Gaudi::Units::mm; 
 //
 //     Internal shell. Default (initial) values
 //
-    double rminInt = 425.*GeoModelKernelUnits::mm;
-    double rmaxInt = 1040.*GeoModelKernelUnits::mm;
-    double thickShell = 3.*GeoModelKernelUnits::mm;
-    double thick2     = 10.*GeoModelKernelUnits::mm;
-    double zposEP     = 3370.*GeoModelKernelUnits::mm;
-    double zleng      = 42.*GeoModelKernelUnits::mm;
-    rminInt    = (*shell)[0]->getDouble("RMININT")*GeoModelKernelUnits::mm; 
-    rmaxInt    = (*shell)[0]->getDouble("RMAXINT")*GeoModelKernelUnits::mm;
-    thickShell = (*shell)[0]->getDouble("THICKSHELL")*GeoModelKernelUnits::mm;
-    thick2     = (*shell)[0]->getDouble("THICKADD")*GeoModelKernelUnits::mm;
-    zposEP     = (*shell)[0]->getDouble("ZSTART")*GeoModelKernelUnits::mm;
-    zleng      = (*shell)[0]->getDouble("ZSHIFT")*GeoModelKernelUnits::mm;
+    double rminInt = 425.*Gaudi::Units::mm;
+    double rmaxInt = 1040.*Gaudi::Units::mm;
+    double thickShell = 3.*Gaudi::Units::mm;
+    double thick2     = 10.*Gaudi::Units::mm;
+    double zposEP     = 3370.*Gaudi::Units::mm;
+    double zleng      = 42.*Gaudi::Units::mm;
+    rminInt    = (*shell)[0]->getDouble("RMININT")*Gaudi::Units::mm; 
+    rmaxInt    = (*shell)[0]->getDouble("RMAXINT")*Gaudi::Units::mm;
+    thickShell = (*shell)[0]->getDouble("THICKSHELL")*Gaudi::Units::mm;
+    thick2     = (*shell)[0]->getDouble("THICKADD")*Gaudi::Units::mm;
+    zposEP     = (*shell)[0]->getDouble("ZSTART")*Gaudi::Units::mm;
+    zleng      = (*shell)[0]->getDouble("ZSHIFT")*Gaudi::Units::mm;
  
     GeoTube* shellInt1 = new GeoTube(rminInt,rminInt+thick2,zleng*0.5);
     GeoTube* shellInt2 = new GeoTube(rminInt,rmaxInt,thickShell*0.5);
@@ -120,12 +121,12 @@ void EndPlateFactoryFS::create(GeoPhysVol *motherP, GeoPhysVol *motherM)
 //
 //     External shell (default/initial values)
 
-    double zgap     = 50.*GeoModelKernelUnits::mm;
-    double rminExt  = 250.*GeoModelKernelUnits::mm;
+    double zgap     = 50.*Gaudi::Units::mm;
+    double rminExt  = 250.*Gaudi::Units::mm;
     double rmaxExt  = maxRofEP;
     
-    zgap    = (*shell)[0]->getDouble("ZGAP")*GeoModelKernelUnits::mm;
-    rminExt = (*shell)[0]->getDouble("RMINEXT")*GeoModelKernelUnits::mm;
+    zgap    = (*shell)[0]->getDouble("ZGAP")*Gaudi::Units::mm;
+    rminExt = (*shell)[0]->getDouble("RMINEXT")*Gaudi::Units::mm;
 
 
     const GeoTube*   shellExt    = new GeoTube(rminExt,rmaxExt,thickShell/2.);
@@ -146,19 +147,19 @@ void EndPlateFactoryFS::create(GeoPhysVol *motherP, GeoPhysVol *motherM)
 //
 //     Insert - default (initial) values
 
-    double zthick  = 16.0*GeoModelKernelUnits::mm;
-    double zinsert = 3018.*GeoModelKernelUnits::mm-zthick;
-    double rminins = 252.*GeoModelKernelUnits::mm;
-    double rmaxins = 435.*GeoModelKernelUnits::mm;
-    double rthick  = 5.*GeoModelKernelUnits::mm;
-    double zlengi   = 410.*GeoModelKernelUnits::mm;
+    double zthick  = 16.0*Gaudi::Units::mm;
+    double zinsert = 3018.*Gaudi::Units::mm-zthick;
+    double rminins = 252.*Gaudi::Units::mm;
+    double rmaxins = 435.*Gaudi::Units::mm;
+    double rthick  = 5.*Gaudi::Units::mm;
+    double zlengi   = 410.*Gaudi::Units::mm;
 
-    zthick  = (*insert)[0]->getDouble("ZTHICK")*GeoModelKernelUnits::mm;
-    zinsert = (*insert)[0]->getDouble("ZINSERT")*GeoModelKernelUnits::mm;
-    rminins = (*insert)[0]->getDouble("RMININS")*GeoModelKernelUnits::mm;
-    rmaxins = (*insert)[0]->getDouble("RMAXINS")*GeoModelKernelUnits::mm;
-    rthick  = (*insert)[0]->getDouble("RTHICK")*GeoModelKernelUnits::mm;
-    zlengi  = (*insert)[0]->getDouble("ZLENGINS")*GeoModelKernelUnits::mm;
+    zthick  = (*insert)[0]->getDouble("ZTHICK")*Gaudi::Units::mm;
+    zinsert = (*insert)[0]->getDouble("ZINSERT")*Gaudi::Units::mm;
+    rminins = (*insert)[0]->getDouble("RMININS")*Gaudi::Units::mm;
+    rmaxins = (*insert)[0]->getDouble("RMAXINS")*Gaudi::Units::mm;
+    rthick  = (*insert)[0]->getDouble("RTHICK")*Gaudi::Units::mm;
+    zlengi  = (*insert)[0]->getDouble("ZLENGINS")*Gaudi::Units::mm;
 
     GeoTube* Insert1 = new GeoTube(rminins,rmaxins+rthick,zthick*0.5);
     GeoTube* Insert2 = new GeoTube(rmaxins,rmaxins+rthick,(zlengi-zthick)*0.5);
@@ -194,15 +195,15 @@ void EndPlateFactoryFS::create(GeoPhysVol *motherP, GeoPhysVol *motherM)
 //     Short ribs - default (initial) values
 //     Initial position is along X axis then move and rotate
 //
-    double ribY   = 12.0*GeoModelKernelUnits::mm;
+    double ribY   = 12.0*Gaudi::Units::mm;
     double ribZ   = zgap - safety;
-    double ribX   = 380.0*GeoModelKernelUnits::mm;
-    double posX   = 550.0*GeoModelKernelUnits::mm+ribX/2.;
+    double ribX   = 380.0*Gaudi::Units::mm;
+    double posX   = 550.0*Gaudi::Units::mm+ribX/2.;
 
-    ribY   = (*ribs)[0]->getDouble("SHORTWID")*GeoModelKernelUnits::mm;
+    ribY   = (*ribs)[0]->getDouble("SHORTWID")*Gaudi::Units::mm;
     ribZ   = zgap - safety;
-    ribX   = (*ribs)[0]->getDouble("SHORTLENG")*GeoModelKernelUnits::mm;
-    posX   = (*ribs)[0]->getDouble("SHORTRSTART")*GeoModelKernelUnits::mm + ribX/2.;
+    ribX   = (*ribs)[0]->getDouble("SHORTLENG")*Gaudi::Units::mm;
+    posX   = (*ribs)[0]->getDouble("SHORTRSTART")*Gaudi::Units::mm + ribX/2.;
 
     const GeoBox* ribShort = new GeoBox(ribX/2., ribY/2., ribZ/2.);
 
@@ -232,22 +233,22 @@ void EndPlateFactoryFS::create(GeoPhysVol *motherP, GeoPhysVol *motherM)
 //---------------------------------------------------------------------------------
 //     Long ribs (initial position is along X axis then move and rotate)
 //
-    double ribY1   = 20.0*GeoModelKernelUnits::mm;
+    double ribY1   = 20.0*Gaudi::Units::mm;
     double ribZ1   = zgap - safety;
-    double ribX1   = RibConnection-250.*GeoModelKernelUnits::mm;
-    double posX1   = 250.*GeoModelKernelUnits::mm+ribX1/2.;
+    double ribX1   = RibConnection-250.*Gaudi::Units::mm;
+    double posX1   = 250.*Gaudi::Units::mm+ribX1/2.;
 
-    double ribY2   = 30.0*GeoModelKernelUnits::mm;
+    double ribY2   = 30.0*Gaudi::Units::mm;
     double ribZ2   = zgap - safety;
     double ribX2   = maxRofEP - RibConnection;
     double posX2   = RibConnection+ribX2/2.;
 
-    ribY1   = (*ribs)[0]->getDouble("LONGWID1")*GeoModelKernelUnits::mm;
+    ribY1   = (*ribs)[0]->getDouble("LONGWID1")*Gaudi::Units::mm;
     ribZ1   = zgap - safety;
-    ribX1   = RibConnection - (*ribs)[0]->getDouble("LONGLENG1")*GeoModelKernelUnits::mm;  // LONGLENG1 is a RMIN of ribs
-    posX1   = (*ribs)[0]->getDouble("LONGLENG1")*GeoModelKernelUnits::mm + ribX1/2.;       // It's determined by Pixel volume -> so 250.0!!!
+    ribX1   = RibConnection - (*ribs)[0]->getDouble("LONGLENG1")*Gaudi::Units::mm;  // LONGLENG1 is a RMIN of ribs
+    posX1   = (*ribs)[0]->getDouble("LONGLENG1")*Gaudi::Units::mm + ribX1/2.;       // It's determined by Pixel volume -> so 250.0!!!
  
-    ribY2   = (*ribs)[0]->getDouble("LONGWID2")*GeoModelKernelUnits::mm;
+    ribY2   = (*ribs)[0]->getDouble("LONGWID2")*Gaudi::Units::mm;
     ribZ2   = zgap - safety;
     ribX2   = maxRofEP - RibConnection;
     posX2   = RibConnection+ribX2/2.;
diff --git a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/InDetServMatBuilderToolSLHC.cxx b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/InDetServMatBuilderToolSLHC.cxx
index 87365a42dd85..c7e100403a00 100644
--- a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/InDetServMatBuilderToolSLHC.cxx
+++ b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/InDetServMatBuilderToolSLHC.cxx
@@ -13,6 +13,7 @@
 #include "RDBAccessSvc/IRDBAccessSvc.h"
 #include "InDetGeoModelUtils/InDetMaterialManager.h"
 #include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include "InDetServMatGeoModel/ServicesTracker.h"
 #include "InDetServMatGeoModel/ServicesTrackerBuilder.h"
@@ -301,8 +302,8 @@ void InDetServMatBuilderToolSLHC::printNewVolume( const ServiceVolume& vol,
 		   << " zmin " << vol.zMin() 
 		   << " zmax " << vol.zMax() << endmsg;
  
-    msg(MSG::DEBUG) << "name " << vol.name() << " density " << dens * GeoModelKernelUnits::cm3 / GeoModelKernelUnits::g 
-		   << " [g/cm3] weight " << dens*param.volume()/GeoModelKernelUnits::kg  << " [kg]" << endmsg;
+    msg(MSG::DEBUG) << "name " << vol.name() << " density " << dens * Gaudi::Units::cm3 / GeoModelKernelUnits::g 
+		   << " [g/cm3] weight " << dens*param.volume()/Gaudi::Units::kg  << " [kg]" << endmsg;
   } 
   if (msgLvl(MSG::DEBUG)) {   // FIXME: change to VERBOSE when done!
     msg(MSG::DEBUG) << "Number of elements: " << mat.getNumElements() << endmsg;
diff --git a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/InDetServMatFactory.cxx b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/InDetServMatFactory.cxx
index 6854e139abd6..b69e6c15e7d0 100755
--- a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/InDetServMatFactory.cxx
+++ b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/InDetServMatFactory.cxx
@@ -35,8 +35,7 @@
 
 // StoreGate includes
 #include "StoreGate/StoreGateSvc.h"
-
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/PhysicalConstants.h"
 
 #include <iostream>
 
@@ -90,26 +89,26 @@ void InDetServMatFactory::create(GeoPhysVol *world )
   InDetMaterialManager * materialManager = new InDetMaterialManager("InDetServMatMaterialManager", getAthenaComps());
   materialManager->addScalingTable(scalingTable);
 
-  double safety = 0.001 * GeoModelKernelUnits::mm;
-
-  double ZMaxBrlTRT =        envelopes->getDouble("ZMAXBRLTRT") * GeoModelKernelUnits::mm;
-  double ZMaxBrlSCT =        envelopes->getDouble("ZMAXBRLSCT") * GeoModelKernelUnits::mm;
-  double ZMinFwdSCTandTRT =  envelopes->getDouble("ZMINFWDSCTANDTRT") * GeoModelKernelUnits::mm;
-  double ZMinSCTServInTRT =  envelopes->getDouble("ZMINSCTSERVINTRT") * GeoModelKernelUnits::mm;
-  double ZMaxSCTServInTRT =  envelopes->getDouble("ZMAXSCTSERVINTRT") * GeoModelKernelUnits::mm;
-  double ZMinPixServ    =    envelopes->getDouble("ZMINPIXSERV") * GeoModelKernelUnits::mm;
-  double ZMaxFwdTRTC =       envelopes->getDouble("ZMAXFWDTRTC") * GeoModelKernelUnits::mm;
-  double ZMaxIDet =          (*atls)[0]->getDouble("IDETZMX") * GeoModelKernelUnits::cm + safety;  // 3470 mm
-
-  double RMinBrlSCT =        envelopes->getDouble("RMINBRLSCT") * GeoModelKernelUnits::mm;
-  double RMaxBrlTRT =        envelopes->getDouble("RMAXBRLTRT") * GeoModelKernelUnits::mm;
-  double RMinBrlTRT =        envelopes->getDouble("RMINBRLTRT") * GeoModelKernelUnits::mm;
-  double RMaxFwdTRT =        envelopes->getDouble("RMAXFWDTRT") * GeoModelKernelUnits::mm;
-  double RMaxFwdSCT =        envelopes->getDouble("RMAXFWDSCT") * GeoModelKernelUnits::mm;
-  double RMaxFwdTRTC =       envelopes->getDouble("RMAXFWDTRTC") * GeoModelKernelUnits::mm;
-  double RMinPixServ =       envelopes->getDouble("RMINPIXSERV") * GeoModelKernelUnits::mm;
-  double RMaxPixServ =       envelopes->getDouble("RMAXPIXSERV") * GeoModelKernelUnits::mm;
-  double RMaxIDet =          (*atls)[0]->getDouble("IDETOR") * GeoModelKernelUnits::cm + safety; // 1147 mm
+  double safety = 0.001 * Gaudi::Units::mm;
+
+  double ZMaxBrlTRT =        envelopes->getDouble("ZMAXBRLTRT") * Gaudi::Units::mm;
+  double ZMaxBrlSCT =        envelopes->getDouble("ZMAXBRLSCT") * Gaudi::Units::mm;
+  double ZMinFwdSCTandTRT =  envelopes->getDouble("ZMINFWDSCTANDTRT") * Gaudi::Units::mm;
+  double ZMinSCTServInTRT =  envelopes->getDouble("ZMINSCTSERVINTRT") * Gaudi::Units::mm;
+  double ZMaxSCTServInTRT =  envelopes->getDouble("ZMAXSCTSERVINTRT") * Gaudi::Units::mm;
+  double ZMinPixServ    =    envelopes->getDouble("ZMINPIXSERV") * Gaudi::Units::mm;
+  double ZMaxFwdTRTC =       envelopes->getDouble("ZMAXFWDTRTC") * Gaudi::Units::mm;
+  double ZMaxIDet =          (*atls)[0]->getDouble("IDETZMX") * Gaudi::Units::cm + safety;  // 3470 mm
+
+  double RMinBrlSCT =        envelopes->getDouble("RMINBRLSCT") * Gaudi::Units::mm;
+  double RMaxBrlTRT =        envelopes->getDouble("RMAXBRLTRT") * Gaudi::Units::mm;
+  double RMinBrlTRT =        envelopes->getDouble("RMINBRLTRT") * Gaudi::Units::mm;
+  double RMaxFwdTRT =        envelopes->getDouble("RMAXFWDTRT") * Gaudi::Units::mm;
+  double RMaxFwdSCT =        envelopes->getDouble("RMAXFWDSCT") * Gaudi::Units::mm;
+  double RMaxFwdTRTC =       envelopes->getDouble("RMAXFWDTRTC") * Gaudi::Units::mm;
+  double RMinPixServ =       envelopes->getDouble("RMINPIXSERV") * Gaudi::Units::mm;
+  double RMaxPixServ =       envelopes->getDouble("RMAXPIXSERV") * Gaudi::Units::mm;
+  double RMaxIDet =          (*atls)[0]->getDouble("IDETOR") * Gaudi::Units::cm + safety; // 1147 mm
 
   // Since the TRT Wheel C space is not used in some versions and is used by some 
   // other services we simplify the volume.
@@ -124,12 +123,12 @@ void InDetServMatFactory::create(GeoPhysVol *world )
   bool join1 = false; 
   bool join2 = false; 
 
-  if (std::abs(RMaxFwdTRTC - RMinPixServ) <= 1*GeoModelKernelUnits::mm){
+  if (std::abs(RMaxFwdTRTC - RMinPixServ) <= 1*Gaudi::Units::mm){
     join1 = true;
     join2 = true;
     RMaxFwdTRTC = RMinPixServ;
     RMaxPixServ = RMinPixServ;
-  } else if ((RMaxFwdTRTC - 1*GeoModelKernelUnits::mm) <=  RMaxPixServ) {
+  } else if ((RMaxFwdTRTC - 1*Gaudi::Units::mm) <=  RMaxPixServ) {
     join1 = true;
     RMaxPixServ = RMaxFwdTRTC;
   }
@@ -142,8 +141,8 @@ void InDetServMatFactory::create(GeoPhysVol *world )
   const GeoShapeUnion *ServVolAux = 0;
     
   if (!join1) { 
-    GeoPcon* pixServP = new GeoPcon(0.,2*GeoModelKernelUnits::pi);
-    GeoPcon* pixServM = new GeoPcon(0.,2*GeoModelKernelUnits::pi);
+    GeoPcon* pixServP = new GeoPcon(0.,2*Gaudi::Units::pi);
+    GeoPcon* pixServM = new GeoPcon(0.,2*Gaudi::Units::pi);
     
     // Plane 1: Start at the end of the SCT endcap
     pixServP->addPlane(ZMinPixServ,  RMinPixServ, RMaxPixServ);
@@ -163,7 +162,7 @@ void InDetServMatFactory::create(GeoPhysVol *world )
   }
 
   // This is the volume for the TRT/SCT services
-  GeoPcon *sctTrtServ = new GeoPcon(0.,2*GeoModelKernelUnits::pi);
+  GeoPcon *sctTrtServ = new GeoPcon(0.,2*Gaudi::Units::pi);
   
   // Pixel Services
   if (join1) {
diff --git a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/InDetServMatFactoryDC2.cxx b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/InDetServMatFactoryDC2.cxx
index 43f828b400c7..a1d34bf14ff8 100755
--- a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/InDetServMatFactoryDC2.cxx
+++ b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/InDetServMatFactoryDC2.cxx
@@ -24,7 +24,7 @@
 #include "RDBAccessSvc/IRDBRecordset.h"
 #include "RDBAccessSvc/IRDBAccessSvc.h"
 #include "GaudiKernel/Bootstrap.h"
-
+#include "GaudiKernel/SystemOfUnits.h"
 
 InDetServMatFactoryDC2::InDetServMatFactoryDC2(StoreGateSvc *detStore,ServiceHandle<IRDBAccessSvc> pRDBAccess) :
   m_detStore(detStore),
@@ -95,42 +95,42 @@ void InDetServMatFactoryDC2::create(GeoPhysVol *world)
 
 //  double epsilon = 0.001;
 
-  double endZOfBTRT =                (*trtb)[0]->getDouble("ZLEN")*GeoModelKernelUnits::cm;
-  double endZOfBSCT =                (*sctg)[0]->getDouble("HLEN")*GeoModelKernelUnits::cm;
-  double begZOfFSCT =                (*zscg)[0]->getDouble("ZLOEND")*GeoModelKernelUnits::cm;
-  double endZOfFSCT =                (*zscg)[0]->getDouble("ZHIEND")*GeoModelKernelUnits::cm;
+  double endZOfBTRT =                (*trtb)[0]->getDouble("ZLEN")*Gaudi::Units::cm;
+  double endZOfBSCT =                (*sctg)[0]->getDouble("HLEN")*Gaudi::Units::cm;
+  double begZOfFSCT =                (*zscg)[0]->getDouble("ZLOEND")*Gaudi::Units::cm;
+  double endZOfFSCT =                (*zscg)[0]->getDouble("ZHIEND")*Gaudi::Units::cm;
   double endZOfFTRT =                ((*trtb)[15]->getDouble("ZPOSA") +
 				      ((*trtb)[15]->getDouble("ZLEN")+(*trtb)[15]->getDouble("ZGAP"))/2.
 				      + ((*trtb)[2]->getDouble("ZPOSA")-(*trtb)[1]->getDouble("ZPOSA"))*3 
-				      + (*trtb)[1]->getDouble("ZLEN")/2.)*GeoModelKernelUnits::cm;
+				      + (*trtb)[1]->getDouble("ZLEN")/2.)*Gaudi::Units::cm;
  
-  double endZOfIDet =                (*atls)[0]->getDouble("IDETZMX")*GeoModelKernelUnits::cm;
+  double endZOfIDet =                (*atls)[0]->getDouble("IDETZMX")*Gaudi::Units::cm;
 
   // This is endOfEndCapVolumeAB 
   //double begZOfSCTServInTRT = ((trtb[7].zposa + (trtb[7].zlen + trtb[7].zgap)/2.) +
-  //			       (trtb[8].zposa - trtb[7].zposa)*7 + trtb[7].zlen/2.)*GeoModelKernelUnits::cm;
+  //			       (trtb[8].zposa - trtb[7].zposa)*7 + trtb[7].zlen/2.)*Gaudi::Units::cm;
 
   // This is beginningOfEndCapVolumeC 
   //  double endZOfSCTServInTRT = (trtb[15].zposa + (trtb[15].zlen + trtb[15].zgap)/2. - 
-  //			       trtb[1].zlen/2.)*GeoModelKernelUnits::cm;
+  //			       trtb[1].zlen/2.)*Gaudi::Units::cm;
 
-  // The SCT services go from 2755.306 to 2775.306 GeoModelKernelUnits::mm 
+  // The SCT services go from 2755.306 to 2775.306 Gaudi::Units::mm 
   // The TRT has a gap from 2712.25 to 2829.75 mm
   // We hard wire an envelope for these services instead.
-  double begZOfSCTServInTRT = 2755. * GeoModelKernelUnits::mm;
-  double endZOfSCTServInTRT = 2776. * GeoModelKernelUnits::mm;
+  double begZOfSCTServInTRT = 2755. * Gaudi::Units::mm;
+  double endZOfSCTServInTRT = 2776. * Gaudi::Units::mm;
 
   //std::cout << "Begin SCT services " << begZOfSCTServInTRT << std::endl;
   //std::cout << "End SCT services " << endZOfSCTServInTRT << std::endl;
 
 
-  double outROfPixel =               (*zscg)[0]->getDouble("RINEND")*GeoModelKernelUnits::cm;
-  double inROfFTRT  =                (*trtb)[15]->getDouble("RI")*GeoModelKernelUnits::cm;
-  double outROfFSCT =                (*zscg)[0]->getDouble("ROUEND")*GeoModelKernelUnits::cm;
-  double outROfBSCT =                (*sctg)[0]->getDouble("RMAX")*GeoModelKernelUnits::cm;
-  double outROfPixelCables =         (*pbfi)[0]->getFloat("ROUT")*GeoModelKernelUnits::cm;
-  double outROfIDet =                (*atls)[0]->getDouble("IDETOR")*GeoModelKernelUnits::cm;
-  double outROfTRT =                 (*trtg)[0]->getDouble("RMAX")*GeoModelKernelUnits::cm;
+  double outROfPixel =               (*zscg)[0]->getDouble("RINEND")*Gaudi::Units::cm;
+  double inROfFTRT  =                (*trtb)[15]->getDouble("RI")*Gaudi::Units::cm;
+  double outROfFSCT =                (*zscg)[0]->getDouble("ROUEND")*Gaudi::Units::cm;
+  double outROfBSCT =                (*sctg)[0]->getDouble("RMAX")*Gaudi::Units::cm;
+  double outROfPixelCables =         (*pbfi)[0]->getFloat("ROUT")*Gaudi::Units::cm;
+  double outROfIDet =                (*atls)[0]->getDouble("IDETOR")*Gaudi::Units::cm;
+  double outROfTRT =                 (*trtg)[0]->getDouble("RMAX")*Gaudi::Units::cm;
 
   //
   // Create the envelope for the Pixel Services:
diff --git a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/InDetServMatFactoryDC3.cxx b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/InDetServMatFactoryDC3.cxx
index 024b50ae510b..010bd1058f32 100755
--- a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/InDetServMatFactoryDC3.cxx
+++ b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/InDetServMatFactoryDC3.cxx
@@ -35,6 +35,7 @@
 #include "RDBAccessSvc/IRDBRecordset.h"
 #include "RDBAccessSvc/IRDBAccessSvc.h"
 
+#include "GaudiKernel/PhysicalConstants.h"
 #include <iostream>
 
 InDetServMatFactoryDC3::InDetServMatFactoryDC3(const InDetDD::AthenaComps * athenaComps)
@@ -87,24 +88,24 @@ void InDetServMatFactoryDC3::create(GeoPhysVol *world )
   InDetMaterialManager * materialManager = new InDetMaterialManager("InDetServMatMaterialManager", getAthenaComps());
 
 
-  double ZMaxBrlTRT =        envelopes->getDouble("ZMAXBRLTRT") * GeoModelKernelUnits::mm;
-  double ZMaxBrlSCT =        envelopes->getDouble("ZMAXBRLSCT") * GeoModelKernelUnits::mm;
-  double ZMinFwdSCTandTRT =  envelopes->getDouble("ZMINFWDSCTANDTRT") * GeoModelKernelUnits::mm;
-  double ZMinSCTServInTRT =  envelopes->getDouble("ZMINSCTSERVINTRT") * GeoModelKernelUnits::mm;
-  double ZMaxSCTServInTRT =  envelopes->getDouble("ZMAXSCTSERVINTRT") * GeoModelKernelUnits::mm;
-  double ZMinPixServ    =    envelopes->getDouble("ZMINPIXSERV") * GeoModelKernelUnits::mm;
-  double ZMaxFwdTRTC =       envelopes->getDouble("ZMAXFWDTRTC") * GeoModelKernelUnits::mm;
-  double ZMaxIDet =          (*atls)[0]->getDouble("IDETZMX") * GeoModelKernelUnits::cm;  // 3490 mm
+  double ZMaxBrlTRT =        envelopes->getDouble("ZMAXBRLTRT") * Gaudi::Units::mm;
+  double ZMaxBrlSCT =        envelopes->getDouble("ZMAXBRLSCT") * Gaudi::Units::mm;
+  double ZMinFwdSCTandTRT =  envelopes->getDouble("ZMINFWDSCTANDTRT") * Gaudi::Units::mm;
+  double ZMinSCTServInTRT =  envelopes->getDouble("ZMINSCTSERVINTRT") * Gaudi::Units::mm;
+  double ZMaxSCTServInTRT =  envelopes->getDouble("ZMAXSCTSERVINTRT") * Gaudi::Units::mm;
+  double ZMinPixServ    =    envelopes->getDouble("ZMINPIXSERV") * Gaudi::Units::mm;
+  double ZMaxFwdTRTC =       envelopes->getDouble("ZMAXFWDTRTC") * Gaudi::Units::mm;
+  double ZMaxIDet =          (*atls)[0]->getDouble("IDETZMX") * Gaudi::Units::cm;  // 3490 mm
 
-  double RMinBrlSCT =        envelopes->getDouble("RMINBRLSCT") * GeoModelKernelUnits::mm;
-  double RMaxBrlTRT =        envelopes->getDouble("RMAXBRLTRT") * GeoModelKernelUnits::mm;
-  double RMinBrlTRT =        envelopes->getDouble("RMINBRLTRT") * GeoModelKernelUnits::mm;
-  double RMaxFwdTRT =        envelopes->getDouble("RMAXFWDTRT") * GeoModelKernelUnits::mm;
-  double RMaxFwdSCT =        envelopes->getDouble("RMAXFWDSCT") * GeoModelKernelUnits::mm;
-  double RMaxFwdTRTC =       envelopes->getDouble("RMAXFWDTRTC") * GeoModelKernelUnits::mm;
-  double RMinPixServ =       envelopes->getDouble("RMINPIXSERV") * GeoModelKernelUnits::mm;
-  double RMaxPixServ =       envelopes->getDouble("RMAXPIXSERV") * GeoModelKernelUnits::mm;
-  double RMaxIDet =          (*atls)[0]->getDouble("IDETOR") * GeoModelKernelUnits::cm; // 1147 mm
+  double RMinBrlSCT =        envelopes->getDouble("RMINBRLSCT") * Gaudi::Units::mm;
+  double RMaxBrlTRT =        envelopes->getDouble("RMAXBRLTRT") * Gaudi::Units::mm;
+  double RMinBrlTRT =        envelopes->getDouble("RMINBRLTRT") * Gaudi::Units::mm;
+  double RMaxFwdTRT =        envelopes->getDouble("RMAXFWDTRT") * Gaudi::Units::mm;
+  double RMaxFwdSCT =        envelopes->getDouble("RMAXFWDSCT") * Gaudi::Units::mm;
+  double RMaxFwdTRTC =       envelopes->getDouble("RMAXFWDTRTC") * Gaudi::Units::mm;
+  double RMinPixServ =       envelopes->getDouble("RMINPIXSERV") * Gaudi::Units::mm;
+  double RMaxPixServ =       envelopes->getDouble("RMAXPIXSERV") * Gaudi::Units::mm;
+  double RMaxIDet =          (*atls)[0]->getDouble("IDETOR") * Gaudi::Units::cm; // 1147 mm
 
 
 
@@ -112,8 +113,8 @@ void InDetServMatFactoryDC3::create(GeoPhysVol *world )
   // Create the envelope for the Pixel Services:
   //
   const GeoMaterial* air = materialManager->getMaterial("std::Air");
-  GeoPcon* pixServP = new GeoPcon(0.,2*GeoModelKernelUnits::pi);
-  GeoPcon* pixServM = new GeoPcon(0.,2*GeoModelKernelUnits::pi);
+  GeoPcon* pixServP = new GeoPcon(0.,2*Gaudi::Units::pi);
+  GeoPcon* pixServM = new GeoPcon(0.,2*Gaudi::Units::pi);
 
   // Plane 1: Start at the end of the SCT endcap
   pixServP->addPlane(ZMinPixServ,  RMinPixServ, RMaxPixServ);
@@ -132,7 +133,7 @@ void InDetServMatFactoryDC3::create(GeoPhysVol *world )
   const GeoShapeUnion *ServVolAux = new GeoShapeUnion(pixServP, pixServM);
 
   // This is the volume for the TRT/SCT services
-  GeoPcon *sctTrtServ = new GeoPcon(0.,2*GeoModelKernelUnits::pi);
+  GeoPcon *sctTrtServ = new GeoPcon(0.,2*Gaudi::Units::pi);
   
   // THE BEGINNING
   sctTrtServ->addPlane(-ZMaxIDet, RMaxFwdTRTC, RMaxIDet);
diff --git a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/InDetServMatFactoryFS.cxx b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/InDetServMatFactoryFS.cxx
index 4da8a0e8df60..82b6249ee5d8 100755
--- a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/InDetServMatFactoryFS.cxx
+++ b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/InDetServMatFactoryFS.cxx
@@ -32,7 +32,7 @@
 #include "RDBAccessSvc/IRDBAccessSvc.h"
 #include "GaudiKernel/Bootstrap.h"
 
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/PhysicalConstants.h"
 
 #include <iostream>
 
@@ -91,26 +91,26 @@ void InDetServMatFactoryFS::create(GeoPhysVol *world )
   const IRDBRecord *envelopes = (*servEnvelopeTable)[0];
 
 
-  double safety = 0.001 * GeoModelKernelUnits::mm;
+  double safety = 0.001 * Gaudi::Units::mm;
 
-  double ZMaxBrlTRT =        envelopes->getDouble("ZMAXBRLTRT") * GeoModelKernelUnits::mm;
-  double ZMaxBrlSCT =        envelopes->getDouble("ZMAXBRLSCT") * GeoModelKernelUnits::mm;
-  double ZMinFwdSCTandTRT =  envelopes->getDouble("ZMINFWDSCTANDTRT") * GeoModelKernelUnits::mm;
-  double ZMinSCTServInTRT =  envelopes->getDouble("ZMINSCTSERVINTRT") * GeoModelKernelUnits::mm;
-  double ZMaxSCTServInTRT =  envelopes->getDouble("ZMAXSCTSERVINTRT") * GeoModelKernelUnits::mm;
-  double ZMinPixServ    =    envelopes->getDouble("ZMINPIXSERV") * GeoModelKernelUnits::mm;
-  double ZMaxFwdTRTC =       envelopes->getDouble("ZMAXFWDTRTC") * GeoModelKernelUnits::mm;
-  double ZMaxIDet =          (*atls)[0]->getDouble("IDETZMX") * GeoModelKernelUnits::cm + safety;  // 3470 mm
+  double ZMaxBrlTRT =        envelopes->getDouble("ZMAXBRLTRT") * Gaudi::Units::mm;
+  double ZMaxBrlSCT =        envelopes->getDouble("ZMAXBRLSCT") * Gaudi::Units::mm;
+  double ZMinFwdSCTandTRT =  envelopes->getDouble("ZMINFWDSCTANDTRT") * Gaudi::Units::mm;
+  double ZMinSCTServInTRT =  envelopes->getDouble("ZMINSCTSERVINTRT") * Gaudi::Units::mm;
+  double ZMaxSCTServInTRT =  envelopes->getDouble("ZMAXSCTSERVINTRT") * Gaudi::Units::mm;
+  double ZMinPixServ    =    envelopes->getDouble("ZMINPIXSERV") * Gaudi::Units::mm;
+  double ZMaxFwdTRTC =       envelopes->getDouble("ZMAXFWDTRTC") * Gaudi::Units::mm;
+  double ZMaxIDet =          (*atls)[0]->getDouble("IDETZMX") * Gaudi::Units::cm + safety;  // 3470 mm
 
-  double RMinBrlSCT =        envelopes->getDouble("RMINBRLSCT") * GeoModelKernelUnits::mm;
-  double RMaxBrlTRT =        envelopes->getDouble("RMAXBRLTRT") * GeoModelKernelUnits::mm;
-  double RMinBrlTRT =        envelopes->getDouble("RMINBRLTRT") * GeoModelKernelUnits::mm;
-  double RMaxFwdTRT =        envelopes->getDouble("RMAXFWDTRT") * GeoModelKernelUnits::mm;
-  double RMaxFwdSCT =        envelopes->getDouble("RMAXFWDSCT") * GeoModelKernelUnits::mm;
-  double RMaxFwdTRTC =       envelopes->getDouble("RMAXFWDTRTC") * GeoModelKernelUnits::mm;
-  double RMinPixServ =       envelopes->getDouble("RMINPIXSERV") * GeoModelKernelUnits::mm;
-  double RMaxPixServ =       envelopes->getDouble("RMAXPIXSERV") * GeoModelKernelUnits::mm;
-  double RMaxIDet =          (*atls)[0]->getDouble("IDETOR") * GeoModelKernelUnits::cm + safety; // 1147 mm
+  double RMinBrlSCT =        envelopes->getDouble("RMINBRLSCT") * Gaudi::Units::mm;
+  double RMaxBrlTRT =        envelopes->getDouble("RMAXBRLTRT") * Gaudi::Units::mm;
+  double RMinBrlTRT =        envelopes->getDouble("RMINBRLTRT") * Gaudi::Units::mm;
+  double RMaxFwdTRT =        envelopes->getDouble("RMAXFWDTRT") * Gaudi::Units::mm;
+  double RMaxFwdSCT =        envelopes->getDouble("RMAXFWDSCT") * Gaudi::Units::mm;
+  double RMaxFwdTRTC =       envelopes->getDouble("RMAXFWDTRTC") * Gaudi::Units::mm;
+  double RMinPixServ =       envelopes->getDouble("RMINPIXSERV") * Gaudi::Units::mm;
+  double RMaxPixServ =       envelopes->getDouble("RMAXPIXSERV") * Gaudi::Units::mm;
+  double RMaxIDet =          (*atls)[0]->getDouble("IDETOR") * Gaudi::Units::cm + safety; // 1147 mm
 
   // Since the TRT Wheel C space is not used in some versions and is used by some 
   // other services we simplify the volume.
@@ -125,12 +125,12 @@ void InDetServMatFactoryFS::create(GeoPhysVol *world )
   bool join1 = false; 
   bool join2 = false; 
 
-  if (std::abs(RMaxFwdTRTC - RMinPixServ) <= 1*GeoModelKernelUnits::mm){
+  if (std::abs(RMaxFwdTRTC - RMinPixServ) <= 1*Gaudi::Units::mm){
     join1 = true;
     join2 = true;
     RMaxFwdTRTC = RMinPixServ;
     RMaxPixServ = RMinPixServ;
-  } else if ((RMaxFwdTRTC - 1*GeoModelKernelUnits::mm) <=  RMaxPixServ) {
+  } else if ((RMaxFwdTRTC - 1*Gaudi::Units::mm) <=  RMaxPixServ) {
     join1 = true;
     RMaxPixServ = RMaxFwdTRTC;
   }
@@ -144,8 +144,8 @@ void InDetServMatFactoryFS::create(GeoPhysVol *world )
   GeoPcon* pixServM = 0;
     
   if (!join1) { 
-    pixServP = new GeoPcon(0.,2*GeoModelKernelUnits::pi);
-    pixServM = new GeoPcon(0.,2*GeoModelKernelUnits::pi);
+    pixServP = new GeoPcon(0.,2*Gaudi::Units::pi);
+    pixServM = new GeoPcon(0.,2*Gaudi::Units::pi);
     
     // Plane 1: Start at the end of the SCT endcap
     pixServP->addPlane(ZMinPixServ,  RMinPixServ, RMaxPixServ);
@@ -163,8 +163,8 @@ void InDetServMatFactoryFS::create(GeoPhysVol *world )
   }
 
   // This is the volume for the TRT/SCT services
-  GeoPcon *sctTrtServP = new GeoPcon(0.,2*GeoModelKernelUnits::pi);
-  GeoPcon *sctTrtServM = new GeoPcon(0.,2*GeoModelKernelUnits::pi);
+  GeoPcon *sctTrtServP = new GeoPcon(0.,2*Gaudi::Units::pi);
+  GeoPcon *sctTrtServM = new GeoPcon(0.,2*Gaudi::Units::pi);
   
   // Pixel Services
   if (join1) {
diff --git a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/InDetServMatFactorySLHC.cxx b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/InDetServMatFactorySLHC.cxx
index 79bdc998f804..67ae46d9494b 100755
--- a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/InDetServMatFactorySLHC.cxx
+++ b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/InDetServMatFactorySLHC.cxx
@@ -35,7 +35,7 @@
 #include "RDBAccessSvc/IRDBRecordset.h"
 #include "RDBAccessSvc/IRDBAccessSvc.h"
 
-
+#include "GaudiKernel/PhysicalConstants.h"
 #include <iostream>
 
 InDetServMatFactorySLHC::InDetServMatFactorySLHC(const InDetServMatAthenaComps * athenaComps)
@@ -75,9 +75,9 @@ void InDetServMatFactorySLHC::create(GeoPhysVol *world )
     double cylLength;
     
     if (oldEnvelope()) {
-      innerRadius = geomDB()->getDouble("","SERVICESINNERRADIUS") * GeoModelKernelUnits::mm;
-      outerRadius = geomDB()->getDouble("","SERVICESOUTERRADIUS") * GeoModelKernelUnits::mm; 
-      cylLength   = geomDB()->getDouble("","SERVICESCYLLENGTH") * GeoModelKernelUnits::mm; 
+      innerRadius = geomDB()->getDouble("","SERVICESINNERRADIUS") * Gaudi::Units::mm;
+      outerRadius = geomDB()->getDouble("","SERVICESOUTERRADIUS") * Gaudi::Units::mm; 
+      cylLength   = geomDB()->getDouble("","SERVICESCYLLENGTH") * Gaudi::Units::mm; 
     } else {
       innerRadius = envelopeRMin();
       outerRadius = envelopeRMax();
@@ -86,7 +86,7 @@ void InDetServMatFactorySLHC::create(GeoPhysVol *world )
     envelopeShape = new GeoTube(innerRadius, outerRadius, 0.5*cylLength);
     zone = new InDetDD::TubeZone("InDetServMat", -0.5*cylLength, 0.5*cylLength, innerRadius, outerRadius);
   } else {
-    GeoPcon* envelopeShapeTmp  = new GeoPcon(0.,2*GeoModelKernelUnits::pi);
+    GeoPcon* envelopeShapeTmp  = new GeoPcon(0.,2*Gaudi::Units::pi);
     // table contains +ve z values only and envelope is assumed to be symmetric around z.
     int numPlanes = envelopeNumPlanes();
     for (int i = 0; i < numPlanes * 2; i++) {
@@ -183,7 +183,7 @@ InDetServMatFactorySLHC::envelopeNumPlanes() const
 double 
 InDetServMatFactorySLHC::envelopeZ(int i) const 
 {
-  double zmin =  geomDB()->getDouble(m_InDetServGenEnvelope,"Z",i) * GeoModelKernelUnits::mm;
+  double zmin =  geomDB()->getDouble(m_InDetServGenEnvelope,"Z",i) * Gaudi::Units::mm;
   if (zmin < 0) msg(MSG::ERROR) << "InDetServGenEnvelope table should only contain +ve z values" << endmsg;
   return std::abs(zmin);
 }
@@ -191,11 +191,11 @@ InDetServMatFactorySLHC::envelopeZ(int i) const
 double 
 InDetServMatFactorySLHC::envelopeRMin(int i) const 
 {
-  return geomDB()->getDouble(m_InDetServGenEnvelope,"RMIN",i) * GeoModelKernelUnits::mm;
+  return geomDB()->getDouble(m_InDetServGenEnvelope,"RMIN",i) * Gaudi::Units::mm;
 }
 
 double 
 InDetServMatFactorySLHC::envelopeRMax(int i) const
 {
-  return geomDB()->getDouble(m_InDetServGenEnvelope,"RMAX",i) * GeoModelKernelUnits::mm;
+  return geomDB()->getDouble(m_InDetServGenEnvelope,"RMAX",i) * Gaudi::Units::mm;
 }
diff --git a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/InDetServMatGeometryManager.cxx b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/InDetServMatGeometryManager.cxx
index b1b87b9cf5c4..774517d103b0 100644
--- a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/InDetServMatGeometryManager.cxx
+++ b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/InDetServMatGeometryManager.cxx
@@ -10,7 +10,7 @@
 #include "RDBAccessSvc/IRDBRecord.h"
 #include "RDBAccessSvc/IRDBRecordset.h"
 
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 InDetServMatGeometryManager::InDetServMatGeometryManager(const InDetDD::AthenaComps * athenaComps)   
   : m_athenaComps(athenaComps),
@@ -158,14 +158,14 @@ int InDetServMatGeometryManager::pixelNumLayers() const
 // layer radius 
 double InDetServMatGeometryManager::pixelLayerRadius(int layer) const
 {
-  return db()->getDouble(m_PixelLayer,"RLAYER",layer) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelLayer,"RLAYER",layer) * Gaudi::Units::mm;
 }
 
 // layer length
 double InDetServMatGeometryManager::pixelLayerLength(int layer) const
 {
   int staveIndex = db()->getInt(m_PixelLayer,"STAVEINDEX",layer);
-  return db()->getDouble(m_PixelStave,"ENVLENGTH",staveIndex) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelStave,"ENVLENGTH",staveIndex) * Gaudi::Units::mm;
 }
 
 // Number of staves/sectors per barrel layer 
@@ -264,7 +264,7 @@ int InDetServMatGeometryManager::pixelNumDisks() const
 // disk Z position
 double InDetServMatGeometryManager::pixelDiskZ(int disk) const 
 {
-  return db()->getDouble(m_PixelDisk,"ZDISK",disk) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelDisk,"ZDISK",disk) * Gaudi::Units::mm;
 }
 
 // disk min radius
@@ -272,10 +272,10 @@ double InDetServMatGeometryManager::pixelDiskRMin(int disk) const
 {
   std::string route = pixelDiskServiceRoute(disk);   
   if(route=="StdRoute")
-    return db()->getDouble(m_PixelDisk,"RMIN",disk) * GeoModelKernelUnits::mm - 11*GeoModelKernelUnits::mm;
+    return db()->getDouble(m_PixelDisk,"RMIN",disk) * Gaudi::Units::mm - 11*Gaudi::Units::mm;
 
   // support structures - SUP1RMIN is always closest to centre
-  return db()->getDouble(m_PixelDisk,"SUP1RMIN",disk) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelDisk,"SUP1RMIN",disk) * Gaudi::Units::mm;
 
 }
 
@@ -284,10 +284,10 @@ double InDetServMatGeometryManager::pixelDiskRMax(int disk) const
 {
   std::string route = pixelDiskServiceRoute(disk);   
   if(route=="StdRoute")
-    return db()->getDouble(m_PixelDisk,"RMAX",disk) * GeoModelKernelUnits::mm + 11*GeoModelKernelUnits::mm;
+    return db()->getDouble(m_PixelDisk,"RMAX",disk) * Gaudi::Units::mm + 11*Gaudi::Units::mm;
 
   // support structures - SUP3RMAX is always furthest from centre
-  return db()->getDouble(m_PixelDisk,"SUP3RMAX",disk) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelDisk,"SUP3RMAX",disk) * Gaudi::Units::mm;
 
 }
 
@@ -297,7 +297,7 @@ double InDetServMatGeometryManager::pixelDiskEOSZOffset(int disk) const
   if (!db()->testField(m_PixelSvcRoute, "EOSZOFFSET")) 
     return 0.0;
   else
-    return db()->getDouble(m_PixelSvcRoute,"EOSZOFFSET",disk) * GeoModelKernelUnits::mm;
+    return db()->getDouble(m_PixelSvcRoute,"EOSZOFFSET",disk) * Gaudi::Units::mm;
 }
 
 // return name of support tube where 
@@ -310,7 +310,7 @@ std::string InDetServMatGeometryManager::pixelDiskServiceRoute(int disk) const
 
 double InDetServMatGeometryManager::pixelEnvelopeRMax() const
 {
-  return db()->getDouble(m_PixelEnvelope,"RMAX") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_PixelEnvelope,"RMAX") * Gaudi::Units::mm;
 }
 
 int InDetServMatGeometryManager::pixelBarrelModuleType( int layer) const 
@@ -351,13 +351,13 @@ int InDetServMatGeometryManager::sctNumLayers() const
 // layer radius 
 double InDetServMatGeometryManager::sctLayerRadius(int layer) const
 {
-  return db()->getDouble(m_SctBrlLayer,"RADIUS",layer) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctBrlLayer,"RADIUS",layer) * Gaudi::Units::mm;
 }
 
 // layer length
 double InDetServMatGeometryManager::sctLayerLength(int layer) const
 {
-  return db()->getDouble(m_SctBrlLayer,"CYLLENGTH",layer) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctBrlLayer,"CYLLENGTH",layer) * Gaudi::Units::mm;
 }
 
 // layer type. Long(0) or Short (1) strips. NEEDS CHECKING
@@ -395,17 +395,17 @@ int InDetServMatGeometryManager::sctNumDisks() const
 // disk Z position
 double InDetServMatGeometryManager::sctDiskZ(int disk) const 
 {
-  return db()->getDouble(m_SctFwdWheel,"ZPOSITION",disk) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctFwdWheel,"ZPOSITION",disk) * Gaudi::Units::mm;
 }
 
 // disk Z position
 double InDetServMatGeometryManager::sctDiskRMax(int disk) const 
 {
-  return db()->getDouble(m_SctFwdDiscSupport,"OUTERRADIUS",disk) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctFwdDiscSupport,"OUTERRADIUS",disk) * Gaudi::Units::mm;
 }
 
 double InDetServMatGeometryManager::sctInnerSupport() const 
 {
-  return db()->getDouble(m_SctBrlServPerLayer,"SUPPORTCYLINNERRAD",0) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctBrlServPerLayer,"SUPPORTCYLINNERRAD",0) * Gaudi::Units::mm;
 }
 
diff --git a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/PixelServMatFactoryDC2.cxx b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/PixelServMatFactoryDC2.cxx
index ce929352dd21..5d9dc131c24a 100755
--- a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/PixelServMatFactoryDC2.cxx
+++ b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/PixelServMatFactoryDC2.cxx
@@ -22,6 +22,7 @@
 #include "RDBAccessSvc/IRDBAccessSvc.h"
 #include "GeoModelUtilities/DecodeVersionKey.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #define SKIPCYLINDER 3
 #define NUMBEROFCYLINDER 7
@@ -76,8 +77,8 @@ void PixelServMatFactoryDC2::create(GeoPhysVol *mother)
     std::string matName =  mat[(int) (*pbfi)[ii]->getFloat("MAT")];
 
     const GeoMaterial* cylMat = materialManager->getMaterial(matName);
-    double rmin = (*pbfi)[ii]->getFloat("RIN")*GeoModelKernelUnits::cm;
-    double rmax = (*pbfi)[ii]->getFloat("ROUT")*GeoModelKernelUnits::cm;
+    double rmin = (*pbfi)[ii]->getFloat("RIN")*Gaudi::Units::cm;
+    double rmax = (*pbfi)[ii]->getFloat("ROUT")*Gaudi::Units::cm;
     double zmin = (*pbfi)[ii]->getFloat("ZIN");
     double zmax = (*pbfi)[ii]->getFloat("ZOUT");
     // elaborate it 'a la G3...
@@ -86,9 +87,9 @@ void PixelServMatFactoryDC2::create(GeoPhysVol *mother)
       double rl = cylMat->getRadLength();
       halflength = fabs(zmax) * rl /200. ;
     } else {
-      halflength = fabs(zmax-zmin)*GeoModelKernelUnits::cm;
+      halflength = fabs(zmax-zmin)*Gaudi::Units::cm;
     }
-    double zpos = fabs(zmin*GeoModelKernelUnits::cm)+halflength+epsilon;
+    double zpos = fabs(zmin*Gaudi::Units::cm)+halflength+epsilon;
     // Build the Phys Vol
     std::ostringstream o;
     o << ii;
diff --git a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/PixelServMatFactoryDC3.cxx b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/PixelServMatFactoryDC3.cxx
index 84d66d298dc2..0fe4bd0dc21b 100755
--- a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/PixelServMatFactoryDC3.cxx
+++ b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/PixelServMatFactoryDC3.cxx
@@ -22,6 +22,8 @@
 #include "RDBAccessSvc/IRDBAccessSvc.h"
 #include "GeoModelInterfaces/IGeoDbTagSvc.h"
 #include "GeoModelUtilities/DecodeVersionKey.h"
+#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include <iostream>
 
 #define SKIPCYLINDER 3
@@ -74,14 +76,14 @@ void PixelServMatFactoryDC3::create(GeoPhysVol *mother)
   std::cout << "Test Material std::Copper density="<<testMat->getDensity()
       <<" Rad.length="<<testMat->getRadLength()<<" Int.length="<<testMat->getIntLength()<<'\n';
 
-      GeoMaterial* TIN = new GeoMaterial("Sn", 7.31*GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3);
-//        GeoElement *testMat   = new GeoElement("Tin",  "Sn", 50.0, 118.69*GeoModelKernelUnits::amu_c2);
+      GeoMaterial* TIN = new GeoMaterial("Sn", 7.31*GeoModelKernelUnits::gram/Gaudi::Units::cm3);
+//        GeoElement *testMat   = new GeoElement("Tin",  "Sn", 50.0, 118.69*Gaudi::Units::amu_c2);
       const GeoElement *tin   = materialManager->getElement("Tin");
       TIN->add(const_cast<GeoElement *>(tin),1.);
       TIN->lock(); testMat=TIN;
   std::cout << "Test Material Tin density="<<testMat->getDensity()
       <<" Rad.length="<<testMat->getRadLength()<<" Int.length="<<testMat->getIntLength()<<'\n';
-  std::cout << "Atomic mass unit="<<GeoModelKernelUnits::amu_c2<<'\n';
+  std::cout << "Atomic mass unit="<<Gaudi::Units::amu_c2<<'\n';
   std::cout << "gram/cm3 ="<<gram/cm3<<'\n';
 */
  
@@ -101,8 +103,8 @@ void PixelServMatFactoryDC3::create(GeoPhysVol *mother)
 //      <<" Rad.length="<<cylMat->getRadLength()<<'\n';
 
 
-    double rmin = (*pbfi)[jj]->getFloat("RIN")*GeoModelKernelUnits::cm;
-    double rmax = (*pbfi)[jj]->getFloat("ROUT")*GeoModelKernelUnits::cm;
+    double rmin = (*pbfi)[jj]->getFloat("RIN")*Gaudi::Units::cm;
+    double rmax = (*pbfi)[jj]->getFloat("ROUT")*Gaudi::Units::cm;
     double zmin = (*pbfi)[jj]->getFloat("ZIN");
     double zmax = (*pbfi)[jj]->getFloat("ZOUT");
 
@@ -115,7 +117,7 @@ void PixelServMatFactoryDC3::create(GeoPhysVol *mother)
       double rl = cylMat->getRadLength();
       halflength = fabs(zmax) * rl /200. ;
     } else {
-      halflength = fabs(zmax-zmin)*GeoModelKernelUnits::cm;
+      halflength = fabs(zmax-zmin)*Gaudi::Units::cm;
     }
 
 //VK Temporary!!!  To bring thickness to nominal values
@@ -125,7 +127,7 @@ void PixelServMatFactoryDC3::create(GeoPhysVol *mother)
 //    if( ii == 0 ) zmin += 0.7;   // in cm!
 //std::cout << "New="<<halflength<<", "<<zmin<<", "<<ii<<'\n';
 
-    double zpos = fabs(zmin*GeoModelKernelUnits::cm)+halflength+epsilon;
+    double zpos = fabs(zmin*Gaudi::Units::cm)+halflength+epsilon;
     // Build the Phys Vol
     std::ostringstream o;
     o << ii;
diff --git a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/PixelServMatFactoryFS.cxx b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/PixelServMatFactoryFS.cxx
index e872b357bf66..0c8e91457035 100755
--- a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/PixelServMatFactoryFS.cxx
+++ b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/PixelServMatFactoryFS.cxx
@@ -28,6 +28,7 @@
 #include "RDBAccessSvc/IRDBAccessSvc.h"
 #include "GeoModelUtilities/DecodeVersionKey.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include <iostream>
 
 
@@ -105,7 +106,7 @@ void PixelServMatFactoryFS::create(GeoPhysVol *motherP, GeoPhysVol *motherM)
 				    servicePcon->getDPhi());
 
       GeoCons* cons = new GeoCons(servicePcon->getRMinPlane(2),servicePcon->getRMinPlane(3),
-				   servicePcon->getRMaxPlane(2),servicePcon->getRMaxPlane(3)+1E-9*GeoModelKernelUnits::mm,
+				   servicePcon->getRMaxPlane(2),servicePcon->getRMaxPlane(3)+1E-9*Gaudi::Units::mm,
 				   (servicePcon->getZPlane(3)-servicePcon->getZPlane(2))*0.5,
 				   servicePcon->getSPhi(),
 				   servicePcon->getDPhi());
diff --git a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SCT_ServMatFactory.cxx b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SCT_ServMatFactory.cxx
index 12d99004ab1d..9c1001f08ea6 100755
--- a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SCT_ServMatFactory.cxx
+++ b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SCT_ServMatFactory.cxx
@@ -25,6 +25,7 @@
 
 #include "GeoModelInterfaces/IGeoDbTagSvc.h"
 #include "GeoModelUtilities/DecodeVersionKey.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <sstream>
 #include <iostream>
@@ -72,14 +73,14 @@ void SCT_ServMatFactory::create(GeoPhysVol *mother)
 
   //------------------------------------------
   //VK  10/09/2005 Construct a gap for rails
-  double outROfIDet =       (*atls)[0]->getDouble("IDETOR")*GeoModelKernelUnits::cm;
-  double endZOfIDet =       (*atls)[0]->getDouble("IDETZMX")*GeoModelKernelUnits::cm;
-  //  double minRofGap  =       1050.0*GeoModelKernelUnits::mm;
-  //  double minRofGap  =       1110.0*GeoModelKernelUnits::mm;
-  double minRofGap  =       1089.0*GeoModelKernelUnits::mm;
-  double phiWid=(70.*GeoModelKernelUnits::mm)/outROfIDet;   
+  double outROfIDet =       (*atls)[0]->getDouble("IDETOR")*Gaudi::Units::cm;
+  double endZOfIDet =       (*atls)[0]->getDouble("IDETZMX")*Gaudi::Units::cm;
+  //  double minRofGap  =       1050.0*Gaudi::Units::mm;
+  //  double minRofGap  =       1110.0*Gaudi::Units::mm;
+  double minRofGap  =       1089.0*Gaudi::Units::mm;
+  double phiWid=(70.*Gaudi::Units::mm)/outROfIDet;   
   //  std::cout << "Gap phiWid = " << phiWid << std::endl;
-  double safetyGap=1.*GeoModelKernelUnits::mm;
+  double safetyGap=1.*Gaudi::Units::mm;
 
   //created by Adam Agocs 
 
@@ -131,7 +132,7 @@ void SCT_ServMatFactory::create(GeoPhysVol *mother)
     double volumeCut = 0;
     const GeoShape* serviceTube = serviceTubeTmp;
     const GeoShape* serviceTube2 = serviceTubeTmp; //because of asymmetry
-    if( tubeHelper.volData().maxRadius() > minRofGap && tubeHelper.volData().phiStart()*GeoModelKernelUnits::radian < phiTop)  {
+    if( tubeHelper.volData().maxRadius() > minRofGap && tubeHelper.volData().phiStart()*Gaudi::Units::radian < phiTop)  {
       // Subtract RailGap out of services
       if (NameOfService == "PPB1EFEG" || NameOfService == "CableTrayEFEG")
       {
@@ -173,8 +174,8 @@ void SCT_ServMatFactory::create(GeoPhysVol *mother)
 
      GeoTransform * xform1    = new GeoTransform(trans);
      GeoTransform * xform1Neg = new GeoTransform(trans2);
-     GeoTransform * xform2    = new GeoTransform(GeoTrf::RotateZ3D(180*GeoModelKernelUnits::deg)*trans);
-     GeoTransform * xform2Neg = new GeoTransform(GeoTrf::RotateZ3D(180*GeoModelKernelUnits::deg)*trans2);
+     GeoTransform * xform2    = new GeoTransform(GeoTrf::RotateZ3D(180*Gaudi::Units::deg)*trans);
+     GeoTransform * xform2Neg = new GeoTransform(GeoTrf::RotateZ3D(180*Gaudi::Units::deg)*trans2);
     
 //     std::cerr << xform1 << std::endl << xform1Neg << std::endl << xform2 << std::endl << xform2Neg << std::endl;
      
@@ -204,12 +205,12 @@ void SCT_ServMatFactory::create(GeoPhysVol *mother)
 
     for (unsigned int ii =0; ii < sctsup->size(); ii++) {
       
-      RMinW          = (*sctsup)[ii]->getFloat("RMIN")*GeoModelKernelUnits::mm;
-      RMaxW          = (*sctsup)[ii]->getFloat("RMAX")*GeoModelKernelUnits::mm;
-      ZHalfLengthW   = (*sctsup)[ii]->getFloat("THICK")/2.*GeoModelKernelUnits::mm;
-      WidI           = (*sctsup)[ii]->getFloat("WIDTHINNER")*GeoModelKernelUnits::mm;
-      WidO           = (*sctsup)[ii]->getFloat("WIDTHOUTER")*GeoModelKernelUnits::mm;
-      ZStartW        = (*sctsup)[ii]->getFloat("ZSTART")*GeoModelKernelUnits::mm;
+      RMinW          = (*sctsup)[ii]->getFloat("RMIN")*Gaudi::Units::mm;
+      RMaxW          = (*sctsup)[ii]->getFloat("RMAX")*Gaudi::Units::mm;
+      ZHalfLengthW   = (*sctsup)[ii]->getFloat("THICK")/2.*Gaudi::Units::mm;
+      WidI           = (*sctsup)[ii]->getFloat("WIDTHINNER")*Gaudi::Units::mm;
+      WidO           = (*sctsup)[ii]->getFloat("WIDTHOUTER")*Gaudi::Units::mm;
+      ZStartW        = (*sctsup)[ii]->getFloat("ZSTART")*Gaudi::Units::mm;
       NameOfMaterial = (*sctsup)[ii]->getString("MATERIAL");
       DPhi = asin(WidI/2./RMinW);
       
@@ -293,14 +294,14 @@ void SCT_ServMatFactory::create(GeoPhysVol *mother)
 
   //------------------------------------------
   //VK  10/09/2005 Construct a gap for rails
-  double outROfIDet =       (*atls)[0]->getDouble("IDETOR")*GeoModelKernelUnits::cm;
-  double endZOfIDet =       (*atls)[0]->getDouble("IDETZMX")*GeoModelKernelUnits::cm;
-  //  double minRofGap  =       1050.0*GeoModelKernelUnits::mm;
-  //  double minRofGap  =       1110.0*GeoModelKernelUnits::mm;
-  double minRofGap  =       1089.0*GeoModelKernelUnits::mm;
-  double phiWid=(70.*GeoModelKernelUnits::mm)/outROfIDet;   
+  double outROfIDet =       (*atls)[0]->getDouble("IDETOR")*Gaudi::Units::cm;
+  double endZOfIDet =       (*atls)[0]->getDouble("IDETZMX")*Gaudi::Units::cm;
+  //  double minRofGap  =       1050.0*Gaudi::Units::mm;
+  //  double minRofGap  =       1110.0*Gaudi::Units::mm;
+  double minRofGap  =       1089.0*Gaudi::Units::mm;
+  double phiWid=(70.*Gaudi::Units::mm)/outROfIDet;   
   //  std::cout << "Gap phiWid = " << phiWid << std::endl;
-  double safetyGap=1.*GeoModelKernelUnits::mm;
+  double safetyGap=1.*Gaudi::Units::mm;
   const GeoShape* railGap1=new GeoTubs( minRofGap, outROfIDet+safetyGap ,endZOfIDet+safetyGap , 
 					-phiWid/2.,phiWid);
   const GeoShape* railGap2=new GeoTubs( minRofGap, outROfIDet+safetyGap ,endZOfIDet+safetyGap ,
@@ -367,12 +368,12 @@ void SCT_ServMatFactory::create(GeoPhysVol *mother)
 
     for (unsigned int ii =0; ii < sctsup->size(); ii++) {
       
-      RMinW        = (*sctsup)[ii]->getFloat("RMIN")*GeoModelKernelUnits::mm;
-      RMaxW        = (*sctsup)[ii]->getFloat("RMAX")*GeoModelKernelUnits::mm;
-      ZHalfLengthW = (*sctsup)[ii]->getFloat("THICK")/2.*GeoModelKernelUnits::mm;
-      WidI         = (*sctsup)[ii]->getFloat("WIDTHINNER")*GeoModelKernelUnits::mm;
-      WidO         = (*sctsup)[ii]->getFloat("WIDTHOUTER")*GeoModelKernelUnits::mm;
-      ZStartW      = (*sctsup)[ii]->getFloat("ZSTART")*GeoModelKernelUnits::mm;
+      RMinW        = (*sctsup)[ii]->getFloat("RMIN")*Gaudi::Units::mm;
+      RMaxW        = (*sctsup)[ii]->getFloat("RMAX")*Gaudi::Units::mm;
+      ZHalfLengthW = (*sctsup)[ii]->getFloat("THICK")/2.*Gaudi::Units::mm;
+      WidI         = (*sctsup)[ii]->getFloat("WIDTHINNER")*Gaudi::Units::mm;
+      WidO         = (*sctsup)[ii]->getFloat("WIDTHOUTER")*Gaudi::Units::mm;
+      ZStartW      = (*sctsup)[ii]->getFloat("ZSTART")*Gaudi::Units::mm;
       DPhi = asin(WidI/2./RMinW);
       
       const GeoShape* pTub1 = new GeoTubs(RMinW, RMaxW, ZHalfLengthW, 0.-DPhi, 2.*DPhi);  //Basic shape
diff --git a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SCT_ServMatFactoryDC2.cxx b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SCT_ServMatFactoryDC2.cxx
index 32ed55a0bbb3..c2b741161e19 100755
--- a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SCT_ServMatFactoryDC2.cxx
+++ b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SCT_ServMatFactoryDC2.cxx
@@ -27,6 +27,8 @@
 
 #include "GeoModelUtilities/DecodeVersionKey.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/PhysicalConstants.h"
 #include <stdexcept>
 #define TRTELEMENTSINEL 9
 #define SCTELEMENTSINEL 8
@@ -78,20 +80,20 @@ void SCT_ServMatFactoryDC2::create(GeoPhysVol *mother)
   // Build SCT services in Endcap.
   // (Code taken from TRT_GeoModel)
 
-  double innerRadiusOfSCTSupport = (*tsci)[0]->getDouble("RMIN")*GeoModelKernelUnits::cm + 2*epsilon;
-  double outerRadiusOfSCTSupport = (*tsci)[0]->getDouble("RMAX")*GeoModelKernelUnits::cm;
-  double lengthOfSCTSupport = ((*tsci)[0]->getDouble("ZMAX")-(*tsci)[0]->getDouble("ZMIN"))*GeoModelKernelUnits::cm - epsilon;
-  double positionOfSCTSupport= 0.5 * ((*tsci)[0]->getDouble("ZMAX")+(*tsci)[0]->getDouble("ZMIN"))*GeoModelKernelUnits::cm;
+  double innerRadiusOfSCTSupport = (*tsci)[0]->getDouble("RMIN")*Gaudi::Units::cm + 2*epsilon;
+  double outerRadiusOfSCTSupport = (*tsci)[0]->getDouble("RMAX")*Gaudi::Units::cm;
+  double lengthOfSCTSupport = ((*tsci)[0]->getDouble("ZMAX")-(*tsci)[0]->getDouble("ZMIN"))*Gaudi::Units::cm - epsilon;
+  double positionOfSCTSupport= 0.5 * ((*tsci)[0]->getDouble("ZMAX")+(*tsci)[0]->getDouble("ZMIN"))*Gaudi::Units::cm;
 
-  double innerRadiusOfSCTCables = (*tsci)[1]->getDouble("RMIN")*GeoModelKernelUnits::cm + 2*epsilon;
-  double outerRadiusOfSCTCables = (*tsci)[1]->getDouble("RMAX")*GeoModelKernelUnits::cm;
-  double lengthOfSCTCables = ((*tsci)[1]->getDouble("ZMAX")-(*tsci)[1]->getDouble("ZMIN"))*GeoModelKernelUnits::cm - epsilon;
-  double positionOfSCTCables = 0.5 * ((*tsci)[1]->getDouble("ZMAX")+(*tsci)[1]->getDouble("ZMIN"))*GeoModelKernelUnits::cm;
+  double innerRadiusOfSCTCables = (*tsci)[1]->getDouble("RMIN")*Gaudi::Units::cm + 2*epsilon;
+  double outerRadiusOfSCTCables = (*tsci)[1]->getDouble("RMAX")*Gaudi::Units::cm;
+  double lengthOfSCTCables = ((*tsci)[1]->getDouble("ZMAX")-(*tsci)[1]->getDouble("ZMIN"))*Gaudi::Units::cm - epsilon;
+  double positionOfSCTCables = 0.5 * ((*tsci)[1]->getDouble("ZMAX")+(*tsci)[1]->getDouble("ZMIN"))*Gaudi::Units::cm;
  
-  double innerRadiusOfSCTCooling = (*tsci)[2]->getDouble("RMIN")*GeoModelKernelUnits::cm + 2*epsilon;
-  double outerRadiusOfSCTCooling = (*tsci)[2]->getDouble("RMAX")*GeoModelKernelUnits::cm;
-  double lengthOfSCTCooling = ((*tsci)[2]->getDouble("ZMAX")-(*tsci)[2]->getDouble("ZMIN"))*GeoModelKernelUnits::cm - epsilon;
-  double positionOfSCTCooling = 0.5 * ((*tsci)[2]->getDouble("ZMAX")+(*tsci)[2]->getDouble("ZMIN"))*GeoModelKernelUnits::cm;
+  double innerRadiusOfSCTCooling = (*tsci)[2]->getDouble("RMIN")*Gaudi::Units::cm + 2*epsilon;
+  double outerRadiusOfSCTCooling = (*tsci)[2]->getDouble("RMAX")*Gaudi::Units::cm;
+  double lengthOfSCTCooling = ((*tsci)[2]->getDouble("ZMAX")-(*tsci)[2]->getDouble("ZMIN"))*Gaudi::Units::cm - epsilon;
+  double positionOfSCTCooling = 0.5 * ((*tsci)[2]->getDouble("ZMAX")+(*tsci)[2]->getDouble("ZMIN"))*Gaudi::Units::cm;
 
 
   // For new LMT we get name from SCT table ZSCG.
@@ -106,15 +108,15 @@ void SCT_ServMatFactoryDC2::create(GeoPhysVol *mother)
     // We define it here for now as a quick fix.
     
     // Thickness of CuK 896 tapes smeared in phi = 0.08575cm
-    double tapeCrossSection = (*zscg)[0]->getDouble("ALAREA")*GeoModelKernelUnits::cm2;
+    double tapeCrossSection = (*zscg)[0]->getDouble("ALAREA")*Gaudi::Units::cm2;
     double rave = 2*innerRadiusOfSCTCables*outerRadiusOfSCTCables/(innerRadiusOfSCTCables+outerRadiusOfSCTCables);
-    double thickness = 988*tapeCrossSection/(2*GeoModelKernelUnits::pi*rave);
+    double thickness = 988*tapeCrossSection/(2*Gaudi::Units::pi*rave);
     // We need to scale the density to fit in with space given.
-    //std::cout << "LMT thickness (GeoModelKernelUnits::mm) = " << thickness/GeoModelKernelUnits::mm << std::endl;
+    //std::cout << "LMT thickness (Gaudi::Units::mm) = " << thickness/Gaudi::Units::mm << std::endl;
     double densityfactor = thickness/lengthOfSCTCables;
     const GeoElement  *copper  = m_materialManager->getElement("Copper");
     const GeoMaterial *kapton  = m_materialManager->getMaterial("std::Kapton");
-    GeoMaterial * matCuKapton   = new GeoMaterial("CuKaptoninTRT",densityfactor * 2.94*GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3);
+    GeoMaterial * matCuKapton   = new GeoMaterial("CuKaptoninTRT",densityfactor * 2.94*GeoModelKernelUnits::gram/Gaudi::Units::cm3);
     matCuKapton->add(const_cast<GeoElement*>(copper),  0.6142);
     matCuKapton->add(const_cast<GeoMaterial*>(kapton), 0.3858);
     matCuKapton->lock();
@@ -167,15 +169,15 @@ void SCT_ServMatFactoryDC2::create(GeoPhysVol *mother)
     std::ostringstream o;
     o << jj;
     std::string logName = "SctInel"+o.str();  
-    double halflength = ((*inel)[ii]->getFloat("ZMAX")-(*inel)[ii]->getFloat("ZMIN"))/2.*GeoModelKernelUnits::cm;
+    double halflength = ((*inel)[ii]->getFloat("ZMAX")-(*inel)[ii]->getFloat("ZMIN"))/2.*Gaudi::Units::cm;
     int volType = (int) (*inel)[ii]->getFloat("VOLTYP");
 
     const GeoShape* serviceTube = createShape(volType,
-					      (*inel)[ii]->getFloat("RMIN1")*GeoModelKernelUnits::cm,
-					      (*inel)[ii]->getFloat("RMAX1")*GeoModelKernelUnits::cm,
+					      (*inel)[ii]->getFloat("RMIN1")*Gaudi::Units::cm,
+					      (*inel)[ii]->getFloat("RMAX1")*Gaudi::Units::cm,
 					      halflength,
-					      (*inel)[ii]->getFloat("RMIN2")*GeoModelKernelUnits::cm,
-					      (*inel)[ii]->getFloat("RMAX2")*GeoModelKernelUnits::cm);
+					      (*inel)[ii]->getFloat("RMIN2")*Gaudi::Units::cm,
+					      (*inel)[ii]->getFloat("RMAX2")*Gaudi::Units::cm);
     
 
     // create the material...
@@ -194,16 +196,16 @@ void SCT_ServMatFactoryDC2::create(GeoPhysVol *mother)
       cylMat = createMaterial(nameStr.str(),
 			      volType,
 			      fractionRL,
-			      (*inel)[ii]->getFloat("RMIN1")*GeoModelKernelUnits::cm,
-			      (*inel)[ii]->getFloat("RMAX1")*GeoModelKernelUnits::cm,
+			      (*inel)[ii]->getFloat("RMIN1")*Gaudi::Units::cm,
+			      (*inel)[ii]->getFloat("RMAX1")*Gaudi::Units::cm,
 			      halflength,
-			      (*inel)[ii]->getFloat("RMIN2")*GeoModelKernelUnits::cm,
-			      (*inel)[ii]->getFloat("RMAX2")*GeoModelKernelUnits::cm); 
+			      (*inel)[ii]->getFloat("RMIN2")*Gaudi::Units::cm,
+			      (*inel)[ii]->getFloat("RMAX2")*Gaudi::Units::cm); 
     }
 
     const GeoLogVol* ServLog = new GeoLogVol(logName,serviceTube,cylMat);
     GeoVPhysVol* ServPhys = new GeoPhysVol(ServLog);
-    double zpos = ((*inel)[ii]->getFloat("ZMAX")+(*inel)[ii]->getFloat("ZMIN"))/2.*GeoModelKernelUnits::cm+epsilon;
+    double zpos = ((*inel)[ii]->getFloat("ZMAX")+(*inel)[ii]->getFloat("ZMIN"))/2.*Gaudi::Units::cm+epsilon;
     // place two
     GeoTrf::Translate3D servpos1(0.,0.,zpos);
     GeoTrf::Translate3D servpos2(0.,0.,-zpos);
@@ -227,7 +229,7 @@ const GeoShape* SCT_ServMatFactoryDC2::createShape(int volType,
 						double rmax2=0.) 
   
 {
-  const double epsilon = 0.001*GeoModelKernelUnits::mm;
+  const double epsilon = 0.001*Gaudi::Units::mm;
   enum VOLTYPE{Tube=1, Cone, ICone};
   const GeoShape* IDShape = 0;
   if(volType == Tube) {
diff --git a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SCT_ServMatFactoryDC3.cxx b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SCT_ServMatFactoryDC3.cxx
index 2f2ff0f25c4f..cc7e4f88bdf5 100755
--- a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SCT_ServMatFactoryDC3.cxx
+++ b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SCT_ServMatFactoryDC3.cxx
@@ -25,6 +25,8 @@
 
 #include "GeoModelInterfaces/IGeoDbTagSvc.h"
 #include "GeoModelUtilities/DecodeVersionKey.h"
+#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/PhysicalConstants.h"
 
 #define TRTELEMENTSINEL 9
 #define SCTELEMENTSINEL 8
@@ -66,10 +68,10 @@ void SCT_ServMatFactoryDC3::create(GeoPhysVol *mother)
   //const IRDBRecordset* sctFwdServices = rdbAccessSvc()->getRecordset("SctFwdServices", sctVersionKey.tag(), sctVersionKey.node());
 
 //VVK  10/09/2005 Construct a gap for rails
-  double outROfIDet =       (*atls)[0]->getDouble("IDETOR")*GeoModelKernelUnits::cm;
-  double endZOfIDet =       (*atls)[0]->getDouble("IDETZMX")*GeoModelKernelUnits::cm;
-  double minRofGap  =       1050.0*GeoModelKernelUnits::mm;
-  double phiWid=(70.*GeoModelKernelUnits::mm)/outROfIDet;    double safetyGap=1.*GeoModelKernelUnits::mm;
+  double outROfIDet =       (*atls)[0]->getDouble("IDETOR")*Gaudi::Units::cm;
+  double endZOfIDet =       (*atls)[0]->getDouble("IDETZMX")*Gaudi::Units::cm;
+  double minRofGap  =       1050.0*Gaudi::Units::mm;
+  double phiWid=(70.*Gaudi::Units::mm)/outROfIDet;    double safetyGap=1.*Gaudi::Units::mm;
   const GeoShape* railGap1=new GeoTubs( minRofGap, outROfIDet+safetyGap ,endZOfIDet+safetyGap , 
 					-phiWid/2.,phiWid);
   const GeoShape* railGap2=new GeoTubs( minRofGap, outROfIDet+safetyGap ,endZOfIDet+safetyGap ,
@@ -82,25 +84,25 @@ void SCT_ServMatFactoryDC3::create(GeoPhysVol *mother)
   // (Code taken from TRT_GeoModel)
   
   // Hardwire min sct services for now. The database structures should be moved out of TRT anyway.
-  double rminSCTServ = 620*GeoModelKernelUnits::mm;
+  double rminSCTServ = 620*Gaudi::Units::mm;
 
-  //double innerRadiusOfSCTSupport = (*tsci)[0]->getDouble("RMIN")*GeoModelKernelUnits::cm + 2*epsilon;
+  //double innerRadiusOfSCTSupport = (*tsci)[0]->getDouble("RMIN")*Gaudi::Units::cm + 2*epsilon;
   double innerRadiusOfSCTSupport =  rminSCTServ + 2*epsilon;
-  double outerRadiusOfSCTSupport = (*tsci)[0]->getDouble("RMAX")*GeoModelKernelUnits::cm;
-  double lengthOfSCTSupport = ((*tsci)[0]->getDouble("ZMAX")-(*tsci)[0]->getDouble("ZMIN"))*GeoModelKernelUnits::cm - epsilon;
-  double positionOfSCTSupport= 0.5 * ((*tsci)[0]->getDouble("ZMAX")+(*tsci)[0]->getDouble("ZMIN"))*GeoModelKernelUnits::cm;
+  double outerRadiusOfSCTSupport = (*tsci)[0]->getDouble("RMAX")*Gaudi::Units::cm;
+  double lengthOfSCTSupport = ((*tsci)[0]->getDouble("ZMAX")-(*tsci)[0]->getDouble("ZMIN"))*Gaudi::Units::cm - epsilon;
+  double positionOfSCTSupport= 0.5 * ((*tsci)[0]->getDouble("ZMAX")+(*tsci)[0]->getDouble("ZMIN"))*Gaudi::Units::cm;
 
-  //double innerRadiusOfSCTCables = (*tsci)[1]->getDouble("RMIN")*GeoModelKernelUnits::cm + 2*epsilon;
+  //double innerRadiusOfSCTCables = (*tsci)[1]->getDouble("RMIN")*Gaudi::Units::cm + 2*epsilon;
   double innerRadiusOfSCTCables = rminSCTServ + 2*epsilon;
-  double outerRadiusOfSCTCables = (*tsci)[1]->getDouble("RMAX")*GeoModelKernelUnits::cm;
-  double lengthOfSCTCables = ((*tsci)[1]->getDouble("ZMAX")-(*tsci)[1]->getDouble("ZMIN"))*GeoModelKernelUnits::cm - epsilon;
-  double positionOfSCTCables = 0.5 * ((*tsci)[1]->getDouble("ZMAX")+(*tsci)[1]->getDouble("ZMIN"))*GeoModelKernelUnits::cm;
+  double outerRadiusOfSCTCables = (*tsci)[1]->getDouble("RMAX")*Gaudi::Units::cm;
+  double lengthOfSCTCables = ((*tsci)[1]->getDouble("ZMAX")-(*tsci)[1]->getDouble("ZMIN"))*Gaudi::Units::cm - epsilon;
+  double positionOfSCTCables = 0.5 * ((*tsci)[1]->getDouble("ZMAX")+(*tsci)[1]->getDouble("ZMIN"))*Gaudi::Units::cm;
  
-  //double innerRadiusOfSCTCooling = (*tsci)[2]->getDouble("RMIN")*GeoModelKernelUnits::cm + 2*epsilon;
+  //double innerRadiusOfSCTCooling = (*tsci)[2]->getDouble("RMIN")*Gaudi::Units::cm + 2*epsilon;
   double innerRadiusOfSCTCooling = rminSCTServ + 2*epsilon;
-  double outerRadiusOfSCTCooling = (*tsci)[2]->getDouble("RMAX")*GeoModelKernelUnits::cm;
-  double lengthOfSCTCooling = ((*tsci)[2]->getDouble("ZMAX")-(*tsci)[2]->getDouble("ZMIN"))*GeoModelKernelUnits::cm - epsilon;
-  double positionOfSCTCooling = 0.5 * ((*tsci)[2]->getDouble("ZMAX")+(*tsci)[2]->getDouble("ZMIN"))*GeoModelKernelUnits::cm;
+  double outerRadiusOfSCTCooling = (*tsci)[2]->getDouble("RMAX")*Gaudi::Units::cm;
+  double lengthOfSCTCooling = ((*tsci)[2]->getDouble("ZMAX")-(*tsci)[2]->getDouble("ZMIN"))*Gaudi::Units::cm - epsilon;
+  double positionOfSCTCooling = 0.5 * ((*tsci)[2]->getDouble("ZMAX")+(*tsci)[2]->getDouble("ZMIN"))*Gaudi::Units::cm;
 
 
   // For new LMT we get name from SCT table SctFwdServices.
@@ -115,15 +117,15 @@ void SCT_ServMatFactoryDC3::create(GeoPhysVol *mother)
     // We define it here for now as a quick fix.
     
     // Thickness of CuK 896 tapes smeared in phi = 0.08575cm
-    double tapeCrossSection = (*sctFwdServices)[0]->getDouble("POWERTAPECROSSSECT")*GeoModelKernelUnits::mm2;
+    double tapeCrossSection = (*sctFwdServices)[0]->getDouble("POWERTAPECROSSSECT")*Gaudi::Units::mm2;
     double rave = 2*innerRadiusOfSCTCables*outerRadiusOfSCTCables/(innerRadiusOfSCTCables+outerRadiusOfSCTCables);
-    double thickness = 988*tapeCrossSection/(2*GeoModelKernelUnits::pi*rave);
+    double thickness = 988*tapeCrossSection/(2*Gaudi::Units::pi*rave);
     // We need to scale the density to fit in with space given.
-    //std::cout << "LMT thickness (mm) = " << thickness/GeoModelKernelUnits::mm << std::endl;
+    //std::cout << "LMT thickness (mm) = " << thickness/Gaudi::Units::mm << std::endl;
     double densityfactor = thickness/lengthOfSCTCables;
     const GeoElement  *copper  = m_materialManager->getElement("Copper");
     const GeoMaterial *kapton  = m_materialManager->getMaterial("std::Kapton");
-    GeoMaterial * matCuKapton   = new GeoMaterial("CuKaptoninTRT",densityfactor * 2.94*GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3);
+    GeoMaterial * matCuKapton   = new GeoMaterial("CuKaptoninTRT",densityfactor * 2.94*GeoModelKernelUnits::gram/Gaudi::Units::cm3);
     matCuKapton->add(const_cast<GeoElement*>(copper),  0.6142);
     matCuKapton->add(const_cast<GeoMaterial*>(kapton), 0.3858);
     matCuKapton->lock();
@@ -185,19 +187,19 @@ void SCT_ServMatFactoryDC3::create(GeoPhysVol *mother)
     std::ostringstream o;
     o << irecold++;
     std::string logName = "SctInel"+o.str();  
-    double halflength = ((*inel)[ii]->getFloat("ZMAX")-(*inel)[ii]->getFloat("ZMIN"))/2.*GeoModelKernelUnits::cm;
+    double halflength = ((*inel)[ii]->getFloat("ZMAX")-(*inel)[ii]->getFloat("ZMIN"))/2.*Gaudi::Units::cm;
     int volType = (int) (*inel)[ii]->getFloat("VOLTYP");
 
     const GeoShape* serviceTubeTmp1 = createShape(volType,
-					      (*inel)[ii]->getFloat("RMIN1")*GeoModelKernelUnits::cm,
-					      (*inel)[ii]->getFloat("RMAX1")*GeoModelKernelUnits::cm,
+					      (*inel)[ii]->getFloat("RMIN1")*Gaudi::Units::cm,
+					      (*inel)[ii]->getFloat("RMAX1")*Gaudi::Units::cm,
 					      halflength,
-					      (*inel)[ii]->getFloat("RMIN2")*GeoModelKernelUnits::cm,
-					      (*inel)[ii]->getFloat("RMAX2")*GeoModelKernelUnits::cm);
+					      (*inel)[ii]->getFloat("RMIN2")*Gaudi::Units::cm,
+					      (*inel)[ii]->getFloat("RMAX2")*Gaudi::Units::cm);
 
     const GeoShape* serviceTube = serviceTubeTmp1;
-    if( (*inel)[ii]->getFloat("RMAX1")*GeoModelKernelUnits::cm  > minRofGap   ||
-        (*inel)[ii]->getFloat("RMAX2")*GeoModelKernelUnits::cm  > minRofGap     )  {
+    if( (*inel)[ii]->getFloat("RMAX1")*Gaudi::Units::cm  > minRofGap   ||
+        (*inel)[ii]->getFloat("RMAX2")*Gaudi::Units::cm  > minRofGap     )  {
 //
 //VVK Subtract RailGap out of services
         const GeoShape* serviceTubeTmp2 = (GeoShape*) & (*serviceTubeTmp1).subtract(*railGap1);
@@ -223,16 +225,16 @@ void SCT_ServMatFactoryDC3::create(GeoPhysVol *mother)
       cylMat = createMaterial(nameStr.str(),
 			      volType,
 			      fractionRL,
-			      (*inel)[ii]->getFloat("RMIN1")*GeoModelKernelUnits::cm,
-			      (*inel)[ii]->getFloat("RMAX1")*GeoModelKernelUnits::cm,
+			      (*inel)[ii]->getFloat("RMIN1")*Gaudi::Units::cm,
+			      (*inel)[ii]->getFloat("RMAX1")*Gaudi::Units::cm,
 			      halflength,
-			      (*inel)[ii]->getFloat("RMIN2")*GeoModelKernelUnits::cm,
-			      (*inel)[ii]->getFloat("RMAX2")*GeoModelKernelUnits::cm); 
+			      (*inel)[ii]->getFloat("RMIN2")*Gaudi::Units::cm,
+			      (*inel)[ii]->getFloat("RMAX2")*Gaudi::Units::cm); 
     }
 
     const GeoLogVol* ServLog = new GeoLogVol(logName,serviceTube,cylMat);
     GeoVPhysVol* ServPhys = new GeoPhysVol(ServLog);
-    double zpos = ((*inel)[ii]->getFloat("ZMAX")+(*inel)[ii]->getFloat("ZMIN"))/2.*GeoModelKernelUnits::cm+epsilon;
+    double zpos = ((*inel)[ii]->getFloat("ZMAX")+(*inel)[ii]->getFloat("ZMIN"))/2.*Gaudi::Units::cm+epsilon;
     // place two
     GeoTrf::Translate3D servpos1(0.,0.,zpos);
     GeoTrf::Translate3D servpos2(0.,0.,-zpos);
@@ -257,7 +259,7 @@ const GeoShape* SCT_ServMatFactoryDC3::createShape(int volType,
 						double rmax2=0.) 
   
 {
-  const double epsilon = 0.001*GeoModelKernelUnits::mm;
+  const double epsilon = 0.001*Gaudi::Units::mm;
   enum VOLTYPE{Tube=1, Cone, ICone};
   const GeoShape* IDShape = 0;
   if(volType == Tube) {
diff --git a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SCT_ServMatFactoryFS.cxx b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SCT_ServMatFactoryFS.cxx
index a519849def8b..6645fab3a90b 100755
--- a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SCT_ServMatFactoryFS.cxx
+++ b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SCT_ServMatFactoryFS.cxx
@@ -31,6 +31,7 @@
 
 #include "GeoModelUtilities/DecodeVersionKey.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <sstream>
 #include <iostream>
@@ -74,11 +75,11 @@ void SCT_ServMatFactoryFS::create(GeoPhysVol *motherP,GeoPhysVol *motherM)
 
   //------------------------------------------
   //VK  10/09/2005 Construct a gap for rails
-  double outROfIDet =       (*atls)[0]->getDouble("IDETOR")*GeoModelKernelUnits::cm;
-  double endZOfIDet =       (*atls)[0]->getDouble("IDETZMX")*GeoModelKernelUnits::cm;
-  double minRofGap  =       1089.0*GeoModelKernelUnits::mm;
-  double phiWid=(70.*GeoModelKernelUnits::mm)/outROfIDet;   
-  double safetyGap=1.*GeoModelKernelUnits::mm;
+  double outROfIDet =       (*atls)[0]->getDouble("IDETOR")*Gaudi::Units::cm;
+  double endZOfIDet =       (*atls)[0]->getDouble("IDETZMX")*Gaudi::Units::cm;
+  double minRofGap  =       1089.0*Gaudi::Units::mm;
+  double phiWid=(70.*Gaudi::Units::mm)/outROfIDet;   
+  double safetyGap=1.*Gaudi::Units::mm;
   const GeoShape* railGap1=new GeoTubs( minRofGap, outROfIDet+safetyGap ,endZOfIDet+safetyGap , 
 					-phiWid/2.,phiWid);
   const GeoShape* railGap2=new GeoTubs( minRofGap, outROfIDet+safetyGap ,endZOfIDet+safetyGap ,
@@ -159,7 +160,7 @@ void SCT_ServMatFactoryFS::create(GeoPhysVol *motherP,GeoPhysVol *motherM)
 
 	// Shape 2. Cons component of the pcon
 	cons = new GeoCons(servicePcon->getRMinPlane(1),servicePcon->getRMinPlane(2),
-			   servicePcon->getRMaxPlane(1),servicePcon->getRMaxPlane(2)+1E-9*GeoModelKernelUnits::mm,
+			   servicePcon->getRMaxPlane(1),servicePcon->getRMaxPlane(2)+1E-9*Gaudi::Units::mm,
 			   (servicePcon->getZPlane(2)-servicePcon->getZPlane(1))*0.5,
 			   0,2*M_PI);
 
@@ -218,12 +219,12 @@ void SCT_ServMatFactoryFS::create(GeoPhysVol *motherP,GeoPhysVol *motherM)
 
     for (unsigned int ii =0; ii < sctsup->size(); ii++) {
       
-      RMinW        = (*sctsup)[ii]->getFloat("RMIN")*GeoModelKernelUnits::mm;
-      RMaxW        = (*sctsup)[ii]->getFloat("RMAX")*GeoModelKernelUnits::mm;
-      ZHalfLengthW = (*sctsup)[ii]->getFloat("THICK")/2.*GeoModelKernelUnits::mm;
-      WidI         = (*sctsup)[ii]->getFloat("WIDTHINNER")*GeoModelKernelUnits::mm;
-      WidO         = (*sctsup)[ii]->getFloat("WIDTHOUTER")*GeoModelKernelUnits::mm;
-      ZStartW      = (*sctsup)[ii]->getFloat("ZSTART")*GeoModelKernelUnits::mm;
+      RMinW        = (*sctsup)[ii]->getFloat("RMIN")*Gaudi::Units::mm;
+      RMaxW        = (*sctsup)[ii]->getFloat("RMAX")*Gaudi::Units::mm;
+      ZHalfLengthW = (*sctsup)[ii]->getFloat("THICK")/2.*Gaudi::Units::mm;
+      WidI         = (*sctsup)[ii]->getFloat("WIDTHINNER")*Gaudi::Units::mm;
+      WidO         = (*sctsup)[ii]->getFloat("WIDTHOUTER")*Gaudi::Units::mm;
+      ZStartW      = (*sctsup)[ii]->getFloat("ZSTART")*Gaudi::Units::mm;
       DPhi = asin(WidI/2./RMinW);
       
       const GeoShape* pTub1 = new GeoTubs(RMinW, RMaxW, ZHalfLengthW, 0.-DPhi, 2.*DPhi);  //Basic shape
diff --git a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SquirrelCageFactory.cxx b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SquirrelCageFactory.cxx
index 291fc8bde535..5e82ef6e382f 100755
--- a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SquirrelCageFactory.cxx
+++ b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SquirrelCageFactory.cxx
@@ -23,6 +23,7 @@
 #include "RDBAccessSvc/IRDBQuery.h"
 #include "GeoModelInterfaces/IGeoDbTagSvc.h"
 #include "GeoModelUtilities/DecodeVersionKey.h"
+#include "GaudiKernel/PhysicalConstants.h"
 
 #include <iostream>
 
@@ -70,37 +71,37 @@ void SquirrelCageFactory::create(GeoPhysVol *mother)
 //     Squirrel cage rings
 //  Default (initial) ring parameters
 //
-//     double rminInt    = 1074.0*GeoModelKernelUnits::mm;
-//     double ringThick  = 4.0*GeoModelKernelUnits::mm;
-//     double ringGap    = 20.*GeoModelKernelUnits::mm;
-//     double ringWid    = 40.*GeoModelKernelUnits::mm;
+//     double rminInt    = 1074.0*Gaudi::Units::mm;
+//     double ringThick  = 4.0*Gaudi::Units::mm;
+//     double ringGap    = 20.*Gaudi::Units::mm;
+//     double ringWid    = 40.*Gaudi::Units::mm;
 //
-    double rminInt    = (*cage)[0]->getDouble("RINGRMIN")*GeoModelKernelUnits::mm;
-    double ringThick  = (*cage)[0]->getDouble("RINGTHICK")*GeoModelKernelUnits::mm;
-    double ringGap    = (*cage)[0]->getDouble("RINGGAP")*GeoModelKernelUnits::mm;
-    double ringWid    = (*cage)[0]->getDouble("RINGWIDTH")*GeoModelKernelUnits::mm;
+    double rminInt    = (*cage)[0]->getDouble("RINGRMIN")*Gaudi::Units::mm;
+    double ringThick  = (*cage)[0]->getDouble("RINGTHICK")*Gaudi::Units::mm;
+    double ringGap    = (*cage)[0]->getDouble("RINGGAP")*Gaudi::Units::mm;
+    double ringWid    = (*cage)[0]->getDouble("RINGWIDTH")*Gaudi::Units::mm;
 //
 //--- Default (initial) z positions
-//     double zposFirstRing  = 805.0*GeoModelKernelUnits::mm+161.0*GeoModelKernelUnits::mm;
-//     double zposGap1  = 390.*GeoModelKernelUnits::mm;
-//     double zposGap2  = 402.*GeoModelKernelUnits::mm;
-//     double zposGap3  = 446.*GeoModelKernelUnits::mm;
-//     double zposGap4  = 331.*GeoModelKernelUnits::mm;
+//     double zposFirstRing  = 805.0*Gaudi::Units::mm+161.0*Gaudi::Units::mm;
+//     double zposGap1  = 390.*Gaudi::Units::mm;
+//     double zposGap2  = 402.*Gaudi::Units::mm;
+//     double zposGap3  = 446.*Gaudi::Units::mm;
+//     double zposGap4  = 331.*Gaudi::Units::mm;
 //
-    double zposFirstRing  = (*cage)[0]->getDouble("ZBASE")*GeoModelKernelUnits::mm;
-    double zposGap1  = (*cage)[0]->getDouble("ZGAP1")*GeoModelKernelUnits::mm;
-    double zposGap2  = (*cage)[0]->getDouble("ZGAP2")*GeoModelKernelUnits::mm;
-    double zposGap3  = (*cage)[0]->getDouble("ZGAP3")*GeoModelKernelUnits::mm;
-    double zposGap4  = (*cage)[0]->getDouble("ZGAP4")*GeoModelKernelUnits::mm;
+    double zposFirstRing  = (*cage)[0]->getDouble("ZBASE")*Gaudi::Units::mm;
+    double zposGap1  = (*cage)[0]->getDouble("ZGAP1")*Gaudi::Units::mm;
+    double zposGap2  = (*cage)[0]->getDouble("ZGAP2")*Gaudi::Units::mm;
+    double zposGap3  = (*cage)[0]->getDouble("ZGAP3")*Gaudi::Units::mm;
+    double zposGap4  = (*cage)[0]->getDouble("ZGAP4")*Gaudi::Units::mm;
 //
 // Now support ring
-//     double rminSup    = 830.0*GeoModelKernelUnits::mm;
-//     double supThick   = 90.0*GeoModelKernelUnits::mm;
-//     double supWid     = 12.0*GeoModelKernelUnits::mm;
+//     double rminSup    = 830.0*Gaudi::Units::mm;
+//     double supThick   = 90.0*Gaudi::Units::mm;
+//     double supWid     = 12.0*Gaudi::Units::mm;
 //
-    double rminSup    = (*cage)[0]->getDouble("SUPRMIN")*GeoModelKernelUnits::mm;
-    double supThick   = (*cage)[0]->getDouble("SUPTHICK")*GeoModelKernelUnits::mm;
-    double supWid     = (*cage)[0]->getDouble("SUPWIDTH")*GeoModelKernelUnits::mm;
+    double rminSup    = (*cage)[0]->getDouble("SUPRMIN")*Gaudi::Units::mm;
+    double supThick   = (*cage)[0]->getDouble("SUPTHICK")*Gaudi::Units::mm;
+    double supWid     = (*cage)[0]->getDouble("SUPWIDTH")*Gaudi::Units::mm;
 //
     double zposSupRing  = zposFirstRing+ringWid*5. + zposGap1 + zposGap2 + zposGap3 + zposGap4;
 
@@ -196,14 +197,14 @@ void SquirrelCageFactory::create(GeoPhysVol *mother)
 //Inner 
    
     double phiICRT = asin((yWidthUSP1/2. + yWidthUSP2 + coordY) / rminInt);
-    double DphiICRT = GeoModelKernelUnits::pi - 2*phiICRT;
+    double DphiICRT = Gaudi::Units::pi - 2*phiICRT;
  
     double phiICRB = asin((yWidthUSP1/2. + yWidthUSP2 - coordY) / rminInt);
-    double DphiICRB = GeoModelKernelUnits::pi - 2*phiICRB;
+    double DphiICRB = Gaudi::Units::pi - 2*phiICRB;
 
     GeoTubs* ICRT = new GeoTubs(rminInt, rminInt + ringThick, ringWid/2., phiICRT, DphiICRT);
   
-    GeoTubs* ICRB = new GeoTubs(rminInt, rminInt + ringThick, ringWid/2., GeoModelKernelUnits::pi + phiICRB, DphiICRB);
+    GeoTubs* ICRB = new GeoTubs(rminInt, rminInt + ringThick, ringWid/2., Gaudi::Units::pi + phiICRB, DphiICRB);
 
 
     const GeoLogVol* ICRTLog = new GeoLogVol("SQringIntTop", ICRT, ringMat);
@@ -215,10 +216,10 @@ void SquirrelCageFactory::create(GeoPhysVol *mother)
 //Outer
   
     double phiECRT = asin((yWidthUSP1/2. + yWidthUSP2 + coordY) / (rminInt+ringGap+ringThick));
-    double DphiECRT = GeoModelKernelUnits::pi - 2*phiECRT;
+    double DphiECRT = Gaudi::Units::pi - 2*phiECRT;
 
     double phiECRB = asin((yWidthUSP1/2. + yWidthUSP2 - coordY) / (rminInt+ringGap+ringThick));
-    double DphiECRB = GeoModelKernelUnits::pi - 2*phiECRB;
+    double DphiECRB = Gaudi::Units::pi - 2*phiECRB;
 
 //     std::cerr << "phiET: " << phiECRT << ", DphiET: " << DphiECRT << std::endl;
 //     std::cerr << "phiIT: " << phiICRT << ", DphiIT: " << DphiICRT << std::endl;
@@ -226,7 +227,7 @@ void SquirrelCageFactory::create(GeoPhysVol *mother)
 //     std::cerr << "phiIB: " << phiICRB << ", DphiIB: " << DphiICRB << std::endl;
 
     GeoTubs* ECRT = new GeoTubs(rminInt+ringGap+ringThick, rminInt+2.*ringThick+ringGap, ringWid/2., phiECRT, DphiECRT);
-    GeoTubs* ECRB = new GeoTubs(rminInt+ringGap+ringThick, rminInt+2.*ringThick+ringGap, ringWid/2., GeoModelKernelUnits::pi + phiECRB, DphiECRB);
+    GeoTubs* ECRB = new GeoTubs(rminInt+ringGap+ringThick, rminInt+2.*ringThick+ringGap, ringWid/2., Gaudi::Units::pi + phiECRB, DphiECRB);
 
     const GeoLogVol* ECRTLog = new GeoLogVol("SQringExtTop", ECRT, ringMat);
     GeoVPhysVol* ECRTPhys = new GeoPhysVol(ECRTLog);
@@ -366,46 +367,46 @@ void SquirrelCageFactory::create(GeoPhysVol *mother)
 //     Squirrel cage rings
 //  Default (initial) ring parameters
 //
-    double rminInt    = 1074.0*GeoModelKernelUnits::mm;
-    double ringThick  = 4.0*GeoModelKernelUnits::mm;
-    double ringGap    = 20.*GeoModelKernelUnits::mm;
-    double ringWid    = 40.*GeoModelKernelUnits::mm;
+    double rminInt    = 1074.0*Gaudi::Units::mm;
+    double ringThick  = 4.0*Gaudi::Units::mm;
+    double ringGap    = 20.*Gaudi::Units::mm;
+    double ringWid    = 40.*Gaudi::Units::mm;
 //
-    rminInt    = (*cage)[0]->getDouble("RINGRMIN")*GeoModelKernelUnits::mm;
-    ringThick  = (*cage)[0]->getDouble("RINGTHICK")*GeoModelKernelUnits::mm;
-    ringGap    = (*cage)[0]->getDouble("RINGGAP")*GeoModelKernelUnits::mm;
-    ringWid    = (*cage)[0]->getDouble("RINGWIDTH")*GeoModelKernelUnits::mm;
+    rminInt    = (*cage)[0]->getDouble("RINGRMIN")*Gaudi::Units::mm;
+    ringThick  = (*cage)[0]->getDouble("RINGTHICK")*Gaudi::Units::mm;
+    ringGap    = (*cage)[0]->getDouble("RINGGAP")*Gaudi::Units::mm;
+    ringWid    = (*cage)[0]->getDouble("RINGWIDTH")*Gaudi::Units::mm;
 //
 //--- Default (initial) z positions
-    double zposFirstRing  = 805.0*GeoModelKernelUnits::mm+161.0*GeoModelKernelUnits::mm;
-    double zposGap1  = 390.*GeoModelKernelUnits::mm;
-    double zposGap2  = 402.*GeoModelKernelUnits::mm;
-    double zposGap3  = 446.*GeoModelKernelUnits::mm;
-    double zposGap4  = 331.*GeoModelKernelUnits::mm;
+    double zposFirstRing  = 805.0*Gaudi::Units::mm+161.0*Gaudi::Units::mm;
+    double zposGap1  = 390.*Gaudi::Units::mm;
+    double zposGap2  = 402.*Gaudi::Units::mm;
+    double zposGap3  = 446.*Gaudi::Units::mm;
+    double zposGap4  = 331.*Gaudi::Units::mm;
 //
-    zposFirstRing  = (*cage)[0]->getDouble("ZBASE")*GeoModelKernelUnits::mm;
-    zposGap1  = (*cage)[0]->getDouble("ZGAP1")*GeoModelKernelUnits::mm;
-    zposGap2  = (*cage)[0]->getDouble("ZGAP2")*GeoModelKernelUnits::mm;
-    zposGap3  = (*cage)[0]->getDouble("ZGAP3")*GeoModelKernelUnits::mm;
-    zposGap4  = (*cage)[0]->getDouble("ZGAP4")*GeoModelKernelUnits::mm;
+    zposFirstRing  = (*cage)[0]->getDouble("ZBASE")*Gaudi::Units::mm;
+    zposGap1  = (*cage)[0]->getDouble("ZGAP1")*Gaudi::Units::mm;
+    zposGap2  = (*cage)[0]->getDouble("ZGAP2")*Gaudi::Units::mm;
+    zposGap3  = (*cage)[0]->getDouble("ZGAP3")*Gaudi::Units::mm;
+    zposGap4  = (*cage)[0]->getDouble("ZGAP4")*Gaudi::Units::mm;
 //
 // Now support ring
-    double rminSup    = 830.0*GeoModelKernelUnits::mm;
-    double supThick   = 90.0*GeoModelKernelUnits::mm;
-    double supWid     = 12.0*GeoModelKernelUnits::mm;
+    double rminSup    = 830.0*Gaudi::Units::mm;
+    double supThick   = 90.0*Gaudi::Units::mm;
+    double supWid     = 12.0*Gaudi::Units::mm;
 //
-    rminSup    = (*cage)[0]->getDouble("SUPRMIN")*GeoModelKernelUnits::mm;
-    supThick   = (*cage)[0]->getDouble("SUPTHICK")*GeoModelKernelUnits::mm;
-    supWid     = (*cage)[0]->getDouble("SUPWIDTH")*GeoModelKernelUnits::mm;
+    rminSup    = (*cage)[0]->getDouble("SUPRMIN")*Gaudi::Units::mm;
+    supThick   = (*cage)[0]->getDouble("SUPTHICK")*Gaudi::Units::mm;
+    supWid     = (*cage)[0]->getDouble("SUPWIDTH")*Gaudi::Units::mm;
 //
     double zposSupRing  = zposFirstRing+ringWid*5. + zposGap1 + zposGap2 + zposGap3 + zposGap4;
 //
 // Now support ribbon
-    double ribWid     = 68.0*GeoModelKernelUnits::mm ;
-    ribWid = (*cage)[0]->getDouble("RIBWIDTH")*GeoModelKernelUnits::mm;
+    double ribWid     = 68.0*Gaudi::Units::mm ;
+    ribWid = (*cage)[0]->getDouble("RIBWIDTH")*Gaudi::Units::mm;
     double ribLeng    = ringWid*5. + zposGap1 + zposGap2 + zposGap3 + zposGap4;
     double ribThick = 0; 
-    if (sqversion >= 3) ribThick = (*cage)[0]->getDouble("RIBTHICK")*GeoModelKernelUnits::mm;
+    if (sqversion >= 3) ribThick = (*cage)[0]->getDouble("RIBTHICK")*Gaudi::Units::mm;
     double safety =0.01;
     double ribThickMax = ringGap - 2*safety;
     if (ribThick == 0 || ribThick > ribThickMax) {
diff --git a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SquirrelCageFactoryFS.cxx b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SquirrelCageFactoryFS.cxx
index 5983eed14c92..823f69cd0762 100755
--- a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SquirrelCageFactoryFS.cxx
+++ b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SquirrelCageFactoryFS.cxx
@@ -23,7 +23,7 @@
 #include "RDBAccessSvc/IRDBAccessSvc.h"
 #include "GeoModelUtilities/DecodeVersionKey.h"
 #include "GaudiKernel/Bootstrap.h"
-
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <iostream>
 
@@ -74,46 +74,46 @@ void SquirrelCageFactoryFS::create(GeoPhysVol *motherP, GeoPhysVol *motherM)
 //     Squirrel cage rings
 //  Default (initial) ring parameters
 //
-    double rminInt    = 1074.0*GeoModelKernelUnits::mm;
-    double ringThick  = 4.0*GeoModelKernelUnits::mm;
-    double ringGap    = 20.*GeoModelKernelUnits::mm;
-    double ringWid    = 40.*GeoModelKernelUnits::mm;
+    double rminInt    = 1074.0*Gaudi::Units::mm;
+    double ringThick  = 4.0*Gaudi::Units::mm;
+    double ringGap    = 20.*Gaudi::Units::mm;
+    double ringWid    = 40.*Gaudi::Units::mm;
 //
-    rminInt    = (*cage)[0]->getDouble("RINGRMIN")*GeoModelKernelUnits::mm;
-    ringThick  = (*cage)[0]->getDouble("RINGTHICK")*GeoModelKernelUnits::mm;
-    ringGap    = (*cage)[0]->getDouble("RINGGAP")*GeoModelKernelUnits::mm;
-    ringWid    = (*cage)[0]->getDouble("RINGWIDTH")*GeoModelKernelUnits::mm;
+    rminInt    = (*cage)[0]->getDouble("RINGRMIN")*Gaudi::Units::mm;
+    ringThick  = (*cage)[0]->getDouble("RINGTHICK")*Gaudi::Units::mm;
+    ringGap    = (*cage)[0]->getDouble("RINGGAP")*Gaudi::Units::mm;
+    ringWid    = (*cage)[0]->getDouble("RINGWIDTH")*Gaudi::Units::mm;
 //
 //--- Default (initial) z positions
-    double zposFirstRing  = 805.0*GeoModelKernelUnits::mm+161.0*GeoModelKernelUnits::mm;
-    double zposGap1  = 390.*GeoModelKernelUnits::mm;
-    double zposGap2  = 402.*GeoModelKernelUnits::mm;
-    double zposGap3  = 446.*GeoModelKernelUnits::mm;
-    double zposGap4  = 331.*GeoModelKernelUnits::mm;
+    double zposFirstRing  = 805.0*Gaudi::Units::mm+161.0*Gaudi::Units::mm;
+    double zposGap1  = 390.*Gaudi::Units::mm;
+    double zposGap2  = 402.*Gaudi::Units::mm;
+    double zposGap3  = 446.*Gaudi::Units::mm;
+    double zposGap4  = 331.*Gaudi::Units::mm;
 //
-    zposFirstRing  = (*cage)[0]->getDouble("ZBASE")*GeoModelKernelUnits::mm;
-    zposGap1  = (*cage)[0]->getDouble("ZGAP1")*GeoModelKernelUnits::mm;
-    zposGap2  = (*cage)[0]->getDouble("ZGAP2")*GeoModelKernelUnits::mm;
-    zposGap3  = (*cage)[0]->getDouble("ZGAP3")*GeoModelKernelUnits::mm;
-    zposGap4  = (*cage)[0]->getDouble("ZGAP4")*GeoModelKernelUnits::mm;
+    zposFirstRing  = (*cage)[0]->getDouble("ZBASE")*Gaudi::Units::mm;
+    zposGap1  = (*cage)[0]->getDouble("ZGAP1")*Gaudi::Units::mm;
+    zposGap2  = (*cage)[0]->getDouble("ZGAP2")*Gaudi::Units::mm;
+    zposGap3  = (*cage)[0]->getDouble("ZGAP3")*Gaudi::Units::mm;
+    zposGap4  = (*cage)[0]->getDouble("ZGAP4")*Gaudi::Units::mm;
 //
 // Now support ring
-    double rminSup    = 830.0*GeoModelKernelUnits::mm;
-    double supThick   = 90.0*GeoModelKernelUnits::mm;
-    double supWid     = 12.0*GeoModelKernelUnits::mm;
+    double rminSup    = 830.0*Gaudi::Units::mm;
+    double supThick   = 90.0*Gaudi::Units::mm;
+    double supWid     = 12.0*Gaudi::Units::mm;
 //
-    rminSup    = (*cage)[0]->getDouble("SUPRMIN")*GeoModelKernelUnits::mm;
-    supThick   = (*cage)[0]->getDouble("SUPTHICK")*GeoModelKernelUnits::mm;
-    supWid     = (*cage)[0]->getDouble("SUPWIDTH")*GeoModelKernelUnits::mm;
+    rminSup    = (*cage)[0]->getDouble("SUPRMIN")*Gaudi::Units::mm;
+    supThick   = (*cage)[0]->getDouble("SUPTHICK")*Gaudi::Units::mm;
+    supWid     = (*cage)[0]->getDouble("SUPWIDTH")*Gaudi::Units::mm;
 //
     double zposSupRing  = zposFirstRing+ringWid*5. + zposGap1 + zposGap2 + zposGap3 + zposGap4;
 //
 // Now support ribbon
-    double ribWid     = 68.0*GeoModelKernelUnits::mm ;
-    ribWid = (*cage)[0]->getDouble("RIBWIDTH")*GeoModelKernelUnits::mm;
+    double ribWid     = 68.0*Gaudi::Units::mm ;
+    ribWid = (*cage)[0]->getDouble("RIBWIDTH")*Gaudi::Units::mm;
     double ribLeng    = ringWid*5. + zposGap1 + zposGap2 + zposGap3 + zposGap4;
     double ribThick = 0; 
-    if (sqversion >= 3) ribThick = (*cage)[0]->getDouble("RIBTHICK")*GeoModelKernelUnits::mm;
+    if (sqversion >= 3) ribThick = (*cage)[0]->getDouble("RIBTHICK")*Gaudi::Units::mm;
     double safety =0.01;
     double ribThickMax = ringGap - 2*safety;
     if (ribThick == 0 || ribThick > ribThickMax) {
diff --git a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SupportRailFactory.cxx b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SupportRailFactory.cxx
index f6ca11d8b999..1d4404b39b6e 100755
--- a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SupportRailFactory.cxx
+++ b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SupportRailFactory.cxx
@@ -24,6 +24,7 @@
 #include "RDBAccessSvc/IRDBQuery.h"
 #include "GeoModelInterfaces/IGeoDbTagSvc.h"
 #include "GeoModelUtilities/DecodeVersionKey.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <iostream>
 #include <math.h>
@@ -68,18 +69,18 @@ void SupportRailFactory::create(GeoPhysVol *mother)
 //
 // Default(initial) values
 //    
-    double RMAX_ID      = 1150.0*GeoModelKernelUnits::mm -1.0*GeoModelKernelUnits::mm;   //Some safety margin
-    double railLengthB  = 1600.0*GeoModelKernelUnits::mm;
-    double railWidthB   = 5.5*GeoModelKernelUnits::mm;
-    double railThickB   = 34.7*GeoModelKernelUnits::mm;
+    double RMAX_ID      = 1150.0*Gaudi::Units::mm -1.0*Gaudi::Units::mm;   //Some safety margin
+    double railLengthB  = 1600.0*Gaudi::Units::mm;
+    double railWidthB   = 5.5*Gaudi::Units::mm;
+    double railThickB   = 34.7*Gaudi::Units::mm;
 //
-    double railLengthE  = 2600.0*GeoModelKernelUnits::mm;
-//    double railWidthE   = 14.*GeoModelKernelUnits::mm;
-//    double railThickE   = 14.7*GeoModelKernelUnits::mm;
+    double railLengthE  = 2600.0*Gaudi::Units::mm;
+//    double railWidthE   = 14.*Gaudi::Units::mm;
+//    double railThickE   = 14.7*Gaudi::Units::mm;
 //
-    double suppLength   = 6800.0*GeoModelKernelUnits::mm;
-    double suppWidth    = 54.*GeoModelKernelUnits::mm;
-//    double suppThick    = 22.6*GeoModelKernelUnits::mm;
+    double suppLength   = 6800.0*Gaudi::Units::mm;
+    double suppWidth    = 54.*Gaudi::Units::mm;
+//    double suppThick    = 22.6*Gaudi::Units::mm;
 //
 //   Database 
 //
@@ -95,7 +96,7 @@ void SupportRailFactory::create(GeoPhysVol *mother)
     const GeoMaterial*  alum  = materialManager()->getMaterial((*railrec)[0]->getString("MATSUP"));
     
 //Radius of Squirrel cage
-    double rminInt = (*cage)[0]->getDouble("RINGRMIN")*GeoModelKernelUnits::mm;
+    double rminInt = (*cage)[0]->getDouble("RINGRMIN")*Gaudi::Units::mm;
 //Thick of U Shape Support
     std::unique_ptr<IRDBQuery> queryUSP = rdbAccessSvc()->getQuery("IDDetRailUSP",indetVersionKey.tag(), indetVersionKey.node());
     if(!queryUSP)
@@ -112,21 +113,21 @@ void SupportRailFactory::create(GeoPhysVol *mother)
 
     double epsilon = 0.01;  // +Some safety margin
  
-     RMAX_ID = (*atls)[0]->getDouble("IDETOR")*GeoModelKernelUnits::cm;  
-     //railLengthB = (*railrec)[0]->getDouble("LENGTHB")*GeoModelKernelUnits::mm; At database there is 34.7 but it could cause crash.
+     RMAX_ID = (*atls)[0]->getDouble("IDETOR")*Gaudi::Units::cm;  
+     //railLengthB = (*railrec)[0]->getDouble("LENGTHB")*Gaudi::Units::mm; At database there is 34.7 but it could cause crash.
 
-     railWidthB  = (*railrec)[0]->getDouble("WIDTHB")*GeoModelKernelUnits::mm;
-     railThickB  = (*railrec)[0]->getDouble("THICKB")*GeoModelKernelUnits::mm;
+     railWidthB  = (*railrec)[0]->getDouble("WIDTHB")*Gaudi::Units::mm;
+     railThickB  = (*railrec)[0]->getDouble("THICKB")*Gaudi::Units::mm;
   //------------ Limited by EP ExternalShell
-     railLengthE = (*endplate)[0]->getDouble("ZSTART")*GeoModelKernelUnits::mm  
-                  +(*endplate)[0]->getDouble("ZSHIFT")*GeoModelKernelUnits::mm
-                  +(*endplate)[0]->getDouble("ZGAP")*GeoModelKernelUnits::mm   - railLengthB/2.;
-//     railWidthE  = (*railrec)[0]->getDouble("WIDTHE")*GeoModelKernelUnits::mm;
-//     railThickE  = (*railrec)[0]->getDouble("THICKE")*GeoModelKernelUnits::mm;
+     railLengthE = (*endplate)[0]->getDouble("ZSTART")*Gaudi::Units::mm  
+                  +(*endplate)[0]->getDouble("ZSHIFT")*Gaudi::Units::mm
+                  +(*endplate)[0]->getDouble("ZGAP")*Gaudi::Units::mm   - railLengthB/2.;
+//     railWidthE  = (*railrec)[0]->getDouble("WIDTHE")*Gaudi::Units::mm;
+//     railThickE  = (*railrec)[0]->getDouble("THICKE")*Gaudi::Units::mm;
  
      suppLength = railLengthB + 2.*railLengthE;
-     suppWidth  = (*railrec)[0]->getDouble("WIDTHSUP")*GeoModelKernelUnits::mm;
-//     suppThick  = (*railrec)[0]->getDouble("THICKSUP")*GeoModelKernelUnits::mm;
+     suppWidth  = (*railrec)[0]->getDouble("WIDTHSUP")*Gaudi::Units::mm;
+//     suppThick  = (*railrec)[0]->getDouble("THICKSUP")*Gaudi::Units::mm;
 
      double zLengthB   =  (*idSupportRails)[0]->getDouble("ZLENGTH");
      double yWidthB    =  (*idSupportRails)[0]->getDouble("YWIDTH");
@@ -579,18 +580,18 @@ void SupportRailFactory::create(GeoPhysVol *mother)
 //
 // Default(initial) values
 //    
-    double RMAX_ID      = 1150.0*GeoModelKernelUnits::mm -1.0*GeoModelKernelUnits::mm;   //Some safety margin
-    double railLengthB  = 1600.0*GeoModelKernelUnits::mm;
-    double railWidthB   = 5.5*GeoModelKernelUnits::mm;
-    double railThickB   = 34.7*GeoModelKernelUnits::mm;
+    double RMAX_ID      = 1150.0*Gaudi::Units::mm -1.0*Gaudi::Units::mm;   //Some safety margin
+    double railLengthB  = 1600.0*Gaudi::Units::mm;
+    double railWidthB   = 5.5*Gaudi::Units::mm;
+    double railThickB   = 34.7*Gaudi::Units::mm;
 //
-    double railLengthE  = 2600.0*GeoModelKernelUnits::mm;
-    double railWidthE   = 14.*GeoModelKernelUnits::mm;
-    double railThickE   = 14.7*GeoModelKernelUnits::mm;
+    double railLengthE  = 2600.0*Gaudi::Units::mm;
+    double railWidthE   = 14.*Gaudi::Units::mm;
+    double railThickE   = 14.7*Gaudi::Units::mm;
 //
-    double suppLength   = 6800.0*GeoModelKernelUnits::mm;
-    double suppWidth    = 54.*GeoModelKernelUnits::mm;
-    double suppThick    = 22.6*GeoModelKernelUnits::mm;
+    double suppLength   = 6800.0*Gaudi::Units::mm;
+    double suppWidth    = 54.*Gaudi::Units::mm;
+    double suppThick    = 22.6*Gaudi::Units::mm;
 //
 //   Database 
 //
@@ -613,20 +614,20 @@ void SupportRailFactory::create(GeoPhysVol *mother)
     
     double epsilon = 0.01;  // +Some safety margin
  
-     RMAX_ID = (*atls)[0]->getDouble("IDETOR")*GeoModelKernelUnits::cm;  
-     railLengthB = (*railrec)[0]->getDouble("LENGTHB")*GeoModelKernelUnits::mm;
-     railWidthB  = (*railrec)[0]->getDouble("WIDTHB")*GeoModelKernelUnits::mm;
-     railThickB  = (*railrec)[0]->getDouble("THICKB")*GeoModelKernelUnits::mm;
+     RMAX_ID = (*atls)[0]->getDouble("IDETOR")*Gaudi::Units::cm;  
+     railLengthB = (*railrec)[0]->getDouble("LENGTHB")*Gaudi::Units::mm;
+     railWidthB  = (*railrec)[0]->getDouble("WIDTHB")*Gaudi::Units::mm;
+     railThickB  = (*railrec)[0]->getDouble("THICKB")*Gaudi::Units::mm;
   //------------ Limited by EP ExternalShell
-     railLengthE = (*endplate)[0]->getDouble("ZSTART")*GeoModelKernelUnits::mm  
-                  +(*endplate)[0]->getDouble("ZSHIFT")*GeoModelKernelUnits::mm
-                  +(*endplate)[0]->getDouble("ZGAP")*GeoModelKernelUnits::mm   - railLengthB/2.;
-     railWidthE  = (*railrec)[0]->getDouble("WIDTHE")*GeoModelKernelUnits::mm;
-     railThickE  = (*railrec)[0]->getDouble("THICKE")*GeoModelKernelUnits::mm;
+     railLengthE = (*endplate)[0]->getDouble("ZSTART")*Gaudi::Units::mm  
+                  +(*endplate)[0]->getDouble("ZSHIFT")*Gaudi::Units::mm
+                  +(*endplate)[0]->getDouble("ZGAP")*Gaudi::Units::mm   - railLengthB/2.;
+     railWidthE  = (*railrec)[0]->getDouble("WIDTHE")*Gaudi::Units::mm;
+     railThickE  = (*railrec)[0]->getDouble("THICKE")*Gaudi::Units::mm;
  
      suppLength = railLengthB + 2.*railLengthE;
-     suppWidth  = (*railrec)[0]->getDouble("WIDTHSUP")*GeoModelKernelUnits::mm;
-     suppThick  = (*railrec)[0]->getDouble("THICKSUP")*GeoModelKernelUnits::mm;
+     suppWidth  = (*railrec)[0]->getDouble("WIDTHSUP")*Gaudi::Units::mm;
+     suppThick  = (*railrec)[0]->getDouble("THICKSUP")*Gaudi::Units::mm;
 //
 // To avoid rail corner outside ID envelope
      RMAX_ID = sqrt(RMAX_ID*RMAX_ID-suppWidth*suppWidth/4.)-epsilon;  
diff --git a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SupportRailFactoryFS.cxx b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SupportRailFactoryFS.cxx
index 2b51616c3c2a..7011b20cb556 100755
--- a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SupportRailFactoryFS.cxx
+++ b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SupportRailFactoryFS.cxx
@@ -24,7 +24,7 @@
 #include "RDBAccessSvc/IRDBAccessSvc.h"
 #include "GeoModelUtilities/DecodeVersionKey.h"
 #include "GaudiKernel/Bootstrap.h"
-
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <iostream>
 #include <math.h>
@@ -72,18 +72,18 @@ void SupportRailFactoryFS::create(GeoPhysVol *motherP,GeoPhysVol *motherM)
 //
 // Default(initial) values
 //    
-    double RMAX_ID      = 1150.0*GeoModelKernelUnits::mm -1.0*GeoModelKernelUnits::mm;   //Some safety margin
-    double railLengthB  = 1600.0*GeoModelKernelUnits::mm;
-    double railWidthB   = 5.5*GeoModelKernelUnits::mm;
-    double railThickB   = 34.7*GeoModelKernelUnits::mm;
+    double RMAX_ID      = 1150.0*Gaudi::Units::mm -1.0*Gaudi::Units::mm;   //Some safety margin
+    double railLengthB  = 1600.0*Gaudi::Units::mm;
+    double railWidthB   = 5.5*Gaudi::Units::mm;
+    double railThickB   = 34.7*Gaudi::Units::mm;
 //
-    double railLengthE  = 2600.0*GeoModelKernelUnits::mm;
-    double railWidthE   = 14.*GeoModelKernelUnits::mm;
-    double railThickE   = 14.7*GeoModelKernelUnits::mm;
+    double railLengthE  = 2600.0*Gaudi::Units::mm;
+    double railWidthE   = 14.*Gaudi::Units::mm;
+    double railThickE   = 14.7*Gaudi::Units::mm;
 //
-    double suppLength   = 6800.0*GeoModelKernelUnits::mm;
-    double suppWidth    = 54.*GeoModelKernelUnits::mm;
-    double suppThick    = 22.6*GeoModelKernelUnits::mm;
+    double suppLength   = 6800.0*Gaudi::Units::mm;
+    double suppWidth    = 54.*Gaudi::Units::mm;
+    double suppThick    = 22.6*Gaudi::Units::mm;
 //
 //   Database 
 //
@@ -106,20 +106,20 @@ void SupportRailFactoryFS::create(GeoPhysVol *motherP,GeoPhysVol *motherM)
     
     double epsilon = 0.01;  // +Some safety margin
  
-     RMAX_ID = (*atls)[0]->getDouble("IDETOR")*GeoModelKernelUnits::cm;  
-     railLengthB = (*railrec)[0]->getDouble("LENGTHB")*GeoModelKernelUnits::mm;
-     railWidthB  = (*railrec)[0]->getDouble("WIDTHB")*GeoModelKernelUnits::mm;
-     railThickB  = (*railrec)[0]->getDouble("THICKB")*GeoModelKernelUnits::mm;
+     RMAX_ID = (*atls)[0]->getDouble("IDETOR")*Gaudi::Units::cm;  
+     railLengthB = (*railrec)[0]->getDouble("LENGTHB")*Gaudi::Units::mm;
+     railWidthB  = (*railrec)[0]->getDouble("WIDTHB")*Gaudi::Units::mm;
+     railThickB  = (*railrec)[0]->getDouble("THICKB")*Gaudi::Units::mm;
   //------------ Limited by EP ExternalShell
-     railLengthE = (*endplate)[0]->getDouble("ZSTART")*GeoModelKernelUnits::mm  
-                  +(*endplate)[0]->getDouble("ZSHIFT")*GeoModelKernelUnits::mm
-                  +(*endplate)[0]->getDouble("ZGAP")*GeoModelKernelUnits::mm   - railLengthB*0.5;
-     railWidthE  = (*railrec)[0]->getDouble("WIDTHE")*GeoModelKernelUnits::mm;
-     railThickE  = (*railrec)[0]->getDouble("THICKE")*GeoModelKernelUnits::mm;
+     railLengthE = (*endplate)[0]->getDouble("ZSTART")*Gaudi::Units::mm  
+                  +(*endplate)[0]->getDouble("ZSHIFT")*Gaudi::Units::mm
+                  +(*endplate)[0]->getDouble("ZGAP")*Gaudi::Units::mm   - railLengthB*0.5;
+     railWidthE  = (*railrec)[0]->getDouble("WIDTHE")*Gaudi::Units::mm;
+     railThickE  = (*railrec)[0]->getDouble("THICKE")*Gaudi::Units::mm;
  
      suppLength = railLengthB + 2.*railLengthE;
-     suppWidth  = (*railrec)[0]->getDouble("WIDTHSUP")*GeoModelKernelUnits::mm;
-     suppThick  = (*railrec)[0]->getDouble("THICKSUP")*GeoModelKernelUnits::mm;
+     suppWidth  = (*railrec)[0]->getDouble("WIDTHSUP")*Gaudi::Units::mm;
+     suppThick  = (*railrec)[0]->getDouble("THICKSUP")*Gaudi::Units::mm;
 //
 // To avoid rail corner outside ID envelope
      RMAX_ID = sqrt(RMAX_ID*RMAX_ID-suppWidth*suppWidth/4.)-epsilon;  
diff --git a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/TRT_ServMatFactory.cxx b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/TRT_ServMatFactory.cxx
index f4738c0bd9b9..bd3fcd6a4efc 100755
--- a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/TRT_ServMatFactory.cxx
+++ b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/TRT_ServMatFactory.cxx
@@ -26,8 +26,7 @@
 #include "RDBAccessSvc/IRDBAccessSvc.h"
 #include "GeoModelInterfaces/IGeoDbTagSvc.h"
 #include "GeoModelUtilities/DecodeVersionKey.h"
-
-
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <sstream>
 #include <iostream>
@@ -79,11 +78,11 @@ void TRT_ServMatFactory::create(GeoPhysVol *mother)
   m_materialManager->addScalingTable(scalingTable);
 
   //VK  10/09/2005 Construct a gap for rails
-  double outROfIDet =       (*atls)[0]->getDouble("IDETOR")*GeoModelKernelUnits::cm;
-  double endZOfIDet =       (*atls)[0]->getDouble("IDETZMX")*GeoModelKernelUnits::cm;
+  double outROfIDet =       (*atls)[0]->getDouble("IDETOR")*Gaudi::Units::cm;
+  double endZOfIDet =       (*atls)[0]->getDouble("IDETZMX")*Gaudi::Units::cm;
 
 //VK 26.03.2007  Construct a gap for SquirrelCage ribbon
-  double  rminInt    = (*cage)[0]->getDouble("RINGRMIN")*GeoModelKernelUnits::mm;
+  double  rminInt    = (*cage)[0]->getDouble("RINGRMIN")*Gaudi::Units::mm;
 
 //created by Adam Agocs 
   IRDBRecordset_ptr commonParameters = rdbAccessSvc()->getRecordsetPtr("IDDetRailCommon",indetVersionKey.tag(), indetVersionKey.node());
@@ -120,7 +119,7 @@ void TRT_ServMatFactory::create(GeoPhysVol *mother)
 
     const GeoShape* serviceTube = serviceTubeTmp;
     
-    if( tubeHelper.volData().maxRadius() > rminInt && tubeHelper.volData().phiDelta() > 359.9*GeoModelKernelUnits::degree)  
+    if( tubeHelper.volData().maxRadius() > rminInt && tubeHelper.volData().phiDelta() > 359.9*Gaudi::Units::degree)  
     {
       // Subtract RailGap out of services
       serviceTube  = (GeoShape*) & (*serviceTubeTmp).subtract(*railGap2).subtract(*railGap1);
@@ -165,8 +164,8 @@ void TRT_ServMatFactory::create(GeoPhysVol *mother)
   m_materialManager->addScalingTable(scalingTable);
 
   //VK  10/09/2005 Construct a gap for rails
-  double outROfIDet =       (*atls)[0]->getDouble("IDETOR")*GeoModelKernelUnits::cm;
-  double endZOfIDet =       (*atls)[0]->getDouble("IDETZMX")*GeoModelKernelUnits::cm;
+  double outROfIDet =       (*atls)[0]->getDouble("IDETOR")*Gaudi::Units::cm;
+  double endZOfIDet =       (*atls)[0]->getDouble("IDETZMX")*Gaudi::Units::cm;
   double minRofGap  =       1050.0;
   double phiWid=70./outROfIDet;    double safetyGap=1.;
   const GeoShape* railGap1=new GeoTubs( minRofGap, outROfIDet+safetyGap ,endZOfIDet+safetyGap , 
@@ -179,10 +178,10 @@ void TRT_ServMatFactory::create(GeoPhysVol *mother)
 
 
 //VK 26.03.2007  Construct a gap for SquirrelCage ribbon
-  double  rminInt    = (*cage)[0]->getDouble("RINGRMIN")*GeoModelKernelUnits::mm;
-  double  ringThick  = (*cage)[0]->getDouble("RINGTHICK")*GeoModelKernelUnits::mm;
-  double  ringGap    = (*cage)[0]->getDouble("RINGGAP")*GeoModelKernelUnits::mm;
-  double  ribWid = (*cage)[0]->getDouble("RIBWIDTH")*GeoModelKernelUnits::mm;
+  double  rminInt    = (*cage)[0]->getDouble("RINGRMIN")*Gaudi::Units::mm;
+  double  ringThick  = (*cage)[0]->getDouble("RINGTHICK")*Gaudi::Units::mm;
+  double  ringGap    = (*cage)[0]->getDouble("RINGGAP")*Gaudi::Units::mm;
+  double  ribWid = (*cage)[0]->getDouble("RIBWIDTH")*Gaudi::Units::mm;
   double phiWidSQ=ribWid/(rminInt+ringThick+ringGap/2.);
 
 
@@ -214,7 +213,7 @@ void TRT_ServMatFactory::create(GeoPhysVol *mother)
       const GeoShape*  ribSup2  = new GeoTubs( tubeHelper.volData().rmin(), tubeHelper.volData().rmax(), 0.5*tubeHelper.volData().length(), 
 					       -phiWidSQ/2.+M_PI, phiWidSQ);
       serviceTube  = (GeoShape*) & (*serviceTubeTmp).subtract(*ribSup1).subtract(*ribSup2);
-    } else if( tubeHelper.volData().maxRadius() > minRofGap && tubeHelper.volData().phiDelta() > 359.9*GeoModelKernelUnits::degree)  {
+    } else if( tubeHelper.volData().maxRadius() > minRofGap && tubeHelper.volData().phiDelta() > 359.9*Gaudi::Units::degree)  {
       // Subtract RailGap out of services
       serviceTube  = (GeoShape*) & (*serviceTubeTmp).subtract(*railGap2).subtract(*railGap1);
     }    
diff --git a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/TRT_ServMatFactoryDC2.cxx b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/TRT_ServMatFactoryDC2.cxx
index 51e16b5d0992..2cd5c03876ac 100755
--- a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/TRT_ServMatFactoryDC2.cxx
+++ b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/TRT_ServMatFactoryDC2.cxx
@@ -24,7 +24,7 @@
 #include "RDBAccessSvc/IRDBAccessSvc.h"
 #include "GeoModelUtilities/DecodeVersionKey.h"
 #include "GaudiKernel/Bootstrap.h"
-
+#include "GaudiKernel/SystemOfUnits.h"
 
 #define NUMBEROFPANEL 2
 #define TRTELEMENTSINEL 9
@@ -75,10 +75,10 @@ void TRT_ServMatFactoryDC2::create(GeoPhysVol *mother)
   
   for (int ii=0; ii<NUMBEROFPANEL; ii++) {
     const GeoMaterial* cylMat = m_materialManager->getMaterial("trt::PatchOut");
-    double rmin = (*ipan)[ii]->getFloat("RMIN")*GeoModelKernelUnits::cm;
-    double rmax = (*ipan)[ii]->getFloat("RMAX")*GeoModelKernelUnits::cm;
-    double zmin = (*ipan)[ii]->getFloat("ZMIN")*GeoModelKernelUnits::cm;
-    double zmax = (*ipan)[ii]->getFloat("ZMAX")*GeoModelKernelUnits::cm;
+    double rmin = (*ipan)[ii]->getFloat("RMIN")*Gaudi::Units::cm;
+    double rmax = (*ipan)[ii]->getFloat("RMAX")*Gaudi::Units::cm;
+    double zmin = (*ipan)[ii]->getFloat("ZMIN")*Gaudi::Units::cm;
+    double zmax = (*ipan)[ii]->getFloat("ZMAX")*Gaudi::Units::cm;
 
     double halflength = (zmax-zmin)/2.-2*epsilon;
     double zpos = zmin + halflength+2*epsilon;
@@ -107,15 +107,15 @@ void TRT_ServMatFactoryDC2::create(GeoPhysVol *mother)
     std::ostringstream o;
     o << ii;
     std::string logName = "TrtInel"+o.str();  
-    double halflength = ((*inel)[ii]->getFloat("ZMAX")-(*inel)[ii]->getFloat("ZMIN"))/2.*GeoModelKernelUnits::cm;
+    double halflength = ((*inel)[ii]->getFloat("ZMAX")-(*inel)[ii]->getFloat("ZMIN"))/2.*Gaudi::Units::cm;
     int volType = (int) (*inel)[ii]->getFloat("VOLTYP");
 
     const GeoShape* serviceTube = createShape(volType,
-					      (*inel)[ii]->getFloat("RMIN1")*GeoModelKernelUnits::cm,
-					      (*inel)[ii]->getFloat("RMAX1")*GeoModelKernelUnits::cm,
+					      (*inel)[ii]->getFloat("RMIN1")*Gaudi::Units::cm,
+					      (*inel)[ii]->getFloat("RMAX1")*Gaudi::Units::cm,
 					      halflength,
-					      (*inel)[ii]->getFloat("RMIN2")*GeoModelKernelUnits::cm,
-					      (*inel)[ii]->getFloat("RMAX2")*GeoModelKernelUnits::cm);
+					      (*inel)[ii]->getFloat("RMIN2")*Gaudi::Units::cm,
+					      (*inel)[ii]->getFloat("RMAX2")*Gaudi::Units::cm);
     // create the material...
     // In AGE the radiation length is specified and from that the density is
     // calculated assuming the material is C. I do the same here for now but
@@ -132,16 +132,16 @@ void TRT_ServMatFactoryDC2::create(GeoPhysVol *mother)
       cylMat = createMaterial(nameStr.str(),
 			      volType,
 			      fractionRL,
-			      (*inel)[ii]->getFloat("RMIN1")*GeoModelKernelUnits::cm,
-			      (*inel)[ii]->getFloat("RMAX1")*GeoModelKernelUnits::cm,
+			      (*inel)[ii]->getFloat("RMIN1")*Gaudi::Units::cm,
+			      (*inel)[ii]->getFloat("RMAX1")*Gaudi::Units::cm,
 			      halflength,
-			      (*inel)[ii]->getFloat("RMIN2")*GeoModelKernelUnits::cm,
-			      (*inel)[ii]->getFloat("RMAX2")*GeoModelKernelUnits::cm); 
+			      (*inel)[ii]->getFloat("RMIN2")*Gaudi::Units::cm,
+			      (*inel)[ii]->getFloat("RMAX2")*Gaudi::Units::cm); 
     }
 
     const GeoLogVol* ServLog = new GeoLogVol(logName,serviceTube,cylMat);
     GeoVPhysVol* ServPhys = new GeoPhysVol(ServLog);
-    double zpos = ((*inel)[ii]->getFloat("ZMAX")+(*inel)[ii]->getFloat("ZMIN"))/2.*GeoModelKernelUnits::cm+epsilon;
+    double zpos = ((*inel)[ii]->getFloat("ZMAX")+(*inel)[ii]->getFloat("ZMIN"))/2.*Gaudi::Units::cm+epsilon;
     // place two
     GeoTrf::Translate3D servpos1(0.,0.,zpos);
     GeoTrf::Translate3D servpos2(0.,0.,-zpos);
@@ -165,7 +165,7 @@ const GeoShape* TRT_ServMatFactoryDC2::createShape(int volType,
 						double rmax2=0.) 
   
 {
-  const double epsilon = 0.001*GeoModelKernelUnits::mm;
+  const double epsilon = 0.001*Gaudi::Units::mm;
   enum VOLTYPE{Tube=1, Cone, ICone};
   const GeoShape* IDShape = 0;
   if(volType == Tube) {
diff --git a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/TRT_ServMatFactoryDC3.cxx b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/TRT_ServMatFactoryDC3.cxx
index 8ea66da54eda..6975efb97484 100755
--- a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/TRT_ServMatFactoryDC3.cxx
+++ b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/TRT_ServMatFactoryDC3.cxx
@@ -23,7 +23,7 @@
 #include "RDBAccessSvc/IRDBAccessSvc.h"
 #include "GeoModelInterfaces/IGeoModelSvc.h"
 #include "GeoModelUtilities/DecodeVersionKey.h"
-
+#include "GaudiKernel/SystemOfUnits.h"
 
 #define NUMBEROFPANEL 2
 #define TRTELEMENTSINEL 9  // VK - now number of record is determined automatically
@@ -63,8 +63,8 @@ void TRT_ServMatFactoryDC3::create(GeoPhysVol *mother)
 
 
 //VVK  10/09/2005 Construct a gap for rails
-    double outROfIDet =       (*atls)[0]->getDouble("IDETOR")*GeoModelKernelUnits::cm;
-    double endZOfIDet =       (*atls)[0]->getDouble("IDETZMX")*GeoModelKernelUnits::cm;
+    double outROfIDet =       (*atls)[0]->getDouble("IDETOR")*Gaudi::Units::cm;
+    double endZOfIDet =       (*atls)[0]->getDouble("IDETZMX")*Gaudi::Units::cm;
     double minRofGap  =       1050.0;
     double phiWid=70./outROfIDet;    double safetyGap=1.;
     const GeoShape* railGap1=new GeoTubs( minRofGap, outROfIDet+safetyGap ,endZOfIDet+safetyGap , 
@@ -78,10 +78,10 @@ void TRT_ServMatFactoryDC3::create(GeoPhysVol *mother)
   
   for (int ii=0; ii<NUMBEROFPANEL; ii++) {
     const GeoMaterial* cylMat = materialManager()->getMaterial("trt::PatchOut");
-    double rmin = (*ipan)[ii]->getFloat("RMIN")*GeoModelKernelUnits::cm;
-    double rmax = (*ipan)[ii]->getFloat("RMAX")*GeoModelKernelUnits::cm;
-    double zmin = (*ipan)[ii]->getFloat("ZMIN")*GeoModelKernelUnits::cm;
-    double zmax = (*ipan)[ii]->getFloat("ZMAX")*GeoModelKernelUnits::cm;
+    double rmin = (*ipan)[ii]->getFloat("RMIN")*Gaudi::Units::cm;
+    double rmax = (*ipan)[ii]->getFloat("RMAX")*Gaudi::Units::cm;
+    double zmin = (*ipan)[ii]->getFloat("ZMIN")*Gaudi::Units::cm;
+    double zmax = (*ipan)[ii]->getFloat("ZMAX")*Gaudi::Units::cm;
 
     double halflength = (zmax-zmin)/2.-2*epsilon;
     double zpos = zmin + halflength+2*epsilon;
@@ -133,12 +133,12 @@ void TRT_ServMatFactoryDC3::create(GeoPhysVol *mother)
     o << irecold++;
     std::string logName = "TrtInel"+o.str();  
     int volType = (int) (*inel)[ii]->getFloat("VOLTYP");
-    double RMIN1=(*inel)[ii]->getFloat("RMIN1")*GeoModelKernelUnits::cm;
-    double RMAX1=(*inel)[ii]->getFloat("RMAX1")*GeoModelKernelUnits::cm;
-    double RMIN2=(*inel)[ii]->getFloat("RMIN2")*GeoModelKernelUnits::cm;
-    double RMAX2=(*inel)[ii]->getFloat("RMAX2")*GeoModelKernelUnits::cm;
-    double ZMAX= (*inel)[ii]->getFloat("ZMAX")*GeoModelKernelUnits::cm;
-    double ZMIN= (*inel)[ii]->getFloat("ZMIN")*GeoModelKernelUnits::cm;
+    double RMIN1=(*inel)[ii]->getFloat("RMIN1")*Gaudi::Units::cm;
+    double RMAX1=(*inel)[ii]->getFloat("RMAX1")*Gaudi::Units::cm;
+    double RMIN2=(*inel)[ii]->getFloat("RMIN2")*Gaudi::Units::cm;
+    double RMAX2=(*inel)[ii]->getFloat("RMAX2")*Gaudi::Units::cm;
+    double ZMAX= (*inel)[ii]->getFloat("ZMAX")*Gaudi::Units::cm;
+    double ZMIN= (*inel)[ii]->getFloat("ZMIN")*Gaudi::Units::cm;
 
 //VK Change of TRT barrel cables definition
 //    if(ii == 3) { RMIN1 += 0; RMAX1=RMIN1+0.589; ZMIN=950.; ZMAX=3250;}
@@ -207,7 +207,7 @@ void TRT_ServMatFactoryDC3::create(GeoPhysVol *mother)
 						double rmax2=0.) 
   
 {
-  const double epsilon = 0.001*GeoModelKernelUnits::mm;
+  const double epsilon = 0.001*Gaudi::Units::mm;
   enum VOLTYPE{Tube=1, Cone, ICone};
   const GeoShape* IDShape = 0;
   if(volType == Tube) {
diff --git a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/TRT_ServMatFactoryFS.cxx b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/TRT_ServMatFactoryFS.cxx
index 342c02f44fde..2e3a3aa3c046 100755
--- a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/TRT_ServMatFactoryFS.cxx
+++ b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/TRT_ServMatFactoryFS.cxx
@@ -26,8 +26,7 @@
 #include "RDBAccessSvc/IRDBAccessSvc.h"
 #include "GeoModelUtilities/DecodeVersionKey.h"
 #include "GaudiKernel/Bootstrap.h"
-
-
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <sstream>
 #include <iostream>
@@ -75,8 +74,8 @@ void TRT_ServMatFactoryFS::create(GeoPhysVol *motherP, GeoPhysVol *motherM)
 
 
 //VK  10/09/2005 Construct a gap for rails
-  double outROfIDet =       (*atls)[0]->getDouble("IDETOR")*GeoModelKernelUnits::cm;
-  double endZOfIDet =       (*atls)[0]->getDouble("IDETZMX")*GeoModelKernelUnits::cm;
+  double outROfIDet =       (*atls)[0]->getDouble("IDETOR")*Gaudi::Units::cm;
+  double endZOfIDet =       (*atls)[0]->getDouble("IDETZMX")*Gaudi::Units::cm;
   double minRofGap  =       1050.0;
   double phiWid=70./outROfIDet;    double safetyGap=1.;
   const GeoShape* railGap1=new GeoTubs( minRofGap, outROfIDet+safetyGap ,endZOfIDet+safetyGap , 
@@ -89,10 +88,10 @@ void TRT_ServMatFactoryFS::create(GeoPhysVol *motherP, GeoPhysVol *motherM)
 
 
 //VK 26.03.2007  Construct a gap for SquirrelCage ribbon
-  double  rminInt    = (*cage)[0]->getDouble("RINGRMIN")*GeoModelKernelUnits::mm;
-  double  ringThick  = (*cage)[0]->getDouble("RINGTHICK")*GeoModelKernelUnits::mm;
-  double  ringGap    = (*cage)[0]->getDouble("RINGGAP")*GeoModelKernelUnits::mm;
-  double  ribWid = (*cage)[0]->getDouble("RIBWIDTH")*GeoModelKernelUnits::mm;
+  double  rminInt    = (*cage)[0]->getDouble("RINGRMIN")*Gaudi::Units::mm;
+  double  ringThick  = (*cage)[0]->getDouble("RINGTHICK")*Gaudi::Units::mm;
+  double  ringGap    = (*cage)[0]->getDouble("RINGGAP")*Gaudi::Units::mm;
+  double  ribWid = (*cage)[0]->getDouble("RIBWIDTH")*Gaudi::Units::mm;
   double phiWidSQ=ribWid/(rminInt+ringThick+ringGap/2.);
 
 
diff --git a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_BarrelModuleParameters.cxx b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_BarrelModuleParameters.cxx
index 5fed24ed9d44..f44cbbcca46f 100644
--- a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_BarrelModuleParameters.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_BarrelModuleParameters.cxx
@@ -6,7 +6,7 @@
 #include "SCT_SLHC_GeoModel/SCT_GeometryManager.h"
 #include "SCT_SLHC_GeoModel/SCT_DataBase.h"
 #include "GeometryDBSvc/IGeometryDBSvc.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <cmath>
 
@@ -36,7 +36,7 @@ SCT_BarrelModuleParameters::SCT_BarrelModuleParameters(const SCT_DataBase * sctd
 double 
 SCT_BarrelModuleParameters::sensorThickness(int moduleType) const 
 {
-  double thickness = db()->getDouble(m_SctBrlSensor, "THICKNESS", moduleType) * GeoModelKernelUnits::mm;
+  double thickness = db()->getDouble(m_SctBrlSensor, "THICKNESS", moduleType) * Gaudi::Units::mm;
   if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "-----------2 sensorThickness mod_typ("<<moduleType<<") = "<< thickness << endmsg;
   return thickness;
 }
@@ -44,7 +44,7 @@ SCT_BarrelModuleParameters::sensorThickness(int moduleType) const
 double 
 SCT_BarrelModuleParameters::sensorWidth(int moduleType) const 
 {
-  double width = db()->getDouble(m_SctBrlSensor, "WIDTH", moduleType) * GeoModelKernelUnits::mm;
+  double width = db()->getDouble(m_SctBrlSensor, "WIDTH", moduleType) * Gaudi::Units::mm;
   if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)<<"-----------2 DXYZ2 sensorWidth mod_typ("<<moduleType<<") = "<< width <<endmsg;
   return width;
 }
@@ -52,7 +52,7 @@ SCT_BarrelModuleParameters::sensorWidth(int moduleType) const
 double 
 SCT_BarrelModuleParameters::sensorLength(int moduleType) const 
 {
-  double sensorLen = db()->getDouble(m_SctBrlSensor, "LENGTH", moduleType) * GeoModelKernelUnits::mm;
+  double sensorLen = db()->getDouble(m_SctBrlSensor, "LENGTH", moduleType) * Gaudi::Units::mm;
   if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)<<"-----------2 SensorLength DXYZ3 mod_typ("<<moduleType<<") = "<<sensorLen <<endmsg;
   return sensorLen;
 }
@@ -81,7 +81,7 @@ double
 SCT_BarrelModuleParameters::baseBoardThickness(int moduleType) const 
 {
   //sprintf(paraName, "BRL_M%d_BBTHICK", moduleType);
-  double bbthick = db()->getDouble(m_SctBrlModule, "BASEBOARDTHICKNESS", moduleType) * GeoModelKernelUnits::mm;
+  double bbthick = db()->getDouble(m_SctBrlModule, "BASEBOARDTHICKNESS", moduleType) * Gaudi::Units::mm;
   if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)<<"-----------2 baseBoardThickness BBTHICK mod_typ("<<moduleType<<") = "<< bbthick <<endmsg;
   return bbthick;
 }
@@ -89,13 +89,13 @@ SCT_BarrelModuleParameters::baseBoardThickness(int moduleType) const
 double 
 SCT_BarrelModuleParameters::baseBoardWidth(int moduleType) const 
 {
-  double bbwidth = db()->getDouble(m_SctBrlModule, "BASEBOARDWIDTH", moduleType) * GeoModelKernelUnits::mm;
+  double bbwidth = db()->getDouble(m_SctBrlModule, "BASEBOARDWIDTH", moduleType) * Gaudi::Units::mm;
   if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)<<"-----------2 baseBoardWidth BBWID mod_typ("<<moduleType<<") = "<< bbwidth <<endmsg;
   return bbwidth;
 }
 
 double SCT_BarrelModuleParameters::baseBoardLength(int moduleType) const{
-  double bblength = db()->getDouble(m_SctBrlModule, "BASEBOARDLENGTH", moduleType) * GeoModelKernelUnits::mm;
+  double bblength = db()->getDouble(m_SctBrlModule, "BASEBOARDLENGTH", moduleType) * Gaudi::Units::mm;
   if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)<<"-----------2 baseBoardLength BBLEN mod_typ("<<moduleType<<") = "<<bblength <<endmsg;
   return bblength;
 }
@@ -109,16 +109,16 @@ SCT_BarrelModuleParameters::baseBoardMaterial(int moduleType) const
 }
 double SCT_BarrelModuleParameters::baseBoardOffsetY(int /*moduleType*/) const{
   //if(moduleType == 1)
-    return -5.7*GeoModelKernelUnits::mm;
+    return -5.7*Gaudi::Units::mm;
   //else
-  //  return -5.7*GeoModelKernelUnits::mm;
+  //  return -5.7*Gaudi::Units::mm;
 }
 
 double SCT_BarrelModuleParameters::baseBoardOffsetZ(int moduleType) const{
   if(moduleType == 1)
-    return -7.1*GeoModelKernelUnits::mm;
+    return -7.1*Gaudi::Units::mm;
   else
-    return -1.9*GeoModelKernelUnits::mm;
+    return -1.9*Gaudi::Units::mm;
 }
 
 //
@@ -127,13 +127,13 @@ double SCT_BarrelModuleParameters::baseBoardOffsetZ(int moduleType) const{
 double 
 SCT_BarrelModuleParameters::moduleStereoAngle(int moduleType) const
 {
-  return db()->getDouble(m_SctBrlModule, "STEREOANGLE", moduleType) * GeoModelKernelUnits::mrad;
+  return db()->getDouble(m_SctBrlModule, "STEREOANGLE", moduleType) * Gaudi::Units::mrad;
 }
 
 double 
 SCT_BarrelModuleParameters::moduleInterSidesGap(int moduleType) const
 {
-  return db()->getDouble(m_SctBrlModule, "INTERSIDESGAP", moduleType) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctBrlModule, "INTERSIDESGAP", moduleType) * Gaudi::Units::mm;
 }
 
 // Barrel Module Side Design
@@ -141,7 +141,7 @@ SCT_BarrelModuleParameters::moduleInterSidesGap(int moduleType) const
 double 
 SCT_BarrelModuleParameters::barrelModelSideStripPitch(int moduleType) const
 {
-  double pitch = db()->getDouble(m_SctBrlSensor, "STRIPPITCH", moduleType) * GeoModelKernelUnits::mm;
+  double pitch = db()->getDouble(m_SctBrlSensor, "STRIPPITCH", moduleType) * Gaudi::Units::mm;
   if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)<<"-----------2 barrelModelSideStripPitch PITCH mod_typ("<<moduleType<<") = "<<pitch <<endmsg;
   return pitch;
 }
@@ -149,7 +149,7 @@ SCT_BarrelModuleParameters::barrelModelSideStripPitch(int moduleType) const
 double
 SCT_BarrelModuleParameters::barrelModelSideStripLength(int moduleType) const
 {
-  double stripLen =  db()->getDouble(m_SctBrlSensor, "STRIPLENGTH", moduleType) * GeoModelKernelUnits::mm;
+  double stripLen =  db()->getDouble(m_SctBrlSensor, "STRIPLENGTH", moduleType) * Gaudi::Units::mm;
   if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)<<"-----------2 barrelModelSideStripLength STRIPLEN mod_typ("<<moduleType<<") = "<<stripLen <<endmsg;
   return stripLen;
 }
@@ -157,7 +157,7 @@ SCT_BarrelModuleParameters::barrelModelSideStripLength(int moduleType) const
 double 
 SCT_BarrelModuleParameters::barrelModelSideTotalDeadLength(int moduleType) const
 {
-  double stripdeadLen = db()->getDouble(m_SctBrlSensor, "STRIPDEADLENGTH", moduleType) * GeoModelKernelUnits::mm;
+  double stripdeadLen = db()->getDouble(m_SctBrlSensor, "STRIPDEADLENGTH", moduleType) * Gaudi::Units::mm;
   if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)<<"-----------2 barrelModelSideTotalDeadLength STRIPDEADLEN mod_typ("<<moduleType<<") = "<<stripdeadLen<<endmsg;
   return stripdeadLen;
 }
@@ -177,7 +177,7 @@ double
 SCT_BarrelModuleParameters::barrelModelSideSegmentGap(int moduleType) const
 {
   if (m_SctBrlSensor) {
-    return db()->getDouble(m_SctBrlSensor, "SEGMENTGAP", moduleType) * GeoModelKernelUnits::mm;
+    return db()->getDouble(m_SctBrlSensor, "SEGMENTGAP", moduleType) * Gaudi::Units::mm;
   } else { 
     return 0;
   }
diff --git a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_BarrelModuleParametersOld.cxx b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_BarrelModuleParametersOld.cxx
index e71ae56a28a0..7aea7f125809 100644
--- a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_BarrelModuleParametersOld.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_BarrelModuleParametersOld.cxx
@@ -8,8 +8,7 @@
 #include "GaudiKernel/ISvcLocator.h"
 #include "GaudiKernel/MsgStream.h"
 #include "RDBAccessSvc/IRDBRecord.h"
-
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <cmath>
 #include <cstring>
@@ -41,12 +40,12 @@ void barrelModSplitString(const std::string& str, std::vector<std::string>& str_
 //
 
 
-const double PITCH = 80*GeoModelKernelUnits::micrometer;
-const double HALF_ACTIVE_STRIP_LENGTH = 31*GeoModelKernelUnits::mm;
-const double NOMINAL_WAFER_LENGTH = 63.960*GeoModelKernelUnits::mm;
-const double REF_DISTANCE_BETWEEN_FIDUCIALS = 2.19*GeoModelKernelUnits::mm; 
-const double DISTANCE_CORNER_MARK_TO_CENTER = 31.750*GeoModelKernelUnits::mm; 
-const double DISTANCE_CORNER_MARK_TO_FIDUCIAL = 0.8*GeoModelKernelUnits::mm; 
+const double PITCH = 80*Gaudi::Units::micrometer;
+const double HALF_ACTIVE_STRIP_LENGTH = 31*Gaudi::Units::mm;
+const double NOMINAL_WAFER_LENGTH = 63.960*Gaudi::Units::mm;
+const double REF_DISTANCE_BETWEEN_FIDUCIALS = 2.19*Gaudi::Units::mm; 
+const double DISTANCE_CORNER_MARK_TO_CENTER = 31.750*Gaudi::Units::mm; 
+const double DISTANCE_CORNER_MARK_TO_FIDUCIAL = 0.8*Gaudi::Units::mm; 
 const double DISTANCE_CENTER_TO_CENTER = 2*(DISTANCE_CORNER_MARK_TO_CENTER - 
 					      DISTANCE_CORNER_MARK_TO_FIDUCIAL)
                                          + REF_DISTANCE_BETWEEN_FIDUCIALS;
@@ -131,7 +130,7 @@ SCT_BarrelModuleParametersOld::sensorThickness(int moduleType) const
   char paraName[50];
   sprintf(paraName, "BRL_M%d_DXYZ1", moduleType);
   std::cout<<"-----------2 sensorThickness DXYZ1 mod_typ("<<moduleType<<") = "<<(m_SCT_Modules->find(paraName))->second <<std::endl;
-  return (m_SCT_Modules->find(paraName))->second*GeoModelKernelUnits::cm;
+  return (m_SCT_Modules->find(paraName))->second*Gaudi::Units::cm;
 }
 
 double 
@@ -139,8 +138,8 @@ SCT_BarrelModuleParametersOld::sensorWidth(int moduleType) const
 {
   char paraName[50];
   sprintf(paraName, "BRL_M%d_DXYZ2", moduleType);
-  std::cout<<"-----------2 DXYZ2 sensorWidth mod_typ("<<moduleType<<") = "<<(m_SCT_Modules->find(paraName))->second*GeoModelKernelUnits::cm <<std::endl;
-  return (m_SCT_Modules->find(paraName))->second*GeoModelKernelUnits::cm;
+  std::cout<<"-----------2 DXYZ2 sensorWidth mod_typ("<<moduleType<<") = "<<(m_SCT_Modules->find(paraName))->second*Gaudi::Units::cm <<std::endl;
+  return (m_SCT_Modules->find(paraName))->second*Gaudi::Units::cm;
 }
 
 double 
@@ -148,7 +147,7 @@ SCT_BarrelModuleParametersOld::sensorLength(int moduleType) const
 {
   char paraName[50];
   sprintf(paraName, "BRL_M%d_DXYZ3", moduleType);
-  float sensorLen = (m_SCT_Modules->find(paraName))->second*GeoModelKernelUnits::cm;
+  float sensorLen = (m_SCT_Modules->find(paraName))->second*Gaudi::Units::cm;
   std::cout<<"-----------2 SensorLentgh DXYZ3 mod_typ("<<moduleType<<") = "<<sensorLen <<std::endl;
   return sensorLen;
 }
@@ -171,8 +170,8 @@ SCT_BarrelModuleParametersOld::baseBoardThickness(int moduleType) const
 {
   char paraName[50];
   sprintf(paraName, "BRL_M%d_BBTHICK", moduleType);
-  std::cout<<"-----------2 baseBoardThickness BBTHICK mod_typ("<<moduleType<<") = "<<(m_SCT_Modules->find(paraName))->second*GeoModelKernelUnits::cm <<std::endl;
-  return (m_SCT_Modules->find(paraName))->second*GeoModelKernelUnits::cm;
+  std::cout<<"-----------2 baseBoardThickness BBTHICK mod_typ("<<moduleType<<") = "<<(m_SCT_Modules->find(paraName))->second*Gaudi::Units::cm <<std::endl;
+  return (m_SCT_Modules->find(paraName))->second*Gaudi::Units::cm;
 }
 
 double 
@@ -180,15 +179,15 @@ SCT_BarrelModuleParametersOld::baseBoardWidth(int moduleType) const
 {
   char paraName[50];
   sprintf(paraName, "BRL_M%d_BBWID", moduleType);
-  std::cout<<"-----------2 baseBoardWidth BBWID mod_typ("<<moduleType<<") = "<<(m_SCT_Modules->find(paraName))->second*GeoModelKernelUnits::cm <<std::endl;
-  return (m_SCT_Modules->find(paraName))->second*GeoModelKernelUnits::cm;
+  std::cout<<"-----------2 baseBoardWidth BBWID mod_typ("<<moduleType<<") = "<<(m_SCT_Modules->find(paraName))->second*Gaudi::Units::cm <<std::endl;
+  return (m_SCT_Modules->find(paraName))->second*Gaudi::Units::cm;
 }
 
 double SCT_BarrelModuleParametersOld::baseBoardLength(int moduleType) const{
   char paraName[50];  
   sprintf(paraName, "BRL_M%d_BBLEN", moduleType);
   std::cout<<"-----------2 baseBoardLength BBLEN mod_typ("<<moduleType<<") = "<<(m_SCT_Modules->find(paraName))->second <<std::endl;
-  return (m_SCT_Modules->find(paraName))->second*GeoModelKernelUnits::cm;
+  return (m_SCT_Modules->find(paraName))->second*Gaudi::Units::cm;
 }
 
 std::string 
@@ -202,16 +201,16 @@ SCT_BarrelModuleParametersOld::baseBoardMaterial(int moduleType) const
 }
 double SCT_BarrelModuleParametersOld::baseBoardOffsetY(int /*moduleType*/) const{
   //if(moduleType == 1)
-    return -5.7*GeoModelKernelUnits::mm;
+    return -5.7*Gaudi::Units::mm;
   //else
-  //  return -5.7*GeoModelKernelUnits::mm;
+  //  return -5.7*Gaudi::Units::mm;
 }
 
 double SCT_BarrelModuleParametersOld::baseBoardOffsetZ(int moduleType) const{
   if(moduleType == 1)
-    return -7.1*GeoModelKernelUnits::mm;
+    return -7.1*Gaudi::Units::mm;
   else
-    return -1.9*GeoModelKernelUnits::mm;
+    return -1.9*Gaudi::Units::mm;
 }
 
 //
@@ -222,7 +221,7 @@ SCT_BarrelModuleParametersOld::moduleStereoAngle(int moduleType) const
 {
   char paraName[50];
   sprintf(paraName, "BRL_M%d_STEREOANGLE", moduleType);
-  return (m_SCT_Modules->find(paraName))->second*GeoModelKernelUnits::milliradian;
+  return (m_SCT_Modules->find(paraName))->second*Gaudi::Units::milliradian;
 }
 
 double 
@@ -230,7 +229,7 @@ SCT_BarrelModuleParametersOld::moduleInterSidesGap(int moduleType) const
 {
   char paraName[50];
   sprintf(paraName, "BRL_M%d_INTERSIDESGAP", moduleType);
-  return (double)(m_SCT_Modules->find(paraName))->second*GeoModelKernelUnits::mm;
+  return (double)(m_SCT_Modules->find(paraName))->second*Gaudi::Units::mm;
 }
 
 // Barrel Module Side Design
@@ -240,8 +239,8 @@ SCT_BarrelModuleParametersOld::barrelModelSideStripPitch(int moduleType) const
 {
   char paraName[50];
   sprintf(paraName, "BRL_M%d_PITCH", moduleType);
-  std::cout<<"-----------2 barrelModelSideStripPitch PITCH mod_typ("<<moduleType<<") = "<<(m_SCT_Modules->find(paraName))->second*GeoModelKernelUnits::micrometer <<std::endl;
-  return (double)(m_SCT_Modules->find(paraName))->second*GeoModelKernelUnits::micrometer;
+  std::cout<<"-----------2 barrelModelSideStripPitch PITCH mod_typ("<<moduleType<<") = "<<(m_SCT_Modules->find(paraName))->second*Gaudi::Units::micrometer <<std::endl;
+  return (double)(m_SCT_Modules->find(paraName))->second*Gaudi::Units::micrometer;
 }
 
 double
@@ -249,7 +248,7 @@ SCT_BarrelModuleParametersOld::barrelModelSideStripLength(int moduleType) const
 {
   char paraName[50];
   sprintf(paraName, "BRL_M%d_STRIPLEN", moduleType);
-  double stripLen = (m_SCT_Modules->find(paraName))->second*GeoModelKernelUnits::cm;
+  double stripLen = (m_SCT_Modules->find(paraName))->second*Gaudi::Units::cm;
   std::cout<<"-----------2 barrelModelSideStripLength STRIPLEN mod_typ("<<moduleType<<") = "<<stripLen <<std::endl;
   return stripLen;
 }
@@ -259,7 +258,7 @@ SCT_BarrelModuleParametersOld::barrelModelSideTotalDeadLength(int moduleType) co
 {
   char paraName[50];
   sprintf(paraName, "BRL_M%d_STRIPDEADLEN", moduleType);
-  double stripdeadLen = (m_SCT_Modules->find(paraName))->second*GeoModelKernelUnits::cm;
+  double stripdeadLen = (m_SCT_Modules->find(paraName))->second*Gaudi::Units::cm;
   std::cout<<"-----------2 barrelModelSideTotalDeadLength STRIPDEADLEN mod_typ("<<moduleType<<") = "<<stripdeadLen<<std::endl;
   return stripdeadLen;
 }
@@ -300,7 +299,7 @@ SCT_BarrelModuleParametersOld::barrelDeadEdge(int moduleType) const
   char paraName2[50];
   sprintf(paraName1, "BRL_M%d_DXYZ3", moduleType);
   sprintf(paraName2, "BRL_M%d_STRIPLEN", moduleType);
-  float deadEdge = 0.5*((m_SCT_Modules->find(paraName1))->second-(m_SCT_Modules->find(paraName2))->second)*GeoModelKernelUnits::mm;
+  float deadEdge = 0.5*((m_SCT_Modules->find(paraName1))->second-(m_SCT_Modules->find(paraName2))->second)*Gaudi::Units::mm;
   std::cout<<"-----------2 barrelDeadEdge DEADED mod_typ("<<moduleType<<") = "<<deadEdge<<std::endl;
  return deadEdge;
 }
diff --git a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_BarrelParameters.cxx b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_BarrelParameters.cxx
index 75881f23f506..256bb398a8c8 100644
--- a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_BarrelParameters.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_BarrelParameters.cxx
@@ -6,7 +6,7 @@
 #include "SCT_SLHC_GeoModel/SCT_DataBase.h"
 #include "RDBAccessSvc/IRDBRecordset.h"
 #include "GeometryDBSvc/IGeometryDBSvc.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include <iostream>
 #include <cmath>
 
@@ -56,7 +56,7 @@ SCT_BarrelParameters::SCT_BarrelParameters(const SCT_DataBase * sctdb, const SCT
 	  moduleIdVec = new  std::vector<int>;
 	  m_moduleIdMap[type] = moduleIdVec;
 	}
-	zposVec->push_back(db()->getDouble(m_SctBrlSkiZ,"ZPOSITION",i)*GeoModelKernelUnits::mm);
+	zposVec->push_back(db()->getDouble(m_SctBrlSkiZ,"ZPOSITION",i)*Gaudi::Units::mm);
 	moduleIdVec->push_back(db()->getInt(m_SctBrlSkiZ,"MODULEID",i));
       }
     }
@@ -100,9 +100,9 @@ SCT_BarrelParameters::skiFirstStagger() const{
 
 double 
 SCT_BarrelParameters::skiRadialSep(int ilayer) const{
-  // return 2.8*GeoModelKernelUnits::mm;//GeoModelKernelUnits::mm
+  // return 2.8*Gaudi::Units::mm;//Gaudi::Units::mm
   int ladType = ladderType(ilayer);
-  return db()->getDouble(m_SctBrlLadder,"MODULESRADIALSEP",ladType) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctBrlLadder,"MODULESRADIALSEP",ladType) * Gaudi::Units::mm;
 }
 
 
@@ -145,17 +145,17 @@ SCT_BarrelParameters::skiZPosition(int ilayer, int module) const{
       int break_mod = modulesPerSki(ilayer) / 2;
       double zsep = db()->getDouble(m_SctBrlLadder,"ZSEP",ladType);
       //CALCULATE NEGATIVE END POSITION FIRST, TO KEEP MODULE ORDERING THE SAME
-      double first_pos = (-cylInnerZMin(ilayer) - (break_mod - 0.5)*zsep) * GeoModelKernelUnits::mm;
+      double first_pos = (-cylInnerZMin(ilayer) - (break_mod - 0.5)*zsep) * Gaudi::Units::mm;
       //PSOTION OF FIRST MODULE AFTER THE BREAK
-      double break_pos = cylInnerZMin(ilayer) * GeoModelKernelUnits::mm ;
+      double break_pos = cylInnerZMin(ilayer) * Gaudi::Units::mm ;
       
-      if(module < break_mod ) zpos = first_pos + (zsep * module) * GeoModelKernelUnits::mm;
-      else zpos = (break_pos + (zsep * (module - break_mod + 0.5))) * GeoModelKernelUnits::mm;
+      if(module < break_mod ) zpos = first_pos + (zsep * module) * Gaudi::Units::mm;
+      else zpos = (break_pos + (zsep * (module - break_mod + 0.5))) * Gaudi::Units::mm;
     }
 
     else{
       int ladType = ladderType(ilayer);
-      zpos = db()->getDouble(m_SctBrlLadder,"ZSEP",ladType) * (module - 0.5*(modulesPerSki(ilayer) - 1)) * GeoModelKernelUnits::mm;
+      zpos = db()->getDouble(m_SctBrlLadder,"ZSEP",ladType) * (module - 0.5*(modulesPerSki(ilayer) - 1)) * Gaudi::Units::mm;
     }
     } else {
     std::map<int, std::vector<double> *>::const_iterator iter = m_zpositionMap.find(zpostype);
@@ -208,25 +208,25 @@ SCT_BarrelParameters::skiModuleIdentifier(int ilayer, int module) const{
 //
 double 
 SCT_BarrelParameters::tilt(int ilayer) const{
-  double tilt = db()->getDouble(m_SctBrlLayer,"TILT",ilayer) * GeoModelKernelUnits::degree;
-  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)<<"---------2 tilt layer TILT("<<ilayer<<") = "<< tilt/GeoModelKernelUnits::degree << endmsg;
+  double tilt = db()->getDouble(m_SctBrlLayer,"TILT",ilayer) * Gaudi::Units::degree;
+  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)<<"---------2 tilt layer TILT("<<ilayer<<") = "<< tilt/Gaudi::Units::degree << endmsg;
   return tilt;
 }
 
 double SCT_BarrelParameters::radius(int ilayer) const{
-  double rlay = db()->getDouble(m_SctBrlLayer,"RADIUS",ilayer) * GeoModelKernelUnits::mm;
+  double rlay = db()->getDouble(m_SctBrlLayer,"RADIUS",ilayer) * Gaudi::Units::mm;
   if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)<<"---------2 radius layer RLAY("<<ilayer<<") = "<<rlay<<endmsg;
   return rlay;
 }
 
 double 
 SCT_BarrelParameters::cylLength(int ilayer) const{
-  return db()->getDouble(m_SctBrlLayer,"CYLLENGTH",ilayer) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctBrlLayer,"CYLLENGTH",ilayer) * Gaudi::Units::mm;
 }
 
 double 
 SCT_BarrelParameters::cylInnerZMin(int ilayer) const{
-  return db()->getDouble(m_SctBrlLayer,"CYLINNERZMIN",ilayer) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctBrlLayer,"CYLINNERZMIN",ilayer) * Gaudi::Units::mm;
 }
 
 bool SCT_BarrelParameters::doubleSided(int ilayer) const{
@@ -257,7 +257,7 @@ SCT_BarrelParameters::staveLayout(int ilayer) const {
 double 
 SCT_BarrelParameters::stereoOuter(int ilayer) const {
   if (m_SctBrlLayer) {
-    return db()->getDouble(m_SctBrlLayer,"STEREOOUTER",ilayer) * GeoModelKernelUnits::mrad;
+    return db()->getDouble(m_SctBrlLayer,"STEREOOUTER",ilayer) * Gaudi::Units::mrad;
   } else {
     return 0;
   }
@@ -266,7 +266,7 @@ SCT_BarrelParameters::stereoOuter(int ilayer) const {
 double 
 SCT_BarrelParameters::stereoInner(int ilayer) const{
   if (m_SctBrlLayer) {
-    return db()->getDouble(m_SctBrlLayer,"STEREOINNER",ilayer) * GeoModelKernelUnits::mrad;
+    return db()->getDouble(m_SctBrlLayer,"STEREOINNER",ilayer) * Gaudi::Units::mrad;
   } else {
     return 0;
   }
@@ -277,7 +277,7 @@ SCT_BarrelParameters::staveSupportWidth(int ilayer) const{
   if (m_SctBrlLayer) {
     int ladType = ladderType(ilayer);
     if (db()->testField(m_SctBrlLadder,"SUPPORTWIDTH",ladType)) {
-      return db()->getDouble(m_SctBrlLadder,"SUPPORTWIDTH",ladType) * GeoModelKernelUnits::mm;
+      return db()->getDouble(m_SctBrlLadder,"SUPPORTWIDTH",ladType) * Gaudi::Units::mm;
     } 
   }
   return 0;
@@ -289,7 +289,7 @@ SCT_BarrelParameters::staveSupportThickness(int ilayer) const{
   if (m_SctBrlLayer) {
     int ladType = ladderType(ilayer);
     if (db()->testField(m_SctBrlLadder,"SUPPORTTHICK",ladType)) {
-      return db()->getDouble(m_SctBrlLadder,"SUPPORTTHICK",ladType) * GeoModelKernelUnits::mm;
+      return db()->getDouble(m_SctBrlLadder,"SUPPORTTHICK",ladType) * Gaudi::Units::mm;
     }
   }
   return 0;
@@ -308,14 +308,14 @@ SCT_BarrelParameters::staveSupportMaterial(int ilayer) const{
 
 double 
 SCT_BarrelParameters::supportCylInnerRadius(int ilayer) const{
-  double risup = db()->getDouble(m_SctBrlServPerLayer,"SUPPORTCYLINNERRAD",ilayer) * GeoModelKernelUnits::mm;
+  double risup = db()->getDouble(m_SctBrlServPerLayer,"SUPPORTCYLINNERRAD",ilayer) * Gaudi::Units::mm;
   if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)<<"---------2 supportCylInnerRadius RISUP("<<ilayer<<") = "<< risup <<endmsg;
   return risup;
 }
 
 double 
 SCT_BarrelParameters::supportCylOuterRadius(int ilayer) const{
-  double rosup = db()->getDouble(m_SctBrlServPerLayer,"SUPPORTCYLOUTERRAD",ilayer) * GeoModelKernelUnits::mm;
+  double rosup = db()->getDouble(m_SctBrlServPerLayer,"SUPPORTCYLOUTERRAD",ilayer) * Gaudi::Units::mm;
   if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)<<"---------2 supportCylOuterRadius ROSUP("<<ilayer<<") = "<<rosup<<endmsg;
   return rosup;
 }
@@ -337,35 +337,35 @@ SCT_BarrelParameters::numLayers() const{
 
 double 
 SCT_BarrelParameters::barrelInnerRadius() const{
-  double rmin = db()->getDouble(m_SctBrlGeneral,"INNERRADIUS") * GeoModelKernelUnits::mm;
+  double rmin = db()->getDouble(m_SctBrlGeneral,"INNERRADIUS") * Gaudi::Units::mm;
   if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)<<"---------2 barrelInnerRadius RMIN = "<<rmin<<endmsg;
   return rmin;
 }
 
 double 
 SCT_BarrelParameters::barrelIntermediateRadius() const{
-  double rinter = db()->getDouble(m_SctBrlGeneral,"RINTERMEDIATE") * GeoModelKernelUnits::mm;
+  double rinter = db()->getDouble(m_SctBrlGeneral,"RINTERMEDIATE") * Gaudi::Units::mm;
   if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)<<"---------2 barrelIntermediateRadius RINTERMEDIATE = "<<rinter<<endmsg;
   return  rinter;
 }
 
 double 
 SCT_BarrelParameters::barrelOuterRadius() const{
-  double rmax = db()->getDouble(m_SctBrlGeneral,"OUTERRADIUS") * GeoModelKernelUnits::mm;
+  double rmax = db()->getDouble(m_SctBrlGeneral,"OUTERRADIUS") * Gaudi::Units::mm;
   if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)<<"---------2 barrelOuterRadius RMAX = "<<rmax<<endmsg;
   return rmax;
 }
 
 double 
 SCT_BarrelParameters::barrelLength() const{
-  double length =  db()->getDouble(m_SctBrlGeneral,"LENGTH") * GeoModelKernelUnits::mm;
+  double length =  db()->getDouble(m_SctBrlGeneral,"LENGTH") * Gaudi::Units::mm;
   if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)<<"---------2 barrelLength B_LEN = "<<length<<endmsg;
   return length;
 }
 
 double 
 SCT_BarrelParameters::barrelIntermediateLength() const{
-  double interlen =  db()->getDouble(m_SctBrlGeneral,"INTERMEDIATELEN") * GeoModelKernelUnits::mm;
+  double interlen =  db()->getDouble(m_SctBrlGeneral,"INTERMEDIATELEN") * Gaudi::Units::mm;
   if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG)<<"---------2 barrelIntermediateLength B_IntermediateLEN = "
 	   <<interlen<<endmsg;
   return interlen;
@@ -373,7 +373,7 @@ SCT_BarrelParameters::barrelIntermediateLength() const{
 
 double 
 SCT_BarrelParameters::barrelServicesMaterialCylinderLength() const {
-  return db()->getDouble(m_SctBrlGeneral,"BRLSERVMATTHICK") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctBrlGeneral,"BRLSERVMATTHICK") * Gaudi::Units::mm;
 }
 
 double 
diff --git a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_BarrelParametersOld.cxx b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_BarrelParametersOld.cxx
index d45829122a27..f0390b07e21f 100644
--- a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_BarrelParametersOld.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_BarrelParametersOld.cxx
@@ -5,7 +5,7 @@
 #include "SCT_SLHC_GeoModel/SCT_BarrelParametersOld.h"
 #include "SCT_SLHC_GeoModel/SCT_GeometryManager.h"
 #include "RDBAccessSvc/IRDBRecord.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include <iostream>
 #include <cmath>
 #include <stdio.h>
@@ -219,10 +219,10 @@ SCT_BarrelParametersOld::skiFirstStagger() const{
 
 double 
 SCT_BarrelParametersOld::skiRadialSep(int ilayer) const{
-  // return 2.8*GeoModelKernelUnits::mm;//mm
+  // return 2.8*Gaudi::Units::mm;//mm
   char paraName[50];
   sprintf(paraName, "L%d_MODULESRADIALSEPARATION", ilayer);
-  return (m_SCT_Parameters->find(paraName))->second * GeoModelKernelUnits::mm;
+  return (m_SCT_Parameters->find(paraName))->second * Gaudi::Units::mm;
 }
 
 int
@@ -256,22 +256,22 @@ double
 SCT_BarrelParametersOld::tilt(int ilayer) const{
   char paraName[50];
  sprintf(paraName, "L%d_TILT", ilayer);
-  std::cout<<"---------2 tilt layer TILT("<<ilayer<<") = "<<(m_SCT_Parameters->find(paraName))->second*GeoModelKernelUnits::degree<<std::endl;
-  return (m_SCT_Parameters->find(paraName))->second * GeoModelKernelUnits::degree;
+  std::cout<<"---------2 tilt layer TILT("<<ilayer<<") = "<<(m_SCT_Parameters->find(paraName))->second*Gaudi::Units::degree<<std::endl;
+  return (m_SCT_Parameters->find(paraName))->second * Gaudi::Units::degree;
 }
 
 double SCT_BarrelParametersOld::radius(int ilayer) const{
   char paraName[50];
   sprintf(paraName, "L%d_RLAY", ilayer);
-  std::cout<<"---------2 radius layer RLAY("<<ilayer<<") = "<<(m_SCT_Parameters->find(paraName))->second*GeoModelKernelUnits::cm<<std::endl;
-  return (m_SCT_Parameters->find(paraName))->second * GeoModelKernelUnits::cm;
+  std::cout<<"---------2 radius layer RLAY("<<ilayer<<") = "<<(m_SCT_Parameters->find(paraName))->second*Gaudi::Units::cm<<std::endl;
+  return (m_SCT_Parameters->find(paraName))->second * Gaudi::Units::cm;
 }
 
 double 
 SCT_BarrelParametersOld::cylLength(int ilayer) const{
   char paraName[50];
   sprintf(paraName, "L%d_CYLLENTGH", ilayer);
-  return (m_SCT_Parameters->find(paraName))->second * GeoModelKernelUnits::cm;
+  return (m_SCT_Parameters->find(paraName))->second * Gaudi::Units::cm;
 }
 
 bool SCT_BarrelParametersOld::doubleSided(int ilayer) const{
@@ -302,16 +302,16 @@ double
 SCT_BarrelParametersOld::supportCylInnerRadius(int ilayer) const{
   char paraName[50];
   sprintf(paraName, "L%d_RISUP", ilayer);
-  std::cout<<"---------2 supportCylInnerRadius RISUP("<<ilayer<<") = "<<(m_SCT_Parameters->find(paraName))->second*GeoModelKernelUnits::cm<<std::endl;
-  return (m_SCT_Parameters->find(paraName))->second * GeoModelKernelUnits::cm;
+  std::cout<<"---------2 supportCylInnerRadius RISUP("<<ilayer<<") = "<<(m_SCT_Parameters->find(paraName))->second*Gaudi::Units::cm<<std::endl;
+  return (m_SCT_Parameters->find(paraName))->second * Gaudi::Units::cm;
 }
 
 double 
 SCT_BarrelParametersOld::supportCylOuterRadius(int ilayer) const{
   char paraName[50];
   sprintf(paraName, "L%d_ROSUP", ilayer);
-  std::cout<<"---------2 supportCylOuterRadius ROSUP("<<ilayer<<") = "<<(m_SCT_Parameters->find(paraName))->second*GeoModelKernelUnits::cm<<std::endl;
-  return (m_SCT_Parameters->find(paraName))->second * GeoModelKernelUnits::cm;
+  std::cout<<"---------2 supportCylOuterRadius ROSUP("<<ilayer<<") = "<<(m_SCT_Parameters->find(paraName))->second*Gaudi::Units::cm<<std::endl;
+  return (m_SCT_Parameters->find(paraName))->second * Gaudi::Units::cm;
 }
 std::string 
 SCT_BarrelParametersOld::supportCylMaterial(int ilayer) const{
@@ -331,45 +331,45 @@ SCT_BarrelParametersOld::numLayers() const{
 
 double 
 SCT_BarrelParametersOld::barrelInnerRadius() const{
-  std::cout<<"---------2 barrelInnerRadius RMIN = "<<(m_SCT_Parameters->find("B_RMIN"))->second * GeoModelKernelUnits::cm<<std::endl;
+  std::cout<<"---------2 barrelInnerRadius RMIN = "<<(m_SCT_Parameters->find("B_RMIN"))->second * Gaudi::Units::cm<<std::endl;
   
-  return (m_SCT_Parameters->find("B_RMIN"))->second * GeoModelKernelUnits::cm;
+  return (m_SCT_Parameters->find("B_RMIN"))->second * Gaudi::Units::cm;
 }
 
 double 
 SCT_BarrelParametersOld::barrelIntermediateRadius() const{
-  std::cout<<"---------2 barrelIntermediateRadius RINTERMEDIATE = "<<(m_SCT_Parameters->find("B_RINTERMEDIATE"))->second * GeoModelKernelUnits::cm<<std::endl;
+  std::cout<<"---------2 barrelIntermediateRadius RINTERMEDIATE = "<<(m_SCT_Parameters->find("B_RINTERMEDIATE"))->second * Gaudi::Units::cm<<std::endl;
   
-  return (m_SCT_Parameters->find("B_RINTERMEDIATE"))->second * GeoModelKernelUnits::cm;
+  return (m_SCT_Parameters->find("B_RINTERMEDIATE"))->second * Gaudi::Units::cm;
 }
 
 double 
 SCT_BarrelParametersOld::barrelOuterRadius() const{
-  std::cout<<"---------2 barrelOuterRadius RMAX = "<<(m_SCT_Parameters->find("B_RMAX"))->second * GeoModelKernelUnits::cm<<std::endl;
+  std::cout<<"---------2 barrelOuterRadius RMAX = "<<(m_SCT_Parameters->find("B_RMAX"))->second * Gaudi::Units::cm<<std::endl;
   
-  return (m_SCT_Parameters->find("B_RMAX"))->second * GeoModelKernelUnits::cm;
+  return (m_SCT_Parameters->find("B_RMAX"))->second * Gaudi::Units::cm;
 }
 
 double 
 SCT_BarrelParametersOld::barrelLength() const{
   std::cout<<"---------2 barrelLength B_LEN = "
-	   <<(m_SCT_Parameters->find("B_LEN"))->second * GeoModelKernelUnits::cm<<std::endl;
+	   <<(m_SCT_Parameters->find("B_LEN"))->second * Gaudi::Units::cm<<std::endl;
   
-  return (m_SCT_Parameters->find("B_LEN"))->second * GeoModelKernelUnits::cm;
+  return (m_SCT_Parameters->find("B_LEN"))->second * Gaudi::Units::cm;
 }
 
 double 
 SCT_BarrelParametersOld::barrelIntermediateLength() const{
   std::cout<<"---------2 barrelIntermediateLength B_IntermediateLEN = "
-	   <<(m_SCT_Parameters->find("B_INTERMEDIATELEN"))->second * GeoModelKernelUnits::cm<<std::endl;
+	   <<(m_SCT_Parameters->find("B_INTERMEDIATELEN"))->second * Gaudi::Units::cm<<std::endl;
   
-  return (m_SCT_Parameters->find("B_INTERMEDIATELEN"))->second * GeoModelKernelUnits::cm;
+  return (m_SCT_Parameters->find("B_INTERMEDIATELEN"))->second * Gaudi::Units::cm;
 }
 
 double SCT_BarrelParametersOld::barrelServicesMaterialCylinderLength() const {
   char paraName[50];
   sprintf(paraName, "BARRELSERVICESMATERIALCYLINDERLENGTH");
-  return (double)(m_SCT_Parameters->find(paraName))->second * GeoModelKernelUnits::cm;
+  return (double)(m_SCT_Parameters->find(paraName))->second * Gaudi::Units::cm;
 }
 
 double SCT_BarrelParametersOld::barrelServicesMaterialIncreaseFactor() const {
diff --git a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_ComponentFactory.cxx b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_ComponentFactory.cxx
index 7b22c81779b1..77d48286700e 100644
--- a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_ComponentFactory.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_ComponentFactory.cxx
@@ -3,7 +3,7 @@
 */
 
 #include "SCT_SLHC_GeoModel/SCT_ComponentFactory.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <sstream>
 #include <string>
@@ -15,7 +15,7 @@ namespace InDetDDSLHC {
 SCT_DetectorManager * SCT_ComponentFactory::s_detectorManager = 0;
 const SCT_GeometryManager * SCT_ComponentFactory::s_geometryManager = 0;
 
-double SCT_ComponentFactory::s_epsilon = 1.0e-6 * GeoModelKernelUnits::mm;
+double SCT_ComponentFactory::s_epsilon = 1.0e-6 * Gaudi::Units::mm;
 
 SCT_ComponentFactory::SCT_ComponentFactory(const std::string & name) 
   : m_name(name)
diff --git a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_DetectorFactory.cxx b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_DetectorFactory.cxx
index 3010efc905c8..8d180d7f56da 100644
--- a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_DetectorFactory.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_DetectorFactory.cxx
@@ -45,7 +45,7 @@
 #include "RDBAccessSvc/IRDBRecord.h"
 
 #include "GeoModelKernel/GeoDefinitions.h"
-
+#include "GaudiKernel/PhysicalConstants.h"
 #include "GeoModelKernel/Units.h"
 
 #include <iostream> 
@@ -169,7 +169,7 @@ void SCT_DetectorFactory::create(GeoPhysVol *world){
     sctEnvelope = sctEnvelopeTmp;
   } else {
     // Build as PCon    
-    GeoPcon* sctEnvelopeTmp  = new GeoPcon(0.,2*GeoModelKernelUnits::pi);
+    GeoPcon* sctEnvelopeTmp  = new GeoPcon(0.,2*Gaudi::Units::pi);
     // table contains +ve z values only and envelope is assumed to be symmetric around z.
     int numPlanes = generalParameters->envelopeNumPlanes();
     for (int i = 0; i < numPlanes * 2; i++) {
@@ -238,7 +238,7 @@ void SCT_DetectorFactory::create(GeoPhysVol *world){
     idFwdMinus.setBarrelEC(-2);
     GeoVPhysVol* forwardMinus = sctForward.build(idFwdMinus);
     GeoTrf::Transform3D rot;
-    rot = GeoTrf::RotateY3D(180*GeoModelKernelUnits::degree);
+    rot = GeoTrf::RotateY3D(180*Gaudi::Units::degree);
     GeoTrf::Transform3D fwdTransformMinus = rot*fwdTransformPlus;
     GeoAlignableTransform* fwdGeoTransformMinus = new GeoAlignableTransform(fwdTransformMinus);
     sct->add(new GeoNameTag("ForwardMinus"));
@@ -246,7 +246,7 @@ void SCT_DetectorFactory::create(GeoPhysVol *world){
     sct->add(forwardMinus);
   
     //services material between barrel and endcap 
-    double safety = 1*GeoModelKernelUnits::mm;//1mm, just to avoid any clash
+    double safety = 1*Gaudi::Units::mm;//1mm, just to avoid any clash
     double length = sctForward.zCenter()-0.5*sctForward.length()-0.5*sctBarrel.length()-safety;//
     double barrelServicesCylinderLength  = barrelParameters->barrelServicesMaterialCylinderLength();
     //use user lenght paramters only if small than the gap
@@ -264,11 +264,11 @@ void SCT_DetectorFactory::create(GeoPhysVol *world){
     double materialIncreaseFactor              = barrelParameters->barrelServicesMaterialIncreaseFactor();
 
     if (barrelServicesCylinderLength > 0 && materialIncreaseFactor > 0 && !barrelParameters->barrelServicesMaterial().empty()) {
-      //double cf_density                          = 0.189*materialIncreaseFactor*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3;
-      //msg(MSG::INFO) <<"----length "<<barrelServicesCylinderLength<<" material "<<barrelParameters->barrelServicesMaterial()<<" IncreaseFactor "<<materialIncreaseFactor<<" cf_density (GeoModelKernelUnits::g/GeoModelKernelUnits::cm3) "<<cf_density/(GeoModelKernelUnits::g/GeoModelKernelUnits::cm3) << endmsg;
+      //double cf_density                          = 0.189*materialIncreaseFactor*GeoModelKernelUnits::g/Gaudi::Units::cm3;
+      //msg(MSG::INFO) <<"----length "<<barrelServicesCylinderLength<<" material "<<barrelParameters->barrelServicesMaterial()<<" IncreaseFactor "<<materialIncreaseFactor<<" cf_density (GeoModelKernelUnits::g/Gaudi::Units::cm3) "<<cf_density/(GeoModelKernelUnits::g/Gaudi::Units::cm3) << endmsg;
       //const GeoMaterial* barrel_serivesMaterial = materials->getMaterial(barrelParameters->barrelServicesMaterial(), cf_density, "UpgradeSCTBarrel_ServicesMaterial");
       const GeoMaterial* barrel_serivesMaterial = materials->getMaterialScaled(barrelParameters->barrelServicesMaterial(), materialIncreaseFactor, "UpgradeSCTBarrel_ServicesMaterial");
-      msg(MSG::INFO) <<"----length "<<barrelServicesCylinderLength<<" material "<<barrelParameters->barrelServicesMaterial()<<" IncreaseFactor "<<materialIncreaseFactor<<" density (GeoModelKernelUnits::g/GeoModelKernelUnits::cm3) "<< barrel_serivesMaterial->getDensity()/(GeoModelKernelUnits::g/GeoModelKernelUnits::cm3) << endmsg;
+      msg(MSG::INFO) <<"----length "<<barrelServicesCylinderLength<<" material "<<barrelParameters->barrelServicesMaterial()<<" IncreaseFactor "<<materialIncreaseFactor<<" density (GeoModelKernelUnits::g/Gaudi::Units::cm3) "<< barrel_serivesMaterial->getDensity()/(GeoModelKernelUnits::g/Gaudi::Units::cm3) << endmsg;
   
     
       const GeoTube*   barrelPos_servicesMaterialShape    = new GeoTube(inner_radius, outer_radius, 0.5*barrelServicesCylinderLength);
diff --git a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_ForwardModuleParameters.cxx b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_ForwardModuleParameters.cxx
index fde5723f6813..650b1e4d8729 100644
--- a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_ForwardModuleParameters.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_ForwardModuleParameters.cxx
@@ -6,8 +6,7 @@
 #include "SCT_SLHC_GeoModel/SCT_DataBase.h"
 #include "RDBAccessSvc/IRDBRecordset.h"
 #include "GeometryDBSvc/IGeometryDBSvc.h"
-
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <cmath>
 #include <iostream>
@@ -42,55 +41,55 @@ SCT_ForwardModuleParameters::fwdSensorNumWafers(int iModuleType) const
 double 
 SCT_ForwardModuleParameters::moduleInterSidesGap(int iModuleType) const
 {
-  return db()->getDouble(m_SctFwdModule,"INTERSIDESGAP",iModuleType) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctFwdModule,"INTERSIDESGAP",iModuleType) * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdSensorThickness(int iModuleType) const
 {
-  return db()->getDouble(m_SctFwdSensor,"THICKNESS",iModuleType) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctFwdSensor,"THICKNESS",iModuleType) * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdSensorLength(int iModuleType) const
 {
-  return db()->getDouble(m_SctFwdSensor,"LENGTH",iModuleType) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctFwdSensor,"LENGTH",iModuleType) * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdSensorInnerWidth(int iModuleType) const
 {
-  return db()->getDouble(m_SctFwdSensor,"INNERWIDTH",iModuleType) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctFwdSensor,"INNERWIDTH",iModuleType) * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdSensorOuterWidth(int iModuleType) const
 {
-  return db()->getDouble(m_SctFwdSensor,"OUTERWIDTH",iModuleType) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctFwdSensor,"OUTERWIDTH",iModuleType) * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdSensorInnerRadius(int iModuleType) const
 {
-  return db()->getDouble(m_SctFwdSensor,"INNERRADIUS",iModuleType) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctFwdSensor,"INNERRADIUS",iModuleType) * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdSensorOuterRadius(int iModuleType) const
 {
-  return db()->getDouble(m_SctFwdSensor,"OUTERRADIUS",iModuleType) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctFwdSensor,"OUTERRADIUS",iModuleType) * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdSensorMiddleRadius(int iModuleType) const
 {
-  return db()->getDouble(m_SctFwdSensor,"MIDDLERADIUS",iModuleType) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctFwdSensor,"MIDDLERADIUS",iModuleType) * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdSensorDeltaPhi(int iModuleType) const
 {
-   return db()->getDouble(m_SctFwdSensor,"DELTAPHI",iModuleType) * GeoModelKernelUnits::mm;
+   return db()->getDouble(m_SctFwdSensor,"DELTAPHI",iModuleType) * Gaudi::Units::mm;
 }
 
 std::string 
@@ -102,13 +101,13 @@ SCT_ForwardModuleParameters::fwdSensorMaterial(int iModuleType) const
 double 
 SCT_ForwardModuleParameters::fwdSensorActiveHalfLength(int iModuleType) const
 {
-  return db()->getDouble(m_SctFwdSensor,"ACTIVEHALFLENGTH",iModuleType) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctFwdSensor,"ACTIVEHALFLENGTH",iModuleType) * Gaudi::Units::mm;
 }  
 
 double 
 SCT_ForwardModuleParameters::fwdSensorAngularPitch(int iModuleType) const
 {
-  return db()->getDouble(m_SctFwdSensor,"ANGULARPITCH",iModuleType) * GeoModelKernelUnits::radian;
+  return db()->getDouble(m_SctFwdSensor,"ANGULARPITCH",iModuleType) * Gaudi::Units::radian;
 }
 
 int
@@ -120,7 +119,7 @@ SCT_ForwardModuleParameters::fwdSensorNumReadoutStrips(int iModuleType) const
 double 
 SCT_ForwardModuleParameters::fwdModuleStereoAngle(int iModuleType) const
 {
-  return db()->getDouble(m_SctFwdModule,"STEREOANGLE",iModuleType) * GeoModelKernelUnits::milliradian;
+  return db()->getDouble(m_SctFwdModule,"STEREOANGLE",iModuleType) * Gaudi::Units::milliradian;
 }
 
 int 
@@ -138,24 +137,24 @@ SCT_ForwardModuleParameters::fwdSensorChargeCarrier(int iModuleType) const
 double 
 SCT_ForwardModuleParameters::fwdSpineThickness(int iModuleType) const
 {
-  return db()->getDouble(m_SctFwdSpine,"THICKNESS",iModuleType) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctFwdSpine,"THICKNESS",iModuleType) * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdSpineLength(int iModuleType) const
 {
-  return db()->getDouble(m_SctFwdSpine,"LENGTH",iModuleType) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctFwdSpine,"LENGTH",iModuleType) * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdSpineMiddleRadius(int iModuleType) const
 {
-  return db()->getDouble(m_SctFwdSpine,"MIDDLERADIUS",iModuleType) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctFwdSpine,"MIDDLERADIUS",iModuleType) * Gaudi::Units::mm;
 }
 
 double 
 SCT_ForwardModuleParameters::fwdSpineDeltaPhi(int iModuleType) const{
-  return db()->getDouble(m_SctFwdSpine,"DELTAPHI",iModuleType) * GeoModelKernelUnits::radian;
+  return db()->getDouble(m_SctFwdSpine,"DELTAPHI",iModuleType) * Gaudi::Units::radian;
 }
 
 std::string 
diff --git a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_ForwardModuleParametersOld.cxx b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_ForwardModuleParametersOld.cxx
index 07e4cc36fd25..c822eb747541 100644
--- a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_ForwardModuleParametersOld.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_ForwardModuleParametersOld.cxx
@@ -6,8 +6,7 @@
 #include "SCT_SLHC_GeoModel/SCT_DataBase.h"
 #include "RDBAccessSvc/IRDBRecordset.h"
 #include "RDBAccessSvc/IRDBRecord.h"
-
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <cmath>
 #include <iostream>
@@ -116,7 +115,7 @@ SCT_ForwardModuleParametersOld::moduleInterSidesGap(int iModuleType) const
 {
   char paraName[50];
   sprintf(paraName, "FWD_M%d_INTERSIDESGAP", iModuleType);
-  return (double)(m_SCT_Fwd_Modules->find(paraName))->second*GeoModelKernelUnits::mm;
+  return (double)(m_SCT_Fwd_Modules->find(paraName))->second*Gaudi::Units::mm;
 }
 
 double 
@@ -124,9 +123,9 @@ SCT_ForwardModuleParametersOld::fwdSensorThickness(int iModuleType) const
 {
   char paraName[50];
   sprintf(paraName, "FWD_M%d_SENSORTHICKNESS", iModuleType);
-  return (double)(m_SCT_Fwd_Modules->find(paraName))->second*GeoModelKernelUnits::mm;
-  //---return  2.0 * m_rdb->zsmo()->getDouble("DZSC") * GeoModelKernelUnits::cm;
- //---return  m_rdb->fwdSensor(iModuleType)->getDouble("THICKNESS") * GeoModelKernelUnits::mm;
+  return (double)(m_SCT_Fwd_Modules->find(paraName))->second*Gaudi::Units::mm;
+  //---return  2.0 * m_rdb->zsmo()->getDouble("DZSC") * Gaudi::Units::cm;
+ //---return  m_rdb->fwdSensor(iModuleType)->getDouble("THICKNESS") * Gaudi::Units::mm;
 }
 
 double 
@@ -134,23 +133,23 @@ SCT_ForwardModuleParametersOld::fwdSensorLength(int iModuleType) const
 {
   char paraName[50];
   sprintf(paraName, "FWD_M%d_SENSORLENGTH", iModuleType);
-  return (double)(m_SCT_Fwd_Modules->find(paraName))->second*GeoModelKernelUnits::mm;
-  //---return  m_rdb->zsmi(iModuleType)->getDouble("RLF") * GeoModelKernelUnits::cm;
-//---return  m_rdb->fwdSensor(iModuleType)->getDouble("LENGTHFAR") * GeoModelKernelUnits::mm;
+  return (double)(m_SCT_Fwd_Modules->find(paraName))->second*Gaudi::Units::mm;
+  //---return  m_rdb->zsmi(iModuleType)->getDouble("RLF") * Gaudi::Units::cm;
+//---return  m_rdb->fwdSensor(iModuleType)->getDouble("LENGTHFAR") * Gaudi::Units::mm;
 }
 double 
 SCT_ForwardModuleParametersOld::fwdSensorInnerWidth(int iModuleType) const
 {
   char paraName[50];
   sprintf(paraName, "FWD_M%d_SENSORINNERWIDTH", iModuleType);
-  return (double)(m_SCT_Fwd_Modules->find(paraName))->second*GeoModelKernelUnits::mm;
+  return (double)(m_SCT_Fwd_Modules->find(paraName))->second*Gaudi::Units::mm;
 }
 double 
 SCT_ForwardModuleParametersOld::fwdSensorOuterWidth(int iModuleType) const
 {
   char paraName[50];
   sprintf(paraName, "FWD_M%d_SENSOROUTERWIDTH", iModuleType);
-  return (double)(m_SCT_Fwd_Modules->find(paraName))->second*GeoModelKernelUnits::mm;
+  return (double)(m_SCT_Fwd_Modules->find(paraName))->second*Gaudi::Units::mm;
 }
 
 double 
@@ -158,9 +157,9 @@ SCT_ForwardModuleParametersOld::fwdSensorInnerRadius(int iModuleType) const
 {
   char paraName[50];
   sprintf(paraName, "FWD_M%d_SENSORINNERRADIUS", iModuleType);
-  return (double)(m_SCT_Fwd_Modules->find(paraName))->second*GeoModelKernelUnits::mm;
-  //---return  m_rdb->zsmi(iModuleType)->getDouble("RINNERF") * GeoModelKernelUnits::cm;
-  //---return  m_rdb->fwdSensor(iModuleType)->getDouble("INNERWIDTHFAR") * GeoModelKernelUnits::mm;
+  return (double)(m_SCT_Fwd_Modules->find(paraName))->second*Gaudi::Units::mm;
+  //---return  m_rdb->zsmi(iModuleType)->getDouble("RINNERF") * Gaudi::Units::cm;
+  //---return  m_rdb->fwdSensor(iModuleType)->getDouble("INNERWIDTHFAR") * Gaudi::Units::mm;
 }
 
 double 
@@ -168,9 +167,9 @@ SCT_ForwardModuleParametersOld::fwdSensorOuterRadius(int iModuleType) const
 {
   char paraName[50];
   sprintf(paraName, "FWD_M%d_SENSOROUTERRADIUS", iModuleType);
-  return (double)(m_SCT_Fwd_Modules->find(paraName))->second*GeoModelKernelUnits::mm;
-  //---return  m_rdb->zsmi(iModuleType)->getDouble("ROUTERF") * GeoModelKernelUnits::cm;
-  //---return  m_rdb->fwdSensor(iModuleType)->getDouble("OUTERWIDTHFAR") * GeoModelKernelUnits::mm;
+  return (double)(m_SCT_Fwd_Modules->find(paraName))->second*Gaudi::Units::mm;
+  //---return  m_rdb->zsmi(iModuleType)->getDouble("ROUTERF") * Gaudi::Units::cm;
+  //---return  m_rdb->fwdSensor(iModuleType)->getDouble("OUTERWIDTHFAR") * Gaudi::Units::mm;
 }
 
 double 
@@ -178,15 +177,15 @@ SCT_ForwardModuleParametersOld::fwdSensorMiddleRadius(int iModuleType) const
 {
   char paraName[50];
   sprintf(paraName, "FWD_M%d_SENSORMIDDLERADIUS", iModuleType);
-  return (double)(m_SCT_Fwd_Modules->find(paraName))->second*GeoModelKernelUnits::mm;
-  //---return  m_rdb->zsmi(iModuleType)->getDouble("ROUTERF") * GeoModelKernelUnits::cm;
-//---return  m_rdb->fwdSensor(iModuleType)->getDouble("OUTERWIDTHFAR") * GeoModelKernelUnits::mm;
+  return (double)(m_SCT_Fwd_Modules->find(paraName))->second*Gaudi::Units::mm;
+  //---return  m_rdb->zsmi(iModuleType)->getDouble("ROUTERF") * Gaudi::Units::cm;
+//---return  m_rdb->fwdSensor(iModuleType)->getDouble("OUTERWIDTHFAR") * Gaudi::Units::mm;
 }
 double 
 SCT_ForwardModuleParametersOld::fwdSensorDeltaPhi(int iModuleType) const{
   char paraName[50];
   sprintf(paraName, "FWD_M%d_SENSORDELTAPHI", iModuleType);
-  return (double)(m_SCT_Fwd_Modules->find(paraName))->second*GeoModelKernelUnits::radian;
+  return (double)(m_SCT_Fwd_Modules->find(paraName))->second*Gaudi::Units::radian;
 }
 
 std::string 
@@ -203,9 +202,9 @@ SCT_ForwardModuleParametersOld::fwdSensorActiveHalfLength(int iModuleType) const
 {
   char paraName[50];
   sprintf(paraName, "FWD_M%d_ACTIVEHALFLENGTH", iModuleType);
-  return (double)(m_SCT_Fwd_Modules->find(paraName))->second*GeoModelKernelUnits::mm;
-  //---return  m_rdb->zsmi(iModuleType)->getDouble("RSEF") * GeoModelKernelUnits::cm;
- //---return  m_rdb->fwdSensor(iModuleType)->getDouble("ACTIVEHALFLENGTHFAR") * GeoModelKernelUnits::mm;
+  return (double)(m_SCT_Fwd_Modules->find(paraName))->second*Gaudi::Units::mm;
+  //---return  m_rdb->zsmi(iModuleType)->getDouble("RSEF") * Gaudi::Units::cm;
+ //---return  m_rdb->fwdSensor(iModuleType)->getDouble("ACTIVEHALFLENGTHFAR") * Gaudi::Units::mm;
 }
 
 double 
@@ -213,9 +212,9 @@ SCT_ForwardModuleParametersOld::fwdSensorAngularPitch(int iModuleType) const
 {
   char paraName[50];
   sprintf(paraName, "FWD_M%d_ANGULARPITCH", iModuleType);
-  return (double)(m_SCT_Fwd_Modules->find(paraName))->second*GeoModelKernelUnits::radian;
-  //---return  m_rdb->zsmi(iModuleType)->getDouble("PHISTR") * GeoModelKernelUnits::radian;
-  //---return  m_rdb->fwdSensor(iModuleType)->getDouble("ANGULARPITCH") * GeoModelKernelUnits::radian;
+  return (double)(m_SCT_Fwd_Modules->find(paraName))->second*Gaudi::Units::radian;
+  //---return  m_rdb->zsmi(iModuleType)->getDouble("PHISTR") * Gaudi::Units::radian;
+  //---return  m_rdb->fwdSensor(iModuleType)->getDouble("ANGULARPITCH") * Gaudi::Units::radian;
 }
 
 int
@@ -233,9 +232,9 @@ SCT_ForwardModuleParametersOld::fwdModuleStereoAngle(int iModuleType) const
 {
   char paraName[50];
   sprintf(paraName, "FWD_M%d_STEREOANGLE", iModuleType);
-  return (double)(m_SCT_Fwd_Modules->find(paraName))->second*GeoModelKernelUnits::milliradian;
-  //---return 40 * GeoModelKernelUnits::milliradian;
-  //---return m_rdb->fwdModule(iModuleType)->getDouble("STEREOANGLE") * GeoModelKernelUnits::milliradian;
+  return (double)(m_SCT_Fwd_Modules->find(paraName))->second*Gaudi::Units::milliradian;
+  //---return 40 * Gaudi::Units::milliradian;
+  //---return m_rdb->fwdModule(iModuleType)->getDouble("STEREOANGLE") * Gaudi::Units::milliradian;
 }
 
 //
@@ -246,9 +245,9 @@ SCT_ForwardModuleParametersOld::fwdSpineThickness(int iModuleType) const
 {
   char paraName[50];
   sprintf(paraName, "FWD_M%d_SPINETHICKNESS", iModuleType);
-  return (double)(m_SCT_Fwd_Modules->find(paraName))->second*GeoModelKernelUnits::mm;
-  //---return 1*GeoModelKernelUnits::mm;
-  //---return  m_rdb->fwdSpine(iModuleType)->getDouble("THICKNESS") * GeoModelKernelUnits::mm;
+  return (double)(m_SCT_Fwd_Modules->find(paraName))->second*Gaudi::Units::mm;
+  //---return 1*Gaudi::Units::mm;
+  //---return  m_rdb->fwdSpine(iModuleType)->getDouble("THICKNESS") * Gaudi::Units::mm;
 }
 
 double 
@@ -256,11 +255,11 @@ SCT_ForwardModuleParametersOld::fwdSpineLength(int iModuleType) const
 {
   char paraName[50];
   sprintf(paraName, "FWD_M%d_SPINELENGTH", iModuleType);
-  return (double)(m_SCT_Fwd_Modules->find(paraName))->second*GeoModelKernelUnits::mm;
-  //return 8*GeoModelKernelUnits::cm;
-  //---  return (m_rdb->fwdSensor(iModuleType)->getDouble("LENGTHNEAR") * GeoModelKernelUnits::mm
-  //---	  + m_rdb->fwdSensor(iModuleType)->getDouble("LENGTHFAR") * GeoModelKernelUnits::mm + 2*GeoModelKernelUnits::cm);
-//return  m_rdb->fwdSpine(iModuleType)->getDouble("WIDTH") * GeoModelKernelUnits::mm;
+  return (double)(m_SCT_Fwd_Modules->find(paraName))->second*Gaudi::Units::mm;
+  //return 8*Gaudi::Units::cm;
+  //---  return (m_rdb->fwdSensor(iModuleType)->getDouble("LENGTHNEAR") * Gaudi::Units::mm
+  //---	  + m_rdb->fwdSensor(iModuleType)->getDouble("LENGTHFAR") * Gaudi::Units::mm + 2*Gaudi::Units::cm);
+//return  m_rdb->fwdSpine(iModuleType)->getDouble("WIDTH") * Gaudi::Units::mm;
 }
 
 double 
@@ -268,13 +267,13 @@ SCT_ForwardModuleParametersOld::fwdSpineMiddleRadius(int iModuleType) const
 {
   char paraName[50];
   sprintf(paraName, "FWD_M%d_SPINEMIDDLERADIUS", iModuleType);
-  return (double)(m_SCT_Fwd_Modules->find(paraName))->second*GeoModelKernelUnits::mm;
+  return (double)(m_SCT_Fwd_Modules->find(paraName))->second*Gaudi::Units::mm;
 }
 double 
 SCT_ForwardModuleParametersOld::fwdSpineDeltaPhi(int iModuleType) const{
   char paraName[50];
   sprintf(paraName, "FWD_M%d_SPINEDELTAPHI", iModuleType);
-  return (double)(m_SCT_Fwd_Modules->find(paraName))->second*GeoModelKernelUnits::radian;
+  return (double)(m_SCT_Fwd_Modules->find(paraName))->second*Gaudi::Units::radian;
 }
 
 std::string 
diff --git a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_ForwardParameters.cxx b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_ForwardParameters.cxx
index 7b9d76a7f0bd..3c7af8b84e5c 100644
--- a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_ForwardParameters.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_ForwardParameters.cxx
@@ -7,9 +7,7 @@
 #include "SCT_SLHC_GeoModel/SCT_DataBase.h"
 #include "RDBAccessSvc/IRDBRecordset.h"
 #include "GeometryDBSvc/IGeometryDBSvc.h"
-
-
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <iostream>
 #include <cmath>
@@ -72,7 +70,7 @@ SCT_ForwardParameters::fwdNumWheels() const
 double
 SCT_ForwardParameters::fwdWheelZPosition(int iWheel) const
 {
-  return db()->getDouble(m_SctFwdWheel,"ZPOSITION",iWheel) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctFwdWheel,"ZPOSITION",iWheel) * Gaudi::Units::mm;
 }
 
 int
@@ -107,19 +105,19 @@ SCT_ForwardParameters::getRingMapIndex(int iWheel, int iRingIndex) const
 double
 SCT_ForwardParameters::fwdDiscSupportInnerRadius(int iWheel) const
 {
-  return db()->getDouble(m_SctFwdDiscSupport,"INNERRADIUS",iWheel) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctFwdDiscSupport,"INNERRADIUS",iWheel) * Gaudi::Units::mm;
 } 
 
 double
 SCT_ForwardParameters::fwdDiscSupportOuterRadius(int iWheel) const
 {
-  return db()->getDouble(m_SctFwdDiscSupport,"OUTERRADIUS",iWheel) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctFwdDiscSupport,"OUTERRADIUS",iWheel) * Gaudi::Units::mm;
 }
  
 double
 SCT_ForwardParameters::fwdDiscSupportThickness(int iWheel) const
 {
-  return db()->getDouble(m_SctFwdDiscSupport,"THICKNESS",iWheel) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctFwdDiscSupport,"THICKNESS",iWheel) * Gaudi::Units::mm;
 } 
 
 std::string
@@ -142,37 +140,37 @@ SCT_ForwardParameters::fwdRingNumModules(int iRingType) const
 double
 SCT_ForwardParameters::fwdRingInnerRadius(int iRingType) const
 {
-  return db()->getDouble(m_SctFwdRing,"INNERRADIUS",iRingType) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctFwdRing,"INNERRADIUS",iRingType) * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardParameters::fwdRingMiddleRadius(int iRingType) const
 {
-  return db()->getDouble(m_SctFwdRing,"MIDDLERADIUS",iRingType) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctFwdRing,"MIDDLERADIUS",iRingType) * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardParameters::fwdRingOuterRadius(int iRingType) const
 {
-  return db()->getDouble(m_SctFwdRing,"OUTERRADIUS",iRingType) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctFwdRing,"OUTERRADIUS",iRingType) * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardParameters::fwdRingOffset(int iRingType) const
 {
-  return db()->getDouble(m_SctFwdRing,"OFFSET",iRingType) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctFwdRing,"OFFSET",iRingType) * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardParameters::fwdRingModuleStagger(int iRingType) const
 {
-  return db()->getDouble(m_SctFwdRing,"MODULESTAGGER",iRingType) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctFwdRing,"MODULESTAGGER",iRingType) * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardParameters::fwdRingPhiOfRefModule(int iRingType) const
 {
-  return db()->getDouble(m_SctFwdRing,"PHIOFREFMODULE",iRingType) * GeoModelKernelUnits::radian;
+  return db()->getDouble(m_SctFwdRing,"PHIOFREFMODULE",iRingType) * Gaudi::Units::radian;
 }
 
 int
@@ -205,37 +203,37 @@ SCT_ForwardParameters::fwdWheelStereoType(m_iWheel, int iRing) const
 double
 SCT_ForwardParameters::fwdInnerRadius() const
 {
-  return db()->getDouble(m_SctFwdGeneral,"INNERRADIUS") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctFwdGeneral,"INNERRADIUS") * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardParameters::fwdIntermediateRadius() const
 {
-  return db()->getDouble(m_SctFwdGeneral,"RINTERMEDIATE") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctFwdGeneral,"RINTERMEDIATE") * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardParameters::fwdOuterRadius() const
 {
-  return db()->getDouble(m_SctFwdGeneral,"OUTERRADIUS") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctFwdGeneral,"OUTERRADIUS") * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardParameters::fwdZMin() const
 {
-  return db()->getDouble(m_SctFwdGeneral,"ZMIN") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctFwdGeneral,"ZMIN") * Gaudi::Units::mm;
 } 
 
 double
 SCT_ForwardParameters::fwdZIntermediate() const
 {
-  return db()->getDouble(m_SctFwdGeneral,"ZINTERMEDIATE") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctFwdGeneral,"ZINTERMEDIATE") * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardParameters::fwdZMax() const
 {
-  return db()->getDouble(m_SctFwdGeneral,"ZMAX") * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctFwdGeneral,"ZMAX") * Gaudi::Units::mm;
 }
 
 }
diff --git a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_ForwardParametersOld.cxx b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_ForwardParametersOld.cxx
index 71ee405b5f41..c24a6dbc5408 100644
--- a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_ForwardParametersOld.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_ForwardParametersOld.cxx
@@ -8,9 +8,7 @@
 #include "SCT_SLHC_GeoModel/SCT_DataBase.h"
 #include "RDBAccessSvc/IRDBRecordset.h"
 #include "RDBAccessSvc/IRDBRecord.h"
-
-
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <iostream>
 #include <cmath>
@@ -190,8 +188,8 @@ SCT_ForwardParametersOld::fwdWheelZPosition(int iWheel) const
 {
   char paraName[50];
   sprintf(paraName, "W%d_DISKZPOSITION", iWheel);
-  return (double)(m_SCT_Fwd_Parameters->find(paraName))->second*GeoModelKernelUnits::mm;
-  //return m_rdb->fwdWheel(iWheel)->getDouble("ZPOSITION") * GeoModelKernelUnits::mm;
+  return (double)(m_SCT_Fwd_Parameters->find(paraName))->second*Gaudi::Units::mm;
+  //return m_rdb->fwdWheel(iWheel)->getDouble("ZPOSITION") * Gaudi::Units::mm;
 }
 
 int
@@ -217,8 +215,8 @@ SCT_ForwardParametersOld::fwdDiscSupportInnerRadius(int iWheel) const
 {
   char paraName[50];
   sprintf(paraName, "W%d_DISKINNERRADIUS", iWheel);
-  return (double)(m_SCT_Fwd_Parameters->find(paraName))->second*GeoModelKernelUnits::mm;
-  //---return m_rdb->fwdDiscSupport()->getDouble("INNERRADIUS") * GeoModelKernelUnits::mm;
+  return (double)(m_SCT_Fwd_Parameters->find(paraName))->second*Gaudi::Units::mm;
+  //---return m_rdb->fwdDiscSupport()->getDouble("INNERRADIUS") * Gaudi::Units::mm;
 }
 
 double
@@ -226,8 +224,8 @@ SCT_ForwardParametersOld::fwdDiscSupportOuterRadius(int iWheel) const
 {
   char paraName[50];
   sprintf(paraName, "W%d_DISKOUTERRADIUS", iWheel);
-  return (double)(m_SCT_Fwd_Parameters->find(paraName))->second*GeoModelKernelUnits::mm;
-  //---return m_rdb->fwdDiscSupport()->getDouble("OUTERRADIUS") * GeoModelKernelUnits::mm;
+  return (double)(m_SCT_Fwd_Parameters->find(paraName))->second*Gaudi::Units::mm;
+  //---return m_rdb->fwdDiscSupport()->getDouble("OUTERRADIUS") * Gaudi::Units::mm;
 }
  
 double
@@ -235,8 +233,8 @@ SCT_ForwardParametersOld::fwdDiscSupportThickness(int iWheel) const
 {
   char paraName[50];
   sprintf(paraName, "W%d_DISKTHICKNESS", iWheel);
-  return (double)(m_SCT_Fwd_Parameters->find(paraName))->second*GeoModelKernelUnits::mm;
-  //---return m_rdb->fwdDiscSupport()->getDouble("THICKNESS") * GeoModelKernelUnits::mm;
+  return (double)(m_SCT_Fwd_Parameters->find(paraName))->second*Gaudi::Units::mm;
+  //---return m_rdb->fwdDiscSupport()->getDouble("THICKNESS") * Gaudi::Units::mm;
 }
 
 std::string
@@ -267,7 +265,7 @@ SCT_ForwardParametersOld::fwdRingInnerRadius(int iRing) const
 {
   char paraName[50];
   sprintf(paraName, "Ring_%d_INNERRADIUS", iRing);
-  return (double)(m_SCT_Fwd_Parameters->find(paraName))->second*GeoModelKernelUnits::mm;
+  return (double)(m_SCT_Fwd_Parameters->find(paraName))->second*Gaudi::Units::mm;
 }
 
 double
@@ -275,14 +273,14 @@ SCT_ForwardParametersOld::fwdRingMiddleRadius(int iRing) const
 {
   char paraName[50];
   sprintf(paraName, "Ring_%d_MIDDLERADIUS", iRing);
-  return (double)(m_SCT_Fwd_Parameters->find(paraName))->second*GeoModelKernelUnits::mm;
+  return (double)(m_SCT_Fwd_Parameters->find(paraName))->second*Gaudi::Units::mm;
 }
 double
 SCT_ForwardParametersOld::fwdRingOuterRadius(int iRing) const
 {
   char paraName[50];
   sprintf(paraName, "Ring_%d_OUTERRADIUS", iRing);
-  return (double)(m_SCT_Fwd_Parameters->find(paraName))->second*GeoModelKernelUnits::mm;
+  return (double)(m_SCT_Fwd_Parameters->find(paraName))->second*Gaudi::Units::mm;
 }
 
 double
@@ -290,7 +288,7 @@ SCT_ForwardParametersOld::fwdRingOffset(int iRing) const
 {
   char paraName[50];
   sprintf(paraName, "Ring_%d_OFFSET", iRing);
-  return (double)(m_SCT_Fwd_Parameters->find(paraName))->second*GeoModelKernelUnits::mm;
+  return (double)(m_SCT_Fwd_Parameters->find(paraName))->second*Gaudi::Units::mm;
 }
 
 double
@@ -298,8 +296,8 @@ SCT_ForwardParametersOld::fwdRingModuleStagger(int iRing) const
 {
   char paraName[50];
   sprintf(paraName, "Ring_%d_MODULESTAGGER", iRing);
-  return (double)(m_SCT_Fwd_Parameters->find(paraName))->second*GeoModelKernelUnits::mm;
-  //---return m_rdb->fwdRing(iRing)->getDouble("MODULESTAGGER") * GeoModelKernelUnits::mm;
+  return (double)(m_SCT_Fwd_Parameters->find(paraName))->second*Gaudi::Units::mm;
+  //---return m_rdb->fwdRing(iRing)->getDouble("MODULESTAGGER") * Gaudi::Units::mm;
 }
 
 double
@@ -307,8 +305,8 @@ SCT_ForwardParametersOld::fwdRingPhiOfRefModule(int iRing) const
 {
   char paraName[50];
   sprintf(paraName, "Ring_%d_PHIOFREFMODULE", iRing);
-  return (double)(m_SCT_Fwd_Parameters->find(paraName))->second*GeoModelKernelUnits::radian;
-  //---return m_rdb->fwdRing(iRing)->getDouble("PHIOFREFMODULE") * GeoModelKernelUnits::deg;
+  return (double)(m_SCT_Fwd_Parameters->find(paraName))->second*Gaudi::Units::radian;
+  //---return m_rdb->fwdRing(iRing)->getDouble("PHIOFREFMODULE") * Gaudi::Units::deg;
 }
 
 int
@@ -348,22 +346,22 @@ SCT_ForwardParametersOld::fwdWheelStereoType(m_iWheel, int iRing) const
 double
 SCT_ForwardParametersOld::fwdInnerRadius() const
 {
-  return (double)(m_SCT_Fwd_Parameters->find("FWD_INNERRADIUS"))->second*GeoModelKernelUnits::mm;
-  // return m_rdb->fwdGeneral()->getDouble("INNERRADIUS") * GeoModelKernelUnits::mm;
+  return (double)(m_SCT_Fwd_Parameters->find("FWD_INNERRADIUS"))->second*Gaudi::Units::mm;
+  // return m_rdb->fwdGeneral()->getDouble("INNERRADIUS") * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardParametersOld::fwdIntermediateRadius() const
 {
-  return (double)(m_SCT_Fwd_Parameters->find("FWD_INTERMEDIATERADIUS"))->second*GeoModelKernelUnits::mm;
-  // return m_rdb->fwdGeneral()->getDouble("INNERRADIUS") * GeoModelKernelUnits::mm;
+  return (double)(m_SCT_Fwd_Parameters->find("FWD_INTERMEDIATERADIUS"))->second*Gaudi::Units::mm;
+  // return m_rdb->fwdGeneral()->getDouble("INNERRADIUS") * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardParametersOld::fwdOuterRadius() const
 {
-  return (double)(m_SCT_Fwd_Parameters->find("FWD_OUTERRADIUS"))->second*GeoModelKernelUnits::mm;
-  // return m_rdb->fwdGeneral()->getDouble("OUTERRADIUS") * GeoModelKernelUnits::mm;
+  return (double)(m_SCT_Fwd_Parameters->find("FWD_OUTERRADIUS"))->second*Gaudi::Units::mm;
+  // return m_rdb->fwdGeneral()->getDouble("OUTERRADIUS") * Gaudi::Units::mm;
 }
 
 
@@ -372,22 +370,22 @@ SCT_ForwardParametersOld::fwdOuterRadius() const
 double
 SCT_ForwardParametersOld::fwdZMin() const
 {
-  return (double)(m_SCT_Fwd_Parameters->find("FWD_ZMIN"))->second*GeoModelKernelUnits::mm;
-  //return m_rdb->fwdGeneral()->getDouble("ZMIN") * GeoModelKernelUnits::mm;
+  return (double)(m_SCT_Fwd_Parameters->find("FWD_ZMIN"))->second*Gaudi::Units::mm;
+  //return m_rdb->fwdGeneral()->getDouble("ZMIN") * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardParametersOld::fwdZIntermediate() const
 {
-  return (double)(m_SCT_Fwd_Parameters->find("FWD_ZINTERMEDIATE"))->second*GeoModelKernelUnits::mm;
-  //return m_rdb->fwdGeneral()->getDouble("ZMIN") * GeoModelKernelUnits::mm;
+  return (double)(m_SCT_Fwd_Parameters->find("FWD_ZINTERMEDIATE"))->second*Gaudi::Units::mm;
+  //return m_rdb->fwdGeneral()->getDouble("ZMIN") * Gaudi::Units::mm;
 }
 
 double
 SCT_ForwardParametersOld::fwdZMax() const
 {
-  return (double)(m_SCT_Fwd_Parameters->find("FWD_ZMAX"))->second*GeoModelKernelUnits::mm;
-  //return m_rdb->fwdGeneral()->getDouble("ZMAX") * GeoModelKernelUnits::mm;
+  return (double)(m_SCT_Fwd_Parameters->find("FWD_ZMAX"))->second*Gaudi::Units::mm;
+  //return m_rdb->fwdGeneral()->getDouble("ZMAX") * Gaudi::Units::mm;
 }
 
 }
diff --git a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_FwdDiscSupport.cxx b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_FwdDiscSupport.cxx
index 7a409fbfa5b0..0637ff630376 100644
--- a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_FwdDiscSupport.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_FwdDiscSupport.cxx
@@ -10,7 +10,7 @@
 #include "GeoModelKernel/GeoTube.h"
 #include "GeoModelKernel/GeoLogVol.h"
 #include "GeoModelKernel/GeoPhysVol.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 namespace InDetDDSLHC {
 
@@ -31,7 +31,7 @@ void SCT_FwdDiscSupport::getParameters(){
   //m_material     = materials.getMaterial(parameters->fwdDiscSupportMaterial(m_iWheel));
   //0.1265 is taken from oracle database (DiskSupport)
   double materialIncreaseFactor = parameters->materialIncreaseFactor(m_iWheel);
-  //double cf_density = 0.1265*materialIncreaseFactor*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3;
+  //double cf_density = 0.1265*materialIncreaseFactor*GeoModelKernelUnits::g/Gaudi::Units::cm3;
   //m_material = materials->getMaterial(parameters->fwdDiscSupportMaterial(m_iWheel), cf_density);
   m_material = materials->getMaterialScaled(parameters->fwdDiscSupportMaterial(m_iWheel), materialIncreaseFactor);
 }
diff --git a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_FwdModule.cxx b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_FwdModule.cxx
index a6f5a6354ff7..5762fe08b400 100644
--- a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_FwdModule.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_FwdModule.cxx
@@ -23,11 +23,8 @@
 #include "GeoModelKernel/GeoTransform.h"
 #include "GeoModelKernel/GeoAlignableTransform.h"
 #include "GeoModelKernel/GeoMaterial.h"
-
-#include "GeoModelKernel/Units.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-
-
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <cmath>
 #include <sstream>
@@ -71,23 +68,23 @@ const GeoLogVol * SCT_FwdModule::preBuild(){
   m_sensor = new SCT_FwdSensor("ECSensor0", m_ring);
 
   //prepare the module envelope volume
-  m_length       = std::max(m_sensor->length(), m_spine->length()) + 0.50*GeoModelKernelUnits::cm;//0.01mm safety necessary (for stereo angle)
+  m_length       = std::max(m_sensor->length(), m_spine->length()) + 0.50*Gaudi::Units::cm;//0.01mm safety necessary (for stereo angle)
   m_middleRadius = m_sensor->middleRadius();
   m_innerRadius  = m_middleRadius - 0.5*m_length;
   m_outerRadius  = m_middleRadius + 0.5*m_length;
   m_deltaPhi    = std::max(m_sensor->deltaPhi(), m_spine->deltaPhi());
   if(m_doubleSided){
     double interSidesGap = std::max(m_spine->thickness(), m_interSidesGap);
-    m_thickness = 2*m_sensor->thickness() + interSidesGap + 0.01*GeoModelKernelUnits::mm;//0.01mm safety necessary
-    //the term 10*GeoModelKernelUnits::degree*3.14/180, is to accommodate the stereo rotation
-    m_deltaPhi    = m_deltaPhi + 10*GeoModelKernelUnits::degree*3.14/180.;
+    m_thickness = 2*m_sensor->thickness() + interSidesGap + 0.01*Gaudi::Units::mm;//0.01mm safety necessary
+    //the term 10*Gaudi::Units::degree*3.14/180, is to accommodate the stereo rotation
+    m_deltaPhi    = m_deltaPhi + 10*Gaudi::Units::degree*3.14/180.;
     //add 1cm, to accomodate for stereo rotation (to be dealt correctly with later)
-    //m_innerRadius = m_innerRadius - 0.5*GeoModelKernelUnits::cm;
-    //m_outerRadius = m_outerRadius + 0.5*GeoModelKernelUnits::cm;
-    m_innerWidth = std::max(m_sensor->innerWidth(), m_spine->innerWidth()) + 2*GeoModelKernelUnits::cm; 
-    m_outerWidth = std::max(m_sensor->outerWidth(), m_spine->outerWidth()) + 2*GeoModelKernelUnits::cm; 
+    //m_innerRadius = m_innerRadius - 0.5*Gaudi::Units::cm;
+    //m_outerRadius = m_outerRadius + 0.5*Gaudi::Units::cm;
+    m_innerWidth = std::max(m_sensor->innerWidth(), m_spine->innerWidth()) + 2*Gaudi::Units::cm; 
+    m_outerWidth = std::max(m_sensor->outerWidth(), m_spine->outerWidth()) + 2*Gaudi::Units::cm; 
   }else{
-    m_thickness   = m_sensor->thickness() + m_spine->thickness() + 0.01*GeoModelKernelUnits::mm;//0.01mm safety necessary
+    m_thickness   = m_sensor->thickness() + m_spine->thickness() + 0.01*Gaudi::Units::mm;//0.01mm safety necessary
     m_innerWidth = std::max(m_sensor->innerWidth(), m_spine->innerWidth()); 
     m_outerWidth = std::max(m_sensor->outerWidth(), m_spine->outerWidth());
   }
@@ -125,7 +122,7 @@ GeoVPhysVol* SCT_FwdModule::build(SCT_Identifier id) const{
     GeoTrf::Translation3D  inner_Xpos(Xpos, 0.0, 0.0);
     innerSidePos = GeoTrf::Transform3D(inner_Xpos*inner_Rot);
     //outer side (shift towards X positive)
-    GeoTrf::Transform3D outer_Rot = GeoTrf::RotateX3D(-0.5*m_stereoAngle)*GeoTrf::RotateZ3D(180*GeoModelKernelUnits::deg);
+    GeoTrf::Transform3D outer_Rot = GeoTrf::RotateX3D(-0.5*m_stereoAngle)*GeoTrf::RotateZ3D(180*Gaudi::Units::deg);
     Xpos = -0.5*(interSidesGap + m_sensor->thickness());
     //protection
     if(fabs(Xpos)+0.5*m_sensor->thickness() > 0.5*m_thickness){
diff --git a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_FwdRing.cxx b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_FwdRing.cxx
index e1f6a79ada43..e5ea50d2eecc 100644
--- a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_FwdRing.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_FwdRing.cxx
@@ -20,10 +20,8 @@
 #include "GeoModelKernel/GeoAlignableTransform.h"
 #include "GeoModelKernel/GeoMaterial.h"
 #include "GeoModelKernel/GeoShapeShift.h"
-#include "GeoModelKernel/Units.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-
-
+#include "GaudiKernel/PhysicalConstants.h"
 
 #include <sstream>
 #include <cmath>
@@ -68,11 +66,11 @@ const GeoLogVol* SCT_FwdRing::preBuild(){
   m_module = new SCT_FwdModule("FwdModule"+intToString(m_iRing), 
 			       m_iRing, m_doubleSided); 
 
-  //m_innerRadius = m_innerRadius - 0.51*GeoModelKernelUnits::cm;//0.01mm safety necessary
-  //m_outerRadius = m_outerRadius + 0.51*GeoModelKernelUnits::cm;//0.01mm safety necessary
-  m_innerRadius = m_innerRadius - 5*GeoModelKernelUnits::mm;//0.01mm safety necessary
-  m_outerRadius = m_outerRadius + 7*GeoModelKernelUnits::mm;//0.01mm safety necessary
-  m_thickness   = m_module->thickness() + m_moduleStagger + 0.01*GeoModelKernelUnits::mm;//safety necessary
+  //m_innerRadius = m_innerRadius - 0.51*Gaudi::Units::cm;//0.01mm safety necessary
+  //m_outerRadius = m_outerRadius + 0.51*Gaudi::Units::cm;//0.01mm safety necessary
+  m_innerRadius = m_innerRadius - 5*Gaudi::Units::mm;//0.01mm safety necessary
+  m_outerRadius = m_outerRadius + 7*Gaudi::Units::mm;//0.01mm safety necessary
+  m_thickness   = m_module->thickness() + m_moduleStagger + 0.01*Gaudi::Units::mm;//safety necessary
   m_length = m_outerRadius - m_innerRadius;
   //protection along R!
   if(m_length<m_module->length()){
@@ -101,7 +99,7 @@ GeoVPhysVol* SCT_FwdRing::build(SCT_Identifier id) const{
 
   // Physical volume for the half ring
   GeoPhysVol* ring = new GeoPhysVol(m_logVolume);
-  double divisionAngle     = 360*GeoModelKernelUnits::degree/m_numModules;
+  double divisionAngle     = 360*Gaudi::Units::degree/m_numModules;
   bool   negativeEndCap    = (id.getBarrelEC() < 0);
   int    staggerUpperLower = m_firstStagger;
   for(int imod=0; imod<m_numModules; imod++){
@@ -121,15 +119,15 @@ GeoVPhysVol* SCT_FwdRing::build(SCT_Identifier id) const{
     double phi =  m_refStartAngle + imod*divisionAngle;
     //std::cerr<<"endcap "<<id.getBarrelEC()<<", ring "<<m_iRing<<", startAngle"<<m_refStartAngle<<", phi "<<phi<<std::endl;
     //put the module along the radius of the ring, along X for example (remeber, it is along Z)
-    GeoTrf::Transform3D rot = GeoTrf::RotateY3D(90*GeoModelKernelUnits::degree);
+    GeoTrf::Transform3D rot = GeoTrf::RotateY3D(90*Gaudi::Units::degree);
     if (negativeEndCap) {
       //rotate the module so that to keep the local frame orientation as in the positive end
-      //rot.rotateZ(180*GeoModelKernelUnits::degree);    
+      //rot.rotateZ(180*Gaudi::Units::degree);    
       //start in the oppsite phi and turn in the oppsite direction
-      if(phi < GeoModelKernelUnits::pi)
-	phi = GeoModelKernelUnits::pi - phi;
+      if(phi < Gaudi::Units::pi)
+	phi = Gaudi::Units::pi - phi;
       else
-	phi = 3*GeoModelKernelUnits::pi - phi;
+	phi = 3*Gaudi::Units::pi - phi;
     }
     rot = GeoTrf::RotateZ3D(phi) * rot;
     //std::cerr<<"endcap "<<id.getBarrelEC()<<", wheel "<<m_iWheel<<", ring "<<m_iRing<<", mod "<<imod<<", phi "<<phi<<", startAng "<<m_refStartAngle<<std::endl;
@@ -147,7 +145,7 @@ GeoVPhysVol* SCT_FwdRing::build(SCT_Identifier id) const{
     xyz = GeoTrf::RotateZ3D(phi)*xyz;
     GeoTrf::Transform3D modulePos = GeoTrf::Translate3D(xyz.x(),xyz.y(),xyz.z())*rot;
     //protection along R!
-    const double epsilon = 0.0001*GeoModelKernelUnits::mm; //beyound meansurment precision?!
+    const double epsilon = 0.0001*Gaudi::Units::mm; //beyound meansurment precision?!
     if(m_innerRadius-epsilon>m_module->innerRadius() || 
        m_outerRadius+epsilon<m_module->outerRadius()){
       std::cout<<"SCT_FwdRing.cxx: problem with module position along R: "
diff --git a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_FwdWheel.cxx b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_FwdWheel.cxx
index 6ce2e2b66778..8539f97ffa9b 100644
--- a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_FwdWheel.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_FwdWheel.cxx
@@ -22,11 +22,8 @@
 #include "GeoModelKernel/GeoAlignableTransform.h"
 #include "GeoModelKernel/GeoMaterial.h"
 #include "GeoModelKernel/GeoShapeShift.h"
-#include "GeoModelKernel/Units.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-
-
-
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <sstream>
 #include <cmath>
@@ -65,7 +62,7 @@ void SCT_FwdWheel::getParameters(){
     m_ringOffset.push_back(parameters->fwdRingOffset(ringType));
     m_ringTypes.push_back(ringType);
   }
-  m_staggerGap = 0.001* GeoModelKernelUnits::mm;
+  m_staggerGap = 0.001* Gaudi::Units::mm;
 
   // Set numerology
   detectorManager()->numerology().setNumRingsForDisk(m_iWheel,m_numRings);  
@@ -85,10 +82,10 @@ const GeoLogVol* SCT_FwdWheel::preBuild(){
   }
   //Calculate the extent of the envelope  
   //start the support disc
-  //m_outerRadius = m_discSupport->outerRadius() + 0.52*GeoModelKernelUnits::cm;//0.01mm safety necessary
-  //m_innerRadius = m_discSupport->innerRadius() - 0.52*GeoModelKernelUnits::cm;//0.01mm safety necessary
-  m_outerRadius = m_discSupport->outerRadius() + 9*GeoModelKernelUnits::mm;//0.01mm safety necessary
-  m_innerRadius = m_discSupport->innerRadius() - 9*GeoModelKernelUnits::mm;//0.01mm safety necessary
+  //m_outerRadius = m_discSupport->outerRadius() + 0.52*Gaudi::Units::cm;//0.01mm safety necessary
+  //m_innerRadius = m_discSupport->innerRadius() - 0.52*Gaudi::Units::cm;//0.01mm safety necessary
+  m_outerRadius = m_discSupport->outerRadius() + 9*Gaudi::Units::mm;//0.01mm safety necessary
+  m_innerRadius = m_discSupport->innerRadius() - 9*Gaudi::Units::mm;//0.01mm safety necessary
   //then comsider rings
   double wheelThickness_neg = -1.0;//negative value! see code below
   double wheelThickness_pos = -1.0;
diff --git a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_GeneralParameters.cxx b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_GeneralParameters.cxx
index 3a3a28a4f8e3..811b0068f53e 100644
--- a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_GeneralParameters.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_GeneralParameters.cxx
@@ -7,7 +7,7 @@
 #include "SCT_SLHC_GeoModel/SCT_DataBase.h"
 #include "RDBAccessSvc/IRDBRecordset.h"
 #include "GeometryDBSvc/IGeometryDBSvc.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include "GeoModelKernel/GeoDefinitions.h"
 #include "InDetGeoModelUtils/TopLevelPlacements.h"
 
@@ -15,7 +15,7 @@
 
 namespace InDetDDSLHC {
 
-const double SCT_SAFETY = 0.01 * GeoModelKernelUnits::mm; // Used in some places to make envelopes slightly larger to ensure
+const double SCT_SAFETY = 0.01 * Gaudi::Units::mm; // Used in some places to make envelopes slightly larger to ensure
                                      // no overlaps due to rounding errors.
 
 SCT_GeneralParameters::SCT_GeneralParameters(const SCT_DataBase * sctdb, const SCT_GeoModelAthenaComps * athenaComps)
@@ -124,19 +124,19 @@ unsigned int SCT_GeneralParameters::envelopeNumPlanes() const
 
 double SCT_GeneralParameters::envelopeZ(int i) const 
 {
-  double zmin =  db()->getDouble(m_SctEnvelope,"Z",i) * GeoModelKernelUnits::mm;
+  double zmin =  db()->getDouble(m_SctEnvelope,"Z",i) * Gaudi::Units::mm;
   if (zmin < 0) msg(MSG::ERROR) << "SctEnvelope table should only contain +ve z values" << endmsg;
   return std::abs(zmin);
 }
 
 double SCT_GeneralParameters::envelopeRMin(int i) const 
 {
-  return db()->getDouble(m_SctEnvelope,"RMIN",i) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctEnvelope,"RMIN",i) * Gaudi::Units::mm;
 }
 
 double SCT_GeneralParameters::envelopeRMax(int i) const
 {
-  return db()->getDouble(m_SctEnvelope,"RMAX",i) * GeoModelKernelUnits::mm;
+  return db()->getDouble(m_SctEnvelope,"RMAX",i) * Gaudi::Units::mm;
 }
 
 
diff --git a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_Layer.cxx b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_Layer.cxx
index 83c6076022c6..7643acb8ff9f 100644
--- a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_Layer.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_Layer.cxx
@@ -23,10 +23,8 @@
 #include "GeoModelKernel/GeoAlignableTransform.h"
 #include "GeoModelKernel/GeoMaterial.h"
 #include "GeoModelKernel/GeoShapeSubtraction.h"
-#include "GeoModelKernel/Units.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-
-
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <sstream>
 #include <cmath>
@@ -72,7 +70,7 @@ void SCT_Layer::getParameters(){
   //---m_supportMaterial = materials->getMaterial(parameters->supportCylMaterial(m_iLayer));
   //0.189 is taken from oracle database (CFiberSupport)
   double materialIncreaseFactor = parameters->materialIncreaseFactor(m_iLayer);
-  //double cf_density = 0.189*materialIncreaseFactor*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3;
+  //double cf_density = 0.189*materialIncreaseFactor*GeoModelKernelUnits::g/Gaudi::Units::cm3;
   //m_supportMaterial = materials->getMaterial(parameters->supportCylMaterial(m_iLayer), cf_density);
   m_supportMaterial = materials->getMaterialScaled(parameters->supportCylMaterial(m_iLayer), materialIncreaseFactor);
 
@@ -93,7 +91,7 @@ const GeoLogVol* SCT_Layer::preBuild(){
   //Create the logical volume: a sphape + material
   std::string layerNumStr = intToString(m_iLayer);
   //Calculations to make the ski(s)
-  double divisionAngle  = 360*GeoModelKernelUnits::degree/m_skisPerLayer;
+  double divisionAngle  = 360*Gaudi::Units::degree/m_skisPerLayer;
   m_skiPhiStart = 0.5*divisionAngle;
   //Make the ski: this is made from modules 
   m_ski = new SCT_Ski("Ski"+layerNumStr, m_modulesPerSki, m_iLayer, 
@@ -134,7 +132,7 @@ GeoVPhysVol* SCT_Layer::build(SCT_Identifier id) const{
   SCT_MaterialManager * materials = geometryManager()->materialManager();
   //We make this a fullPhysVol for alignment code.
   GeoFullPhysVol* layer = new GeoFullPhysVol(m_logVolume);
-  double divisionAngle  = 360*GeoModelKernelUnits::degree/m_skisPerLayer;
+  double divisionAngle  = 360*Gaudi::Units::degree/m_skisPerLayer;
   //Make envelope for active layer
   const GeoTube* activeLayerEnvelope = new GeoTube(m_activeInnerRadius, 
 							m_activeOuterRadius, 0.5*m_cylLength);
@@ -196,9 +194,9 @@ void SCT_Layer::activeEnvelopeExtent(double & rmin, double & rmax){
   double thickness = 0.5*m_ski->thickness();
   double width = 0.5*m_ski->width();
   double tilt = std::abs(m_tilt);
-  double width_rot = width * cos(tilt/GeoModelKernelUnits::radian) - thickness * sin(tilt/GeoModelKernelUnits::radian);
+  double width_rot = width * cos(tilt/Gaudi::Units::radian) - thickness * sin(tilt/Gaudi::Units::radian);
   
-  double thickness_rot = width * sin(tilt/GeoModelKernelUnits::radian) + thickness * cos(tilt/GeoModelKernelUnits::radian);
+  double thickness_rot = width * sin(tilt/Gaudi::Units::radian) + thickness * cos(tilt/Gaudi::Units::radian);
 
   rmax = sqrt(sqr(m_radius + thickness_rot) + sqr(width_rot)); 
   rmin = sqrt(sqr(m_radius - thickness_rot) + sqr(width_rot));
diff --git a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_MaterialManager.cxx b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_MaterialManager.cxx
index ded6eb732035..a295ec2a2160 100755
--- a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_MaterialManager.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_MaterialManager.cxx
@@ -30,16 +30,6 @@ SCT_MaterialManager::SCT_MaterialManager(const SCT_DataBase * sctdb, const SCT_G
 void
 SCT_MaterialManager::loadMaterials()
 {
-  //const GeoElement *copper    = getElement("Copper");
-
-  //const GeoMaterial *kapton   = getMaterial("std::Kapton"); // 30th Aug 2005 D.Naito added.
-
-  // CuKapton for Low Mass Tapes
-  //GeoMaterial * matCuKapton   = new GeoMaterial("sct::CuKapton",2.94*GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3);
-  //matCuKapton->add(const_cast<GeoElement*>(copper),  0.6142);
-  //matCuKapton->add(const_cast<GeoMaterial*>(kapton), 0.3858);
-  //addMaterial(matCuKapton);
-
 }
 
 
diff --git a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_Module.cxx b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_Module.cxx
index e08c43799a20..4b98d6e0ba45 100755
--- a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_Module.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_Module.cxx
@@ -24,11 +24,8 @@
 #include "GeoModelKernel/GeoTransform.h"
 #include "GeoModelKernel/GeoAlignableTransform.h"
 #include "GeoModelKernel/GeoShapeSubtraction.h"
-
-#include "GeoModelKernel/Units.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-
-
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <cmath>
 
@@ -83,13 +80,13 @@ const GeoLogVol* SCT_Module::preBuild(){
     // Sensor only if placing sensors directly on stave
     m_width   = m_innerSide->width();
     m_length  = m_innerSide->length();
-    m_thickness = m_innerSide->thickness() + 0.01*GeoModelKernelUnits::mm;// Not really necessary but doesn't hurt
+    m_thickness = m_innerSide->thickness() + 0.01*Gaudi::Units::mm;// Not really necessary but doesn't hurt
   } else if(m_doubleSided){
     sideWidth  = std::max(m_innerSide->width(), m_outerSide->width());
     sideLength = std::max(m_innerSide->length(), m_outerSide->length());
-    m_width    = std::max(sideWidth*cos(half_stereo/GeoModelKernelUnits::radian) + sideLength*sin(half_stereo/GeoModelKernelUnits::radian),
+    m_width    = std::max(sideWidth*cos(half_stereo/Gaudi::Units::radian) + sideLength*sin(half_stereo/Gaudi::Units::radian),
 			  m_baseBoard->width());
-    m_length   = std::max(sideWidth*sin(half_stereo/GeoModelKernelUnits::radian) + sideLength*cos(half_stereo/GeoModelKernelUnits::radian), 
+    m_length   = std::max(sideWidth*sin(half_stereo/Gaudi::Units::radian) + sideLength*cos(half_stereo/Gaudi::Units::radian), 
 			  m_baseBoard->length());
     double interSidesGap = std::max(m_baseBoard->thickness(), m_interSidesGap);
     m_thickness = m_innerSide->thickness() + m_outerSide->thickness() + interSidesGap + 0.01;//0.01mm safety necessary
@@ -127,7 +124,7 @@ GeoVPhysVol* SCT_Module::build(SCT_Identifier id) const{
     GeoTrf::Transform3D outerSidePos(GeoTrf::Transform3D::Identity());
     if (m_doubleSided){
       //inner side position (shift this side towards the intreaction point, ie X negative)
-      GeoTrf::Transform3D inner_Rot = GeoTrf::RotateX3D(-0.5*m_stereoAngle)*GeoTrf::RotateZ3D(180*GeoModelKernelUnits::deg);
+      GeoTrf::Transform3D inner_Rot = GeoTrf::RotateX3D(-0.5*m_stereoAngle)*GeoTrf::RotateZ3D(180*Gaudi::Units::deg);
       double interSidesGap = std::max(m_baseBoard->thickness(), m_interSidesGap);
       double Xpos = -0.5*(interSidesGap + m_innerSide->thickness());
       //std::cerr<<"inner Xpos "<<Xpos<<" thickness "<<m_innerSide->thickness()<<std::endl;
@@ -158,7 +155,7 @@ GeoVPhysVol* SCT_Module::build(SCT_Identifier id) const{
       outerSidePos = GeoTrf::Transform3D(outer_Xpos*outer_Rot);
     } else {
       //inner side position (shift this side towards the intreaction point, ie X negative)
-      GeoTrf::RotateZ3D inner_Rot(180*GeoModelKernelUnits::deg);
+      GeoTrf::RotateZ3D inner_Rot(180*Gaudi::Units::deg);
       double Xpos = -0.5*m_baseBoard->thickness();
       //protection
       if(fabs(Xpos)+0.5*m_innerSide->thickness() > 0.5*m_thickness){
diff --git a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_Sensor.cxx b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_Sensor.cxx
index eeeec98686f7..9af70b5fd442 100644
--- a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_Sensor.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_Sensor.cxx
@@ -21,9 +21,7 @@
 #include "InDetReadoutGeometry/SiDetectorElement.h"
 #include "InDetReadoutGeometry/InDetDD_Defs.h"
 #include "InDetReadoutGeometry/SiCommonItems.h"
-
-
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 using namespace InDetDD;
 
@@ -78,7 +76,7 @@ SCT_Sensor::preBuild()
     
     // Build the subsensor logical volume (same for all segments).
     // We reduce the size by a small amount to avoid touching volumes. 
-    double epsilon = 1e-7*GeoModelKernelUnits::mm;
+    double epsilon = 1e-7*Gaudi::Units::mm;
     const GeoBox * subSensorShape = new GeoBox(0.5*m_thickness-epsilon, 0.5*m_width-epsilon, 0.5*m_subSensorLength-epsilon);
     m_subSensorLog = new GeoLogVol(getName(), subSensorShape, m_material);  
     m_subSensorLog->ref();
diff --git a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_Ski.cxx b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_Ski.cxx
index d814453a02f2..241fc567a339 100644
--- a/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_Ski.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_SLHC_GeoModel/src/SCT_Ski.cxx
@@ -24,10 +24,8 @@
 #include "GeoModelKernel/GeoShape.h"
 #include "GeoModelKernel/GeoShapeUnion.h"
 #include "GeoModelKernel/GeoShapeShift.h"
-#include "GeoModelKernel/Units.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-
-
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <sstream>
 #include <cmath>
@@ -219,7 +217,7 @@ SCT_Ski::placeModule(GeoPhysVol * ski, SCT_Identifier id, int iModule, int side,
   }
   GeoTrf::Transform3D rot = GeoTrf::RotateX3D(stereoAngle);
   //the module is rotated, around X axis, one way or the other (u or v)
-  if (flip) rot = rot * GeoTrf::RotateZ3D(180*GeoModelKernelUnits::deg);
+  if (flip) rot = rot * GeoTrf::RotateZ3D(180*Gaudi::Units::deg);
   GeoTrf::Translation3D pos(xModulePos, 0.0, zModulePos);
   GeoTrf::Transform3D modulePos = GeoTrf::Transform3D(pos*rot);
 
-- 
GitLab


From 34c75b1ab32787967307b5295d290a2689dd6afb Mon Sep 17 00:00:00 2001
From: Susumu Oda <Susumu.Oda@cern.ch>
Date: Wed, 23 Jan 2019 09:14:10 +0100
Subject: [PATCH 056/192] Make SCT_DetectorElementCondAlg reentrant

---
 .../src/SCT_DetectorElementCondAlg.cxx                    | 8 ++++----
 .../src/SCT_DetectorElementCondAlg.h                      | 6 +++---
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DetectorElementCondAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DetectorElementCondAlg.cxx
index 50341442031a..0b7b74c562cd 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DetectorElementCondAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DetectorElementCondAlg.cxx
@@ -12,7 +12,7 @@
 #include <map>
 
 SCT_DetectorElementCondAlg::SCT_DetectorElementCondAlg(const std::string& name, ISvcLocator* pSvcLocator)
-  : ::AthAlgorithm(name, pSvcLocator)
+  : ::AthReentrantAlgorithm(name, pSvcLocator)
   , m_readKey{"SCTAlignmentStore", "SCTAlignmentStore"}
   , m_condSvc{"CondSvc", name}
   , m_detManager{nullptr}
@@ -39,12 +39,12 @@ StatusCode SCT_DetectorElementCondAlg::initialize()
   return StatusCode::SUCCESS;
 }
 
-StatusCode SCT_DetectorElementCondAlg::execute()
+StatusCode SCT_DetectorElementCondAlg::execute(const EventContext& ctx) const
 {
   ATH_MSG_DEBUG("execute " << name());
 
   // ____________ Construct Write Cond Handle and check its validity ____________
-  SG::WriteCondHandle<InDetDD::SiDetectorElementCollection> writeHandle{m_writeKey};
+  SG::WriteCondHandle<InDetDD::SiDetectorElementCollection> writeHandle{m_writeKey, ctx};
 
   // Do we have a valid Write Cond Handle for current time?
   if (writeHandle.isValid()) {
@@ -65,7 +65,7 @@ StatusCode SCT_DetectorElementCondAlg::execute()
   EventIDRange rangeW;
 
   // ____________ Get Read Cond Object ____________
-  SG::ReadCondHandle<GeoAlignmentStore> readHandle{m_readKey};
+  SG::ReadCondHandle<GeoAlignmentStore> readHandle{m_readKey, ctx};
   const GeoAlignmentStore* readCdo{*readHandle};
   if (readCdo==nullptr) {
     ATH_MSG_FATAL("Null pointer to the read conditions object of " << m_readKey.key());
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DetectorElementCondAlg.h b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DetectorElementCondAlg.h
index 1cae060980f5..a24a5f1db327 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DetectorElementCondAlg.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DetectorElementCondAlg.h
@@ -5,7 +5,7 @@
 #ifndef SCT_CONDITIONSALGORITHMS_SCT_DETECTORELEMENTCONDALG_H
 #define SCT_CONDITIONSALGORITHMS_SCT_DETECTORELEMENTCONDALG_H
 
-#include "AthenaBaseComps/AthAlgorithm.h"
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 
 #include "GeoPrimitives/GeoPrimitives.h"
 #include "GeoModelUtilities/GeoAlignmentStore.h"
@@ -19,14 +19,14 @@ namespace InDetDD {
   class SCT_DetectorManager;
 }
 
-class SCT_DetectorElementCondAlg : public AthAlgorithm
+class SCT_DetectorElementCondAlg : public AthReentrantAlgorithm
 {
  public:
   SCT_DetectorElementCondAlg(const std::string& name, ISvcLocator* pSvcLocator);
   virtual ~SCT_DetectorElementCondAlg() override = default;
 
   virtual StatusCode initialize() override;
-  virtual StatusCode execute() override;
+  virtual StatusCode execute(const EventContext& ctx) const override;
   virtual StatusCode finalize() override;
 
  private:
-- 
GitLab


From 933ba302823d54a0b25fd6c72446261e41e00391 Mon Sep 17 00:00:00 2001
From: Frank Winklmeier <frank.winklmeier@cern.ch>
Date: Wed, 23 Jan 2019 11:06:06 +0100
Subject: [PATCH 057/192] Monitored: Explicit fill will disable automatic
 filling

Calling `Monitored::Group::fill()` will now disable the automatic
filling to avoid double filling when the group goes out of scope. Added
a test-case in the unit tests and updated documentation.
---
 .../AthenaMonitoring/MonitoredGroup.h         | 33 +++++++++++--------
 Control/AthenaMonitoring/doc/Monitored_page.h |  2 +-
 .../test/GenericMonFilling_test.cxx           | 22 ++++++++++---
 3 files changed, 38 insertions(+), 19 deletions(-)

diff --git a/Control/AthenaMonitoring/AthenaMonitoring/MonitoredGroup.h b/Control/AthenaMonitoring/AthenaMonitoring/MonitoredGroup.h
index 88844d2caef6..0ecb084d3d77 100644
--- a/Control/AthenaMonitoring/AthenaMonitoring/MonitoredGroup.h
+++ b/Control/AthenaMonitoring/AthenaMonitoring/MonitoredGroup.h
@@ -58,29 +58,36 @@ namespace Monitored {
       }
 
       /**
-       * @brief explicitely fill the monitoring output
+       * @brief Explicitly fill the monitoring histograms and disable autoFill
+       *
+       * This will fill the monitoring histograms and also call setAutoFill(false)
+       * in order to disable the automatic filling when the Monitored::Group goes
+       * out of scope. A typical use-pattern is in tight loops in order not to
+       * re-create the Monitored::Group object many times:
+       *
+       * \code
+       *   auto pt = Monitored::Scalar("pt");
+       *   auto mon = Monitored::Group(m_monTool, pt);
+       *   for (...) {
+       *      pt = ...;    // assign pt
+       *      mon.fill();  // fill pt histogram
+       *   }
+       * \endcode
+       *
        **/
       virtual void fill() {
+        setAutoFill(false);
         for (auto filler : m_histogramsFillers) {
           filler->fill();
         }
       }
+
       /**
        * @brief enables/disables filling when Monitored::Group leaves the scope
        *
        * By default Monitored::Group will perform a one time fill each time it goes
-       * out of scope. In tight loops one may want to re-use the same Monitored::Group
-       * and instead trigger the filling manually:
-       *
-       * \code
-       *   auto pt = Monitored::Scalar("pt");
-       *   auto mon = Monitored::Group(m_monTool, pt);
-       *   mon.setAutoFill(false);
-       *   for (...) {
-       *      // fill pt
-       *      mon.fill();
-       *   }
-       * \endcode
+       * out of scope. This feature can be disabled by calling setAutoFill(false).
+       * The same is achieved by calling fill() manually.
        **/
       void setAutoFill(bool isEnabled) { m_autoFill = isEnabled; }
 
diff --git a/Control/AthenaMonitoring/doc/Monitored_page.h b/Control/AthenaMonitoring/doc/Monitored_page.h
index d72db19fca17..e2f86319ce3e 100644
--- a/Control/AthenaMonitoring/doc/Monitored_page.h
+++ b/Control/AthenaMonitoring/doc/Monitored_page.h
@@ -67,7 +67,7 @@
 
    ## Advanced usage ##
    ### Filling in tight loops ###
-   @copydetails Monitored::impl::Group::setAutoFill()
+   @copydetails Monitored::impl::Group::fill()
 
    ### Monitoring of collections (of objects) ###
    Existing iterable collections can be monitored directly without the need to create temporaries.
diff --git a/Control/AthenaMonitoring/test/GenericMonFilling_test.cxx b/Control/AthenaMonitoring/test/GenericMonFilling_test.cxx
index d2c4adfd6f13..1d49367f1061 100644
--- a/Control/AthenaMonitoring/test/GenericMonFilling_test.cxx
+++ b/Control/AthenaMonitoring/test/GenericMonFilling_test.cxx
@@ -168,6 +168,8 @@ bool fillExplcitelyWorked( ToolHandle<GenericMonitoringTool>& monTool, ITHistSvc
   resetHists( histSvc );
   auto roiPhi = Monitored::Scalar( "Phi", -99.0 );
   auto roiEta = Monitored::Scalar( "Eta", -99.0 );
+
+  // Check disabling of filling
   {
     auto monitorIt = Monitored::Group( monTool, roiEta, roiPhi );
     monitorIt.setAutoFill( false );
@@ -178,15 +180,25 @@ bool fillExplcitelyWorked( ToolHandle<GenericMonitoringTool>& monTool, ITHistSvc
   VALUE( getHist( histSvc, "/EXPERT/TestGroup/Eta" )->GetEntries() ) EXPECTED( 0 ); //  auto filling was disabled so no entries
   VALUE( getHist( histSvc, "/EXPERT/TestGroup/Phi" )->GetEntries() ) EXPECTED( 0 ); //  auto filling was disabled so no entries  
 
-  auto monitorIt = Monitored::Group( monTool, roiEta, roiPhi );
-  monitorIt.setAutoFill( false );
-  for ( size_t i = 0; i < 3; ++i ) {
-    monitorIt.fill();
+  // Check explicit fill in loops
+  {
+    auto monitorIt = Monitored::Group( monTool, roiEta, roiPhi );
+    for ( size_t i = 0; i < 3; ++i ) {
+      monitorIt.fill();   // this will fill and disable autoFill
+    }
   }
   VALUE( getHist( histSvc, "/EXPERT/TestGroup/Eta_vs_Phi" )->GetEntries() ) EXPECTED( 3 ); 
   VALUE( getHist( histSvc, "/EXPERT/TestGroup/Eta" )->GetEntries() ) EXPECTED( 3 ); 
   VALUE( getHist( histSvc, "/EXPERT/TestGroup/Phi" )->GetEntries() ) EXPECTED( 3 ); 
-  
+
+  // Check explicit one-time fill via temporary Group instance
+  {
+    Monitored::Group( monTool, roiEta, roiPhi ).fill();
+  }
+  VALUE( getHist( histSvc, "/EXPERT/TestGroup/Eta_vs_Phi" )->GetEntries() ) EXPECTED( 4 );
+  VALUE( getHist( histSvc, "/EXPERT/TestGroup/Eta" )->GetEntries() ) EXPECTED( 4 );
+  VALUE( getHist( histSvc, "/EXPERT/TestGroup/Phi" )->GetEntries() ) EXPECTED( 4 );
+
   return true;
 }
 
-- 
GitLab


From 1ceb6ded5f14972469367b9f3b97be387c6d8c6b Mon Sep 17 00:00:00 2001
From: John Chapman <jchapman@cern.ch>
Date: Thu, 10 Jan 2019 14:54:41 +0100
Subject: [PATCH 058/192] Switch BCM_DigitizationTool to use IAthRNGSvc

---
 .../python/BCM_DigitizationConfig.py          |  3 --
 .../src/BCM_DigitizationTool.cxx              | 29 +++++++++----------
 .../src/BCM_DigitizationTool.h                |  8 ++---
 3 files changed, 17 insertions(+), 23 deletions(-)

diff --git a/InnerDetector/InDetDigitization/BCM_Digitization/python/BCM_DigitizationConfig.py b/InnerDetector/InDetDigitization/BCM_Digitization/python/BCM_DigitizationConfig.py
index 240096c81080..426a37ff5cf9 100644
--- a/InnerDetector/InDetDigitization/BCM_Digitization/python/BCM_DigitizationConfig.py
+++ b/InnerDetector/InDetDigitization/BCM_Digitization/python/BCM_DigitizationConfig.py
@@ -29,9 +29,6 @@ def BCM_DigitizationTool(name="BCM_DigitizationTool",**kwargs):
     kwargs.setdefault("MIPDeposit", 0.33) # BCM with diamond
     #kwargs.setdefault("MIPDeposit", 0.25) # BCM with graphite
  
-    kwargs.setdefault("RndmSvc", digitizationFlags.rndmSvc() )
-    digitizationFlags.rndmSeedList.addSeed("BCM_Digitization", 49261510, 105132394)
-   
     if digitizationFlags.doXingByXingPileUp():
         kwargs.setdefault("FirstXing", BCM_FirstXing() )
         kwargs.setdefault("LastXing",  BCM_LastXing()  ) 
diff --git a/InnerDetector/InDetDigitization/BCM_Digitization/src/BCM_DigitizationTool.cxx b/InnerDetector/InDetDigitization/BCM_Digitization/src/BCM_DigitizationTool.cxx
index 72219086b3cf..7a3b6daec228 100644
--- a/InnerDetector/InDetDigitization/BCM_Digitization/src/BCM_DigitizationTool.cxx
+++ b/InnerDetector/InDetDigitization/BCM_Digitization/src/BCM_DigitizationTool.cxx
@@ -5,8 +5,12 @@
 #include "BCM_DigitizationTool.h"
 
 #include "AthenaKernel/errorcheck.h"
-#include "AthenaKernel/IAtRndmGenSvc.h"
+#include "AthenaKernel/RNGWrapper.h"
+
+// CLHEP includes
+#include "CLHEP/Random/RandomEngine.h"
 #include "CLHEP/Random/RandGaussZiggurat.h"
+
 #include "GeneratorObjects/HepMcParticleLink.h"
 #include "InDetBCM_RawData/BCM_RawData.h"
 #include "InDetBCM_RawData/BCM_RDO_Collection.h"
@@ -23,19 +27,15 @@
 //----------------------------------------------------------------------
 BCM_DigitizationTool::BCM_DigitizationTool(const std::string &type, const std::string &name, const IInterface *parent) :
   PileUpToolBase(type,name,parent),
-  m_rndmEngine(NULL),
   m_mipDeposit(0.0f),
   m_effPrmDistance(0.0f),
   m_effPrmSharpness(0.0f),
   m_timeDelay(0.0f),
   m_rdoContainer(NULL),
   m_simDataCollMap(NULL),
-  m_rndmEngineName("BCM_Digitization"),
-  m_mergeSvc(NULL), //("PileUpMergeSvc",name),
-  m_atRndmGenSvc("AtRndmGenSvc",name)
+  m_mergeSvc(NULL) //("PileUpMergeSvc",name)
 {
   //declareProperty("PileupMergeSvc", m_mergeSvc, "Pileup merging service");
-  declareProperty("RndmSvc", m_atRndmGenSvc, "Random number service used in BCM digitization");
   declareProperty("HitCollName", m_hitCollName="BCMHits", "Input simulation hits collection name");
   declareProperty("ModNoise", m_modNoise, "RMS noise averaged over modules");
   declareProperty("ModSignal", m_modSignal, "Average MIP signal in modules");
@@ -54,12 +54,7 @@ StatusCode BCM_DigitizationTool::initialize()
   ATH_MSG_VERBOSE ( "initialize()");
 
   // get random service
-  CHECK(m_atRndmGenSvc.retrieve());
-  m_rndmEngine = m_atRndmGenSvc->GetEngine(m_rndmEngineName) ;
-  if (m_rndmEngine==0) {
-    ATH_MSG_ERROR ( "Could not find RndmEngine : " << m_rndmEngineName );
-    return StatusCode::FAILURE ;
-  }
+  ATH_CHECK(m_rndmGenSvc.retrieve());
 
   return StatusCode::SUCCESS;
 }
@@ -122,11 +117,15 @@ void BCM_DigitizationTool::processSiHit(const SiHit &currentHit, double eventTim
 //----------------------------------------------------------------------
 void BCM_DigitizationTool::createRDOsAndSDOs()
 {
+  // Set the RNG to use for this event.
+  ATHRNG::RNGWrapper* rngWrapper = m_rndmGenSvc->getEngine(this);
+  rngWrapper->setSeed( name(), Gaudi::Hive::currentContext() );
+
   // Digitize hit info and create RDO for each module
   for (int iMod=0; iMod<8; ++iMod) {
     if (m_depositVect[iMod].size()) m_simDataCollMap->insert(std::make_pair(Identifier(iMod), InDetSimData(m_depositVect[iMod])));
     std::vector<float> analog = createAnalog(iMod,m_enerVect[iMod],m_timeVect[iMod]);
-    addNoise(iMod,analog);
+    addNoise(iMod,analog, *rngWrapper);
     for (int iGain=0; iGain<2; ++iGain) {
       std::bitset<64> digital = applyThreshold(iGain*8+iMod,analog);
       int p1x,p1w,p2x,p2w;
@@ -300,9 +299,9 @@ std::vector<float> BCM_DigitizationTool::createAnalog(int iMod, std::vector<floa
 //----------------------------------------------------------------------
 // AddNoise method:
 //----------------------------------------------------------------------
-void BCM_DigitizationTool::addNoise(int iMod, std::vector<float> &analog)
+void BCM_DigitizationTool::addNoise(int iMod, std::vector<float> &analog, CLHEP::HepRandomEngine* randomEngine)
 {
-  for (unsigned int iBin=0; iBin<analog.size(); ++iBin) analog[iBin]+=CLHEP::RandGaussZiggurat::shoot(m_rndmEngine,0.,m_modNoise[iMod]);
+  for (unsigned int iBin=0; iBin<analog.size(); ++iBin) analog[iBin]+=CLHEP::RandGaussZiggurat::shoot(randomEngine,0.,m_modNoise[iMod]);
 }
 
 //----------------------------------------------------------------------
diff --git a/InnerDetector/InDetDigitization/BCM_Digitization/src/BCM_DigitizationTool.h b/InnerDetector/InDetDigitization/BCM_Digitization/src/BCM_DigitizationTool.h
index 009159db1cfb..865eca3c6602 100644
--- a/InnerDetector/InDetDigitization/BCM_Digitization/src/BCM_DigitizationTool.h
+++ b/InnerDetector/InDetDigitization/BCM_Digitization/src/BCM_DigitizationTool.h
@@ -6,7 +6,7 @@
 #define BCM_DIGITIZATION_BCM_DIGITIZATIONTOOL_H
 
 #include "PileUpTools/PileUpToolBase.h"
-#include "AthenaKernel/IAtRndmGenSvc.h"
+#include "AthenaKernel/IAthRNGSvc.h"
 
 #include "GaudiKernel/ServiceHandle.h"
 
@@ -62,7 +62,7 @@ class BCM_DigitizationTool : public PileUpToolBase {
   std::vector<float> createAnalog(int mod, std::vector<float> enerVect, std::vector<float> timeVect);
 
   /** Add noise to analog waveform */
-  void addNoise(int mod, std::vector<float> &analog);
+  void addNoise(int mod, std::vector<float> &analog, CLHEP::HepRandomEngine *randomEngine);
 
   /** Do ToT digitization */
   std::bitset<64> applyThreshold(int chan, std::vector<float> analog);
@@ -76,7 +76,6 @@ class BCM_DigitizationTool : public PileUpToolBase {
   /** Create raw data object and put it in the container */
   void fillRDO(unsigned int chan, int p1x, int p1w, int p2x, int p2w);
 
-  CLHEP::HepRandomEngine *m_rndmEngine; //!< Random number engine used
   // Digitization parameters
   std::string m_hitCollName;      //!< Input simulation hit collection name
   std::vector<float> m_modNoise;  //!< RMS Gaussian noise
@@ -91,9 +90,8 @@ class BCM_DigitizationTool : public PileUpToolBase {
   BCM_RDO_Container* m_rdoContainer; //!< Output RDO container
   InDetSimDataCollection* m_simDataCollMap; //!< Output SDO map
 
-  std::string m_rndmEngineName;  //!< Name of random engine
   PileUpMergeSvc* m_mergeSvc; //!< Handle for pileup merging service
-  ServiceHandle<IAtRndmGenSvc> m_atRndmGenSvc; //!< Handle for random number service
+  ServiceHandle<IAthRNGSvc> m_rndmGenSvc{this, "RndmSvc", "AthRNGSvc", ""};  //!< Random number service
 
   // Vectors to store G4 hit information
   std::vector<float> m_enerVect[8]; //!< G4 hit energies, weighted
-- 
GitLab


From 0b6d910f1c79d9e65815f9bd9564113f5190b6a2 Mon Sep 17 00:00:00 2001
From: Frank Winklmeier <frank.winklmeier@cern.ch>
Date: Wed, 23 Jan 2019 12:02:19 +0000
Subject: [PATCH 059/192] Remove obsolete include of MonitoredScope.h

---
 .../TrigMissingETHypo/src/TrigMissingETHypoAlgMT.cxx             | 1 -
 1 file changed, 1 deletion(-)

diff --git a/Trigger/TrigHypothesis/TrigMissingETHypo/src/TrigMissingETHypoAlgMT.cxx b/Trigger/TrigHypothesis/TrigMissingETHypo/src/TrigMissingETHypoAlgMT.cxx
index e79752ca8af5..a95be0d0bc0f 100644
--- a/Trigger/TrigHypothesis/TrigMissingETHypo/src/TrigMissingETHypoAlgMT.cxx
+++ b/Trigger/TrigHypothesis/TrigMissingETHypo/src/TrigMissingETHypoAlgMT.cxx
@@ -6,7 +6,6 @@
 #include "GaudiKernel/Property.h"
 #include "DecisionHandling/HLTIdentifier.h"
 #include "DecisionHandling/TrigCompositeUtils.h"
-#include "AthenaMonitoring/MonitoredScope.h"
 #include "TrigEFMissingET/EFMissingETAlgMT.h"
 
 using namespace TrigCompositeUtils;
-- 
GitLab


From 75889c26149944dc1331eeeeed7dae3f424b15b1 Mon Sep 17 00:00:00 2001
From: John Chapman <jchapman@cern.ch>
Date: Wed, 23 Jan 2019 13:43:37 +0100
Subject: [PATCH 060/192] Update BCM Digitization ComponentAccumulator test

This commit updates the BCM_Digitization unit test to work with
the thread-safe random number service.

The test script has also been moved to a separate test directory.
---
 .../BCM_Digitization/CMakeLists.txt                  |  4 ++--
 .../python/BCM_DigitizationConfigNew.py              |  2 +-
 .../BCM_DigitizationConfigNew_test.py                | 12 +++++++-----
 3 files changed, 10 insertions(+), 8 deletions(-)
 rename InnerDetector/InDetDigitization/BCM_Digitization/{python => test}/BCM_DigitizationConfigNew_test.py (67%)

diff --git a/InnerDetector/InDetDigitization/BCM_Digitization/CMakeLists.txt b/InnerDetector/InDetDigitization/BCM_Digitization/CMakeLists.txt
index 62b62dc31802..8c4c6016b578 100644
--- a/InnerDetector/InDetDigitization/BCM_Digitization/CMakeLists.txt
+++ b/InnerDetector/InDetDigitization/BCM_Digitization/CMakeLists.txt
@@ -29,10 +29,10 @@ atlas_add_component( BCM_Digitization
                      LINK_LIBRARIES ${CLHEP_LIBRARIES} GaudiKernel AthenaBaseComps AthenaKernel PileUpToolsLib xAODEventInfo GeneratorObjects InDetBCM_RawData InDetSimData InDetSimEvent )
 
 atlas_add_test( BCM_DigitizationConfigNew_test
-                SCRIPT python/BCM_DigitizationConfigNew_test.py
+                SCRIPT test/BCM_DigitizationConfigNew_test.py
                 PROPERTIES TIMEOUT 300 )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
-atlas_install_joboptions( share/*.py )
+atlas_install_joboptions( share/*.py test/*.py )
 
diff --git a/InnerDetector/InDetDigitization/BCM_Digitization/python/BCM_DigitizationConfigNew.py b/InnerDetector/InDetDigitization/BCM_Digitization/python/BCM_DigitizationConfigNew.py
index 41f343c39fa1..5ebae43ed338 100755
--- a/InnerDetector/InDetDigitization/BCM_Digitization/python/BCM_DigitizationConfigNew.py
+++ b/InnerDetector/InDetDigitization/BCM_Digitization/python/BCM_DigitizationConfigNew.py
@@ -23,7 +23,7 @@ def BCM_DigitizationToolCfg(configFlags, name="BCM_DigitizationTool", **kwargs):
     Engine = configFlags.Random.Engine
     acc.merge(RNG(Engine))
     # Build the argument dict
-    kwargs.setdefault("RndmSvc", AthEngines[Engine])
+    kwargs.setdefault("RndmSvc", "AthRNGSvc")
     kwargs.setdefault("HitCollName", "BCMHits")
     if configFlags.Digitization.DoInnerDetectorNoise:
         kwargs.setdefault("ModNoise", [90.82] * 8)
diff --git a/InnerDetector/InDetDigitization/BCM_Digitization/python/BCM_DigitizationConfigNew_test.py b/InnerDetector/InDetDigitization/BCM_Digitization/test/BCM_DigitizationConfigNew_test.py
similarity index 67%
rename from InnerDetector/InDetDigitization/BCM_Digitization/python/BCM_DigitizationConfigNew_test.py
rename to InnerDetector/InDetDigitization/BCM_Digitization/test/BCM_DigitizationConfigNew_test.py
index 77bfe9c49316..17b3469e2e68 100755
--- a/InnerDetector/InDetDigitization/BCM_Digitization/python/BCM_DigitizationConfigNew_test.py
+++ b/InnerDetector/InDetDigitization/BCM_Digitization/test/BCM_DigitizationConfigNew_test.py
@@ -11,28 +11,30 @@ from AthenaConfiguration.AllConfigFlags import ConfigFlags
 from AthenaConfiguration.MainServicesConfig import MainServicesSerialCfg
 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
-from BCM_DigitizationConfigFlags import createBCMCfgFlags
-from BCM_DigitizationConfigNew import BCM_DigitizationCfg
+from BCM_Digitization.BCM_DigitizationConfigFlags import createBCMCfgFlags
+from BCM_Digitization.BCM_DigitizationConfigNew import BCM_DigitizationCfg
+from TrigUpgradeTest.InDetConfig import InDetGMConfig # FIXME This module would ideally be located somewhere else
 # Set up logging and new style config
 log.setLevel(DEBUG)
 Configurable.configurableRun3Behavior = True
 # Provide input
 dataDir = "/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art"
 inputDir = os.environ.get("ATLAS_REFERENCE_DATA", dataDir)
-fileDir = "/SimCoreTests/e_E50_eta34_49.EVNT.pool.root"
+fileDir = "/Tier0ChainTests/valid1.410000.PowhegPythiaEvtGen_P2012_ttbar_hdamp172p5_nonallhad.simul.HITS.e4993_s3091/HITS.10504490._000425.pool.root.1"
 ConfigFlags.Input.Files = [inputDir + fileDir]
 # Specify output
-ConfigFlags.Output.HITFileName = "myHITS.pool.root"
+ConfigFlags.Output.RDOFileName = "myRDO.pool.root"
 ConfigFlags.lock()
 # Construct ComponentAccumulator
 cfg = MainServicesSerialCfg()
 cfg.merge(PoolReadCfg(ConfigFlags))
+cfg.merge(InDetGMConfig(ConfigFlags)) # FIXME This sets up the whole ID geometry would be nicer just to set up min required for BCM
 # Use BCM tools
 BCMflags = createBCMCfgFlags()
 acc = BCM_DigitizationCfg(BCMflags)
 cfg.merge(acc)
 # Add configuration to write HITS pool file
-outConfig = OutputStreamCfg(ConfigFlags, "HITS",
+outConfig = OutputStreamCfg(ConfigFlags, "RDO",
     ItemList=["InDetSimDataCollection#*", "BCM_RDO_Container#*"])
 cfg.merge(outConfig)
 cfg.getService("StoreGateSvc").Dump=True
-- 
GitLab


From 37258f9300014f8f2549ce03f8e4b651a1607ad1 Mon Sep 17 00:00:00 2001
From: John Chapman <jchapman@cern.ch>
Date: Wed, 23 Jan 2019 13:47:35 +0100
Subject: [PATCH 061/192] Minor optimization to the
 BCM_DigitizationTool::processSiHit method

Avoid call to the `InDetSimData::Deposit` copy-constructor by using `emplace_back`.
---
 .../BCM_Digitization/src/BCM_DigitizationTool.cxx    | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/InnerDetector/InDetDigitization/BCM_Digitization/src/BCM_DigitizationTool.cxx b/InnerDetector/InDetDigitization/BCM_Digitization/src/BCM_DigitizationTool.cxx
index 7a3b6daec228..d484569bc47a 100644
--- a/InnerDetector/InDetDigitization/BCM_Digitization/src/BCM_DigitizationTool.cxx
+++ b/InnerDetector/InDetDigitization/BCM_Digitization/src/BCM_DigitizationTool.cxx
@@ -96,19 +96,19 @@ StatusCode BCM_DigitizationTool::createOutputContainers()
 //----------------------------------------------------------------------
 void BCM_DigitizationTool::processSiHit(const SiHit &currentHit, double eventTime, unsigned int evtIndex)
 {
-  int moduleNo = currentHit.getLayerDisk();
-  float enerDep = computeEnergy(currentHit.energyLoss(), currentHit.localStartPosition(), currentHit.localEndPosition());
-  float hitTime = currentHit.meanTime() + eventTime + m_timeDelay;
+  const int moduleNo = currentHit.getLayerDisk();
+  const float enerDep = computeEnergy(currentHit.energyLoss(), currentHit.localStartPosition(), currentHit.localEndPosition());
+  const float hitTime = currentHit.meanTime() + eventTime + m_timeDelay;
   // Fill vectors with hit info
   m_enerVect[moduleNo].push_back(enerDep);
   m_timeVect[moduleNo].push_back(hitTime);
   // Create new deposit and add to vector
-  InDetSimData::Deposit deposit(HepMcParticleLink(currentHit.trackNumber(), evtIndex),currentHit.energyLoss());
-  int barcode = deposit.first.barcode();
+  HepMcParticleLink particleLink(currentHit.trackNumber(), evtIndex);
+  const int barcode = particleLink.barcode();
   if (barcode == 0 || barcode == 10001){
     return;
   }
-  m_depositVect[moduleNo].push_back(deposit);
+  m_depositVect[moduleNo].emplace_back(particleLink,currentHit.energyLoss());
   return;
 }
 
-- 
GitLab


From 92b0db4036cec783e16bc024031fdd3797655835 Mon Sep 17 00:00:00 2001
From: Tomasz Bold <tomasz.bold@gmail.com>
Date: Wed, 23 Jan 2019 14:53:28 +0100
Subject: [PATCH 062/192] added functions to configure tools from chain dicts -
 for menu integration

---
 .../python/TrigL2CaloHypoTool.py              | 23 ++-------------
 .../python/TrigL2ElectronHypoTool.py          | 28 +++++++++++++------
 .../python/TrigL2PhotonHypoTool.py            | 26 +++++++++++------
 3 files changed, 39 insertions(+), 38 deletions(-)

diff --git a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2CaloHypoTool.py b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2CaloHypoTool.py
index 88793c56174d..1bc6848ebe03 100644
--- a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2CaloHypoTool.py
+++ b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2CaloHypoTool.py
@@ -1,13 +1,7 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-import re
-_pattern = "(?P<mult>\d*)(e(?P<threshold1>\d+))(e(?P<threshold2>\d+))*"
-_cpattern = re.compile( _pattern )
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaCommon.SystemOfUnits import GeV
 
-
-
-
 def _IncTool(name, threshold, sel):
 
     from TrigEgammaHypo.TrigEgammaHypoConf import TrigL2CaloHypoToolInc    
@@ -119,19 +113,6 @@ def _MultTool(name):
     return TrigL2CaloHypoToolMult( name )
 
 
-def decodeThreshold( threshold ):
-    """ decodes the thresholds of the form e10, 2e10, e10e15, ... """
-    print "TrigL2CaloHypoToolFromName: decoding threshold ", threshold
-    if threshold[0].isdigit(): # is if the from NeX, return as list [X,X,X...N times...]
-        assert threshold[1] == 'e', "Two digit multiplicity not supported"
-        return [ threshold[2:] ] * int( threshold[0] )
-
-    if threshold.count('e') > 1: # is of the form eXeYeZ, return as [X, Y, Z]
-        return threshold.strip('e').split('e')
-
-    # inclusive, return as 1 element list
-    return [ threshold[1:] ] 
-
 
 def TrigL2CaloHypoToolFromDict( d ):
     """ Use menu decoded chain dictionary to configure the tool """
@@ -165,7 +146,7 @@ def TrigL2CaloHypoToolFromName( name, conf ):
     """ To be phased out """
     from AthenaCommon.Constants import DEBUG
     """ set the name of the HypoTool (name=chain) and figure out the threshold and selection from conf """
-    #print "Configuring ", name
+
     from TriggerMenuMT.HLTMenuConfig.Menu.DictFromChainName import DictFromChainName
     decoder = DictFromChainName()
     decodedDict = decoder.analyseShortName(conf, [], "") # no L1 info
diff --git a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2ElectronHypoTool.py b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2ElectronHypoTool.py
index a6e7fb677baa..6831db6944ce 100644
--- a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2ElectronHypoTool.py
+++ b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2ElectronHypoTool.py
@@ -1,14 +1,11 @@
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
-def TrigL2ElectronHypoToolFromName( name, conf ):
-    """ provides configuration of the hypo tool giben the chain name
-    The argument will be replaced by "parsed" chain dict. For now it only serves simplest chain HLT_eXYZ.
-    """
-    bname = conf.split('_')
-
-    threshold = bname[1]
-    from TrigEgammaHypo.TrigL2CaloHypoTool import decodeThreshold
-    thresholds = decodeThreshold( threshold )
+def TrigL2ElectronHypoToolFromDict( chainDict ):
+    """ Use menu decoded chain dictionary to configure the tool """
+    thresholds = sum([ [cpart['threshold']]*int(cpart['multiplicity']) for cpart in chainDict['chainParts']], [])
 
+    name = chainDict['chainName']
+    
     from TrigEgammaHypo.TrigEgammaHypoConf import TrigL2ElectronHypoTool
     tool = TrigL2ElectronHypoTool(name)
     tool.RespectPreviousDecision = True
@@ -58,6 +55,19 @@ def TrigL2ElectronHypoToolFromName( name, conf ):
     return tool
 
 
+def TrigL2ElectronHypoToolFromName( name, conf ):
+    """ provides configuration of the hypo tool giben the chain name
+    The argument will be replaced by "parsed" chain dict. For now it only serves simplest chain HLT_eXYZ.
+    """
+    from TriggerMenuMT.HLTMenuConfig.Menu.DictFromChainName import DictFromChainName
+    decoder = DictFromChainName()
+    decodedDict = decoder.analyseShortName(conf, [], "") # no L1 info
+    decodedDict['chainName'] = name # override
+        
+    return TrigL2ElectronHypoToolFromDict( decodedDict )
+
+
+
 if __name__ == "__main__":
     tool = TrigL2ElectronHypoToolFromName("HLT_e3_etcut", "HLT_e3_etcut")
     assert tool, "Not configured simple tool"
diff --git a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2PhotonHypoTool.py b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2PhotonHypoTool.py
index d27183989671..41045436c2cb 100644
--- a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2PhotonHypoTool.py
+++ b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2PhotonHypoTool.py
@@ -1,15 +1,12 @@
 
 
-def TrigL2PhotonHypoToolFromName( name, conf ):
-    """ provides configuration of the hypo tool giben the chain name
-    The argument will be replaced by "parsed" chain dict. For now it only serves simplest chain HLT_eXYZ.
-    """
-    bname = conf.split('_')
+def TrigL2PhotonHypoToolFromDict( chainDict ):
+    """ Use menu decoded chain dictionary to configure the tool """
+    thresholds = sum([ [cpart['threshold']]*int(cpart['multiplicity']) for cpart in chainDict['chainParts']], [])
 
-    threshold = bname[1]
-    from TrigEgammaHypo.TrigL2CaloHypoTool import decodeThreshold
-    thresholds = decodeThreshold( threshold )
+    name = chainDict['chainName']
 
+    
     from TrigEgammaHypo.TrigEgammaHypoConf import TrigL2PhotonHypoTool
     tool = TrigL2PhotonHypoTool(name)
     tool.MonTool = ""
@@ -47,6 +44,19 @@ def TrigL2PhotonHypoToolFromName( name, conf ):
     return tool
 
 
+def TrigL2PhotonHypoToolFromName( name, conf ):
+    """ provides configuration of the hypo tool giben the chain name
+    The argument will be replaced by "parsed" chain dict. For now it only serves simplest chain HLT_eXYZ.
+    """
+    
+    from TriggerMenuMT.HLTMenuConfig.Menu.DictFromChainName import DictFromChainName
+    decoder = DictFromChainName()
+    decodedDict = decoder.analyseShortName(conf, [], "") # no L1 info
+    decodedDict['chainName'] = name # override
+        
+    return TrigL2PhotonHypoToolFromDict( decodedDict )
+
+
 if __name__ == "__main__":
     tool = TrigL2PhotonHypoToolFromName("HLT_g5_etcut", "HLT_g5_etcut")   
     assert tool, "Not configured simple tool"
-- 
GitLab


From a5782b6b41ae834fe08b8b79dc8047e4605eef79 Mon Sep 17 00:00:00 2001
From: Marcin Nowak <Marcin.Nowak@cern.ch>
Date: Wed, 23 Jan 2019 15:45:41 +0100
Subject: [PATCH 063/192] Disambiguate between EventSelector::Context and
 EventContext

---
 .../AthenaServices/src/AthenaEventLoopMgr.cxx | 32 +++++++++----------
 .../AthenaServices/src/AthenaEventLoopMgr.h   |  4 +--
 2 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/Control/AthenaServices/src/AthenaEventLoopMgr.cxx b/Control/AthenaServices/src/AthenaEventLoopMgr.cxx
index 8e1470482a73..a09eef98d060 100644
--- a/Control/AthenaServices/src/AthenaEventLoopMgr.cxx
+++ b/Control/AthenaServices/src/AthenaEventLoopMgr.cxx
@@ -54,7 +54,7 @@ AthenaEventLoopMgr::AthenaEventLoopMgr(const std::string& nam,
   : MinimalEventLoopMgr(nam, svcLoc), 
     m_incidentSvc ( "IncidentSvc",  nam ), 
     m_eventStore( "StoreGateSvc", nam ), 
-    m_evtSelector(nullptr), m_evtContext(nullptr),
+    m_evtSelector(nullptr), m_evtSelCtxt(nullptr),
     m_histoDataMgrSvc( "HistogramDataSvc",         nam ), 
     m_histoPersSvc   ( "HistogramPersistencySvc",  nam ), 
     m_activeStoreSvc ( "ActiveStoreSvc",           nam ),
@@ -252,7 +252,7 @@ StatusCode AthenaEventLoopMgr::initialize()
       m_evtSelector = theEvtSel;
       
       // reset iterator
-      if (m_evtSelector->createContext(m_evtContext).isFailure()) {
+      if (m_evtSelector->createContext(m_evtSelCtxt).isFailure()) {
 	fatal() << "Can not create the event selector Context." 
                 << endmsg;
 	return StatusCode::FAILURE;
@@ -408,7 +408,7 @@ StatusCode AthenaEventLoopMgr::finalize()
   m_evtSelector   = releaseInterface(m_evtSelector);
   m_incidentSvc.release().ignore();
 
-  delete m_evtContext; m_evtContext = nullptr;
+  delete m_evtSelCtxt; m_evtSelCtxt = nullptr;
 
   if(m_useTools) {
     tool_iterator firstTool = m_tools.begin();
@@ -621,7 +621,7 @@ StatusCode AthenaEventLoopMgr::executeEvent(void* /*par*/)
   const EventInfo* pEvent(nullptr);
   std::unique_ptr<EventInfo> pEventPtr;
   unsigned int conditionsRun = EventIDBase::UNDEFNUM;
-  if ( m_evtContext )
+  if ( m_evtSelCtxt )
   { // Deal with the case when an EventSelector is provided
     // Retrieve the Event object
     const AthenaAttributeList* pAttrList = eventStore()->tryConstRetrieve<AthenaAttributeList>();
@@ -908,12 +908,12 @@ StatusCode AthenaEventLoopMgr::nextEvent(int maxevt)
     //-----------------------------------------------------------------------
     // we need an EventInfo Object to fire the incidents. 
     //-----------------------------------------------------------------------
-    if ( m_evtContext )
+    if ( m_evtSelCtxt )
     {   // Deal with the case when an EventSelector is provided
 
       IOpaqueAddress* addr = nullptr;
 
-      sc = m_evtSelector->next(*m_evtContext);
+      sc = m_evtSelector->next(*m_evtSelCtxt);
 
       if ( !sc.isSuccess() )
       {
@@ -923,7 +923,7 @@ StatusCode AthenaEventLoopMgr::nextEvent(int maxevt)
         break;
       }
 
-      if (m_evtSelector->createAddress(*m_evtContext, addr).isFailure()) {
+      if (m_evtSelector->createAddress(*m_evtSelCtxt, addr).isFailure()) {
         error()
 	      << "Could not create an IOpaqueAddress" << endmsg;
         break;
@@ -992,15 +992,15 @@ StatusCode AthenaEventLoopMgr::seek (int evt)
     return StatusCode::FAILURE;
   }
 
-  if (!m_evtContext) {
-    if (m_evtSelector->createContext(m_evtContext).isFailure()) {
+  if (!m_evtSelCtxt) {
+    if (m_evtSelector->createContext(m_evtSelCtxt).isFailure()) {
       fatal() << "Can not create the event selector Context."
               << endmsg;
       return StatusCode::FAILURE;
     }
   }
 
-  StatusCode sc = is->seek (*m_evtContext, evt);
+  StatusCode sc = is->seek (*m_evtSelCtxt, evt);
   if (sc.isSuccess()) {
     m_nevt = evt;
   }
@@ -1031,15 +1031,15 @@ int AthenaEventLoopMgr::size()
     return -1;
   }
 
-  if (!m_evtContext) {
-    if (m_evtSelector->createContext(m_evtContext).isFailure()) {
+  if (!m_evtSelCtxt) {
+    if (m_evtSelector->createContext(m_evtSelCtxt).isFailure()) {
       fatal() << "Can not create the event selector Context."
               << endmsg;
       return -1;
     }
   }
 
-  return cs->size (*m_evtContext);
+  return cs->size (*m_evtSelCtxt);
 }
 
 void AthenaEventLoopMgr::handle(const Incident& inc)
@@ -1047,7 +1047,7 @@ void AthenaEventLoopMgr::handle(const Incident& inc)
   if(inc.type()!="BeforeFork")
     return;
 
-  if(!m_evtContext || !m_firstRun) {
+  if(!m_evtSelCtxt || !m_firstRun) {
     warning() << "Skipping BeforeFork handler. Either no event selector is provided or begin run has already passed" << endmsg;
   }
 
@@ -1061,12 +1061,12 @@ void AthenaEventLoopMgr::handle(const Incident& inc)
   // Construct EventInfo
   const EventInfo* pEvent(nullptr);
   IOpaqueAddress* addr = nullptr;
-  sc = m_evtSelector->next(*m_evtContext);
+  sc = m_evtSelector->next(*m_evtSelCtxt);
   if(!sc.isSuccess()) {
     info() << "No more events in event selection " << endmsg;
     return;
   }
-  sc = m_evtSelector->createAddress(*m_evtContext, addr);
+  sc = m_evtSelector->createAddress(*m_evtSelCtxt, addr);
   if (sc.isFailure()) {
     error() << "Could not create an IOpaqueAddress" << endmsg;
     return; 
diff --git a/Control/AthenaServices/src/AthenaEventLoopMgr.h b/Control/AthenaServices/src/AthenaEventLoopMgr.h
index 356b46b5ad4e..015be5173cac 100644
--- a/Control/AthenaServices/src/AthenaEventLoopMgr.h
+++ b/Control/AthenaServices/src/AthenaEventLoopMgr.h
@@ -80,8 +80,8 @@ protected:
 
   /// Reference to the Event Selector
   IEvtSelector*     m_evtSelector;
-  /// Gaudi event selector Context (may be used as a cursor by the evt selector)
-  EvtContext*       m_evtContext;
+  /// Gaudi EventSelector Context (may be used as a cursor by the evt selector)
+  IEvtSelector::Context* m_evtSelCtxt;
   /// @property Event selector Name. If empty string (default) take value from ApplicationMgr
   StringProperty    m_evtsel;
 
-- 
GitLab


From 289e5676ea43bebe0f2e1125c88c2a70627c252f Mon Sep 17 00:00:00 2001
From: Rupert Tombs <rt500@cam.ac.uk>
Date: Wed, 23 Jan 2019 15:03:25 +0000
Subject: [PATCH 064/192] Remove outdated imports in
 BCM_DigitizationConfigNew.py. Relocate RandomServices_test.py to the test
 directory.

---
 Control/RngComps/CMakeLists.txt                                 | 2 +-
 Control/RngComps/{python => test}/RandomServices_test.py        | 2 +-
 .../BCM_Digitization/python/BCM_DigitizationConfigNew.py        | 2 --
 3 files changed, 2 insertions(+), 4 deletions(-)
 rename Control/RngComps/{python => test}/RandomServices_test.py (92%)

diff --git a/Control/RngComps/CMakeLists.txt b/Control/RngComps/CMakeLists.txt
index 8100c2c4fc18..51df943724ae 100644
--- a/Control/RngComps/CMakeLists.txt
+++ b/Control/RngComps/CMakeLists.txt
@@ -70,7 +70,7 @@ atlas_add_test( RNGWrapper_test
    GaudiKernel AtlasCLHEP_RandomGenerators )
 
 atlas_add_test( RandomServices_test
-                SCRIPT python/RandomServices_test.py )
+                SCRIPT test/RandomServices_test.py )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/Control/RngComps/python/RandomServices_test.py b/Control/RngComps/test/RandomServices_test.py
similarity index 92%
rename from Control/RngComps/python/RandomServices_test.py
rename to Control/RngComps/test/RandomServices_test.py
index 71d8eb0d4206..085746ca40da 100755
--- a/Control/RngComps/python/RandomServices_test.py
+++ b/Control/RngComps/test/RandomServices_test.py
@@ -6,7 +6,7 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 from AthenaCommon.Logging import log
 from AthenaCommon.Constants import DEBUG
 from AthenaCommon.Configurable import Configurable
-from RandomServices import dSFMT, Ranlux64, Ranecu, RNG
+from RngComps.RandomServices import dSFMT, Ranlux64, Ranecu, RNG
 
 # Set up logging and new style config
 log.setLevel(DEBUG)
diff --git a/InnerDetector/InDetDigitization/BCM_Digitization/python/BCM_DigitizationConfigNew.py b/InnerDetector/InDetDigitization/BCM_Digitization/python/BCM_DigitizationConfigNew.py
index 41f343c39fa1..a7855a708877 100755
--- a/InnerDetector/InDetDigitization/BCM_Digitization/python/BCM_DigitizationConfigNew.py
+++ b/InnerDetector/InDetDigitization/BCM_Digitization/python/BCM_DigitizationConfigNew.py
@@ -5,8 +5,6 @@ Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 from AthenaCommon import CfgMgr
 from RngComps.RandomServices import RNG, AthEngines
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
-from Digitization.DigitizationFlags import digitizationFlags
-from OverlayCommonAlgs.OverlayFlags import overlayFlags
 
 # The earliest and last bunch crossing times for which interactions will be sent
 # to the BCM Digitization code.
-- 
GitLab


From 37aa860bb42dac7b0f6afebbd02b5f187ec77cb9 Mon Sep 17 00:00:00 2001
From: Charles Burton <cdb97@cornell.edu>
Date: Wed, 23 Jan 2019 09:55:06 -0600
Subject: [PATCH 065/192] resolve issues with offline monitoring MR

1. implement a manual fill wrapper for offline monitoring
2. revert change in GenericMonitoringTool default path to 'EXPERT'. This will
   be fixed in another MR
3. Update example AthMonitorAlgorithm daughter class for changes to base class
---
 .../AthenaMonitoring/AthMonitorAlgorithm.h    | 42 ++++++++++++++++---
 .../ExampleMonitorAlgorithm.h                 |  5 +--
 .../python/GenericMonitoringTool.py           |  2 +-
 .../src/AthMonitorAlgorithm.cxx               | 15 ++++---
 .../src/ExampleMonitorAlgorithm.cxx           | 15 ++++---
 5 files changed, 56 insertions(+), 23 deletions(-)

diff --git a/Control/AthenaMonitoring/AthenaMonitoring/AthMonitorAlgorithm.h b/Control/AthenaMonitoring/AthenaMonitoring/AthMonitorAlgorithm.h
index cdb1d6b12cdf..7154ccad7070 100644
--- a/Control/AthenaMonitoring/AthenaMonitoring/AthMonitorAlgorithm.h
+++ b/Control/AthenaMonitoring/AthenaMonitoring/AthMonitorAlgorithm.h
@@ -23,6 +23,7 @@
 #include "AthenaMonitoring/IDQFilterTool.h"
 #include "AthenaMonitoring/IMonitorToolBase.h"
 #include "AthenaMonitoring/ITriggerTranslatorTool.h"
+#include "AthenaMonitoring/Monitored.h"
 
 #include "LumiBlockComps/ILuminosityTool.h"
 #include "TrigDecisionInterface/ITrigDecisionTool.h"
@@ -34,7 +35,6 @@
 class AthMonitorAlgorithm : public AthReentrantAlgorithm {
 public:
 
-
     /** 
      * Constructor
      */
@@ -76,6 +76,38 @@ public:
     virtual StatusCode fillHistograms(const EventContext& ctx) const = 0;
 
 
+    /**
+     * Adds variables from an event to a group by name.
+     * 
+     * At the end of the fillHistograms routine, one should save the monitored variables 
+     * to the group. This function wraps the process of getting the desired group by a 
+     * call to AthMonitorAlgorithm::getGroup() and a call to Monitored::Group::fill(), 
+     * which also disables the auto-fill feature to avoid double-filling. Note, users 
+     * should avoid using this specific function name in daughter classes.
+     * 
+     * @param groupName The string name of the GenericMonitoringTool
+     * @param variables Variables desired to be saved.
+     * @return StatusCode
+     */
+    template <typename... T>
+    void fill( const std::string& groupName, T&&... variables ) const {
+        Monitored::Group(getGroup(groupName),std::forward<T>(variables)...).fill();
+    }
+
+
+    /**
+     * Adds variables from an event to a group by object reference.
+     * 
+     * @param groupHandle A reference of the GenericMonitoringTool to which add variables.
+     * @param variables Variables desired to be saved
+     * @return StatusCode
+     */
+    template <typename... T>
+    void fill( const ToolHandle<GenericMonitoringTool>& groupHandle, T&&... variables ) const {
+        Monitored::Group(groupHandle,std::forward<T>(variables)...).fill();
+    }
+
+
     /**
      * Specifies the processing environment.
      * 
@@ -148,14 +180,13 @@ public:
      * Get a specific monitoring tool from the tool handle array.
      * 
      * Finds a specific GenericMonitoringTool instance from the list of monitoring
-     * tools (a ToolHandleArray). Throws a FATAL warning if the object found is a
-     * null pointer.
+     * tools (a ToolHandleArray). Throws a FATAL warning if the object found is 
+     * empty.
      * 
      * @param name string name of the desired tool
      * @return reference to the desired monitoring tool
      */
-    GenericMonitoringTool& getGroup( const std::string& name ) const;
-
+    ToolHandle<GenericMonitoringTool> getGroup( const std::string& name ) const;
 
     /** 
      * Get the trigger decision tool member.
@@ -262,7 +293,6 @@ public:
 
 protected:
     // Using the new way to declare JO properties: Gaudi::Property<int> m_myProperty {this,"MyProperty",0};
-
     ToolHandleArray<GenericMonitoringTool> m_tools {this,"GMTools",{}}; ///< Array of Generic Monitoring Tools
     ToolHandle<Trig::ITrigDecisionTool> m_trigDecTool {this,"TrigDecisionTool",""}; ///< Tool to tell whether a specific trigger is passed
     ToolHandle<ITriggerTranslatorTool> m_trigTranslator {this,"TriggerTranslatorTool",""}; ///< Tool to unpack trigger categories into a trigger list
diff --git a/Control/AthenaMonitoring/AthenaMonitoring/ExampleMonitorAlgorithm.h b/Control/AthenaMonitoring/AthenaMonitoring/ExampleMonitorAlgorithm.h
index 0d959860d56a..c08f685c9828 100644
--- a/Control/AthenaMonitoring/AthenaMonitoring/ExampleMonitorAlgorithm.h
+++ b/Control/AthenaMonitoring/AthenaMonitoring/ExampleMonitorAlgorithm.h
@@ -6,10 +6,7 @@
 #define EXAMPLEMONITORALGORITHM_H
 
 #include "AthenaMonitoring/AthMonitorAlgorithm.h"
-
-#include "AthenaMonitoring/MonitoredScope.h"
-#include "AthenaMonitoring/MonitoredScalar.h"
-#include "AthenaMonitoring/MonitoredCollection.h"
+#include "AthenaMonitoring/Monitored.h"
 
 #include "TRandom3.h"
 
diff --git a/Control/AthenaMonitoring/python/GenericMonitoringTool.py b/Control/AthenaMonitoring/python/GenericMonitoringTool.py
index 6ee23ef76637..d291ed59def4 100644
--- a/Control/AthenaMonitoring/python/GenericMonitoringTool.py
+++ b/Control/AthenaMonitoring/python/GenericMonitoringTool.py
@@ -25,7 +25,7 @@ class GenericMonitoringTool(_GenericMonitoringTool):
 #  @param title    Histogram title and optional axis title (same syntax as in TH constructor)
 #  @param opt      Histrogram options (see GenericMonitoringTool)
 #  @param labels   List of bin labels (for a 2D histogram, sequential list of x- and y-axis labels)
-def defineHistogram(varname, type='TH1F', path='DEFAULT',
+def defineHistogram(varname, type='TH1F', path='EXPERT',
                     title=None,
                     xbins=100, xmin=0, xmax=1,
                     ybins=None, ymin=None, ymax=None, zmin=None, zmax=None, opt='', labels=None):
diff --git a/Control/AthenaMonitoring/src/AthMonitorAlgorithm.cxx b/Control/AthenaMonitoring/src/AthMonitorAlgorithm.cxx
index 044cf89f2205..bcfda26e746e 100644
--- a/Control/AthenaMonitoring/src/AthMonitorAlgorithm.cxx
+++ b/Control/AthenaMonitoring/src/AthMonitorAlgorithm.cxx
@@ -93,8 +93,9 @@ StatusCode AthMonitorAlgorithm::execute( const EventContext& ctx ) const {
     return fillHistograms(ctx);
 }
 
+
 SG::ReadHandle<xAOD::EventInfo> AthMonitorAlgorithm::GetEventInfo( const EventContext& ctx ) const {
-  return SG::ReadHandle<xAOD::EventInfo>(m_EventInfoKey, ctx);
+    return SG::ReadHandle<xAOD::EventInfo>(m_EventInfoKey, ctx);
 }
 
 
@@ -160,16 +161,18 @@ AthMonitorAlgorithm::DataType_t AthMonitorAlgorithm::dataTypeStringToEnum( const
 }
 
 
-GenericMonitoringTool& AthMonitorAlgorithm::getGroup( const std::string& name ) const {
-    // get the pointer to the tool, check that it exists, and return
-    GenericMonitoringTool* tool = &(*(*m_tools[name]));
-    if (tool == nullptr) {
+ToolHandle<GenericMonitoringTool> AthMonitorAlgorithm::getGroup( const std::string& name ) const {
+    // get the pointer to the tool, and check that it exists
+    const ToolHandle<GenericMonitoringTool> toolHandle = *(m_tools[name]);
+    if ( toolHandle.empty() ) {
         ATH_MSG_FATAL("The tool "<<name<<" could not be found in the monitoring algorithm's tool array."<<endmsg);
     }
-    return *tool;
+    // return the tool handle
+    return toolHandle;
 }
 
 
+
 const ToolHandle<Trig::ITrigDecisionTool>& AthMonitorAlgorithm::getTrigDecisionTool() {
     return m_trigDecTool;
 }
diff --git a/Control/AthenaMonitoring/src/ExampleMonitorAlgorithm.cxx b/Control/AthenaMonitoring/src/ExampleMonitorAlgorithm.cxx
index bc0167f758a5..5fd6a5c9e916 100644
--- a/Control/AthenaMonitoring/src/ExampleMonitorAlgorithm.cxx
+++ b/Control/AthenaMonitoring/src/ExampleMonitorAlgorithm.cxx
@@ -24,20 +24,23 @@ StatusCode ExampleMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co
     // Declare the quantities which should be monitored
     auto lumiPerBCID = MonitoredScalar::declare<float>("lumiPerBCID",0.0);
     auto lb = MonitoredScalar::declare<int>("lb",0);
-    auto random = MonitoredScalar::declare<float>("random",0.0);    
-    
+    auto run = MonitoredScalar::declare<int>("run",0);
+    auto random = MonitoredScalar::declare<float>("random",0.0);
     // Set the values of the monitored variables for the event
     lumiPerBCID = lbAverageInteractionsPerCrossing();
     lb = GetEventInfo(ctx)->lumiBlock();
+    run = GetEventInfo(ctx)->runNumber();
     if (m_doRandom) {
         TRandom r;
         random = r.Rndm();
     }
 
-    // Use the getGroup method to get your instance of the GenericMonitoringTool by name
-    auto& tool = getGroup("ExampleMonitor");
-    // Save. First argument is the tool, all others are the variables to be saved.
-    Monitored::save(&tool,lumiPerBCID,lb,random);
+    // Fill. First argument is the tool name, all others are the variables to be saved.
+    fill("ExampleMonitor",lumiPerBCID,lb,random);
+
+    // Alternative fill method. Get the group yourself, and pass it to the fill function.
+    auto tool = getGroup("ExampleMonitor");
+    fill(tool,run);
     
     return StatusCode::SUCCESS;
 }
-- 
GitLab


From 1d90a104d44fa04a8ea70d15372193d6f60a134b Mon Sep 17 00:00:00 2001
From: scott snyder <snyder@bnl.gov>
Date: Wed, 23 Jan 2019 17:34:19 +0100
Subject: [PATCH 066/192] Fix copyright line.

---
 Control/StoreGate/src/VarHandleKey.cxx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Control/StoreGate/src/VarHandleKey.cxx b/Control/StoreGate/src/VarHandleKey.cxx
index 3ff38a2080ac..9eeae80388a5 100644
--- a/Control/StoreGate/src/VarHandleKey.cxx
+++ b/Control/StoreGate/src/VarHandleKey.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017, 2019 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // $Id$
-- 
GitLab


From b34e98db5ac1b111533c256e58c09f1d47ba8953 Mon Sep 17 00:00:00 2001
From: Charles Burton <cdb97@cornell.edu>
Date: Wed, 23 Jan 2019 10:46:33 -0600
Subject: [PATCH 067/192] cosmetic changes 1. update example
 AthMonitorAlgorithm to use new Monitored interface names 2. refactor fill()
 function to avoid code duplication

---
 .../AthenaMonitoring/AthMonitorAlgorithm.h       | 16 ++++++++--------
 .../python/ExampleMonitorAlgorithm.py            |  3 ++-
 .../src/ExampleMonitorAlgorithm.cxx              |  8 ++++----
 3 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/Control/AthenaMonitoring/AthenaMonitoring/AthMonitorAlgorithm.h b/Control/AthenaMonitoring/AthenaMonitoring/AthMonitorAlgorithm.h
index 7154ccad7070..c1b3c8ff979a 100644
--- a/Control/AthenaMonitoring/AthenaMonitoring/AthMonitorAlgorithm.h
+++ b/Control/AthenaMonitoring/AthenaMonitoring/AthMonitorAlgorithm.h
@@ -79,24 +79,24 @@ public:
     /**
      * Adds variables from an event to a group by name.
      * 
-     * At the end of the fillHistograms routine, one should save the monitored variables 
-     * to the group. This function wraps the process of getting the desired group by a 
-     * call to AthMonitorAlgorithm::getGroup() and a call to Monitored::Group::fill(), 
-     * which also disables the auto-fill feature to avoid double-filling. Note, users 
-     * should avoid using this specific function name in daughter classes.
-     * 
      * @param groupName The string name of the GenericMonitoringTool
      * @param variables Variables desired to be saved.
      * @return StatusCode
      */
     template <typename... T>
     void fill( const std::string& groupName, T&&... variables ) const {
-        Monitored::Group(getGroup(groupName),std::forward<T>(variables)...).fill();
+        fill(getGroup(groupName),std::forward<T>(variables)...);
     }
 
 
     /**
-     * Adds variables from an event to a group by object reference.
+     * Adds variables from an event to a group by the group's object reference.
+     * 
+     * At the end of the fillHistograms routine, one should save the monitored variables 
+     * to the group. This function wraps the process of getting the desired group by a 
+     * call to AthMonitorAlgorithm::getGroup() and a call to Monitored::Group::fill(), 
+     * which also disables the auto-fill feature to avoid double-filling. Note, users 
+     * should avoid using this specific function name in daughter classes.
      * 
      * @param groupHandle A reference of the GenericMonitoringTool to which add variables.
      * @param variables Variables desired to be saved
diff --git a/Control/AthenaMonitoring/python/ExampleMonitorAlgorithm.py b/Control/AthenaMonitoring/python/ExampleMonitorAlgorithm.py
index 88b8fffe90ee..0c50180230ce 100644
--- a/Control/AthenaMonitoring/python/ExampleMonitorAlgorithm.py
+++ b/Control/AthenaMonitoring/python/ExampleMonitorAlgorithm.py
@@ -87,7 +87,8 @@ def ExampleMonitoringConfig(inputFlags):
 
     anotherGroup.defineHistogram('lbWithFilter;lbWithFilter',title='Lumi;lb;Events',
                                  path='top',xbins=1000,xmin=-0.5,xmax=999.5)
-
+    anotherGroup.defineHistogram('run;run',title='Run Number;run;Events',
+                                 path='top',xbins=1000000,xmin=-0.5,xmax=999999.5)
 
     ### STEP 6 ###
     # Finalize. The return value should be a tuple of the ComponentAccumulator
diff --git a/Control/AthenaMonitoring/src/ExampleMonitorAlgorithm.cxx b/Control/AthenaMonitoring/src/ExampleMonitorAlgorithm.cxx
index 5fd6a5c9e916..2494e52059bc 100644
--- a/Control/AthenaMonitoring/src/ExampleMonitorAlgorithm.cxx
+++ b/Control/AthenaMonitoring/src/ExampleMonitorAlgorithm.cxx
@@ -22,10 +22,10 @@ StatusCode ExampleMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co
     using namespace Monitored;
 
     // Declare the quantities which should be monitored
-    auto lumiPerBCID = MonitoredScalar::declare<float>("lumiPerBCID",0.0);
-    auto lb = MonitoredScalar::declare<int>("lb",0);
-    auto run = MonitoredScalar::declare<int>("run",0);
-    auto random = MonitoredScalar::declare<float>("random",0.0);
+    auto lumiPerBCID = Monitored::Scalar<float>("lumiPerBCID",0.0);
+    auto lb = Monitored::Scalar<int>("lb",0);
+    auto run = Monitored::Scalar<int>("run",0);
+    auto random = Monitored::Scalar<float>("random",0.0);
     // Set the values of the monitored variables for the event
     lumiPerBCID = lbAverageInteractionsPerCrossing();
     lb = GetEventInfo(ctx)->lumiBlock();
-- 
GitLab


From 92c9029ce6b4a00ddcc0002ad48a144165cf2ed2 Mon Sep 17 00:00:00 2001
From: Rupert Tombs <rt500@cam.ac.uk>
Date: Wed, 23 Jan 2019 17:06:51 +0000
Subject: [PATCH 068/192] Add test directory to python
 atlas_install_python_modules

---
 Control/RngComps/CMakeLists.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Control/RngComps/CMakeLists.txt b/Control/RngComps/CMakeLists.txt
index 51df943724ae..1775d29dd7af 100644
--- a/Control/RngComps/CMakeLists.txt
+++ b/Control/RngComps/CMakeLists.txt
@@ -73,5 +73,5 @@ atlas_add_test( RandomServices_test
                 SCRIPT test/RandomServices_test.py )
 
 # Install files from the package:
-atlas_install_python_modules( python/*.py )
+atlas_install_python_modules( python/*.py  test/*.py )
 atlas_install_joboptions( share/*.py )
-- 
GitLab


From af6d3e4ec6c7135dbb3d8e2a2fe91f45748ab59a Mon Sep 17 00:00:00 2001
From: Rupert Tombs <rt500@cam.ac.uk>
Date: Wed, 23 Jan 2019 17:12:58 +0000
Subject: [PATCH 069/192] Correct test directory from python to joboptions

---
 Control/RngComps/CMakeLists.txt | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Control/RngComps/CMakeLists.txt b/Control/RngComps/CMakeLists.txt
index 1775d29dd7af..44ec2be9e3cd 100644
--- a/Control/RngComps/CMakeLists.txt
+++ b/Control/RngComps/CMakeLists.txt
@@ -73,5 +73,5 @@ atlas_add_test( RandomServices_test
                 SCRIPT test/RandomServices_test.py )
 
 # Install files from the package:
-atlas_install_python_modules( python/*.py  test/*.py )
-atlas_install_joboptions( share/*.py )
+atlas_install_python_modules( python/*.py )
+atlas_install_joboptions( share/*.py test/*.py )
-- 
GitLab


From 6483294dfb8f695b09cda713f0d0fc38adc245a2 Mon Sep 17 00:00:00 2001
From: Dmitry Popov <Dmitry.Popov@cern.ch>
Date: Wed, 23 Jan 2019 18:42:00 +0100
Subject: [PATCH 070/192] Fixed copyright should be first line

---
 .../TrigT1CaloCalibConditions/L1CaloDerivedRunPars.h           | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloDerivedRunPars.h b/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloDerivedRunPars.h
index e6da63e47fc1..d164dea9e88c 100644
--- a/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloDerivedRunPars.h
+++ b/Trigger/TrigT1/TrigT1CaloCalibConditions/TrigT1CaloCalibConditions/L1CaloDerivedRunPars.h
@@ -1,8 +1,7 @@
-// -*- C++ -*-
-#ifndef TRIGT1CALOCALIBCONDITIONS_L1CALODERIVEDRUNPARS_H
 /*
   Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 */
+#ifndef TRIGT1CALOCALIBCONDITIONS_L1CALODERIVEDRUNPARS_H
 #define TRIGT1CALOCALIBCONDITIONS_L1CALODERIVEDRUNPARS_H
 
 #include <string>
-- 
GitLab


From 7b099a9828ffd98538184a13f8cca1713f21b3be Mon Sep 17 00:00:00 2001
From: Dmitry Popov <Dmitry.Popov@cern.ch>
Date: Wed, 23 Jan 2019 18:42:42 +0100
Subject: [PATCH 071/192] Updated msg() to ATH_MSG

---
 Trigger/TrigT1/TrigT1CaloMonitoring/src/MistimedStreamMon.cxx | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/Trigger/TrigT1/TrigT1CaloMonitoring/src/MistimedStreamMon.cxx b/Trigger/TrigT1/TrigT1CaloMonitoring/src/MistimedStreamMon.cxx
index f6c561bb9fe8..204b57c586d8 100755
--- a/Trigger/TrigT1/TrigT1CaloMonitoring/src/MistimedStreamMon.cxx
+++ b/Trigger/TrigT1/TrigT1CaloMonitoring/src/MistimedStreamMon.cxx
@@ -77,8 +77,7 @@ MistimedStreamMon::~MistimedStreamMon()
 StatusCode MistimedStreamMon::initialize()
 /*---------------------------------------------------------*/
 {
-  msg(MSG::INFO) << "Initializing " << name() << " - package version "
-                 << PACKAGE_VERSION << endmsg;
+  ATH_MSG_INFO("Initializing " << name() << " - package version " << PACKAGE_VERSION);
 
   CHECK(ManagedMonitorToolBase::initialize());
   CHECK(m_errorTool.retrieve());
-- 
GitLab


From a9ea2670bc820eecc9241cea757948173c86504e Mon Sep 17 00:00:00 2001
From: Susumu Oda <susumu.oda@cern.ch>
Date: Wed, 23 Jan 2019 19:26:21 +0000
Subject: [PATCH 072/192] Make SCTEventFlagWriter and SCTRawDataProvider
 reentrant (ATLASRECTS-4824)

---
 .../ISCT_ByteStreamErrorsTool.h               |  9 ++++---
 .../src/SCT_ByteStreamErrorsTool.cxx          | 18 ++++++-------
 .../src/SCT_ByteStreamErrorsTool.h            |  4 +--
 .../src/SCTEventFlagWriter.cxx                | 12 ++++-----
 .../src/SCTEventFlagWriter.h                  |  8 +++---
 .../src/SCTRawDataProvider.cxx                | 25 ++++++++-----------
 .../src/SCTRawDataProvider.h                  |  8 +++---
 7 files changed, 42 insertions(+), 42 deletions(-)

diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/SCT_ConditionsTools/ISCT_ByteStreamErrorsTool.h b/InnerDetector/InDetConditions/SCT_ConditionsTools/SCT_ConditionsTools/ISCT_ByteStreamErrorsTool.h
index a229b5f9db6a..0350b90af779 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/SCT_ConditionsTools/ISCT_ByteStreamErrorsTool.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/SCT_ConditionsTools/ISCT_ByteStreamErrorsTool.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -11,12 +11,14 @@
 #ifndef ISCT_ByteStreamErrorsTool_h
 #define ISCT_ByteStreamErrorsTool_h
 
-#include <set>
-
 #include "InDetConditionsSummaryService/InDetHierarchy.h"
 #include "SCT_ConditionsTools/ISCT_ConditionsTool.h"
 #include "SCT_ConditionsData/SCT_ByteStreamErrors.h"
 
+#include "GaudiKernel/EventContext.h"
+
+#include <set>
+
 class Identifier;
 class IdentifierHash;
 
@@ -38,6 +40,7 @@ class ISCT_ByteStreamErrorsTool: virtual public ISCT_ConditionsTool {
   //@}
   
   virtual const std::set<IdentifierHash>* getErrorSet(int errorType) const =0;
+  virtual const std::set<IdentifierHash>* getErrorSet(int errorType, const EventContext& ctx) const =0;
 
   virtual bool isRODSimulatedData() const =0;
   virtual bool isRODSimulatedData(const IdentifierHash& elementIdHash) const =0;
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ByteStreamErrorsTool.cxx b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ByteStreamErrorsTool.cxx
index 44330c086328..c2994778c4b1 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ByteStreamErrorsTool.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ByteStreamErrorsTool.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -111,8 +111,8 @@ SCT_ByteStreamErrorsTool::isGood(const IdentifierHash& elementIdHash) const {
   bool result{true};
 
   for (SCT_ByteStreamErrors::errorTypes badError: SCT_ByteStreamErrors::BadErrors) {
-    const std::set<IdentifierHash>& errorSet{getErrorSet(badError, ctx)};
-    result = (errorSet.count(elementIdHash)==0);
+    const std::set<IdentifierHash>* errorSet{getErrorSet(badError, ctx)};
+    result = (errorSet->count(elementIdHash)==0);
     if (not result) return result;
   }
   
@@ -265,9 +265,9 @@ const std::set<IdentifierHash>*
 SCT_ByteStreamErrorsTool::getErrorSet(int errorType) const {
   const EventContext& ctx{Gaudi::Hive::currentContext()};
   if (errorType>=0 and errorType<SCT_ByteStreamErrors::NUM_ERROR_TYPES) {
-    return &getErrorSet(static_cast<SCT_ByteStreamErrors::errorTypes>(errorType), ctx);
+    return getErrorSet(errorType, ctx);
   }
-  return 0;
+  return nullptr;
 }
 
 ////////////////////////////////////////////////////////////////////////
@@ -383,8 +383,8 @@ SCT_ByteStreamErrorsTool::isRODSimulatedData() const {
 bool
 SCT_ByteStreamErrorsTool::isRODSimulatedData(const IdentifierHash& elementIdHash) const {
   const EventContext& ctx{Gaudi::Hive::currentContext()};
-  const std::set<IdentifierHash>& errorSet{getErrorSet(SCT_ByteStreamErrors::RODSimulatedData, ctx)};
-  return (errorSet.count(elementIdHash)!=0);
+  const std::set<IdentifierHash>* errorSet{getErrorSet(SCT_ByteStreamErrors::RODSimulatedData, ctx)};
+  return (errorSet->count(elementIdHash)!=0);
 }
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -436,13 +436,13 @@ const InDetDD::SiDetectorElement* SCT_ByteStreamErrorsTool::getDetectorElement(c
   return m_detectorElements->getDetectorElement(waferHash);
 }
 
-const std::set<IdentifierHash>& SCT_ByteStreamErrorsTool::getErrorSet(SCT_ByteStreamErrors::errorTypes errorType, const EventContext& ctx) const {
+const std::set<IdentifierHash>* SCT_ByteStreamErrorsTool::getErrorSet(int errorType, const EventContext& ctx) const {
   StatusCode sc{fillData(ctx)};
   if (sc.isFailure()) {
     ATH_MSG_ERROR("fillData in getErrorSet fails");
   }
 
-  return m_bsErrors[errorType][ctx.slot()];
+  return &m_bsErrors[errorType][ctx.slot()];
 }
 
 const std::map<Identifier, unsigned int>& SCT_ByteStreamErrorsTool::getTempMaskedChips(const EventContext& ctx) const { 
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ByteStreamErrorsTool.h b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ByteStreamErrorsTool.h
index b4c37254fb88..3a7b2dfbff71 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ByteStreamErrorsTool.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ByteStreamErrorsTool.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -62,6 +62,7 @@ public:
   virtual bool isGood(const IdentifierHash& elementIdHash) const override;
   
   const std::set<IdentifierHash>* getErrorSet(int errorType) const override; // Used by SCTRawDataProviderTool and others
+  const std::set<IdentifierHash>* getErrorSet(int errorType, const EventContext& ctx) const override; // Used by SCTRawDataProviderTool and others
 
   virtual unsigned int tempMaskedChips(const Identifier& moduleId) const override; // Internally used
   virtual unsigned int abcdErrorChips(const Identifier& moduleId) const override; // Internally used
@@ -111,7 +112,6 @@ private:
   const SCT_ByteStreamFractionContainer* getFracData() const;
   const InDetDD::SiDetectorElement* getDetectorElement(const IdentifierHash& waferHash) const;
 
-  const std::set<IdentifierHash>& getErrorSet(SCT_ByteStreamErrors::errorTypes errorType, const EventContext& ctx) const;
   const std::map<Identifier, unsigned int>& getTempMaskedChips(const EventContext& ctx) const;
   const std::map<Identifier, unsigned int>& getAbcdErrorChips(const EventContext& ctx) const;
 };
diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTEventFlagWriter.cxx b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTEventFlagWriter.cxx
index aac33e7c254e..7c1a0d70120c 100644
--- a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTEventFlagWriter.cxx
+++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTEventFlagWriter.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "SCTEventFlagWriter.h"
@@ -9,7 +9,7 @@
 // Constructor
 
 SCTEventFlagWriter::SCTEventFlagWriter(const std::string& name, ISvcLocator* pSvcLocator) :
-  AthAlgorithm(name, pSvcLocator)
+  AthReentrantAlgorithm(name, pSvcLocator)
 {
 }
 
@@ -25,14 +25,14 @@ StatusCode SCTEventFlagWriter::initialize()
 
 // Execute
 
-StatusCode SCTEventFlagWriter::execute()
+StatusCode SCTEventFlagWriter::execute(const EventContext& ctx) const
 {
-  long unsigned int nLVL1IDErrors{m_bsErrTool->getErrorSet(SCT_ByteStreamErrors::LVL1IDError)->size()};
-  long unsigned int nROBFragmentErrors{m_bsErrTool->getErrorSet(SCT_ByteStreamErrors::ROBFragmentError)->size()};
+  long unsigned int nLVL1IDErrors{m_bsErrTool->getErrorSet(SCT_ByteStreamErrors::LVL1IDError, ctx)->size()};
+  long unsigned int nROBFragmentErrors{m_bsErrTool->getErrorSet(SCT_ByteStreamErrors::ROBFragmentError, ctx)->size()};
 
   if ((nLVL1IDErrors > 500) or (nROBFragmentErrors > 1000)) { // Check if number of errors exceed threshold
     bool setOK_xAOD{false};
-    SG::ReadHandle<xAOD::EventInfo> xAODEvtInfo{m_xAODEvtInfoKey}; // Retrive xAOD EventInfo
+    SG::ReadHandle<xAOD::EventInfo> xAODEvtInfo{m_xAODEvtInfoKey, ctx}; // Retrive xAOD EventInfo
     if (xAODEvtInfo.isValid()) { // Retriving xAOD EventInfo successful
       setOK_xAOD = xAODEvtInfo->updateErrorState(xAOD::EventInfo::SCT, xAOD::EventInfo::Error);
     } 
diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTEventFlagWriter.h b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTEventFlagWriter.h
index 665085c3611e..ad1afd761fd5 100644
--- a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTEventFlagWriter.h
+++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTEventFlagWriter.h
@@ -1,11 +1,11 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef SCT_RAWDATABYTESTREAMCNV_SCTEVENTFLAGWRITER_H
 #define SCT_RAWDATABYTESTREAMCNV_SCTEVENTFLAGWRITER_H
 
-#include "AthenaBaseComps/AthAlgorithm.h"
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 
 #include "xAODEventInfo/EventInfo.h"
 #include "StoreGate/ReadHandleKey.h"
@@ -21,7 +21,7 @@ class ISCT_ByteStreamErrorsTool;
  * This algorithm flags an event bad if it has >500 LVL1ID errors or 
  * >1000 ROBFragment errors.
  */
-class SCTEventFlagWriter : public AthAlgorithm
+class SCTEventFlagWriter : public AthReentrantAlgorithm
 {
  public:
 
@@ -35,7 +35,7 @@ class SCTEventFlagWriter : public AthAlgorithm
   virtual StatusCode initialize() override;
 
   /** Execute */
-  virtual StatusCode execute() override;
+  virtual StatusCode execute(const EventContext& ctx) const override;
 
  private:
 
diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProvider.cxx b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProvider.cxx
index 32acf01264ba..25604d4d4ba5 100644
--- a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProvider.cxx
+++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProvider.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "SCTRawDataProvider.h"
@@ -17,7 +17,7 @@ using OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment;
 // Constructor
 
 SCTRawDataProvider::SCTRawDataProvider(const std::string& name, ISvcLocator* pSvcLocator) :
-  AthAlgorithm(name, pSvcLocator),
+  AthReentrantAlgorithm(name, pSvcLocator),
   m_regionSelector{"RegSelSvc", name},
   m_robDataProvider{"ROBDataProviderSvc", name},
   m_sctID{nullptr},
@@ -63,28 +63,27 @@ typedef EventContainers::IdentifiableContTemp<InDetRawDataCollection<SCT_RDORawD
 
 // Execute
 
-StatusCode SCTRawDataProvider::execute()
+StatusCode SCTRawDataProvider::execute(const EventContext& ctx) const
 {
   m_rawDataTool->beginNewEvent();
 
-  SG::WriteHandle<SCT_RDO_Container> rdoContainer(m_rdoContainerKey);
+  SG::WriteHandle<SCT_RDO_Container> rdoContainer(m_rdoContainerKey, ctx);
   bool externalCacheRDO = !m_rdoContainerCacheKey.key().empty();
   if (not externalCacheRDO) {
     ATH_CHECK(rdoContainer.record (std::make_unique<SCT_RDO_Container>(m_sctID->wafer_hash_max())));
     ATH_MSG_DEBUG("Created container for " << m_sctID->wafer_hash_max());
   }
   else {
-    SG::UpdateHandle<SCT_RDO_Cache> update(m_rdoContainerCacheKey);
+    SG::UpdateHandle<SCT_RDO_Cache> update(m_rdoContainerCacheKey, ctx);
     ATH_CHECK(update.isValid());
     ATH_CHECK(rdoContainer.record (std::make_unique<SCT_RDO_Container>(update.ptr())));
     ATH_MSG_DEBUG("Created container using cache for " << m_rdoContainerCacheKey.key());
   }
 
-  
-  SG::WriteHandle<InDetBSErrContainer> bsErrContainer(m_bsErrContainerKey);
+  SG::WriteHandle<InDetBSErrContainer> bsErrContainer(m_bsErrContainerKey, ctx);
   ATH_CHECK(bsErrContainer.record(std::make_unique<InDetBSErrContainer>()));
 
-  SG::WriteHandle<SCT_ByteStreamFractionContainer> bsFracContainer(m_bsFracContainerKey);
+  SG::WriteHandle<SCT_ByteStreamFractionContainer> bsFracContainer(m_bsFracContainerKey, ctx);
   ATH_CHECK(bsFracContainer.record(std::make_unique<SCT_ByteStreamFractionContainer>()));
 
   // Ask ROBDataProviderSvc for the vector of ROBFragment for all SCT ROBIDs
@@ -97,7 +96,7 @@ StatusCode SCTRawDataProvider::execute()
   else {
     // Only load ROBs from RoI
     std::vector<uint32_t> listOfROBs;
-    SG::ReadHandle<TrigRoiDescriptorCollection> roiCollection{m_roiCollectionKey};
+    SG::ReadHandle<TrigRoiDescriptorCollection> roiCollection{m_roiCollectionKey, ctx};
     ATH_CHECK(roiCollection.isValid());
     TrigRoiDescriptor superRoI; // Add all RoIs to a super-RoI
     superRoI.setComposite(true);
@@ -109,14 +108,13 @@ StatusCode SCTRawDataProvider::execute()
     m_robDataProvider->getROBData(listOfROBs, vecROBFrags);
   }
 
-
   ATH_MSG_DEBUG("Number of ROB fragments " << vecROBFrags.size());
 
-  SG::WriteHandle<InDetTimeCollection> lvl1Collection{m_lvl1CollectionKey};
+  SG::WriteHandle<InDetTimeCollection> lvl1Collection{m_lvl1CollectionKey, ctx};
   lvl1Collection = std::make_unique<InDetTimeCollection>(vecROBFrags.size()); 
   ATH_CHECK(lvl1Collection.isValid());
 
-  SG::WriteHandle<InDetTimeCollection> bcIDCollection{m_bcIDCollectionKey};
+  SG::WriteHandle<InDetTimeCollection> bcIDCollection{m_bcIDCollectionKey, ctx};
   bcIDCollection = std::make_unique<InDetTimeCollection>(vecROBFrags.size()); 
   ATH_CHECK(bcIDCollection.isValid());
 
@@ -151,8 +149,7 @@ StatusCode SCTRawDataProvider::execute()
   if (m_rawDataTool->convert(vecROBFrags, 
                              *rdoInterface, 
                              bsErrContainer.ptr(), 
-                             bsFracContainer.ptr()).isFailure()) 
-  {
+                             bsFracContainer.ptr()).isFailure()) {
     ATH_MSG_WARNING("BS conversion into RDOs failed");
   }
 
diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProvider.h b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProvider.h
index 58d88c5d7f0c..22b1a1895893 100644
--- a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProvider.h
+++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProvider.h
@@ -1,11 +1,11 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef SCT_RAWDATABYTESTREAMCNV_SCTRAWDATAPROVIDER_H
 #define SCT_RAWDATABYTESTREAMCNV_SCTRAWDATAPROVIDER_H
 
-#include "AthenaBaseComps/AthAlgorithm.h"
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 
 #include "InDetRawData/InDetTimeCollection.h"
 #include "InDetRawData/SCT_RDO_Container.h"
@@ -39,7 +39,7 @@ class SCT_ByteStreamFractionContainer;
  *
  * Class based on TRT equivalent.
  */
-class SCTRawDataProvider : public AthAlgorithm
+class SCTRawDataProvider : public AthReentrantAlgorithm
 {
  public:
 
@@ -53,7 +53,7 @@ class SCTRawDataProvider : public AthAlgorithm
   virtual StatusCode initialize() override;
 
   /** Execute */
-  virtual StatusCode execute() override;
+  virtual StatusCode execute(const EventContext& ctx) const override;
 
  private:
 
-- 
GitLab


From ff08d8ac2a0e755a9ef8b8a947327ef959a8bccb Mon Sep 17 00:00:00 2001
From: Susumu Oda <susumu.oda@cern.ch>
Date: Wed, 23 Jan 2019 19:46:06 +0000
Subject: [PATCH 073/192] Make several SCT cond and test algs reentrant
 (ATLASRECTS-4824)

---
 .../src/SCT_ConditionsSummaryTestAlg.cxx      |  6 ++--
 .../src/SCT_ConditionsSummaryTestAlg.h        |  8 +++---
 .../src/SCT_ConfigurationCondAlg.cxx          | 28 +++++++++----------
 .../src/SCT_ConfigurationCondAlg.h            | 14 +++++-----
 .../SCT_ConfigurationConditionsTestAlg.cxx    |  6 ++--
 .../src/SCT_ConfigurationConditionsTestAlg.h  |  8 +++---
 .../src/SCT_DCSConditionsHVCondAlg.cxx        | 10 +++----
 .../src/SCT_DCSConditionsHVCondAlg.h          |  8 +++---
 .../src/SCT_DCSConditionsStatCondAlg.cxx      | 12 ++++----
 .../src/SCT_DCSConditionsStatCondAlg.h        |  8 +++---
 .../src/SCT_DCSConditionsTempCondAlg.cxx      | 12 ++++----
 .../src/SCT_DCSConditionsTempCondAlg.h        |  8 +++---
 .../src/SCT_DCSConditionsTestAlg.cxx          |  6 ++--
 .../src/SCT_DCSConditionsTestAlg.h            | 10 +++----
 .../src/SCT_MajorityCondAlg.cxx               | 10 +++----
 .../src/SCT_MajorityCondAlg.h                 |  8 +++---
 .../src/SCT_MajorityConditionsTestAlg.cxx     |  6 ++--
 .../src/SCT_MajorityConditionsTestAlg.h       |  8 +++---
 .../src/SCT_MonitorCondAlg.cxx                | 10 +++----
 .../src/SCT_MonitorCondAlg.h                  | 10 +++----
 .../src/SCT_MonitorConditionsTestAlg.cxx      |  8 +++---
 .../src/SCT_MonitorConditionsTestAlg.h        |  8 +++---
 .../src/SCT_ReadCalibChipDataTestAlg.cxx      |  8 +++---
 .../src/SCT_ReadCalibChipDataTestAlg.h        |  8 +++---
 .../src/SCT_ReadCalibChipGainCondAlg.cxx      | 14 +++++-----
 .../src/SCT_ReadCalibChipGainCondAlg.h        | 10 +++----
 .../src/SCT_ReadCalibChipNoiseCondAlg.cxx     | 12 ++++----
 .../src/SCT_ReadCalibChipNoiseCondAlg.h       | 10 +++----
 .../src/SCT_ReadCalibDataCondAlg.cxx          | 18 ++++++------
 .../src/SCT_ReadCalibDataCondAlg.h            |  8 +++---
 .../src/SCT_ReadCalibDataTestAlg.cxx          |  6 ++--
 .../src/SCT_ReadCalibDataTestAlg.h            |  8 +++---
 .../src/SCT_SiliconConditionsTestAlg.cxx      |  6 ++--
 .../src/SCT_SiliconConditionsTestAlg.h        | 10 +++----
 .../src/SCT_SiliconHVCondAlg.cxx              | 12 ++++----
 .../src/SCT_SiliconHVCondAlg.h                |  8 +++---
 .../src/SCT_SiliconTempCondAlg.cxx            | 12 ++++----
 .../src/SCT_SiliconTempCondAlg.h              |  8 +++---
 .../src/SCT_TdaqEnabledCondAlg.cxx            | 16 +++++------
 .../src/SCT_TdaqEnabledCondAlg.h              | 10 +++----
 .../src/SCT_TdaqEnabledTestAlg.cxx            |  6 ++--
 .../src/SCT_TdaqEnabledTestAlg.h              |  8 +++---
 42 files changed, 205 insertions(+), 205 deletions(-)

diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConditionsSummaryTestAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConditionsSummaryTestAlg.cxx
index febb7241ef5d..a27ba4ea7ae3 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConditionsSummaryTestAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConditionsSummaryTestAlg.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -21,7 +21,7 @@
 
 SCT_ConditionsSummaryTestAlg::SCT_ConditionsSummaryTestAlg(const std::string& name,
                                                            ISvcLocator* pSvcLocator) :
-  AthAlgorithm(name, pSvcLocator) {
+  AthReentrantAlgorithm(name, pSvcLocator) {
   //nop
 }
 
@@ -35,7 +35,7 @@ SCT_ConditionsSummaryTestAlg::initialize() {
 
 //Execute
 StatusCode 
-SCT_ConditionsSummaryTestAlg::execute() {
+SCT_ConditionsSummaryTestAlg::execute(const EventContext& /*ctx*/) const {
   //This method is only used to test the summary service, and only used within this package,
   // so the INFO level messages have no impact on performance of these services when used by clients
   ATH_MSG_INFO("Calling execute");
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConditionsSummaryTestAlg.h b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConditionsSummaryTestAlg.h
index 5eedecd35d71..1e4a6178a265 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConditionsSummaryTestAlg.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConditionsSummaryTestAlg.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -15,7 +15,7 @@
 #define SCT_ConditionsSummaryTestAlg_H 
 
 //Athena
-#include "AthenaBaseComps/AthAlgorithm.h"
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 
 #include "InDetConditionsSummaryService/IInDetConditionsTool.h"
 
@@ -26,13 +26,13 @@
 #include <string>
 
 ///Example class to show calling the SCT_ConditionsSummaryTool
-class SCT_ConditionsSummaryTestAlg : public AthAlgorithm {
+class SCT_ConditionsSummaryTestAlg : public AthReentrantAlgorithm {
  public:
   SCT_ConditionsSummaryTestAlg(const std::string &name,ISvcLocator *pSvcLocator) ;
   virtual ~SCT_ConditionsSummaryTestAlg() = default;
 
   StatusCode initialize() override;
-  StatusCode execute() override;
+  StatusCode execute(const EventContext& ctx) const override;
   StatusCode finalize() override;
    
  private:
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConfigurationCondAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConfigurationCondAlg.cxx
index aa37ee1ed813..063e0bf5e368 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConfigurationCondAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConfigurationCondAlg.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "SCT_ConfigurationCondAlg.h"
@@ -28,7 +28,7 @@ const std::string SCT_ConfigurationCondAlg::s_coolModuleFolderName2{"/SCT/DAQ/Co
 const std::string SCT_ConfigurationCondAlg::s_coolMurFolderName2{"/SCT/DAQ/Config/MUR"};
 
 SCT_ConfigurationCondAlg::SCT_ConfigurationCondAlg(const std::string& name, ISvcLocator* pSvcLocator)
-  : ::AthAlgorithm(name, pSvcLocator)
+  : ::AthReentrantAlgorithm(name, pSvcLocator)
   , m_condSvc{"CondSvc", name}
   , m_pHelper{nullptr}
 {
@@ -77,11 +77,11 @@ StatusCode SCT_ConfigurationCondAlg::initialize() {
   return StatusCode::SUCCESS;
 }
 
-StatusCode SCT_ConfigurationCondAlg::execute() {
+StatusCode SCT_ConfigurationCondAlg::execute(const EventContext& ctx) const {
   ATH_MSG_DEBUG("execute " << name());
 
   // Write Cond Handle
-  SG::WriteCondHandle<SCT_ConfigurationCondData> writeHandle{m_writeKey};
+  SG::WriteCondHandle<SCT_ConfigurationCondData> writeHandle{m_writeKey, ctx};
   // Do we have a valid Write Cond Handle for current time?
   if (writeHandle.isValid()) {
     ATH_MSG_DEBUG("CondHandle " << writeHandle.fullKey() << " is already valid."
@@ -97,7 +97,7 @@ StatusCode SCT_ConfigurationCondAlg::execute() {
 
   // Fill module data
   EventIDRange rangeModule;
-  if (fillModuleData(writeCdo.get(), rangeModule).isFailure()) {
+  if (fillModuleData(writeCdo.get(), rangeModule, ctx).isFailure()) {
     return StatusCode::FAILURE;
   }
 
@@ -105,7 +105,7 @@ StatusCode SCT_ConfigurationCondAlg::execute() {
   EventIDRange rangeChannel;
   EventIDRange rangeMur;
   EventIDRange rangeDetEle;
-  if (fillChannelData(writeCdo.get(), rangeChannel, rangeMur, rangeDetEle).isFailure()) {
+  if (fillChannelData(writeCdo.get(), rangeChannel, rangeMur, rangeDetEle, ctx).isFailure()) {
     return StatusCode::FAILURE;
   }
 
@@ -128,7 +128,7 @@ StatusCode SCT_ConfigurationCondAlg::execute() {
 }
 
 // Fill bad strip, chip and link info
-StatusCode SCT_ConfigurationCondAlg::fillChannelData(SCT_ConfigurationCondData* writeCdo, EventIDRange& rangeChannel, EventIDRange& rangeMur, EventIDRange& rangeDetEle) {
+StatusCode SCT_ConfigurationCondAlg::fillChannelData(SCT_ConfigurationCondData* writeCdo, EventIDRange& rangeChannel, EventIDRange& rangeMur, EventIDRange& rangeDetEle, const EventContext& ctx) const {
   // Check if the pointer of derived conditions object is valid.
   if (writeCdo==nullptr) {
     ATH_MSG_FATAL("Pointer of derived conditions object is null");
@@ -165,10 +165,10 @@ StatusCode SCT_ConfigurationCondAlg::fillChannelData(SCT_ConfigurationCondData*
   writeCdo->clearBadStripIds();
   writeCdo->clearBadChips();
   // Fill link status
-  if (fillLinkStatus(writeCdo, rangeMur).isFailure()) return StatusCode::FAILURE;
+  if (fillLinkStatus(writeCdo, rangeMur, ctx).isFailure()) return StatusCode::FAILURE;
 
   // Get channel folder for link info 
-  SG::ReadCondHandle<CondAttrListVec> readHandle{m_readKeyChannel};
+  SG::ReadCondHandle<CondAttrListVec> readHandle{m_readKeyChannel, ctx};
   const CondAttrListVec* readCdo{*readHandle};
   if (readCdo==nullptr) {
     ATH_MSG_FATAL("Could not find MUR configuration data: " << m_readKeyChannel.key());
@@ -183,7 +183,7 @@ StatusCode SCT_ConfigurationCondAlg::fillChannelData(SCT_ConfigurationCondData*
   }
 
   // Get SCT_DetectorElementCollection
-  SG::ReadCondHandle<InDetDD::SiDetectorElementCollection> sctDetEle(m_SCTDetEleCollKey);
+  SG::ReadCondHandle<InDetDD::SiDetectorElementCollection> sctDetEle{m_SCTDetEleCollKey, ctx};
   const InDetDD::SiDetectorElementCollection* elements(sctDetEle.retrieve());
   if (elements==nullptr) {
     ATH_MSG_FATAL(m_SCTDetEleCollKey.fullKey() << " could not be retrieved");
@@ -293,7 +293,7 @@ StatusCode SCT_ConfigurationCondAlg::fillChannelData(SCT_ConfigurationCondData*
 }
 
 // Fill bad module info
-StatusCode SCT_ConfigurationCondAlg::fillModuleData(SCT_ConfigurationCondData* writeCdo, EventIDRange& rangeModule) {
+StatusCode SCT_ConfigurationCondAlg::fillModuleData(SCT_ConfigurationCondData* writeCdo, EventIDRange& rangeModule, const EventContext& ctx) const {
   // Check if the pointer of derived conditions object is valid.
   if (writeCdo==nullptr) {
     ATH_MSG_FATAL("Pointer of derived conditions object is null");
@@ -310,7 +310,7 @@ StatusCode SCT_ConfigurationCondAlg::fillModuleData(SCT_ConfigurationCondData* w
   writeCdo->clearBadWaferIds();
 
   // Get Module folder
-  SG::ReadCondHandle<CondAttrListVec> readHandle{m_readKeyModule};
+  SG::ReadCondHandle<CondAttrListVec> readHandle{m_readKeyModule, ctx};
   const CondAttrListVec* readCdo{*readHandle};
   if (readCdo==nullptr) {
     ATH_MSG_FATAL("Could not find MUR configuration data: " << m_readKeyModule.key());
@@ -366,7 +366,7 @@ StatusCode SCT_ConfigurationCondAlg::fillModuleData(SCT_ConfigurationCondData* w
 }
 
 // Fill link info
-StatusCode SCT_ConfigurationCondAlg::fillLinkStatus(SCT_ConfigurationCondData* writeCdo, EventIDRange& rangeMur) {
+StatusCode SCT_ConfigurationCondAlg::fillLinkStatus(SCT_ConfigurationCondData* writeCdo, EventIDRange& rangeMur, const EventContext& ctx) const {
   // Check if the pointer of derived conditions object is valid.
   if (writeCdo==nullptr) {
     ATH_MSG_FATAL("Pointer of derived conditions object is null");
@@ -380,7 +380,7 @@ StatusCode SCT_ConfigurationCondAlg::fillLinkStatus(SCT_ConfigurationCondData* w
   writeCdo->clearBadLinks();
 
   // Get MUR folder for link info 
-  SG::ReadCondHandle<CondAttrListVec> readHandle{m_readKeyMur};
+  SG::ReadCondHandle<CondAttrListVec> readHandle{m_readKeyMur, ctx};
   const CondAttrListVec* readCdo{*readHandle};
   if (readCdo==nullptr) {
     ATH_MSG_FATAL("Could not find MUR configuration data: " << m_readKeyMur.key());
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConfigurationCondAlg.h b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConfigurationCondAlg.h
index e38ca85968bb..cb059211e398 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConfigurationCondAlg.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConfigurationCondAlg.h
@@ -1,11 +1,11 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */ 
 
 #ifndef SCT_CONFIGURATIONCONDALG
 #define SCT_CONFIGURATIONCONDALG
 
-#include "AthenaBaseComps/AthAlgorithm.h"
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 
 #include "AthenaPoolUtilities/CondAttrListVec.h"
 #include "Identifier/Identifier.h"
@@ -25,22 +25,22 @@
 class EventIDRange;
 class SCT_ID;
 
-class SCT_ConfigurationCondAlg : public AthAlgorithm 
+class SCT_ConfigurationCondAlg : public AthReentrantAlgorithm 
 {  
  public:
   SCT_ConfigurationCondAlg(const std::string& name, ISvcLocator* pSvcLocator);
   virtual ~SCT_ConfigurationCondAlg() = default;
   StatusCode initialize() override;
-  StatusCode execute() override;
+  StatusCode execute(const EventContext& ctx) const override;
   StatusCode finalize() override;
 
  private:
   /** enum for constants*/
   enum {badLink=255, stripsPerChip=128, lastStrip=767};
 
-  StatusCode fillChannelData(SCT_ConfigurationCondData* writeCdo, EventIDRange& rangeChannel, EventIDRange& rangeMur, EventIDRange& rangeDetEle);
-  StatusCode fillModuleData(SCT_ConfigurationCondData* writeCdo, EventIDRange& rangeModule);
-  StatusCode fillLinkStatus(SCT_ConfigurationCondData* writeCdo, EventIDRange& rangeMur);
+  StatusCode fillChannelData(SCT_ConfigurationCondData* writeCdo, EventIDRange& rangeChannel, EventIDRange& rangeMur, EventIDRange& rangeDetEle, const EventContext& ctx) const;
+  StatusCode fillModuleData(SCT_ConfigurationCondData* writeCdo, EventIDRange& rangeModule, const EventContext& ctx) const;
+  StatusCode fillLinkStatus(SCT_ConfigurationCondData* writeCdo, EventIDRange& rangeMur, const EventContext& ctx) const;
   Identifier getStripId(const unsigned int truncatedSerialNumber, const unsigned int chipNumber, const unsigned int stripNumber,
                         const InDetDD::SiDetectorElementCollection* elements) const;
 
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConfigurationConditionsTestAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConfigurationConditionsTestAlg.cxx
index e271bfd2b15b..b5f5886a5264 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConfigurationConditionsTestAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConfigurationConditionsTestAlg.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /** @file Test class for SCT_ConfigurationConditionsSvc
@@ -14,7 +14,7 @@
 #include "InDetIdentifier/SCT_ID.h"
 
 SCT_ConfigurationConditionsTestAlg::SCT_ConfigurationConditionsTestAlg(const std::string& name, ISvcLocator* pSvcLocator) : 
-  AthAlgorithm(name, pSvcLocator),
+  AthReentrantAlgorithm(name, pSvcLocator),
   m_sctId{nullptr}
 {
 }
@@ -29,7 +29,7 @@ StatusCode SCT_ConfigurationConditionsTestAlg::initialize() {
   return StatusCode::SUCCESS;
 } 
 
-StatusCode SCT_ConfigurationConditionsTestAlg::execute() {
+StatusCode SCT_ConfigurationConditionsTestAlg::execute(const EventContext& /*ctx*/) const {
   ATH_MSG_INFO("in execute()");
 
   // Bad modules
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConfigurationConditionsTestAlg.h b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConfigurationConditionsTestAlg.h
index f5b54ddf1a8b..714a7edd501d 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConfigurationConditionsTestAlg.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConfigurationConditionsTestAlg.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /** 
@@ -11,7 +11,7 @@
 #define SCT_TestConfigConditions_H
 
 // Athena includes
-#include "AthenaBaseComps/AthAlgorithm.h"
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 #include "SCT_ConditionsTools/ISCT_ConfigurationConditionsTool.h"
 
 // Gaudi includes
@@ -27,7 +27,7 @@ class SCT_ID;
  * This class acts as a test/sample client for the SCT_ConfigurationSConditionsSvc class. 
  */
 
-class SCT_ConfigurationConditionsTestAlg : public AthAlgorithm {
+class SCT_ConfigurationConditionsTestAlg : public AthReentrantAlgorithm {
  public:
   // Structors
   SCT_ConfigurationConditionsTestAlg (const std::string& name, ISvcLocator* pSvcLocator); 
@@ -35,7 +35,7 @@ class SCT_ConfigurationConditionsTestAlg : public AthAlgorithm {
   
   // Standard Gaudi functions
   StatusCode initialize() override;
-  StatusCode execute() override;
+  StatusCode execute(const EventContext& ctx) const override;
   StatusCode finalize() override;
   
  private:
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsHVCondAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsHVCondAlg.cxx
index 0111d797a0e8..b1570fbe82da 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsHVCondAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsHVCondAlg.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "SCT_DCSConditionsHVCondAlg.h"
@@ -11,7 +11,7 @@
 #include <memory>
 
 SCT_DCSConditionsHVCondAlg::SCT_DCSConditionsHVCondAlg(const std::string& name, ISvcLocator* pSvcLocator)
-  : ::AthAlgorithm(name, pSvcLocator)
+  : ::AthReentrantAlgorithm(name, pSvcLocator)
   , m_condSvc{"CondSvc", name}
 {
 }
@@ -36,7 +36,7 @@ StatusCode SCT_DCSConditionsHVCondAlg::initialize() {
   return StatusCode::SUCCESS;
 }
 
-StatusCode SCT_DCSConditionsHVCondAlg::execute() {
+StatusCode SCT_DCSConditionsHVCondAlg::execute(const EventContext& ctx) const {
   ATH_MSG_DEBUG("execute " << name());
 
   if (not m_returnHVTemp.value()) {
@@ -44,7 +44,7 @@ StatusCode SCT_DCSConditionsHVCondAlg::execute() {
   }
 
   // Write Cond Handle
-  SG::WriteCondHandle<SCT_DCSFloatCondData> writeHandle{m_writeKey};
+  SG::WriteCondHandle<SCT_DCSFloatCondData> writeHandle{m_writeKey, ctx};
   // Do we have a valid Write Cond Handle for current time?
   if (writeHandle.isValid()) {
     ATH_MSG_DEBUG("CondHandle " << writeHandle.fullKey() << " is already valid."
@@ -54,7 +54,7 @@ StatusCode SCT_DCSConditionsHVCondAlg::execute() {
   }
 
   // Read Cond Handle
-  SG::ReadCondHandle<CondAttrListCollection> readHandle{m_readKey};
+  SG::ReadCondHandle<CondAttrListCollection> readHandle{m_readKey, ctx};
   const CondAttrListCollection* readCdo{*readHandle}; 
   if (readCdo==nullptr) {
     ATH_MSG_FATAL("Null pointer to the read conditions object");
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsHVCondAlg.h b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsHVCondAlg.h
index 523b3684ef4f..b7e88f4f9500 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsHVCondAlg.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsHVCondAlg.h
@@ -1,11 +1,11 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */ 
 
 #ifndef SCT_DCSCONDITIONSHVCONDALG
 #define SCT_DCSCONDITIONSHVCONDALG
 
-#include "AthenaBaseComps/AthAlgorithm.h"
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 
 #include "AthenaPoolUtilities/CondAttrListCollection.h"
 #include "SCT_ConditionsData/SCT_DCSFloatCondData.h"
@@ -15,13 +15,13 @@
 #include "GaudiKernel/ICondSvc.h"
 #include "GaudiKernel/Property.h"
 
-class SCT_DCSConditionsHVCondAlg : public AthAlgorithm 
+class SCT_DCSConditionsHVCondAlg : public AthReentrantAlgorithm 
 {  
  public:
   SCT_DCSConditionsHVCondAlg(const std::string& name, ISvcLocator* pSvcLocator);
   virtual ~SCT_DCSConditionsHVCondAlg() = default;
   StatusCode initialize() override;
-  StatusCode execute() override;
+  StatusCode execute(const EventContext& ctx) const override;
   StatusCode finalize() override;
 
  private:
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsStatCondAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsStatCondAlg.cxx
index ec27d6f0eb22..bcadec7c1ccf 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsStatCondAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsStatCondAlg.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "SCT_DCSConditionsStatCondAlg.h"
@@ -11,7 +11,7 @@
 #include <memory>
 
 SCT_DCSConditionsStatCondAlg::SCT_DCSConditionsStatCondAlg(const std::string& name, ISvcLocator* pSvcLocator)
-  : ::AthAlgorithm(name, pSvcLocator)
+  : ::AthReentrantAlgorithm(name, pSvcLocator)
   , m_condSvc{"CondSvc", name}
   , m_doState{true}
 {
@@ -53,7 +53,7 @@ StatusCode SCT_DCSConditionsStatCondAlg::initialize() {
   return StatusCode::SUCCESS;
 }
 
-StatusCode SCT_DCSConditionsStatCondAlg::execute() {
+StatusCode SCT_DCSConditionsStatCondAlg::execute(const EventContext& ctx) const {
   ATH_MSG_DEBUG("execute " << name());
 
   if (not m_doState) {
@@ -61,7 +61,7 @@ StatusCode SCT_DCSConditionsStatCondAlg::execute() {
   }
 
   // Write Cond Handle (state)
-  SG::WriteCondHandle<SCT_DCSStatCondData> writeHandle{m_writeKeyState};
+  SG::WriteCondHandle<SCT_DCSStatCondData> writeHandle{m_writeKeyState, ctx};
   // Do we have a valid Write Cond Handle for current time?
   if (writeHandle.isValid()) {
     ATH_MSG_DEBUG("CondHandle " << writeHandle.fullKey() << " is already valid."
@@ -71,7 +71,7 @@ StatusCode SCT_DCSConditionsStatCondAlg::execute() {
   }
 
   // Read Cond Handle (state)
-  SG::ReadCondHandle<CondAttrListCollection> readHandleState{m_readKeyState};
+  SG::ReadCondHandle<CondAttrListCollection> readHandleState{m_readKeyState, ctx};
   const CondAttrListCollection* readCdoState{*readHandleState}; 
   if (readCdoState==nullptr) {
     ATH_MSG_FATAL("Null pointer to the read conditions object (state)");
@@ -116,7 +116,7 @@ StatusCode SCT_DCSConditionsStatCondAlg::execute() {
 
   if (m_returnHVTemp.value()) {
     // Read Cond Handle 
-    SG::ReadCondHandle<CondAttrListCollection> readHandleHV{m_readKeyHV};
+    SG::ReadCondHandle<CondAttrListCollection> readHandleHV{m_readKeyHV, ctx};
     const CondAttrListCollection* readCdoHV{*readHandleHV};
     if (readCdoHV==nullptr) {
       ATH_MSG_FATAL("Null pointer to the read conditions object (HV)");
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsStatCondAlg.h b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsStatCondAlg.h
index d5e768158518..28e69d6e05bb 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsStatCondAlg.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsStatCondAlg.h
@@ -1,11 +1,11 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */ 
 
 #ifndef SCT_DCSCONDITIONSSTATCONDALG
 #define SCT_DCSCONDITIONSSTATCONDALG
 
-#include "AthenaBaseComps/AthAlgorithm.h"
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 
 #include "StoreGate/ReadCondHandleKey.h"
 #include "AthenaPoolUtilities/CondAttrListCollection.h"
@@ -16,13 +16,13 @@
 #include "GaudiKernel/ICondSvc.h"
 #include "GaudiKernel/Property.h"
 
-class SCT_DCSConditionsStatCondAlg : public AthAlgorithm 
+class SCT_DCSConditionsStatCondAlg : public AthReentrantAlgorithm 
 {  
  public:
   SCT_DCSConditionsStatCondAlg(const std::string& name, ISvcLocator* pSvcLocator);
   virtual ~SCT_DCSConditionsStatCondAlg() = default;
   StatusCode initialize() override;
-  StatusCode execute() override;
+  StatusCode execute(const EventContext& ctx) const override;
   StatusCode finalize() override;
 
  private:
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsTempCondAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsTempCondAlg.cxx
index 4b15949415a1..e43f76a5ae0f 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsTempCondAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsTempCondAlg.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "SCT_DCSConditionsTempCondAlg.h"
@@ -11,7 +11,7 @@
 #include <memory>
 
 SCT_DCSConditionsTempCondAlg::SCT_DCSConditionsTempCondAlg(const std::string& name, ISvcLocator* pSvcLocator)
-  : ::AthAlgorithm(name, pSvcLocator)
+  : ::AthReentrantAlgorithm(name, pSvcLocator)
   , m_condSvc{"CondSvc", name}
 {
 }
@@ -36,7 +36,7 @@ StatusCode SCT_DCSConditionsTempCondAlg::initialize() {
   return StatusCode::SUCCESS;
 }
 
-StatusCode SCT_DCSConditionsTempCondAlg::execute() {
+StatusCode SCT_DCSConditionsTempCondAlg::execute(const EventContext& ctx) const {
   ATH_MSG_DEBUG("execute " << name());
 
   if (not m_returnHVTemp.value()) {
@@ -44,17 +44,17 @@ StatusCode SCT_DCSConditionsTempCondAlg::execute() {
   }
 
   // Write Cond Handle
-  SG::WriteCondHandle<SCT_DCSFloatCondData> writeHandle{m_writeKey};
+  SG::WriteCondHandle<SCT_DCSFloatCondData> writeHandle{m_writeKey, ctx};
   // Do we have a valid Write Cond Handle for current time?
   if (writeHandle.isValid()) {
     ATH_MSG_DEBUG("CondHandle " << writeHandle.fullKey() << " is already valid."
                   << ". In theory this should not be called, but may happen"
                   << " if multiple concurrent events are being processed out of order.");
-    return StatusCode::SUCCESS; 
+    return StatusCode::SUCCESS;
   }
 
   // Read Cond Handle
-  SG::ReadCondHandle<CondAttrListCollection> readHandle{m_readKey};
+  SG::ReadCondHandle<CondAttrListCollection> readHandle{m_readKey, ctx};
   const CondAttrListCollection* readCdo{*readHandle}; 
   if (readCdo==nullptr) {
     ATH_MSG_FATAL("Null pointer to the read conditions object");
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsTempCondAlg.h b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsTempCondAlg.h
index 78d58dc812e8..f610ed525273 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsTempCondAlg.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsTempCondAlg.h
@@ -1,11 +1,11 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */ 
 
 #ifndef SCT_DCSCONDITIONSTEMPCONDALG
 #define SCT_DCSCONDITIONSTEMPCONDALG
 
-#include "AthenaBaseComps/AthAlgorithm.h"
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 
 #include "AthenaPoolUtilities/CondAttrListCollection.h"
 #include "SCT_ConditionsData/SCT_DCSFloatCondData.h"
@@ -15,13 +15,13 @@
 #include "GaudiKernel/ICondSvc.h"
 #include "GaudiKernel/Property.h"
 
-class SCT_DCSConditionsTempCondAlg : public AthAlgorithm 
+class SCT_DCSConditionsTempCondAlg : public AthReentrantAlgorithm 
 {  
  public:
   SCT_DCSConditionsTempCondAlg(const std::string& name, ISvcLocator* pSvcLocator);
   virtual ~SCT_DCSConditionsTempCondAlg() = default;
   StatusCode initialize() override;
-  StatusCode execute() override;
+  StatusCode execute(const EventContext& ctx) const override;
   StatusCode finalize() override;
 
  private:
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsTestAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsTestAlg.cxx
index 07f51b9d6e89..bb802e01c4d9 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsTestAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsTestAlg.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /** @file TestDCSConditions.cxx  Implementation file for TestDCSConditions class.
@@ -14,7 +14,7 @@
 
 SCT_DCSConditionsTestAlg::SCT_DCSConditionsTestAlg(const std::string& name, 
                                                    ISvcLocator* pSvcLocator) : 
-  AthAlgorithm(name, pSvcLocator)
+  AthReentrantAlgorithm(name, pSvcLocator)
 { //nop
 }
 
@@ -28,7 +28,7 @@ StatusCode SCT_DCSConditionsTestAlg::initialize() {
 } // SCT_DCSConditionsTestAlg::execute()
 
 //----------------------------------------------------------------------
-StatusCode SCT_DCSConditionsTestAlg::execute() {
+StatusCode SCT_DCSConditionsTestAlg::execute(const EventContext& /*ctx*/) const {
   //This method is only used to test the summary service, and only used within this package,
   // so the INFO level messages have no impact on performance of these services when used by clients
   ATH_MSG_DEBUG("in execute()");
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsTestAlg.h b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsTestAlg.h
index a7f554692334..e353a04ab3e2 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsTestAlg.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsTestAlg.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /** @file TestDCSConditions.h  Header file for TestDCSConditions class.
@@ -11,7 +11,7 @@
 #define SCT_TestDCSConditions_H
 
 // Include Athena stuff
-#include "AthenaBaseComps/AthAlgorithm.h"
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 #include "SCT_ConditionsTools/ISCT_DCSConditionsTool.h"
 
 // Include Gaudi stuff
@@ -22,15 +22,15 @@
 
 /** This class acts as a test/sample client the DCSConditions class. 
  */
-class SCT_DCSConditionsTestAlg : public AthAlgorithm {
+class SCT_DCSConditionsTestAlg : public AthReentrantAlgorithm {
  public:
   // Structors
-  SCT_DCSConditionsTestAlg (const std::string& name, ISvcLocator* pSvcLocator); 
+  SCT_DCSConditionsTestAlg(const std::string& name, ISvcLocator* pSvcLocator); 
   virtual ~SCT_DCSConditionsTestAlg() = default;
     
   // Standard Gaudi functions
   StatusCode initialize() override; //!< Gaudi initialiser
-  StatusCode execute() override;    //!< Gaudi executer
+  StatusCode execute(const EventContext& ctx) const override;    //!< Gaudi executer
   StatusCode finalize() override;   //!< Gaudi finaliser
     
  private:
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MajorityCondAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MajorityCondAlg.cxx
index cb4f4bfa7ad2..97fd225e2a5f 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MajorityCondAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MajorityCondAlg.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "SCT_MajorityCondAlg.h"
@@ -11,7 +11,7 @@
 #include <memory>
 
 SCT_MajorityCondAlg::SCT_MajorityCondAlg(const std::string& name, ISvcLocator* pSvcLocator)
-  : ::AthAlgorithm(name, pSvcLocator)
+  : ::AthReentrantAlgorithm(name, pSvcLocator)
   , m_condSvc{"CondSvc", name}
 {
 }
@@ -37,12 +37,12 @@ StatusCode SCT_MajorityCondAlg::initialize()
   return StatusCode::SUCCESS;
 }
 
-StatusCode SCT_MajorityCondAlg::execute()
+StatusCode SCT_MajorityCondAlg::execute(const EventContext& ctx) const
 {
   ATH_MSG_DEBUG("execute " << name());
 
   // Write Cond Handle
-  SG::WriteCondHandle<SCT_MajorityCondData> writeHandle{m_writeKey};
+  SG::WriteCondHandle<SCT_MajorityCondData> writeHandle{m_writeKey, ctx};
 
   // Do we have a valid Write Cond Handle for current time?
   if (writeHandle.isValid()) {
@@ -53,7 +53,7 @@ StatusCode SCT_MajorityCondAlg::execute()
   }
 
   // Read Cond Handle 
-  SG::ReadCondHandle<CondAttrListCollection> readHandle{m_readKey};
+  SG::ReadCondHandle<CondAttrListCollection> readHandle{m_readKey, ctx};
   const CondAttrListCollection* readCdo{*readHandle}; 
   if (readCdo==nullptr) {
     ATH_MSG_FATAL("Null pointer to the read conditions object");
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MajorityCondAlg.h b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MajorityCondAlg.h
index 2732419e5fb1..f84a2ad01565 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MajorityCondAlg.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MajorityCondAlg.h
@@ -1,11 +1,11 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */ 
 
 #ifndef SCT_MAJORITYCONDALG
 #define SCT_MAJORITYCONDALG
 
-#include "AthenaBaseComps/AthAlgorithm.h"
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 
 #include "AthenaPoolUtilities/CondAttrListCollection.h"
 #include "SCT_ConditionsData/SCT_MajorityCondData.h"
@@ -14,13 +14,13 @@
 
 #include "GaudiKernel/ICondSvc.h"
 
-class SCT_MajorityCondAlg : public AthAlgorithm 
+class SCT_MajorityCondAlg : public AthReentrantAlgorithm
 {  
  public:
   SCT_MajorityCondAlg(const std::string& name, ISvcLocator* pSvcLocator);
   virtual ~SCT_MajorityCondAlg() = default;
   StatusCode initialize() override;
-  StatusCode execute() override;
+  StatusCode execute(const EventContext& ctx) const override;
   StatusCode finalize() override;
 
  private:
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MajorityConditionsTestAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MajorityConditionsTestAlg.cxx
index b4c443608bac..b411f802944f 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MajorityConditionsTestAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MajorityConditionsTestAlg.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -17,7 +17,7 @@
 #include "Identifier/Identifier.h"
 
 SCT_MajorityConditionsTestAlg::SCT_MajorityConditionsTestAlg(const std::string& name, ISvcLocator* pSvcLocator) : 
-  AthAlgorithm(name, pSvcLocator)
+  AthReentrantAlgorithm(name, pSvcLocator)
 {
 }
 
@@ -32,7 +32,7 @@ StatusCode SCT_MajorityConditionsTestAlg::initialize() {
 }
 
 //Execute
-StatusCode SCT_MajorityConditionsTestAlg::execute() {
+StatusCode SCT_MajorityConditionsTestAlg::execute(const EventContext& /*ctx*/) const {
   ATH_MSG_INFO("Calling execute");
 
   ATH_MSG_INFO("Detector is " << (m_majorityTool->isGood()   ? "GOOD" : "BAD"));
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MajorityConditionsTestAlg.h b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MajorityConditionsTestAlg.h
index fb6aff526ff0..186e4421f6a7 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MajorityConditionsTestAlg.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MajorityConditionsTestAlg.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -15,7 +15,7 @@
 #define SCT_MajorityConditionsTestAlg_H 
 
 //Athena
-#include "AthenaBaseComps/AthAlgorithm.h"
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 #include "SCT_ConditionsTools/ISCT_DetectorLevelConditionsTool.h"
 
 //Gaudi
@@ -25,13 +25,13 @@
 #include <string>
 
 ///Example class to show calling the SCT_MajorityConditionsSvc
-class SCT_MajorityConditionsTestAlg : public AthAlgorithm {
+class SCT_MajorityConditionsTestAlg : public AthReentrantAlgorithm {
  public:
   SCT_MajorityConditionsTestAlg(const std::string& name,ISvcLocator* pSvcLocator);
   virtual ~SCT_MajorityConditionsTestAlg() = default;
 
   StatusCode initialize() override;
-  StatusCode execute() override;
+  StatusCode execute(const EventContext& ctx) const override;
   StatusCode finalize() override;
    
  private:
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MonitorCondAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MonitorCondAlg.cxx
index b5fe4834fe10..95e22d5ce70a 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MonitorCondAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MonitorCondAlg.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "SCT_MonitorCondAlg.h"
@@ -11,7 +11,7 @@
 #include <memory>
 
 SCT_MonitorCondAlg::SCT_MonitorCondAlg(const std::string& name, ISvcLocator* pSvcLocator)
-  : ::AthAlgorithm(name, pSvcLocator)
+  : ::AthReentrantAlgorithm(name, pSvcLocator)
   , m_helper{nullptr}
   , m_condSvc{"CondSvc", name}
 {
@@ -40,12 +40,12 @@ StatusCode SCT_MonitorCondAlg::initialize()
   return StatusCode::SUCCESS;
 }
 
-StatusCode SCT_MonitorCondAlg::execute()
+StatusCode SCT_MonitorCondAlg::execute(const EventContext& ctx) const
 {
   ATH_MSG_DEBUG("execute " << name());
 
   // Write Cond Handle
-  SG::WriteCondHandle<SCT_MonitorCondData> writeHandle{m_writeKey};
+  SG::WriteCondHandle<SCT_MonitorCondData> writeHandle{m_writeKey, ctx};
 
   // Do we have a valid Write Cond Handle for current time?
   if (writeHandle.isValid()) {
@@ -56,7 +56,7 @@ StatusCode SCT_MonitorCondAlg::execute()
   }
 
   // Read Cond Handle
-  SG::ReadCondHandle<CondAttrListCollection> readHandle{m_readKey};
+  SG::ReadCondHandle<CondAttrListCollection> readHandle{m_readKey, ctx};
   const CondAttrListCollection* readCdo{*readHandle};
   if (readCdo==nullptr) {
     ATH_MSG_FATAL("Null pointer to the read conditions object");
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MonitorCondAlg.h b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MonitorCondAlg.h
index ce62c02635f6..5c2bd522cad0 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MonitorCondAlg.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MonitorCondAlg.h
@@ -1,11 +1,11 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */ 
 
 #ifndef SCT_MONITORCONDALG
 #define SCT_MONITORCONDALG
 
-#include "AthenaBaseComps/AthAlgorithm.h"
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 #include "StoreGate/ReadCondHandleKey.h"
 #include "AthenaPoolUtilities/CondAttrListCollection.h"
 #include "StoreGate/WriteCondHandleKey.h"
@@ -14,13 +14,13 @@
 
 class SCT_ID;
 
-class SCT_MonitorCondAlg : public AthAlgorithm 
-{  
+class SCT_MonitorCondAlg : public AthReentrantAlgorithm 
+{
  public:
   SCT_MonitorCondAlg(const std::string& name, ISvcLocator* pSvcLocator);
   virtual ~SCT_MonitorCondAlg() = default;
   StatusCode initialize() override;
-  StatusCode execute() override;
+  StatusCode execute(const EventContext& ctx) const override;
   StatusCode finalize() override;
 
  private:
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MonitorConditionsTestAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MonitorConditionsTestAlg.cxx
index 0b6d4f155b11..893a4cd3e409 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MonitorConditionsTestAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MonitorConditionsTestAlg.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -19,7 +19,7 @@
 #include "StoreGate/ReadHandle.h"
 
 SCT_MonitorConditionsTestAlg::SCT_MonitorConditionsTestAlg(const std::string& name, ISvcLocator* pSvcLocator) : 
-  AthAlgorithm(name, pSvcLocator), 
+  AthReentrantAlgorithm(name, pSvcLocator),
   m_sctId{nullptr}
 {
 }
@@ -42,7 +42,7 @@ StatusCode SCT_MonitorConditionsTestAlg::initialize()
 
 }
 
-StatusCode SCT_MonitorConditionsTestAlg::execute()
+StatusCode SCT_MonitorConditionsTestAlg::execute(const EventContext& ctx) const
 {
   //This method is only used to test the summary service, and only used within this package,
   // so the INFO level messages have no impact on performance of these services when used by clients
@@ -56,7 +56,7 @@ StatusCode SCT_MonitorConditionsTestAlg::execute()
 
   ATH_MSG_DEBUG(" in execute()");
 
-  SG::ReadHandle<xAOD::EventInfo> evt{m_evtKey};
+  SG::ReadHandle<xAOD::EventInfo> evt{m_evtKey, ctx};
   if (not evt.isValid()) {
     ATH_MSG_FATAL("could not get event info ");
     return StatusCode::FAILURE;
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MonitorConditionsTestAlg.h b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MonitorConditionsTestAlg.h
index 421e447706ea..95542ed9128d 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MonitorConditionsTestAlg.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MonitorConditionsTestAlg.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -15,7 +15,7 @@
 #define SCT_MonitorConditionsTestAlg_H
 
 // Athena
-#include "AthenaBaseComps/AthAlgorithm.h"
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 
 #include "SCT_ConditionsTools/ISCT_MonitorConditionsTool.h"
 
@@ -31,13 +31,13 @@
 class SCT_ID;
 
 ///Example class to show calling the SCT_MonitorConditions
-class SCT_MonitorConditionsTestAlg : public AthAlgorithm {
+class SCT_MonitorConditionsTestAlg : public AthReentrantAlgorithm {
  public:
   SCT_MonitorConditionsTestAlg(const std::string &name,ISvcLocator *pSvcLocator) ;
   virtual ~SCT_MonitorConditionsTestAlg() = default;
 
   StatusCode initialize() override;
-  StatusCode execute() override;
+  StatusCode execute(const EventContext& ctx) const override;
   StatusCode finalize() override;
    
  private:
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibChipDataTestAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibChipDataTestAlg.cxx
index 585fa2af6a2b..2d315e160d8a 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibChipDataTestAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibChipDataTestAlg.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /** @file SCT_ReadCalibChipDataTestAlg.cxx Implementation file for SCT_ReadCalibChipDataTestAlg class
@@ -21,7 +21,7 @@
 
 //----------------------------------------------------------------------
 SCT_ReadCalibChipDataTestAlg::SCT_ReadCalibChipDataTestAlg(const std::string& name, ISvcLocator* pSvcLocator) :
-  AthAlgorithm(name, pSvcLocator),
+  AthReentrantAlgorithm(name, pSvcLocator),
   m_id_sct{nullptr},
   m_moduleId{0},
   m_waferId{0},
@@ -89,7 +89,7 @@ StatusCode SCT_ReadCalibChipDataTestAlg::processProperties()
 } // SCT_ReadCalibChipDataTestAlg::processProperties()
 
 //----------------------------------------------------------------------
-StatusCode SCT_ReadCalibChipDataTestAlg::execute() {
+StatusCode SCT_ReadCalibChipDataTestAlg::execute(const EventContext& ctx) const {
   //This method is only used to test the summary service, and only used within this package,
   // so the INFO level messages have no impact on performance of these services when used by clients
 
@@ -97,7 +97,7 @@ StatusCode SCT_ReadCalibChipDataTestAlg::execute() {
   ATH_MSG_DEBUG("in execute()");
 
   // Get the current event
-  SG::ReadHandle<xAOD::EventInfo> currentEvent{m_currentEventKey};
+  SG::ReadHandle<xAOD::EventInfo> currentEvent{m_currentEventKey, ctx};
   if (not currentEvent.isValid()) {
     ATH_MSG_FATAL("Could not get event info");
     return StatusCode::FAILURE;
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibChipDataTestAlg.h b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibChipDataTestAlg.h
index d6c698d637d3..18258542ffd9 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibChipDataTestAlg.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibChipDataTestAlg.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /** @file SCT_ReadCalibDataTestAlg.h Header file for SCT_ReadCalibDataTestAlg.
@@ -12,7 +12,7 @@
 #define SCT_READ_CALIB_CHIP_DATA_TEST_ALG
 
 // Include Athena stuff
-#include "AthenaBaseComps/AthAlgorithm.h"
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 
 #include "Identifier/Identifier.h"
 #include "SCT_ConditionsTools/ISCT_ReadCalibChipDataTool.h"
@@ -28,7 +28,7 @@
 class SCT_ID;
 
 /** This class acts as a test/sample client to the SCT_ReadSCalibChipDataSvc class.*/
-class SCT_ReadCalibChipDataTestAlg : public AthAlgorithm 
+class SCT_ReadCalibChipDataTestAlg : public AthReentrantAlgorithm 
 {
  public:
   //----------Public Member Functions----------//
@@ -38,7 +38,7 @@ class SCT_ReadCalibChipDataTestAlg : public AthAlgorithm
   
   // Standard Gaudi functions
   StatusCode initialize() override; //!< Gaudi initialiser
-  StatusCode execute() override;    //!< Gaudi executer
+  StatusCode execute(const EventContext& ctx) const override;    //!< Gaudi executer
   StatusCode finalize() override;   //!< Gaudi finaliser
   
  private:
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibChipGainCondAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibChipGainCondAlg.cxx
index cbacdf24d72f..8de6b2a015ac 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibChipGainCondAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibChipGainCondAlg.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "SCT_ReadCalibChipGainCondAlg.h"
@@ -17,7 +17,7 @@ using namespace SCT_ConditionsData;
 using namespace SCT_ReadCalibChipUtilities;
 
 SCT_ReadCalibChipGainCondAlg::SCT_ReadCalibChipGainCondAlg(const std::string& name, ISvcLocator* pSvcLocator)
-  : ::AthAlgorithm(name, pSvcLocator)
+  : ::AthReentrantAlgorithm(name, pSvcLocator)
   , m_condSvc{"CondSvc", name}
   , m_id_sct{nullptr}
 {
@@ -44,21 +44,21 @@ StatusCode SCT_ReadCalibChipGainCondAlg::initialize() {
   return StatusCode::SUCCESS;
 }
 
-StatusCode SCT_ReadCalibChipGainCondAlg::execute() {
+StatusCode SCT_ReadCalibChipGainCondAlg::execute(const EventContext& ctx) const {
   ATH_MSG_DEBUG("execute " << name());
 
   // Write Cond Handle
-  SG::WriteCondHandle<SCT_GainCalibData> writeHandle{m_writeKey};
+  SG::WriteCondHandle<SCT_GainCalibData> writeHandle{m_writeKey, ctx};
   // Do we have a valid Write Cond Handle for current time?
   if (writeHandle.isValid()) {
     ATH_MSG_DEBUG("CondHandle " << writeHandle.fullKey() << " is already valid."
                   << ". In theory this should not be called, but may happen"
                   << " if multiple concurrent events are being processed out of order.");
-    return StatusCode::SUCCESS; 
+    return StatusCode::SUCCESS;
   }
 
   // Read Cond Handle
-  SG::ReadCondHandle<CondAttrListCollection> readHandle{m_readKey};
+  SG::ReadCondHandle<CondAttrListCollection> readHandle{m_readKey, ctx};
   const CondAttrListCollection* readCdo{*readHandle}; 
   if (readCdo==nullptr) {
     ATH_MSG_FATAL("Null pointer to the read conditions object");
@@ -120,7 +120,7 @@ StatusCode SCT_ReadCalibChipGainCondAlg::finalize() {
 }
 
 void 
-SCT_ReadCalibChipGainCondAlg::insertNptGainFolderData(SCT_ModuleGainCalibData& theseCalibData, const coral::AttributeList& folderData) {
+SCT_ReadCalibChipGainCondAlg::insertNptGainFolderData(SCT_ModuleGainCalibData& theseCalibData, const coral::AttributeList& folderData) const {
   for (int i{0}; i!=N_NPTGAIN; ++i) {
     SCT_ModuleCalibParameter& datavec{theseCalibData[i]};
     const std::string &dbData{((folderData)[nPtGainDbParameterNames[i]]).data<std::string>()};
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibChipGainCondAlg.h b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibChipGainCondAlg.h
index 7ea2debae03d..544503f57324 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibChipGainCondAlg.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibChipGainCondAlg.h
@@ -1,12 +1,12 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */ 
 
 #ifndef SCT_ReadCalibChipGainCondAlg_h
 #define SCT_ReadCalibChipGainCondAlg_h
 
 // Include parent class
-#include "AthenaBaseComps/AthAlgorithm.h"
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 
 // Include Gaudi classes
 #include "GaudiKernel/ICondSvc.h"
@@ -25,17 +25,17 @@
 // Forward declarations
 class SCT_ID;
 
-class SCT_ReadCalibChipGainCondAlg : public AthAlgorithm 
+class SCT_ReadCalibChipGainCondAlg : public AthReentrantAlgorithm 
 {  
  public:
   SCT_ReadCalibChipGainCondAlg(const std::string& name, ISvcLocator* pSvcLocator);
   virtual ~SCT_ReadCalibChipGainCondAlg() = default;
   StatusCode initialize() override;
-  StatusCode execute() override;
+  StatusCode execute(const EventContext& ctx) const override;
   StatusCode finalize() override;
 
  private:
-  void insertNptGainFolderData(SCT_ModuleGainCalibData& theseCalibData, const coral::AttributeList& folderData);
+  void insertNptGainFolderData(SCT_ModuleGainCalibData& theseCalibData, const coral::AttributeList& folderData) const;
 
   SG::ReadCondHandleKey<CondAttrListCollection> m_readKey{this, "ReadKey", "/SCT/DAQ/Calibration/ChipGain", "Key of input (raw) gain conditions folder"};
   SG::WriteCondHandleKey<SCT_GainCalibData> m_writeKey{this, "WriteKey", "SCT_GainCalibData", "Key of output (derived) gain conditions data"};
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibChipNoiseCondAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibChipNoiseCondAlg.cxx
index b5bcdaf08f49..b4a3bb84dd14 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibChipNoiseCondAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibChipNoiseCondAlg.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "SCT_ReadCalibChipNoiseCondAlg.h"
@@ -18,7 +18,7 @@ using namespace SCT_ConditionsData;
 using namespace SCT_ReadCalibChipUtilities;
 
 SCT_ReadCalibChipNoiseCondAlg::SCT_ReadCalibChipNoiseCondAlg(const std::string& name, ISvcLocator* pSvcLocator)
-  : ::AthAlgorithm(name, pSvcLocator)
+  : ::AthReentrantAlgorithm(name, pSvcLocator)
   , m_condSvc{"CondSvc", name}
   , m_id_sct{nullptr}
 {
@@ -45,11 +45,11 @@ StatusCode SCT_ReadCalibChipNoiseCondAlg::initialize() {
   return StatusCode::SUCCESS;
 }
 
-StatusCode SCT_ReadCalibChipNoiseCondAlg::execute() {
+StatusCode SCT_ReadCalibChipNoiseCondAlg::execute(const EventContext& ctx) const {
   ATH_MSG_DEBUG("execute " << name());
 
   // Write Cond Handle
-  SG::WriteCondHandle<SCT_NoiseCalibData> writeHandle{m_writeKey};
+  SG::WriteCondHandle<SCT_NoiseCalibData> writeHandle{m_writeKey, ctx};
   // Do we have a valid Write Cond Handle for current time?
   if (writeHandle.isValid()) {
     ATH_MSG_DEBUG("CondHandle " << writeHandle.fullKey() << " is already valid."
@@ -59,7 +59,7 @@ StatusCode SCT_ReadCalibChipNoiseCondAlg::execute() {
   }
 
   // Read Cond Handle
-  SG::ReadCondHandle<CondAttrListCollection> readHandle{m_readKey};
+  SG::ReadCondHandle<CondAttrListCollection> readHandle{m_readKey, ctx};
   const CondAttrListCollection* readCdo{*readHandle};
   if (readCdo==nullptr) {
     ATH_MSG_FATAL("Null pointer to the read conditions object");
@@ -121,7 +121,7 @@ StatusCode SCT_ReadCalibChipNoiseCondAlg::finalize() {
 }
 
 void 
-SCT_ReadCalibChipNoiseCondAlg::insertNoiseOccFolderData(SCT_ModuleNoiseCalibData& theseCalibData, const coral::AttributeList& folderData) {
+SCT_ReadCalibChipNoiseCondAlg::insertNoiseOccFolderData(SCT_ModuleNoiseCalibData& theseCalibData, const coral::AttributeList& folderData) const {
   for (int i{0}; i!=N_NOISEOCC; ++i) {
     SCT_ModuleCalibParameter& datavec{theseCalibData[i]};
     std::string dbData{((folderData)[noiseOccDbParameterNames[i]]).data<std::string>()};
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibChipNoiseCondAlg.h b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibChipNoiseCondAlg.h
index 44ec1e2a468f..a55f6dfc629b 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibChipNoiseCondAlg.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibChipNoiseCondAlg.h
@@ -1,12 +1,12 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */ 
 
 #ifndef SCT_ReadCalibChipNoiseCondAlg_h
 #define SCT_ReadCalibChipNoiseCondAlg_h
 
 // Include parent class
-#include "AthenaBaseComps/AthAlgorithm.h"
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 
 // Include Athena classes
 #include "AthenaPoolUtilities/CondAttrListCollection.h"
@@ -25,17 +25,17 @@
 // Forward declarations
 class SCT_ID;
 
-class SCT_ReadCalibChipNoiseCondAlg : public AthAlgorithm 
+class SCT_ReadCalibChipNoiseCondAlg : public AthReentrantAlgorithm 
 {  
  public:
   SCT_ReadCalibChipNoiseCondAlg(const std::string& name, ISvcLocator* pSvcLocator);
   virtual ~SCT_ReadCalibChipNoiseCondAlg() = default;
   StatusCode initialize() override;
-  StatusCode execute() override;
+  StatusCode execute(const EventContext& ctx) const override;
   StatusCode finalize() override;
 
  private:
-  void insertNoiseOccFolderData(SCT_ModuleNoiseCalibData& theseCalibData, const coral::AttributeList& folderData);
+  void insertNoiseOccFolderData(SCT_ModuleNoiseCalibData& theseCalibData, const coral::AttributeList& folderData) const;
 
   SG::ReadCondHandleKey<CondAttrListCollection> m_readKey{this, "ReadKey", "/SCT/DAQ/Calibration/ChipNoise", "Key of input (raw) noise conditions folder"};
   SG::WriteCondHandleKey<SCT_NoiseCalibData> m_writeKey{this, "WriteKey", "SCT_NoiseCalibData", "Key of output (derived) noise conditions data"};
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibDataCondAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibDataCondAlg.cxx
index 47b2bfacad92..e79a3eed4e26 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibDataCondAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibDataCondAlg.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "SCT_ReadCalibDataCondAlg.h"
@@ -49,7 +49,7 @@ namespace {
 }
 
 SCT_ReadCalibDataCondAlg::SCT_ReadCalibDataCondAlg(const std::string& name, ISvcLocator* pSvcLocator)
-  : ::AthAlgorithm(name, pSvcLocator)
+  : ::AthReentrantAlgorithm(name, pSvcLocator)
   , m_defectMapIntToString{}
   , m_condSvc{"CondSvc", name}
   , m_id_sct{nullptr}
@@ -130,13 +130,13 @@ StatusCode SCT_ReadCalibDataCondAlg::initialize() {
   return StatusCode::SUCCESS;
 }
 
-StatusCode SCT_ReadCalibDataCondAlg::execute() {
+StatusCode SCT_ReadCalibDataCondAlg::execute(const EventContext& ctx) const {
   ATH_MSG_DEBUG("execute " << name());
 
   // Write Cond Handle
   bool validWriteCondHandle{true};
   // Do we have a valid Write Cond Handle for current time?
-  SG::WriteCondHandle<SCT_CalibDefectData> writeHandleData[NFEATURES]{m_writeKeyGain, m_writeKeyNoise};
+  SG::WriteCondHandle<SCT_CalibDefectData> writeHandleData[NFEATURES]{{m_writeKeyGain, ctx}, {m_writeKeyNoise, ctx}};
   for (unsigned int i{GAIN}; i<NFEATURES; i++) {
     if (writeHandleData[i].isValid()) {
       ATH_MSG_DEBUG("CondHandle " << writeHandleData[i].fullKey() << " is already valid."
@@ -146,7 +146,7 @@ StatusCode SCT_ReadCalibDataCondAlg::execute() {
       validWriteCondHandle = false;
     }
   }
-  SG::WriteCondHandle<SCT_AllGoodStripInfo> writeHandleInfo{m_writeKeyInfo};
+  SG::WriteCondHandle<SCT_AllGoodStripInfo> writeHandleInfo{m_writeKeyInfo, ctx};
   if (writeHandleInfo.isValid()) {
     ATH_MSG_DEBUG("CondHandle " << writeHandleInfo.fullKey() << " is already valid."
                   << ". In theory this should not be called, but may happen"
@@ -157,7 +157,7 @@ StatusCode SCT_ReadCalibDataCondAlg::execute() {
   if (validWriteCondHandle) return StatusCode::SUCCESS;
 
   // Read Cond Handle
-  SG::ReadCondHandle<CondAttrListCollection> readHandle[NFEATURES]{m_readKeyGain, m_readKeyNoise};
+  SG::ReadCondHandle<CondAttrListCollection> readHandle[NFEATURES]{{m_readKeyGain, ctx}, {m_readKeyNoise, ctx}};
   const CondAttrListCollection* readCdo[NFEATURES]{*readHandle[GAIN], *readHandle[NOISE]};
   EventIDRange rangeR[NFEATURES];
   for (unsigned int i{GAIN}; i<NFEATURES; i++) {
@@ -175,8 +175,8 @@ StatusCode SCT_ReadCalibDataCondAlg::execute() {
   }
 
   // Get SCT_DetectorElementCollection
-  SG::ReadCondHandle<InDetDD::SiDetectorElementCollection> sctDetEle(m_SCTDetEleCollKey);
-  const InDetDD::SiDetectorElementCollection* elements(sctDetEle.retrieve());
+  SG::ReadCondHandle<InDetDD::SiDetectorElementCollection> sctDetEle{m_SCTDetEleCollKey, ctx};
+  const InDetDD::SiDetectorElementCollection* elements{sctDetEle.retrieve()};
   if (elements==nullptr) {
     ATH_MSG_FATAL(m_SCTDetEleCollKey.fullKey() << " could not be retrieved");
     return StatusCode::FAILURE;
@@ -258,7 +258,7 @@ StatusCode SCT_ReadCalibDataCondAlg::execute() {
       for (long unsigned int i{0}; i<gainvec_size; ++i) {
         theseDefects.begDefects.push_back(gaindefectbvec[i]);
         theseDefects.endDefects.push_back(gaindefectevec[i]);
-        theseDefects.typeOfDefect.push_back(m_defectMapIntToString[defectTypevec[i]]);
+        theseDefects.typeOfDefect.push_back(m_defectMapIntToString.at(defectTypevec[i]));
         theseDefects.parValue.push_back(coerceToFloatRange(parValuevec[i]));
       }
       // Fill the isGoodWaferArray
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibDataCondAlg.h b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibDataCondAlg.h
index 2961f7694592..9fc8f85317d5 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibDataCondAlg.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibDataCondAlg.h
@@ -1,11 +1,11 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */ 
 
 #ifndef SCT_ReadCalibDataCondAlg_h
 #define SCT_ReadCalibDataCondAlg_h
 
-#include "AthenaBaseComps/AthAlgorithm.h"
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 
 #include "StoreGate/ReadCondHandleKey.h"
 #include "AthenaPoolUtilities/CondAttrListCollection.h"
@@ -24,13 +24,13 @@
 // Forward declarations
 class SCT_ID;
 
-class SCT_ReadCalibDataCondAlg : public AthAlgorithm 
+class SCT_ReadCalibDataCondAlg : public AthReentrantAlgorithm
 {  
  public:
   SCT_ReadCalibDataCondAlg(const std::string& name, ISvcLocator* pSvcLocator);
   virtual ~SCT_ReadCalibDataCondAlg() = default;
   StatusCode initialize() override;
-  StatusCode execute() override;
+  StatusCode execute(const EventContext& ctx) const override;
   StatusCode finalize() override;
 
  private:
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibDataTestAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibDataTestAlg.cxx
index bc7bdbd58dfd..0fe2b50640fd 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibDataTestAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibDataTestAlg.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /** @file SCT_ReadCalibDataTestAlg.cxx Implementation file for SCT_ReadCalibDataTestAlg class
@@ -22,7 +22,7 @@
 
 //----------------------------------------------------------------------
 SCT_ReadCalibDataTestAlg::SCT_ReadCalibDataTestAlg(const std::string& name, ISvcLocator* pSvcLocator) :
-  AthAlgorithm(name, pSvcLocator),
+  AthReentrantAlgorithm(name, pSvcLocator),
   m_id_sct{nullptr},
   m_moduleId{0},
   m_waferId{0},
@@ -91,7 +91,7 @@ StatusCode SCT_ReadCalibDataTestAlg::processProperties()
 } // SCT_ReadCalibDataTestAlg::processProperties()
 
 //----------------------------------------------------------------------
-StatusCode SCT_ReadCalibDataTestAlg::execute()
+StatusCode SCT_ReadCalibDataTestAlg::execute(const EventContext& /*ctx*/) const
 {
   //This method is only used to test the summary service, and only used within this package,
   // so the INFO level messages have no impact on performance of these services when used by clients
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibDataTestAlg.h b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibDataTestAlg.h
index 87eacd288a22..a54548823933 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibDataTestAlg.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibDataTestAlg.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /** @file SCT_ReadCalibDataTestAlg.h Header file for SCT_ReadCalibDataTestAlg.
@@ -15,7 +15,7 @@
 #include "SCT_ConditionsTools/ISCT_ReadCalibDataTool.h"
 
 // Include Athena stuff
-#include "AthenaBaseComps/AthAlgorithm.h"
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 #include "Identifier/Identifier.h"
 #include "SCT_Cabling/ISCT_CablingTool.h"
 
@@ -30,7 +30,7 @@ class ISvcLocator;
 class SCT_ID;
 
 /** This class acts as a test/sample client to the SCT_ReadSCalibDataSvc class.*/
-class SCT_ReadCalibDataTestAlg:public AthAlgorithm 
+class SCT_ReadCalibDataTestAlg:public AthReentrantAlgorithm
 {
  public:
   //----------Public Member Functions----------//
@@ -40,7 +40,7 @@ class SCT_ReadCalibDataTestAlg:public AthAlgorithm
   
   // Standard Gaudi functions
   StatusCode initialize() override; //!< Gaudi initialiser
-  StatusCode execute() override;    //!< Gaudi executer
+  StatusCode execute(const EventContext& ctx) const override;    //!< Gaudi executer
   StatusCode finalize() override;   //!< Gaudi finaliser
   
  private:
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_SiliconConditionsTestAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_SiliconConditionsTestAlg.cxx
index 5a640cc02b8a..de3a7909cc3c 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_SiliconConditionsTestAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_SiliconConditionsTestAlg.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -18,7 +18,7 @@
 #include "Identifier/IdentifierHash.h"
 
 SCT_SiliconConditionsTestAlg::SCT_SiliconConditionsTestAlg(const std::string& name, ISvcLocator* pSvcLocator) : 
-  AthAlgorithm(name, pSvcLocator)
+  AthReentrantAlgorithm(name, pSvcLocator)
 {
   //nop
 }
@@ -31,7 +31,7 @@ StatusCode SCT_SiliconConditionsTestAlg::initialize() {
 }
 
 //Execute
-StatusCode SCT_SiliconConditionsTestAlg::execute() {
+StatusCode SCT_SiliconConditionsTestAlg::execute(const EventContext& /*ctx*/) const {
   //This method is only used to test the summary service, and only used within this package,
   // so the INFO level messages have no impact on performance of these services when used by clients
   
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_SiliconConditionsTestAlg.h b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_SiliconConditionsTestAlg.h
index 81da94f63505..d2107c19e67d 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_SiliconConditionsTestAlg.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_SiliconConditionsTestAlg.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -14,21 +14,21 @@
 #ifndef SCT_SiliconConditionsTestAlg_H
 #define SCT_SiliconConditionsTestAlg_H 
 
-#include "AthenaBaseComps/AthAlgorithm.h"
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 
 #include "InDetConditionsSummaryService/ISiliconConditionsTool.h"
 
 //Gaudi
 #include "GaudiKernel/ToolHandle.h"
 
-///Example class to show calling the SCT_SiliconConditionsSvc
-class SCT_SiliconConditionsTestAlg : public AthAlgorithm {
+///Example class to show calling the SCT_SiliconConditionsTool
+class SCT_SiliconConditionsTestAlg : public AthReentrantAlgorithm {
  public:
   SCT_SiliconConditionsTestAlg(const std::string& name,ISvcLocator* pSvcLocator);
   virtual ~SCT_SiliconConditionsTestAlg() = default;
 
   StatusCode initialize() override;
-  StatusCode execute() override;
+  StatusCode execute(const EventContext& ctx) const override;
   StatusCode finalize() override;
    
  private:
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_SiliconHVCondAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_SiliconHVCondAlg.cxx
index ee364b6bedf0..6c1ab5f66c02 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_SiliconHVCondAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_SiliconHVCondAlg.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "SCT_SiliconHVCondAlg.h"
@@ -12,7 +12,7 @@
 #include <memory>
 
 SCT_SiliconHVCondAlg::SCT_SiliconHVCondAlg(const std::string& name, ISvcLocator* pSvcLocator)
-  : ::AthAlgorithm(name, pSvcLocator)
+  : ::AthReentrantAlgorithm(name, pSvcLocator)
   , m_condSvc{"CondSvc", name}
   , m_pHelper{nullptr}
 {
@@ -43,11 +43,11 @@ StatusCode SCT_SiliconHVCondAlg::initialize() {
   return StatusCode::SUCCESS;
 }
 
-StatusCode SCT_SiliconHVCondAlg::execute() {
+StatusCode SCT_SiliconHVCondAlg::execute(const EventContext& ctx) const {
   ATH_MSG_DEBUG("execute " << name());
 
   // Write Cond Handle
-  SG::WriteCondHandle<SCT_DCSFloatCondData> writeHandle{m_writeKey};
+  SG::WriteCondHandle<SCT_DCSFloatCondData> writeHandle{m_writeKey, ctx};
   // Do we have a valid Write Cond Handle for current time?
   if (writeHandle.isValid()) {
     ATH_MSG_DEBUG("CondHandle " << writeHandle.fullKey() << " is already valid."
@@ -57,7 +57,7 @@ StatusCode SCT_SiliconHVCondAlg::execute() {
   }
 
   // Read Cond Handle (HV)
-  SG::ReadCondHandle<SCT_DCSFloatCondData> readHandleHV{m_readKeyHV};
+  SG::ReadCondHandle<SCT_DCSFloatCondData> readHandleHV{m_readKeyHV, ctx};
   const SCT_DCSFloatCondData* readCdoHV{*readHandleHV};
   if (readCdoHV==nullptr) {
     ATH_MSG_FATAL("Null pointer to the read conditions object");
@@ -74,7 +74,7 @@ StatusCode SCT_SiliconHVCondAlg::execute() {
 
   if (m_useState.value()) {
     // Read Cond Handle (state)
-    SG::ReadCondHandle<SCT_DCSStatCondData> readHandleState{m_readKeyState};
+    SG::ReadCondHandle<SCT_DCSStatCondData> readHandleState{m_readKeyState, ctx};
     const SCT_DCSStatCondData* readCdoState{*readHandleState};
     if (readCdoState==nullptr) {
       ATH_MSG_FATAL("Null pointer to the read conditions object");
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_SiliconHVCondAlg.h b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_SiliconHVCondAlg.h
index b7849d34378e..0ad9e131c0ce 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_SiliconHVCondAlg.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_SiliconHVCondAlg.h
@@ -1,11 +1,11 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */ 
 
 #ifndef SCT_SILICONHVCONDALG
 #define SCT_SILICONHVCONDALG
 
-#include "AthenaBaseComps/AthAlgorithm.h"
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 
 #include "StoreGate/ReadCondHandleKey.h"
 #include "StoreGate/WriteCondHandleKey.h"
@@ -17,13 +17,13 @@
 
 class SCT_ID;
 
-class SCT_SiliconHVCondAlg : public AthAlgorithm 
+class SCT_SiliconHVCondAlg : public AthReentrantAlgorithm
 {  
  public:
   SCT_SiliconHVCondAlg(const std::string& name, ISvcLocator* pSvcLocator);
   virtual ~SCT_SiliconHVCondAlg() = default;
   StatusCode initialize() override;
-  StatusCode execute() override;
+  StatusCode execute(const EventContext& ctx) const override;
   StatusCode finalize() override;
 
  private:
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_SiliconTempCondAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_SiliconTempCondAlg.cxx
index ebaa2fbd8e7c..3b7fd66f69b5 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_SiliconTempCondAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_SiliconTempCondAlg.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "SCT_SiliconTempCondAlg.h"
@@ -12,7 +12,7 @@
 #include <memory>
 
 SCT_SiliconTempCondAlg::SCT_SiliconTempCondAlg(const std::string& name, ISvcLocator* pSvcLocator)
-  : ::AthAlgorithm(name, pSvcLocator)
+  : ::AthReentrantAlgorithm(name, pSvcLocator)
   , m_condSvc{"CondSvc", name}
   , m_pHelper{nullptr}
 {
@@ -43,11 +43,11 @@ StatusCode SCT_SiliconTempCondAlg::initialize() {
   return StatusCode::SUCCESS;
 }
 
-StatusCode SCT_SiliconTempCondAlg::execute() {
+StatusCode SCT_SiliconTempCondAlg::execute(const EventContext& ctx) const {
   ATH_MSG_DEBUG("execute " << name());
 
   // Write Cond Handle
-  SG::WriteCondHandle<SCT_DCSFloatCondData> writeHandle{m_writeKey};
+  SG::WriteCondHandle<SCT_DCSFloatCondData> writeHandle{m_writeKey, ctx};
   // Do we have a valid Write Cond Handle for current time?
   if (writeHandle.isValid()) {
     ATH_MSG_DEBUG("CondHandle " << writeHandle.fullKey() << " is already valid."
@@ -57,7 +57,7 @@ StatusCode SCT_SiliconTempCondAlg::execute() {
   }
 
   // Read Cond Handle (temperature)
-  SG::ReadCondHandle<SCT_DCSFloatCondData> readHandleTemp0{m_readKeyTemp0};
+  SG::ReadCondHandle<SCT_DCSFloatCondData> readHandleTemp0{m_readKeyTemp0, ctx};
   const SCT_DCSFloatCondData* readCdoTemp0{*readHandleTemp0};
   if (readCdoTemp0==nullptr) {
     ATH_MSG_FATAL("Null pointer to the read conditions object");
@@ -74,7 +74,7 @@ StatusCode SCT_SiliconTempCondAlg::execute() {
 
   if (m_useState.value()) {
     // Read Cond Handle (state)
-    SG::ReadCondHandle<SCT_DCSStatCondData> readHandleState{m_readKeyState};
+    SG::ReadCondHandle<SCT_DCSStatCondData> readHandleState{m_readKeyState, ctx};
     const SCT_DCSStatCondData* readCdoState{*readHandleState};
     if (readCdoState==nullptr) {
       ATH_MSG_FATAL("Null pointer to the read conditions object");
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_SiliconTempCondAlg.h b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_SiliconTempCondAlg.h
index 82b7e6a3e565..d62884401a98 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_SiliconTempCondAlg.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_SiliconTempCondAlg.h
@@ -1,11 +1,11 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */ 
 
 #ifndef SCT_SILICONTEMPCONDALG
 #define SCT_SILICONTEMPCONDALG
 
-#include "AthenaBaseComps/AthAlgorithm.h"
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 
 #include "SCT_ConditionsData/SCT_DCSStatCondData.h"
 #include "SCT_ConditionsData/SCT_DCSFloatCondData.h"
@@ -17,13 +17,13 @@
 
 class SCT_ID;
 
-class SCT_SiliconTempCondAlg : public AthAlgorithm 
+class SCT_SiliconTempCondAlg : public AthReentrantAlgorithm
 {  
  public:
   SCT_SiliconTempCondAlg(const std::string& name, ISvcLocator* pSvcLocator);
   virtual ~SCT_SiliconTempCondAlg() = default;
   StatusCode initialize() override;
-  StatusCode execute() override;
+  StatusCode execute(const EventContext& ctx) const override;
   StatusCode finalize() override;
 
  private:
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_TdaqEnabledCondAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_TdaqEnabledCondAlg.cxx
index 876d4a8c903f..0cd077688362 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_TdaqEnabledCondAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_TdaqEnabledCondAlg.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "SCT_TdaqEnabledCondAlg.h"
@@ -13,7 +13,7 @@
 #include <memory>
 
 SCT_TdaqEnabledCondAlg::SCT_TdaqEnabledCondAlg(const std::string& name, ISvcLocator* pSvcLocator)
-  : ::AthAlgorithm(name, pSvcLocator)
+  : ::AthReentrantAlgorithm(name, pSvcLocator)
   , m_condSvc{"CondSvc", name}
 {
 }
@@ -44,12 +44,12 @@ StatusCode SCT_TdaqEnabledCondAlg::initialize()
   return StatusCode::SUCCESS;
 }
 
-StatusCode SCT_TdaqEnabledCondAlg::execute()
+StatusCode SCT_TdaqEnabledCondAlg::execute(const EventContext& ctx) const
 {
   ATH_MSG_DEBUG("execute " << name());
 
   // Write Cond Handle
-  SG::WriteCondHandle<SCT_TdaqEnabledCondData> writeHandle{m_writeKey};
+  SG::WriteCondHandle<SCT_TdaqEnabledCondData> writeHandle{m_writeKey, ctx};
 
   // Do we have a valid Write Cond Handle for current time?
   if (writeHandle.isValid()) {
@@ -68,7 +68,7 @@ StatusCode SCT_TdaqEnabledCondAlg::execute()
   EventIDRange rangeW;
 
   // check whether we expect valid data at this time
-  if (unfilledRun()) {
+  if (unfilledRun(ctx)) {
     EventIDBase unfilledStart{0, 0, 0, 0}; // run 0, event 0, timestamp 0, timestamp_ns 0
     EventIDBase unfilledStop{s_earliestRunForFolder, 0, s_earliestTimeStampForFolder, 0}; // run 119253, event 0, timestamp 1245064619, timestamp_ns 0
     EventIDRange unfilledRange{unfilledStart, unfilledStop};
@@ -77,7 +77,7 @@ StatusCode SCT_TdaqEnabledCondAlg::execute()
     writeCdo->setFilled(true);
   } else {
     // Read Cond Handle 
-    SG::ReadCondHandle<CondAttrListCollection> readHandle{m_readKey};
+    SG::ReadCondHandle<CondAttrListCollection> readHandle{m_readKey, ctx};
     const CondAttrListCollection* readCdo{*readHandle}; 
     if (readCdo==nullptr) {
       ATH_MSG_FATAL("Null pointer to the read conditions object");
@@ -157,8 +157,8 @@ StatusCode SCT_TdaqEnabledCondAlg::finalize()
   return StatusCode::SUCCESS;
 }
 
-bool SCT_TdaqEnabledCondAlg::unfilledRun() const {
-  SG::ReadHandle<EventInfo> event{m_eventInfoKey};
+bool SCT_TdaqEnabledCondAlg::unfilledRun(const EventContext& ctx) const {
+  SG::ReadHandle<EventInfo> event{m_eventInfoKey, ctx};
   if (event.isValid()) {
     const unsigned int runNumber{event->event_ID()->run_number()};
     const bool noDataExpected{runNumber < s_earliestRunForFolder};
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_TdaqEnabledCondAlg.h b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_TdaqEnabledCondAlg.h
index a867908b25a2..fe44a73c1c2b 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_TdaqEnabledCondAlg.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_TdaqEnabledCondAlg.h
@@ -1,11 +1,11 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */ 
 
 #ifndef SCT_TDAQENABLEDCONDALG
 #define SCT_TDAQENABLEDCONDALG
 
-#include "AthenaBaseComps/AthAlgorithm.h"
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 
 #include "AthenaPoolUtilities/CondAttrListCollection.h"
 #include "EventInfo/EventInfo.h"
@@ -17,17 +17,17 @@
 
 #include "GaudiKernel/ICondSvc.h"
 
-class SCT_TdaqEnabledCondAlg : public AthAlgorithm 
+class SCT_TdaqEnabledCondAlg : public AthReentrantAlgorithm 
 {  
  public:
   SCT_TdaqEnabledCondAlg(const std::string& name, ISvcLocator* pSvcLocator);
   virtual ~SCT_TdaqEnabledCondAlg() = default;
   StatusCode initialize() override;
-  StatusCode execute() override;
+  StatusCode execute(const EventContext& ctx) const override;
   StatusCode finalize() override;
 
  private:
-  bool unfilledRun() const;
+  bool unfilledRun(const EventContext& ctx) const;
 
   unsigned int parseChannelName(const std::string &chanNameString) const;
   std::string inWords(const unsigned int aNumber) const;
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_TdaqEnabledTestAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_TdaqEnabledTestAlg.cxx
index b46bc826748c..bbdb97fbd98d 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_TdaqEnabledTestAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_TdaqEnabledTestAlg.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -20,7 +20,7 @@
 #include "Identifier/Identifier.h"
 
 SCT_TdaqEnabledTestAlg::SCT_TdaqEnabledTestAlg(const std::string& name, ISvcLocator* pSvcLocator) : 
-  AthAlgorithm(name, pSvcLocator)
+  AthReentrantAlgorithm(name, pSvcLocator)
 {
   //nop
 }
@@ -35,7 +35,7 @@ SCT_TdaqEnabledTestAlg::initialize() {
 
 //Execute
 StatusCode 
-SCT_TdaqEnabledTestAlg::execute() {
+SCT_TdaqEnabledTestAlg::execute(const EventContext& /*ctx*/) const {
   //This method is only used to test the summary service, and only used within this package,
   // so the INFO level messages have no impact on performance of these services when used by clients
   ATH_MSG_INFO("Calling execute");
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_TdaqEnabledTestAlg.h b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_TdaqEnabledTestAlg.h
index 859c32686f90..8264dc23f50f 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_TdaqEnabledTestAlg.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_TdaqEnabledTestAlg.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -14,7 +14,7 @@
 #define SCT_TdaqEnabledTestAlg_H 
 
 //Athena
-#include "AthenaBaseComps/AthAlgorithm.h"
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 #include "SCT_ConditionsTools/ISCT_ConditionsTool.h"
 
 //Gaudi
@@ -24,13 +24,13 @@
 #include <string>
 
 ///Example algorithm to show calling the SCT_ModuleVeto to exclude bad components
-class SCT_TdaqEnabledTestAlg : public AthAlgorithm {
+class SCT_TdaqEnabledTestAlg : public AthReentrantAlgorithm {
  public:
   SCT_TdaqEnabledTestAlg(const std::string& name, ISvcLocator *pSvcLocator);
   virtual ~SCT_TdaqEnabledTestAlg() = default;
 
   StatusCode initialize() override;
-  StatusCode execute() override;
+  StatusCode execute(const EventContext& ctx) const override;
   StatusCode finalize() override;
    
  private:
-- 
GitLab


From daa458a83eee08623584f2e72420e26e3c01d9ea Mon Sep 17 00:00:00 2001
From: christos <christos@cern.ch>
Date: Wed, 23 Jan 2019 20:54:31 +0000
Subject: [PATCH 074/192] Add the fix for ATLASG-1478

---
 .../egammaMVACalib/egammaMVAFunctions.h       | 32 ++++++++-----------
 1 file changed, 14 insertions(+), 18 deletions(-)

diff --git a/Reconstruction/egamma/egammaMVACalib/egammaMVACalib/egammaMVAFunctions.h b/Reconstruction/egamma/egammaMVACalib/egammaMVACalib/egammaMVAFunctions.h
index a66bd2ca6fb9..900f75b92f18 100644
--- a/Reconstruction/egamma/egammaMVACalib/egammaMVACalib/egammaMVAFunctions.h
+++ b/Reconstruction/egamma/egammaMVACalib/egammaMVACalib/egammaMVAFunctions.h
@@ -207,23 +207,23 @@ namespace egammaMVAFunctions
   std::unique_ptr<funcMap_t> initializeConvertedPhotonFuncs(bool useLayerCorrected);
 
 
-  /// The ConversionHelper struct used by egammaMVATree 
-  /// but not the functions in the dictionaries above.
-  /// (Might want to consider deprecating)
-  struct ConversionHelper
+  /// The ConversionHelper struct is stll used by egammaMVATree 
+  /// but not the functions in the dictionaries above. We could deprecate them
+  struct ConversionHelper : asg::AsgMessaging
   {
     ConversionHelper(const xAOD::Photon* ph)
-      : m_vertex(ph ? ph->vertex() : nullptr),
+      : asg::AsgMessaging("ConversionHelper"),
+        m_vertex(ph ? ph->vertex() : nullptr),
         m_tp0(m_vertex ? m_vertex->trackParticle(0) : nullptr),
         m_tp1(m_vertex ? m_vertex->trackParticle(1) : nullptr),
         m_pt1conv(0.), m_pt2conv(0.)
     {
-      static asg::AsgMessaging static_msg("ConversionHelper");
-      static_msg.msg(MSG::DEBUG) << "init conversion helper";
+     
+      ATH_MSG_DEBUG("init conversion helper");
       if (!m_vertex) return;
 
-      static SG::AuxElement::Accessor<float> accPt1("pt1");
-      static SG::AuxElement::Accessor<float> accPt2("pt2");
+      static const SG::AuxElement::Accessor<float> accPt1("pt1");
+      static const SG::AuxElement::Accessor<float> accPt2("pt2");
       if (accPt1.isAvailable(*m_vertex) && accPt2.isAvailable(*m_vertex))
       {
         m_pt1conv = accPt1(*m_vertex);
@@ -231,7 +231,7 @@ namespace egammaMVAFunctions
       }
       else
       {
-        static_msg.msg(MSG::WARNING) << "pt1/pt2 not available, will approximate from first measurements";
+        ATH_MSG_WARNING("pt1/pt2 not available, will approximate from first measurements");
         m_pt1conv = getPtAtFirstMeasurement(m_tp0);
         m_pt2conv = getPtAtFirstMeasurement(m_tp1);
       }
@@ -247,8 +247,7 @@ namespace egammaMVAFunctions
       uint8_t hits = 0;
       if (m_tp0->summaryValue(hits, xAOD::numberOfPixelHits)) { return hits; }
       else {
-        static asg::AsgMessaging static_msg("ConversionHelper");
-        static_msg.msg(MSG::WARNING) << "cannot read xAOD::numberOfPixelHits";
+        ATH_MSG_WARNING("cannot read xAOD::numberOfPixelHits");
         return 0;
       }
     }
@@ -257,8 +256,7 @@ namespace egammaMVAFunctions
       uint8_t hits;
       if (m_tp1->summaryValue(hits, xAOD::numberOfPixelHits)) { return hits; }
       else {
-        static asg::AsgMessaging static_msg("ConversionHelper");
-        static_msg.msg(MSG::WARNING) << "cannot read xAOD::numberOfPixelHits";
+        ATH_MSG_WARNING("cannot read xAOD::numberOfPixelHits");
         return 0;
       }
     }
@@ -267,8 +265,7 @@ namespace egammaMVAFunctions
       uint8_t hits;
       if (m_tp0->summaryValue(hits, xAOD::numberOfSCTHits)) { return hits; }
       else {
-        static asg::AsgMessaging static_msg("ConversionHelper");
-        static_msg.msg(MSG::WARNING) << "cannot read xAOD::numberOfSCTHits";
+        ATH_MSG_WARNING("cannot read xAOD::numberOfSCTHits");
         return 0;
       }
     }
@@ -277,8 +274,7 @@ namespace egammaMVAFunctions
       uint8_t hits;
       if (m_tp1->summaryValue(hits, xAOD::numberOfSCTHits)) { return hits; }
       else {
-        static asg::AsgMessaging static_msg("ConversionHelper");
-        static_msg.msg(MSG::WARNING) << "cannot read xAOD::numberOfSCTHits";
+        ATH_MSG_WARNING("cannot read xAOD::numberOfSCTHits");
         return 0;
       }
     }
-- 
GitLab


From 9f12f6e3d40691d75d3fdeaa8b7556840ca366e9 Mon Sep 17 00:00:00 2001
From: Frank Winklmeier <frank.winklmeier@cern.ch>
Date: Tue, 22 Jan 2019 15:11:16 +0100
Subject: [PATCH 075/192] Upgrade to flake8 3.6.0

Update flake8 and all its dependencies to the most recent version:
- flake8 3.6.0
- pycodestyle 2.4.0
- pyflakes 2.0.0
---
 External/AtlasPyFwdBwdPorts/CMakeLists.txt     |  12 ++++++------
 .../AtlasPyFwdBwdPorts/src/flake8-3.3.0.tar.gz | Bin 134345 -> 0 bytes
 .../AtlasPyFwdBwdPorts/src/flake8-3.6.0.tar.gz | Bin 0 -> 144684 bytes
 .../src/pycodestyle-2.3.1.tar.gz               | Bin 89460 -> 0 bytes
 .../src/pycodestyle-2.4.0.tar.gz               | Bin 0 -> 96665 bytes
 .../src/pyflakes-1.5.0.tar.gz                  | Bin 47526 -> 0 bytes
 .../src/pyflakes-2.0.0.tar.gz                  | Bin 0 -> 49002 bytes
 7 files changed, 6 insertions(+), 6 deletions(-)
 delete mode 100644 External/AtlasPyFwdBwdPorts/src/flake8-3.3.0.tar.gz
 create mode 100644 External/AtlasPyFwdBwdPorts/src/flake8-3.6.0.tar.gz
 delete mode 100644 External/AtlasPyFwdBwdPorts/src/pycodestyle-2.3.1.tar.gz
 create mode 100644 External/AtlasPyFwdBwdPorts/src/pycodestyle-2.4.0.tar.gz
 delete mode 100644 External/AtlasPyFwdBwdPorts/src/pyflakes-1.5.0.tar.gz
 create mode 100644 External/AtlasPyFwdBwdPorts/src/pyflakes-2.0.0.tar.gz

diff --git a/External/AtlasPyFwdBwdPorts/CMakeLists.txt b/External/AtlasPyFwdBwdPorts/CMakeLists.txt
index 12655407ce54..6bdc5a22dffa 100644
--- a/External/AtlasPyFwdBwdPorts/CMakeLists.txt
+++ b/External/AtlasPyFwdBwdPorts/CMakeLists.txt
@@ -124,14 +124,14 @@ _setup_python_package( jsonpickle
 
 # Install pyflakes:
 _setup_python_package( pyflakes
-   ${CMAKE_CURRENT_SOURCE_DIR}/src/pyflakes-1.5.0.tar.gz
-   84a99f05e5409f8196325dda3f5a1b9a
+   ${CMAKE_CURRENT_SOURCE_DIR}/src/pyflakes-2.0.0.tar.gz
+   06310b7c7a288c6c8e8f955da5f985ca
    SINGLE_VERSION )
 
 # Install flake8:
 _setup_python_package( flake8
-   ${CMAKE_CURRENT_SOURCE_DIR}/src/flake8-3.3.0.tar.gz
-   3df622aac9bad27c04f34164609bbed8
+   ${CMAKE_CURRENT_SOURCE_DIR}/src/flake8-3.6.0.tar.gz
+   178485aed0799655d0cbf2e3bdcfaddc
    DEPENDS pyflakes
    SINGLE_VERSION )
 
@@ -155,8 +155,8 @@ _setup_python_package( mccabe
 
 # Install :
 _setup_python_package( pycodestyle 
-   ${CMAKE_CURRENT_SOURCE_DIR}/src/pycodestyle-2.3.1.tar.gz
-   240e342756af30cae0983b16303a2055
+   ${CMAKE_CURRENT_SOURCE_DIR}/src/pycodestyle-2.4.0.tar.gz
+   85bbebd2c90d2f833c1db467d4d0e9a3
    SINGLE_VERSION )
 
 # Install pyinotify:
diff --git a/External/AtlasPyFwdBwdPorts/src/flake8-3.3.0.tar.gz b/External/AtlasPyFwdBwdPorts/src/flake8-3.3.0.tar.gz
deleted file mode 100644
index 9b44bcb6c48d45608178a020f452f86b3b1f1c3b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 134345
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%0DS
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
bpUr3U*?cyi&1duZLx281qZ*?I0N4ot*R-8y

diff --git a/External/AtlasPyFwdBwdPorts/src/flake8-3.6.0.tar.gz b/External/AtlasPyFwdBwdPorts/src/flake8-3.6.0.tar.gz
new file mode 100644
index 0000000000000000000000000000000000000000..8490781980b381b5ad119e8a585e6aa0c03977f0
GIT binary patch
literal 144684
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%0A3a
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
Q#~|2yx#%jeQFyTb1BOU*k^lez

literal 0
HcmV?d00001

diff --git a/External/AtlasPyFwdBwdPorts/src/pycodestyle-2.3.1.tar.gz b/External/AtlasPyFwdBwdPorts/src/pycodestyle-2.3.1.tar.gz
deleted file mode 100644
index 76de22256ccb0d2dc36056a734cf935405e2408d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 89460
zcmV(=K-s?^iwFp4(~npJ|72-%bT4puV{c?-b98xZWi2u;GcGYMbYXG;?7eGy+eVTo
zJYNrg1wyYEfK5^&CD{&RI#Fyo(T*(XmE=jX62pKbC}B(i3;<eUF8kY0UAi0HK!cJq
znc3&O&&ZD@66mhJRae)otCs6&G7GbOy$IXA&Q7Ph^_M^WXB&Q=@9p8=?(@BE{jdD_
zOLu2`cjx(DcMqR;_jaG{{>9n*%fH}fmE}R|IDd(zNjeL%X<fPd-phf=zyFW?EGz4;
zJ?Sjhf7<##uUY@z-d^|lu3G<{9z5@D@4_Ev``_#TPyc!J+14scw<b}%6~-T(<vPDk
z;>IJ#!~&=7yuJ>nADk0<?_|j;orVq;app;S6XbamU$vZIin9bCojh?)h9}O8#v=gs
zI$5sM=;}Imyw|?d+unZGhF_mM|CL+^aqPVAIH$?<I$127mw%^6U#0xL6NmXL8-ULN
zKzG-9yGYV7&Ykb0>0%WJ&dWJJ=-lyxudZ%_XwjJ_H#R8UU4-(?IS69sFbtiSQ4lY}
zu)Ejm8Wo}HNtoV5Sr)<Aqs+Mu({QqOuF@dR!&%Fjr%*eYJJahRy$V}6_#j?8%P`Go
zGLuOjL@`cF0CNV@31#zZ0F)*3{5D8KC_Zz7EK8<Q01%y7GF{!kID#BooJWf=12A5G
z9Xic3QK#usL$fegI8p52JNe4FjbNEpxs$>QrqL9kv;aU9!>rKq$O4P#CK9b60Ggc)
z!LBkG2lln)+$6JTj(<ZO9OA}mvWT+lmNSbG{A86w*$f{}!x-zqXtt8n$wF9BfDwfm
zkGSX|g26FEOG}*ETuc_VeS4kUnB#$|ny=Cr8V#w=EP<&*7|`n9!)cDsu)-X0Cb`7{
zPLp^R;kdFsE#Nu44JOIQkOswA5GOhGnEQdNu`Cu@yvnWv7{Vk}a|g}CTnE~?QtSiJ
zkT{QEA(lx>jh4sT;ZA%zbk2_7o`1K0I&==soRibzza6|8zHyrSXYjq*a=tq_|MvL(
zxdSCm_m9qhaE{+P`$s=Ge?2&QgX0~3e{woJJ9Cator8BLhX=zqE$86q_2K(B2S?vH
zUqj8K<8$Zm;N8JFfIUB^CIzsAA=G;dK;8{cUw;b^_P;(jJUIWM<-9#OKSHQ)0qnkW
zvVVGh@cRAX{;6~F{`BPdYzSR=1NDxMj}DIBo<d8*cf+Ie4zvu<oZ;W#i*xqv{^21t
zxBni-a7ulAeSGr6>A^SOo;%+jAHEr$o&l7vhtR+MuMdaZ91QOD;r_w9mh)!+-TpU2
zs&@=<PN|sa;dkE-=@GQJe*{4GU!NZwAK~o0K0Z1>g|96b?diFy{N2IXu;uKZ9-QIC
zygfaJ25@4b2F@MAfSN}`hJ({?t_~E!@9)osMStE5_YVQu8TJAm00>#U(`cm4X0!1J
zi6m5i3y8GJf-6A^U}I)EB2ls=e1ff>t_e%~jsFl-x<aF`8;x_q<1_)%bVHCL*v@Hq
z1%!a`I)~zbuu&dD3$PiGlJy(cdA`j0TU%E^6;>0ZddLO*9O%42qw!6etd@k?VVWjs
zM(_c-k+4CxhT?JKJN2;9-QI@%GLw|70hAkdH?*EDgK5~<fv=NA5PyKq#6aS9vG@({
zp{%h7pYf@)2;-~#y73IY&%$LIP8rm5_zv4H50Or0jnDDx8rr$zZZvQ?<|z=8@p!(<
zS7|sN3)n>b#;R_kAs$C@wgg%tzkUeUx3Es~Ym&)NX(&HsYxOXXZq(yE`4Gm@FY3FR
z4(`xA22_|{%if5u{0^3T8KhY#Umnx)pWvgk(EuFiHyrq(vOwbI(G?X>W%<+K_BA~g
zRaD_9kwwnKyZqqzyEIq=y=#Pb({PzP2lQ@;GpDtngQ{zxF&=*e(ha?Y2_85uF_CVg
z@n-mT|NY_lc=$b1ry;)TWFO<!>%X0~I+I`0R_FSv)d7rajmLmy!SotdsMX1nJ6F{`
z_~z*Nl&TK9y>1JB?clFxtznOT?Y4%`w|86L?QQS4#pFbDT$s*s5#+e-oB`B_GhwIa
z@_YP&eSJCx0`T_W8vvg`=^(%Egm+88X*l{)FLnRtvZJBD>r>ruk%jj``Fj$@o+^Vs
z@a8Jafxq(H@85hQYK*@<em8V|JV7k&yZ^J*;RSa6mI2Jwd!^p^wJT|M@+gU6E5pI_
zUqJeb$DW&o`D)pj&ad2-<H9O*fMJ0_pAXN@&)&mnGCtV{8d(~p{4$HuIJgNt*lWP6
zjK@C0fG!fH0VwbGzaInX9F7l%N8b>b=btxDhbKU>$8ZX~+dqd#zfyPISvU_?i`?xy
z?qd(3`&s|7mnOIV4E|1&1^jjJ!z}bO_>coW`<cs=1d{_q!(Q3BkhMm7wclYn*00}=
zkB<(281J89PrBQ^-3A^Uhr{#ZqceB{+u;}FZF29zeH#E0;4I->;@|Uh6}lt8@z>!G
z-yNU6G0O`w()n;pB>ky#;Vx6`;>ZWCx@e^F{%HU7hw<^r@O1wik59AFSFf<8Cr{`%
z{(6eP+Sn`{a_8T^8^W0lwM*5s3S0DR%dGp|8PvfeaR1O~+JM<v#jw2r+K*W8Kk?UZ
z`0M3M{LMXkETA0?hrrO(4TIO{$&&%~ihghLZ~pU?ez)oOXY~6eLFb0#8b78tKhp32
zq~E{M?*Z4K->>+y_`=@?)W>fDna@u4Uk{D0xz1${h<Y^q4)N6NwWQ~rqr;X{eBq)1
z^6ak%C*$+uzYYmi#B(`msyuLTz$a+{V4mOs)Caci^c1!NLO@m*c<QSwIGAS+2pN-L
z`T=;+4;eC^g0tA+CSM=FLp}@})w)n=SQOJ*E}DbZzaAdF{`TGe>0ifyzX<EXh3yOn
zVUhxai}ObE2Yy&2SJ4!>Tsp1s!SZ^YX-`It29I)lI{aq%J-`Ca7r2Qf004^WUBD!d
zp7=1&r~AO4(E#@CWz!(a!prRG<?YkU>`4o&3_rC}=Sd6x@R$Dp2sG^1$8U!A+Lx1y
z{q}#4E@!{){C+us@^6k`pPeJSYcIe0GX3(RdFhT2^!LDo9u1G*pN$Iyvsb&g@O~XR
zzd0A9-~HAXeXOlj*?)UZ<hpi@7gz@d<bBz9oZl{UoJ}YWO#5)Gs7cNIUrvx@{dPGa
z5(a;fa`|5(w2Q%Kqk-=lCr#}S%oTRP>-xWW1d-tpG@qtU_ULH%&Hnkp-)d*v13}A&
z6}$Lxbm4oy|LTljv7UNS{9Ba4a}Cn@4<|KHU?!;dPz63hb%gmP)P9n$mmxgLI)DS`
z@cI7XrS5NtG9FFIkN)V%#gC3ZLRgnR&a@!$b@Q7&f#E}ok2Cy>UtQ-h0(JSklqZDm
zHzb9uAJdP3y(6EX;MexkCtJUL_Hyv*@qhj}ddknCM~D0GzJ9Y`H@}PEW-<$CNxpr5
z^jCYaAHVv_X<yEsLMtu!<A3Q~KK1YeKA;cq=&P?fw298nK|DM|foTkES`9!i0A73w
zO96-ZZ}8tYE1n;p04MOb;o$?S!|&h3pXnmVGW_sW37#N2@Z_8%QybU@FYk}IvcGQs
z?z<h9$vm|<StkvFX`F^|7$9+jmViB*qlAyNw_xdzMZp5pONYJ`@1T6~j=mJ{BB~ZH
z<X>bXinqYP(qrP|nC`~GVzJiCpy*P7=WoSZnjoY2H4I%m@B!(7roD%`szJIR$74Wx
zK)R<s^YVTJ&Zh5@^n(+C><7}GIDcL`z0Nad5?%)%BM@?1DAR#JGfTn@H7Cwh7>6l{
zSI*I)6U=jv5+0G}>jvd5Q5eoSfE2Kd2j?6Js^MbZX^7KmObZM32gR`^!H(%k1`Nrg
z%h(-tmdVoZWMMobV&q?RN5u2v%La_#PyIn%;9_+JvZCWnN!p*UVp6bWj4S4m_-D7?
zXaKr7c`(VwNjfGeI`d?cV{Eb|1nw~^BYhSDP&aWDf|%yqM0Zr1WOuIKX;2wdkliG}
zp~7sg7C{P9E9og28fq)V;={rr-ig|<h>LZHsuP$jM9o{f0!h}Q#zmdis2O4S!0XWK
z0DFkiIsr@O<<2_Ub+TFjV}yE@7)F${LU5H~4@DW+K?`{BF{D<$yAETP3*(Q;2U5Gh
zP{m*nClNYfA#mkkx=cY*OGRg)U^^E&7?{``hLNpcRS}$&>QSw@%2~~mUk6ZTu?Vkl
z<KkGLJLUQ2E{QI;^PHeTQy}##m=l=Bn^0&}czWTrPzE`u61|SDuAzxE<ZU$zXP@yx
z9)AedeH4NN+y&eH%UF_w07aYP>jb}2m0@?gyRph;UKB>f3Qs3496Z)pz7FX!OpNq9
zSExAxZh<umDDckbz*)CQVUDylj8`|bwLOOF7czFlYIWzcfsWXH<0OYATcxpr+Qjkb
zdMCsc)WB!7A_|vC@e7O7G`7_wOBR3vr7;v62{m<bc#B##R6S=c0j`Z$O-qyIX%b(V
zi{m7?{jh~jX_=5~5;M-@px57ZKkw?VFLUkXKe_|})&+3~XP!Y6(<!EsA9wK2orh&X
zqHkiK?9*z@B5>i*=GC}R^wrMgxhShC1(8x@t7VwZ7pr8YQzx-GL>FO7KL#nO;A5yB
z!Ujrd!}3<9(*$9Wez8SZ7Y11*bz;#1b~!@B7eESd^Ia#<Moh*8F|z<KN_7>bv3Stm
z8<^6|_z^Ez50^|lbhM{CeTPnF=WUXB2^lPWvEuxD5<o{_fAx&jH6{&S8{a!AnqHQ$
zHZd?M@bd_^N$PdCVW9v!vB;+YNev)70Aw1ZX@vS{4euTZ>~4FC-~_OqPqTmH%tN%5
z{dmad1eRUGBGy3xQStJltMJuq8i;`eU{H$cLk*`FA@F#j0HHIim%>&J1DmR{sqNE1
zZFBV<4K<3*phGHc2`WxQsGQpLkpGN<8cxC#1@>IL&up7U!%L<+m2G3-DWl_#hNPD<
z7yCB3CGLQ>Pmtw2AaT@&u{xWP?9nSv?nRh{p5HNv(p(<|9w^!{irJJaF~$ZrB9yPM
zFtV4`s`ZNm!_^lFj%OSXFczrPXxeZ`?@*~nwP<D1H%5*g^i^)fO1q2~H^E(Wv$~;L
zW43dY(E^I-ui?RJkw^S4PJRwFyf{Q#F4-m-CC~~jo4}Tze@-W9Fa^q|(N(lQ)1d`?
z3lxvnAkln`=zL_RpO_jfLdIg|w_a=)um}(}`GvCt#;e5z*~}czlH06Y1J2>#12lkU
z-z3YT$s)ueAWldo60i|iXjwgrW?_4>ZsT8Oh8&?Kc5cy*flZ;oZG}RJ==>r{J}{%U
zx{@4f8Ui7LiCZq<C=la$_=F)WJpAXv#Joso4<@LaLryik%N=i)Oc9Zghl8R*<jH((
zPIAF1^MYcd&wKjRM48Svh;=#*$tuPSp)=gu?wXtK{{17G8xXz{nyTH(Z(fygjrb$n
zZ-{3F>OXSMmf;kQ-BX-IJU?kB-k%<loJ<JXrViOBqoskGta5>QX~?#-Yr*y6na)lL
zFg^1K#zK?Cl&&DLVqNfOdcBHaDF!qdoou;?a+7v=9*&)h`M9~eG(@$d&=zCt@N)Sc
zmFEW++d|58eV-m*R+LL>rk%D^K)PsmM?Q$q<=JjK&u#QYAHa2x1$mx&y#3u-h(d?!
z_h~AHMAI{1u;YU`pOBi1Q%bDTWDP=kfqO<(Wlt*&$;6@#cfxa5`MmuC=EA5VY*O#z
z2n%UODg9>&tdTy-I()QJU#~(So47l8$a#`5ZZ@rozoz$i2F*O4X;a`goyWB9Ol(cy
zFuH%aKEcqr|8vv{I#(i^6Q_^%M(Gt6K%5sQqf(h&t~Zh7HVsivl#K=OYI#*+6-#}<
z*zAcaVf3PkpCw-DEL;YpiOQ2@o9d|f<-JUNIZQ$nv$v2C{BIKr*Z&TLjAUk%hINB8
z36)y}hz?TGBw23)2c>*C-U?^}*zgXxLW7073D&6BSY=Sv1LB5+bFudEgpe?uE9HZc
zh6`+jr5TAbaLj#Og_yv}L;VT!+b~3>+XO0Hm!TwaNMsvmtQU5!I@tM;oKR+~o0~N{
z04ze~m6rKpAn&u#7zPj*)gO|Lc^oYvR>7L0^NGOfEEFBr`BlWpz>^{pk_V7~;UD3u
z@%#aml#=$-t3E=34gY){qz`GI7!uN#%z^MoeF?uN{D|gj^F3q24r*VNgebtH!eyI3
zQoBK_S~gmT+P%6VaEIeck2lrP=gV4ir+&gVwrJGjf8`>(edjAYPXN^uHRFM2gSKby
zMIcUmDDkXZ!d$+hj(j(@PjHP~^U~Q-3{siERn#eP4!=oa7leR2bTKma3sXsUUnDk1
z$?hojmLPY~TRG2=NO|s8uBj)}sI_@kuA>l+ew2rBl8x5q#Nv~ZzMzb14VuE~#RLv#
zW)B%UPp8E+8G0e)m$d#Feb}L+nS>3!GjJZ$`Ky5`I#6#v5*jc4z%VC9@25F4LZbBa
z0}F>{J#JvljjttcQT~+7#!??wT1nrpaza523@uE%fIl#rtCWV>$w`4i*4N5w;M2n(
z1u~Bw1R$@^GU6u!-W8%H9BYo=%V~ns0H>rwjrpAlJYq&zP0q`8p>Kz_)9d$vv+Y}_
zMC_f85J(7D*x5-;u;7zlmZqRzYp|_Ml?7aFWi@lusfFm3vA1xN+<FLzHw*-)wA2?=
zp>MP_Ptq{>(5QuJuWW3fXM&PI2Mqm&z~I1XTI3PM_lm9;j7&?=f$b`zT-AYDJJhvz
z$O2fSCZe~W0j1bLuzCgPo=z?#?8mc$W-!EpXc$C6(d!zzrF93NHXhEO>Zl`drzOm>
zfJJ^C8QiNGnV`qzHEc4##GusWCA7>2bNL}MoN<Vw&@}TFqKSO-{>LPmX;n0dTd-;y
zN{H(Sz!zpwz6yjFK2~Zw2RAq23@<q>){=P!4iRP)%fpgRKo0v5<}^zDECqbCrb2VF
z-vO5y-hhO;z*!(g1AMA#K(B+Fi|(l9{2E?eWqqgjyI>W1+fpOy++PGsIQJK!5>BN^
zudXYOy@+FNs1Aw)MP!*BG9KL_F#@iNJPw_^mb3nXego-SJ1yt#zS2%nyr#5c2QEvO
z^iw*vDPy4UhK`*LPE?&aiVm<Tywd4TTDJki5JoOv(+CAAIuJmaPFa`CyG7Qd{cCEA
z81jIDJat^h?Uz(5uo=TNS4K?NyZF_$kTGuQsnf+x4``zA6yE6W<IKffi;zq@iKD$>
z0Bt}!q)l$C)Df~gqYE#hhN}#w*rVS^zDpF`!IwL1mC*~dzUbF>8M^z}*w$j#$=;GP
zE!%K?L1T)-V^$uIh5Kvv2MCSSKT8nCjz+U6k?w-|8TOucwHM}_o_JHOvs2W$%#Am@
z{N^$@>qwk7aMy4Q)3DXflS<79FTa7lnI|@J$xzExY{#UI!Cjw_?D;O5WaWa12`nAK
zsKMg`J}~s%heGbL>TtOTr5U~4immrF(EFO`i6(Za^E@~8eW&*i>biv6t#rNAhOo-u
z9WcXwJ*IMFz5yXox(=h?$u`7I7E*|i{S&WL+{t?s9voW}*gd|qv!V5a`_*6+VP%cH
zY9g<z5CW?sGeTt%y57@;A!CQ|U6VxJ`|u_~3QY#T$aCcRUZqfd8Gav37GdWmnXT0D
zN;U4I_d)@bAkw=MgxfG>gn|pFrgbS-Qf(@UyUbG%4dUJIf-FIWP2^Z6XdsXj8PTYy
zj}+E|Nl=B+XHQ~Am4M%iL3PM741j!;nHa^xXx>hIvyqjG6<&-N`~op*q&@I<TE6x*
zxajtGN5+Hl_in%ZeYf8m30&9#>U!Y@aQ;kO{TZMSVS$D=RP<LU+lR8hj~>hlkiQ9T
z7&r~CLQglKbTupx=Q<sZRAp3g7m|mYBfY!0ARfabAp<xClVKu>AZVh2eyIh$6*K^e
zHn>t}3aAAbec>WyGM|myIzv&>XeTA4c7JtI7&f0>xE7TG+H;~94>pkZ7j$QpZo#2-
zn5l`AhCi>OG@R9rpk<#WeC4~Fo7_jNbn+F_JJOt!6I22#9I~!h!$NagQA4z`cDnT&
z%ixT7b7>ApUX6`F+8K0@v8t`Wv}af~KH5%2HTSMOH<n>)I6_fju^G`s4Dvnt|0QH_
zlYW8gWaZ3A3n;yeZbA^}R?8N>ng($(wRys(YiRUEn<u2=I~J5w%w_+*K=beGcKhWg
zyKFWL3PrRyH*g=qSwr4o@HeYyU%TC&y_jBP&tBw_^KGQTD-Y)~M!k1W0@>;7PK(B?
zXU3~X+Dl1jrl>)uV@1~i5I4NTK9@I3)EqSd+G7x$v!=bUdXF40nXrAO5jHdlk3o2<
z3i{LvaLZlTRZ~EC9d9D`mktWX1U*EORoe752fwk<8V{=K;4q$vqq1N4N}09j7O<hk
z9N3Y4L*IL%?@C<}#D(K7xj;1iLg}KZSnB%l>XW;$Bf7APRVTEWY)T14?jWfNw9yH6
zA1@m;ui?lUPZtRiqSglWolaB8HKOHw4AV)H>F4@u?uMWa!Y-!zBet=nkT~#zMRXOj
zZwri5kkZTvBl2=Yw`UyAVl9Y7;hpVfWTuOzk#OR|n+^DSldh$~3e}lVxR4Hofd(`y
zT%R05x#ODua=C<1{J=6`dnqe_G(HAKw1}jNvyG+GP<suBR*+t;c(@`cMPU_bDYaZ1
z<3Z45=-a7)Lq=4fu+v2tq(F%=QU!E!6=m1bH#7kDzhRtc#X?l*talj;-lp5zQIGiI
zZM7&q*zKtbUHygjyr-UP4|hsXWGmwJu6W(sZ3$Zy7E!PF=ok={Cso5)xA)9|U+U@e
z3UvMLi}G9T-RInJ;Gp5IuJN62b#T31Q*xly9;d)nh?^hiX>-vV!EbsWr|1!ezB^Cl
z`*v3pK(vt68_K-%Gj>YW8|dPq@UUs{2_iOjjC!9uTrA*d&J53DdPCF>3AdzwU!Wdn
zbpzNX;P54YTrY!MyJQ|(2n#m1LVG#^h>zNB7xJI%kG2hB^tmdd>KCMKg<*gIfma3+
z>~0AHMVJxtgYdIM3Qk%V)vu0z;>4_0Gj!bMS;M4`mT49)$tP%=o_z%3H5(&Uz-97w
zTfTNCNmqW-3()Bb1)LYY=x_>zj?78d0GQ2#QXhPagd$mn==cpo4^eO`yquA&VRMKC
zPk5~r$OTN+$FP{rdHIeGqrzgW-07=O*nOPb3zz5^1mf9(4mK@NN66mkvJyTR3uL_j
zh@%=%FybVQeqjr+NlZD?1y+;Od4V^aB&3f~wxZxaG_ZzwIH64nFV+9fLKph9s`2Uj
zir0)F6$L0tfT~Bu$I4C4usGf`9;1smYpa{syt;6qb?u@nW(g2RoT<*MfwNQWSkg6n
z%~!8pIn9Cqz(96K%H2`mCOP&~&+!^)i}blIhqMbVbjEEdYbHbK7m6$CwL2gLf60|>
z^hKHNZY}P?v^O?ZHQPcuV4ZIclq5$YrB`v!ym4<w9&vOdyjXsXN?brN!qj9=29(Ot
zXZTYYcte9Ji;?z)DlJ&2)1d`3{8BYVr`)R;8Hc(_RxO1&os#RHMAZwJ&5_;s3lnZw
z&r3~3bgON?b_B;K35}^)hj-yvyg_27t-?UNn0S1`YlK7-6%V7|eYY|=G5=yR6<MNK
zVTyXlwr~hvHp=FANm58df<Dr~<#>wDT+jv_S(F6Ve7~eTZ*BdF1T(VMMs1ct0|EzK
z&?vplm~Gax+mNf4a8Xf?rhk8TJRaV_sOMW}pCYZT9VU;s0Sx+NPI#Fn;#Kt$M&P1T
z<F7!_G%dy(1qY<f7!k%}>d+mPw*qQsDlLhHs+*TbWmG1VF$QQ`CE11If?aJ3g<R$d
zGTKCrw9>A+2h7%y=B8<B8Xc6foaumIoehMKbN`TupnjMln0{o7Vjw#yhQfl8Qa0Q)
zFU7R%>{NOYWlGPbkG48kV;T77s9dC%_pMPhFCnf_G0-(aYtKu31l^fSk+MB-{a;ki
zkb9PV1r4Qb#T!@9)P?}1U9Wkc5vz)mR5=y~z*ySQqa?AyfPs`o^C+Czrn4UP9)c12
zOzr$*JLN&x+w`pjQ<6nNy{q$EK^i;4SdgWD?hG^@C?vkO@!0VsvzA&HFuID#WfHNJ
zMm=*@OV&TrMDl&0kS$k%QZ?DPw{iWT-s9=f{rf|pDJs}%9KiTy3#lA?y(VCVg&<Hs
zuvN~R!{(1wrV#fx^&FeR3&@)`oxP>{Loa)1^E=%p>Fr3VC7L$3;HP+<-G|NP#dxJF
zWj9UIGy5dn*VE0tEjJ>jV)m)6n8(ZG%tCWffBjelKh$nm;XSzOYDe0vq27iCXr`Ms
zMy4u$c=o7RB7BE$g;FSn?Y!!PD2B;KUC1(69%<GF@npAFJW=$RG#QUGrOZskw0c6g
z)fl#7iYWvyQ6Hsy<!f)aN_gENE(H0)Gf|sTV>;P)*fymVe`6_dc<u`Q4ObL-W<tMG
z*SAitb>5)2+HkV+^*#za9L<}W6T&2%256i@3vCle)1(V>yNwF*C}||*`H51D{LHhi
zBq+2yMss&#??HY?c8Kki=DJhM3XpCA=1Toh2Z$~i<x4YEmZUnUevfAqK2YCMAHr~n
zce<w^@EkU9$8aF46Ba8j=t^)z53(wf^87p<l-v`FX^|b>t~vbWdkT+ZJGO8c)#zy@
zsZBdgQw1g1i%}Km#<{E>!3FiP5A(i#ylF3IVHlIf4!*P`8N7k%9`NSgz;u<jeXB&i
zER3pJOMmn`;~sb9m5nEOBn&c2IjO0HCm4^1E`|g#Yj6@9_X504A)^X(SSILXkN*0G
zZmkA6sI=AHe^$6+&>;L;?|wNgBVpOwDD>;3ex&rq<;Eitc}c(OnY({uHxNM{)Pq^L
zC{q>qI%?R;m9QD<PJdLhPun#JykSRGyHVhn^;}bPG}F9gpnol=-Npa)GbFYeR2<b$
zjaJA$oO<<*@QD?kRcI?$)C6a(QKx+nT!lFkwhhCUk_B5ef$L}GZR4IP)lWOzp#?dw
z(Qtc8ar@Z-wZ-tsa4@q~>(^;1xxTIf9#z$Gjgt9Z$+b4+=D@rg1XHUKMRsyiBTz(Z
z8xPD~V;F|yWpyh?uJv<Kj(qk7*Gj_XhDa$|^}Q;$+HBaI>>kU|V(8E)h+2@b-A%s-
zO&&o2zv^|&9#dnyEqjA;yfUll|4+W?prswCUU<;1_aPP0T{qcM$o`I0K$^alQArx8
z)qM}N`gcANvhdZoBdIubGUQO>tJ(-L!(Lb1WN`42e#JGK<`?dVaP5xBIWEg}?>nxC
zWt@i;GRru6Ar$}#$v7Kt_#-I=#$)l7Y&aCCP?>@190`FaB1ICbuU{Y7Xdu#oSN#k(
zTLT(4MjaSDxAKx&L^2~sRVm@AnJ^kU+J85cmlemV3H14|ieHbMGmefgE)nfJ-q(J=
ziP{Wd8E#Q9j)1T|GF8PMPv=X%_Nh+@-uoK~?Xd_yX&3#Zt6)>cZ3sH(cFZ>t)jI9@
ze$y&7$|%}VCcUrKpv!WOASen$nuv27t})PYV6am>(Hd@)UbAhyS}!EmWcXcs8v^zz
z-K+fvZbPuKh@e!x0ntxuM{G3dcCzch!#(-1Cm%j_iig7IWcM=HO75zXm-$}(#RoHv
z?f?4Chu)5U^FhwkpK|q~*R8wyP&D(8-hJrpYIh$t^!}4CKlFMvmmjpg*WP~EfV`F?
z^=y?gs>%wPj2|XqVK6?U69@aVQCO#jIMwzSx4{}i0H!kf6#A1*qBuy`_d*nNp~3AV
zM;cwlbgX&<n2ca`b;B%-{^seRg{*FvPdh5#0!GFS(umR$c>^f$vgN#L0jYye@c-2S
zIjfdnUEwpj6p}h$LHIgJ7GZ$Z10+QWc?{;h8tlQmJfvAPpNAw8f;gL`Q67olZs^h0
zQhs$#Fq;)RyegFtOo0xWg1Z5s&vejcFiMml6_+kJgVjVt4|!^O8{a|UJLd@;32o!~
z^?I4)J@FDf$=C3Atw+K@-ZX$06Cd8dC*Wj!!~dAC6ClkWxJc{Wmh%KyBbeSNPw*!D
zRc2gkSS+uDi+(#A$;*%A1viMEcD3*NIP~W{jICl6{P-6hz>~Fn_DpvCspxil;%o1U
zQ9q$E7Zsm##o)JzeDb32++=8vpWoz<y)aGVq=kB0cxbx9DX%6LkmE3%amZi81E+Fi
zF%QxxpI6!urQCZy-ABf*-+}^0MuM^^z&^PRi^|J$J<2RVamvdV9K-||Dj`$7SH7Ph
zY8XN*`Nhbo>suvIo%^y0op1T*MMf-{1QU$PgCJ!nS^HIfwOX19wuq^wUSD)Ko7%OK
zAj@sE5F+kc?^2lb*kU8B!7clwzhb?X!FGC_qoeIw4R+^120089s*+#6YO1~fntjAu
zZgVGHv0IYLaZv^HMk(55As59Pm`{qgBv{Lj!2%|_*?!ghqqe@v^3l>!+~0dw4H#XC
z8!EOa!?_I@59s#Uh7~th*M}{r-F8<j5OU{Fp1AfN^EKXNDQJj`6pdoc!x3=}Qgk$R
zYqd!QeHma5n0l3xrI8od2wf&j+#0i*(S%SD8L4SLsln%D8Hw`SD5KTPuA_PGK78+y
zg2J*Io6YuOt)Qw}uHy1E_s{>N4au8vqbHi8^@8*u!M9r-aNP!OajDd*b7Rp>NM5L=
zpzsVL;#H=O>;c&qIuF@(+6iDu8r0uB9Tjz`0k4!t$u=HN(-+MRHi-=TA!!veVh%A*
zn#p$7PR+{XPWw(9Q<XXGyO#5`+o`Rl^gXK>hK8}}c`nP`PRB-}ysFq=Y{@EK)SIW#
z3%jz*RHhR94l~x{sBD-huWvQQ)IBTAS;{t&<SI%FHHQ!!3c8Dy6AGM<Hv&<|0a(6b
z!%A)eP@>w>cTBq5*bjW8_g+E4E8K;}Vx-kozFri1cmqSC&KRRx_Z%^Q-tn@5I{lM1
zD0El)52;T`+7%IFC~A`tC*~;0K~@x(mykTL)HRDTyz@>MI0U_`-1q6W9C;6>x7#fq
zYEOIW>1E#YA08RSyro=C4pkc#MMXD}kxdNai>92okwH`X8^VC#2sFKf)SRihQuAu(
zs4B4P;xJg@)*%80J(v}W{&D#83h?kg-2_MBL(c`-av?9{Ifx1YJ%VL%8%^NJg8<y}
z{W!jDqhemNGG9AInfA+=Y!p3Gjfc6|N?1%(Ni4!U4=)(EoaiRF8f<sA#Q?dO;DX^*
zH1*PfC^^8gy4XBn)r3b^h9~wnpVhv3S^MTy=?(T8&omfsA2Y0=O0j2jxQIAuD<`(l
zUbk)nP(D^uzy-}IAX6KaM*W7GhB_%bsgtowva^yq#)vF{mRClVC>~>f2Q)RFEo+u7
zY$10I?}cOP1vH<*fE?}4tBG|InYJ{<;f>JzQ{{WZ>Tr0!bT22-ENPwEPZPxjUtXMH
zVygUq*zv~g*SMurJyObk9`#k*)~W(E42P$_&V!e(DHbsgEf{BKh6Nm>iPj%&qDCKJ
zYeR?<bfvKZ%EI&|^-TT4k>X*9p@sXblXNzW{=s~Tut1AQ0r%?4Wnkwh7D3uMMn1)k
zMmGw~#(~kOja*&(aj86+@zfV_VKn2gKzM-+-zw+5j^iA}iqB9j7MG{Z2-ekJuwOMb
zp<v2v5^D*E*G;JDABn8yy1HJ*!Il>}`92z7uazSa7VHgB2!^+c7Z^&Tbm>-XQM&k!
zy_L}$j8l~rz`z|LTYV5uQ+9B?vlpo^^vL;I@47gRo^|!=)w)okXZGR#5{?bZ9`wN4
zfoJgIk*#xvm7NjV+ip4A{y**H5Zd9gV<&}?l`AfT?kI<yO5i@_C8O7~>hR>qM5+em
z(Nnrnql%G3Y42h5<sLokv#xdH2z#Nqc}wcpY<)9H78p6b<rK3*F$`f_<`nD`GgO+j
zCIK+RX*iD%Qy7F4<=sc(aPj!L40wyFD=zvlXjp3e{0C-OYqd!5K`=LjSE{)(1$bVj
zYE@F=K5|^kjVY}kG*In3sy;t+N!=&c|CM8NkTb!2MyWj>*zvtG*?K^~i>qyQ^J{JD
zSrIuKu#2=D&`;W~Mjx8B>cY=9@N(9}O~kPqC-GRG43=aO+M#x`AhnAKe}{27<SAFp
zp(cXUCD~;xBi*e<xQJa!N~j*Tpim{gUACGm(_~7-pG%&gMx^DO9Gncxg>TmAp&|>u
zTfbhIA^c@9yv`&@JL_bXva5_J{{uWI*ATB5u;oPs*u#S4St8*HfSY6Cxh=OQ3Lb3>
z_X}6j1SYcdYP3;Whear)b!|!UdKEkJ3AX_X3OLqqB~O;)WImp&<hwLvgB>yh@Q~UC
zBza;gD%q_}qzX7w5XLJ{<{~`CLV4`53&C=g-&4Nj{Cx!kTBwF#ONr2ik|$Duaf(Dn
zEiKraEPk~}Ccq?eLXjkf{ula!5|$ebgS?inI5)KijDoJ~79~ZKszdP7UMu}W)i^Fz
zx~7bi;{DxaEb{mq&;w56g9SK$0%?4TucFra9|J0KAJ@SJyhNSapj#dVzi^M^P~5?R
zaW>EK1g39IdwBxH1ZAx@{9P$g=bZ>>V*-$ynJ8s8=4JrDbIf4oRdW&0&fBH~(p|lu
zd|f(YBu&6lx{tZ2SzKljAkxzZ0+8A2BoI$RL9wk#2c-6-={AKkmhcW7!}_UUz7%b^
zlCGNbSr=)m{e~?{TE8%VXaQ0&X>i0k`a-BMLY-&js6CoIr&ARTet5IY*CMc%mVc}k
zke=mCd-sRPw4Be);Y=wCqek^8D1eI>R>m=qP%%L;sU(E@wL$U$iRBh&e{j(clEZUJ
z_KK8;#1o{U&_L-q!I`i3trJ1DfJ}Pjfql5;TvZ<^GKCFed_8}h2pXBLTOvVNi?qfq
zM_`VM_{<rZIcKlDUnej|0|zBBKvRPGFKN^|GI0(4x?_1j_ikFwp(dk{Q4uDpikh~>
zt%L|<>tl31Lkn|DrnI9gnVpBMc|o4-D{j=gsN#v`E?mVe-vXj&)&O8uesJ3|4j(*6
zJ$<p8>)6HDqNu*{y|NC&CvyyEfM0Mxw<$1H!Iesp_#NiDrx;jp#!zxe7q&eRZ$u5`
z1<((Ez6E%?bxTF13*ilBfSe?=wa9{HHjL?XF*oWg;q#j8GL$?I7&@{8s9tvj_mL&S
zje4Fe*ba$_DJc;h5u?uxHU(jDQkLR+WduwFaQCDViFH54qKL9yPJp^1HnIy9-WExL
z9j4?EQ5sJ3#hMdaqQRt`dz$i40sWsWf@@c%NlGwH?e#dvYxJI>%1?l=3(Jo{ysbRC
zPQy@o^A4Yj<l<&y)^@loPBA&}gP_{y?6IhXz0->D3g*DxcDJDj1tD7mYXi)uG)cIQ
z?-8YI${+{B_*Lz(;8rN!V61Ww)b)dA@e7A$4*rPQ5;c0oM1P^?_X~YmMZp~^h|xmv
zJ&-BDBvON^K+>}0t}w%RcfK-?^q$E1q!`Y4z%c^d_0_xk1QogjC4({Rv6>q-@`(&m
zN^+)rzb*8TE8O@4x*Xzp9A0yq&lMHX`PbhsMxHN#Fb-%k&dZ`h1>IULXDF~TcxHNv
z)`bMr60MiAh4RA-_g5fpF9(kN`n$_2B%E@JaqV<}cRcKN$&E)=xG?LFwEDoJ^+t||
zcXGm-+MZe4cSk;D{Dj(`P*}re_e){Ba4E+hFap`({=2W=NPBTcDWOCH(QT14rlR>#
z)vHR0QfzEhQrekE)vV3Bf`w{dw1F|z%>_{=!f{1mDjf4KFqxFp{rUGKAo7}s#Ym!w
z;URKqqlhg*Y@3?{H91Y#Efyz9Yp|+KmOYb?u<&iLH8oqf#`hKiHr_#=`xc#-*6;!F
zZ%5~2cyc~O4eP^uq2&DMx}0Cv6Cx^FUyN;R`kYudf2+ua;@6RgFKTwT!8C8!@7A&P
z?jM^Xntt=)z6?NwwIdk=WGb#gf@^M?k}u3Dk%^i(hy-Vz#Q?q!y~J1!{Hu~k$S9gc
z)^A+9IdG=PSp$m%jE2gjT`(%-61TPn7#24`8<p_68<RQ}L54eyb6B*4vCk(W?*+xy
zaWD`|v1lSw;=1T$v8hRZ)SBZ|-@;&7iU^D)Y1|>ke*?Bi1~JAQc^P2Sb&=*yAC<IK
z?UAw|Kwq8<^6<M<VRYf^s8YylP9_t~<E4r<r_*WEj2T>js{+%D2w-JU<zi-&RH#x0
zV^P8Rad}y_1PS*uT@_sNkSL52g<-guzkkB*f_rU9MUM>WN8K;yTin|4G&?w<r0Tsi
zUR#y&y!lmOPBq=*sG14_rEj0XmJTRPin;%qdf$X)s@AkE^$X%abuZJ)*!8tAyqA|Y
zZ+m?yJZ_^^r0b@%=&Zf>ITLwX664K2@zxbK4gw42aPu4JsZmib);}eP%0rzwe!s_?
zL!`_`RzSL<v6t|J@5gDk$_b1z3zjdrS*i7s^x#0csIIydTCPkQ3esx>ddhgj;>HC>
z7hy}J3hBOw@`QIA%`lWRryhRlT!+!sHF<Ujv#_lg1q9Oz>M3Z7lFm~oTLD<y`C@w2
zzAHb!;}<f>Okt8I9X9;J<ZN!alAxvSbp>3DB1B4sd$rI<5@)=w^Ph^+{!h<ZU`rKf
z+Y3A`3K(BXE}%knTt=fZ>8z-v9v6A*ak-I9khq^M0W-w8W?}{VKTC`d!7^bg5_DHY
zkFzWcZ!*HJP^wL$oC7fAiHLQO0$*A9n`JExmUOb^T%?Ggow5Sj+i-0j&kL~=FI+$?
z)Fvk>2t4+fWSYBr6R6qf*WX+H&KF+|9{-O#VTps{jiR4c<gP!)1D+j`)v58wIgzmf
z<0Nj&*vuSg5PMv>JE;?sl33_tD#&B;n%nu`I2o(Xc^+;Xf{ndG<Nsx<zWe29)4I8s
zLz7kQ4Qh(-Q9feh4?%Qg<q&}DLhIt<n`^nLq@`uc`nB$n4J*-?)B^jpQkJyeBlXnw
zMh)FJWxX=4>c?E`3%7nPs$P3`Y_&M)+i;ho<|y4R--`xFWA?_%D_K@b_S@I05~=EC
zCFOU9l6f=Anuw51zP8j<c~Xjd*k;{D^dY2ORU}R!o$3Tlono(%Kvsq<wYo^r$YD0h
zs|Rn9Rw=!z-lQ5n?{?MO&jz+P)HB$l%J&i8^i-X}Knt>}-q5nCN=l;)lsmjd6*x(1
zQBJ`kF$pXAnq&Sbk#p)MBt17OP>UWr?KZ3QJ69d9k%yEJMdh~$@YIU%t^+xwOXqZo
zBO@<*;p7vv+klN|SxCo1k#|CPtuxP}J#lX6*yqF(L`Xs4My0q)!h#4M0N$iNw>edb
z?`S^ItR$Vx9kCfcGY(M>NWoF`Ddz{$5TJ=C`=`V48IY~R;ra1VNe!kOB&1D`02Mn~
zVOuH7Y?n-Y`jef4jV9{>umJk&p3f?;fgT#3FM>B+@&n@gdXKX{r&sk{y3j?iIEO2a
z&Bd!6s#Au>vgj&Z$i<~{TfQ|clZ!a&-XFdR%k|un7kB(im?k(pPn#Sli`dKxJ?yh3
zUS$zb#;iy<Uw95vZBr(}c>>m*_ApM?;|!-uOcc+P?3X@Ojm>c}JdUKQ6Q;+yBkX<Q
z0eLKZlT(eTg`M^NDy@veD+>8vX9qhH@AV!PeL;FA)D=x;dYUw0C0bc{D@fL8UCzTJ
zZ(UHJHt%~Z^8?Q7_lSM}?VDf_h$!RR0sX?U5(KqbOKJvU!hehH$knwM0`B*nujx%C
zQP6WtPA3Z?<eDO?0R)tZCdvds(txAkH~Z%Ye;a-}3E+5YW<(f$-&uBf6ubTUT%s@u
zM1a|tNEvUk>u9O1w#$p>-mi;PAa@Ip$>i^toQ9R^`C5m|%j7mKM>$aC%}4k#gC+8<
z$3`*FUOdR7EFw23jIpXNPD#ZIO4EXwmKMq~@@n;AEa)gErJv#R9-pn$U3lqJY6tw%
zmA8c`JsH`n#VLs~lf;y;Cp;VNDUK`Nfs5z@7iVqalWHQbYpvplNTCSmn<vR<&Ot2W
z5A-@a6s4SYqAV&-IU!d~0>Oom|6hx~%MN6T%KSJ>`uEI1QPH?PC8r|j7BexC{;hR;
z;rxe_2k(O-WQE}%gPp4!i4DVjILoWn9enDGbQYNs-_-ehR*s=aGNbYt(I_K{P=rLc
z*AezI<<Qj0gxJ;%l%E130UAkrk%5wIB64*ER-0u4rN->BvU#I00?J7ATmv=Lcq=95
zOm!Gzc^*x*m&BJ5Qwm!;izW-xS}(lihO&IW`tEDMkkWe?XHUL2QKHV{No2#i3h(IN
zTnA?dT{zPwL%GbJ^o7=0VilFP-Dazyr?pGclS_hYfU_-nu2vwpnM7AB${Jaq)II99
zBbrl$NOwS_#w2sx1?m@$UCMXp9=OPiDkd1cC8Qhx`<+<aIq;pFzAZBV1?1ANr5Gd#
z>XJ+htaJ(-j&Ltw_d8@&I!vi@^i$)zqJ(?cE&6ciN=Fa_6AqOop1&uo&@TmY+7+2n
zpW~I}g{s2ekF_fN<bbQtlfQ{ckaihhyjL8IH^aFM7J{`Gd^ly&oGw=6>cTG5QVdtu
zXkqavqZ4fcmmOxA;e(SdUL;feTA1cq#lDc~&t?nMHE|Ub>0HC{rn(vSbD))zRUVRO
zDXwjzZyAyb$zdMe9QL)DsI7mjmon-v^fx>>=RkWThv+Qi!(Ly^)Pct*lRDmZci35D
zfzBG{j-?RMC~~uR5jtTi6bAhDHw4Wr^z07^p7|-7DfBVb4h0d1nmH!JOrTP3MYv^z
zm(}7rtNJ)qqHWw8?gae^g#N0ca5AD~l%~*f2}BM+)~eb9XlTWJ)(nuh3^`u01kBe!
z0(9n-_|Jq#;eVs9*Iv0=QOB<}gFJYs8%AjkuoCZw<9+_|9+WP(z^*6=yx1NE-LS{&
ztn>*g{Fy!4(RySdX0@G)W;NDB$*%8qHOR)PqhLlx%C60UGYk`&I4qaMqmFmBx3|aF
zL59A#o7omr+Wh)^N0#*+bahK+Y|^|*KC%H_hTiI{GZm#Bdr(rCi6+M9YhuNj6yh*W
zzcahwH%xZEdxoBJLMEN5F1T34E#22A)HE`avNJ_dOEDf;_7xgm>^!W#B-jH-8+(Mv
z2Xl*|8)lL#j1?!MPi`7SS-3ee2_5uUj?6M~alA3)CV_y17bpdtH=Zl*FS~wIGXo|I
zbah4(OwFPgv(G@^tZr`B47B-<feQW&hTN-`g1L~ztTM#u{=wPM2tsln=ci`>boijk
zc1{tqN07Ce7ptc&56=i3Byxt;^xBpSdcx5{>J>4!tpBPCwv;4K`R2ZSRau*iqbxsQ
zbx<y)Yld+mC>D%rM?8P|N_&1U=D&PZMfqAR-*K?K6~8|lSn(T8|9Le1Q0u|{9xA5*
z47W`&JE~gk6u`+y;seygbk046mb>!ZPxSn!hfTvzpD+u%TK6c>PkAnQJTxDV{?wnw
zBj?+2u?+RAEq`(gjRtCi*I5TsghuG3AI}r#rQ_{Lb?_sl!RQxBi^3SNo<hS*t8@xW
z$<88pcLYx-ZF9nUoZ?cGyF6ZS3~ASN<T@$i3*N|70DyZ*-(!$)I8d#^{=8GPD%Mj|
zAe4ks_abQjvfuvi@#ymQ$$z*$lM^;h<S>@;RhW;N0UOYa&{JxmQE1d2nL#K2l#!#i
zxG_BYR7|W>A@$0nC8BQldUV%Wn1jeLmh0seQ)bEIf@WFZ7Y>fUL*F@&m*?p2T!0==
zRv2;^z7J4=Uxgsn<$`wFEX0wDzWIf>oVZh(;T8Jo3X%eo<tpzmNj|KW;;7-E^y15V
zR-n;0znsJPE#1-xIBp-#ph8!Q`EavLkpsb-AtA7iX(=C}ZSrOPfs3hl<94@pDISWM
zS)O+EM-7EeC1mt!kclysFCr46>KG+@VJ>EY)4Yr=zHXEaTuzb*TLL?cmodmHR@y#~
z;9T~;?Ef76whWgq{7Xz81_cg$p%*M%Qp+hw3hIB#{h|aGH|V8~#9vEjD9^}X!lagg
zvBHD&BgoV$S5K(>Le#)4-)74$J{DAdx30`(E=s)E1O<K`T(BtFeO6YYQ6M$#R&~E}
z<5IgAq1^BmDg`!|%rN+u)Y0fy9!!vQcMQFY2GnkuehMh!!`7Db!g&J!pNat%AqON3
z#}1+taJg)FDE#2X5V@MX3BJlhaih-D+?EJY*m;fgMzM_R;@;iex#VnwDXsC26SGh<
zlc$CZI%u~UOr}k-EN&BkG+k@Krt7*;6n+b~7aw4ouCT6DDx_3imQJa#$qPSn&e$Gs
z0~CY>evfSHD-`Kdzft7%5TQFLTL#SsdtJ(KeC#Jl$w|obMP8nH<eaCpAAVjXd6+dc
zN%o?>(;u;30Qv(Pwn<~tOxDyeEMl)%L};chABa^WSR7~tskRHN@Ps@@p%e5Jdr5`R
zHC0C9TLvizJ1dM+@8Pc&JjwGgjWY`W+7hnV1GnSqD^D#3bh!sFW~StFu9CHKT!><J
z-@+`07#N5My|}T@t&zt@45usJ5|v5S6;T)UgIK4hZ1f3<E@9rmctsXB#5oyHpIM&t
zBdo=*zl*SNIk^*H)~~YbmOSyWM}|kOu~Vt4)uoprq#*0xwm6$|i<QV>Hcu{wwZnI5
zzWS=Xo3B^#hp`mfzI}i6*Xq3xGtCQS5Q{|)KupP#dz3QB#iJ1iPHEo@uqtndnF}rb
zc!9Gw>hRqwPfJgR)BjX7;g`}{=!1Fs^l2rsJFN$m+U<{c+KJe=oURdpQe`^JuP^X+
z6<xgBvbyyWNGjOt+sA;XdYF5@zH#V=+J%>79W2tJ8ybxDv>C2_8fRAJq-YL3EFwx!
z=9`b5C=YKk%Z(`ti;mcU_$+apr(Qsjd(R(9hl3dXGZ(-mj<H1M(H2m<68bz{rL!n4
z_T~w0Xc-u_UBv#9Ij9JXAi`=Ns{~b(ELi~Ul%*;brkwX+<y5>Fso(&GsZI11fmd#z
zGaR)waZg?pDr;KGNEDK|(bCnU+G1BiO5riS<?=m}a*jSxPcAkL82@fqeBWqNCCQ}H
z(v^S9^$m=ol41c%>s;`wa;;m^A&dESwU8>RwJa!|s*wDNXKdz{F^wf`Y3I_a0?k~-
z!b*uUG2ML@iV*HJN5!`;xr9<#Lm5I>dxY@>=5ftfeYv>QcU~XHcQIM!?aoYH<kap)
z&1RH2Q*xW)o+;oi9Wb~$fbe)7D4FX<J+yYU8v4dHUosp$C6Z*>vMRr(%9ow2=uRgV
z5s6QERO2WchslEdG}%2?jz}Ec_(+5RIU0U<cyKgSnYk`@M;H8IXT<4lC9}zF<K<=S
zvW7r-43Fs!p$r98(|*e-o(zol)ty@DJNC^}eYQ9)*ZS>Nei%x(fC9ty{|PFZx9Hw}
zo1`BQZ_*V-wGe@!|9oxDSVWu#=EGfHuQR3Ca{IuJV0siy*(IOlX~>^{mso@1rIz_n
zs+Yt9*;GQW2B;HqcB*T5p#XJoM_RLwsv?%`o2UrHkhL8&>jeNZEc(+aI@uwDo!M^-
z7hU*(9y)`8_T=RF>_7&UKOKu`^&?B%3Naqp9hf5wsSlrv{uE)R)9?z;o-pMF@#r^c
zOG4&ub&i%xVqgVS7ZdGeQ*KAU*D(%eGZPw)MZj!PE(J?G7@R<X6c<>&6r;;{bwOW7
zFo+KD>Uh);Y}|8tV&<wCXM=)9<)XUljzkxWNIpD`Q6^`Phoy~y(nAa?*vQ57ky1g5
z=m{SLG4o3JU&j5ay_0)en-G9s51irY>GA37<2OSsa5`*h?p9}vF;K>1;&n@b5CC65
zpuejND7tH|p%za@O%a(eEAtc0?Q;X2K&#?->`Sf{qpU3EuH5ToB&c+Zi>ZEbwr>%`
z4<Yk<j~U6+wP(X-pmJ<xUaT?cYeb$bQctZ}J2)JU@)IY+B`ku-yjEI8npa~TO|}7~
zXi8qKwkXFk^33g61Sa*ENl+VDr#D!eJt{qb(z0NzLF|nEu1etfXq_>5!G`JA91h3y
z-hlBOCIQ~Y6Z&MK9OhVa^3ZdlTm-uldRUOQ*9+Dj7j#1)gNG>4Qk<HQu}R$I&(&j-
zlU+!0oP!XFFDj#mfsUereG|!-1Lq8T`OON%Wl!cM5id6o8DY|;9G+CE&{Dv_I^!rA
zlfts>F2ZjW8mR+PwAd-VDb<s>R;gybDAnR%0;L+oL$mZvaK{()VPURVL=ZJfZ%Wm)
z9MgQ&106?Dq$=L99_mZ8BIarzPZtT<H;cyf$7TgM=qCwYB~fL?6SJ7aER5hFK58y4
zZwh_QEo^L(6B+Z#H!REf5-ErpEBJiFK3Sd8yc(gSvO>iogE`0^Sn;piNtd+UZnX@@
z2pAOc-Y!O_f}sFn(Y$<eGZl@#t_U&>DN4Ojv&AZ=qDo^HYm|A3S%gwN<}iv?TM`ry
z4qfoc7q&2bh-{!oCyu=b`UZ6$XMN{!=Hi_T2@p;#5?03ydGjzXHeCg;E~0U_MZGPN
zr*yWBD4x!|q6nPMM!t4Q=ddg?8QXUu(A4d_c{rc@eW}h}l6?67{B8S%^Y!sN8%N5m
z4MbIYR2rijq(0KS)$Nb$VSvqIQV(_sJ-xh}OyK|A{Uhz|XzkG(5tMEqqtoGa0YM-5
ziLJOo0qt3bo|&bEiAf8Y&s;UZh+^0&(QM56eOfNl3}&R|DjX@OmSG9|By<)TbKz}=
z4y|g^++;pS?eM^nWk9~HsBHlRmqP%SAmIuKe}IMF*@W$?IA#jk_Uk8Iv`P%81Wh5k
zw>RBXb%&pCcb$9pYe(?1{w7#@m&`Tv8x?!GWm&%o^TN(Y2b^+^j$*uF&X!AKh4l?F
zW_>*htMrTl!i_DoK!|#7LAAv}t8Ixg)Y9(I+k09{B1#2BC{xzzFflJ;vfdN;yaHe#
zL$2DQv}$v^iUotp%wQph5c5q7nw2cdsId@C=5n#RDw&d1RwI)rBX7+oaa@94V(L^<
zB%$0ysXEV7(ZATdzbD4TBY2|fYRFUY+LBAqAZ;G#NgC4S4W0jBCuXD}@|K0<Su9h5
zx?iJd_rB57G8$DRij_E>4s2GT@e~rvufJ=froxKF6(cS=z{#Zqu}l_}>B%rTm6Hay
zViS>BSsxhn$dJPXzEzgH2BX;F-@=AlvAVK?*0r-6teL_nEVtu#nIenYwHYqypkRtA
z!wN{#cw-ZZW2#%G29o$nkNA>0qvULS(ck6sd)VFXZaTN^)Ig!gWECxDtV+$sHRSbc
zEQ2N)7HxD2OZ5z-kcEtGuTsDmPnBG=ZMqtx2~Rk{Pm={*0ppNdB?<1~Hwgq)|4_-v
zV^1=De*D+r(V0!vQ?ih1775YEYNev{7nuEo?cSpey|_2zhCZW`J`(ypxWhHA*`jZ#
zI4Fav--Y!i1gxHAo6xYwWTEAcu(E#T0)Pb;TCr7S5tXt?VGqw5bzw84FS~X&E1+$s
zJGxL9hTk5RfVf4PCa;pr)cy6sb02PFu*8?4^s0V+wqY?C*Kvi<#D<K_I3_i1@TG4~
z8a!Fu#ElKD6hTa}wt_RVH7z!LJtB&2{#0{9X;?Oh1mJOb+QFqe`kq|BmKvuo5{Z~R
zmZk`#Fissk#-VSOC=`ieSMr|&Pgav}stkwddHKK<?QEi?B??N7N*j=*pv5U1<<)an
zh)9u4)HK!ytywz?@<Y|C^j?b<v5A!Fmp3==Xi=L)(UIvfG`4Wd5{kJA^`nd9%@0bR
za|OT)4MF`1J3Uzh@duGJ&3UOmv+(!T8iPuWN()jA2GT>X9D5EOTq-De(SNaBM6vZh
zom(<>jFl6u+^b!SV+!>Qy$_L`RMkCyoaLhE02(8sdVL@FMTFI!HHl*@6_?c|_|<X|
z){xACH;|>#VLyuN&uLu=!=m%cfdQhwk+xSu_f`dQ=mJUE_?J?FiC1l-9sdE$qfKP5
zVH}m9tEaH2F1CusRN8fwow%WD!TVKOw6RPT&^0<r1%DOG%zNV!iLY<3ynPLJQ{xMn
zH7!x{Aj@m1xbzBiGiU$o+@Rq2o%iNuhkdlB@zF!h((=G5$fMta!;4a&gj4u?vVQ$`
ze0+5H!x&nq`n?yIyGm~F=fLRMeBQ+|R<C~Xti)-N(ZyaxjtT>YH4_AmaFKa9*p{gU
zuTl;ib(~m5A#!nHh)7E|kP1!Di=7si@^tMjH$z8`zd?2~w%mrUX(Bi0j{rWIvC4uy
z=h8@5<cLDNQNlNe1{Mjz0jc;}kwwyy8(S&RExXznL6-uuqvEb7ly+wQR$&DwR)!je
zQR%lsY=g915UJq1BFgG^H$bv3BRk&oMx0D<vr^8IcBL{8g2|KqJOz_ic=%ZB-304N
zI4<c?*yX6^YA?O4Y)xZ3s(B<-ux-qZJ5u4AwR5cGDf>+U-W<%)6)jER=tqT;htXbU
zbWNVhDueMVB_YAUM=$dY)O+N-2091TIUFa(Y*;(Oiwom_22;!tyI3Q5boWj~pkc#B
zq1FYhXyuqgtt{3p_JYx3Wrm!SL}Y3;dfTZ{rj=IESoI=@VcCI<g<_5ZAj4V;7qN18
z4>31JqW4(__2GbX!dFrZgcGNgK$LB?E$Q%(le2!Cob_i&*En4frZ0+vMG1;(LB&*V
zhuJh(hO-X)6^JD>iB1$7fm<1r7{L?9<R?n=iGlIa>#<M9S-CbaqGXj*eD-8sf`qlI
z!^;xqHdJ2n7#}G>r-{`fNLBYrfcR=TF34>pedZjBO8+6GBzqh@WCKn-DnUG3P4Y#U
zM`hCT2#$zbij3yw&J)fIpNEU}6Nm3U6*GZtd_n$8#X^@rIXnXa^GMA{M1Y!7@N7{-
zQAW4)b!}_~iZ~nOLf}=fv^ukuaZu2x9A+Cm-72OCy7x8-r<8DrVh@mmPLx-gUjmE5
zks6J`%R3Y*UllG726BvZ`v{8N=p(Qzj7t|xf&7quJq%~qr7GK~)9ku?bk+T@J4ICT
zfLA7Cpr1ch9z~}D>Y_l5*>2lqvQS5Z2+UKWDI1L1R#Q>EuSbP}UC0vwq~~x7q(k%X
z5%R`h+ingh^bdt0jdEbt>mop2q->l9m)Fu5vZ5bG7yL3uu8w+fbxC81tNc$L|EbM7
zGV*?7!-8)&HfYVOenU1PsZN3_fwo9XnmzHM0#CV$F2rmQeQXL2P5W-9VW_ZdRJ+Xl
z*;p6BtxA<(m0v2W?bVjsF8hgC^cg$%vW&`gdk4ST*+stO?_NC4`j4{_nXnZIk+Rxt
zIhvolZ_&8g@)&5q7aiuawa(P3VzB6CuKuTPZCp@K8)=K<4Jc*>K9D-)Lb5VKE8zPN
zGy#;;9y~1d!KU;F)f5P*>D~yVZB3!T_de2!4aaK75qB2)b!z>Z;cu)~qA60%>u)Yx
zyW1)QRD@1Mn8TiR>$}1s`b%=7<S~i+rYkiBtn-jQGLf(@p!}HuMbo-y!{^N#<H2)C
zGg7)gQjQ$|AWNC%Uh~P5E7QINm~l}^9L9t<Hr^s3OA4GkH3DPx#tGl#HPf-&Q*DPl
z>J5^hld-34bP+B1_uy)AijZzqbbR#3R#H-Ko88sM5NZ0EcA464Y^bWnLLY77M8<56
z&osYkjA407r7Et~uM-ezr|e54DoVCiQ|C1l)gEi^oF(?F<XtTs;Pflh#JWtvczS&k
zq#rOQl<pL4z9_pilkhPX5wv9$?WrcHpYk|N2;m}FqV#Xkg(Bz00UoMv={8xI${dOv
zv|wTPJlkNZPG=(El<?2hB3EF5&Z?s9j4qi|QuXMj<h{iWvfT&Y;?{vb9sH%MNU}Ux
zT0tkvO^}QE(V*g`^-{AX2P4J%7Vh-IlfI7cHG72@nHJ){kDb%r<V(H5y_E+gdcdYM
z{zx_#3ty~k7TULJPwqvO3m1!F>R#hiDU~rOswgbuSeQ;+R$HfKdG(3Zy;iCdTJ%CM
zr+Tc~E_`;x0&a5JDTQ7kFIWu8#_B&1a+7q%v7XiD)jKBkwRH2bD13{ZPIsxSYW+s(
z3X@{s<&bR@S<VJl7~L18!&b#ErizWP%FxjEG{@mb&KuIPOwrRWm?R)-DjXF^hAOWh
z1%c=)s~wuGbKiUjDa#<?DmOq0yK7ClRVzkiV^p!;Ah5=3>BNZSTQet=&ao=8Yr%1*
zGB%EYPdXSeXF^{TWmU?epPyRq&0Y{}u>mkwSadgV-P)dTO65)cvG!nf<6W3o1t-a<
z*1${gIpWgc0?P}}_2lu~T?$~Jj|eT=7*TneZ5|eS7Z+tkM15*Z-2Ef%E{8-RrED(J
zsYQ34hVI$Mz}4M&)UjA5rcz^Qt5PZTomr|L+OD++GzO_6oFziL%$e8q$*A1obsx8%
zV@eU}23}o041>RJl_&we@Ee;J6<Q9(l?z$R->|sF+VZ}B=<1$Otk8s_PA~Lz_JnT8
zj=rWnL{|$6C5h1k(McOAVUt;@^NN$Q?04?4Dj{Rd82u4C1z4I+Z*HuN;A~osn}wL*
zBy+?Q*ROK!;#Jj%r*FIx+gIyr0-c#5o?u);Zrkx5&zMs98?+r&gmShVb1aBojg2CT
zUfnNbfww^Ige*{q1)m@faGFoXAQrfbNI{!~1yVuFP5_@9&w_OJfQ}T+JwQZxm>9Cc
z7;k15c(3~Ey09m!mDun34RVO5!;|CF^YPo`(|7yli1@O2hZFgA7RfC%;XgF(nOVEs
zCdhYTkZV#8KPU?Z*U9ZzT#YS?YENzDF+N?nG(P*6Gx_70NX0qkwKkNx>Zq(=x1yWo
z#(h|C|5th5O~WeOFv=bIB&S>D=W6qmqHf?W^Q_D*@N3A2>ZoW_f0q_e>cOjC(biez
zY)_I!7QK`K1T42+K9ylSDG?BMT`G7tc@{GFR?jwChl<B`$!qAILAHS1m=>pr39pv<
zCgSth`L!~qE=D?X`=+>D#Sk}5Ze=N5;(cm%*PSK{D5hR^Es$_1P=-h3;*j7Qjm#+f
zyKl8?=(NhJ*ETMwm5pI`1!mPobiZP@>YA%JZ1s>Y7#NE)t63-wJK1XDrS9b!`m;H1
zOWbGUnWb=r?vL)KDI)TWs0!$^$)S}zTA@rwb*bXfFhltgGtX0c4Za+RY3ebAI*EW(
zq7!97p06>#RMr1LB`)D)@_cojA#r8~ywILS6!nR{5z=G|Y;0Ke3cys0#B@^@KH6lZ
z67$6>yY_tHYr_L2lQ}2pC^cHHeZF3jT0<1eC_F^wyy$-3>+ndh2RV!(3+Ca1ZsEt}
z0jmI`FS(*g@;E>&&Y0-x{gS0%ecnX#xnO%tn*UJNM>;`FF-k!=lUMVB7yCneP|=@<
z@<8xgD%BL@ARY;K@qhF<Es+3mUBqnt!k~7ejp`4Bfv66+{**0wJSy&0#q21n(+}8<
z1TijfPKGD#7moDdX8CdsERfC&)GZfY>CCLLMIP}5HWfoe-TS3jgW}d~!+NihyFU;?
zLpsZ3>AA)`piv?Qiym+fW0OLKkENQ$3#dl60AJ&6;(2sM$8x#7;!U+0flO`fq^^v;
zvvD3!N8c#1)nj}p^!HwQUiI6%6n~LjA4H@qIdDpUse>b?pU&N^(y>J5C1aJFh^r`w
z;aI%&%6EUU@s`$ROP@pWBK0j1W~e{b@G{6i!MpKT#thYKRL&hS8r*61kPCkeF)Y34
zg#a;Xlze4YaU7<FWBqc)44YZ1h>0Tu;FK@vm?0Iy)IMnW7627;r8ZxkpH~quHngNB
z1#Xm=P|!8h-jZ#w^q4FOez}*HQl`1emcmt*z-*J*3Xeyv8l3F-oHP8r8NS_re|SDV
z_~z*NbXfM?Lkq6B9Su|~iKghR$gQHCJWVK4ow{jdoj_4u4%%!`3j?|-4B8{-fT3t!
zRc1;-ki;lK0vx}Rq;Kwx=ejLlUq>;&w2<cdaGlDI>{LvTUk{I7fBSC#^sgA~?(9O-
z&RZ;u3V|&~$C?OAvI=RF=}9>jTeXvwFiRB(X7IKO03+g3r80#x^BdJ$PrPruas&bK
zm`^3SxAeGu)sv6872bB@@T*Eu=61#PRU21|o8=wtd-`KL%T)@yQt}NX)0|X}BCWCv
z#O@2oVP{Ks5ts;C!w*UNSP)CCyJEz)4y!^2&E#(-2r|v%=F0~%h%fcQDs9QAyHPfa
zQVOZ-Z@gTO<Xe@rJFzIEQh0|s48z$buspaDIB|>Mui<)<0D(S0okY4?TBT#R)9H}e
zdx<*T>MSM8Dt}(akK$CaE4qXa=|AF9Y71azz1>m@EoL3E%EZf>?y6yKUR*`0@_-w)
zWCNiqlOgXmZaUdar*OVib7WPv4eW}y0<C!Z;Zrp~4EyoptkOni@BK(-JWfFTq{x?O
z)L2dA!zeWOt$<7nA$`&VNLTFv5`n87(q>^>V|<mrh-G^#?V2iI1eCKaeM4U&6-K&L
zw&E4Bk#-<WNRuR|Db8BOOad9W4Hh421`6|GMMn)Ki&a2%1h(N<12dD~fwnYdKMC1I
zUO>$%hP}1le>2yKE4H|OJHbIv9nK^sidS#t74h>_4``+=ARkE=#F~iUU)nnDd9@+Q
z^|kiv11wZ&YypA>?{B8JMzD3p2t`G7jkucF5?K_%@2dx>5pj$pz#>(;gr-@ERdH7$
zv?%0$La23{xmG`iN}#QqnBCdb<z|o_1f7sGB_CPh1xA$+^RjTu+5tNmF|KK_1X{^>
zshQNQ;qomfLA8bqxL++S$$A}fS_h+%am`If#MLsLb;|g`G4S-nfPf_oMMshY4Lz9e
zH?f0^&C)7Zz-%>aYus_1A^d3>NGCEoS)mpjmI+;7w^|%TO(IQ#^U~Sn11es7nQqXh
z*Y{g=h%PEkm^mH(15jE#q~`SI4RAtsveF$+?7pG0=u64#M2H@Y4@L-ts@Dk~-kPyl
znPM=D;8lXUURC35Bo6!f*vdjlo!et8n~^$1<|Lzk?EgS=tEBNt`$?j@ebtrpRSE+q
zqd??2r#q0r!i_dZGINQ!qMjZY8$c6~@)3=gMLGy&)GJG@jBA_%Li&*rWXoY8tm`sJ
zjWo*1P={LN?y8ASoS6(l2Fw-_x-;bV)8uO4F4xpH>Qmj8BckXJ#$y>zf2=9R(-3dT
zu`EVfLa7KxP-$?Zm^`IKJSMC>(Hg{GMLXi}CR^$Xop1)t$5_$15NJLUH^V^e5c#aQ
z$&S$26`HII1=^K|TFY@IHFe1)g@_q^5(Ef7-2``S<dWMQ7RW6+=%UWQEg}=UWUB+7
zieQrK0DdC%7J<G_Zrf-=(gDyz7C@+sa@fIdg2Qu1`k*i(I*-V6+o<Yw+ih8}$eOZ^
z25&4hkbSC|)$4Gv95mUifvvAH=~|Xi>h4)MSzYl~Y=8V{&acsxpSde?xPP!CGGHsZ
zvJkIAek?5!MS=2YabJG^c|%`P?hBj8T{D+V(H{!zJkH_SJ)QCr%m5VTK!$O>h{z>V
zzNS76mG=vo&*(VX(6u%ZKDXS9Ii3vE(<~pjvf~?jMO|SsT69L`e7UzD#Rj+u^WbBU
z4qVCQYBMIajl=I>AHIJx+}tApQphlfJcVE($Tnx{g4x1^(3_6fCYev1B2|+Tw>;6e
zzVldo@;A@7+TEK5>OSc#*Z0ggS!b~kL_=+CEyh>A1+JX0?iruT3&)dDJKW7sK5;S>
zc~eut=1_ei?n67F=C%0ua(cjF>$_(gJE17+KhTK}(Q;E4c3a>151+Zr$5iyDVtvyj
z8Z`TpsR`{{Eu$_SoDbWx+7a>x+oc<jKqF3uC(esf%lAzf<xmE^7Bp-#qUi_OCwG<o
zek|*|sY!YEesXKVrceIj8$E9CnIQC_5C$wUq0I52aV26-9epOc$Qj-T3Hu_VzQ(J?
zV$--Q?1_Un69;Y-8yh{Yodvn+-tB)s#;d2}!{O04=ilB(22k$5i*8mocpfIV!u3JM
zTKrSVR*B8}<Q2yHj?61DNrUN!FxRuVD_Xp{*IK?`tc9tTHGpnL6R`0tl3bx$74<|>
zKJmf5fBFmQm!UWpqV8|YHS{F^?Ij0{el^<ECk)E@N9I&;YV7tRZu=r@Ci3~pos{xx
zczO@Y!(di1CE}wvp&+<S!{{T&2Rb`{b8sXELFqUt$zf?QV|wE?&w+))Wnpnck_^qT
z0=p4JMelrgc7FE$;Cwhf*+2hQleY*?X_k~BSYJF~0o)DJikPPrS~spzV5$*s2#|D+
zki@>ORbgrVwB<2c77%a}Z`LS$>a$pCO_^gqsXcD%CJeGw8cMecO8B!3!&$SG0ut9u
z<sl1ZV;0do<)gvwAg2FCs^@UR%tPphMF~B*HpXkwGB;tADe;Cy2%w`X$)mI%>draE
zm6;}<B3O}em3u|$cw<KJh@AFTcrlYDcCCHU{4x64-A1U-BAiCq*C^+B|Fb1T(=AQl
z_N6Y$StK&%jyXON9ZAK<Dir*9)J&3(Ax9&cgn**y6(t`B5&v3P8@x!UYm;;aa|%5Z
z+$XIBV)b=G)bKU6%5u7y!%EERz&Q<W^-|JGJzYe!qM9ojSK-$*Ff=N$>XVbSHstnv
ze>OZFzdk;Cd%&Tt3Ogv70kzlG%uXB4bJbOlNh5TyC3h)KDsL2Ms1On4g%U&<J4NMq
ztIMB?$d<&czVtNx42VR4o(RRvj;FP5*C~sfp>qm}a&mh7U&Ghu)wwB8IajYFjM+4O
zdUTM4A_ALp2+i{}GHkylg*u_1>^+Xx*OcGv!6E@jY*46VK?V8l)A0am+R;FPwBkVV
zmJy)Xwc{)#N~wqFDVFd$$YcReoL8v1(lhp2L1|@+oO>3SF3AG-g5zRz#We&hMBQzn
zOjfrc@q_1HVA+u)E2A}6)#*6zf#_anjf^^Ov1FFU`z3FfvGD1W*`+&J9>nJk1=Bzu
zt4<)Y)7__ePuPosCQ1W7(wwayId4%=;h>V7US0TNaYoJpH{<Yjtj?hE*w@xTdH`nL
zg$etNZjgyHN*pR0W*M4hfX$j+T0-e_Xqm98nHLJ9wR#auL(d(PV$1cV53W_wS+|9o
z4sci>;^bC(6k@U~S6X*a1ct{CkKkY0Z`G7TM$3;;|N1z?R`9fc;Ds46Vd&jynJn^&
z@Jk;5DmOT>HhdBl6WGQH9GATOp@fL$qNC}B329^*zl!za3295{I4#P1!Z?bwD@TMA
zQ#+_?>>;x`oiB3?9pZ!9o+Qa44B`j3Z#x&NP#*|R8H3G*8Wc)-yP;e*Sd;x-9d+fn
zEu6N;*y3i}Ee37u?(^#?h0To)ntVS(F^Ph8Y;(xLQgTS|UMiw^Tc$w+tzUja_ZyU~
z`@rIjI?zmsg11&)x(&X>Yq~d!R)wEb;nqALIEHg`UCK=*K$fxupKw#k@q3BsFlRDo
z=*K8fzT63aHF$6GE9Z$n30QCtZ0=7#X`TA%ry?&h>l-q0t0f0iM(6GoI<tagwFo|h
zFB%-3Nbvo1D;8Lwg7Q)D$cYkHpu0#+3+%1Q_>QCRSH0skJDOjuKqt1YroutFWqEUx
zMEhDlSDIubn5GdG8JMnP&2u)u{hd6W#Zb}3mrg)+HR0lMRvhuddSQy^%{;k7KU9{W
zWU48^v}I>H7jhMDxSXdB#TLO9&yxj4Q7wTJjSyR$`7rgk&}#NOj<YXxNLr_nH|sP@
z*Rpj!s)d)hT*Vt#PeNZm9Bd-5SPauNaIL9hbf^FO<ZVsJ&?X3%j5{GCj3{oz*a*S_
zgR=rFDKp3@SH~n(_o@VL$vq`wh7?=6Z@EJu4BwAXIM(h_Kr3hxlL@M+uyCJkY5CJ&
zEkt#yJG0+$aXh?+g>ZSercl3;7@CAnyD>mKb)&>^gfXfbL`qUu*Ua$s6*En@w3k<i
zsFu!Jzs+DmFElV^*yfECxeVB1zm8KPy%wp3*Ir2(RgFczf%TP+a2q8*IeuJyx8sf;
zaH5O#;rmxE8`a5WOKMN5-t8i9>jU*TjSZJWN|R~c4xww$__zp{&@gaDbE;xeJf^_3
z>ijF0GcisYE~~sn#kI<M9c5#a!U?Bgy+yIHro1=Nu;5XD(_9vJ>NKC4Srpq+`qo^s
zk(US6%B-+ekE*vS)2<T68yC39HI^Mu?7+p)Ob&)&2|i}i{J^1)ssoM!JHRV2JSi#0
zIKVe-f1#|mbZa-trevGBSz?@Rndp6mR#tLJO7IM#%q;X~pDF&=EwKPG@C+BteK>%d
zUpGf(4xu7^$?!CZyarr|t!g$%^`VV|FVx5iqegYFTDiUPO%TOes(aGP6-TMa3sShg
z8;<YFQHNvgI2nb9Xb6h`E!2kdsQESDGG0c@un9*g2vhUbVzF*iE;?}a4*&7Qx3hz9
zP7Y3nz@!H^lUYE8RyQp;NC0{IBC{<_MOU2H;<~{;Fz(T0m4~I2&&XnO_lP{LmW27F
z-2E<!XTThC_gNCT!mFWXZg-6VF49;RBu%T=F>b%<n^0=j(<*;n^psCZ`Me{#DyJF~
z64A@*Wfb+w(>mi@5kg*H(K@YPuc^|H!Z=$7)2T!*s@7I!f||-j<e+NZLV}S8ra|Xx
zAZigb1w8Ru4`pW61(G=4x7`(oN*xmHV18520?)5RM%S<u_8sPr5WaULyN+oSj>kfH
z6<f0Lmw*5Kum5O*UAx!W>2$YFhx>2d4e_SQpVh`T{5*TMi+{V%_qO%F`18EGz4Mpu
z&h{=meEw|v`Cs5|_u1ZGob7+b1gy}b)^Yw4VF;Wco7R=P@4Xm|`uqRh`a2%l%EJ`h
zwK#ta>bo(psyq{^6dxJlE>&ajkNq?noeog^;419*o$EYbX8o<L=;o@EU1Po;;PaBL
zJPkfZ+1APW_5Zi8TLnAWM=}BQVF7_@E9!HF_B84w=~cBJ)d|qSf>VXDYp1m*$iD;o
z1Ls*ru!Q;`)4^>`g4tEL^`&&xU0~{GW-co|(|fPOjuI|Uy?T>ONw{Q-=vjU5O7pZ_
zFQcv7>o8nAXqK>eXGtr|W5ep!Y5ERfZt4ilK-Rg!NF`|}y4kQ+1n|ESX|6?^D~2`{
zfHpv|j$uRjFIV}E2;4KE{{1IDxCv*`>PCAo4Q`eJa9o3B+SZ;XagH~J=t-lYZxYN3
zM2a<3ld)Ul8d{NiguU6X@LC3NU&)P@c?AanfInhN7-6#hiG0m|8h2<~$MlUy2ZOu4
zz17!e7Jl4<4VmGuHc*%sTT}@c1y~BfujBQDWib7K(Jx6y!m2#6oqzfXH}p?GQ4*-z
zAOltb4{0g|?}|bG^pjK)rr~TgW$VofvAg5EU8SU3M2TU=ej6g#&KzUhI6sM{jk0VN
z@}&j>hRh|x`*{UzV4KiaHjI;(jPp`k)9cj)4a3z%-6E*j*6y=suYMYn>$8>?X%Ssr
z=j3(-tjY((D*yof>uq<RIg_>X)j<#+hGBQFC#*3)Ws3+ygsQednh$`g&G7aBb|4Dk
z1y{gXf6@M!p^IVr1vJh8K0^JZs1KNsuYe2OI$14#IXHju*B=f)e3=h+p545nMSdH?
z9s-uF(H1|A#uMj+lG1}@H@ya)Yl;Q>&i;(zv0)fGA)CO`hCzn6N}vkz=#+~H8eFb$
zORa8}xM1w`B(-ZeJA|Ep_IZ+0-7^s47g&KaL`lRIx$a<nqEz}U0WY|SCLQO8WJQaN
z*@ynVBI3qcXnlt-*MM21+fz4TmaBA`WFa;CIzhi*zPCa-71QuKj5EwDM6v=40gc81
zUc+B3*iP8iei{wgjfji1oYfMft(nL+h1po>xvgK)LXj!GT*jN`KTvFw5FL}=nD5$c
z(VVqZ(YpS&agO-!W}KoRP<s<+=uJ2Q^xAqq0XBTaiP<7_lp|Hy;x<^5<lW%oL|z1e
z2^!u7nCOb{d$2x;aKM->bK=xcH996dRZ$!ui4W$f;ppG`&pz*WyM1T4yWQpdRoJQs
zI*Z~YB992*qgQ+WypOeZwtGd8=$=D4EM#ayrWD;$#TPI7dsMMoRP1UMWxefEy<V@^
z-`Ry@>KQaySmep`52<e&L}WW*!I{m^di|Z<=lvb*a<AJ(zY~~mSf|htNkLrCEmzos
zAwI_n+eQTr0p|W%F2DP{*YACf<$KypQk_h;k}NT84~1LNtM2XY_JLaA*t!l`OFo2a
z&o_M!TC_3UD0YiILI`&Q#LTuE*xeZqrCL{O+Ea}X4lCgXwFo~3=n9NZ(j>X_VP(ZE
z%?sSoJhKa7e+!U`5w85G-|Kg`ABJ>7QGgkCvbAx)>__qCK-3f0HCNe+?%u&!h1{&T
zPryj2F6$kC2-f`q_GK(pKdK4rn<|lEDuo1<O~)ycTAF+~8<&e<?cg*gbBx}md6MJ7
zONd-EcSVfj_Rl{H>I|aU-qv9>f%3hb9{0kId>4p(d!K(U%k*p*?PH;5J6&05$5yC?
zg<kB+);8>o-X4Q`Ab#)eKHs6@58COwAUlfE4<RTZI69*E4zg*m2jaC}*ztBzZL!na
zQ;T^YqU}8EQsLnqlod%X6F6gmrg$%U$iSq*6vG7|;AdT)v4`$h=yLbP3sK{N^s8|g
z#UBI{foJPar^<=PkR4v$FL!JqD}x~3Cg}&~hIYm`QU2{}!nN;V$guXml_>we(*Lj}
zd%6De+PFvmv$M0kNBW=b?(W|6?laQ=Jb(Ug{m;MR=aJKX(nbaVZ9C2?pSNG&lLj5}
z<MDij;s~Y_=i?6fXi|YwrWY<n2t%$W>QKZd+C^%?yh<w!G2?hc#B)v7#P!KdrEiVg
zKd;!1DYmV4zu(nvW4pEKM;%~fIKQV15I1mr&S_Qj7>WB>^Cgj8r$>d;0DBq>le1fB
zPSN+`^|$*+-we+>IYt~VTuRm0sa|=&stswH=gi$QcApr5dl_HG!nuP=W7lcY+2sWx
zmu{>#L<ApFQ5kE}Dh4L}W}5Z-zGh2!tDDm^u+JG6hV$<h_D*K>s71=f7ITp;jz3C&
z<Q4E>1${^d?tdlMK^!};JI-k`y-pSj<NY|i38KZo{X3QVD&-=bIFy%!(A0pz5JCV2
z;=cp(f8~t?Qm6;My22-T<cY$o6y87JG!?}c(G+A`ScBo+GRWmu@p8EyvnNY7xG)xJ
z)KaTQ%+pwii%?FyiefUg%NOHWkOzEon_mACEyoxqSa`09DkPSUrDQ+2&^-Bs<&uz6
zEc%Y2U6Tj@a=i?;K+cs4m}h(28W^`A0b-1zzd$3>^_X)K4~l5u7+Do>jgJ{uGPkdV
zAK)<I8c#gXIpjVWkF*OnqNU$k;+6$E%FQD{Zf&6M8%*|^EGe7@>oJ{v-`PXeb_z>D
z&R$#aVzSWh^0>qJW0WQ_RfF=cxz~CL4E7e!fLYsL%_6#F4&_8^VVdbh4;cxt!139E
zvya){@eUV!e|K>192z)6HI9jAM%M3aodLz=s?Gs4h_oRzA_ll899!ZB%O3{u)e6-E
zP=nX?;U)1?@6(F!=*7>IWi-X7XCV6AqJy12`|$jbT(<DGYyspQZwM26P&OQsa5yMj
znaECx!P`2*v#IfKL*k#x{}mGXpUM9{-`lI>|A<{e{%_~`UUv_lck#ntoV|bZfB&oN
z5Ayt<A_v^Z|3BY;X4-#yfD6z5&Hw*P_<vSQHUi8I*mIsbJB<l^+;!mNUPHX)B6kKe
zjgb)7r6;`x@qizJx|4BY0MJYjnEu-UaffMeKM4dT*YxiEqS909$-pryJ_S&}z*Doy
zrv<qFPQSa`5b4dOpVuTv1!JG!jhrUl&T-OYzQ9_j8l?8QJ$qMy6XyncG^YVH3FUE4
zC)m?%`Id_yH0`I&ko70^6Cy!SO7)_Km{aY^JssU?z-T7{IZEv|g8u`rk*Nz7(N&Cj
zH^_7nO!O*H%y~NaKR7N7i3#|wzujwOtH}+TW@qraTYXAlH09H&GiVpza6;~!tsdqy
z(ThNLme+yP-mN}tJH<m<ap%dCweiHe!>RY{o<Diw6wk-q4_~A6Y4_dN&Z}2yy^I&H
zUKI<u$8V!S^t9-)dgeSeo;{;-<wuU?*}$nh!vT9R?-TzC{AoKA-}e5gW4xDZ@{9)D
z+uGWZ9e-xjn!xP9-?jq!tU><1vB-z^lrPoDceG4T^i>kijFl5jT(6f&-lG~g;cK-D
z#h9GRpq`N|{(sqfw<tN1>@W<}hYyh=C0nxnV}Ha}6Ps0os_M$DSEF`%W-vfw2ytcr
z0+^khZ8Qs6RaxCRsLHI#%<AsKEM)DHl#VQlw2!P~9m%pKTRuKM=EEy#y&{+NS|%w{
zwu}*%wvTOE&!y-WEy@qcvTVt|_eMl!<fC4VM(^xy)l4?3A|r0xxDj#VM#Oy_S)*e+
zC`#Ku=@!u0hI(-G?cm0n{3t*kS+t$(tEj6m{VksU`1O}xR?=~%_CD8-e&clQf6|J6
zBbvP*kiU0${ww|H_c%by@8LMSQnY>F^~!kG4~eBzjshubvMU4WmTFMALIq?`5sQHV
z0S&|9q|PH|h{^F1<1~)R3Q0s*h67n4DRn6)Dzx0erkgMcm|2705BTqwUV;$;44?=c
zfMWIS>bP6ivvEDNp7o>{|8ng^*qj_AJAwHN8`g2LVwALsOxMu0p-~iCtqQOXEAk(Y
zPoT>%mnm~uW!Bq0+NZc$yEV)R3Gf~A2~&hhlf4X$eVJWtcH-!LFjHgQ#WE|L;&D5M
z5u)RB7#-DuCNnA#ab!-qQx5Gz3^pw}kRUSFOI&8ZQ*lJ-mX{DKq_R<FW|`IH!BOzR
z6t+7#qxGeia!0GC?Y;d*_wK#DTem;6cOT<!Q?W{`!wL_lwR*2#C?h9+!?*3nY-FRZ
z3mZ>)CfKJJ#)Y!>6o<}>lK)y4A^(|m!$_Y0g8XOJHuB$v$$u@QV|1Dtsg7^)*}$V{
zd1E@}<(W*#WSC-p0C$3+d0WQ(W~cKrF}5(<Ol0fi<!fR-ZR>Rk1t!rUSvAT4ptLcH
zE~d8i39bU=$dhOba*t2xCCp~bL4{f%`!)HO7POld8t<fwaT#rUR79sLT*ZHDD*|Y-
zNPdE3egw&Djk4ZBM+8$eFA%;^T-3o*Sb^FoUOghewFNxp=HBb?ywQR0{CM^7&~Xoi
zwGk~M@0!=JlduV^epq5r+4{uxH1M~3j=OEU$BZkMX}r&KJ6-8QG>%icW)}AvcANT2
z+hTcrl}^s4fV6Chyzt5vIxfJz@nkjh@$9J>+42oa)MuVIR17<KH=y7i=ZoISK02?D
zumD;7xz6tI-MxPA`hz?7mgL+zcl-o`=LAk7xBwoEAZ~Ol^eSMvdoFnE;<q`<JOA~+
zeIe&Ru!*f@&wq@~`hQXDf7>)r%ta3xMIYn1@9y#+4O6gJTqU&Jte+5B3x(XQ{5}|S
z1SCqMYN>!8RByZC1NgE^xwt~%`H@3-(+TE*Ku-$-M6yxbSefkhGw*nGyrm$}+s)EU
z#nLL7YUS0kEy^YP0QVz{@&V~q%_m8$=0z2-g=n(kK5T~sZBRW;{xO#{j}=*oC5kOC
zQ7elw%Dy>0YEW;A2lc|zW!&VcqckT6h#E_B@PYRhd4$8Em&#7qS#h8A;*n;>==b~m
z>~t};$XJw8xxUwm+1Q@c4qE{N*ZJEs+eSVtmMlWV9a@j0*m4CFsiKktuZxBb<bfQ7
z)l8*{%*#;TtjHgq_5a;g?IPCyTD{rM?Ejma{r^R+|EQ@-$6S%NYM~dc=5%OA2cM{(
zs-Z5b&2CP|<Jlfp6ED2QLn0JXc|MIU6l9(wdo;oe73t*+56(&vYvBcuF?PxI6ENAH
zNQ_uSIsRHK3=1X5BPy&T?x*bKS6GeXj2qXQc-hbZ9{he};Dykm4SQKj{x>c{{x_QN
zBYXb0(f_<K`QHFZi%;|delL_6su31Y!KlEcG6STJIEP6&lJD!<cqTnqa>XlgIL=jh
z8fDfjvzAcr5oH<*%m%_N96M;DQOLNH67I#j;fa@am0dbBu%UAdTq`bb(UHDcFGp$D
zkhK(j?}WX~YEi6LuDo}H{P4fL%kZ@blic@4i*mwic{7k?ZpFftpbXrxBKaf0M89*R
zat2OG;?`2y+Y()-v@y{+^YbS2wUvBrq9OYDs}%Cwd+}GClo5a(1;9?W6Uf;-NQn#b
zPXS;~jUrvCPTV$Q<5nMe(a<wA?l?nUy6CX%8G485<oSoIp<$Y-rahH4@@oBK8LXVb
ztfMY8#%eBd>gpdryPaXzrGPuWZ3UitgP(PFZ8w`Xl>X9F={ycoGR+C~l1d@{)#UHO
z(DRhew|YKsFKlZaR>6l##zyLQ6MnaNxq8GCXz`{|qe*x4zAbxbixuAYj$GNngXzFl
zhn*#&2Z!CU16u^zQS!5M9+n<c$#o|-5_K{3QfaO;xyb*2qW?{tq<BRwFWp4H;+~`{
z!>e`CyLUH)JxtJzoVUf(K)0~|9(gHMbs6y*ROf-P^q4JBjRYR1z)bm*P_y7s+0d^e
ztS=8W@@+;Zr1SFTvxc)*ih3dERBue)Gqjxi2d#+33&ezz<NT1pNe?NOKZ_Vo!3hc-
zaf@4U$<7^q&(P6Oq@{ci0pJSzaX25L486OrOHJ^6edamZ%nevRUbjOl5sYBD3iBFD
z%m;~iSEoBEg@M<RM?f~-{GK&HZ(x$+!&eM4V)Nx207X!uKPi@sf#SS`X1Lz7kePm%
zR2A=8PmoCi`<<lXFg%Tw#5wgNS!Hb|k;5QT%poa@C`(deHIjT+E=mV$m&oCZF_3lI
zHHYV|@|nXI8>mMz92PD3L<6{QsglX@@v&Ofz#2$z>#(C64u?yDSu2ARUs6B^(!)B9
zE~W6fglStTGFvjFmWUoVPpTy;iHl0Y;;GBSK@T{O;$fB1r%166JMF16h}%SFK!tml
zU52v|&do)Dju7ou6<I4`1SH>c1FRzpO?hpM*Fv=`r4n4BiD=>_tnige4hmr2;_m{^
z(E_D#M%)`&N8})EW?M(XNQ$TNBo|U6xLc9y5jED3Fl!-iuxh$E!yY&k@Mh`+N66fT
zq7E_qXm(JXWNsg2`CanwieF%_A-){>wlJo_pF?lztEVGHQ7YzXO;HV(0B7CatP2AZ
zqudmuJ_GSybQg050XdmQ@kenmO+KB2Zs_sQtGhtFCukuO7Qg?U>u=t^)qVZF?)95D
z@9o{c-^E+zw@UF{IM-SL2`iAkUwY)|nVr}@sNO$DFT{mHVw+=OPndEm)5Bi{tJmkD
zagQ86)C=!F9<j0O6_P4W6b<^UGP%ORxU3pvB-Nyxsz|9&V(6UO1M;<64W_-KuRjd0
zB4<Je$lPDhe!tVH7zbr$l=kUc0-DT&3JslubwvD#9iCOxj{vMI^2Y*yO4PT3(OX?a
z7XPtk#dxu#oE==4(TeYBTn0N|9-Qr__K|hIuE|k>pBd(Aq^~a)0ZIXRu4?LdW#LU>
zF4GbRZ0RTx7z+3cn@Afrxh28Lj)^$@fmie&v!0LM&WGM9dw)8f1mwt`X2-~SGGhbp
zP&zFbc*r*`h0PbRRzE;aE_Ls;XfM0Pu19{M$)gVXS0U~R(0a~bfTngBF9|sl4>1Ha
zhYkjhA#H1JQwz*<H;+YSxKqTEIERY4Q^bkH{<^4-s#k)CVf6UAa2;MG*Q)#G0Z7MX
zHbGw+l;S+GtMG*?-sgF02M6NizHv~Bckpw0-D+&^;#i&1Q>gD6aU{WwO8IZulGjV$
zr!%xO8CJ@&Ql8Z^t(a@oY%AwmJ>wcVGxR^BuyjU|>3IaFJXx>Jn|ns|&)k6LYyyir
zN?9^@lY5Nx!H&J#Fk@ELX74s@^-OW}G@Dl*3&V~9{$_VBS6Ra>CBc%zb^})mfC*c4
z9e70_zR<PMQ^K)B{$u8S5a!cph@A=5;#^$gL-fQ62l7>+3E3sPYqQxXma<;7T@T$F
zdy`pmQ7z^;K%h`R<8-LAL_nyK=aKI`^ks&_2chdh6j`r-<cxs7yHzdE{XV@#Eq9KS
z$eUByJ&p?2FwO_1AWLfVB1{p%%!UI<4KCW^(OjSvtBS|RLm10S$&!@yP=&b3zwC5q
z|5B9dq=lqflScj?Jn~a6vw(=q1zfW(i%1{k!oNgfvjC-|BP3Kl=3m<K%T7n0s0?h}
z%!tzmU60TnKgNi4l?khEf7nC+rBAoxcgK)QiQCHSD@ETvcF@^FDcF|qsyr?#hff)I
zb^1q$rdw=`5>OCMheOyt3vHnq>LBlMR87)huGKpYo`T-njA#Hq6p{ybAufJcTAA4{
z)WrA^?&kXSV}Ad8A^IOiz0t_r{~8<n-;2Bdtr_fH<C;P2%_3Jez}3Wg45sxc?R54;
zabzPjLy%MOa~EkUx+6TlX_tAHUN(y%>`8gm$W5qzjzqKsUgkWP`-knC-I0eTbPrLV
z><0H4Yoe?lpzYXeIBNSN2Nw(S_*!di*BaYKotZ|b(dqzm)-Ly9OHKaM$Rc3U5T0k{
z_R;JxwJzM=LG5?|&oFNC-Ns!H_7{F}>Y_<r5LPkuh80D=Armk=d}l&CA7z~;xsBeu
zVTU3l*d6lOse~92i+P-vxA8uCQIziev5L^P{F|_WP1nMywWX;&nx-h1qP5G^+>+7*
ziTu2lAnejvhf)pD&B9}e>iYo@xq^YIFn)6sNz3X}Pyz0{E{dHIIqjp1z~a7kd8)td
z`F_s>GNNM=`2FdJr*<O<?Km;Ia8Sl)LOK%R6QPpJFq%+eAy-h`-?GC4j$==6+=HB*
z{~H&=|4lQi|7UFUe=d&y8wS^*dj)u)CRsZ-!4vP|X~*A+cXTC73iTaLO|Oez>HN6G
zHCmd~1;BHDYXU+t_g1}qT8ZLz>r%adylxG)f$1jR5-%qQSaHNhUPmkb!>w|WE2vy7
z*&NBA#}=|5?oLi&%Uj6^K0Il00ioUe7QNp)b;8`@!O=7vARAYU!WIQR)Mg6E=qiFA
z8qK+XmNZ$KtWl%35}`n|O_J|(8k8xjG)KOR8ncxOF(aC?sOk-4{y6Y|)3_M@?}nM>
z|C{(P7smfhgZpn_7`-X7^ubg-Mq&G?2&bb*8M@KiM_K;#KxU*oGRwXmOnYi>B{Qjd
zlbZ;rMJ<%fiRQo3=9&z7eecNWIUzsTM+cGISH5-ZIRoZ|RUx9^@;p|29er55Zapb&
zEK1H}{<kk={=;nN{=dw2-7t*?*Z<zwe_q)9Z*v(>*k<C@T-szT&hUvv8A#z{7q8-j
z1sOiEAOpN0=T%G4z&y(_;T1vNrPwC(h)r~xi?@O-%EmK>V=813VsKs#3M4$I*|7*c
zk8);`Fbfe8gh}HPwWu!r=zIo`bl%IriQiXWUzUU3lQz$1Nm=BH?R$m%{GW+4pi&hU
ze-Dd)HV?;!QbUk~K_h`<G6x63twC`|gV`_!j+#Z3E{X;KK2*_XOY<|OU!BU;DGeAq
zXKzH87O3FdwfT2`3@&>wFM}FFIf9m33=uv}rK#nF%`AD#z}p6F0J^mk=^yH+dWVUZ
zPg5`V@uo_=JCN@-2ld~k>%Z%LV4a5muuT4M)oUsF->8|5&H8^q>pyo7!~%?0-M1;q
zi8l4oYBKV8ZcUu3;td=_!Uo%cb2zq+9e)~_jqL~Cz(ZH}74BGQyXRYO|Huxu`NsZL
zem38A2D_&VKA)8N0=w_q;ljM}N9WOwKd>~l8KjDX@d-$aN)1ndA&x@_?M!)iyD~fR
ztw~Uhz>u!-c!CN^uth0pYr;vFXEA=<#St3YMluddR4djw?c*^2_ssf*?ElS1eRKZ%
zjokm&4PpFP7MDVlvfnexLLpY>*eCTFU4I(y=&4|%Tq2*D#b%k6$OGkv+?uOH0mJs2
zor9-Z#=axR<}T0ZZnH>#!}k9d<Nu-E%KHCqY}Wsa+yB?N|3_SwI^@+bzE9!r8a25g
zI<l>S?c*MVf7|c0XveAdW-xGeVdg5X4%;>I^H|d&n4coYslr?!%FvdsdwOWE(X|f`
zKNWxFq39{DNjU2cN7iAnKOR)!P1kXUUYX$=sh?CwaCHeTI2zffpHgbNCi9qeZD5a>
zwck1T6tiToorYPGxf|qo5-(HG*|=;KGZU|^VCHfIiTRn(%??)G61kUWH(U7ST2AFJ
zokm$nWeu~M*p`zcjJt{&d$2F{DY#&yFOUO5TW$Ua(+QICxp}}6{|_y*X{P2sq?w!f
ze<AaKPW-PZ0A_V!g-7zIZ)-|8OfD8Df@AZSH+ZlpJc<wOdp4$((NfhNSpGo%#>hz&
zkx|p`@4b2J!QTA`-Ftg)?0tsY@?eNy7}RLb(<`E+@wxrIcMl#8KCC}2bsh%A>PscP
zq}{u7=Rx=8?R!v0pjsU`KAB6Te|NiR)Yt8j<7Iwla5u201Me1AgI5r-mdkx;$Oz4D
z2Rx!NdWZIhR^N`4T8Jr$s|&$CVilc3J0$TXt)e5tcZtwl^foRv98H6xe61cu4T+Pl
zn51Tm`3=-j>W3m|E6Q7eh{w$1EC<!d9V*t@1s>{z-L5d!;Hu(*Qol&4_Fz+WG`9T5
zq!fhi$oDBG59>o02V@CqIcR-BmFNfY?e279`^6Y@?$V-EjcS&4ChvpMGP~#Dp=gAH
zNQsf>?r}Nhq%H4G$2}Z&-f$S$P!r0YWgfarX%Y~Cqk>LvWw6^mPH)nf_o51AUvt+U
z<oS%G*-j&Fo-^dH9HF|!6`=eed4->NwT}f3xJUO$M?5;OT~tIZF|b1-xb(@UUkN(&
zzm5(>Ffo@X6!1XNIJoJ#I(8yzZ}re)dZevIlp!0~6U)b_>cQMbM`h4pHi1_<N3xAV
zR7iF_^sJ4Z@w=orBA4c*W_xaLCu%N78xJu6V89K$K285beZ&+*TN7PEZ$mG%M!B!W
zT*kT*6Q6S#G4;~3d5g0~Bp^=6G_6l;-{!GwqY@*lXOH6UHK=zZ#F4QHA2CD{PKr_@
zej<>8tov8#5HXe#MP!u3j$YcY9i(G0qD+_=s^r%L%jE=MTuks437=3vEh1e+VC5@;
zIJyS<5t)c~<z#D0Nz;Msyqh=oDk=`#mIg-|0QX5{HUNfV4~j`zz#1_QiltH}bR`j5
zTu$&|pJcFEoSdPk3ol$&=*snIz6Rar(VoX(jzTVn&KQF&U%fIYNn^wOkL)Ieo~2T*
z#R#%5N!lFyrBPnLsXQyWupk|y(W?+BNk*lmxD>-&EnW%cv`Dr@XUYN}bq_fL)lrhs
z(>y3bSzS_7D}=;<E~Y6+$>lhgcg<UxGh9p&QivY&*qanMc3H7-r8qg71!UVwQeJ5w
z;%|rK7p23l6v@d#iHlf4Ipa)$FV<IzF-=OmJ^aU&E3iVtG*7g<l%bb8p!2#`;(Ub_
z$~26DZc|8%K&t>s3l{7QxI!tZEMF`jsTuDWKs^sbg3EYDKHjQ@D7*+{#^x83Qks-f
zs0?laX}M$4b~q3LoFcj*--w**2h{`&B4bw!on7%0VeYb;u=gjyX;+c#lLDOV2omCH
z_n4Tmgj=8pb#jn&#ha_qn~`^@yohWO_>xD7Ahrp6YqC?Omhs&A5rh+R0AJQ<NETE4
zney-Q@WLZu%azE$U4ZPe<i4d!$t0VU()^y65I!-oj2i7N9d~MH7Gs!_WB>q_5dgG6
zOTUQfA?)raK?)x}u|Oop3yG?<ltWJlD44_F651v{boG2Tj5H!oU9^m0bz;r;u}mqs
z=8HhUP@CB0QG<hB`Wx*acE!JCF$#A1KczfSRr(i)S*lrlY2nu-xeF+|4k3n`yIg{J
zRE+ondxd`IZ)ZyRODFAXk*tu1h=l**IGVQxr7^(#Vv*0U_#hXAY<IzNVON4G&!d@G
zUb%lj>{Y(P5Q=G$Mu=srNMun}a=GwOZCBPq!fkRD{yy8Du;9o$!M&2;SxA~Oa6Jb@
zcF=;OrH7ZGTtJw}E~(J(mAeF2_-K8DJgIRR@v4l}BIrTb=8lxq4zsgB<|&{gAiOlH
z6LclHGQnOK2(^V|SahtggEdkMO1aju2_6S?il*bDh7fo21$RqC7gw<?$8;5|5bfHj
zlZzO^n{Z66M7JS}V~w0Ad^F%l8T!DWPdxu|m5UPB`GQ1;D}C68V=QD0GtNavI;UW4
z&+3bXiwAk<E14x^k^TsMEJ43PPEr_El6b%#^soW&i8KTOF(DZGR!8S6-|bM8gPG3f
zyElyYWl|U@D=wYT<ctj5VtG!BMwu*u2uLWRBEIFL77si-5L1*wkb@)!EmiO@V+0|X
zWz*4s!~k5^qmal*8UZcUWP3abXJr@<qY<B=d||-NJ=I2ILpTk9UUf#y#qgIZEqV9s
zajWw{#6e;&u{$pCAdLJ-a`U_Gnn7Try+_O<cz{UCA`9P&5R!p?9Hh33Hpra>e-W38
zqMSIKAbEy6+~UJJ8$TyG03#_S8lhDhwme;tc*VG%x-P9~YWB&L3&FAI3)#fLms{`D
zq0-cijOHmHqw`UV`aE%%B-iWc2sDNW3-vyXPFQyj64}MpJ`%(d>k}V^aRD-hwCM0`
z|3FJ|AM$LLk<MVlfG-pv6tE6;vda;3v0ae1a2D`2KfA5PQAUh~PgtC5MVxD;T((R2
z=kus7rXFN+dU?Z$v?R&q7L-kw=SEp+Y_7Z|F`^MpEziYTcRkx1>0A()+W?8jeuZMO
zsy`*yCE-e&D|GbvDMM6`wn)<GOF5&+$3j`6SvttuO2bG+Qi{bQ>nDOHL@_>LlIWMC
z3BOA?&2<~74B6e>lPQjfM^>=nuv+XC89&zxv^nrFI3{)u1;|W-LzdzkBKyrbUDNWY
z%m*uX)3A^3zmfonp(aNi>rIEl6wOdFiF#N8GH;GWTPr>puV%OA*^<fAb*?KEv8#xK
zMLbHZ)-lgg7iuBzpg}Gb7r(WXI0XA7EE^ASalIqbV@?6MbwN}ZfSleX2a7yI75|LA
zK~d}h=mxmVgp{?LlDbMsc!7XNSf+QrTCPO3D@p=EIZ9fJHOU%3m^yaY$q^sL5znq{
z%2kO&B~g=>Cl?On0THr~D}#8SPm*E`y_^7*k{jn86eQZ2dq$ApVsYlw8IiQU6L$bg
zXGhn*N_WSi9v?lbl*mU8-@4H-##15<HQ4|;A-Zr8C*tGqB081OV&JeNCu{SrI)2qe
zu8pwK)wyW>AL;;*Xr5OAV2S=uqh4#I@BiDzCjQIC-2dl>1zk@o0CfSxSLqu=lL^ZB
z;_3p?@Tv;+61l3x451t`{4$dl{K#6~_JBJv*goJg?BRxFis$&Sd+MQF0P>-%o{cF!
zmvq@n_i7W^$5Aj_6qD{!JDFK+b{MyPAX|&i5v%#!9(ptU98|}@+(RGWfuc4Lw@JDH
znd=k;#C~GbC_@C|&R(9I;6fqqR#|b6@2pD63;OvEMY>$&Vpk<`^*;W6V+vd8<c%qI
zSFpP;bt35ONRpO3?~6_Wd9j?nRRHe2tM8TH1)-7_&RyZtDRxK#Y(gygX-v;5F(i?X
z8yHIuLYPoR3&kUGf>OML5$htau*}B6;Vy5ra%Y%Zj35^!!c;E4B`DHWkZ4YtB$3pT
zqRD*mM(NjTzFI`ODZv?=5-e;=kZy|DC<NVTpkz8)krm=rlv1LwXsm2wQhJz+u@HvU
zdy)nI%JbWm10&r?@5F^+eApd&-XPOwV%NN{PBy7g6m94{^!&&2ld}lVn~W3}0M=Y}
z@0LqG^-Lql1QNPItM>uFkUQ6oxFt@|@C;MwhcOQt7DRVjG^PZ>lk0@!AzT`nID9wS
zr2x;q_z_@?67hW+IwRh*y!b9l@aFrxrZ_{@8VvA7%)-akW1DBo;q;{yi%N8>*YDmw
zQ(4}?>RtNhOc01F)%*DOOy!Z1)py`es&sUH3^_&rb;lMA;-ph>h3uyxow@O21<t{p
zaJFlfaOYYSosVO|L6tN-b3nm=m+4&s-0g}Ro@oDqoKDoaaTfBz^#AJ@qW@nv+U;!o
z=Z*c(h3Ws-YeuKpX$tA~Go5%{w2Em}RQaZtc_SgU)_{aZcH_t$?L4@`ad*9DcIq8N
z+xo<kT}q-p1vm0piZ0>a!aElpRE?zV3<t{;Qg%90&kw$Las5tlJ!Da|Ig-U2!j2$`
zk(Ov|qP|vsftXggWtY_#+bU#AilTLL;L6=~X`15CEAvW0C7r9uzn~-CBod-*ve)Hr
z5soQNR~?5%-QS?@e{EpHRJ20R=Y)_)N;$OTXh-7(KDZsjyFxxdBQ+ST*e0j_bOPP1
zYPUmn=o~{Dzab}Jv2t5)WVw&UwM4OA(xiiVUTw3}&h!Cqeya8PjkkoGF9fvnJb>b;
z%T^SZIXCFCtgShxwk`JH#FMw4A~u4kgaQV5Rk9tDrFa7*HCoVXsljj>X)-TjB~*}q
zX?Ct<A(;6PPE%^qL)K3#_~cj8nvW(QE;n*G*aAdS(~EcJmb_c#Qm!<xR*b9f&Tf4F
z^=)Nc-X`DQ!FHooi}(<^W#;2w<y#m$r%ZpBic-87;ByzfLwnO;G-L0>Vi?&g@h^=|
zOXVy%Zxyqq(>#_V-po2^MS&FEIA{7Mk^g8#JqHPJnf%u@YU%UeT4Q7X^$oTE0>*G3
z)<ou8?tpgVry*CJAw{nWT6?0mWDF94+MY#T(spq)4JfJud-g}4{rQi6ls)^|XFvYY
z4}J85&%Vl@{mip3J^N`$_=#sf_t77G_H*o`AA0uXGW`AM^B?`lN52npz@MLf_7|Rg
z5#Ij@d-mty$Cp0(;b(sVo}YufKk?BQ*hfG5(dVCi5utv$%AWm6NJBu+z6d410%hQz
zFG7YNfA;6FDh6M_`s^nWnV)&~(^wN?@g>OgQwaS_@O+h{^X$u*<%>}FSE0;LJ^PQ~
zU#JwS_)`E3D*xyYLgkSBWq|RM&>Db_*!(_#_IW__&qA)Rz<*yQM8Ar85h@}2C93$#
zh{b;l`2GRF5XvLYpNH~44nPI4-wz1<G&UUzL201Jj{r<;=%0aFegcYPqoB$kq`Y5=
zaR2BJ!22%)SfuV(k(AH|{QVOQ-v0#P0T}!=!1-hN^+%8_fDU2*L)bn*hamn8<oyaZ
z{i83G8T6YV^_O^G;ClrAli0kkz|WthcK;lw72@^#DG^Ed=P(yk_$MIs3q*bb1P%RB
zPCec!U&PLZ=KK)R@k`Hss)|FeeT})6kCByejKM0(Y6de|oi$jKwOE_&uxqTw&XTs@
zzIH%W>?EpS#kVa~zA<2w5BSh##dk~RSu>>l#t;55)?Lr7x>1Yk4n*Zp0H2Hhe?FS+
z*2f6V3nmGPLg*i7i|y31)H%=5!uEG+2Z<Wzj9BwUk63KFipQK`(f&3a7Mwiay7&JR
z=f&Rt*IUi3|F3p!6aV95X#Y<RHO}|iKfd^it?@N&&oC5|{`uF{@PkJw(Btd*o73@l
zCXG|P-urexR3dbwEZ#$koS37~%eSzK?r-MCbEvx6jKWqr_Gl2HqTKzgq#-bw_C`)$
zYA>v=31A)DgKiKG(13fFjv)DudHHPLkMqHg+<cL(R^rZ6F~^cOGEv2fKZQ~{2d^?W
zM-F@$r8#N#{kY6ii_me!V<7&1?O-1*yy-her6iqMe2ppO`tmq3!YyU2QV`&ADYn5?
z+bxSJN(D<puq23)?V5a&WV>bwVY0X?;}nf#(`b=tY=jySEXDx!Rg?GN7|{iN_H~oC
zd0D7Ku0Y%!;Dn3JJ-c`;n(#f4)f3N|IPv7kYkh<hM@6Z(%=Y!q!h)h7hz`orl~D3y
zZ|Bf;Ur*qV&=R`BWNSEQGGxl`EA<`BMT(;x>38SeyORP^5v#^_CaVG7rw}>O{#e0x
zj&e{bq4S%Eo#oDoc(jgZhe~r6+PuZ~nOIVgOfh~-8GDvW^G066_H)_5lbQLrqj-P8
ziyv~0a~N_e=4+0)WYJXzTw~1vm#767ULtOy-7Ayqpma7en^-aYTYs?>;tdyYMgQ`O
za}jtRl6_2PXVTz${^YczLRiLE(fn>zWildfd&%@s3(TEAD7>vXDtM8775t(J(_T7Z
zcy|yfxpnvXcXWS59_Uq^SL|pgneFGO{}%MI<AMO?4D$P#%eJ?97Aa_}*rm8{j@X?e
zaAyVY1<d}%@%d!4_*iWi`Wd-bBRR@>h+M8qIcHQ?$#Yo7C&9w`A#A@S<kG^D>cW&M
zm^Ti&`g8HYY+~<mZ&~vxkkNs~Jcl&aGrmHkjpn?mu~a*hGu}L<L{?j%#Tbji%QFGI
zR3<KAE0kKVA^ZB+3D7XPg1-|hN_P8JjU36967DMI69au5h_;pUbzaw_W5QS1%dB3l
z3q2Q@|95CKe2TrYn@Gpa-P>Mx3-ypG$6Vef_9L|e)m*fo(gz)3cG%vvn#l^KZ$xkH
z8OF!Hi`wTxm@RhKBEs{72(%YK)<9;Wuxf<<6eI5mrI^4POZS2+Q&yND5Jl(B?Qc=~
z=CH%ASdFtD;%>WWClWds*${mgkg`bHQa3XFT#epZ#seK?*8^sSq3`sjp&iU8OKfK<
z(CCr`kX#4k(!UBALJbzk)a;sHfZMm0a}D%Y0w84{=g{?hTX+ampvB2+ffEf$wJe9+
zQ<p51Qo<gJ10J{9j=Z1Xo`Ksj^KVm^ocIi!;ZV<0w%3K}3}zzp9Q=X~TDpi;^n-gT
z$%g>rErd1P>60JN#Nn#2wn-cCdoU$o<iXs;@slM?nR$za5CVV=M~S)2g|<>`ld{XM
z_~gRRD^p#i9FoGMve2FUG6_1{YcS1iD_pCilg?=t7(MLkGDxW-+@g}n_kt2kZW*~g
zA(lycPSX$8Le)O)kESrZ7vWe9j$N$i#;5O-FQMKOpZ+~MT#P9O0l|#jE=+w3xIwo|
z<wEatO)O*I0{i+)cz(ZTanB!HA<hdv3iP!~bECF0E0)f{JfN74p10}l!EEU3!5CYo
zbTrU~<{ySfW!Ap7V3APxQr;;TnTT{@e|JnfP*P=0%~WwtjCsVmieEEE;qpD+??{KA
zs$*xEliLIPc-x(hMmRC!>Jp$bv2qo~=()?3Y=f{XOzdRy;^C%nR$7?5^Nwkx>kIeW
zyvx=aBT1&1945)D3w_Tp4Sro^*2TYK2*pDQ|7q9g-*=m}x}LdwnBTNYMXm$q-Nwx5
zFRg$K&&<$j^o8T2?-9ZDRq*09oEa~rsx|P_%j=-VV(KAxIU|-Y0z-)wi;+DuhB(?^
zAdc^T9B^D$NT0jQ$Q4wPr5L7OTEE=8#x-M3xs=3|tj=s0`kL*F%*SEgyr{M=!g)bc
z7gzTjZGCrzwl1XeH%+$|^;>jJQd-{NrJ|Swbw-J7Ude?NyLA>a6Q1jn`4(Ozl@`c)
zLT=BPo}YQEzo0=;U3ztU=y}^c%U_WcIVHEzl!R1p7To9LL%{vVN~BZ^(QaeyQo*zb
zJF~OYsBU)FuJ$<!3yf0`*6XB!Zw<rwZC=#7P|BN5&Q?%Rd*OKJ*B$3J+PBzEaUg&p
zS;$+Uyw;dYbv!D}In+sMDX>>qqqHWB)LkloFltNAEVDqAi#oc|P}+Lma-DF-Td3vS
z`$g`t`8CtBHqO0k61U>QaW=OmD^n$<#YM2{{n~+Yn89zvOJ~70NzE6DY~uDlIl4Sl
z0%WL|m{Nf|=j(hG2s%1+L-NdezE}Gz<1SYEeURV|zM0#>*J5bLyWb-1*aIQ)<Jgkq
zl)($;vre06=q>9qz8F1kOE09;zI9q+7$4KN%s)(3+$E(Ich4kW3pY#MIX9oG6DDo`
z+Ml_bz(7KNISqb+^bpP_b}pDw4wRG@&sz?3D2NjGvTmf}5FdHw^EqCnGES+Iz)S1V
zKwjQ1Yk1VubZuwoU0J8?@2-sdBI-XE0dNrHwrQ?3EiTm0OQg<mqrOxphZddr&eoQz
z7Ufk{W(_k(5rqn~sBo-_!e3mMSKD*7P(<~SON_bI?>EeYT%UN|sq5t3&P0n}-?xGz
zibfK-;(v!1Va3P^<!R}8bSR^S$w)E!mKy2>>OQgpx~Jti=++EtN#E*507MWNo~x)^
zLEmxo^-hS=E}DhQ%X}aEu-6R-4&F%eSTg$@frW<|&!@$e)cK7OjQ3foe#VP03UPd%
zO0O@Rj{3vXS`A|fB)H)sB^!0v==W!^M4!_1AuU**yOVN~es^|v27}m)G{7vT6ikLi
zkuKSHS%FZ+P|T#@WvFEeS|XT@{%OQ*IT|#Z>eXg-X`P0sGX`8(5ZP-HgoyhTmZ-U@
zI&M)&xcQguqzQ3{yT`xc#}Pva3irf7DiU)6h-zbx{iXArC&q%sXzEh1DtpjH2bd$f
z`@z&ZpQ)3Hc%>zEVbC9x=M_sBKqE<9UD(=@d*I0NQ=#xsPh>qf<Lq2zI`W_yt4>5M
zXZUe|82nofKh%Pz@dpWaZsF|U4mw288*HOKcVtG8qe-<$!r(D8NMz?K43Hm%_?#o_
z3-4GINwaTqQXa07i(ENb{_3?ITpUkN52D4h)GV#b_m$C>RBsSt4};UQWFR>_i!hlw
zKDZk-p~=gXy&lF)iiVB8g2U##Av%9z5OV0NDt>3G&f3Z%jGA$VIl)(%2X}7X>4*R+
znPequ(6@~Jzi>nQJT3s1_<u6%4Kro`Z#K;O#{T~zK9QZj7P(m-PiO?MV%jg9|4w|b
zZwCSASI7s@F`!rvMD$S(wEDI+wg(Svgk<?MvI8I3BRdrS+)K;~*ido1T|M#9H*f?~
zQ{&g<T6#%bq<%Hmr6tsMht>Epz{73!*gLk1GFA2BnW!Ol{Gaf}oNLjaTt1I2*BOm0
zsmF(N2^eC=o=UV1TGB(4f7QwOfhIIsb}_74tGs76)R<%Gle>r{bNWPEU7KaUfE5<X
z4E}8tGTUDgGe`_LkH+z+bJ#%fE!oO%Tr)%8!d4!3(ck5HcH{-OZ$baPfF@?Uv-}O~
z&yA1Av#$SDkfdPG32T2fIGH@>`rnxA|A&@KT>tAWSpD0y{zK|!{lAD$ulDKNZ?T;!
zA^cBYy7ZI5kA0^2UElc~_1W?!%a84P{i7A?`n?k1c3`=Ko_C5~Za=URzHSrV=lS5<
zOw!F~^LcJQhpxT8`%>LBXsT}&KEZzX?|NrLm(6GM*?cyi&1du3d^VrWXY=_s`h=73
zxb!c<zrRiV{xjm=?@0Z-`D{L$&*roFY(AUM=Ck>1KAX?xv-xa3o6k4z#~NI^^o4)w
z(xvL<OLYG)_y7O!cV4>mTk!k_JbxXYzXs3O;Q7n&{6%>FeR%#9JpVd8KL*bUJR^Ae
z@a)5L51#Lb=O#RDcv|oj;rSQf`5o|lH$4CNcU-#kH{tmk@O%xPUxeou;Q4uYz6{U5
z3D2K|=MTg4L-70{Jjd`j@EpPOS$N)q=S_HCh36G`YVd5q^UuTc&%yK0!t*=f`K|B1
zbm`aN`2~3X4S4<pJbxUXABJZH&qH`#gXeqT`EBt0#&=!1^sDfE4W3_t=dZx?^YDBT
zo__@%AD+*`a|52&;kgda4m{iNRN<+>!{GTYcz!!P|Kztrd*S(e@cb4$e;1x#hv(Pe
z`5HXG0?%KC=P$wYi}3scJYRw5&%*OXc>Y~@egvLB1kVhfNATQ$=XH3l!&8DsgXc0l
zm*Dxov`d%%0X%;np5KJ$Z^QGq;Q3W}z6Q@P!}Ck<{2V+#3(tQD&riYg@4)kK!}F)%
z`J?dsYw-Lbc>ZO0J`c|f9v2?ea2~+Zhvzf!+=1t9c;14i1CIeu4W4ay{zZ6xH$1-!
zo__}Mg0c3S@ccSFzXZ=$;raLA`M2QtSK)aI&lDa9o_m-1*!)M|31bhQU;fU`oZWmj
zpUr3U*?g4GEBwQ5Ij8K%atEl<j835T>a`YkB4Gz;)-$k&=%T>!)-K=%mxKm2{<cRm
zw#!Yt(Kf&tI(@Qmx)k|Vh>{@R=_P5wc3SFO+Ul@7kFD7y;k-DgPA3B^w2L1;Ek$Wi
z=)<RKPRF$es2)ABeX1I*m7@2_3S)~hbgvy{;_fuOV(F5D0a>_%By`N7cf07rt=rW*
zKuKxg#(}cetvHHe_U$czm-jX{p-ZQ7Grj~;^o|#y0$c2cHy+z=$m*BWU#9xQ5O96R
z4KrW2Sf6K8-(Uq+4o0@9^zAzj_B!l)?HLP?9E#^-k*<8-3V?|0*3|7&cRsQo;me*q
z@=gf9YPHHvj-37x3nrEuFf>Ev24~`>#R9wUxdU`oY90F4<Op6|hu>5Y^bx?5fE4>p
z*@i9lKq8bveZZTeG&lLaPoz%0jY%#o0yx=)cK!|7vG85#<t*J4S}LY9VgO&taRH4X
z6)&ldT`&O+?ciVE3O&CQVdUDUVNoWRB~Yl(CT9%{4T-qjD;2@)m(csPz(-Vg0;God
zl84K%_!8P2loIdy)@aln+7{%nrB|>x2jV3lio(2d?qQ*eeHj%VigzMEOvRz3?|pA<
zGxV)MZ9^gxU?)6El#U6D5kjK@3DXfBbBwIMja`bxV{a~rxhg1io6NQpT2VY!7Y5xa
z8s@rDBvvS_k}&G(C=63kwCOd@g~HjKjPYnnO~Xu1K7u&z?{zM{7656w5ouPP5ev{2
zSj>SUY&Vm0E5AAGw&pWA98Tqa`C)gnWnyTnmQZS01WvqJWdHH5aqV2x@0ZwrHVw0x
zvj40#n&!s-<03vV4$yC~7DrCIOp7Isc5b%~A`sbd8Z5MW+Ez!?G+7A6kW&;OO!iQ_
z4E&sa)G1cHQ8OaQu^~BSNZOUxV=Hi`xC@zK&PECGL3dMWkWsZ{Mdm~HR{+C@v0<4+
zW+ect1JSaLgUN=OK-ys-Mn;8u))PzyZabOV3Qma}07_x4lvjHMCW1wtLH3OUXoKwz
zx_xhi&`3g!3GN+Ja6jx<qAz9Pzq`1GVqJWJEY{G3&M=J}!+wNPDQK7F`V<WmT+@%8
zU`oMVFs)F^(u^Aok39FVI}{=n$)Yiq$ClrvxG?x7Jn_VrBaGFZ$Tak(en}45q9|6%
zlDX)6C+uZb!yY9I!m&4)j_e!gD}lYd%kZ@vdq}tiS>bhwsD!?wSmZjYShy0DuLP{Z
zt^@^)TmvA>n7N#RQYs~TF{eNC{$N93h{PSl=}+Cx<4G98dj=)pZieQq#dMxi?~gq4
z$I$bw{$m@XxqH*m0OZ(sri-kF&|~Dn1q4(p#9a}_0fR-~#qy%(3j&TFP`!`}4NKB~
zi_N?#JF$RtFl0iCX=9C?Ll;+3pp3_+0Y<q3vDkJ4-c>Lgs<?9~z#J%);wcrS<D@7E
zFA$}u_gP_P2ZeO?z|uVCJub7}G>qv2ts8kB`h<9Fvo~+wzq?k=i|a&47UwNuMD_4j
z!Rqx%NH{!lVykUdc>nQ;ja{!0PdwV#tp>B8Le(UwLLM-L(=j_7V5i>UBM!cp2%QI`
z0nRZeOic`LZXBD3Vo>ZgYkV96l|7o}taxR>`bV(y>4z9(5~l|*g-c1IrBQP|9$TwQ
zGHOtiKi~Hpmz>p=+1<UnJKfiBzfHZ-ACte5{YCi>*wu(*@eu0hZYA;)0Au6O4k@5m
zDO%uk9VSF%DJ}fz2$u#{kMCSCPolRVAzehfEX$CqOk}#SQ|#M;CQ73$hTl;D4xKT2
zD#4laK1e69w}FWXL-x>P?ldIlmln&`fIwmU0-Ox~!qoDG6KvRkXp9f_v2%)`01Fib
zP7)3HowNkU%`Aw4_?o|<Zanut$gHr@C~LSL_J&Fdxiv=GL4%-kAQSKsA9;{wAKMt5
z(3>6}5pQz64=gF3qcBgAP2tx7<LHfM%o@Vjqnv_XSnpL@da3pgtTgX(NQ{<IeTiVW
zLc?#)2Ph?$6?!A<h|W@GwsoY#nB)okw+l&fuxGhC&QU0ULc4bPvQdUVW+|IhDHK`p
zV>B{pqJJ6rfp1$u_5A==>I%CKWJC8$=+PA&4_bY44#d~#D%#;+R$S;{yuy8`daA$e
z`F_s}VQ;9HDdE!(PwfUeaf(w9;z@E!?wT&^z>9S40N4A?Y2-J}XVLy|&um}B{?Dj2
z>zV!E#{bWS?f;13A`c>tM!P`bgl5}_lN0GCPtVB@+>9}!BYxMT@|Q2G`Re$mK`$@k
zx^+1T#Nsvfq68zIAaa;8fg@$GR6d?;v1D#jqopN-eVv27EQ>cZi?EB}3AC|v3T+}G
zovTgdX<E?&p|ivjk7Z)N%mz^-=+%jQ#fs?Sx+LB<lW+6h@i$g)WQ)y3e%>e~-ztT2
zjtsTP<MW1De!KDiM(twwf1^$OA7+?gwgmrgZ212L@qg%MLyP>tmC-+B#M3hF;qWEr
zKf$yooHa=nb{7u_V8?a)?w-gqp78@`k>RZw-7WEVVpm<Ap|58(*L#q_^T|pD82K|(
zGD5f8#S5G+3Zx{C9%xD#CD$?RL-E)Na~2wAVNNz{3Ofv+=eqBVL8yMi8#_<z(fj!&
zB3`S!TgXylU&H(aOXmeiLico7J=FN8BFoqs*ci6k9s^j|7RGg<i*E4?$fNPDHMLLg
z-MfGL&fB;bF{&`f^)&93OG$!taF-bgSQ|$9?a2Sn$ph08{$H<~-2Z32-GqN2-878)
z=KkkG<$rlG81p9iMvE^LvoGh|N-h95uf(ESB50a=)v9IVkwiDNntFMgn=!ie)fQb5
z$2In|fHW1#d<dyqZB1TxuhE)i&53U07owZo3gl}5%w4at3I^JW`U&E~C#~S1%~OZa
zQhF2G0v!u&fo_JjRI@`{pckTL)kstl;$@kZ(M8dgsjp}YwO_P3Ix||nij5$wm6$Wq
zSM9BME~RvOQllw5sO6|jjHAq3Uil#Tezh5q(S6e9sYz*zl&c7xT&*l^u`(A&-A*+v
zNlO&Aa;Ks4MtoIt($pWOrv9q)3SyEcI9wk069q_#F28>hGcoZtGf&0a`HFv9q#c-K
zyK|HZRm}4=6V>;zKBJbS@tC2(X-VNY2_;Hx1^vs7sCsVl-v|imR*dHs0GG&rHM3qz
zo&SRP*WSo~7b5>9#4*w1B#;3s$51ICCRE;eaBGLzF3+V=CIjzV^}q2q|JL9B`mg_;
z-}oQ?$N%Yn{$GCcfBn0^_4od_|NZ~?KmYze_=o@ZKl*?E-+%m1{y#NNg#MrW#sBo@
zf8iJZ(l7n;U;fYj^S|<6Jp1Uc{>s;W^}qbD{_Fqdzy0ri?Z5wPe;qfkeFR!K`8$P;
z*XEDK{?9NkVE<P)j26HDfy8#J)~5Ymb94T8A)n{f&WmM>gfd`4drn(ZVK0WczMfuE
z)>%zAFHzsBDtSsp7RAabi7$p(7fNa+y7Je~Q#mi*1gxN+r*z|D6+KN8>P&aOuTTaK
z%-<JM(a8#NewiJ_wgm;EB3yN^kbWBjvMSzV1jM&1;gRjz0$5=%9pLvk?~y$kd5bdV
zWzFW@Vukm;BX?;@wcvW$2x-{rpuU?_qLnIi1AF9*ao?xWNXyfP%qT(5kCPi~N5)!_
zq;10XPD9^H1Yi=nF|Lg#_m)4a&c{H@)y352*Qi<k7>}8+U%yUqvg8caUw{4eWWtRb
zH*`(w^?K`M?~{B$+0~qCrjp3@p&r77(K}4d9Z4cesVEIgKNY11PCqOnfZe>}ygbwt
zSmA2uJC2jr9;@fWs)8_zb#_&)rIGyEWLH_Mq!xhu0$L;bM!8^US`@Q&zhab`S!VTk
z+%(FpS!S(+WS(Mfrc#-;<HVgZyH;j3C^>`yQcOaYB^JFDzuILEivKczg&7z}@Z1%G
z<Li=0Cs=zyionE?pGOy1(|kLCJu!}2f~MnDPDhD=r^7O&m&IEp@d=J^T#uAUbWb%N
zj}C^inAqc46{%X}#S4&F=&%BS1P1lA%(${EU#Z~Ta9Fh9BLVjNmMRY%A0Ml1XkZQG
znhN7(I2_8ChlhuyJa87w_|-rwg=9@pw9G<c{YtPkp%^(C*{J)7qoGhnt>j2~T3JBV
zK;Fw$s3W?sq(vPqfJ+pqqkL&yYQ8>hU5o~GG+l&3^9xj*&Qx`FeQD)Dlun$^q9&aO
zW4SVPHc(ieK6Hfh+A7gfzR*Y253$_ShvA14FTj70FXF$rIz82^AkD$>;zJp8?uHl;
zbl*JKuO0B|0_Aq$;Xkl6&*D6>tMG;R>^?74I}k-^<@4={U*s>0gHkMj74<8X_5e5=
z!{d2zUW?74Xx}9r`JI*s?o{Pkr+%>i*q$A*ZDx<GNnj7k41Sjv<t+)ey`DBWF_#q;
z!qw>4OLW44pON}Bfc5QaFzpq6{b6_&7_-jc56`>b?{q2{N8Tvy(>JvanFZEqqk{pt
zB7kB<tqU~?P!rU89<Aj#EupxaxZ#OU^f7xBO1H|ddXUiqfQ}Hdp#+`3!$6;+Dg(6A
z8le8!tBiFx3yLF=jp!z1#AwcHCr3bdp&Tu)fZ`t{KOkP!5mrAb&WBY@gdRH!)boWM
z{YqDoB3@jdSnu#~Z2el&pQu(6J&s9OhSe5iiH7+U66Dc53c*#pDI^_p-cTJwt~tZ5
zi}Hw$y5^oME;zcV7oJWV`a(2Gr4Q_EUMJK+h|piv5wW>wEW=>_CMgHCJhWB@a6b6X
zrC4sAOX)Tj5rX*~*sOzy2LF(pS?1vaVKotwtu>k)(MW@QJv+p&&AQnz%{rzWTH`S$
z8L;zsnrsZe`N<iP&owI7rf@lyq50Qj`_^nD$?LST(wdJZEn(N|y)T2FPW=Eck3qom
zyUsvv0CfBf5bz%{xq>MG^=FWX$cRLs8&-t>aB{vF_>y@T*xX(ZzL`&7XnhK$Ma9ZS
z=^_x&$v`W##uNDE;?_<Vfht!-k9WL4lJ>rQ0MEL;Sr;}supbPHiHMglkq~dh*%<`!
zw8AyMtX$yx);Q>f9*?!Y3sdC@YzpkK`2Fu(fAjXO?(6S$uiw0RZ}0y7?%nJ6uD?}^
z6$JRbJxCJ)sY-xY(wos<<;3m*3O;N;SggyDgYW8Sral*gb=R33H@Xyl738eGH=a;z
z^&cpj&HY-XdGI+C{%L^NT)B4ex&4}P@G5<!Kd+V^R`ogP>)$K@zDFk!wjUOyaB%(l
zb)w-_+~0-Mplf!yBqt;h(R)G|2@bhf_E59vgr>vZ*n3d9ap&z@x8Kkv)@<Zi10j!0
z<e=!V!j+;kDFwVjoM5=$pk(<2Um_M)WPPhu{!mk@KSO!?0e==i!GS(?9lReikHYb&
z7%2KQo{QUY8f)=Bj(zgwSM&mp98Z>_0q&T;_rY6lRsw5i!-)J~YP)?qs1h6r#I;Yv
z?vTCQ^IySTVpVpM*k%emip2nrqjbGg6*^W${gb$0eG<6Qr}WZ%;ROZ1sK_f+<S<;l
z#LHA-w0enxUceGt^=qqFQqXyk#_B~L((;Z}gKs6il8T7+Fb2g&uBcZkw6BD`y#IIg
zAjBZYA;`_SBHxicn(P+%E}S;D%$<&Vz)id%6M8VXkrLLZ0h=ps;{gy%FLz-1174Dw
z-r6C9-E4?A@6_=Iit&q}AP(~EemWY_B}86B?bH5fN>a=igpXs(-_<9mE$+L49x0;j
z-rT!&{hc=-boV}U<IQ(&?#(BG0LO3>Ok;20_;w$N=fF>{mL<=(?7&{o0tzk-?M8Nw
zXJis7RunjO*cCbmnFk?-G9HKL^{}>HFD7rvvYnMn_;as#UhTP=au6c<5i6xV;^KOh
z6Nzk%2u#3P1|~X0$bk|8nXU|Fx)6-NIvjrypx(-GdJDm<j!!QipMkt)qSOBJxz4ud
zoom^dmW%E5oY0+K5Wc;0!nb!(`1<FCu>Zm_*3Ng?I5WN<PejZ4$QIM9aD@KtH{QN;
zZ%+||KHd%4f(ktL81}+gl@+qFb9fZ8Bh;FA87f7*`dm%l64zU}gCJKZ+|LOL-~7%E
zkDs;B_ols(J@jq6dt?Pi(S>ROf8nL)u{D}Tx*~WF1Bpe{+JFtM(|-&T#XE7?&^u-C
zPsfvh^k}G-k@aN82Hqj-*+Y;U;VVk_R+@?hwDj-;q*kG%RD%~C`~onv-2rV11Z~C$
z?c@l)&Ah4Z$9IT`S-ej3?F8OMS_qG>W$0pX;JJFpuLl8W&$q3|;_k4FSHN2!Y<j4b
zg1$fOiO~NUpOI8&r&N+o1sG>Bp?Dp|RR|@(6mkhx>a0m8q!8-%yTd8J(4B@6nb7Ef
zml=43kR%z|@>~ST<lrh~NVPhp3Ufx*`g8&T^P7X?t9;|*f-#%F+XBRTuth7-9a(>5
zTWCQcGzv~UAMfAozJ*u(4!Jdg{?6MIz$o&G<qGY=k$r3@)bUD7ZUzKbe$Ly9l@HU^
z8xA~HSC7<%c8EM!U->*eI!ql(dzr{sOWcy-j_Ib|n;s?&t;Dsqu4}i4T-$=kPdW}L
zy4z@;2Bi+kLHIPBOv5r6g5f22WzZy7QdiJ2zH0f0$7EQ>m+KGH7KsL){t{nyf?#Sh
zqrRhYJs-m?W9BgDmK8cxUbf2RR>C}pAvMYQip5@Gz4(r|4?o4J+}QKF*rcx2?RzI^
z<)e*fkP?t07{@`?+=>*p4m34mMyV{L<HbJ*idqx#%t*5fnN~Nn9@{||$Th`wh(V}Z
zI9z)8r!Vgf2l$JI(NL$Wl69cw09^Hxs(78ErMQ31T3v(LW<`rdk$cG!RoFwlq^|Sy
zlCRuF_zLe~Fv+*5h7sL3^PG@Pz~iuD^=<h+Ld0ljsENb-xm0~(P2y@z$e8;Qy^zHY
z$|AEt`_vjwMs}A#o6Ux5YAVhv_g!y*$Ly0?Qk}e*p`>Cfnt8XyZaIDsmbuaq@ILfx
z$GyD)YXOEi^?hV_{Uc{IfN#|d1k`q>w|FSaaT0lRD!a!~!5YT-pcG^gpge{on8_o{
zQgY1DG8AjyRHv@6n~O`84g~)KIl>uq1(AzMB_)Nf!sHhgt6hSgq%*44ASC2_$MJy?
zDTScd2{soG+140>pd4DF2E|k}Bdkfxd=9Li1LLLGaxBrdkTW_RxVf$!DD%T;02345
zHa?-{2zh4~<IgC>6BGDQEE*AvYxI#CA5k)qr$$AD=Gef-`UNl0<Ex|bV-Rv!Wx}f4
zANHm&YM*Y$?~Wmr61SDtSBk!U?4Y-lQm`%ICG^hdhygS2>hzDoF1I*kf^a$<3MH3~
zY1cQ6{TF$doQBTmIZeQp`G0EG+bR1`(=d#U{nv%qe|}<n8u;5i$KAHwV>X$EN1i*^
zNk_&V)YNrC945lwlQNp5PYD+}#mISLcTxQ^worcu#uXZv-mn6@D8W=^N-1`wK%+1P
zMY=qVb_*vcZhJxX&<^1{u>FMkL=`H8MQ0CpH^nq49rqvmiZh6%B_Q*fC2$d2yB6BD
zQdQ#H8f_wPP-iV!Mtg&(beY>9tPO;b;wgJRK-*Ao8%hC6PqwSDJXxvjW9qXXm4NDS
zR9s~`6<Vj(0`R+j`JpS<we6P*i|fSvYJI#A*7;4%|KF`&Nc@jl!^nyMvElz0<^Kt~
znOwt@^A?+2*KlhE^rkYh+{ZlNN1gkP$6O~Kvjzi-i3SokI-;A!9$7@z2Kt&euhq%d
zJbl3w*R#Ems0fyUP?+1`X^(|!Gw5=h^KSkp;Sb#QZLupjBGVinq-aeT=wzI<gOt8^
z=a#0Cyw1gRA+aB$y$m%>G!vcdkR$eu{Fj*j-7Y#>>2{x&2`rocI9*cyKU&7d{{I{A
z|Dj#K82(>tW&M9QH~oJ>{2#j6=)iy45Y51?ac^L;(+)G)OYBrr-m^W^Y~hzyI_FDq
zKC{yl1}Y+)6dlClsdiLiR%TBW@Z5JcitpsF3S{?Tb!@{nWDphUF#Rn`(KX8X;Ztq6
zuUq;-0*zDl(o5)c3v=ur02E^SgJL=dYz`u@u2=CU`nU0s#G?66`@Txg8^757f6XxK
z8UA0}$bT2|`K_;fb-g11jeK69ec;zW|3|+5g+KE3&;JKs|NNi+`WJpo$J104xi*Jt
z-zxr}%;rU`|7Oih`+ur6>b1@Mzo_-!Y#Q_@^1z4(H@kcR7l&-HJ0fpz^1fC0MR0|l
zvV%TJ`y*6@fS2;ZAqshjumxQ19kP^8X1j^x)Vov}^fZO{mA>bNyQ~mEw+sr=YY;)q
zYpQO%ybnfQZM=A?aMkTOx4Ke8KKEr|8(Ika&~1dXO^PG4AhgHZcyP3h8`N#I-;Mt$
zXu+1axe{8Dd)GV+cAp1@dS^#|F=|9!By3r_x7sD&E#j!F=R83sj|X?s8HJS9L{AnC
zyl*y2B{k&}nUq&DDKGPsqA;^BGjg~KwF&CbKS&?EzZ>j_vx&`5P*L9N4s3gZSBYIK
z^u|t~dy{p&kaTb&Z?HGxsO<>{qvNT2XcrxKG7URWZgxNP(JRYD{t)g>%Z&Up?HVwZ
z)p25@Kcx<P#|6Oq0hYyE%mY!X#44`{I5}RdtzhPIHx$tQMSy}Ab-S!qX1(Y;L4fax
z>r;ze#TYc~F5bj>(_l2?lLXzHFfvAzk!@g*wM0E<uV}L<Zq|Rk{x>fq{!6n_&+h*>
z>;J{A|IL~~t_yY8h&7t6_Rh81`F!JnG0z#ij;fm6yrz|a-;Q6rz^X2&z86ibbA!*e
z06vFoatD~_16q&V<>_jDrBq#L#2gu0k>fpCin{}pxurAEJjXaT%-6+^aY}PM<7~x?
zd&)JT^bt4*%LI<RLy~R;Q%(e>$3O|~q4v7`Jk)N;&qM8|{OBbGIaCa_tVG-)^fc4!
z#iN6JWb3PbO$P%!f#a{?6)GDFWbl>~UO*j1DeLoasv<R-DyG?_Q$y|8_Gex4@aK@d
z#?Z0-U>8W<4Pgi2^hS0!jyc;svU*M!6fNKGx?a~l?N0;y>d^B!1iCVkp{8*>=LOsq
z*FrBMX043bE9(xdG3pFLt=wB0opz#FMw=uLtqK^la*Wz#k*&Ams=;Vq1e%0ptN>~@
zSaIrF$DTv(my{5^w0o0YoPt=+M-%kh`j`}L*`aS+XbjP(JqvB~sxXv=a{8idWqhk0
zdcuF)p>u4L)|&-V=Mc6lZl9}JV{tU0AnY8MYnY)ZZ}pId^#1zY+x$WgD@2bEcsRxH
z3y;EZ(%Ie~2LrbX+XCMUykUrr9=2__G7YvzPS3ae+4hO!4!o0K8-$+6p*PvKta_`y
z)7&W@?;Z!$oo1<O1(Q>1yzFEAj^uJZ9x?evd>8dagh$5~YiS)X_*kQ{7ld89r={7G
zY2A6&wxl}PtpVc=oPMOlzQtbTWL4PUR(hNY3^D_mzovo9at1B{I@8c)*`bRQ^aYGw
zsh)+b2sg+tdh{l#OrvS*MGYo}@t<#1Idy%zpZ{J={LgwTC;szh|95fczcqsnj$kg2
zi|oi6@1w8D5ADOl0G(-x^FzvH)Oaq;#OCK}#<?gHOXMOpk<6gJ=SoBX3XikQ`kb7s
zq~<d7bFrstF2hiAu?+GH(TeSk$eA)NmX?2L?CKHsm!4!G+1%Bo;jMi0+#nJVxE%up
z5KBc88wb)UBqhGWnrI~!6SdBJQASp1Fx4mTX_@g5a`*+RnU#eK0G0z1f;8U-Qktj(
z5J5--V4un@4i(qu7fRI1%8F{hYDKVwwcj(!taE_5`S)tIdZ3|?d27D|!nr||*c|$;
z%Kxuj2>+*d>HEJ%eZ&7RivM2&QR=BCzX5YOl|R^?0e{{#t{EAxvt(R*IXW%4%wr)!
z(q-Yh`rRYXn*@BPY?!7z43L+5Ahq4}c>FdWEv?9B+kg~29hXetaORH#VXSNWKKJ5=
zf3E-+@D9<#94h=5`+j%OBVTeQ5lX-c&?SWMNjRADYsuYutrmG8=f%;Cl)HVF@B%v&
z*Kg7n%ZE?nP^hqjpxyMAVO&c$fHpCANqNG=){tpGZuQYtj9%&wefZDSwY|6QK6tNt
zfA0a+k19{_z5C$3yL*s8*IiML(szHi7J4BnT-4ZARy%J7wrKuyO_2HvkN?&%jCA~`
zW^E(?UCjK?Q~s%QYaSShxc3!%NeUtQY0EFOHyt$iN!+_edI3c-LCkBVIG`ilI_BOu
zo}%mW6s%**cW@^iu&rjhsol8q_WcL)-m+mv21JC9j1(Dkp;RZr5wB(sVuR&z+Fs}s
zq&jTHK0rO->Vli~KWqPCUX1-mv(?V*|5}^*e^KkdIJNnWAN*l5-Y~E6-5_7aMG{H>
z^CHg*{Sg<JXTywun4NkvaW=0B(+pY+L*K&0Ll&R=;~fH%HR6V?-ck%k93C2l4LmzQ
zdud_FfoVhA9w^1=&Y_9hLQ&j6CKJCm+mN9}8&#P@IWJ>dkjAS@zy%V>+?)=m5S1hZ
z@|tcJBWHBGX_g}xo{rP&W2A7r)c!X>eb47(1B>Us(W;B}U$Or+>znwm7c>8tS^84^
z6!|ll<yiiT1Z5-%@j(uxYA~Hp7LoJbojVV@H*eo7v%7&k9eB53XAv#y_i?-}H4Mgp
zB&d&wLiUt`W88T2whSUeSGn9#Pc;$m9AxcxCh3XEHvj=}6Vl1UfEd!1Pi~$d9N?io
z&&7Yt%Lkj5I3N7T%{M_0WDfF9g@V<)_wM|jy&Dg@!Z&qZ!Ttnesiex?vrcXhyt`bN
zu8Vo*;pezr*gtjYd?^Jd^)>~8qufR9L)>=-T!c#GApm%<9Xp?pWX0UNQki~`$Py7a
z9vzC;k(iq49GarS$%fWrTcXL;3W*ZM{-n%?_z2WXNncR;&6AcSQK8u7{xZ_zX<t4n
zxiGSw5))JD4aGR#@^5-4Ze~!&q)w0Td|GEmcs|9mBRsbq$>EzSCr12QM9dESb?BEr
z<Q2w{d@*P3j=Lf*sZ=hG8(t!9){Zh7M+&L;I|pTjqVO}*XZr>oVUkj8^e*AbEZykt
z*mB&IV;<7WrUMnOni~6xp>rB`pOl98PMxqbw;Un_*}Hh7SuE`v2UUELp-R*?JdEM=
zE2(WvBuDVIq=N^NHoMcnI?Pa?11~cUjX+2Qu|w1z&?^=6?WgA&`;$I<QIuYggV&Rr
z0gu0mqOlYdj}CT{u9ph$U?VySUl{vhWjbJ_c^td&E2*9;)@tXm?W0qk7uHnn8bP#`
zT%41){SpQtJ1fp!Z#WJ5xXITS)G1(~D*8giaA*aSkrR>@OL3u#h7~#mFAFesZ()(Q
zw}Jwo!v{0QfMLP3e<Z|@4pSRiI9N=6pkBVS5|JZ!Ju0Op4+T!?1`fI2O3j`<!{Dw_
z;y8G*{G~@SnojXA4d^koYgX^wJq+ZUEQi^|R8e|qg?=}lXT$=DBwYbgJLx41aVVp^
zb_&OeH)c<qNl`YlSVu3080pq9OVLlG%$lW?n7|_m;@wkO1Q$Wbyq!h8lL}vvW*|J4
zp*R&L%FWHs+jNRu;1>b!WjSX&C&i{+hy!4)axfjoiLR8{Vtg4UL5YI)F)q}Dz^#gI
z0SeXANwq(W*YiB-P!7Nz$nX@~cd|Id2lm#4BB|ugfP=Z*S&#71vG|Hp2N(79%vmVU
z6ia90fiH|-FXAYXEFSIZXnn@3i05v^H*l&8oELfKp_bE)cZcmYYDOF$n3E!4p36`l
zm^3C2@<)g3xm^l9iq=|ryT@~;@6hRoXu32FQtbG=$v8)xNg{yMquW4}>7{uD0%0{x
z8L4@?Wwe3#1AbLTjD(Y`H_I5hy?`0_tt4mg;z-6|V)s#pdWm?khVU?OhQqTmKrG9(
zvLnrus2!C`g((^ZBw<`OYqeGd|2J4|r_;FBY1Y`)TC-M5(WG$o>ebxRJC#}k0Kod*
zskb`jwfxery~ZkLxxucQ<u-fmwe)L7nkBC=vy*ufshMODqT6i4$fQdzxtSNSi|I@)
z9G01f7k8eKexv+8n8)IQ>2N78?v*nxRTYHrjbZgG%4$+bJ2&y{!o{teIkev~=}MBO
zj<vmX^1#?{WX67qo8Ua^Z7-ck0@T4~XniXUt#~0e+hzD$Z+B4S;lAbjM^pE4kUI=9
z&Nz-kOoKh`p%dl|$DCoca450@x<)=_JMDVYHk;L|Y4>|g;NS)f>qcWq+59Q7q)`6g
zUs4Fyj%FE_r53ClYz}wN)TA)`i=RYt0GBRW8t412G=V!U_>UG#rt^@PsjbNt8^gfF
zD`44{7fiCV%Yw<x)dESHWW_lLgZgT+p`Lp<NSD$Sjsyutn{r`7hD6Dmzjd6wnZZBu
zf>6$Yi)Zs^+VRe#d2(ECRC!;3{YT?M^ndF0T1NlJ*!cguIQx$Vw+To0FBJ1b=mhmd
znpqQ86b)16yKI&yT#eO}QLD_nVwi_id!k%50m+E}DA9158paFga-%X7KCCk77G;)Q
zdk8PC9%a(|n7=YO*sy~$&wq8-Zyz33@b+)}x#xeo*<9-Xwcc(TO-wh9rfFVc&CUG(
zxb#1r9Fc84{CNywOi&F^!*k;Q@H6iJ2I_yeYR!%R-wXL{80CiluQ2~@H}q%S3G52O
zb!PsG^IzEi#`C{fGdKF57xLNf!|u}?fy~wSok<uRXzKPfp%d64JtJ+yF}@Aw|G-8C
zNZaj`V}!@+@qqQ$|7L4r|Fv2FH=mEq{J($aoqIR-?ytS{uQLBl5cgC2zk0*i%>N7d
z-1y$>Z@<Ai7A-9w+`IkyI}dKZ{YKRfLhY^VZ{NPPcmF{Zmi>Es*KfYHN67>GxZ>L%
zOdX#hq0(ZYiVfAtOpCR`_%}#GA7k5ZS&wZzz2?8H!LjA`?Ewc%DHA9DfvO8p$pOZ+
z#^9mxd%8+ee}=vn{~SYA)t;3^EgI2xzweF8?YD2;(Uy&OZRG_~TS;`**4SXr$?Juc
zC(fi2SVKEMN9awu6a$=q#3#Ddy?PBw15K;J$wX7HY|zz%mcGMDB$$~54oXXV3`!)V
z!I)_<W<8zINGCMY39WQOJC#tcWfHQ;Hqx1z>4bJBA>EvIx;gE1bFQUeylY%bC79`i
zdOD$%f}uoaQc_1&=(v>>hOYO4l}w4v`jtdsqLoY}{UD3X|1zmCPqV4gfp_MGv?A2<
zql;?!K}XWb=W-jd`J7?>m)!Eq=fCsU|8~1+Hd6Ax*=n>l>;FZ3-m*h$V1-uY)7+k<
z!;Gq-y$!2T;-XrMUeh4a?oY>K%b#_G!xP4j3l68w098ut{$tzMzSkSul?h#WqkF@k
zvz-`Qs0tb$*|=0!9dBE^J_SgAhuyYZ_NHx%-xYgoIU`DiM5AdMuN`6v`bN~=bo#a%
z0Q|kviG{HQ>8Ezn=7$-CuX>zOM9+-2KbnyPMti^}_GG8TDvMeX1zvc*PXs6WQmry)
zjMRzA<BSih!I5K+21Jt3w~n1)`|j+<_g_ztE;v3^FTOf3f)DL5hQkY1`cBpJ53}VH
zWvvkud>tc}Li4R~8mxq=+Id*V#P`q+K2WRK?pcFFd;3*ksk95r6WR;2MVQYYAjxus
z^-a~yEW5ut_9;3~W)o-o<jA&1Yf%}CRrzAdX@FoBlKEY%V;w|^f<g5VjiCLiGhSgV
zP({DT6Urfd^f-zEFa^K`kQTOeLAh6_;kX-kQ@?NT6270rgt0wvreh_cZ;dCGbLj3)
z{ECw5xu{jo^JPhrh$kJOA7#%Qq03d8o#>6#mvaD-KyJU6v{0-=%W(tYan&0N7t3nn
zpu%HxK#gYNK%+-@_wKTtN8M^}cXa7(M|x*HIXO}L8#W}{z(4~0QvsI0vz-eB<WA_)
z>?{0`R|_HVvuOYv3EI}PC3|}G2pQC)N90!e#0r>CD%_L{-o?au^e6!qUi<c7+PBI4
zWg3vP=37&rya^7Rpg#>T4XSamwxKt5p)xUK_+9)7Mv_SYeFNAc!u?<hbs`RFpTRKJ
zTxiD2%9uHt_Q;8CX3%U?Ex~r9)q3Sox6F79A*en9apW8xg)aHuwMLI|90MT0+pHNa
zv>$jaUKNsBnva4J@bDnUC79T-8}tV-Y6v06a!0%%_TEnAIH+JR?f^1LK*s>bi{ZeC
z3#Zkdy?u8&dUE^0&iB3d=Hpkx-Fj>MO70-KWy4(e?U+y%@yTX=iQOGd4}l7n-$$1y
zeJt2v*9YjD0sV&aK_B2mu&rQL%>{u1IJqI_{tti^Ove)(5Ij)R$m?@%3H8wIfoU3g
zelD#0V;F@9045Zg$cTxCyZ15^`+u~bf#oy^2P3CfW$$@Y8dT^?`Tc2v+2hbkj9HjU
zFtSOL4RvzK^~z-GPrSg+MdyZxrewlZH1y%bw~t`CN3YDdt}yOuB3tq{Fa&4_H9OM{
z`CTEK;qanmHk};$7ODrLXNjpR((~HGecK$_flc0}A%BoR`M-xvoQbS~<@4cWo=Qca
zu`qXxU0yCN<~%UJbzrHZzyo?p9)vw{)9%6a*nX!sb;BulY43zO#a)K%C)O-TOjN$C
zGqK9&bim%Jg@&n&jJp-z9J!sbxMSv$QduV|m7(L~ke!6I9mRcQoL5Qhw61jwV+Fgg
zImO#;GK{L%OlF@>V7>xVG?l>8L0NECV-A3wolcVg7%>1t0U*oQ=9D*0vr}(?SkVF$
z1~yEHK6l0jQZBB3zU7d5EjRgBhkp`Iz0vN}u_>luDDIe~&X!)(=M`)M3EJH4uUgO=
zg0R5!59gI@v@u2-mNON~3#~6vE1vXOz?$ZOXf_%h;QH8hgH?~Lp!?XK6-&q*V@i~X
z5$TR%hnJb-Gy(9aFmE;oN8Sk+B1pdBLI%ze+v*>2mP$M!_O1ZJ1r_k^k$r5rA@HWt
zkekkOVPd5bjP+JTo#GcRQ!I0MrSR9(D|FaZTW@eDtrzn&-G3mJcw4{&45zSxAWuB7
z9Dq!LyD58u0Ree6K{a0jVx%+JiR*soD!zu2Ik7EKPIwJsLyj07eYxY4yMF9ska;E}
zYsRoUJs6y>(t#vc(L`IZZ*ad6gib$Tl@C4;t765hHn-n&dP+I7ZgQ;iC&#`zIhxn5
z$-HLX3@oXcTXjQbuIFVgtC@Ei5{nh)w%O#M*PNG)M!QbM*5YK1TCF8Yt;0Z#R+EWh
zb=(fX+;wMaAy#at1~YZD84aFQCqlhtP$3FpLuN8q5yg}!?wBa(`W9g82WmwvgHw84
zjs#6Ic6LO`HTih-<xNMm;+ZR9KDvkYw`4Vt*gL<x!U2sc8ml00dH!QIrWyZ+6MpZs
z$Du9R0OUf8zTBX##K=3$9=~KW(}@%-!Zd4FYDT55Sh1`kQ@lPs3_5u&yXBk$8z;BG
zLSi1+D3;?7=oK2bD9yl^)~DE3%h)NyU$d5vVNJoXwjPFWgY18UWdB?|VTZu>+9og#
z%cso}E>Jzo#}$na8Cc2sBaCknD8=sC#7FnqwFZ^oVIw0)u7fy$CM!OA6a}w*^r*BZ
z4W%1<pi`3#(P)E#kPo1b`C1zLd+ph<|8XN1kp=PyS6~TdQve(asTvaflI2_B2{3%o
z1Rw?W*`r6)loT8obp!HA31B2vkewXUA|a~me&|hLP$1<n9}v&LfiJd3^=b=Sq+pv1
zC2xS3Vt}+NhEXvZ>kSa}oeTZOZ)4|;5nw2I`O5gw4sHp(UTDFnp7_YqF};V|2HKHL
zFkTgn`v8VEEKlq8xjo>$txO+^uQR}1`xbD10$R@_grO3mcJ74WoP}XSqZmE`5`!F@
zpo}GsGAXbRhzttPLZs`pdE6?$J~_*fS<t*x7Amo#f_zelrdI(gX|@yy?@R_LMB!$A
z<lw%B+wB7_aUhF(JNPBWpxB26xY&b;gKWU8w#x9Qty)Xet7aMg)bUS)Al0i)-~sH!
z2GUrx#bYj>zkoa^K=<gB81vqp-Br#X6kgI0EV13FQ*$Ld;XWB@K4ZhJ0YK$PS^5ZF
z58ct}3`oDN=YyqLrXP+x7@|7C(p}HR(+v2D5*hFEvf2XZ$Rno*63;+sH!h?jyE3xz
zJTqoJYOOcp6&M$5p!cJF92p0&9}sK?QO5;gXdMIAJV!iE4j$3)Hu746Z2Ab;5%Fi?
zi;eSU6cliZVA=MX^9{E~U347Ju9ImT;JC+STdZqJ(!;G0%>Er53{~Dqsgd1E;!DRn
zEIjcNLzWA#zywLV00(TD_bSbeRszD<LkGS6K1KYaeZdD)Yk<D^DfZW7DufSo2{gd|
zr6D&R_iQ3*-y0FjO~ocVaiDi;zov@iLn}bU(99H%e)|9tQK}n_JRVbvcucLiw!E;M
z$6#j%c&s){9N4PowV#rK1RAXt+lGI3jB18mqY-AvZs491=yAhy2UFlnFtW$CBofJ0
zpThF>_4pF6A@ok=;TiYPigPwv%$j1DOlI{=NqzvoXSSPEM%h_F(MPo3t<r@CfrYP+
z_y{6guThf|6NE#3w@E_1h@HTh9TAN=hc58Sf#NkrBvC$udTl2&`l1Oec{(4pkE(R6
zE__3Y=n%B-;gD%H)?Vv+)5xi{ZINK`==VN~c1qY|J;$~D8G_%bW8>>P4F$?=9uspW
zvPC5WEIJh>8#@g?Qkq#rjA}a`(jY&WFK|e6!a^s}*n?g6q2)SHI1QscfO;ICa~}Xx
z;RB0K-q&4CVR_@14>0F}@4<wJ9s|L<AbtO0G!o8E#Q7`Vz#+S(qiWdhsq6&!6R===
zP+&uTRL>a>h=Kv%S>kzWh^k%#94`T0e~`$4f)k1hSi_K5s|pnoUE3Z6;y%Z>Phgh>
zAc!B|=Dy3()RE$ZW@mo>bgV|v6&hxZeG>j@UMnpuOR}(V^borN5{?QP9;U%yRlz3U
z-5$fd!Oq5WoUx4zHdQ20P-&Ico;R=0fN8udb}gzH9b=@nP#NyHhT(8;R%&L&Xs$Qh
zm-9u=-AG=88T}a1vwS*=u+noh#?`piF0;E+Se~{(_Fab>_kaZxcT+nlCOVhVVbBF#
zG0KajxZ3(ot+Ze(jkGdiTGe*WkyaqtAG(SC8ws?LU_FSjG<VwTP-IUYb-+yby%X4u
zPASwTFhi=8E=NiH>kb?rHgysSg)Z&(GP=|hy0q5bljmbD)K}Qc@fBmNvGNM7>4JaB
zMaja8Z8WXH-I$$s7q`j=qg^++ZyRge8(55!iAOh$`XHAg*^>b29L6UnVR)T{r$%_>
z0o&cG!sc#Dr*3iZ1b(C{T~mmaI<e5MgwMzlr|kiG5Gj+REWWicj5=Rzqt^|3-IT9e
zTGEXq>^2x`3d_STk}1Yqb6LTqv5+<<$Z0Ai%vO^#b8Kf1M&e@$lyUzbgrkB<bS&}c
z(bl6!YQ?pM6*t7jQ676odmVls$6es#sf18>K;EH1Z{;^j^qh^cYWub#z6FxeJ$m%g
zOOGDqusQRZnG5oM=sOct5F{Z`Kts1l0Y>7YyKIb)I}$R3GGXf^7uFl~T=-%i{OD1o
z!UOCAcBy#OF(=*uNW_ZoaeW2c3gpunPtTw~KoZ^tfWTtppoPuZXbK}tMX<Sum|`02
z8K!}IS@^fL(nNqo)NIl&pl-DCaU6}j6PD~B1Z$)3nt%}(M#TYF9y2KsnH2P!?FG=I
zcq~1u|2P<lkZc^P;|dXCoMb5VIg{r0kh+Pt7N{zAwq-7XQ558)?Ck_{g~K)D4jvbt
zIDxGmSd4A|&=&C?fHRR`hx|VYDIh_Q@+ylDNQgw<*0uaK2t~;`?DeLHv1XzWbvL+H
zV3m$Sx}o>jb^~&eQ!EL8=mEJ~SL&{{N-F@C{&DTo2{a9x2oP!Q!=n>%(MEfEbtdL_
z=v%_AlDKc;<K?kE0~u76<!JP%xB7elV?SYpK9$i&jWP4*CLTegPImX&hJpI>CjO}_
zW4&IlQSZT*)}rYYJO*|$Ihq9y^|H`?;Y`l8PiREqf)n(uNusljYxy{ira)>X=mE@i
z>)3M!%;$@ZI}pd+w7QTNFA{a{!)neYeB9{G+1ZRNb!Wq~OC=|x&4qE4jRrQX@*|b0
zwCan+lxDR}VoC!KD^vk}#mkKagZn;`nAQ&@0Zx3B!V9naIIdBf#4ZqXu}128wU7zg
zr%uQhMi{kXpMiRIk0OI0TvU8W0FGOATqmKr<^+P1_Ps;cR6@7rpW&i(PG<yG5Q-p+
zc=1j_Zz({OSltFvUq}oXRUVzkYH2FKvd2#ZXrl*vKs;8(*}~z#-jHHdMq3tBg}k$@
zLtC;#8*3l+FYeGKl)+7{>mgk#-msD)NPFoxY$|Bi&J*p_O&j&uo@vTSkK7`;1SJGF
zV;SC!81Gv9yzzGJLyH)mHypwk7s%t~v^?Hdcj0)MN<q-_xT~4FJ|&t`SDMl|@1~si
z9^HLWJJb_en$JSA59CQLjWE0lS2c8os7oe!c4~mNmd*?F?5$h0MY`!A&3n@jJ0qUU
zr18z=<#nkgg!8`V`*f^`T`Nwmk<(N6i#<wuytZnK*r!FZm|WiYX?tqLRw&vu=dQ*o
zN^)IK9|`f1sLmy`w({~0Qtmd1xYW*tP+QHpP)WlA8_utA?E&}M&xxjn)CCUPtj>ed
z2ca(%xJmwj0;r-!g{ql2ise}t?zIE-UzT?rn;4Xa9F+BndG6f9QiBHrIh#1U787$B
zn^w?WaHes#Lk7dVme>U&!gPi22+c3P&$h*(E43<s!K*IulmibvT-1ykd4~$Gh<9*i
zYsq$;SDa90N^HZ`-QeOKHi)O<($Z+~K@y+8KYE0N({UrU0WP87&xCqBN-S9IAaUkZ
zU$mVgbs{cIIHJ$hF6S4fawc%O7wwjCgQry711kF%o=mORY?N~6${mu&sG|l>Kza!Y
zW*te{Zh$6G8JyJp7{63}^avf3eqbd|G#dGANnE{ig-E_ZHn^z*^+N$?rQ=Tdl0((P
zzQy({a!jR;br2ebC#Kg0bzG{aJ=lLen@(`^PGcZ<qq=a&*NxPWH()QxH}`xql0-zv
zuu5HcZNP&^(1Z|20yr&LqRBLTVGi5|LCqdb{(ttq{XcCh&AY!2e}&eWE|3C7Tpgy)
zuIo6BXA(Pa>`rDrX$E8vwkCim0z2OA?%)1Cw{ww@1f)rt&el8I*r0RtoZEAr>-ULh
zFBTG|xf14uNLd(QXOcT?Fd&Cm{*W4-wIOL+*7_=tH-v^5bHl>XhLv1+_H0*-v}rAY
zNcG;vS<mN}VyC##xp|SbduVb<Hu0zP<vq*p_MXhX*=XV@$wWmH$}ylhp?k!iz~y8N
z8J7Lgnv#(}oOlbq!aSuh!W3bWLd@)$VdY7ag7u7Dfrj?Zj|skRE3=!y-~!#un6l%u
zRf__rS#Ddmn#fMJ#-gkR-r|}JY#1DkCOn=4U4Fuz;Os$pDZ)c5<qX@BO>3v#L<&K-
zIQwrfcEGv;T03`#OV3o9ip3}_7!vE*eO~!D-fe&pJF<numdLXg=!2H<KF1=-Ib&wH
z0tpkQe-xmgiSAc9Otu3-e`zmAx@qW=Ho&!QQo;CWDdjg9pzR8&G~B^cCn{KqB{)rU
zY1g-~jOxvN;)2wNMlUu8qR|>NHf)~3M)V}Z@o*9B3$~lHt_w5;CKeY%Y%SYMD_@ps
ziKgBJy|G$vd_0ZhSvVsbh`KyEr+`@)8qSnFV$tdzq)+i{iY5waax9|?_24D!E;u1`
z;4gGd&Fnp7voW=sD#qp-EF8(ygcCrU$bJ>=-6gO)d%ZA*%13|{-zm{u=PCbS*&bB7
zsPH|m)qD{EUxuAW*^U+$4ncvVPt=uXcX&|FNFJNhc0iv1ax&3r>0FX<kZ_#18TKKJ
z#TBy_Qh;k*9Zo_NhM3VJ@cZya1+jP&I5jgi5OAbYIJQLtZmGC?>;$CoNAgxEIiT50
z1e+#%;|M@t7z$_K>fRb@J>8~zM3E7^wTSeHJZHO6oarpo!c22ZXJI;-n~eALN>Q<J
z!51rzFFv}sw5>~aM7+@sXSi9eFh(Jb=eY;1jIBmSfyuoZszg7#4Ryka5+1q^Y}&jY
zX-asb<02YP!-#Km7WD``=ezS4wkDL_HTrfd_+J&lS#QP_a}2D*XqCwBFZ<Gm@io>o
zdlQ^zU!=_L;Fp74tPh(7q<V7`dv7cD-rP9=KsfI#WOiapMHN-;Y`M5+5mi-Bq#6st
zK_%YEzTz+vfaDjLDkQI|vM<%GZ=!wSxV?rm7TzI4{vjg2Xv~zZ>U|jzE`t)1X)!Ys
zhoJh8N6Z2bcWX@`$gF&K!-db`qjLRV);@`jGe@C;v7UobQQD)4jz;V~dFg}b8O-HI
zTaOTOyNw*bZofajA9`@o`+a85l;Lgy2WvTsDsasS%onl?*!7W0k0sxj^?G*;$%nTu
z1%d06D(QW6U~eb}1QZH<*)R;>1wQI{UQCPR=z?%&NlbAItD70a5OR<nD*%)!$npWq
z5&y***uHc0@{}Xm<ZnBME~fnJRNlE{Mri+@+mZ9^cG6eol&2p<@U^0)Le<%YG@k^+
z068dM`6_M>cav7cY*B+l{$zC%x({mK%f)J#p5-3n1}()68r4Q?S8kv!Q;jaE=Z(fe
zJYb};7AY(H{wi3Kv)hSog0U@$k<W0nnuNw6Wi586lWS$U@e{iiw3?-4x(;DqFW3*y
zyv4ghho}eA)(tZGVJzuZy?Pf7>VRIFVoR{Z1*24Ls}1w=a#<OQO-YCdoky7$2sgci
z&CUzODNzxb5V+PKg%-?oBBCTyMG2*hukcMfscG$`#;!Z*8QR|TP{SdfP;Gy#R&}DU
zo`FcItCaVj;WQ;Xxv@2C0mxSZ3Gt+RSe*B)q~3ayz!pn7SyohYr2vWEVkD)EK)*}7
z98-xq#Y{7g{4>|+iUu(qPQz+B!q7hwwU0vtcbt544AOqKacHQ-Po6#*V4qf6w5)X&
zv1u_IW-)hldp>k7BpNq1-xyXKj5wNoc@r!~RZvbq(edWU`7*P_aI&uhN_5b0AhdjZ
zOD^O~uIO390HA(|gO4g~t19Quonn-%4kg&A!rfR!OIT{b`O8ro*dwrZ-jU6qA~r*a
zj6mm;umN)%6JT_to3#hqZsr01VRnVw^f_9$)^cAgO<PQN#F)fSkuKi14>I<9HC&8@
zXg1&5+lr5X;xV=K*w#7e9KiXQMp`dQCj=c~jc3|CzunHDY3$(zr>}PsBZ$2vc%D*r
z<TwtU1SFTq*8-M^z#uw_pVCC=I`TIi7*`z_x9T43dSFzn+f6WgU-REDYu;)Z0vA-g
ziSL!9SJibl_;~8gL?CNJFPn~hi~MPjv>dwW7N#`=4%&Q296-eO3jBuAn`}E|`UM3$
zB8(KzXD1B-`Cwo(uk1ZXvU1j%*p#n;>gD~0#h|4C#+82&<qI^OR6!;bXHtqpgX@z(
z8&M9m(qQm#FsMj)DgL|9|9oSvxWS;TG!x`=bmhh*;gN4?&bjsjm@-N{W$+E-rnALI
zSgt*Mgz%8?!ujWFbWNOR&n#Vrru&>2fG|gU(N$zF#~@8O&W@qAjH@CcRfEEIjc#D{
ziEosifLA=UqhK-_V_HUFQvWapgPFSdlf=P5n3L}PxPbqg?Zq~BM$Dat8yKh*N|Qs0
zS(BC#k&csXtPIA=R++}0A2mhEXt|l{AHMj47)h0L3}fNK4CXXnU4b45B1%l~o^69z
zX`5`?`Id&JeGqr&iRl)QmIS<mu$>WW;?}dhUTlCPOFPzmj9JI1yDNdZvwCy4w$HTc
zwvJri5L+*)3o}k@9tE^PFv%vEv6gOe&<x))R>s71L{}X=gC!t=@d;hI+1$a{)LGA_
zTAS<U_SUP0a=7XgK?;B-gE<L>9xL8<@9i9CpVo-Ra+5Kv36qKie(jFB8+4><)p)DK
zn2m!s9w>4I+Gjs~TWF({F-0XTP`0{Y_18GqbeNiQnChLKLvqp;%XL;O!nJh)Y^17T
zQPtVqe1Msa8i-)wqyI3nJc;9QVPcy2j<G|L#o`!D=aYNRkw62H&7%(<WirZ>M<NcL
zo+|~{H0y4=tyN41GgkCD_{5$pvtd^1h`%IJ6NQ?Ixyea)6gvW3>3mh$hELsXJ15R&
zFo2o80{M!iv~<_2)mQp%zEDVDk}`vW%G7&LN36;hx9OjGtC(M`sqAdpLay0DyWbKZ
zMNT|o<!DWdk5L&47<GV69OzDBWewL$i$)0#v}#EO3i!0#+|QN0L4-mI)QN`S!X9lS
z-!LkY0cCT<i50~S5iTe-j+72t1`ynY03`@3W%3ZKFtd++Ta#e9wjmgHp`B;sw$Mrg
zs%k)a;72)8iP(UERM{JX_I*AU)+}v^Uba|WUYctv@~oJ!dNFKNbUk23^8!V8H1`G(
zrToCdBh>mZ?iZHfYT{>DAPClhkvJ0T#@onJMJK`40<Upa3+(*pwIyK;2~VUpk98YD
z`juDsl;Rn#qFB@&c`Iyo)#Nn52c1r~K$^1U=tde0{&&B|pYJn=O{8?Eh0aLJ+I}sm
z?KK*CVXp!Qqm!+4>`IUl0BVH~XG<AcGgD3y4%tACx|$)tC+^}BDnd=S*|5Cu86K3A
z8MT#s8)I&w5y#I!LI;ZnzggbgbPL(_HQE*?z%H3{R_6-@WwU(eeC{wHBHI9qi+i_#
zA;-hRRx<?-Qi2KM)F%9IH}mKt-?4qhWb7IlwNvz?k_s2g_P|Hk>;>koYvlKh#&T=1
zTHC}W=nP3bL1eR2-XFf3_<K8&W}99`%GCJV6u$%PnGCx$LE_t7&FG_8RLOXZvuEVL
zi_0gcXEhBE+k-dUT=R23Gqi$wVOk>EqwRd}eA};Pgd~E}F@iBOaFQ<yIwma9+QP7G
zph2xD$IbBC))%+Lk14AwpC<N%ixeTwz90?tAj6OGWD(BOpdlLQC~jyNr@FOSHVCbj
z$Xa)IGY^s6ND;g@z}>HJw%*9NK_dG)S8*7a9mi40Hp~k;ipK=xdFQbcn^TsJ`!F7r
z>?@_kgbW>?R9+)vc3zT}2z_68Q|GS%N=w$Hx5_!_dak7eIfS%C7v&;|EbpiDAS3LK
zJF()rlo?a?K#@ZPO|^{ommOdc%~y0EGT)b&4L63m700eKX`|URs(VTKV0rxzw19E+
zFxE^3T4b`eM|DweRSu=HHKiwJ<i#rEDvP~L!|n=uuh;^pf#g#$g|Scw!h;@iFy+uf
z@Fkl-cBFh#;Ue`4uRB}8$~|COpl|28lyej_UQscA$Ca}PHm#V!n%T+iXcVCfk1oHi
z<T^CEEm`R0!khWHkJjwC>+!(WE^2pk!Y+(iFD1&AL}+B4*4cA&bMvX3N$q|*$?i~?
z4vqt*+v}vjVXltUs03@t>Sobe9}pEp5#=*0=3fB$BpGXi>$q;cddK~OFD3-p!2khc
zCGMLbEhUwsirIRs$XV-{8zfcNz*3D(8Aa(-oskBvPYbhzC>i-{olQ8*2AkPlze~Aw
z;i&s0+KeaOHQM*7E<kvNRg9OuHu!U3L%L9^tt!?I%mrRRXW2cQzpK?Xwck$WPEW`u
z+)cE(-}qM^#uH%x%y<H_$5kAyBioj(WDTX$UafFp?U4Dbn?j`LKPSw&t?X;y<vr+y
zq>`Z+XRBAO<_^}wWPC;|TX(^YTM;lWYXj4T(bOSq(T31%TiD{OpDqv%aUyHMlar@M
zKRmzepMHOK{_4azJamf1d>&rc_(}CD{LhXl{74MJ%IGL>AfzsY)E`ydN4pYosjFnb
zb*Uo47|+w6-B2A)6i3Cotz>-Osv<cjL-WS|ozKi%CEVC9AJDz}H1~|u!m2FGQH+9M
ztJf5PWMWWid0KAI>=cgOdHh&#9e`_8oV{ADwujd14L!Bxa%C^R_`oRK54j}<{<54-
zfM5#p+Y+wxG;z9eS>J3l>A$V5qG5A#g9yT%Oz4#LF&NxBhv+PMQ}l{&oj1j+;@g-{
zuAAX&R{9QxUohGMC1YUXlQ@MI8cI44Xnfn5liIBvj&Do!GvJ?~^HFXn`)ezXPYhM^
zMdP-De=5mUi;ASZ#q8Lr@BhvMDdn_NM$5U!Dqqg)#-o`3AO3cGJpa0^Y;1Fjsv(i0
zglwgzgwY5n)sL~C%!?_{Dq2d)MABvLdr?3`rgoycktuGz!1V6yjoQSz2cvjst!KU2
zLK4;qxROn19A`QEia|H!Or5Q!FM)kxF+E3V4~U-qre1M+@g0_a8NBotWM07AJYWbx
zX5Lu@jC@gsDdklK!_2~2^@q!+2L^^iE6Vx2L7xva2Y>SvofInjTRAwxEjsgN25{dP
z1H>q&5xyAaB$*ktCPEMbNo=i@sc0}La{$EuC?|Mqj@$WHLfc#kjjFq|FN}jlNBZuT
z!)7J1NNi;27zV4%Cw6c^%!sm?o1`+PMoaYL2BJt4jv!-=YJ;P888U;ZB`gE6EOQb<
zR3#?16XaV5w3M=ezo=MzjEnZjAu20s#90o#n)<NAMviuDr-WHqDElULcBx7;S!f~V
z%;iQqSc4NOBSXE89XpklVxcYA0rpMjjr+ErqoCQTS?ajx%p=|d<9NPSR$p>)U|x%C
zg-*ld`D=j5Bp6JV>5?TFkS$xZ1y!8$$Oibv0BIl(4e`qWH`T_@nz7DU!_XaSkN#lr
z?c<D*W-!Q#0=Zm}9a};dkf&vwmqweeSLWMMYVn#X#^A0MpIOBaOmT-s!8Dk7w!1rP
z(Xmg#m>kD0Yn^9eoDI;iN+cE~EX!~o`HNfM*^5<w*%Q<(^!`;Dxml&I(&dIy6C$nT
zXm05d8<>Ytkzg#4XR=0Wu~`WMMzOp80TJC#;G{|X8{!fR3cg0f7f!(f)A?U;QS&vD
zmPJf`H!Hz~Wj;pTNS6yBFmW#MhwQddBblICb2ASF(tnMB*C5m|Y#nBa`IE6&ce3Gi
z?W;yOMl1|}31Y{@f`S(Yg)dZL`RQCuN?h7fhtikr+8!EK1ADY~TxuLJZ4b_M!OkP8
za~ajj*$7-*e$PlQCU{0XO5~mPtk3y%*83kccwY)0HI*sDun?hpO*UD0w3M@J-D$9{
zugyr5duU28Mj5Q7>8hGuo&<+ar=CKy9*6iDTj@!BvDEVHyW&E@SE5)+=qChCMAGai
z3)OOLSct7GDtmxKx}=I0Q7}oj-el$H8ro_#q?0`n%m^YzE!GhOIs%8;#FC8Oi$UKi
z@`(jv`#r~5uXZ%NS}n*aLbYMBY`s7M=ALQ^|A2FiN4xa_b_TKZsO_zF2KIo#xTcAK
z^Yw}(WaGC5sii;7JIX4bkGjGN$j)j$2|Y0@c+q`d(o($5;mUR4vR!0sZf7^f_8eYH
zT#V9zSxd`TKCJih#COQR<L+v9MTrl~{duv%rGF8Nd8`6?1-C<mVv+H`Rr>Ei;pN0z
zqD0VhemMKf+4<|U!m&2K_2Bj(4VCUzt{v_4dQKb5mM=mq2?0!CAHKMn__1~;v)f=1
z5(YFjI0h~sCLTFe(Dp~GQ9$O`o_-%{#P+jNY#pCCzc_V{<^m26f4?}rRA0xMoRfrs
z8|~sAB;YBxg|~vh<ddQrdmM&y4QF_Y4W0v!U7>8&Q#IyycoctY?D%{$_WWfy4~F>h
zML1sGA<wc`p@*}9p)KeOGQGSYQ6(yT^&9%JHfNOzsl_6m{p;&$FdK*a%W&Q&5v;a+
zzufg5b@=IYTKKQqZP)F8`NwU2<u>cBX1DFOTivhfpa8bJUpe*9F##)7<{js&07SHr
z7Y(zX+w{E*MgRNTTmRqGzWx2@vz~vDBC7ut%&U<%_P_e*=fCdK`ENA4^?C!(f3w?a
z|9<{I$ItJF{`d1AKmW()XP2)|zx(0x^z8c@$hN=y9UIPnt0nh8eAw;O@%)2C;QoI8
zKgSQ{)gv}C10dSUO5rg3r%)jDn_+hAiZdsb2qQDdxQ9tBgG4dA0jSf3i={tz+@6Dl
zgt4DkT|W#_8j&%yP~GmQP@sy$ltyFqv@jLSbd@r(tx$fZHyRb}=V3II5Gpl|y&);l
zHL4p=4dz%*fF2QpkZMvG<NGDkdM33BS5$D6YLQ58H6>S!#{qgmGbn}0k=GMI3>$qW
z6T)M>rpWm|qj=!g(QpB(dvp_WS!>Ey3DE+8-b?7|%zwYcVvQJDeJ>eB?^JSJ#!RV6
zh**6?xG`CcUavs9?jN0Nbp24TDrfTU?yhE8L%zi>`WSSNp+}Ex0RyN4GSP)Y711#5
zZGN9d6aI!doB~>c_ONLfaT>|JrVHZ_aG1`W&uc{131<L$@N(tByxqctv2TLDMwnG+
zh$c+-oq~RhM*M<rY0iY1GDCHdl~!*yq@)kow~Zbpx|uhyg+;u|+i%-KAx<R@5dldj
z6p6tkD*7DG%ycX=fgmzOR1^wGj3QVIvtILHp7M~|AA`YgWRQ}wwgoN%t{Sa7+Ibd}
zfQzyenAQsKeQ&r7ZW-6ZyvmR=j1?i34=uv&%jp)0<R>JWH2LlRRWRFEZ!|k==xJz_
zlrfR{k*#H^GgL(b<89S`5LMtp;Swta>G5I57UAl>7$|J|HO~`|;?NotuQ3*%Kreki
zzFCV=qQsHfcFmsiYBgg+dm&{reJ4(4Rgcn(aUh~k?7NsCVNjtILQu3?$XUZsTFu~?
z*W98Ln>gFZr$4EZ4cB)@zpu%zB;&Vo6M1a^yA0#+tVodl!ivR!Z@ek7&`XN_tRA0|
z^A-b32mRevil2mrg~E|+0UoPN02<@9JH)&7f(fO)Sb-TpqJ|%eR?{gt&&G-hxC1fT
zbTyFzM7=V+NUEXDse-H84T{sm*MiEf<lF~Q!8&<JCt9ZcyMJ?1w~*odw2tw2RW@EH
zu))x*Z5>u+-lnW~W;|7TxE3z1_x;&EvZQFa4|Bh7nnnB64?Wm3b#m~}$i5rsK){9K
zNBd*G{<$G6muZI4#EIN{^Im#9Ay#Ojr~cBbQAwTzwK%(217*k!YB$U2r0~1^kMjS^
zzkFXkJ$rio@!mo5e=AG=?{?b_%l?O-yPXb5(7((7pW){PoRE>X^s0YlM{p0577Aw|
zsKp!?1^qQ`lEMYEL2dfx>y*y7%Fie~3#Wc{4w6%E8#Il=(F%G(p9B}sl)tM!*3P6)
zpC_wn7R2Y!BS<C8Rbdyz6CY&ZfSjYTK{zGklm23YbrcXNjnd4@=t#*Pg>vW|{<5D`
zA7n7a*)h`-Os{Lv4Mr@|lyKg|KGj){O<i<rL-9L3*umHS(qfo=X$}M8dTZ@tZM_LJ
z{0__65#rV=+KN(p@$el2BOTeV*}w8e*Z%&0NQl89vtIk<>y&42ka#<y`iU(XiEHdb
z<{90V`&12Rr&-2kawGB_U^ltb{F*8b?La8aAYGUk9~w-z*bDTcKZgqG03|jQ+DxUo
zte$emn$zw-R?BIhMe;+U_uuh@Dd=OXsrA9oo6f!9dUiNpRIN`LRh*w&pA!4<#x)`e
zvmo76&MrkCde?|zwB*QMQ6uAngBM~5g_2DN<cl5jYpKi8r*E}1fqJdA-YD?^10f%O
z6<GekerhMPaOw9_gR=zV3Ztb^zg!7o!IiJr(_kQZXNUrf=m87DQ5iA9m^C@E99f5B
z$Uv@Pq>B}opHRUuqaYft82bc;Qi|uGg0He=IN*U`3u2vOs(z>>Ns1Ybfv`Ga264Vk
zsrSCNX;f*%R;TlL(62bUW^k;>NpO9$q{vZ_@ZaG+hK?}d6(j@<KKV~`E5tAkoIx}}
zNz>30&3zDu7bDm;M35=YOc5H@+Xz$qss}(!yd%VE3{5|<<Cd%1mB0UTHTkd8%Y(oC
z{rS89SROVz)5ocs=qZCdM{6Mksd0gm)ivVCEruAdH^hcL46~qUXcd7NQPE2;x=#-+
z#9VdKUx3j03R%HwI>!yc!MKQEplUMG=|QteM&$Cv6m}tYfC*YN9kGsKLlvbtOD0#e
z98H2NHjd$@LS5~js~EHA5M!Hj=^!Kl)xe{$S|Ac$MjrLlK&@fw?83i6#F$&bCZx=k
zl$NIwe}cnKjqF%&^7pvepyI6NpyG{uMz&eal**Yh9;GNo8ap{kKm2j!HJuM96x^zi
zk^8ivF72s;l}*P%#u!)TX&!_t@x;G^<FWt4)oQj}DFpIjWLJu{4=P{lDv&T`0VKiS
z292h@nG@fXwJ@1eY26c&Ylwk`gxmn@5<?=?pY}SBdam0eurh-q&vmvVfzV2#;MvW)
z-5$0^P;ZSI91CEr2xoOOIygA!wW$Nwbl_SYsP^@Y_KilP*KGAT>(h!sMk$w)qP>6u
z0(GchMnBC~x7Wm>V1khqEG*I1#Zob=VH>8Piw*1UdX#bTzq8u4x{Y4rQICPp^vuU&
zyj65^Mi=c?s|Q>k$L>0{8!zg=^Y2S#WR7MgIO4w;%!=7(oDKllN>Wa9q)?y4<VZq>
z&K@V0T8RNfQw%>gz<{t@N=u+}XBbk;!o*fP*vgN0tPFIM1-cKLHomcwU-cS2x4zrv
zmJ;(JY~1KRez(idKN26FN`GQXTS*nbD}w3L(6Ncw+C(4c?>x{W^}BzZsY>^2B;Z)|
zlkhc&4S5lj=L>Cl1DR(&@$Shq7Q*J7Sqn&l6&<uK*9P^CXc-J6r~1=Raw}FFwf6q=
z;L2*(Xf~MY^uzJSJ{;{wkJPh`v=dmiAMP|=^>8!o;fnq6K}%7w#o2DOx$7OzWvkU~
zQnQ^nS*u>}NUL2KsM~2f(yVDJw%I|fB`b8+ahi>`-aOkLgl5O3MwB5+*#r0@D%e;$
zXjsXh_KP|$&-AVw35Mhz97xL@`MCb&c`$pI5HeG<G<9}v%&lPL+Z+RpEgIWhlDBp0
z8?P$&wm|_%?JZF|YZ6|sn_t!+ZfM}VE<#Q>-JOfHZdH{U!}uwASHNp&-%^rNv)=g=
zVptqh5M834PGQ}ma7Pq*OtzrBf{eO|j8N0iX?6@OM&(y{%P_zi?7S!y8k><oK&6-s
z(=yWtw3)w!4+n$tj&tbEqykd2-cG}eL|iviSt1LwmBi>h%8uD{V$5a_XxLlJWV6;~
zoo_AgsCWnsL8DC5P!j#vIU<UxIEK!}GMrmrGlaNfCzEy(CAm_2N!uU|*&v;&>+T%<
ze*~Swx``h%J6NA_D9E&fDq(nq3GY~qfLw0g;tJIU(#YTg!aW3XVQa(nwA-5dBVKLm
z_=tZHwDt$U`Ki-p+C;eaMASd}L`ZoQkDOv-pD;&sju6RMs;VO9yn@JJ@hl{|S^u!g
z$xQ|L7t6L#S=)R1c<td!+8rB5cRoTP3YB%lLMF2oTVN;;S676RJ*X49Oi`Uit%LYr
zT^lH?S!-0_KTZ6P0uE~<-sYW;Zcs)}nW6m!<T>g3imb$3hUukcf3SE-OH~hRHDgFr
zR<;`s+#5l!Y|1K5iWR4LUL+e(@wAxUEuFF=qfQp7ui`A65gudFREhwB!5RT9<V|oD
ztW~qRrgXw3X9@}Hsl~GOtn^SaBP#H6ja^P?#^~DiZY8_*jkQnS4rqJ3X(MS!1*j`V
zVx^3G=FO_OEVk|Lc-~Mo>Juti8rnP8z<A09X<;+ec##r2yA!9EQ3jTGVQkAvy^e6s
z`IxX_D+;?4&PHb)DAXGc0|I|Tz2K*nH^PLFA=z(MB7875yVSKZNq<y{A>t6NSRNa!
zF2_{aabgVd7z5P+lA3NSjmOkAkEyqJmKQejm{-PMZyRiFd+nbb4e-`+_7NJ#t*x=^
ze^T^7!nch(d+Mu6BDv~M*uJ?NU*b0`!}rQ~wuUN5{D8K}{Jy!?k`3@DjqX}iD@-vY
zeYZvq4eAzt9q<k!S|8DnV+VwLecfg#3PxIBW=E5zi#-@%K)Z|^_WI~xZTIN|tav)_
z+5tngra+0|mg%&1zU!`5szk7gw;BBJz~onB<<kIDuCe=rCJw%N(6Y-PQJvxOy*y@>
z%YddUY1ukx@lI){0f%+XmInEu@d>vyPb@4F?LE-42}npspRf*Ko8wdb0Thx!miJw6
zQ$$G@z=|;eE8&WP;Jv4CswKCUJVK^+9o>Uuss?p0hC4*b^Zsa0)nk;HP>hfv%@XaY
zk|c*1PU!w1kpTrK6c?yk9<kO0Sn$mEM=E1>;bWykRmbj>W2h*02P<l>pZxUWXkk<|
z>dwEzKWz&HDy?lS|6Su`tDI{zrp3S|T8&tLr&CGsGpV(SCXq!-r@ZsI`3`HVz80+|
zOhZDAjnLZe9f2-w6Yfd-<5gz1xf{uAaH1(HSrw^Fo>99RYPaIN#Bi$z&D4S*nX~Z<
zSTJ!ndy&kfvy2X#F6zrJFIni#&D6rsvAJ^1T-6Ug;#@_PqiySNB+zQX+O7|uT1Oyr
zMox5gJHpG}%@i~SFhhDNIY&wS>yH8~lcb2S=B3-+G%s~)UOGGL<mr@4_=@wbaWR^R
zmB)0a3;$A=5`)}>CWhKrDh$*%3Px9os0cO(PgA^nTBF<DP$Y{j0jhKe<<=+4X1UoV
zoymj8Ce`gqI_J<c@x<C5IVY}*U}~-_s)g$|RnZRlx<y~N)z=*xXopN8qgdr63jo5V
zWkZdcPNE7{r)@x?2#!QoXtmIxEK0OlVla3RLy7O^S1xOb;;78tTGwHJoC3_4t8j;S
zHH$_Ds<Et`6tl3zH(iaF3v{KhxkgqIkL4nm+kzkofzlh*jDbVEU}Uew)SHORU>(>d
z$%V}fj7iahW9a7b;Ao2zA3#sUieE{TEvN$ZT#VW9{XWONt4%97mNw>OMiHL)F(6QE
zE``$B>L5f2-bq?O)6It=wbv(!l!1W*8t@s7$D(=Lr4hP0z3VD?rX)cymR{p{OE!y5
z-(9C;fq22uazPH%Y%2=()k{`sqw+^|!{MEAj^;utiEE!9e<5XUseD65IR?fTp=U=n
zEb9SHZz`_(rV{cL+`f?cIF_<NWD4mo!*~8H>f_{;%CP<*KLQ13p<QUIS?`p$=s1jO
zct&arq=Q3*9_j9*NNskskxp-)#PkJyAr(tvHTe_}lMyRu_t;*2DW@^wA_-|=IL*fP
zRkOOTyN^)k_@Ab=*PG3{U{*IfdB-Vw2kc~ia~~1nlZt&At9ld)ip`IP-aNM08MWx1
zPB39hVC)FFD|EcuFc>)tzHDYAF?ZALqOi+r&V}!bgpZ0|hGsMIY|VxrS3yp0SCFhI
z#etAd?Y+67N`1T5B{8K%AmWd9c5dWs?hBk^DS<ikDG>n<<KA}*+}9XQ;_nf2@h0|t
zmCFPP36L&EPgNbFIJ;PBKY~Zo7~!@DIucGg46g~Dww8^tL^c9XilA%oJb3#k^dq_5
zMk-!NHjFKgX0cj23UKYs415#lfM{05)585k2utQ$n3N5>=YvfP+EEMI+S$~fzn~jt
z29?@bi1UKE4~YrsZrq1$i|qQxBs;An+exFLabyW`HKXocqw8*>yJhIEcRx1WGyj@O
z)L`xo))Zml(K)Tm`?eNt5FJyvYa{i3iVdY{4W;$5hax4fcpSEcmd>+C_K~vG(hfsc
zxE-N0##l1NvlAPvv+-OsK74d}D$<i6;w)uc40Dz#;+y5=U1v*#^C6>+^EngCH5Dqt
z<<F?enNdbv*e9c{sq2lc?TH)PhJ4SiFlCdZ?)9Weh<BoWmKyaPiekd`jv_9NGq=}H
zyPS)`oy5h~@O(BRX`|N8sk8>Nm(XToN5{&H@Ge%iFfMnCHMnaVHl?dJWpn3Zlbes6
zE;L14!)>(jbmdRxCN^!6yAy=kHbw@w@hGMRyHatCtGyGrwZKmk^$f%fn>U8cOVHVP
z6JcbWLiA)_VHE-GY*5GB1{YRw+L#({Yl9nVgS$;tm!}mk%Zi0wsH)~nhYhfVf`7)s
z<8}4Kn9Zx1r_ND05epNl<eR<Z>@Za)f#qJzTS5gdR>}g{wl|MSz>P+$oKw|?7D_5D
z#hJC1vS$&dK&{afue8MI)v5xz_4=$Dz3h7DfJmto%Bc#p4twi$qo}N8Rqd&SSqFRL
z3R?K}p1m(^YY(p9l}{GjG;0hz-Kyno`KFuL@-FC-tlW<kvZzIf$gpu(dsX@Y4}_Qm
z@L0r4WeH-tbGjs80xBJ8hwSnN95*lM%6qUg75Y9^OwK>WowXrpTUJW-u1F0r2`5U$
zgY4NhAlCL0h*a-wob`NuDRzpRM1emZlqst2Pv^^fRgS{!$?ThrCXNA2B$`l;0nJGa
z-dYS9mi^H#apw;wo)o0_l*R~Cgh>i9vu93?hols&XG~Y!vbt&Il!T5|*QB}xi-^r9
zX+<n~C$HCgGN8_b0h#c44!9sr5aT&HmCC%-;^pgS*p_TsJM|_~h_0bYu>*GTgPptM
z0=MLsRpDqPEEp2&*?pR-&9a3|O&oJ#QwmvmYt?tTEYi{f3YNoUI}r4j_Hv|~hAwFX
zT-zoUjE`p16%dNHE2?9xxr3)p6crO)#%nT}^{Q`S8P%Kl#H~}2fJ7B2n`f{QJ;`u9
zTm<`q?dGiO!lTMHvBkv@+YLp8ELo~0ntBuT#%jIs@idZW;f!n`>hk2A0%l>cI)T<6
zK1iQp!eP1!X>#nsYaTf(<8~LEkU8)dx~69K9*R}!l-*P@HrId)tg$8|mAK5SXzwn8
z-P!9U<?IntwnTTGr~HFudr;}3!uPmV^F;uBnX3TDiwuAQ7q2H^b$F0b7Ya))!gfHP
z0M!*|otDle1Ej<qCvJv)C{Ym=*SIRBJebj%(iv39*wnC<?DBA&T`x9v0@C;+c`KA0
z&}=4xO_RM@RT$VHoLW%U%|g)Uaxk>D7>I;CXS-3H=`7U3Omj<TVLF+cjQ0$GZEE?d
z0x(Axm$r4uj)*tf;S4tmmVrtKhCgU+SA$lfpLOkGri6#C1DiIlN177e=ztQAH8QmL
zMrTovz;nJke_?Av*<GV=w}Ssw5uEjATrtPMI*eAai&Z_!saAy*&$p>~h3PTm4`|d6
zcCkKe7Le-AP3*m`*n9H>Dm@bCorTO!Y^kWCaMza%p=N3xN6S$lC2&=|QLO4zgfMhG
zRY+b_WnZdW-$eVuaeEDCEWAU8j0j}Fjbf&B+z1q=sztaAN=T-~%uF1D>OUSa3q0Jd
zHGv?jxY&jZpTkGx`oXMy5*=q6FP`-rjEd48O+sLc7eNq9&ODgQjh0fLCZl>e`*r*M
z`Tfv?liu$eR5L4Zu$H5!0@s|td{IF-kjYhgEcwQ)*SlLtKD>P?2wb03N$;ZrOL$C<
zl;atO;k&>`9nXttksMtR&Mb*3ZeevZV;EGmKMVbe<O5Y$QZlf8=ji1rN3_Y`b_`ui
z`PZqu^H_D^2rJmhd3HPLD|5=zZwfeDq3Y~H;@ZQyh@*;|!`-A6F<aE&kUv$rA+GzN
z_Pt!JhUr=EF>cUO+@O(LtT&w-Xv<WiOX_)}aS#s}X{<%c%D%q}mgMYqqMKlBOJb_}
zO=t{KcA>ydu9fA+PwZOIY7{Ei5cc&#pcENRkxChPAZ^_slOM*CZq=)I(V(`d1a2u+
z+iJtQ8avmaPu3T8GwP<B>ZDi#lNX9pqM|5XcxE-ziHNGuOhPG>3d|dJQq$T=J68*O
z7I5LRMB#b1KgO%htDsj=S1Ip5!)Z!(a${@O0+6o+5>tDVmDF2r64+u%C(DXzt`w=x
z7R=^&YmHMc$5i4@G1H8(@vhMo4PrW+hShR}p?@T56HaY7`Q|vQdKj0fQQ{|0pA4{1
zD=k{qI*Zt}m<_X-yShD1y`|WEV_0o4;%N5eO|TeMK{)|M$D1SP%ghqP$-WLK(Luw3
z_^NQ*V6c!c`}9Q#1AzJ=4nC@|t*V?qcZyN6I+S3e3U^}_En%t2nv_xRkktnE2&|oV
zWHYFU%@86Z(D@{6z#PW}7#-<m?ZLL2dBA^|T_HDpj@GTU+!ssJ7SkOuCh=3Gi}&q=
zjQw7f3b|4ZGKy_0J_3rzq*qs>5Fg@viE=!sBdqaEo9DON88nSOyx{cpPGSVHw*=2q
z%8nezp_72*GWlABQS6x{eo7PJVr-iZjH?ceTXhe1JuoWP?IxJLuletnHE*>HfeR|$
zWEVKHX2#v%<Eb|jfvgR^Y&!BS@~1)4a+py?cg=u<Hs28k5V5@izhU$y+Yb3Cqb4t+
z-pC$eCk+AlU|=(^EF*tjan_pHls6Ytaz&&8#+82&<qI^OR6!;bXHtqpgX@z(8&M9m
z(qQnA>zzK7fA{&HZ_E`p7?hP}f_#py++;CbqdDi=4|F+r0^cxhI$L~%<=VqX2oDJ_
zoPVxH*Ti}Dta^y)($;fRaM+72x{A!@7^Dfu*)g=1aaAOwYOW{GKJksx6Yz?Mb`(q|
zV@%5kOzI!TU@%iRf08&D2y@cC9~ba{v%T2H&WO3Qih)ZCrOBbBnxMvrNXN-GRt95b
zt4w3hkD8)nwDK#WUJxUxa*kmvT$sU}=Bq2v13^TI3Es195G!qyO*`Mx(6kTY?mRKw
z0@9LzcM!HSVolt7w%1FF^Ul~35Vwv|cUJ;+XZ7Z8ZJ%k?Z5_G3A+}yp7r0C=mNX~M
zvY=Yoq@`ONG{d*-q0#lE(RJ0qGgtx=7@yFUo6Q}JO`Y{@s<pXpZg0J6D2J;~5u^ZU
zGMJN4=&|B$_ukHN_Gyi1EH@d$nlPz1tC?K~JjZ3CbPnUK5@R+F-guzM5on+N^lhPy
zQpOaOut3@Bg4JK+VAEl0%3-Q^b`Hr&S1i|Atq9lF1+bB-hDB9pck=;eHfkUORejQU
z635}f#5D08V}~M(#W9%9C-<Bqfd(R*M;|=OWRxe5L>xLjR|>9a*4=hntC$XEtmt#_
zi9K0n!>rU1e@UVy3N;hos_41AQFa8l()p^g4WGK(c21nlU;s0F6-MmW%y7M0eWmZ_
z3xxzGDKjXjOuhGX#HxI8oBo-%iuuKw%Fd=O<eDwC`z--d<irb9@$L8+m7#!92iU}c
z?j%;$aJ{r>l<+{SmUw_g(z&^xD|>?og%qe0A%?#-+D5)%R3rn+=7<w3iW?$aP-+}0
z9kvW0xCsGD5LU|M;pJi_KK5-*g5}zVVAzFro{`%^D-Ecs0p)=o<wPZ70|HWIZwT7=
z`B+%9v>|%gVs&|GuBphgV#4ahuu;+VK(!4}bVqY<5K+nxJUl|J595Ae8LlRNh6RFP
z9T<rtv2MJLELC(uMKbS2EwJ;W*Or7aBs`JYq*yE={mLtRO7RR=Q7r0?ycIUPYH}Lj
zgH9(~AWhkFbR!K0|GQt~&-a<bCQ`c7LT999ZNHY(_8N`6uvdYD(aBaib|pv&0JXx0
zv!x8JnJFg;hio86H6__gs0cOPX2bHrXLwLfX4F>lZH&2zMjSr_2^}mR{APJ`(=BAz
z*JxXq0J~()S)DHsl+E&;^SQ%-h-?EaF7Dj|h8zzMTg?<WNC_s0Q=9O=-OQs;mANgS
zF&Vo?M(q^+sHDQhvOVxoHhY1&>l*oeqp{pttkyPh2|7a(PY~Jcl=p}4CjQ=zq}ird
zkuo*@HpTA%dnUs!O_2CDS2Ox37F9AH<Lnvv@8a^w=~+#~!}j0}H`n~!&kU`gUYM4M
z_GmlbJKy$L{TeGngLI5w%nY35i-L{`OSHByw4LLYCQX<{yKLLGZQFj!wv8^^c9(72
zwyVpwZC6cyYi?lv%q2u*=8Bc^?6VIoj)fx4gd<B=%hNF3o$<u^L}>)y9<f+>BZH&}
z-`K4&uV(NAt3^0CcO(w>NV%PDDx7d7S;Mu~OU9vi<ZgGq^2xsr=b8>X0_=#vzDv$n
z=@vu1IVE0l!dafU?A5FWo6WGhG826&I&zcK+oF4Htj34LCehQ6flO{cI7O`n@@};m
zp%rI3vhWFRr9jwC$%LaX7krc8Ek_D~P8zdu#Xm|iJg+?U?z;hmw%{%DTIBcxxp8kq
zv2}mdmE4v!Q{0t-ih#D3AP~K5{g!-=IH{ShBFeMUi87^{ijRqe0f42hd1;F6roQSm
zj4lXAnj1+K9U_c~{}>-c6^0(jum;*da+Cy(QLgT>wFV8i23i32;aMrpDonqNjJ)Hi
z$r7ux9EM$<lDCs6gw*wLd2=OO$)C3!7iPfNo*MOOG8@&6gJ^M6>dZuOGo13IQmP>p
zCb?*u$;r&jR5+5gdRdTi3mb58z@^;MqX2_<b}bSo(~tphL@mGjmk~x%=4vwi0FP0O
zYvAaNx?U{tTw{1M5skrvLt@f6?tofSmE)>SEgOr?XpL?XmUn=sTG>ocN|&BTvpV=_
zrIU${kLh373>dPnPCdWtPE^B4Y*Eac@%}rKdlX!O1}Z5*kI$@w1R&UpV2al(jIR20
zcEMayw;JC%wRBZJu1u~UgS`i~L^D5P{EiHHk-+<+DG0rEhUd8(Y}cfh6}hjLpfQ%=
z|IBt!iF$rJ4`gjj^nmMa2kA*tV?{c)crIC88}P}Fm^U@JVr;gd0Ub23GwNc>;SHeM
zLT<H$(Dl5Z0q-GFG@$cx{q}que3<+`doe$$mCqU!Db<)d*>jD_RjnQPxlA938$zs#
zj=cvLJ{Ok!Qd;t9q9ID_kOtRDqb82N<Nd<AjUb}Q-QNN*^V_Q>WF_VQHvXA0H>*Lm
zvq?iZ)$_^l61Or`OFg0#7phybjud2OqHN}+Yc>C;kh<perEP=nW22tYs|IX{Ts(#5
ztUI+gVCZ`rpk9Y<B7^v8%2Nn3g1y;7t^Cg5)NQY_XU}-tSq9A4akUG9?#Yw8OuS>l
z+GUHlq;^qx4!6!^?yKF|PEo8(-?Gv8gjJj(|G%(W#}@xbR!h@Vyph8S<pMu?KfgKW
z$qYtHgJM^jJ>N0w=#mC}E1AW$C8G!QIb!$`x0sL6^EuOV_-xo+<K6W3uYUY*Ao~Y@
zBG6({M{pn#{bWPw-)jAgjShgXz5BC(fW5g$Cw}|66Oift9bPetkcn>q{ES1?OcDS2
zW_nQy#=Q8eQF@Yz*<uEy5F}}RvvNs6f8G=j;!k1LZatUXi9VFAGZ|~e^-K>VJUZT4
zr#5_M$`EmVLcTF(6?5)tKM)higqdC9L^?Lzd>l?Vu^eY$G+PB+?7Ha~Y)NVz>`=p$
z6r@s0`l@`qJ>H!11o(G>(H#^0I!RbrRT+{w*Q3?>AUqD&dVMysnQ8uI=Hgm0^|VQT
zNIFXz&Xob2d{H#)6Sv!?s#au3ivh$cM>faxhHq@3S*cn1K><sg2SW70o0g`}_;A2)
zx&}0ExTJpwDS46sqh^Urs)1mO%{;oQ;|vMTE)Gah059th1IVT-4v+N+w=tZEdl}z*
zP=9M2i+DyqAr17QlaQMYl&)Y-s-qsZZHL|;dx`R4>k7=EPJp)=nh4`C9yZv5!T#Fy
zb(PpCKbWx-ZfBKiPJ|=7;3##1MsgkPpwA(LosT&K;LB7&v2pH0-Sp5br9(OmM_Mkt
zDY3A<Si;5tUtBD(UNC1IyL{M;3=(tr`W-^lMIa!F{LVgHhL-Xb8%duN3`X|EuU~9>
zMN$i$>1nG96eINw)0IS*-oJ0Cy^o+_Lp;VL&}@2|7g6$u4OlNoaj?!co$Od)#As_g
zbfvi#dk?do@slhZ4+REV4->UVG32P!nT^WPQU*_2zs1_iLIdt{e%-O$v9F1ba|Mhi
zu4u+omByUJ!SRicq&<BX>y9$PeZ7(YWJUAFZ*JFz%41Qr1a?q3_?m6aWN%)1rpC3j
zzoUnpMCm%8svFa^F14i6%JVleE`PQs^t31LzPU{?#oe&-WaCXF448g|5m|mNA}f+q
zV<D~TWW6C#OGDWu5d2vpwU%f<>6T|wO0Km<<x;%-vnV4;IA*hk1nem!t{I99vnK<%
zPvsZ|did1~u6g(R{H;|pVJYNND4+isI%VIc3f&%oL(QE<D}Ub%VJd!eck@giJ|pG|
zE0RNxUP7?VXA5ETW9e@R&7%h;bq%03&1s5!3NtW<jvE=R$W|_$c6yzbsOagd%aPTb
zL79jsC2mG*%eRTJC%v3kcr1@i-RT<2JHvJX2Ee}>N+YH?HNx6mw=zXq=I>VNA3n;i
zEDxDvNY5Drb3ZN~KOX?+@<=QGCVo-=->r$}!fd@+OXIbBv2ZdXf2hkr40RNN<!ci+
z99rQ4{}J%fzN5h*l2YjPZwof)vCs8|8<Ch*UqEE_0m=zR>CC)N-`?I0Mrqplg+`Kd
zBBMj0?q(1u?@`Mw05RQLS=Bgh(4l4zR-wM%dAFV>dD^pL<P$z_-#!K}*M20Y7xttd
zQJ@EMbdu*#^O^e5ft|4l%txps4TH2oG^Ey7L}2;2N|~tHN0s|o;GF0DcEPswPQP`d
zX5*(Kw|3L4d+D-ei{1CyP0Q|rru2)8+#qD4>%be$Kb-x(z;M|)vqv37>F2v;MPGZ^
zs&9*b<lUXSI{L}|BE~LrnSlS&?ff6o1-D}RAJVn6@{{!Ak4S<kQf2XE^rDvUkp4+^
zdJ!Na4AQIZSEAU)2<8m)W9<taGAYWY8*dx(3s&dZj&Dw+mK?w}E|fbcL)LD~bd;<E
zQ>zL5=|$N81fH%NW(ec0=|j`YJ93Lqp?bFU`{f5f$?F1+9#JlKQ7kD}Wmaqgf?%Y)
z=T<ESIwb$NY9%>Z@2J~YD!nvo((CSuxi~QF3eL5X-qNV5PKw@oej1*oOVgo7x%8a4
z<LM3EJuSw_L{fB!A%Yo;N)xmU4Tc(~l3IIW!@^Z(oD;tuxFlD-<rF~vjzg#g`%ABH
zl0jOYFrP&|eKs~ADZl_Dk0p#y|1JWb&b{h8^_OGB<DeB>Dv-FWHZ2~8cmj057ZEem
zF#cQJTT$LV(1iUz&lBLt(@C{3Pd)oLsY8)%924ZGOmOdNYt9f_wgO-UsKQ-H^i>_#
zAsTBjn2co^fDt!*7B+rMDMcS^4#oZPmq|=!T1o?K4G$76tHYkd;17u<<qvr&Qhy85
zSkAV5iM+CnDeAUScuOe}8UR??wNFc8w0>_aHJy;--lr;g#Fd_R>Rn5pRm(Ths*Q{e
zc~mlBN;(f$S<o%tp=x>Om_H<t{@vClrs&r33n&>;sZ?#5;}27`(oi@kmI@*oZ&Mo4
zX>^M}Qz~#^xgoGGZyzMa^u7n$D8gL4;@n*3X`sm<di?ia@WZ0)kBQEOuXL+@P!r*Z
z=V${R4?CiA<xUJY)cP81U<#3?xq?qUXznCIN~(RP(Jl)=+TTE9Ot+QBK)(w2AjQuD
zX`25DYVB^mK3-0L4@)rag^`f9HK*$gmFXX33PRJBTk1G8$Bs$;!6`0q+Jrnp3HjHv
z&_PouhyZ@0c$888!k=DKqMDmOTa>Ii`e>+$&nl$oV@yLg?q#fy*dUuLT7N_H%z<_{
z@DyRL7JkdG-8jK(Gcfbab&Ga2);cCvlAQXl6Hh7IDF=HkDDbaDql#k0NV5KHLf1O<
zWPBE&4^&GS&z`DONH;YEUlZR8gvtU)#%*{wd@iP}jkAdyoHm(STsjCB*0avXMNFCY
zH^T?3^hVxd{DrB3Ow0YAeg|%N;3)v&ub$hN)*tc90r58U-1GH|)CS&1d1HmevQDa)
zD%T-#swb_84#n`ql#$n8-kURXOH3f2<SxF3O<GW~5sjr;K3)R!FLgx?OBh!fCgx-@
zsYW){kSD~q>P<Ben=#C~PY>^d_x2M*#pW8V$?c=!$5dW?(4*F!Nwmoo(P-$1HGdr<
zo-7pbbP+f)(7@85rxrD?+cZjmuJcAL^hHPHEEm;#Z29o$Y4)uX8DOxrFjydy6L?y-
zAL$Z8SGDlPvOZu!0rzAR>ikraijxuWJZfou&2dO#W3ct?So1)Iqe!u3H8623qW&~f
zenJXLhMZ8f1|Zayfg_=lBd-qU4Tj)`1E#9HI)N(U9Qd=~*}MeHm<$HNNJKSdwGlvA
znSz2OU348Mz>x@uw?-2ocjh|1bV%1)G&%+VV!hf(Ts-o^-+_`wgevDMwcF(n)rN{w
zDYHAjU-(>(<zzUvAOGRr`=70TK6p=ABR_;ue3k}9AU-!myov@v)xK=ZG=%XB2#6HG
zTzm1rGN6nT@;l^(93_NR>FVgpfgfZ>)Ae9rU)-BG*rbF#_;q%{XW~=oCK-ZcY?pg^
zM_oxI#`^7pQV(@8XQ2E-)Zkl!Xqq~MMy~TX?cB8W14H8^JUFnCQN&$IngByf`*LW$
zkV0*x$m=+kfRTAq2*}XA(PH5#AjkL;eB(YLJMCBGQ)DboCcSL|?ktw;q0+5-WinYp
z<Lie8()L+NE%W^-;Q)uXXkfv<877jdM882AH=g}Ocw|#Isp9s-Pa?jF$ipPssyd=q
z@FMXn=4#IQF8aY2UMkjLgPPqxS=1f0c9r{YyV{;_zEldrjlw{+HbINzv6vYS|9sE|
zreKIbKG@_mT5_d_hj=v92I7p=o@@!in%&G7HZB@o6H$)t?&?WHeyZF7%BqTEaZ1%I
z7Z4wd<V>0!Yz~gK;#MHd&*mQ}$>ymaoNpS=X8#Kif)2a56{9uz$C3qcxfHHATQz?j
zm`j-N<m!|`ohu!}jW=1;f1SVNDwzBXQhI5O#hL$1xBRf3!=+vIy0$J|cVyS@ZrF7{
zbbj49fATt1AXEnOt~moH9iM&)Q1MdohNEf336+L#S@5A1?!z(>`rEOb`YUBs^qmSW
z=q1`PJJYN8I5%~;Vb`emEn2&JRZGAhV=SI#r)kNTSkDmb-xS}EIkdP+x=0_vDB%Xd
zS25~&1oH5~P?4k9nU&WU!tq8h)tz|YQSkKTDD|~Ho1gv_M$2uoyTogEwc;=-zD*8#
zS2#B&2Gu9>)r!UjzPk+=Y(*Mbr>X-=0a2$cyU%?|cxQ`-o;!B2k%kqOmx7pzHxv=U
zcJ_w{u}nGJQe90TQvi952|AQ)7;7DbRQ)6XVm5HW9)A$ci;+Pvq9oC6M8Wfny2%j3
zr00TEP~!o04SiSbO9qmKC3o`254U>Y$t^J&xuNA%WL?~)f5Mnl?oPZcSFJ*uJQ@HX
z{7n)xX+HN>n9R@_IfwWh%ZUF6D)Oy>yv&JX$?oY!%N7AUP!}K=q_E@D^6i|E9O80|
zwE`H7ZZIjr=2QOa)%GyUFe`$%DGRBT)DXH*JsB&?cpBJauZChjN^sNF69bwIR`Jm%
zV-x+rz!;0-u_{YNPUIZ%+N(7pTuBRb=jAts2tNK033qv|_!gYm?(PuDQ1>)b1X@p8
zu>ez3$oO&R){%uA6ZNnJjZyzmoSS{Nq}j)Oe`oPUd7}jw({kF|{Qd_8mG}#sO_J0B
zPT6QGQn^<+w%G^Zrs1AY=8`oW*r01%Kd4G;84S14d+e#yKE(+7@A8POUT(@0)~8z>
z$3SVI_x-B#CM0mVD+`9tqrfy;aiUuX7`|}>!`Yo<t!FA7JU}|6hktWJMF9QK{SvZ0
zR#P3nFfzoPxf$1!l%pyD=JYDv_r^oZuFXz#(E*UC{9%+V6JJ&|>6fRWpK_3LybHzr
zEV_yv+CT*P33zCHd}4{%7m(o{nMGrlK}?rqR6#`6Iw}b#bxa%k6x8?Vq<e~T%!Uqm
z>%8b8ewjOa`2+RxQM|gCV(s&!+N&RRoMa${D|MBRW3uU2`K24v1z_|UaAuQjqSLJP
zT(Is^iz#;rI7X)>Q<?iT@jbZG4>;`Z#SCl+t#@SpjMjVlR8S=icKV}eTC>XLUW_RR
zr$o*rNIkNWN24s=L^WrSTzTyX{!|HH&R?VGKO(M5aU&eV5|n*+zrX7X4!^(kvx$<)
zRr#-<dho=BAw)%oWeVMZm$<`JN+nYYnXtyU_SQesU<8BLk6CEQ^u0_V=X^9dR~Gd*
zK33fv6Y)-xYcDyT63yx5#Z6YNMBU(zyu?krEN~t2qpYaoGD+!9MV*k2wY23KE^YY4
zPtf5OjU}Z{AN+hjnG4N~9O+$6?e=t4v?$x)2>SPMG5jCxV2ijSM{5ogi<le0Lk^1|
z&fmP~+EJWL1*}N<=l1y6_r(NFO;mXFHppS+_OdHCjbhm~Ixh>(05x5BYeMEgMnLf`
z546w#hR6<K#AC|u;#wwSA6#^Dx1nw0$&h6>3)xVZovuvqJ&8dv#x%IDjDB%Va2Xwc
z<tAa;d&t3$#S5?Q2E?K4m$z6sBGEp$Kl4oR=*{s6L)O1#q@-oBVK{9vgLC|0kg&10
zmPyN?CW=GCf4zXSp5w5~anW0a46_hRiLYF`Qb_@GbtqGe<r~7J6ca<$GHycLJLC%R
ztEw}|;Jtg(1RBVXavv&^XI~TEt13q<K!n2u5<FocHO<;O7!QP+%wKGBzs%C>^QK`r
z@XJ09K=pA-?5wwL($#={-B0CC?Ro2|v=A@5wM6-y3X`|3J;k31?~)aK;EOkC#2R1{
zs=nizs&_sIEcJ48c{;sa9*)1=frZn1;7%kPM}8D(5Q^F?2GqIEI^sKEH;p~8Q$isC
z<@7$>!56W}V#A#tM+>tWu3{CV&j}m0`dDf0o-Zyy{a7yl<yDsDEiBGG4B~9?-EUXc
zWJ)e47(_3WsKC}u7v40!Wf|*f8~BB;U+h^g%cMhs+dUnCy?lA`-8?PRsa|dwg1bfq
z4Phe~Ww$h)|FHAZDCCX$mYU`TgLE%6!P*m(EpagXVkt{(j-w~Nti8#IMr}y9hMd0m
z*thlpFew<FxoUN47KlY~RX_>QnKBxdpmo_DmfNAEvOeAdUn!U}-VS>Zy#|%aP$$cj
zEj@=@+*$XsnF+ECS3#y3+ezVbcIk{qEm7o2+r#}s=*&PX95FN=MX~4FwuN)W9K|Uh
zqGjTfrj$2o%V>hA)$K?O#y#ar)6%iuUHl6I&uXBytpCQ8iuTNHyAw|}HY4U`8XQ~R
zpFw^%&oj!J&-OfK`LE5Uzc8;1_`8wOGw#+aB;#-=is$57?lChEP__;kwyUlq`-j}B
zHmbB3t>gGrd8aw1n3uPEe&mRUwwpvfgyCgZK%19L|2~2SEthGF259UV*YL?Hw*It4
zmK@s!8Xh%w(_@Kq>{<k;Cy*ITw#v)UM7=bcET(eL-#zXXAo4}aJvqYKMYF(_$0Iha
z<jw{$E}v3;S){C=;!(7Sw`D!3jyzEnPJwDh<XDm<UJY!n_Q?+}@svJ8^V(!;%$WD7
zL}9gb?9&>8dF$gxY!Xe}N%`GE1Jn&@NUMi24G#_C{^m3a&=V0nEjxk(U+U04%E=~(
z=@I?Bv8LUCzadl%#aQYLLrNt*e?_St%j<og&e9V^XfXRxP;d==nve54utH8%#P!`6
zWhZn>GB2Mwn?G$sH_I{;J4V`GURyQ{g3(~p-B9L45HCHo>Laf8q6|BJq!_(QS>h!h
z%@VR1WNMy@2=&F3lzE?PX5)-7EQ@aNqKZ>Ec=aj0Sm9*~OcKm-LnWK059)hgH<I%$
zzvPM!8l0=tyg=1oZ&y~y1DiR3a0DQ@z6M6yn6$;s0Y&fxGU2c+G9x-##GlKnegP@o
zQ7SK(Y(_Iz3D~s`z0lHlmXY3I2BHwXme3ILpXV0Pf^_d;>a%O@)A``IPOLDy=~0qW
zFYo*8J!b=4;5mOKB~MgGY}*akoYhjv=*poxA^IziFPFBB!@Nv=V*1iX=89?(om2mC
zRRBpX3qw4G9|dcM4^>Bf?Na!7C*p&?)6#%vT>dS3IN2`#X+=Pvg#j}`y7?gNsgnl2
z^cPj^89%{)S0+J4krCrJc~nBWSt?lB7XVeb6H53VDvjc!c=jkZaODo|&U<&ccp%F_
z(Z%>Kmfr&ZH1mW-N|*FJ3{z7_uZ>P+e9{Wv#{w!I$+YTHJ(c<%iOoaV|GmR7u%x3a
zn_-#67l#S|Lb^vj5niWbxC+!nA5k#NkLuP$tJG%Dqi?tdZ!Zv*G7#wtL6P1QP}mCl
zQo0SRv968DQX7IUaHmXuE@LEKHRL90D@8Co73}z?qUrqa((?GT#;9G{<HPYtB-;Mp
zAUGa2vNRX=pPni>Iy`a+U!}o3_zD`LcT7{q!WzkCMrnjY=UEO{DEvv02xS4;xZ^k&
zxKJ;gB0ER&=;v@O|3W#FLv<P_reDTA_&P3~w8bBs%ZFGd@B&0=$~BG~lf8I!$q4!4
zDnjo!Yk0h2XkV)NJ;Xj&eQ~h)tP91?gYM_?l{`krx@$SdJNMw8`orhdj9WOv%-m<J
zDP}^a#+U8yu~!#O45i^qhch`^epA-b*`}f-_ly=EDf>e)dzx5n`mV1&I)Bz;8~>;F
zp2wXewC};y4|ZDl?mY}<uHn7-HK0O=T{;@QgCSue{6RKmr0CE=4*ThAcDnd&kS^tj
z60uDeR0&fUMhg`5(I~CG{U}1<H@ks^(F_&ev3XUJPqMIuDdo_<FWBtAL`F@(GCgrO
z0&VAt?}OfiS%I36Kf^q!3EYu@muEXxTVI5uw}yQ`;Hs7vCZ`|v(H|G=D|wEDA9Z_n
zoZitNZ>TrF(l#X0@h-&KyGAZjVpUF!<CR|!%0>R9pNd756KenB8>ah(t?_84CFe7L
z(oG{FR6|bMqlMzCcKF%`a-6;n%M9rA!)7L*x(e~fZy+g41idA%MQj4G*@QgYXEX~t
zYfnCZvt=J}V)jDox0x`o#f?MQ{_5{x)HQ?l#>5fD<*PwdJ-ttaQ~=_MNiCFeFbzR3
zB)iY0iF7;?JZ#o54N8@PlBOPvZnTtLV+u~td*#3kcBFBAr|fGHmvTk2_|?Ctk9xV0
zQOVE1#RjX=)^<yu#*WmPVFFGEP;JVADRV^SqK-3p&tJXpV!}a6&#y4BSx$n*(^x_F
z(a@RF>WxRah0gLl>FvEU;5LAzzA_PVlobK4Kc+Z#*@#{oBZHaD?Bk0owx$7tTOf|P
zyJG!X(XbHS1(J#?#k6Q}feQlLY->fO2(kL*trGwGg*~#5EJ`eXuKW(EeW%8+#ygfn
zY)gP25t6EBS#e<nI=A=ltH(S<KwCo>jc@}Sl@8Um79xj7qY3cU1|E_2>DetqZ<7!M
zuQMDd|J~G-ArRc{%vuah$(p(Po^g;%qT7*Gx?*y3pLpMnAL^W)n=-YZ)IgXl_jsF6
zDy8Lhyf=tHJIW(_GL$Ugt6wGDKI60$fl|joHsncHjuaquS!edSA#Iafk)FP7ablY>
zSMeE(jFok1nr9p{16tB8Zp>zhXFZ4p<1>LP&5f$Co|~ud=nho>vPfiy-Hh_rNlt&8
z;HS6H=YjF)f|!fj6j(^bpSnoYwPxaxPc#@AI89R&AtiS`!Ngj5>#Qi4aL$Lu4{$a+
z3ZgW9hinLm*&({`8MGgYjE9i;^69x}n0jbcLVT>EQ5Xpx;}YSN6lgHKzM;ORh3l)P
zm-3$c+lyC5vqEhZZSHKD(xg(HoMT`!4LCeTT!NY*Fajp_OTG4??4*OQqNud7>(F0Z
zc}FhAqAAn0lg}n3<=B<#0<%IZgb1^IF=Xp@H*cjRw8rvO3r?-mvp~0S{*+CdFBHGk
z|CZ7gH{q?DaDR~0LoMR@zgUcDBGT5fa7B_yr%`#j&0Hvvn^!VT6TGeZ=gr|mwO!$g
z$KpYSmnZpwe;_n8!+g`0)e|;-%=EwiL%l`6lby7Qv9Kvgt^zdH?1B{isdk4O<yu#~
zE$cx-3y6QiX_F0lL_!nV-pNB($7S*JnTALjP5^(}c-LB(+%OLPn^Nt(^TmcOH(rQN
zex3<U`~$)LXn7M#*k5QEVTJ2)e*qTP5HJt9b%((8>yObtXfIO=gtqTcuWiBsb0H5Q
zGgivb)bh@dnMP)Ev`f1MF<DIRWd}is%+Xor3IY+l5Rpn=KffJ9ZlR~aRT6sMws()M
z1w4y#EQ_vAnfVtjJI?dX)<w{~PxFemQ=QqdZLh5+zqYJgGap|86y0F&e|Wp$L>zf+
zCGaI)1#99^C-do$YBU??m!sM(3)y(+`D7ioOw{{hkpyO_@K|Y0>@M35?xStJi~>wv
zb_KO;#(Uj(kGgJ750R1cCfH5=Sjn3(R1=&k?NHDu1<zz;UG~+&WN;lxp1Jr5ZDA-B
znhM`}Sxpi7Ul(s~*~wYIOlNSsmp0;_YxY;jB5%TdzdM>BZzf1y-7)2N^&$MQ-i{!B
z`_U*RhEWrJ?LIG;{kF|M{hrW)N+-Z8*ijk4N~Mj)EGRP%Gm8jsr#ozJ<@U^1e^;oi
zx4rg@ImA3QhJqr(5TNx)0bf@6{2~z2uY=>O5IK|7S7=UB@@Znz4FZxazJ`AH1pClb
zK6Sr=Ngcet;LNHjVX5rgdM`Lfu3(_ImP<Rmc2SDAZeZZ9?0iyt^-Dh(ie2u5SA$U-
zRzg<B$|AWsZYL_jil;Ju#yE*#^lt@LQLLO-qe}G({an(Rbz=wf%E4SH!X&ejXXHHa
zD*vt9T`ou<>RG@?h5s0`$SlX&Rjpy!c0Wj2gLHr@-B>mtn5|AD#Ztb#?Svp;h#*i6
z?DwbYe9WrzInfy-y}rm<Z8tFWu95btDn_8UEt)m8?o0%aJ;vcU8h<9oqw>`;ZyEx(
z(bkeM!UjDP70Fecn|hN9ishQC`P2=-^?e~$?DnJ|C4F_=p$sxzT?H}1MUL*+L23wm
z-aLRpZh1z{5potR(Ky~X60bl#FhV^5%B}1F+caI(fefrt-3Uvbx|XMc4+3d)qZg!^
zrqs3aUaNO2(c$W82EFVmloXbNojb?F^iZ1BRl4Fl&4yJjBmqq>8v;~I4l9^-@5WdF
z+Q5%wpNR|+@|W+k74tZCss~<Lu0AQ^bK{Z;aWYvXHr@>GxgennCfKU^H(A-gaOo+(
zvUA|urkdKizu#@4iJ@#Kdf0ltqer6SGa^&n$ay6umDD^Fae&T915=uH3PU!B@aHUT
z+2<$S&OzLcw18?D^SAK>85I`E5lR;kHw0;yh2^<^VpAF)BJC^wrgA!o`k)CN<i(?b
zJ`;Hyt1b{iXa6VcQvc!$WGv9@=iCYP@cibB#O7>$_Eec?dlPfjWuL7|8p@fU@s^N%
zGnHhZX^5>u1P9ebH)1AIAP~Z+az!TXNtVa3V-4|(5vFn%OC(jCDsMGx7>(-WNTbCS
z)wj;PcMb8T#1Sg9mk@!Ejk-FnmmlD@4PYXpirW#k+9@w9{A5;-BfoH{qVITkzOYV%
z?~wH%0_~y(Ms@HsnZhHKkuGAggwLL&Z$`_~7#kAo2(_|+8j<T+q<@hyj!GW2riQvg
z{E8-u>;&12@G8^f$}kNQs0$|3v6#<zCpR!g)@EQO3yJ8;-6GxeP=f>e{W7XG1q%Dl
zosn__{3rv1EH|6Gwe1<Ty=$+~b3>4u%g6WC^K<z*Jl=OlM|hx3Mw=wg5!#Gbo<_QU
zMX?=@rT<!U`2wjf>yp_)znG6&L*_{DW&~{o!5vnX>Q1fdxLXuL?PMe~fMQo#Q_9~$
zidK<SjgWE=spJ%_Yphf}xo{795Li^R!r9<il4YBKY(dK4!x)Yf!%air0*!_!4b7cK
zl7l1nOLsfme-m09G!A-+O&|%Bx8jpFW!cb<8V3QQb&dmP=nCOY$Z=;GiLoDOiI;5E
zcU3`{O-5;w{}95`=k<2T=T*_d$HS^-By1*Z;XUH`X{fr>Q_mRE0yiqk)S#}SWwmH*
zBT&$+7rxq#yV~iM&lpH>6oq+7-%)QkBc#ddU_&dRmcay}O-}B@s-(QR^mTHr*3NpA
zPZ7B)_P$oo+AEW<E}(B#%-Vbbe>G=DLF%G3Ga&RL+1L9uuHnI18qZ~*zUDkdgbxKw
zx$x6_d&!D5>#x8>lh#F(JP3f&NNWwaJ6rh6yrlUo86UbDN>@27sZNf(M%>IIDmQgG
z_0Nj8mOY3|q^(h6Zt}9*4F0Zgh6R7>)fv#81$BMBpa4mAc2;A^S$HR2wStT_hq>O0
zWsGg`Y!3vylZD)#W@h+TQ4{~)CT1*ECAIJmf4L7TOWTh2hjTeWsZF<9Uni}`H<}bj
zonF}QW;?sNR&4Pd&uX75f+{<oi6twI_hnB+;qq70`E|*{B~TG>r6%?Viz^?dCf^P$
zhpjFw$}fWSfY3hyaPzFa-@dl2%$BBRbvWg@sQ~Ae)a|9P=_B*PX0*bmpyT_-d8<p1
z^Nf}o(3;A2kgI>IiA`m0uzaFS-5ISrlr!;D*6P%rx=^bVr2tP+?137Y#Elf7s)o>>
zlMeXV18DEHjy7l7UBlLysP=CT2}oHPecOI-WCo;K&j8MKe+~X9djKl)E!jR@CEk5E
zDwo_AXp617U;8T7&prSls8q3^42&RnEFc<nvl5#WE^4Eubn=7%#kJmL-z!#HKcQ$s
zD7%v)S7ts`0?uLm2OHOD-oBaueev_s;-yy@m!{X?eh&Y(g2mDnh`ZVmh>mM;C_SbC
z27haJoJ`ijt^f9!U4`@&@8sV~*QFPt`Lk9Pq^-RgvzlR!dWCol7gnKq7yi)c7iHI3
zu0cJh`1F8ksTkoYqr{x+|EivT@}fySTBP;k^2#$E2MHC;k>Ri7M)E#H7?hjXqbP3f
zHbkJzA{mEKcQJm%0?PK0*W!6Im$`GC1?sqyiKKyL_Mzw%l3#5gUZm7LA8g;H_=o54
ziOon$-MuqgG#}D}TN`L_OL-O}78eWdIo_W1ZsKjQ^IWt`alIlN6EM-J{r<hus6xQA
zCE*r%UMp9*rU|-!3AZEG$6?Ru=>f_CZ1zY0ZIXwelCJ@T^F3`{Q@62^9yM}ukRj3B
zb-^Q5ZG6K_n~WMy>l@9|)<(hlP$5X}(N|e3=F!aGTd-&@TsotV!2qF2xvB%}0UB8R
zZKY_b`9QbC*&azW{Tmw@w=#rA4|W6-kwv&BNZ(X*|KGEZfz?8~VhjR&R*bIp-<Riq
zCjGUt#0kF^TP+I~N818*&eRY`p#IMA%4?RdOio1*2letJ$kdGtrTyk^VxRKG3xU0n
z(e9Vn^j+k@A}1y$&0Cveu!RJ?6*XahQ#TPis!P(6sHo!3EVgq<qH#~&vn*J>?FR!C
zrvt4)X)`?*DiccMHz`-bsh#qi9xJD;C*?9%v|}C!Ll7xIFR60|7xXQATb7@Hl~&YW
zck<N#d#BC7t2>O|?H0em$)+X5|9UrP7{Von>6f{EjwP}(lqq7GKlcArO|g7mu9Pli
z1ui_`S-h{z8|sysgIDlQgz3-BcwX_Z$78h-A>Ha5HY*=Q3V77>A6c<gEosqr86-N~
zcxyIc^E1LAZKfp?+Ly-+X2Kcg#x0vg!foRQW|zKlct9(6o9Q1?S!k8^X;m}WoBIqb
zNw4eIqW8R9N9k0%ZJE@_!j=QSvoh<YR~j7CU2}v9e1of38UrpO2r+&0?*&H_Svdw-
zzSo<y-j~t);(O_<k3*?^Kibl{3xC`+KAE5Wj}o3kZ&HDT?+eL{WA?$k6{&x;o~wlS
z_CyTm9NOfuh832kV}<f1pDgKV{p;}H5NByVwN-w=C7P7`b~4Tz!F|Mgn{~dlMSL%o
z=i4I{vBqL9JiJCKga%oO#yns-vWRZfS?tke2h~{HB@C!nGdZ(YlLE{2B|b<0HtV3)
z_Wg2-RF?kMrsJATG)OBO`?WScoy0kVy^rxO52_Dm4>_4!mkOOI$BCKes7BZ%djk$G
z`y$f#jga*uBVKawN33s&rYajh-_WcGIuMEwt3yKWXtw`XrR&!r95}50ft>1R9`zkJ
zLLp__{yT(QzYP7s=<t%73<I+Nei+8H1m{)bzOul{EMzQx6xJM^Xy0@jF=&Y&I{g=Z
z;eS$PSjatxf4Y;3TWn%>#Aqu+2jcQFQCvenAwD%NfAC6Uyc`>9hKed?86OO23bpm4
zvB%YIi#mIj7xv#|;N?=bI}C8!9D!OQV5I2G$TM)Fz&#bi_)ai%axF<6XCh4m|GD!(
zOU8cS(${lrz#qh-pRr$`EEdWB(=4zgP7%%5=z#X-1Ys*5ye=5e8Nqyn@i~}4o!r0-
zgzWFbwRD9K_qpMosd+MyO_`WP{y|5cRk%kdcXx9PD9pE34HCkEAJvPe_kQ0!ncANR
z;8c|1&02n+FM`&2+r{$le_G4tPCJN;pT&*ror@pu*j$KMEh{6>h>k;8u9shxepGYT
zLMqW%<7}i^aL(E^I$hpwp3kihX=xZ9G6WMlJ6{g(pHSa)Y8REN=}ouyr$^&7KE(v+
zr}Y%2_w)G+C!=)*e=4%dpvoMrJydqA#~+p`;L~u5I`Vv~E`OgkPX+0)vK|P1H#j_g
z{<eX=y&ZcqmP!DOGzNlQ6Td3D)ApuL-sW5Cx>+eVGdm!dRbW<9+o5d5uRsY=(^c_Q
zkXLW#QR_JfrItCI<7cf6;n_)u<Uil9y{+wd!CvrWz19_JAfo4+oaxhli1f|~F$VeE
zDLh736x7cs$h<>%V1HfAs;l$*eeS$jOj%UaA%GGjA*yfJH~9|=weGUX-+q|p`)5Bw
z`@Jgod7yB6F_gFPIX)3U1Xq32rTqepc!sCRzUaL(GPLOA+gjgCp!AjwH8USugyOfZ
zxLCJc?5k!6VClIjEB1F`^NC|#W4o?gk7aNzC6rcBDp7eX)NaX|t@-wPH;GeMi+X$b
z^>7Mk`zh7}&eO~68q}~f^1d(OO;WPE;1B;KFIzbuHv1CK7O|G{p%IYVkbf@vMsnz0
zQdLIUiKPVzhKiK}#R_<`zPj`8S%2+4%U#8l=~YRlre~~+6f&_je$>wmstM?{khDvB
z2qPnCp-C5t=Bn~6c(MZI7kmMH=}$KAlDAymBiB;!<y#Ar&N1nbp4hmR7pt910dcjs
z16!Nm-*`*k*|MlM*ZfNYJFTkLh&rY9->?Uau19rY9@#1#?RBZEPr!$7tKz6`gO9s;
z_08VcT$mz4Y^!48(YjvpRG1(<<hF%f>XeAJpa3<nr``_C(QBai+q<#;*2tZ|?xv-l
z!@Os4#jCo?vCShC!4`5K?jAy?%m-`(SH&ztXl7CvS=CR<AlxCj#eWMtbm_V7=NL*Q
zxrGa0?PZH6jk4Q|{+zfKz%xXF+Llm|#$nk}TMk4ykMEn`OTD956uD<mK@Bk(_h@b6
zM+nj9N<-KG=m_6NAdn4il1c`52r;*^GTp>%VCSxf5b_o@+052`tnBUMS)4f2eO_`2
zpnvyu+19!_7uq8P^ko<K5QGi7tDPGhVo%~h3p8E`KKo*aCP5jWOBZiB)Ti;M=h}t7
z6&fN__ubtJw?h@=7`h;2HE|TPwk~OU7M~q3yM#*|0P>)Oh>dRg2=S9kQstMrVyL5S
ze39<SdTtlq5+Om}ydwzK9q!$+<{$9@@ihZpKa%0|Y}E7}3V+)?v-yxauS||r3t8X!
zi&);U&7g|27O9ByDcyZ<BWzcRpNbd@Q95CJ2Oor$<*4y!-Hwoj<7~KT+o+k|tiHbU
ze5=5Gz|13;0*QB4x0NUNU(N%~w^Sq8$l~WFXbUt;t4*jdr7vl?i}VcwF5)|vmyqUP
zHJ2NKXMLk1^7jy#i}_%r`Wpa)cR%%y`=<;Px2XqD*NO$@0|y=2ORP*Q47t2pybBuC
zK7Y8mkwKjyB;GgCH)bIREt7X!CC3(JdO?&d{-pr%S3{w-|H>DF^rXEBmUCK5OIB>N
z(!9>GladuZF1GhW_^w6F1^SNs?z?H>f+29$n$irP6-qSYhZ8m1rz}ew;Z~bQrr2|t
zl%fy+PU4m>#`&s8<rpG`=hXxH27EB(s}<)cpTkk1@X@3&7Y7~9^ztSb!BWkyYmJ~0
z$wd%QKhb6rSsl^kQdNv54)KODh@K3#+03ne32-GbdP}_HmuyB-h&6HCKue}MRmFC9
zOYzA1o$w3jX)~`NO*86>Bk3~hi|>U^1xwRm%y~C2mrr~s3nfV21VP8ieQL3P!3b!{
zrCP%f;f;jdCS3k(^On&S9I5B_f9u<?;AFRb?OeIx#Oz%C<Q`Bcc@`L8<nnm_){^v%
z+oqS7zIxg(PGA_vkrAs<N@#}@*C3K2URcu(<Fyt0);@ur9D#tLWo^;ej@pRx94+IV
zvOQM<O2udD&f%mj)nmMn$-P~xZzGC(OEQ5oD=C+leF4XiJbuy8_8}bK@7n+%we!dg
z<Fc-4sjUvrYbsI^j=&Z-)@zu?_R2u2Fd(bf`eJR=C);B3l->Qh%Q&L<jLmNq1&jFD
z-hY3-E$8UZ;F7f`$iz2-Rtu3Hc!T*Gy(drHSv#Tk<Mn>MhJTNkP;HRh=6p)y*n`xI
zI6L$4?HT%!j5}&7wZs$^R%K?OEp>;*jl`$>lPH%w$KX;9>-mP#dmeV+c*uZo!NnI?
zr4slv`mLOsD6B+sQLPg~9i|#tcX}{l*86*1#Np$Gi#{K;QHp(#A0<IYYz->om$g4Z
zo#3gy`tZzhkM?wW3G!F#{t#u9Q>w$i=zPA3`aq3JE{VIEA6CzUxspKCuWMPwmPUeq
zrG)RviE9ICt%psyveIuGVqhG*O<J4#Xb`zYEK$uNA2U(jc1nrs#%D6Z4q9jW!4Fd+
zscxuKRN*m{#vce6$-ouIJkDy8;sq&J&cFL32fqN4D3!NWX4g(d^$ft0$5MUFR>f}v
z1Q0g}QNvR`vS&?j2r6<zx&$jrcgv~BwyIspRI;fs)Mnmaq?mC_>LCQFm<*_^+7cX!
znsP(V$8+Ynjd+KW)dFm~{eZYs!8bODqaxm*((c(Ty(=N^rBD566D1pg>gH9qkG~D1
za+epxFVa$_r`Urj=mQqFnZA&IhL&8&U`1rCbezb&XfvYo1s4p6Ctrs>z&ar&TV9AU
zOz~F7#u_V-i*aOP0Q5&`isNAUD1N@9#gjY;X%0MyK5wKL>aThWF5n1Yj+1H*&9~ym
zQjZ3J#&mt~Px<M6nHl??GSzbA86Kt9hw3wl8;+v@8k)98xYWp5HepKFCK>Iemqyc2
zt&v#DD_;{`?N^WY`i;3P3NuO1_<L7dlvjFit?$p9z<pBwk7M7U#NS^Wr+(9JrJ2z`
zRxTI47k;@15E_Bi_rrX<Dh$LPb-$i?GB-pcAnUV?{yE<U({TGT3e@?cT`!UuO_ua!
z1p^*WAWY%$#g^tQ<X$vl<hYAGW4GB#6zQ@d4}oZLWJ}P_;pm&RyMP&2IMdHgPY|M4
zi@2+*(v=}(;HQx3T+h1+-X4zRW-a5BAy+nuhxB*(MY<EH*@O76yf3DMMqfuEjZ>Mh
zz{tnA%oW#Gi<oUOldYT|J%X?Jo4V^F^}Ik;k*d9AcLt%@vk%2u26pAm3;U>NAh~sk
zT<Nm$!;QN8+0d7O(V6CQMSEH?w_zP}(7!1)&YvHFLfrjleok&jGN-c+G9IXLw}X?Q
zszzWm1gC-yD01Y5sZrirf2p?qkpRsO{Qlfjmu3#{5Sc^t)(AWK%>0c8Mn$n7kfH=U
z*t15@v|k}^Vi5$#e`H9KC(*Yd7KxJUPZ<U#^X7^g`_=aw3J!RHz7Kz15nffFp$iM@
z+ISUZ6_+WuW-l--My5G#54$9z7a{8w8X`(u2tkjl_ase7UFn~$GCxlgNLdLL9wejX
z^$)2}CO36L_N}niRmzzuNiH?Z{M@4Yp(DJ|Dliv5seH|yw5~rk&^wdq?+KD51MIO(
zN`Jn#9!=%5JG9Ag=lG2hB1oav+BlJ-*ng2nM0$H_%v^-pU*qsHWCvla?#X_2aY9f0
zBR|2;w52miRpp1V7C#}J`hsDyINd+j;zqJhWd;)?m0&mu!|F&On=oB}aL<%uH&m(F
zt)ow#f%v@3ZAUqIv6;vvKt=SRv@+W@UEZiW`V|Xkb}}TWTy0|<0+QoraalkW<LX+{
z@TI2X?=OeiIsH7}-cOezoIUrtyj{On7APnbvbqalUcGAfyZF1k-M$BlK@_^UxjR2Q
zoxc~kxIa1{(iR#ic%PGcyS-hV9QU$%o#geqynQ|Ii}tf}@C1JL#?RJXX58nVFF*hO
z_I=-fMCR_{ElrblFQu5frgDAQKU}(Fc|AStTsSFB^Q+}lP+*v?+bNy9OL(|HT{=3u
zLzs=z<6`jhc)I`G2OaYerkkCam7mS&32e>o;^gYA>fhL7IXSGo4RgM`JbiQaJeo&f
zOjH*=xqF-J?dAUZUMqgM{CrDFQpZ@Fb*B(Kns=X7cuip(J2;UjWuTr(D#Vc3$yJ<m
zK0QO@BUkP5brUA&=ZTvs%Pc&YTzFu~Dm{2;oK(Lx2NVA~SLX2Z@pM#njMdB5+XdzG
zafPq#qY6dm4BLch;^W!Nae&&V0gKz)5zxuP%*e^Y<qP|!k4Jv>=T?HV()a%C?P%eT
zglrrC-f>#l|LL@QaDTgD8TV68=h>>rMf??OqMwKLv##K)O^I8di;2bj-my$~PaV^j
zDVl%K`x54$Qnj^uNl{n@{IBzoYer?aj6Y4c7SWhK-0};&jXgZZK`KTa<r!gw5{UrU
zC8*c(End0EfER3cgH%%*6n*C@u(cf+?@yNJds5r!VR#CGkI(4so61Bdb-5Ya`)1T9
zv+H^MB?o!MJ316u8}{gtUVjnW^;N=0Jl?H)hF;gAphq?S;x5pIBmSZxt-{nj(PtC1
zx3R9GfX&*V4y@-k`&lp5elLCaFyvfNFURdmtDAFCd+71v@I5GuN^)E8I<t;v5`U*T
zjeNKA*!cFQm$c*%Y41JeP_=f0)xVJcx*k^1A`{qZJsXs|6JvTvg2D&bGhEGwFfr6A
z3u}$Sof!e_)GHGWqoDqbW;j$-C6}R6zbhV{1R-!ejd_4Hysa_<3MhumYT2TI9FmNE
z>JNE~q0z>m;|R4jeGmHtiz2I(7ex%c0!P<f%`Ci8w~0waN;%hJ_HwjR*5!f;4BdE^
zFJAHNQO-m2mhPVv94G&?a+)f#p^QQ6-;<A2G6I8?2ueAzy`(}fGo2FpnwPj22CDbt
zh9HmR35U3|O-JFN-0%^tXry7zXh$_ep(IAyf>9rmL*LB7Ki#zfU3#<>=@`dojEC50
z6-MJTegY5)92)Z1e`4Y6P0SbeGKmMq_UEZl>9@gf%ONX5Af%-YeXwH9l0k~h;`_DL
zj>#$dVucR0l<*G~Xby=GHUW)wx~U{*ar6AF9=xY7S&(OUxX*aI$cazQgoe=S->!Wp
zF=D3rh9(}D%gHX<(F_AcnxsoF#L#lk@otOO(9}~9sW^7V2Jh7RsIxf3HTg9)kDT*^
z-!V&1Q_bLe7l#FYcb|{1pldkP#AK~%jukPUYqvHV;~5>I86+ee<aD;K!*Yi4XL5pR
zz-a!*G06zh3&mBOw2p%dqdvkIJse$o<-&G$TL`I>sO>hxZ@)&%eKJ8CoUmP3`jh@d
zZQyZ+g~{{Xsa{%p#ainCz|m=|rII;;sQ{lG0CRg|4pf^%tOm>76thGcmzQMgWmdB7
z%&gkrxGTn`H8)J>E;Nhv_d~&}7f1d`pID(&jHS<Vl$`4tiDNwX>Q#=qqQTOwp7Vc7
zYlY!!Rj)h5FkqMQ4~sJeg>8t*MC}nASd<qmUhl)fP~AM+F!KUP92a)z8&XOT4y(g9
zI<UH2&Q-9@_88AkZO%i7CIzXO;!G!W>RW3=%=h+46hZ@F^HrJMjG|5iaLusfE=i|+
zn6yf)XPn;-g%C15G~sH*F=NJo#p6ju$a9elUdacFkV2gZjP{g{ev99;p1jPD0<hUt
zy1xl1e%Xk8w{BdqF5mZN_HO(LOwRh{;0o}#&*bvcq3UIKImD6$@CXof{nD|#v8EBc
zzu+^8_41N0zlG?+uBwGM*4#b<_N_L;L?A225r_g)!v_d?s44i^{;ld|kMq7-EYs!v
zd}h1@MT}go>8_=^V39K0&!&pl{X6r<{d~Hz$$NLc`Fv;I8yc}I<$@-)LUb!XVIScm
zWJx4xALp#kSk+`!Eag1+EI>;4P7nu?NMXy*^ylwi&kt71tzC>G$qPL<$@pbkb`yz<
z6DO5IV~`y#2Cdd@KB{%u-D|A*4qG?wCf`HjL*a`VCzSLj6`Y2&t8FKhw5OmAQ=E%Y
zj$-T`;_ays6JwSjf_O_Cz)M;YRwnJi06{pE|6H;OLb8{v%`d1`h~rmR|Lzpnq|ZA;
zEIz_0s*<LwpTkRuSH(R962F4)rkrVCG<+mamFV6J(PL1OrgqlSqkRWOaZ_1x406Qa
zhA*1Yl(j^^mPvB?N4-gMZBAA0qe!14#M-1B0kkh_EN(BzP`;A50i#?lkb0FOfhCQq
z!?Vjh#!PvF$hzAs!?NUa1nhy-_T{yv1KUJ-t}PZW7iaKiiIR2c=^24GEiFmDE|*Rl
z&OTaGZ_sxR6DOV@$|7=y()c76vmV<830e-v84oqUiv;#nsEa+WqgCn)wwPODYZuN?
z+ajucRH^d@K@!&XUm;KCrZYaCcAg)!6^=pN5?agYGg-}{Y~GS8<{p9Q1XC1o4d!yy
zgt`<F<S5-<|9bMqS`?oXL^{hUOV!5DG?5k)e7{}!*|8=0=UfpUX}7bYq^UF!u2Qt0
zKq&oL4*AC%k>|z9HgLuFX`+n8ct4<N%eC>l>xYvJ6mOQ2Op}{WtP|FCeMbL9o#Q9>
z!)W2ffJY@tU7~WpXiL%I_IIM`nB;`6m&^>OsDczhn6i-*K*apqjw`kbb^D3_K_ljG
zDD!FzAoX4&cKl*1@likd_9G6s^sPk6pmgkb6Hrxax(O)QKiUFNzqoItyw7d!`k_`u
z@45mvNNf!Hajf|<onL$;!PtB!*hIfQ@3dU7uYPa*%aZ{LW8QkFJ3czUUYtL1Q5b$5
z1L_7mEJ!$u!D&UCuK}5MzxlB9v?#q>J4Osn!)6wC`AWd0q!^fg`qxtaP8ru+#jw-U
zW_(hd2#xZU_4(nr`l@Vss_=cunfFan>ILq&vtm0+u|`-BehW6wfrEq^6DXcvK|g%r
zb0@z38}UaZiM}-E>pp5NnZ{=QHR#(J2n!P8ViH%ty-_XmjJ8yPB!!c+U(>KdREp8h
z8v5aL!n)zwE7;A`;N4EbH-0dI<~5><55K6J!6lONPlNy=mRlb@k0BorUEIJMKqWg+
zR&}PYlV|KiyyL2%hOSL&t1zn$N(NCYuXYT;ZV>z@xCCqg-huIiNd9$1NS7~<5g@fy
z4W?SK#yDQGSP7nPht1Z`DT=oyN7Tg_L^TocMb35$>}$5RU=ii1OuYsHy5(asB<rkE
zbapZf_@PYN7f$Erf9!A8Gd4II9(eqQQFYNGn1314|B}3!KwB%YC2J{8clyjL3nyYC
zGz|EK4k9T`y|$C{JyZPg_$#k1lTLs%eXBqgcwxo4*GdrV9;s^|oWi`l9^O_q$2}pQ
z-jxe>5$F|)Uk=0BR(da49KmiBvuMTL{<{N{%aL1%HzT!D&k@G4B6-@ie#_n|EOFm7
z>9SG2_sAC((IdsZA@w8SKthP*FdHAYfB-3KI(FV9wCv<eJdCsz*5~Ev_^HI$u?$gF
zJdDGJ=Fzzj({uc#ms-NEX$x<Ae-9FyU`zG{9u<EcGwy!^$Qn20X7d?|RgX-k)0SPa
zyNKJ#)nr9!6>N-ZOFdsx6ZlE;B3OIjD{<#Ie2bfWH%w|lJ1h|dYg~SqFXbEIUf&G~
ztWvvTkeyp}M-IIgh1O_60lYJ4z%M+}muM@QJf}bl-%pLk;$XJ#xVXBzybd371H$^e
zj=!uYD9-b79)VOjUQuoI1xp<cpjvzz1e<+&lS1Lj>uXAlq>}!BS(hUOS6!3DwHA}~
zRSCqB6o3%<LoIRZ4u$l%gQqYT_Q;qVo-yYPxg({F94eLXmXN0faI@=iv)kLtSGI8z
zhwtbtiW)5|hAM}Ikq`e*$xBLn`J(9elc(;V)3oEs(C_ofY?UB56Z`mfJ{zsC(Unr#
zsN#>WH{br-^FQIeJjP=lVKx864NV382=+Y@?a6g5Ho1R;1=;g#(4+5~9#8I-AqBT~
zIvtH(a{oExo1`_I(H02scr@yBBg9CF0&PCDgxL806#OUp9!5Jm^|$X4L1`I7%di8q
z814wS!`1bREn0lF7S6UpZVyFb{&g67>$sEUb~||eG{<K0)55*|l9O^b&2Bstp|O@X
ziqnE`uy=Hnb_M}t9RJDw4v^uEBWxCToV;4zl(Wfy@*ds)zn`prK+(PAo?Iz+I!)@1
zJmqR6Azq&V@b09XU~{Z7Cx~ZcG_qyUi9S05x1q#nH>vjMI8G#Jj}gqV_8NA84dRcH
zct$Yg#zjOQu_iE5uqE=>6Y0Qc?iVCd6X&9q79Z!!_lURwoq6d-btK>p(1C`O0Yi3!
zbtieOSe12?e{%oy&Q5l|L$XU-+nQ;#lf>Up0<{AYI~<Mk@(vkU6;*+8SPjC__-bvY
z?w@SI;WrzHRKJN7XvLZ^6ISfN2s9O7)N6OMcG}wwM%#GLSWNsIT|Fq$k-AuHca#cq
zre}jz@_Oya;}=e5v8(>Ykr2XGdq`pPli60<{z(`%Kc(Up*h?Dr(mj2^Ubz3Rl}||k
z32idMEZOP6uK3)yH$s@^M<*_?Da^|uD-BAazr?Oljl~J6I*D2LV4&;nnsxX0%KALB
zWc?+7o|Lm`Ri(Ww{pXvzaxw*CeoZu8@K1?Zi5Ry#O($G-b_-<aPmBwdUc|f&ZVuzm
zfL6S%Ir!cz5~At5*FdaB8rKW%bt{2=lsZPH0Pp(U)j??Iywg&WI_u;-P16>Bis+T5
zxpd&sj|=*^ryutbE>0@ZDC)XNJcIh+)OOAy+H2<cr`=iB?=kV9ut0ay?{yHaeZs8?
z+>Bm*84kY~4($ZpXo5lnV&QzIn?1FPW*Y~z7D<!iKw>{ypO-5qtsRU4d#x2ghr=gN
zhQl4`nVn@c#KmekSy;wQOj+Khibf9DDI$J`B#o)?3<KCX@#(zCX*`kJ(ff#d@3`3`
zU%#agr|wN65x;1NcAoM%LA!P5=Om7&+%-voMyeUrb^$$m7y@=^K?PYGZKoatc#g<s
zJ(8O8w9jim!ekPkCk1pO%cD++njrjgrs^V^CW$6sme(7Y(R@cyH2tcbXnKp-2OecI
z6V`DTBVsPV`EpFh%By#$B9eBCIVq(C#Ig$~`+|~!wo&7tkCU2`Oet-ZcH@Rva%48>
zS3Ck6d+ED|I64kb$J9S#8VS}f<mCkwF}YsKz9hY)vsF6j@rlGVa~!rAyW2n6G0?p3
z02Vu3R|ZRVBM>cy$^{nc?woW93*mh5KS85L!V`hF+~fOdgMuiA?a-|<_DzwYA%KMQ
zJ<obX*!&_hhIObk4GYNmAWfgT9~pk+2Db9NOQ-Dqqi?~LB89d1l=k_WFw$#3R}j$p
zx?Dt;ke=}xrfYXZ^``D{<_@Kde3(y0$&!hu&*vs;NvSa;T3k4;BAu+9Als1qrlpnq
z_-j5XV!*=AoSM}+E;F^r*w2~G^*RG$a|M(f2s(R=X9jpKG+O|9`xOub(#-KUOTbOC
zm@KMeLb`Hl>1u@hWMw8ojW{S~*(iH3tR1v1I@e?1ja&S1C>broA>!L>p&Zxq8z&UQ
zYf82dNIj%$XwE|71YQbOa<iEJaT3a1>V;W3LP-gMlq18EypB~lnHFXXKpnqF(dwj$
ziwKw5kxuns`+Bg&UQ<+ju%FopgzOpF$J_I9yRm_Rzt5hTw)>E28x~PIqw_3NAg4MF
z5y^`fa;ozdVczcGq4UnFo01Sx@-%qz-06?L7pjrg5$;W8s4SLeMBiu$xmiN-&?S6a
z&dDZ8^IOXT!KX+>wOSbHW>7HUDB;v0PZJs!()VzXeSTF|^n2l}61dR=?77ucQ?0)k
z??Qx?>-lm?YBG*WEFqu(betlCHSe$AwP;xq@AK`c$D-p{%4>Gm%RF_pQz|`fs#<(=
z7Iw1kUh?duf~O=B(7Nv(rQh?TATy0N!lr7DV$@CZP#$A@9ewNCG0&CEt?&;9j>N_`
zd$)!|hK9HmHu}ML<dRdp<h-3d82U@$oDB78)&rE?zgb0dGu;l|WVbSrW@nMKj0wpV
zFsZp|Cd=QIDF58%(Oo`BFMR@~Wd>ii6!H_850YZmZ;0nTX-^3rCm0=x<yOj!C2z-;
z#dw<*eE7lsf=pVZ)Oa@oa|Z6Gc$5%_!0@9;SIn)rI0e#6l9`;jJ#s0sB9Oy;ej^>w
z+yqyZ<o((4v*Ltc>J{-bI#B5V8WRaGJ<L$|ZF_FWeVQ?>y+O@11*4s~061cV1?beY
zEj<R5PG)N+Wi&k1k!kB4i`s=zFcts#*usa^#&F(O6<HLl_T;`*bRrOQ`f3bfsgprj
zxMyK0o=|u?avYuPgL-{4W&-M5hRHkH3V{z2x>gh$RugQv_nA<~>V)@EI|v~&BURX`
zSMidw{??Mc4!M1bWbL9YkXhNGh`WJhX-}&axVAY$kzUHJ(~IeX=pVPf?o@4VRbmR<
zXw}_fwUIbW0~>*&(uOHRdOl~{oPZtejp!ToVhsw4(bJC-&BPl?<{C?&h%leku^B+L
zuw7Dw-{}=qc!~svwD7MDZM|dCA}K48`R%s0Bar0QsM>*6k435+RAJteBs@nrT7<=x
zJD5(f11BuUEAD+;xRno~Cm)2NaK&d|$JOwx-W^L!CM=;F#<;3(%MTNH-sDO}=jPo{
zJODS7(j94YXGb4$H4W2-L4ed6s{Duc7+GbbGTOolOzUGwgB=c`Gh#IXyGn)J$x198
zR+8&=cUTBK5S^!vyF<xjHCnTkEsn8~M-j8c;aLVSFz3I7%G|gFv{5%YQo+2o5J^6F
za&5bteO`k5VLl_>MTs}3hBE3x@l?KM=1Na_>%Wn=Zcd9g%8z8-#QG67fN~H-MrZcU
zj*@U|tzbi#EPcUpZlE1a!37H(n%7jCp}MX{u(l?Ti3XQyhdr^2W>)k)&dzD9b0nIO
zv&&K!%5K45lmy!WPMMcEshh3?HYO^lz_Rxzt@u?o3~Q<AYlyWF_0f0nj+%H&i*Ip8
zl~YQPp}S@e;CxK!_4I~PsR*KW(F3x2DZj~c2})>=!X9p<Hj81y3~P4MWgEqF@~rUH
z)6ytu|8HE`mQmL;#r%OrU0zPpSVTjLsEUixx+Tvq-dHWs<_iTWd4@~9g73rPdU{&O
z)sxaP-RP1fY9-ASV`xU+f_ETppWiMeBI`RPBI{>?ofC}vm6gdiuYR%;Xc!7M@)mw-
z1c6hbBE<p@V|b-%`+i_9ZoS!-CK8;?mY_2^aQ|_7pEmS)hT6@QT=kS(<$E0$LTP4m
zMmNhXTS(0!CLnEjK)T7=Oa+LAa)|#Aq!ykGO&P=VIaf=bsBmYZKpfcqM)~|8K)+Hy
z^fsAxv;ab2<$Go(Sw-3;`f)k3!qKX<le-0k8yPeh3Wp;I8KpiB#GVo+tBVcGmGDA(
zOEL_;7)_aq6EP+Wp~%}FymXKmyZGhhVsl+O47t2yazs6qgTuRH1bIg#rf$DLD-Go(
zu^u)}Gkm&(Lo&Ef@Q#Oc)?1}G3;CL)p49bx{(e$HMlMO}X79*+W;kkW$w<A=WzNp%
zN@`Ie29)^HXrxuJqy`F#hmxmPez!hlQf{z2{6QRt#{Qc21s~ErpX5tEE>4dW0ainY
z*p#SMY!YTU>OaOUdjS_Lja}SYbtaZMp?$2D>uZuo7>f$UqO6@2`>@Dsy4ir#jx0Nk
z9a7m=M1{cB)nr9R{-nO0jKQ(VRy$fx=Rwgmm(cG=TAvB{W+-veqo$T30dvWI2FAhi
z3I^xWapzkQt!qr?r?^idJ>@D=+d7b8LqSO0rv>nFx7(;jPCl*%%juta!pC1lurVL(
zP`i>qCxA(uT_H2AhvLgbiBQWdLvJuQH<<0a!5^T5`z3NzvbQU=+rHqHUwN%!dX2Co
zF+!6aDcEv6W2}^c5l(L0p?zZE{6jgNST@#I>qj7YT<xEW>p<?^MXYJ^mxu^0$zFH^
zlRV1G)wk=_2rh6EjZhAFIiG&{Ey{;@CG%Rv2j0Fcn7dGj)Vhr-dbn9Q+<j)|C&`6G
zT}0>M3)^a6oi_K?DHp(GAI*uw;0pe*NSfnhD*V~<{wMKX6~S4YY@olW3sTaF3)gpy
zSjHBzEw~3-aXJ0ls-F0`Ha0kniLrT)vAOGB>H+@O*%he4kI-_rV(g3tA*wkcqS)tR
zajJJJ@Y8k*u`GhkTlN}l0|_~vb8^)Y2J_s$XdGm)E!?*>sn?S^$0Z1-XA8t;2yGj<
ztU{tMMJA;RLtLgqajIfh!R)-^;iNW@0$!?sm$uW>eSoJvVU+XeAa4rA-yC);4l-S9
zTEo+{VT0`EjlhY_AE);a*VWymsp+SzX>KWku%(RH(Z_lcKA~_ns}&VY5Z%qpYo$$W
zRD4a43EV7MU#G|kjwTh`%oQ4cY~--$s2qasCV(*m>+fV-b1`P_;9xjEDry!CvyX?v
zC&OV&!Wr=IQ~u}6KvIXp6P4tE*F>^O5*bxS!oOEvaa*Q<YALqn&Anjr?pTlU5tYaU
z0sMVEx*-fa4o57K`j3Plg8cR}Oid^b9VL4+y&Ft$BF#9#^#<m9_#QsXEgeohvEDOJ
z2zEu<Hs!dWxXhG;=px)gnPMFO$I|_8b{qke_@IfoFgQtQafmHOG_f%T5ZGE{!(^<s
z21|C%auL>w)Qi1TEn4d6P;71#R?_0=Q!c^n<P(6;>><_Tt;*M9O((YizMmHC)~E^z
zKypIP9^Y8n4c1gvq{+hM4m#F?>GdnA$Zy_G_v&*+*UI$WMog20e9btFe#AA<sVMx6
zwFW~e#20{0EePLDw@RXEU{XV-&+~hf&Hi?j<ks2b`?b|f4d_0^mI7SJphQf+WQD+v
z)-%RnFDZ_N!cyof2eT!&>)Ctz;-Dcrw%fr9D#jmdCRjMhKx}b?ugNQ;K^1LipjI3+
z?`Nk9jJW_~x4+i~xLZKpCK*~VH6WUwB{Q@1_p2p{`1J`P%L;bl+E|Ro^JVaHGR;G1
ziD>>Pce&x%FerqUmYkk>L_a?hcKGs@3f|#sgMHwkzA7dJu#HuOhDL4Ikhf|@q5zoM
zG;jivfkiKIEP+X*H7xjHddA;39J&*^a{QFJ@NUz%d6%K$;#Pby61oQlc2|BPP;4{d
z592Y75Vg!4MPIKj4Oh3HS~;#iEs4ZH%Z=CQD+E$D2dh9ZN3xKL^YpAxEd2Tgwbf&2
zyWK2Qe-UO+j=}nRzO<{(Vnc&)4vIpH7bOBKGJYtem4r3$2+22@fU`8KO0tjQp(^=F
zrxC2N^hQ-Or+J|aBCA{Bq^gZ~pL=?u&=^_eV6S4ZGrN^27K6gO!mg>Mhp3#~Oa-Pe
zZ4*Xjk4a4-gYHWsNVAA1amRE;;;T<<;S8e2Ir8-xQCfR}u(*YI`K=@3oS9O%ZppG=
z+#?hr&JOpFw1Q`4(KP2U+%Nk5ARz3xVxoY<;a{J2`0r1dVn_)8E*G7=(RtcwO1D{N
z!!;z`%m-Q8@>5%Z5GHITa33$JsxgjTOQ0C*nG;t@m3a(7F;DZ%crV0KcTV-JG>$K*
znY4o#rW!ISJFSfsoi*N@8|W-k)Wac)(02OnEb=`tyutw#3>G;2k4v}o*zLQXX_C@o
zw^0sp#Lt083E-Wz&6Dyv3gWcLiI3F{yzQx|1A4i=4uV|tS>um6%wm^6#zz(dB1yMa
z>mk!h{@i-#c8wy^fG>4M{y*yLGLemnO?o|}KauxqJmyl<%D*q(ym<Mu``$TMX#L8K
ze0#&+`!7yS(TQvT>Dg`{1#^$}j53=brL31y84odJw7*YONp?h1L<-xn3iPp=$?N8^
zrD;sjn(^H1Nf2%%#@xxSEE2J&y;#l{yHaH`80a&fUfDI5C_;u2F}mq)wUPKgMVv@I
z?1usjH(CS`ir)y)sT?I^)55r7FDe#&EZG^rq4U8E%uzCx3VFfh`0Tv(8wgJFnxtYk
z=0$mz{QCr4)f`fBVzRSSBP1r2`ACF&IjN0xI{8A}-u#mB<ElA9-yqK;rFyR7_k)9|
zUaW~OGyM`DQyOKd#<|fUTso{l>8IMj`Mi;A!ui<nC99*zqxe}@#B+@?RvmM9;G2z=
zp(2B<|I)Om2QK8QWd(|m!mYk~a`C{oFu&%YgX<~`LAptZoN5ZDB#wgoT7i@R)eBU;
zohEuCsPf5*@h28mYX=OX#^xcZ0m>8+S|YjwiABo>g&g>5S<Wil-<Dk@#HE;9>kW)s
zD5%*xqBBU80Vy!Bnnt-6ODDtEoz2~J{{Vu7SRYq_6b2PY8+ljU5q85N7Wa4yDWYg*
zVzeZYTY^5t<lZ$y?YR#OgfI(Oa8V4L2|JYrkWjcbqH9@THRngp&8|<d%=Se-@+?1-
z#P6YnLA`E9ju=?f>h=U0(hrtKaG+cf3mZ?%8`z!Z5Txf<^&BN%ydjDmEwOOmwJmd#
zQNjw0pc^*ZwA)*1g$>r{1PQ870GrTlbydPo2*=oX>UhmnoOKjzG0Ia^#=ctPplwK#
zQY4W|{-t5YC<3{8y>ap_iJa7_*3z~79xc4-?<s=p20&;@QmFw5B1E}&1=o#`9Lp4$
z<P%|%qBPJpUYvjT{MR4fT)zDN=U2a+Q!V^QOf$MZAF<nZ|A)`~?*w=g$#x<GcV*!2
zSvx)3H}D%y%*LH8y+@Vn7gV!bZdl~#w^;F2=HaUrNkd)H<LYC@#6klBt%(mk*0tG;
z51eN{$Jrnd-^nu=d{Z4OReu$3hJ9~ee=Yed4oh0eai`NchLxr9W>1JMdmqGRNp5Xm
zHv&OeexZcb(y^ylB^g-Bo=7muy;)8_iw8wjn3%-#ES0!eie?)QKP1m!RD1iVeDp4P
z`{?S?yU12L5Zk-TZ*c2yRtN>3`N~cZ-L#|&y8D6jTcaKgW5b@T#Dj8-PBx{OYqoc{
zl8Oj|#9^~;@w-X_o;8!y8QEiKo^MQX1rFQhY`D#&nvRm+va`sK;eJoQ;&bzzJqf5p
z)RG7V$_Ujhaux`M>~d~pn2_Q%>y?C<sVToI>j`azyP~k{NviT<iFAShFnQOlW)z2L
zlx7A~fy4)>OB8T0gqr*2;sXM^Kd<jzZ@61SqS6$q)V%GslCR>MXCn5xT56js2p&lJ
zW+HUt%ixIcO(EjyESt?|?O)$~cN)@$ykH*Vl!rr@LB6DZ=9*og2IcvVm&=*d@9-uU
zwd&f;R!*nV$V$&@DB~$QOH~1f!xMJU{I?qYqciC-Y3l{jmbKHpw#{#)VTSSm0ag=)
zCqDdn5(tT^O>kmFO4H}DjSw{}L=MkT?S=BhxrTyQ;JxXV5wO$HEGWBym=(TVYj}R^
ze(l0@vj+ZY%oE~WN-{Xhi3hQRU88rEyWvsd4gJOqYN|YiP;%{FQkpEN0K1X*#VlI5
zmWc5Y_-c5a$%?UoOnLG)eRpXDPaD#yVCW+p`HseMoTt7kgb(p}a#j5-<c0VI|7Mbz
zngW;uI$5D05YTv*ku8{mKo~bY3`wgAE_v(aJbIZWH9vs&R1AlI{#sVPhY+;1sKAo!
zHR56cZVNm*bq?g6=}%1!pxTJtu!;i339O@v4Ag*ia_7`kYxdVmz!*{kU>q?8A1@b-
zU2Y%^j2B^44NP^l{7@ywnI+%Hk|heOZJR5sXh=5^S#VWkkQvE!w`U0PXDxA(I{v3C
zcjQBYMIaV+?}@~D;UH7|$f!di)tP*yCczkHps)TFhs+XPVFvH+);cbX83eMTFGEGe
zbO`o|Tx1>M9eF490EGE(P&mdhGfrzp^k+34i<TD3Z&;Ei7!rjoQBx#SqDT<XcDrLN
zT`wsH)^Z<}-)#*wpPqyf%#B8IA#@EKYllH=E#uia2^pt2k;Nu(uHY;aiy~R+OY?Ug
z9<9wXzGtZeL(S&kZjyCv@hqpiR#Y=3YPuov?2K6Rlg?rzZn#=dDo+z>npa9N&)r?A
zRb#keGFy*`of&l@(69?F4^UD6C)A~0s<biMS2bW9Pzl1a>LUrs(CUrS^vDn8bWJOU
zlfcc(mM%t!nyZ(1Plxx&MGer0mzN!C8h-gzqRrk-d7tYmr>(-+My=jY-7!h3H(`Oe
zmmD4d6^eWG8qxF=e7x+%7EQOlyG9_;c11X{ErD^OFNHw?jiaSk7MsN+SudvZQq-HW
z-dsx9Tp7Ytx<VZWK;X2$8-agxgAle-SUO9iv2b=ImJGOVx_j-G-w_91R@9W{|8FO)
z|1<r+st;{JVupkNbs^Z#^nZ3w(dhq`_S`>*`mcY$vzmW8VC(_^4gUZ1{O6b7onO4^
zOlE&b{pW5sFY*}w(?OPH2mJpd9#zwyfXp9--yBOna>C@=36>wKw*DPza`I%y2f-+A
zKNW+uyyj$>>-#>O@A%M+yXW=z8}p;ZaxGO&o=SJY1Cswu`0pcB|6y}{4*xS#|GkI5
zqyBq-!2dtuc}q2L-W`RaIM0&w=qM_Jd?X&BXUUP6v7b?Jd+R(aj_%4&RMzZLVz!?p
zD1H34y1BVThmUthtMY~s5%1#{Dw2oR()gwRFuR1}Mt&gt@qn&}=kOe!!*h5J&*3>d
jhv)Ddp2Kr^4$t8^JcsA-9G=7T4|)Cv@v=vo0PqC>GHHET

diff --git a/External/AtlasPyFwdBwdPorts/src/pycodestyle-2.4.0.tar.gz b/External/AtlasPyFwdBwdPorts/src/pycodestyle-2.4.0.tar.gz
new file mode 100644
index 0000000000000000000000000000000000000000..193aa08cb6c46769d5e8305ec89f8ea6e74b2e72
GIT binary patch
literal 96665
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%0A8@F3d#_=kc*kQl@J`t0
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

literal 0
HcmV?d00001

diff --git a/External/AtlasPyFwdBwdPorts/src/pyflakes-1.5.0.tar.gz b/External/AtlasPyFwdBwdPorts/src/pyflakes-1.5.0.tar.gz
deleted file mode 100644
index 7815ed8a17df702d5e50163ee7596543c3ba6016..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 47526
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
SS^xYwe*QnRp3O@D5Ci~`!hGuh

diff --git a/External/AtlasPyFwdBwdPorts/src/pyflakes-2.0.0.tar.gz b/External/AtlasPyFwdBwdPorts/src/pyflakes-2.0.0.tar.gz
new file mode 100644
index 0000000000000000000000000000000000000000..95d6d3e5d514d517dab6ff358ae26190e6aae9bf
GIT binary patch
literal 49002
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

literal 0
HcmV?d00001

-- 
GitLab


From 450e5381677aac9e9a024eca5bf2027effe54bb4 Mon Sep 17 00:00:00 2001
From: Frank Winklmeier <frank.winklmeier@cern.ch>
Date: Wed, 23 Jan 2019 22:05:51 +0100
Subject: [PATCH 076/192] Fix python code style warnings

After upgrade to flake8 3.6.0, fix the following additional python code
style issues:
  - bare exception
  - use double-backslash for printing a backslash
---
 Control/AthenaCommon/CMakeLists.txt                         | 2 +-
 Control/AthenaCommon/python/CfgMergerLib.py                 | 4 ++--
 Control/AthenaCommon/python/ConfigurationShelve.py          | 4 ++--
 Control/AthenaCommon/python/DumpProperties.py               | 4 ++--
 Control/AthenaCommon/python/Include.py                      | 6 +++---
 Control/AthenaCommon/python/JobProperties.py                | 6 +++---
 Control/AthenaConfiguration/python/ComponentAccumulator.py  | 6 +++---
 Control/AthenaConfiguration/python/UnifyProperties.py       | 2 +-
 HLT/Trigger/TrigControl/TrigCommon/bin/athenaHLT.py         | 2 +-
 .../TriggerJobOpts/python/TriggerConfigGetter.py            | 6 +++---
 10 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/Control/AthenaCommon/CMakeLists.txt b/Control/AthenaCommon/CMakeLists.txt
index 68b6abb75163..a29b6dca8c2a 100644
--- a/Control/AthenaCommon/CMakeLists.txt
+++ b/Control/AthenaCommon/CMakeLists.txt
@@ -33,5 +33,5 @@ atlas_add_test( CFElementsTest SCRIPT python -m unittest -v AthenaCommon.CFEleme
 
 # Check python syntax:
 atlas_add_test( flake8
-   SCRIPT flake8 --select=F,E101,E112,E113,E7,E9,W6 --ignore=E701 ${CMAKE_CURRENT_SOURCE_DIR}/python
+   SCRIPT flake8 --select=F,E101,E112,E113,E7,E9,W6 --ignore=E701,E741 ${CMAKE_CURRENT_SOURCE_DIR}/python
    POST_EXEC_SCRIPT nopost.sh )
diff --git a/Control/AthenaCommon/python/CfgMergerLib.py b/Control/AthenaCommon/python/CfgMergerLib.py
index f0d05cf7e630..4eb2394b4994 100644
--- a/Control/AthenaCommon/python/CfgMergerLib.py
+++ b/Control/AthenaCommon/python/CfgMergerLib.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 # @file AthenaCommon/python/CfgMergerLib
 # @purpose a set of python tools to analyze configurables and find candidates
@@ -188,7 +188,7 @@ def dump_josvc_content(fname='josvc.ascii'):
 
     cfg = dict(cfg)
     print >> f, "# content of the joboptions-svc"
-    print >> f, "josvc_catalog = \ "
+    print >> f, "josvc_catalog = \\ "
 
     from pprint import pprint
     pprint(cfg, stream=f)
diff --git a/Control/AthenaCommon/python/ConfigurationShelve.py b/Control/AthenaCommon/python/ConfigurationShelve.py
index e3add9820caf..4038da3a33a3 100644
--- a/Control/AthenaCommon/python/ConfigurationShelve.py
+++ b/Control/AthenaCommon/python/ConfigurationShelve.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 # @file: AthenaCommon/python/ConfigurationShelve.py
 # @author: Wim Lavrijsen (WLavrijsen@lbl.gov)
@@ -311,7 +311,7 @@ def loadJobOptionsCatalogue( cfg_fname ):
          p = gaudi.StringProperty( n, '' )
          try:
             p.fromString(v).ignore()
-         except:
+         except Exception:
             print "Failed to convert",n,v
 
          if not josvc.addPropertyToCatalogue( client, p ).isSuccess():
diff --git a/Control/AthenaCommon/python/DumpProperties.py b/Control/AthenaCommon/python/DumpProperties.py
index d914322c3f90..21f5805c2fab 100755
--- a/Control/AthenaCommon/python/DumpProperties.py
+++ b/Control/AthenaCommon/python/DumpProperties.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 # File: AthenaCommon/python/DumpProperties.py
 # Author: Wim Lavrijsen (WLavrijsen@lbl.gov)
@@ -76,7 +76,7 @@ def pprint( obj, stream = sys.stdout ):
       if not obj._ip:
          try:
             value = eval( value )
-         except:
+         except Exception:
             pass
 
       if value and type(value) == list:
diff --git a/Control/AthenaCommon/python/Include.py b/Control/AthenaCommon/python/Include.py
index 6081b56bf06c..e7816b84f537 100755
--- a/Control/AthenaCommon/python/Include.py
+++ b/Control/AthenaCommon/python/Include.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 # File: AthenaCommon/python/Include.py
 # Author: Wim Lavrijsen (WLavrijsen@lbl.gov)
@@ -57,7 +57,7 @@ class IncludeError( RuntimeError ):
 ### files locator ------------------------------------------------------------
 try:
    optionsPathEnv = os.environ[ 'JOBOPTSEARCHPATH' ]
-except:
+except Exception:
    optionsPathEnv = os.curdir
 
 optionsPath = re.split( ',|' + os.pathsep, optionsPathEnv )
@@ -232,7 +232,7 @@ class Include( object ):
             try:
                if 'import' in _filecache[ f.f_code.co_filename ][ f.f_lineno ]:
                   return self._trace_include
-            except:
+            except Exception:
                pass
             f = f.f_back
          del f
diff --git a/Control/AthenaCommon/python/JobProperties.py b/Control/AthenaCommon/python/JobProperties.py
index 2b19ec588ba0..4afe912fc3e6 100755
--- a/Control/AthenaCommon/python/JobProperties.py
+++ b/Control/AthenaCommon/python/JobProperties.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 #=======================================================================
 # File: JobProperties/python/JobProperties.py
@@ -483,13 +483,13 @@ class JobPropertyContainer (object):
                   closestMatch=get_close_matches(name,self.__dict__.keys(),1)
                   if len(closestMatch)>0:
                       errString+=". Did you mean \'%s\'?" %  closestMatch[0] 
-              except:
+              except Exception:
                   pass #No execption from here
                   
               raise AttributeError(errString)
         try: 
             protected=hasattr(self.__dict__[name],'_context_name') 
-        except:
+        except Exception:
             protected=False 
         if not protected:
             self.__dict__[name] = n_value
diff --git a/Control/AthenaConfiguration/python/ComponentAccumulator.py b/Control/AthenaConfiguration/python/ComponentAccumulator.py
index 15e71f94d961..a85a9ffc3d2a 100644
--- a/Control/AthenaConfiguration/python/ComponentAccumulator.py
+++ b/Control/AthenaConfiguration/python/ComponentAccumulator.py
@@ -90,13 +90,13 @@ class ComponentAccumulator(object):
                         return seq.getValuedProperties()[name]                    
                     return seq.getDefaultProperties()[name]
 
-                self._msg.info( " "*nestLevel +"\__ "+ seq.name() +" (seq: %s %s)" %(  "SEQ" if __prop("Sequential") else "PAR", "OR" if __prop("ModeOR") else "AND"  ) )
+                self._msg.info( " "*nestLevel +"\\__ "+ seq.name() +" (seq: %s %s)" %(  "SEQ" if __prop("Sequential") else "PAR", "OR" if __prop("ModeOR") else "AND"  ) )
                 nestLevel += 3
                 for c in seq.getChildren():
                     if isSequence(c):
                         printSeqAndAlgs(c, nestLevel )
                     else:
-                        self._msg.info( " "*nestLevel +"\__ "+ c.name() +" (alg)" )
+                        self._msg.info( " "*nestLevel +"\\__ "+ c.name() +" (alg)" )
                         if summariseProps:
                             printProperties(c, nestLevel)
             printSeqAndAlgs(self._sequence) 
@@ -251,7 +251,7 @@ class ComponentAccumulator(object):
         #The following is to work with internal list of service as well as gobal svcMgr as second parameter
         try:
             compList.append(newComp)
-        except:
+        except Exception:
             compList+=newComp
             pass
         return True #True means something got added
diff --git a/Control/AthenaConfiguration/python/UnifyProperties.py b/Control/AthenaConfiguration/python/UnifyProperties.py
index dbbb6d968d1a..2781f6d40a1c 100644
--- a/Control/AthenaConfiguration/python/UnifyProperties.py
+++ b/Control/AthenaConfiguration/python/UnifyProperties.py
@@ -63,7 +63,7 @@ def getUnificationKey(propname):
         if matchingByObject in _propsToUnify:
             return matchingByObject
 
-    except:
+    except Exception:
         pass
 
     return None
diff --git a/HLT/Trigger/TrigControl/TrigCommon/bin/athenaHLT.py b/HLT/Trigger/TrigControl/TrigCommon/bin/athenaHLT.py
index 1a8e7bb85926..e2618adc6dd8 100755
--- a/HLT/Trigger/TrigControl/TrigCommon/bin/athenaHLT.py
+++ b/HLT/Trigger/TrigControl/TrigCommon/bin/athenaHLT.py
@@ -76,7 +76,7 @@ def arg_ros2rob(s):
       if type(ros2robdict) is not dict:
          raise(ValueError)
       return ros2robdict
-   except:
+   except Exception:
       sys.stderr.write("ERROR! ros2rob cannot be evaluated as it is not a proper python dictionary: {}\n".format(s))
       sys.stderr.write("Using empty ros2rob dictionary instead\n")
       return {}
diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfigGetter.py b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfigGetter.py
index 6558072e19c4..7c817028a5ab 100644
--- a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfigGetter.py
+++ b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfigGetter.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 
 __author__  = 'J. Stelzer'
@@ -248,7 +248,7 @@ class TriggerConfigGetter(Configured):
         ### preparations are done!
         try:
             self.svc.SetStates( self.ConfigSrcList )
-        except:
+        except Exception as ex:
             log.error( 'Failed to set state of TrigConfigSvc to %r' % self.ConfigSrcList )
         else:
             log.info('The following configuration services will be tried: %r' % self.ConfigSrcList )
@@ -256,7 +256,7 @@ class TriggerConfigGetter(Configured):
 
         try:
             self.svc.InitialiseSvc()
-        except Exception, ex:
+        except Exception as ex:
             log.error( 'Failed to activate TrigConfigSvc: %r' % ex )
 
         if self.readTriggerDB:
-- 
GitLab


From d541d544a94e21c38b8810d615fcf1ed51900691 Mon Sep 17 00:00:00 2001
From: christos <christos@cern.ch>
Date: Wed, 23 Jan 2019 21:24:56 +0000
Subject: [PATCH 077/192]  Fix Mismatched delete, Definitely lost from Valgrind

---
 .../TElectronEfficiencyCorrectionTool.cxx     | 30 +++++++------------
 1 file changed, 10 insertions(+), 20 deletions(-)

diff --git a/PhysicsAnalysis/ElectronPhotonID/ElectronEfficiencyCorrection/Root/TElectronEfficiencyCorrectionTool.cxx b/PhysicsAnalysis/ElectronPhotonID/ElectronEfficiencyCorrection/Root/TElectronEfficiencyCorrectionTool.cxx
index 1fd6b01d3555..0120f7bc9e26 100644
--- a/PhysicsAnalysis/ElectronPhotonID/ElectronEfficiencyCorrection/Root/TElectronEfficiencyCorrectionTool.cxx
+++ b/PhysicsAnalysis/ElectronPhotonID/ElectronEfficiencyCorrection/Root/TElectronEfficiencyCorrectionTool.cxx
@@ -124,17 +124,6 @@ int Root::TElectronEfficiencyCorrectionTool::initialize() {
   ATH_MSG_DEBUG("Initializing tool with " << m_corrFileNameList.size() 
                 << " configuration file(s)");
 
-  /* 
-   * Check if the first file can be opened 
-   * It is needed for auto-setting of the seed based on the md5-sum of the file
-   */
-  const std::unique_ptr<char> fname(gSystem->ExpandPathName(m_corrFileNameList[0].c_str()));
-  std::unique_ptr<TFile> rootFile_tmp( TFile::Open(fname.get(), "READ") );
-  if (!rootFile_tmp) {
-    ATH_MSG_ERROR("No ROOT file found here: " << m_corrFileNameList[0]);
-    return 0;
-  }
-  rootFile_tmp->Close();
   
   if (m_doToyMC && m_doCombToyMC) {
     ATH_MSG_ERROR(" Both regular and combined toy MCs booked!" << " Only use one!");
@@ -146,6 +135,8 @@ int Root::TElectronEfficiencyCorrectionTool::initialize() {
    */
   if (m_doToyMC || m_doCombToyMC) {
     if (m_seed == 0) {
+    // Use the name of the correction  for auto-setting of the seed based on the md5-sum of the file
+      const std::unique_ptr<char[]> fname(gSystem->ExpandPathName(m_corrFileNameList[0].c_str()));
       std::unique_ptr<TMD5> tmd=CxxUtils::make_unique<TMD5>();
       const char* tmd_as_string=tmd->FileChecksum(fname.get())->AsString();
       m_seed = *(reinterpret_cast<const unsigned long int*>(tmd_as_string));
@@ -650,10 +641,9 @@ int Root::TElectronEfficiencyCorrectionTool::getHistograms() {
   /*
    * Get all ROOT files and histograms
    */
-
   for (unsigned int i = 0; i < m_corrFileNameList.size(); ++i) {
     // Load the ROOT file
-    const std::unique_ptr<char> fname (gSystem->ExpandPathName(m_corrFileNameList[i].c_str()));
+    const std::unique_ptr<char[]> fname (gSystem->ExpandPathName(m_corrFileNameList[i].c_str()));
     std::unique_ptr<TFile> rootFile( TFile::Open(fname.get(), "READ") );
     if (!rootFile) {
       ATH_MSG_ERROR( "No ROOT file found here: " <<m_corrFileNameList[i]);
@@ -661,21 +651,21 @@ int Root::TElectronEfficiencyCorrectionTool::getHistograms() {
     }
     // Loop over all directories inside the root file (correspond to the run number ranges
     TIter nextdir(rootFile->GetListOfKeys());
-    TKey *dir;
-    TObject *obj;
+    TKey *dir=nullptr;
+    TObject *obj=nullptr;
     while ((dir = (TKey *) nextdir())) {
       obj = dir->ReadObj();
       if (obj->IsA()->InheritsFrom("TDirectory")) {
         // splits string by delimiter --> e.g RunNumber1_RunNumber2
-        TObjArray dirNameArray = *(TString(obj->GetName()).Tokenize("_"));
+        std::unique_ptr<TObjArray> dirNameArray(TString(obj->GetName()).Tokenize("_"));
         // returns index of last string --> if one, the directory name does not contain any run numbers
-        int lastIdx = dirNameArray.GetLast();
+        int lastIdx = dirNameArray->GetLast();
         if (lastIdx != 1) {
           ATH_MSG_ERROR("The folder name seems to have the wrong format! Directory name:"<< obj->GetName());
           return 0;
         }
         rootFile->cd(obj->GetName());
-        if (0 == this->setupHistogramsInFolder(dirNameArray, lastIdx)) {
+        if (0 == this->setupHistogramsInFolder(*dirNameArray, lastIdx)) {
           ATH_MSG_ERROR("Unable to setup the histograms in directory " << dir->GetName()
                         << "in file " << m_corrFileNameList[i]);
           return 0;
@@ -733,8 +723,8 @@ int Root::TElectronEfficiencyCorrectionTool::setupHistogramsInFolder(const TObjA
   std::vector<TObjArray > sysObjsFast;
 
   TIter nextkey(gDirectory->GetListOfKeys());
-  TKey *key;
-  TObject *obj(0);
+  TKey *key=nullptr;
+  TObject *obj=nullptr;
   int seenSystematics= 0;
 
   //Loop of the keys 
-- 
GitLab


From 6a3a899300c13157d7d3e0a951545dde7e4ed1c6 Mon Sep 17 00:00:00 2001
From: Susumu Oda <Susumu.Oda@cern.ch>
Date: Thu, 24 Jan 2019 02:59:30 +0100
Subject: [PATCH 078/192] Remove ISiliconConditionsSvc.h

---
 .../ISiliconConditionsSvc.h                   | 52 -------------------
 .../ReadSiDetectorElements.h                  |  1 -
 .../src/ReadSiDetectorElements.cxx            |  1 -
 3 files changed, 54 deletions(-)
 delete mode 100644 InnerDetector/InDetConditions/InDetConditionsSummaryService/InDetConditionsSummaryService/ISiliconConditionsSvc.h

diff --git a/InnerDetector/InDetConditions/InDetConditionsSummaryService/InDetConditionsSummaryService/ISiliconConditionsSvc.h b/InnerDetector/InDetConditions/InDetConditionsSummaryService/InDetConditionsSummaryService/ISiliconConditionsSvc.h
deleted file mode 100644
index 6a6117022988..000000000000
--- a/InnerDetector/InDetConditions/InDetConditionsSummaryService/InDetConditionsSummaryService/ISiliconConditionsSvc.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-/**
- * @file ISiliconConditionsSvc.h
- * @author shaun.roe@cern.ch
-**/
-#ifndef ISiliconConditionsSvc_h
-#define ISiliconConditionsSvc_h
-//Gaudi Includes
-#include "GaudiKernel/IInterface.h"
-// STL includes
-#include <list>
-#include <string>
-
-//forward declarations
-class Identifier;
-class IdentifierHash;
-/**
- * @class ISiliconConditionsSvc
- * Interface class for service providing basic silicon parameters
-**/
-class ISiliconConditionsSvc: virtual public IInterface{
-public:
-  virtual ~ISiliconConditionsSvc(){}
-  static const InterfaceID & interfaceID(); //!< reimplemented from IInterface
-  //@name methods taking the detector identifier
-  //@{
-  virtual  float temperature(const Identifier & detectorElement)=0;
-  virtual  float biasVoltage(const Identifier & detectorElement)=0;
-  virtual  float depletionVoltage(const Identifier & detectorElement)=0;
-  //@}
-  //@name methods taking the detector hash identifier
-  //@{
-  virtual  float temperature(const IdentifierHash & detectorElement)=0;
-  virtual  float biasVoltage(const IdentifierHash & detectorElement)=0;
-  virtual  float depletionVoltage(const IdentifierHash & detectorElement)=0;
-  //@}
-
-  /// IOV CallBack
-  virtual StatusCode callBack(int&, std::list<std::string>&) = 0;
-  /// Query whether a CallBack has been registered.
-  virtual bool hasCallBack() = 0;
-
-};
-
-inline const InterfaceID & ISiliconConditionsSvc::interfaceID(){
-  static const InterfaceID IID_ISiliconConditionsSvc("ISiliconConditionsSvc",1,0);
-  return IID_ISiliconConditionsSvc;
-}
-#endif
diff --git a/InnerDetector/InDetExample/InDetDetDescrExample/InDetDetDescrExample/ReadSiDetectorElements.h b/InnerDetector/InDetExample/InDetDetDescrExample/InDetDetDescrExample/ReadSiDetectorElements.h
index b939863d0d59..48456cad3a5b 100755
--- a/InnerDetector/InDetExample/InDetDetDescrExample/InDetDetDescrExample/ReadSiDetectorElements.h
+++ b/InnerDetector/InDetExample/InDetDetDescrExample/InDetDetDescrExample/ReadSiDetectorElements.h
@@ -16,7 +16,6 @@
 #include "StoreGate/ReadCondHandleKey.h"
 #include "InDetConditionsSummaryService/ISiliconConditionsTool.h"
 #include "InDetCondServices/ISiLorentzAngleTool.h"
-#include "InDetConditionsSummaryService/ISiliconConditionsSvc.h"
 
 #include <vector>
 
diff --git a/InnerDetector/InDetExample/InDetDetDescrExample/src/ReadSiDetectorElements.cxx b/InnerDetector/InDetExample/InDetDetDescrExample/src/ReadSiDetectorElements.cxx
index 35e47b009511..7a9ece0a7ac0 100755
--- a/InnerDetector/InDetExample/InDetDetDescrExample/src/ReadSiDetectorElements.cxx
+++ b/InnerDetector/InDetExample/InDetDetDescrExample/src/ReadSiDetectorElements.cxx
@@ -17,7 +17,6 @@
 #include "InDetIdentifier/PixelID.h"
 #include "InDetIdentifier/SCT_ID.h"
 #include "Identifier/Identifier.h"
-#include "InDetConditionsSummaryService/ISiliconConditionsSvc.h"
 
 #include "InDetReadoutGeometry/SiLocalPosition.h"
 
-- 
GitLab


From 4f75656076d56f2edd0e1cdd2260159ac768cec4 Mon Sep 17 00:00:00 2001
From: John Kenneth Anders <john.kenneth.anders@cern.ch>
Date: Wed, 23 Jan 2019 13:16:20 +0000
Subject: [PATCH 079/192] Merge branch 'fix_Broken_TCT' into '21.0'

Changed permissions for m16e TCT test

See merge request atlas/athena!20563

(cherry picked from commit c6a7f5b421a074714cfbea55059da84721ec27b1)

72e530ec Changed permissions for m16e TCT test
---
 Tools/Tier0ChainTests/test/test_reco_mc16e.sh | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 mode change 100644 => 100755 Tools/Tier0ChainTests/test/test_reco_mc16e.sh

diff --git a/Tools/Tier0ChainTests/test/test_reco_mc16e.sh b/Tools/Tier0ChainTests/test/test_reco_mc16e.sh
old mode 100644
new mode 100755
-- 
GitLab


From 32e551c89360a96126b73c15ea04bbd4d58476da Mon Sep 17 00:00:00 2001
From: John Derek Chapman <chapman@hep.phy.cam.ac.uk>
Date: Wed, 23 Jan 2019 14:45:12 +0000
Subject: [PATCH 080/192] Merge branch 'nsw_clus_tools' into '21.3'

Fixing the strip identifier in the MM RDO

See merge request atlas/athena!20527

(cherry picked from commit 2ab00e524fdf23f33e22c64a62d6eb0a424784fa)

4cdff5d3 Fixing the strip identifier in the MM RDO
---
 .../CxxUtils/ATLAS_CHECK_THREAD_SAFETY        |  0
 .../src/MM_DigitToRDO.cxx                     | 24 ++++++++++++++++++-
 2 files changed, 23 insertions(+), 1 deletion(-)
 mode change 100644 => 100755 Control/CxxUtils/CxxUtils/ATLAS_CHECK_THREAD_SAFETY

diff --git a/Control/CxxUtils/CxxUtils/ATLAS_CHECK_THREAD_SAFETY b/Control/CxxUtils/CxxUtils/ATLAS_CHECK_THREAD_SAFETY
old mode 100644
new mode 100755
diff --git a/MuonSpectrometer/MuonCnv/MuonByteStreamCnvTest/src/MM_DigitToRDO.cxx b/MuonSpectrometer/MuonCnv/MuonByteStreamCnvTest/src/MM_DigitToRDO.cxx
index 9f3560d6fb99..a86e114f2eb7 100644
--- a/MuonSpectrometer/MuonCnv/MuonByteStreamCnvTest/src/MM_DigitToRDO.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonByteStreamCnvTest/src/MM_DigitToRDO.cxx
@@ -70,7 +70,29 @@ StatusCode MM_DigitToRDO::execute()
 
 	for ( unsigned int i=0 ; i<nstrips ; ++i ) {
 
-	  MM_RawData* rdo = new MM_RawData(id,
+	  ///
+	  /// set the rdo id to a value consistent with the channel number
+	  /// 
+	  bool isValid;
+	  int stationName = m_idHelper->stationName(id);
+	  int stationEta  = m_idHelper->stationEta(id);
+	  int stationPhi  = m_idHelper->stationPhi(id);
+	  int multilayer  = m_idHelper->multilayer(id);
+	  int gasGap      = m_idHelper->gasGap(id);
+	  ///
+	  int channel     = digit->stripResponsePosition().at(i);
+
+	  Identifier newId = m_idHelper->channelID(stationName,stationEta,
+						   stationPhi,multilayer,gasGap,channel,true,&isValid);
+
+	  if (!isValid) {
+	    ATH_MSG_WARNING("Invalid MM identifier. StationName="<<stationName <<
+			    " stationEta=" << stationEta << " stationPhi=" << stationPhi << 
+			    " multi=" << multilayer << " gasGap=" << gasGap << " channel=" << channel);
+	    continue;
+	  } 
+
+	  MM_RawData* rdo = new MM_RawData(newId,
 					   digit->stripResponsePosition().at(i),
 					   digit->stripResponseTime().at(i),
 					   digit->stripResponseCharge().at(i));
-- 
GitLab


From 930b0a4c71a2a9a97765e1ec52d26d130b8f2a93 Mon Sep 17 00:00:00 2001
From: scott snyder <sss@karma>
Date: Wed, 23 Jan 2019 16:34:27 +0100
Subject: [PATCH 081/192] TileGeoG4Calib: A couple const fixes.

Declare as const ServiceHandles to the detStore used as arguments.
Needed for compatibility with thread-safety fixes in AthenaBaseComps.
---
 TileCalorimeter/TileG4/TileGeoG4Calib/src/TileGeoG4CalibSD.cc | 4 ++--
 TileCalorimeter/TileG4/TileGeoG4Calib/src/TileGeoG4CalibSD.h  | 4 ++--
 .../TileG4/TileGeoG4Calib/src/TileGeoG4DMLookupBuilder.cc     | 4 ++--
 .../TileG4/TileGeoG4Calib/src/TileGeoG4DMLookupBuilder.h      | 4 ++--
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/TileCalorimeter/TileG4/TileGeoG4Calib/src/TileGeoG4CalibSD.cc b/TileCalorimeter/TileG4/TileGeoG4Calib/src/TileGeoG4CalibSD.cc
index 29a5d6697aca..5ea892a0a567 100644
--- a/TileCalorimeter/TileG4/TileGeoG4Calib/src/TileGeoG4CalibSD.cc
+++ b/TileCalorimeter/TileG4/TileGeoG4Calib/src/TileGeoG4CalibSD.cc
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 //************************************************************
@@ -60,7 +60,7 @@
 
 //CONSTRUCTOR
 TileGeoG4CalibSD::TileGeoG4CalibSD(const G4String& name, const std::vector<std::string>& outputCollectionNames, ITileCalculator* tileCalculator,
-                                   ServiceHandle<StoreGateSvc> &detStore)
+                                   const ServiceHandle<StoreGateSvc> &detStore)
 : G4VSensitiveDetector(name),
   m_tileActiveCellCalibHits(outputCollectionNames[1]),
   m_tileInactiveCellCalibHits(outputCollectionNames[2]),
diff --git a/TileCalorimeter/TileG4/TileGeoG4Calib/src/TileGeoG4CalibSD.h b/TileCalorimeter/TileG4/TileGeoG4Calib/src/TileGeoG4CalibSD.h
index 84bc556df6c2..6a3a3fd70e4a 100644
--- a/TileCalorimeter/TileG4/TileGeoG4Calib/src/TileGeoG4CalibSD.h
+++ b/TileCalorimeter/TileG4/TileGeoG4Calib/src/TileGeoG4CalibSD.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 //************************************************************
@@ -86,7 +86,7 @@ typedef std::vector<double> E_4;
 class TileGeoG4CalibSD: public G4VSensitiveDetector {
 public:
   TileGeoG4CalibSD(const G4String& name, const std::vector<std::string>& m_outputCollectionNames,
-                   ITileCalculator* tileCalculator, ServiceHandle<StoreGateSvc> &detStore);
+                   ITileCalculator* tileCalculator, const ServiceHandle<StoreGateSvc> &detStore);
   ~TileGeoG4CalibSD();
 
   void InvokeUserRunAction();
diff --git a/TileCalorimeter/TileG4/TileGeoG4Calib/src/TileGeoG4DMLookupBuilder.cc b/TileCalorimeter/TileG4/TileGeoG4Calib/src/TileGeoG4DMLookupBuilder.cc
index eceab515f85a..09a9e908db2a 100644
--- a/TileCalorimeter/TileG4/TileGeoG4Calib/src/TileGeoG4DMLookupBuilder.cc
+++ b/TileCalorimeter/TileG4/TileGeoG4Calib/src/TileGeoG4DMLookupBuilder.cc
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 //************************************************************
@@ -44,7 +44,7 @@
 TileGeoG4DMLookupBuilder::TileGeoG4DMLookupBuilder(TileGeoG4LookupBuilder* lookup_builder,
                                                    ServiceHandle<IRDBAccessSvc> &raccess,
                                                    ServiceHandle<IGeoModelSvc> &geo_svc,
-                                                   ServiceHandle<StoreGateSvc> &pDetStore, const int verboseLevel)
+                                                   const ServiceHandle<StoreGateSvc> &pDetStore, const int verboseLevel)
 : rBMin(0),
   rBMax(0),
   zBarrMaxPos(0),
diff --git a/TileCalorimeter/TileG4/TileGeoG4Calib/src/TileGeoG4DMLookupBuilder.h b/TileCalorimeter/TileG4/TileGeoG4Calib/src/TileGeoG4DMLookupBuilder.h
index 81cd050822fd..5f3db2a910a0 100644
--- a/TileCalorimeter/TileG4/TileGeoG4Calib/src/TileGeoG4DMLookupBuilder.h
+++ b/TileCalorimeter/TileG4/TileGeoG4Calib/src/TileGeoG4DMLookupBuilder.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 //************************************************************
@@ -33,7 +33,7 @@ class StoreGateSvc;
 class TileGeoG4DMLookupBuilder {
 public:
   TileGeoG4DMLookupBuilder(TileGeoG4LookupBuilder* tile_lookup_builder, ServiceHandle<IRDBAccessSvc> &access,
-                           ServiceHandle<IGeoModelSvc> &geo_svc, ServiceHandle<StoreGateSvc> &pDetStore,
+                           ServiceHandle<IGeoModelSvc> &geo_svc, const ServiceHandle<StoreGateSvc> &pDetStore,
                            const int verboseLevel);
   ~TileGeoG4DMLookupBuilder();
 
-- 
GitLab


From c6a895eee70e34fb290c5bf92f11cbe29b41ad3d Mon Sep 17 00:00:00 2001
From: scott snyder <sss@karma>
Date: Wed, 23 Jan 2019 16:35:54 +0100
Subject: [PATCH 082/192] TrkExUtils: Additions to help with making
 intersection tools const.

The intersection tools currently start with a TrackSurfaceIntersection object,
cache the information from it in member variables, step the path through
the detector, and then create a new TrackSurfaceIntersection object.

We want to make the intersector interfaces const, which means getting
rid of the information cached in tool member variables.  We can streamline
this by keeping the stepping state in a TrackSurfaceIntersection object
directly, rather than in discrete member variables.  This allows eliminating
some copies at the end.

Add (non-const) interfaces allowing retrieving non-const references
to the member data of TrackSurfaceIntersection.
---
 .../TrkExUtils/TrackSurfaceIntersection.h       | 17 ++++++++++++++++-
 .../TrkExUtils/src/TrackSurfaceIntersection.cxx | 14 +++++++++++---
 2 files changed, 27 insertions(+), 4 deletions(-)

diff --git a/Tracking/TrkExtrapolation/TrkExUtils/TrkExUtils/TrackSurfaceIntersection.h b/Tracking/TrkExtrapolation/TrkExUtils/TrkExUtils/TrackSurfaceIntersection.h
index 87380ac46536..3d48b5df4603 100755
--- a/Tracking/TrkExtrapolation/TrkExUtils/TrkExUtils/TrackSurfaceIntersection.h
+++ b/Tracking/TrkExtrapolation/TrkExUtils/TrkExUtils/TrackSurfaceIntersection.h
@@ -33,14 +33,20 @@ namespace Trk {
 	  /**Destructor*/
 	  virtual ~TrackSurfaceIntersection();
 
+          TrackSurfaceIntersection (const TrackSurfaceIntersection& other);
+          TrackSurfaceIntersection& operator= (const TrackSurfaceIntersection& other) = default;
+
 	  /** Method to retrieve the position of the Intersection */
 	  const Amg::Vector3D& position() const;
+	        Amg::Vector3D& position();
         
 	  /** Method to retrieve the direction at the Intersection */
 	  const Amg::Vector3D& direction() const;
+	        Amg::Vector3D& direction();
         
 	  /** Method to retrieve the pathlength propagated till the Intersection */
-	  double pathlength() const;
+	  double  pathlength() const;
+	  double& pathlength();
         
 	  /** Method to retrieve the object serial number (needed for speed optimization) */
 	  unsigned long long serialNumber() const;
@@ -57,12 +63,21 @@ namespace Trk {
   inline const Amg::Vector3D& TrackSurfaceIntersection::position() const
   { return m_position; }
 
+  inline Amg::Vector3D& TrackSurfaceIntersection::position()
+  { return m_position; }
+
   inline const Amg::Vector3D& TrackSurfaceIntersection::direction() const
   { return m_direction; }
 
+  inline Amg::Vector3D& TrackSurfaceIntersection::direction()
+  { return m_direction; }
+
   inline double TrackSurfaceIntersection::pathlength() const
   { return m_pathlength; }
   
+  inline double& TrackSurfaceIntersection::pathlength()
+  { return m_pathlength; }
+  
   inline unsigned long long TrackSurfaceIntersection::serialNumber() const
   { return m_serialNumber; }
 
diff --git a/Tracking/TrkExtrapolation/TrkExUtils/src/TrackSurfaceIntersection.cxx b/Tracking/TrkExtrapolation/TrkExUtils/src/TrackSurfaceIntersection.cxx
index 2e5da7898a9b..7780638f03d5 100755
--- a/Tracking/TrkExtrapolation/TrkExUtils/src/TrackSurfaceIntersection.cxx
+++ b/Tracking/TrkExtrapolation/TrkExUtils/src/TrackSurfaceIntersection.cxx
@@ -22,11 +22,19 @@ unsigned long long	Trk::TrackSurfaceIntersection::s_serialNumber = 0;
 Trk::TrackSurfaceIntersection::TrackSurfaceIntersection(const Amg::Vector3D&	pos,
 							const Amg::Vector3D&	dir,
 							double			path)
+  : m_position (pos),
+    m_direction (dir),
+    m_pathlength (path)
+{
+    m_serialNumber	= ++s_serialNumber;
+}
+
+Trk::TrackSurfaceIntersection::TrackSurfaceIntersection(const TrackSurfaceIntersection& other)
+  : m_position (other.m_position),
+    m_direction (other.m_direction),
+    m_pathlength (other.m_pathlength)
 {
     m_serialNumber	= ++s_serialNumber;
-    m_position		= pos;
-    m_direction		= dir;
-    m_pathlength	= path;
 }
 
 // destructor
-- 
GitLab


From 6bdd3f36ece5a70ed4e5175017e237d81aa4c814 Mon Sep 17 00:00:00 2001
From: scott snyder <sss@karma>
Date: Wed, 23 Jan 2019 16:45:35 +0100
Subject: [PATCH 083/192] IOVDbTestAlg: Fix compilation warning.

Compilation warning: use of potentially uninitialized variable.
---
 AtlasTest/DatabaseTest/IOVDbTestAlg/src/IOVDbTestCoolDCS.cxx | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/AtlasTest/DatabaseTest/IOVDbTestAlg/src/IOVDbTestCoolDCS.cxx b/AtlasTest/DatabaseTest/IOVDbTestAlg/src/IOVDbTestCoolDCS.cxx
index 3cf49e3caef0..35f1426a15ba 100755
--- a/AtlasTest/DatabaseTest/IOVDbTestAlg/src/IOVDbTestCoolDCS.cxx
+++ b/AtlasTest/DatabaseTest/IOVDbTestAlg/src/IOVDbTestCoolDCS.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // IOVDbTestCoolDCS.cxx
@@ -50,7 +50,7 @@ StatusCode IOVDbTestCoolDCS::execute() {
   }
 
   // print all the AthenaAttributeList
-  const AthenaAttributeList* atrlist;
+  const AthenaAttributeList* atrlist = nullptr;;
   for (std::vector<std::string>::const_iterator itr=m_par_atrlist.begin();
        itr!=m_par_atrlist.end();++itr) {
     if (StatusCode::SUCCESS==detStore()->retrieve(atrlist,*itr)) {
-- 
GitLab


From 8abad54f44ae65b12943b292179a21d934032807 Mon Sep 17 00:00:00 2001
From: Vakho Tsulaia <vakhtang.tsulaia@cern.ch>
Date: Thu, 24 Jan 2019 07:41:25 +0100
Subject: [PATCH 084/192] Partially cleaned SCT_GeoModel from obsolete comments

---
 .../SCT_GeoModel/src/SCT_Barrel.cxx           |  6 ---
 .../src/SCT_BarrelModuleParameters.cxx        | 19 -------
 .../SCT_GeoModel/src/SCT_BarrelParameters.cxx |  1 -
 .../SCT_GeoModel/src/SCT_Forward.cxx          | 16 ------
 .../src/SCT_FwdCylinderServices.cxx           |  7 ---
 .../SCT_GeoModel/src/SCT_FwdHybrid.cxx        |  1 -
 .../SCT_GeoModel/src/SCT_FwdModule.cxx        |  1 -
 .../src/SCT_FwdModuleConnector.cxx            |  3 --
 .../SCT_GeoModel/src/SCT_FwdOptoHarness.cxx   |  3 --
 .../SCT_GeoModel/src/SCT_FwdRing.cxx          | 52 -------------------
 .../SCT_GeoModel/src/SCT_FwdSensor.cxx        | 19 -------
 .../SCT_GeoModel/src/SCT_FwdWheel.cxx         | 44 +---------------
 .../src/SCT_GeneralParameters.cxx             |  3 --
 .../SCT_GeoModel/src/SCT_Layer.cxx            | 34 ------------
 .../SCT_GeoModel/src/SCT_MaterialManager.cxx  |  1 -
 .../SCT_GeoModel/src/SCT_Module.cxx           | 18 -------
 .../SCT_GeoModel/src/SCT_Ski.cxx              | 20 -------
 .../SCT_GeoModel/src/SCT_SkiPowerTape.cxx     |  5 --
 18 files changed, 1 insertion(+), 252 deletions(-)

diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Barrel.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Barrel.cxx
index a0294257cca2..f9daf218931f 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Barrel.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Barrel.cxx
@@ -256,17 +256,14 @@ void SCT_Barrel::buildEMIShield(GeoFullPhysVol * parent) const
   const GeoShape * emiShieldShape  = 0;
   const GeoMaterial * material;
   const GeoTube * emiShieldTube  = new GeoTube(innerRadius, outerRadius,  0.5*length);
-  //  std::cout << "EMI tube volume = " << emiShieldTube->volume() << std::endl; 
   if (m_isOldGeometry) {
     emiShieldShape = emiShieldTube;
     material = materials.getMaterial(materialName);
   } else {
     const GeoTube* cutOut = new GeoTube(innerRadius, outerRadius, 0.5*pixelAttachmentLength);
-    //    std::cout << "Cut-out volume = " << cutOut->volume() << std::endl; 
     const GeoShape* emiTemp = (GeoShape*)&(emiShieldTube->subtract(*cutOut << GeoTrf::TranslateZ3D(pixelAttachmentZpos)));
     emiShieldShape = (GeoShape*)&emiTemp->subtract(*cutOut << GeoTrf::TranslateZ3D(-pixelAttachmentZpos));
     double emiVolume = emiShieldTube->volume() - 2. * cutOut->volume();
-    //    std::cout << "EMI final volume = " << emiVolume << std::endl; 
     material = materials.getMaterialForVolume(materialName, emiVolume);
   }
   const GeoLogVol  * emiShieldLog = new GeoLogVol("EMIShield", emiShieldShape, material);
@@ -278,14 +275,11 @@ void SCT_Barrel::buildEMIShield(GeoFullPhysVol * parent) const
     double dphi = jointRPhi / outerRadius;
     const GeoTubs* emiJointTubs = new GeoTubs(outerRadius, outerRadius+jointDeltaR, 0.5*length,
                                               -0.5 * dphi * Gaudi::Units::radian, dphi * Gaudi::Units::radian);
-    //    std::cout << "EMIJoint tubs volume = " << emiJointTubs->volume() << std::endl; 
     const GeoTubs* jointCutOut = new GeoTubs(outerRadius, outerRadius+jointDeltaR, 0.5*pixelAttachmentLength,
                                              -0.5 * dphi * Gaudi::Units::radian, dphi * Gaudi::Units::radian);
-    //    std::cout << "Cut-out volume = " << jointCutOut->volume() << std::endl; 
     const GeoShape* jointTemp = (GeoShape*)&(emiJointTubs->subtract(*jointCutOut << GeoTrf::TranslateZ3D(pixelAttachmentZpos)));
     const GeoShape* emiJointShape = (GeoShape*)&jointTemp->subtract(*jointCutOut << GeoTrf::TranslateZ3D(-pixelAttachmentZpos));
     double jointVolume = emiJointTubs->volume() - 2. * jointCutOut->volume();
-    //    std::cout << "EMIJoint final volume = " << jointVolume << std::endl; 
     const GeoMaterial * jointMaterial = materials.getMaterialForVolume(jointMaterialName, jointVolume);
     const GeoLogVol  * emiJointLog = new GeoLogVol("EMIShieldJoint", emiJointShape, jointMaterial);
     GeoPhysVol * emiJoint = new GeoPhysVol(emiJointLog);
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_BarrelModuleParameters.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_BarrelModuleParameters.cxx
index ef197e7387e5..96f390bc501a 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_BarrelModuleParameters.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_BarrelModuleParameters.cxx
@@ -15,25 +15,6 @@
 
 using std::abs;
 
-//
-// A few hard wired numbers (some of which should go in NOVA)
-//
-/*
-const double SCT_MODULE_HYBRID_OFFSET = 5.0 * Gaudi::Units::mm; // Planar distance from center of sensor to edge of hybrid.
-const int STEREO_UPPER_SIGN = -1; // Sign of stereo rotation of upper sensor with axis going
-                                  // from lower to upper  
-
-const double PITCH = 80 * micrometer;
-const double HALF_ACTIVE_STRIP_LENGTH = 31 * Gaudi::Units::mm;
-const double NOMINAL_WAFER_LENGTH = 63.960 * Gaudi::Units::mm;
-const double REF_DISTANCE_BETWEEN_FIDUCIALS = 2.19 * Gaudi::Units::mm; 
-const double DISTANCE_CORNER_MARK_TO_CENTER = 31.750 * Gaudi::Units::mm; 
-const double DISTANCE_CORNER_MARK_TO_FIDUCIAL = 0.8 * Gaudi::Units::mm; 
-const double DISTANCE_CENTER_TO_CENTER = 2 * (DISTANCE_CORNER_MARK_TO_CENTER - 
-                                              DISTANCE_CORNER_MARK_TO_FIDUCIAL)
-                                         + REF_DISTANCE_BETWEEN_FIDUCIALS;
-*/
-
 SCT_BarrelModuleParameters::SCT_BarrelModuleParameters()
 {
   m_rdb = SCT_DataBase::instance();
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_BarrelParameters.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_BarrelParameters.cxx
index 4edba82c1e48..c9cdeb4c5dd0 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_BarrelParameters.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_BarrelParameters.cxx
@@ -11,7 +11,6 @@
 #include "GaudiKernel/SystemOfUnits.h"
 
 #include <cmath>
-#include <iostream>
 
 
 SCT_BarrelParameters::SCT_BarrelParameters()
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Forward.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Forward.cxx
index 615d618c2b0d..405c90423da5 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Forward.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Forward.cxx
@@ -104,7 +104,6 @@ SCT_Forward::preBuild()
   for (int iWheel = 0; iWheel < m_numWheels; iWheel++){
     // Build Wheels
     std::ostringstream name; name << "Wheel" << iWheel << ((m_endcap > 0) ? "A" : "C");
-    //std::cout << getName() << ", iWheel = " << iWheel << ", " <<  name.str() << ", m_endcap = " << m_endcap << std::endl;
     const SCT_FwdWheel * wheel = new SCT_FwdWheel(name.str(), iWheel, m_modules, m_endcap);
     m_wheels.push_back(wheel);
   }
@@ -127,17 +126,9 @@ SCT_Forward::build(SCT_Identifier id) const
 
   for (int iWheel = 0; iWheel < m_numWheels; iWheel++){
 
-    // Build Wheels
-    // std::cout << "iWheel = " << iWheel << std::endl;
-    //std::ostringstream name; name << "Wheel" << iWheel << ((m_endcap > 0) ? "A" : "C");
-    //const SCT_FwdWheel * wheel = new SCT_FwdWheel(name.str(), iWheel, m_modules, m_endcap);
-    //m_wheels.push_back(wheel);
-
     const SCT_FwdWheel * wheel = m_wheels[iWheel];
     std::ostringstream wheelName; wheelName << "Wheel#" << iWheel;
     double zpos = wheel->zPosition() - zCenter();
-    //    std::cout << "Adding wheel " << iWheel << ", z = " << m_wheels[iWheel]->zPosition()
-    //          << " at " << zpos << ", thickness = " << wheel->thickness() << std::endl;
     forward->add(new GeoNameTag(wheelName.str()));
     forward->add(new GeoIdentifierTag(iWheel));
     GeoAlignableTransform * transform = new GeoAlignableTransform(GeoTrf::TranslateZ3D(zpos));
@@ -196,11 +187,8 @@ SCT_Forward::build(SCT_Identifier id) const
         int numPipes = 8 * m_wheels[iWheel]->numRings();
     
         // Label Cooling pipe with W# at end of string  
-        // std::ostringstream label; label << "CoolingPipeW" << iWheel + 1;       
-        //SCT_FwdCoolingPipe * coolingPipe = new SCT_FwdCoolingPipe(label.str(), numPipes, rStart, startPos, endPos);
         SCT_FwdCoolingPipe coolingPipe("OffDiskCoolingPipeW"+intToString(iWheel),
                                        numPipes, rStart, startPos, endPos);  
-        //std::cout << "Cooling pipe rmin,rmax: " << coolingPipe.innerRadius() << ", " << coolingPipe.outerRadius()  << std::endl;
       
         // Place the cooling pipes
         double coolingPipeZPos = coolingPipe.zPosition() - zCenter();
@@ -238,12 +226,8 @@ SCT_Forward::build(SCT_Identifier id) const
         int numModules = m_wheels[iWheel]->totalModules();
 
         // Label power tape with W# at end of string  
-        //std::ostringstream label; label << "PowerTapeW" << iWheel + 1;       
-        //SCT_FwdPowerTape * powerTape = new SCT_FwdPowerTape(label.str(), numModules, rStart, startPos, endPos);
         SCT_FwdPowerTape powerTape("OffDiskPowerTapeW"+intToString(iWheel),
                                    numModules, rStart, startPos, endPos);
-        //std::cout << "PowerTape rmin,rmax: " << powerTape.innerRadius() << ", " << powerTape.outerRadius()  << std::endl;
-
 
         // Place Power Tapes
         double powerTapeZPos = powerTape.zPosition() - zCenter();
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdCylinderServices.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdCylinderServices.cxx
index 7d36ba704b34..e8bf3e68b7cc 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdCylinderServices.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdCylinderServices.cxx
@@ -23,8 +23,6 @@
 #include <sstream>
 #include <cmath>
 
-#include <iostream>
-
 SCT_FwdCylinderServices::SCT_FwdCylinderServices(const std::string & name,
                                                  double rmin,
                                                  double rmax,
@@ -191,7 +189,6 @@ SCT_FwdCylinderServices::build()
     // Cooling pipe
     for (unsigned int iLoc = 0; iLoc < m_coolingLocAngle.size(); iLoc++) {
       double coolingAngle = m_coolingLocAngle[iLoc] + iquad * 90*Gaudi::Units::degree;
-      //      std::cout << "Placing cooling pipe at " << coolingAngle / Gaudi::Units::degree << " Gaudi::Units::degrees" << std::endl;
       cylinder->add(new GeoTransform(GeoTrf::RotateZ3D(coolingAngle)));
       cylinder->add(coolingPipe);
     }
@@ -199,7 +196,6 @@ SCT_FwdCylinderServices::build()
     // Low Mass Tapes and LMT Cooling are at same phi positions
     for (unsigned int iLoc = 0; iLoc < m_lmtLocAngle.size(); iLoc++) {
       double lmtAngle = m_lmtLocAngle[iLoc] + iquad * 90*Gaudi::Units::degree;
-      //      std::cout << "Placing LMT at " << lmtAngle / Gaudi::Units::degree << " Gaudi::Units::degrees" << std::endl;
       cylinder->add(new GeoTransform(GeoTrf::RotateZ3D(lmtAngle)));
       cylinder->add(lmt);
       cylinder->add(new GeoTransform(GeoTrf::RotateZ3D(lmtAngle)*GeoTrf::TranslateZ3D(m_lmtCoolingZOffset)));
@@ -209,7 +205,6 @@ SCT_FwdCylinderServices::build()
     // Fibres are between pairs of LMTs
     for (unsigned int iLoc = 0; iLoc < m_fibreLocAngle.size(); iLoc++) {
       double fibreAngle = m_fibreLocAngle[iLoc] + iquad * 90*Gaudi::Units::degree;
-      //      std::cout << "Placing fibres at " << fibreAngle / Gaudi::Units::degree << " Gaudi::Units::degrees" << std::endl;
       cylinder->add(new GeoTransform(GeoTrf::RotateZ3D(fibreAngle)));
       cylinder->add(fibres);
     }
@@ -217,7 +212,6 @@ SCT_FwdCylinderServices::build()
     // N2 Pipes
     for (unsigned int iLoc = 0; iLoc < m_nPipeLocAngle.size(); iLoc++) {
       double nPipeAngle = m_nPipeLocAngle[iLoc] + iquad * 90*Gaudi::Units::degree;
-      //      std::cout << "Placing N2 pipe at " << nPipeAngle / Gaudi::Units::degree << " Gaudi::Units::degrees" << std::endl;
       cylinder->add(new GeoTransform(GeoTrf::RotateZ3D(nPipeAngle)));
       cylinder->add(nPipe);
     }
@@ -225,7 +219,6 @@ SCT_FwdCylinderServices::build()
     // Rails
     for (unsigned int iLoc = 0; iLoc < m_railLocAngle.size(); iLoc++) {
       double railAngle = m_railLocAngle[iLoc] + iquad * 90*Gaudi::Units::degree;
-      //      std::cout << "Placing rail at " << railAngle / Gaudi::Units::degree << " Gaudi::Units::degrees" << std::endl;
       cylinder->add(new GeoTransform(GeoTrf::RotateZ3D(railAngle)));
       cylinder->add(rail);
     }
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdHybrid.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdHybrid.cxx
index fb526e58d6a8..99b73df0b4d4 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdHybrid.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdHybrid.cxx
@@ -112,7 +112,6 @@ GeoVPhysVol * SCT_FwdHybrid::build()
   SCT_MaterialManager materials;
   const GeoShapeUnion & hybridShape = hybridPos1.add(hybridPos2);
   // error getting volume directly.
-  //m_material = materials.getMaterialForVolume(m_materialName, hybridShape.volume());
   m_material = materials.getMaterialForVolume(m_materialName, hybridShape1->volume()+hybridShape2->volume());
   const GeoLogVol * hybridLog = new GeoLogVol(getName(), &hybridShape, m_material);
   GeoPhysVol * hybrid = new GeoPhysVol(hybridLog);
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdModule.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdModule.cxx
index cd5b5cacd35c..c1170044dc73 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdModule.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdModule.cxx
@@ -82,7 +82,6 @@ void
 SCT_FwdModule::getParameters()
 {
   const SCT_ForwardModuleParameters * parameters = geometryManager()->forwardModuleParameters();
-  // m_safety = geometryManager()->safety();
   m_glueThickness = parameters->fwdModuleGlueThickness(m_ringType);
   m_distBtwMountPoints = parameters->fwdModuleDistBtwMountPoints(m_ringType);
   m_mountPointToCenter = parameters->fwdModuleMountPoint(m_ringType);
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdModuleConnector.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdModuleConnector.cxx
index 93f207cf9ee8..5ba0a82cba9a 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdModuleConnector.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdModuleConnector.cxx
@@ -17,7 +17,6 @@
 #include "GaudiKernel/SystemOfUnits.h"
 
 #include <cmath>
-#include <iostream>
 
 SCT_FwdModuleConnector::SCT_FwdModuleConnector(const std::string & name, int ringType)
   : SCT_SharedComponentFactory(name), m_ringType(ringType)
@@ -47,8 +46,6 @@ SCT_FwdModuleConnector::build()
   // Construct box
   const GeoBox * moduleConnShape = new GeoBox(0.5 * m_thickness, 0.5 * m_rphi, 0.5 * m_deltaR);
   m_material = materials.getMaterialForVolume(m_materialName, moduleConnShape->volume());
-  //  std::cout << "Material = " << m_material->getName() << std::endl;
-  //  std::cout << "Density = " << m_material->getDensity()/(gram/Gaudi::Units::cm3) << std::endl;
 
   // Shift to correct position within module
   double xposition = 0.5 * (parameters->fwdHybridThickness() + m_thickness);
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdOptoHarness.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdOptoHarness.cxx
index e0bb9db2588a..0a25774b1979 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdOptoHarness.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdOptoHarness.cxx
@@ -56,9 +56,6 @@ SCT_FwdOptoHarness::build()
 
   const GeoTube * optoHarnessShape = new GeoTube(m_innerRadius, m_outerRadius, 0.5 * m_thickness);
   m_material = materials.getMaterialForVolume(m_materialName, optoHarnessShape->volume());
-  //  m_material = materials.getMaterial(m_materialName);
-  //  cout << "Material = " << m_material->getName() << endl;
-  //  cout << "Density = " << m_material->getDensity()/(gram/Gaudi::Units::cm3) << endl;
   const GeoLogVol * optoHarnessLog = new GeoLogVol(getName(), optoHarnessShape, m_material);
 
   GeoPhysVol * optoHarness = new GeoPhysVol(optoHarnessLog);
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdRing.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdRing.cxx
index f72d096699d6..4ba75ed8c4e9 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdRing.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdRing.cxx
@@ -34,19 +34,11 @@
 inline double sqr(double x) {return x*x;}
 
 SCT_FwdRing::SCT_FwdRing(const std::string & name, 
-                         //int ringType, 
                          const SCT_FwdModule * module, 
-                         //const SCT_FwdRingCooling * cooling,
-                         //int stereoSign,
-                         //int ringSide)
                          int iWheel,
                          int iRing,
                          int ec)
   : SCT_UniqueComponentFactory(name), 
-    //    m_ringType(ringType), 
-    // m_ringSide(ringSide), 
-    //m_stereoSign(stereoSign), 
-    //m_cooling(cooling)
     m_iWheel(iWheel),
     m_iRing(iRing),
     m_endcap(ec),
@@ -94,14 +86,6 @@ SCT_FwdRing::~SCT_FwdRing()
 const GeoLogVol * 
 SCT_FwdRing::preBuild()
 {
-  //   std::cout << getName() << std::endl;
-  //   std::cout << "Wheel, Ring = " << m_iWheel << ", " << m_iRing << std::endl;
-  //   std::cout << "m_module->thickness() = " << m_module->thickness() << std::endl;
-  //   std::cout << "m_moduleStagger = " << m_moduleStagger << std::endl;
-  //   std::cout << "m_refStartAngle = " << m_refStartAngle << std::endl;
-  //   std::cout << "m_refFirstStagger = " << m_refFirstStagger << std::endl;
-  //   std::cout << "m_ringOffset = " << m_ringOffset << std::endl;
-
   // Make a ring. This is made of two half rings. They are identical but as
   // we need different identifiers they are made seperately.
   // We will refer to the two halves as inner and outer.
@@ -147,13 +131,6 @@ SCT_FwdRing::preBuild()
   m_firstStagger = m_refFirstStagger;
   if (moduleCountInt % 2) m_firstStagger = -m_refFirstStagger;
 
-  //   std::cout << "RingType, RingSide, Stereo, rotated = " << m_iRing << " " << m_ringSide << " "
-  //          << m_stereoSign << " " << m_discRotated << std::endl;
-  //   std::cout << "Ref   Start angle and stagger " << m_refStartAngle/Gaudi::Units::deg << " " << m_refFirstStagger << std::endl;
-  //   std::cout << "First Start angle and stagger " << m_startAngle/Gaudi::Units::deg << " " << m_firstStagger << std::endl;
-  //   std::cout << "Module zero in -ve endcap " << m_moduleZero << std::endl;
-
-
   makeModuleServices();
 
   // Make envelope for ring
@@ -165,17 +142,6 @@ SCT_FwdRing::preBuild()
     + 0.5*m_module->stereoAngle()*(0.5*m_module->outerWidth()) + moduleClearanceR;
 
   // Calculate clearance we have. NB. This is an approximate.
-  //std::cout << "Module clearance (radial value does not take into account stereo rotation:" << std::endl;
-  //std::cout << " radial: " << moduleClearanceR/Gaudi::Units::mm << " mm" << std::endl;
-  //std::cout << " away from disc in z " << moduleClearanceZ/Gaudi::Units::mm << " mm" << std::endl;
-  //std::cout << " Lo Module to cooling block: " << -m_moduleStagger-0.5*m_module->thickness() - m_moduleServicesLoOuterZPos << std::endl;
-  //std::cout << " Hi Module to cooling block: " << +m_moduleStagger-0.5*m_module->thickness() - m_moduleServicesHiOuterZPos << std::endl;
-  //std::cout << " Module to Module: " << m_moduleStagger-m_module->thickness() << std::endl;
-  //std::cout << " towards disc in z "   
-  //     << std::min(m_moduleStagger-m_module->thickness(), 
-  //   std::min(-m_moduleStagger-0.5*m_module->thickness() - m_moduleServicesLoOuterZPos,
-  //     +m_moduleStagger-0.5*m_module->thickness() - m_moduleServicesHiOuterZPos)) / Gaudi::Units::mm << " mm" << std::endl;
-
   m_thicknessOuter = 0.5 * m_module->thickness() + m_moduleStagger + moduleClearanceZ;
   m_thicknessInner = m_maxModuleServicesBaseToRingCenter + 2*m_safety;
   // We have to at least include 1*m_safety as the moduleservices envelope is increased by this amount.
@@ -191,11 +157,7 @@ SCT_FwdRing::preBuild()
   const GeoShape & ringEnvelopeShape = (*tmpShape <<  GeoTrf::Translate3D(0, 0, envelopeShift));
   GeoLogVol * ringLog = new GeoLogVol(getName(), &ringEnvelopeShape, materials.gasMaterial());
 
-  //std::cout << "m_innerRadius = " << m_innerRadius << std::endl;
-  //std::cout << "m_outerRadius = " << m_outerRadius << std::endl;
-
   return ringLog;
-
 }
 
 
@@ -237,15 +199,6 @@ SCT_FwdRing::build(SCT_Identifier id) const
       idModule = (m_numModules + m_moduleZero - idNumber) % m_numModules; 
     }
 
-    //std::cout << "Endcap# = " <<id.getBarrelEC() 
-    //       << ", idModule = " << idModule 
-    //        << ", idModuleSimulation = " <<  idModuleSimulation 
-    //       << ", idModule2 = " << (idModuleSimulation & 0xffff)
-    //       << ", max    = " << ((idModuleSimulation & 0x00ff0000) >> 16)
-    //       << ", moduleZero = " << ((idModuleSimulation & 0xff000000) >> 24)
-    //       << std::endl;
-
-    
     // The module is a TRD with length along z-axis. 
     // We need to rotate this so length is along the y-axis
     // This can be achieved with a 90 deg rotation around Y. 
@@ -259,11 +212,6 @@ SCT_FwdRing::build(SCT_Identifier id) const
 
     double phi = i * deltaPhi + m_startAngle;
 
-    //std::cout << "Endcap# = " <<id.getBarrelEC() 
-    //       << ", idModule = " << idModule 
-    //       << ", i = " << i 
-    //       << ", phi = " << phi/Gaudi::Units::degree << std::endl;
-
     GeoTrf::Transform3D rot = GeoTrf::RotateZ3D(phi + 0.5 * m_module->stereoAngle() * m_stereoSign);
     if (m_ringSide > 0) {
       rot = rot*GeoTrf::RotateX3D(180*Gaudi::Units::degree);
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdSensor.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdSensor.cxx
index 34400f89fbdb..c8cd1d7aa2eb 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdSensor.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdSensor.cxx
@@ -113,23 +113,10 @@ SCT_FwdSensor::getParameters()
     m_sensorOffset = m_radiusF - m_sensorRadius;
   }
   
-  //std::cout << "SCT_FwdSensor : " << std::endl;
-  //std::cout << "  ringType = " << m_ringType << std::endl;
-  //std::cout << "  sensorCenterRadius = " << m_sensorRadius << std::endl;
-  //std::cout << "  innerRadius = " << m_innerRadius << std::endl;
-  //std::cout << "  outerRadius = " << m_outerRadius << std::endl;
-
-
-   
-
   // The thickness of the two are the same, but to be pedantic.
   m_thickness = std::max(m_thicknessF, m_thicknessN);
-
-
 }
 
-
-
 const GeoLogVol * SCT_FwdSensor::preBuild()
 {
 
@@ -280,11 +267,6 @@ void SCT_FwdSensor::makeDesign()
      
   double step = parameters->fwdSensorAngularPitch(m_ringType);
 
-  /* 
-     std::cout << "ZB -----------------" << cells << " " << std::endl;
-     std::cout << radius1 << "  " << radius2 << "  " << halfHeight1 << "  " << halfHeight2 << std::endl;
-  */
-
   // Readout direction is same direction as local phi direction for outer module
   // and the opposite direction for inner and middle module.
   bool swapStripReadout = (m_ringType != 0); // ie false for outer module only.
@@ -346,7 +328,6 @@ GeoVPhysVol *SCT_FwdSensor::build(SCT_Identifier id) const
     detectorManager()->addDetectorElement(detElement);
 
   } else {
-    // std::cout << " ZB --> build - warning" << std::endl;
     static bool noElementWarning = true; // So we don't get the message thousands of times.
     if (noElementWarning) {
       std::cout << "WARNING!!!!: No SCT id helper and so no elements being produced." << std::endl;
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdWheel.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdWheel.cxx
index fd9d628e6db9..a8df7a8d0623 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdWheel.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_FwdWheel.cxx
@@ -235,12 +235,8 @@ SCT_FwdWheel::preBuild()
     m_thicknessBack  = tmp;
   }
   
-  //  std::cout << " Wheel front thickness = "   << m_thicknessFront << std::endl;
-  //  std::cout << " Wheel back thickness = "   << m_thicknessBack << std::endl;
   m_thickness =  m_thicknessFront +  m_thicknessBack;
 
-
-
   m_innerRadius = minInnerRadius - m_safety;
   m_outerRadius = maxOuterRadius + m_safety;
 
@@ -248,11 +244,6 @@ SCT_FwdWheel::preBuild()
   //m_thickness   = 2. * maxRingOffset + maxThickness; 
   // m_thickness  = 100 * Gaudi::Units::mm;
 
-  //  std::cout << "Wheel " << m_iWheel << ":" << std::endl;
-  //  std::cout << " innerRadius = " << m_innerRadius << std::endl;
-  //  std::cout << " outerRadius = " << m_outerRadius << std::endl;
-  //  std::cout << " thickness = "   << m_thickness << std::endl;
-
   // Make envelope for the wheel
   SCT_MaterialManager materials;
 
@@ -271,9 +262,6 @@ SCT_FwdWheel::preBuild()
 GeoVPhysVol * 
 SCT_FwdWheel::build(SCT_Identifier id) const
 {
-
-  //std::cout << "SCT_FwdWheel: Building Wheel "  << m_iWheel << std::endl;
-
   GeoFullPhysVol * wheel = new GeoFullPhysVol(m_logVolume);
 
   // Add discsupport. Its centered so no need for a transform
@@ -293,14 +281,8 @@ SCT_FwdWheel::build(SCT_Identifier id) const
 
     // Position ring
     double ringZpos = ring->ringSide() * ring->ringOffset(); 
-    //    std::cout << "Wheel, ring = " << m_iWheel << ", " << iRing << std::endl;
-    //    std::cout << " ringZpos, thickness = " <<  ringZpos << ", " <<  ring->thickness() << std::endl;
     double ringOuterZ = ring->ringOffset() +  ring->thicknessOuter();
-    //    std::cout << " ring outer z = " <<  ringOuterZ << std::endl;
     maxZOfRingsFront = std::max(maxZOfRingsFront, ringOuterZ);
-    //    std::cout << " ring inner radius = " <<  ring->innerRadius() << std::endl;
-    //    std::cout << " ring outer radius = " <<  ring->outerRadius() << std::endl;
-
 
     std::string ringNameTag = "Ring#" + intToString(ring->identifier());
     wheel->add(new GeoNameTag(ringNameTag));
@@ -314,7 +296,6 @@ SCT_FwdWheel::build(SCT_Identifier id) const
     SCT_FwdRingCooling cooling("RingCoolingW"+intToString(m_iWheel)+"R"+intToString(iRing),
                                iRing);
     double coolingZpos = ring->ringSide() * (0.5*(m_discSupport->thickness() + cooling.thickness()));
-    //std::cout << "coolingZpos, thickness = " <<  coolingZpos << ", " <<  cooling->thickness() << std::endl;
     wheel->add(new GeoTransform(GeoTrf::TranslateZ3D(coolingZpos)));
     wheel->add(cooling.getVolume());
  
@@ -325,8 +306,6 @@ SCT_FwdWheel::build(SCT_Identifier id) const
 
     double powerTapeZpos = ring->ringSide() * (0.5*(m_discSupport->thickness() + powerTape.thickness()) +
                                                cooling.thickness());
-    //std::cout << "powerTapeZpos, thickness = " <<  powerTapeZpos << ", " <<  powerTape->thickness() << std::endl;
-
     // Make sure we don't overlap with powertape from outer rings
     // We store max extent of power tape for each side (Plus, Minus)
     // This is really only ever an issue for ring2 but we keep it general.
@@ -334,24 +313,18 @@ SCT_FwdWheel::build(SCT_Identifier id) const
       double powerTapeZstart = powerTapeZpos -  0.5 * powerTape.thickness();
       if (powerTapeZstart < powerTapeZPlusMax) {
         powerTapeZpos = powerTapeZPlusMax +  0.5 * powerTape.thickness();
-        //std::cout << "Moving power tape!!!" << std::endl;
       }
       powerTapeZPlusMax = powerTapeZpos +  0.5 * powerTape.thickness();
     } else {
       double powerTapeZstart = powerTapeZpos +  0.5 * powerTape.thickness();
       if (powerTapeZstart > powerTapeZMinusMax) {
         powerTapeZpos = powerTapeZMinusMax -  0.5 * powerTape.thickness();
-        //std::cout << "Moving power tape!!!" << std::endl;
       }
       powerTapeZMinusMax = powerTapeZpos -  0.5 * powerTape.thickness();
     }
     if ((std::abs(powerTapeZpos)+0.5*powerTape.thickness()) > (std::abs(ringZpos) -  0.5*ring->thicknessInner())) {
       std::cout << "ERROR:  Power tapes clash with modules!!!" << std::endl; 
     }
-    //std::cout << "  powertape max " << std::abs(powerTapeZpos)+0.5*powerTape.thickness() << std::endl;
-    //std::cout << "  modules min " <<  std::abs(ringZpos) -  0.5*ring->thicknessInner() << std::endl;
- 
-    //std::cout << "new powerTapeZpos, thickness = " <<  powerTapeZpos << ", " <<  powerTape->thickness() << std::endl;
     wheel->add(new GeoTransform(GeoTrf::TranslateZ3D(powerTapeZpos)));
     wheel->add(powerTape.getVolume());
   
@@ -442,9 +415,7 @@ SCT_FwdWheel::build(SCT_Identifier id) const
   // Add the optoharness - type depends on number of rings
   // The optoharness is always on the back side (except if the wheel is rotates)
   double optoHarnessZMax = 0.5 * m_discSupport->thickness();
-  if (!m_optoHarnessPresent) {
-    //std::cout << "SCT_FwdOptoHarness not built" << std::endl;
-  } else {
+  if (m_optoHarnessPresent) {
     std::string optoharnessName = "OptoHarnessO";
     if(m_numRings > 1) {optoharnessName+="M";}
     if(m_numRings > 2) {optoharnessName+="I";}
@@ -464,19 +435,6 @@ SCT_FwdWheel::build(SCT_Identifier id) const
     int fsiSide =   fsiUsualSide * m_rotateWheel;
     double fsiZpos = fsiSide * m_fsiType[type]->zOffset(); 
 
-    //   std::cout << "Placing FSI. Type: " << type << ", "  
-    //        << "Sim type: " << (*m_fsiVector)[iFSI]->simTypeString() << ", "
-    //        << "Actual type: " << (*m_fsiVector)[iFSI]->actualType() << ", "
-    //        << "Loc type: " << (*m_fsiVector)[iFSI]->locationType() << ", "
-    //        << "Radius(mm): " << fsiRadius/Gaudi::Units::mm << ", "
-    //        << "Phi(deg): " << fsiPhi/Gaudi::Units::deg << ", "
-    //        << "Thickness(mm): " << m_fsiType[type]->thickness() << ", "
-    //        << "ZOffset(mm): " << m_fsiType[type]->zOffset() << ", "
-    //        << "RPhi(mm): " << m_fsiType[type]->rphi() << ", "
-    //        << "DeltaR(mm): " << m_fsiType[type]->deltaR()
-    //        << std::endl;
-
-
     // Check for clashes on front side
     if (fsiUsualSide < 0) {
       double zMin =  std::abs(fsiZpos) -  0.5*m_fsiType[type]->thickness(); 
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_GeneralParameters.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_GeneralParameters.cxx
index 1bec07bc2435..cd861f5e5332 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_GeneralParameters.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_GeneralParameters.cxx
@@ -10,9 +10,6 @@
 #include "GeoModelKernel/GeoDefinitions.h"
 #include "InDetGeoModelUtils/TopLevelPlacements.h"
 
-#include <iostream>
-
-
 const double SCT_SAFETY = 0.01 * Gaudi::Units::mm; // Used in some places to make envelopes slightly larger to ensure
                                      // no overlaps due to rounding errors.
 
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Layer.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Layer.cxx
index 73758851473b..451ca68a6f01 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Layer.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Layer.cxx
@@ -108,11 +108,6 @@ SCT_Layer::getParameters()
   detectorManager()->numerology().setNumPhiModulesForLayer(m_iLayer,m_skisPerLayer);
   detectorManager()->numerology().setNumEtaModulesForLayer(m_iLayer,parameters->modulesPerSki());
 
-  //  std::cout << "In SCT_Layer:" << std::endl;
-  //  std::cout << " skisPerLayer = " << m_skisPerLayer << std::endl;
-  //  std::cout << " radius = " << m_radius << std::endl;
-  //  std::cout << " tilt = " << m_tilt << std::endl;
-
 }
 
 
@@ -136,7 +131,6 @@ SCT_Layer::preBuild()
     m_endJewel   = new SCT_FSIEndJewel("FSIEndJewel"+layerNumStr);
     m_scorpion   = new SCT_FSIScorpion("FSIScorpion"+layerNumStr);
     double length_mask = 0.5*m_cylinderLength - m_flange->length() - m_zScorpion - 0.5*m_scorpion->length();
-    //    std::cout << "length_mask = " << length_mask << std::endl;
     m_fibreMask = new SCT_FSIFibreMask("FSIFibreMask"+layerNumStr, m_iLayer, length_mask);
   }
   else {
@@ -247,10 +241,6 @@ SCT_Layer::preBuild()
   //  if (m_iLayer == 0) {length = m_cylinderLength + m_safety;}
   const GeoTube * layerEnvelopeTube = new GeoTube(m_innerRadius, m_outerRadius, 0.5 * length);
 
-  //  std::cout << "Layer " << m_iLayer << " envelope, rmin, rmax, length = " 
-  //       << m_innerRadius << ", " <<m_outerRadius << ", " << length
-  //       << std::endl;
-
   GeoLogVol * layerLog = new GeoLogVol(getName(), layerEnvelopeTube, materials.gasMaterial());
 
 
@@ -278,9 +268,6 @@ SCT_Layer::build(SCT_Identifier id) const
   //
   // Make envelope for active layer
   //
-  //  std::cout << "Making Active Layer: rmin,rmax,len = " << m_innerRadiusActive 
-  //       << " " << m_outerRadiusActive << " " << 0.5 * m_cylinderLength 
-  //       << std::endl;
   const GeoTube * activeLayerEnvelopeShape = new GeoTube(m_innerRadiusActive, m_outerRadiusActive, 0.5 * m_cylinderLength);
   GeoLogVol * activeLayerLog = new GeoLogVol(getName()+"Active", activeLayerEnvelopeShape, materials.gasMaterial());
   GeoPhysVol * activeLayer = new GeoPhysVol(activeLayerLog);
@@ -290,8 +277,6 @@ SCT_Layer::build(SCT_Identifier id) const
    
     double phi = m_skiPhiStart + iSki * divisionAngle;
 
-    //    std::cout << "m_skiPhiStart = " << m_skiPhiStart/Gaudi::Units::degree << ", phi = " << phi/Gaudi::Units::degree << std::endl;
-
     GeoTrf::Vector3D pos(m_radius, 0, 0);
     pos = GeoTrf::RotateZ3D(phi)*pos;
     GeoTrf::Transform3D rot = GeoTrf::RotateZ3D(m_tilt)*GeoTrf::RotateZ3D(phi);
@@ -300,8 +285,6 @@ SCT_Layer::build(SCT_Identifier id) const
     // apply the inverse of refPointTransform() of the ski.
     GeoTrf::Transform3D trans(GeoTrf::Transform3D(GeoTrf::Translate3D(pos.x(),pos.y(),pos.z())*rot) * m_ski->getRefPointTransform()->getTransform().inverse());
 
-    //    std::cout << "Adding ski at pos: " << pos << std::endl;
-    //    std::cout << " StereoInner = " << m_module->stereoInner() << std::endl;
     activeLayer->add(new GeoAlignableTransform(trans));
     activeLayer->add(new GeoNameTag(name.str()));
     activeLayer->add(new GeoIdentifierTag(iSki));
@@ -326,9 +309,6 @@ SCT_Layer::build(SCT_Identifier id) const
   // Aux Layer
   // Envelope for brackets and powertapes.
   //
-  //  std::cout << "Making Aux Layer: rmin,rmax,len = " << m_skiAux->innerRadius() 
-  //     << " " << m_skiAux->outerRadius() << " " << 0.5 * m_skiAux->length() 
-  //       << std::endl;
   const GeoTube * auxLayerEnvelopeShape = new GeoTube(m_skiAux->innerRadius(), m_skiAux->outerRadius(),
                                                       0.5*m_skiAux->length());
   GeoLogVol * auxLayerLog = new GeoLogVol(getName()+"Aux", auxLayerEnvelopeShape, materials.gasMaterial());
@@ -349,9 +329,6 @@ SCT_Layer::build(SCT_Identifier id) const
   // Envelope for support cylinder, flanges and FSI.
   // Layer0 no longer needs cut-out 
   //
-  //  std::cout << "Making Support Layer: rmin,rmax,len = " << m_innerRadius 
-  //       << " " << m_outerRadiusOfSupport << " " << 0.5 * m_cylinderLength 
-  //       << std::endl;
   const GeoTube * supportLayerTube = new GeoTube(m_innerRadius, m_outerRadiusOfSupport, 0.5 * m_cylinderLength); 
   GeoLogVol * supportLayerLog = new GeoLogVol(getName()+"Support", supportLayerTube, 
                                               materials.gasMaterial());
@@ -377,10 +354,8 @@ SCT_Layer::build(SCT_Identifier id) const
 
     // Position FSI End jewels
     double jewelRadius = std::sqrt(m_fibreMask->innerRadius()*m_fibreMask->innerRadius() - 0.25 * m_endJewel->rPhiWidth()*m_endJewel->rPhiWidth()) - 0.5 * m_endJewel->radialWidth();
-    //  std::cout << "jewelRadius = " << jewelRadius << std::endl;
     for ( int i=0; i<m_nRepeatEndJewel; i++) {
       double jewelAngle = m_phiEndJewel + i * 360.*Gaudi::Units::degree/m_nRepeatEndJewel;
-      //    std::cout << "jewelAngle = " << jewelAngle << std::endl;
       supportLayer->add(new GeoTransform(GeoTrf::RotateZ3D(jewelAngle)*GeoTrf::TranslateX3D(jewelRadius)*GeoTrf::TranslateZ3D(m_zEndJewel)));
       supportLayer->add(m_endJewel->getVolume());
       supportLayer->add(new GeoTransform(GeoTrf::RotateZ3D(jewelAngle)*GeoTrf::TranslateX3D(jewelRadius)*GeoTrf::TranslateZ3D(-m_zEndJewel)));
@@ -389,10 +364,8 @@ SCT_Layer::build(SCT_Identifier id) const
 
     // Position FSI Scorpions
     double scorpionRadius = std::sqrt(m_supportCyl->innerRadius()*m_supportCyl->innerRadius() - 0.25 * m_scorpion->rPhiWidth()*m_scorpion->rPhiWidth()) - 0.5 * m_scorpion->radialWidth();
-    //  std::cout << "scorpionRadius = " << scorpionRadius << std::endl;
     for ( int i=0; i<m_nRepeatScorpion; i++) {
       double scorpionAngle = m_phiScorpion + i * 360.*Gaudi::Units::degree/m_nRepeatScorpion;
-      //    std::cout << "scorpionAngle = " << scorpionAngle << std::endl;
       supportLayer->add(new GeoTransform(GeoTrf::RotateZ3D(scorpionAngle)*GeoTrf::TranslateX3D(scorpionRadius)*GeoTrf::TranslateZ3D(m_zScorpion)));
       supportLayer->add(m_scorpion->getVolume());
       supportLayer->add(new GeoTransform(GeoTrf::RotateZ3D(scorpionAngle)*GeoTrf::TranslateX3D(scorpionRadius)*GeoTrf::TranslateZ3D(-m_zScorpion)));
@@ -490,12 +463,5 @@ SCT_Layer::calcSkiPhiOffset()
   // skiPhiOffset < 0 for +ve tilt and > 0 for -ve tilt.
   double skiPhiOffset = tiltSign * (0.5 * divisionAngle - alpha);
 
-  //std::cout << "In Volume: " << getName() << ":" << std::endl;
-  //// std::cout << "  Module width = " << m_skiAux->ski()->module()->width() << std::endl;
-  //// std::cout << "  Active width = " << m_skiAux->ski()->module()->activeWidth() << std::endl;
-  //std::cout << "  Module width = " << m_module->width() << std::endl;
-  //std::cout << "  Active width = " << m_module->activeWidth() << std::endl;
-  //std::cout << "  Division angle = " << divisionAngle/Gaudi::Units::degree << " Gaudi::Units::deg" << std::endl;
-  //std::cout << "  Ski phi offset = " << skiPhiOffset/Gaudi::Units::degree  << " Gaudi::Units::deg" << std::endl;
   return skiPhiOffset;
 }
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_MaterialManager.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_MaterialManager.cxx
index 6143317a4d1e..09b44a2e1428 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_MaterialManager.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_MaterialManager.cxx
@@ -33,7 +33,6 @@ SCT_MaterialManager::SCT_MaterialManager()
     }
 
     const SCT_DataBase * rdb = SCT_DataBase::instance();
-    //s_materialManager =  new InDetMaterialManager("SCT_MaterialManager", detStore, rdb->weightTable(), "sct")
     s_materialManager =  new InDetMaterialManager("SCT_MaterialManager", rdb->athenaComps());
     s_materialManager->addWeightTable(rdb->weightTable(), "sct");
     s_materialManager->addScalingTable(rdb->scalingTable());
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Module.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Module.cxx
index 502e1d7d6b5d..f48ab25d870e 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Module.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Module.cxx
@@ -41,7 +41,6 @@
 
 SCT_Module::SCT_Module(const std::string & name) 
   : SCT_UniqueComponentFactory(name),
-    //m_stereoSign(0),
     m_innerSide(0),
     m_outerSide(0),
     m_baseBoard(0)
@@ -149,20 +148,6 @@ SCT_Module::preBuild()
   GeoTrf::Vector3D x(0.0, u.y(),w.z());
   
   // for corner of hybrid, connectorouter and pigtail of outer side.
-  //GeoTrf::Vector3D i(0.0, 
-  //        0.5*outerSideHybridWidth,
-  //        m_outerSide->hybridOffsetZ() + 0.5*outerSideHybridLength);
-  //  GeoTrf::Vector3D k(0.0,
-  //        -0.5*outerSideHybridWidth,
-  //        m_outerSide->hybridOffsetZ() + 0.5*outerSidePigtailLength);
-  //GeoTrf::Vector3D l(0.0,
-  //        -0.5*outerSideHybridWidth - m_outerSide->pigtail()->width(), k.z());
-  //GeoTrf::Vector3D m(0.0, l.y(),
-  //        m_outerSide->hybridOffsetZ() - 0.5*outerSidePigtailLength);
-  //GeoTrf::Vector3D n(0.0, k.y(),m.z());
-  //GeoTrf::Vector3D p(0.0, i.y(),
-  //        m_outerSide->hybridOffsetZ() - 0.5*outerSideHybridLength);
-
   GeoTrf::Vector3D i(0.0, 
                       0.5*outerSideHybridWidth,
                       m_outerSide->hybridOffsetZ() + 0.5*outerSidePigtailLength);
@@ -215,9 +200,6 @@ SCT_Module::preBuild()
   const double y_bc = std::min(b.y(), c.y());
   const double y_fg = std::min(f.y(), g.y());
 
-  //const double y_ux = std::max(u.y(), x.y());
-  //const double y_vw = std::min(v.y(), w.y());
-
   const double zmaxEnv1 = std::max(z_ab, z_ef);
   const double zminEnv1 = std::min(z_cd, z_gh);
 
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Ski.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Ski.cxx
index ef7d865734e9..bb7405a950f3 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Ski.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_Ski.cxx
@@ -183,8 +183,6 @@ SCT_Ski::preBuild()
   // *** End of modified lines. ------------------ (12)*********************************
 
 
-  //std::cout << "xPos, yPos = " << xPos << " " << yPos << std::endl;
-   
   //
   // Calculate position of cooling block
   //
@@ -237,8 +235,6 @@ SCT_Ski::preBuild()
   //  double zDoglegOffset = m_module->baseBoardCenter();
   double zDoglegOffset = coolingBlockOffsetZ();
 
-  //std::cout << "Dogleg offset: " << yDoglegOffset << std::endl;
-
   //
   // Calculate position of cooling pipe.
   //
@@ -401,13 +397,11 @@ SCT_Ski::preBuild()
   xmax1 += m_safety;
   ymin1 -= m_safety;
   ymax1 += m_safety;
-  //  std::cout << "xmin1,xmax1,ymin1,ymax1= " << xmin1 << " " << xmax1 << " " << ymin1 << " " << ymax1 << std::endl;
 
   xmin2 -= m_safety;
   xmax2 += m_safety;
   ymin2 -= m_safety;
   ymax2 += m_safety;
-  //  std::cout << "xmin2,xmax2,ymin2,ymax2= " << xmin2 << " " << xmax2 << " " << ymin2 << " " << ymax2 << std::endl;
 
   double xCenter = 0.5*(xmin1+xmax1);
   double yCenter = 0.5*(ymin1+ymax1);
@@ -418,9 +412,6 @@ SCT_Ski::preBuild()
 
   m_refPointTransform = new GeoTransform(GeoTrf::Translate3D(-xCenter, -yCenter, 0));
   m_refPointTransform->ref();
-  //  std::cout << "xCenter, yCenter = " << xCenter << "  " << yCenter << std::endl;
-  //  std::cout << "xShift2, yShift2 = " << xShift2 << "  " << yShift2 << std::endl;
-  //  std::cout << "xCoolingPipePos, yCoolingPipePos = " << xCoolingPipePos << "  " << yCoolingPipePos << std::endl;
 
   // *** 10:00 Tue 31st May 2005 D.Naito modified. (14)*********************************
   // *** -->>                                      (14)*********************************
@@ -470,17 +461,6 @@ SCT_Ski::preBuild()
   // Calculate the clearances. Module envelope1 is the thickness up to the sensors. This is used for the module to 
   // module distance
 
-  //std::cout << "Clearance Module to Module:        " 
-  //     <<  m_radialSep - m_module->env1Thickness() << std::endl;
-  //std::cout << "Clearance Module to Dogleg:        " 
-  //     << std::abs(xDoglegOffset) - 0.5*m_dogleg->thickness() - 0.5*m_module->thickness() << std::endl;
-  //std::cout << "Clearance Module to Cooling Block: " 
-  //     << std::abs(xCoolingBlockOffset) - 0.5*m_coolingBlock->thickness() - 0.5 * m_module->baseBoard()->thickness() - m_safety
-  //     << std::endl;
-  //std::cout << "Cooling block to pipe: " <<  std::abs(-xModuleOffset + xCoolingBlockOffset - xCoolingPipePos) 
-  // - 0.5*m_coolingBlock->thickness() - m_coolingPipe->pipeRadius() 
-  //    << std::endl;
-
   return skiLog;
 
 }
diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_SkiPowerTape.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_SkiPowerTape.cxx
index d9f62da5c53a..b28581610c0c 100755
--- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_SkiPowerTape.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_SkiPowerTape.cxx
@@ -13,9 +13,7 @@
 #include "SCT_GeoModel/SCT_GeometryManager.h"
 #include "SCT_GeoModel/SCT_BarrelParameters.h"
 
-//#include "SCT_GeoModel/SCT_Dogleg.h" // Tue 30th Aug 2005 D.Naito removed.
 #include "SCT_GeoModel/SCT_Ski.h"
-//#include "SCT_GeoModel/SCT_PowerTape.h"
 #include "SCT_GeoModel/SCT_PowerTape.h"
 #include "SCT_GeoModel/SCT_Module.h"  // 28th Mar 2005 S.Mima modified.
 
@@ -162,8 +160,5 @@ SCT_SkiPowerTape::build()
 
   }    
 
-  //  std::cout << "Total power tape mass = " << mass << std::endl;
-  //  std::cout << "Total power tape length = " << ltot << std::endl;
   return skiPowerTape;
-
 }
-- 
GitLab


From 9a4217d2247a9974b95129f81e98b938a021a900 Mon Sep 17 00:00:00 2001
From: Vakho Tsulaia <vakhtang.tsulaia@cern.ch>
Date: Thu, 24 Jan 2019 08:37:36 +0100
Subject: [PATCH 085/192] Migrated 8 LArGeoModel packages from
 GeoModelKernelUnits to Gaudi::Units

All units migrated except GeoModelKernelUnits::gram/g, which is different from Gaudi::Units::gram/g
---
 .../LArGeoAlgsNV/src/LArDetectorFactory.cxx   |   6 +-
 .../LArGeoBarrel/src/BarrelConstruction.cxx   | 131 +++---
 .../src/BarrelCryostatConstruction.cxx        |  54 +--
 .../LArGeoBarrel/src/BarrelDMConstruction.cxx | 277 ++++++------
 .../src/BarrelPresamplerConstruction.cxx      |  64 +--
 .../LArGeoCode/src/LArMaterialManager.cxx     | 121 ++---
 .../EndcapPresamplerGeometryHelper.h          |   2 +-
 .../LArGeoEndcap/src/EMECConstruction.cxx     |  65 ++-
 .../src/EMECSupportConstruction.cxx           | 416 +++++++++---------
 .../src/EndcapCryostatConstruction.cxx        | 100 ++---
 .../LArGeoEndcap/src/EndcapDMConstruction.cxx |  12 +-
 .../src/EndcapPresamplerConstruction.cxx      |  10 +-
 .../src/EndcapPresamplerGeometryHelper.cxx    |  14 +-
 .../LArGeoFcal/src/FCALConstruction.cxx       |  92 ++--
 .../LArGeoHec/src/HEC2WheelConstruction.cxx   |   8 +-
 .../LArGeoHec/src/HECClampConstruction.cxx    |   8 +-
 .../LArGeoHec/src/HECModuleConstruction.cxx   |   8 +-
 .../LArGeoHec/src/HECWheelConstruction.cxx    |   8 +-
 .../src/MiniFcalConstruction.cxx              |  32 +-
 .../LArReadoutGeometry/EMECDetectorRegion.h   |   4 +-
 .../LArReadoutGeometry/FCALModule.h           |   4 +-
 .../LArReadoutGeometry/HECDetectorRegion.h    |   4 +-
 .../src/EMBAccordionDetails.cxx               |  20 +-
 .../src/EMBBasicReadoutNumbers.cxx            |  12 +-
 .../src/EMECDetectorManager.cxx               |  20 +-
 .../src/FCAL_ChannelMap.cxx                   |   8 +-
 .../LArReadoutGeometry/src/HECDetDescr.cxx    |   3 +-
 .../src/HECDetectorManager.cxx                |  16 +-
 28 files changed, 758 insertions(+), 761 deletions(-)

diff --git a/LArCalorimeter/LArGeoModel/LArGeoAlgsNV/src/LArDetectorFactory.cxx b/LArCalorimeter/LArGeoModel/LArGeoAlgsNV/src/LArDetectorFactory.cxx
index 3ff752ce74b8..cc101e02c612 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoAlgsNV/src/LArDetectorFactory.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoAlgsNV/src/LArDetectorFactory.cxx
@@ -17,7 +17,7 @@
 #include "GeoModelKernel/GeoNameTag.h"
 #include "GeoModelKernel/GeoShapeUnion.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include "CLHEP/Geometry/Transform3D.h" 
 
@@ -237,7 +237,7 @@ void LArGeo::LArDetectorFactory::create( GeoPhysVol* a_container )
 	    a_container->add(endcapEnvelopePos);
 	    a_container->add( new GeoNameTag("LArEndcapNeg"));
 	    a_container->add(xfEndcapNeg);
-	    a_container->add( new GeoTransform(GeoTrf::RotateY3D(180.0*GeoModelKernelUnits::deg)));
+	    a_container->add( new GeoTransform(GeoTrf::RotateY3D(180.0*Gaudi::Units::deg)));
 	    a_container->add(endcapEnvelopeNeg);
 	  }
 	else if(!m_buildEndcap)
@@ -302,7 +302,7 @@ void LArGeo::LArDetectorFactory::create( GeoPhysVol* a_container )
 	    a_container->add(endcapEnvelopePos);
 	    a_container->add( new GeoNameTag("LArEndcapNeg"));
 	    a_container->add(xfEndcapNeg);
-	    a_container->add( new GeoTransform(GeoTrf::RotateY3D(180.0*GeoModelKernelUnits::deg)));
+	    a_container->add( new GeoTransform(GeoTrf::RotateY3D(180.0*Gaudi::Units::deg)));
 	    a_container->add(endcapEnvelopeNeg);
       
 	  }
diff --git a/LArCalorimeter/LArGeoModel/LArGeoBarrel/src/BarrelConstruction.cxx b/LArCalorimeter/LArGeoModel/LArGeoBarrel/src/BarrelConstruction.cxx
index 25ca516e9cda..7d4c3146179a 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoBarrel/src/BarrelConstruction.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoBarrel/src/BarrelConstruction.cxx
@@ -15,9 +15,6 @@
 
 #include "LArGeoCode/VDetectorParameters.h"
 
-//#include "LArDetDescr/LArDetDescrManager.h"
-//#include "CaloDetDescr/CaloSubdetNames.h"
-
 #include "GeoModelKernel/GeoElement.h"
 #include "GeoModelKernel/GeoMaterial.h"
 #include "GeoModelKernel/GeoFullPhysVol.h"
@@ -55,7 +52,7 @@
 #include "GeoGenericFunctions/Variable.h"
 #include "GeoGenericFunctions/FixedConstant.h"
 // For units:
-#include "CLHEP/Units/PhysicalConstants.h"
+#include "GaudiKernel/PhysicalConstants.h"
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
 
@@ -201,7 +198,7 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
   GeoGenfun::Sqrt Sqrt;
   GeoGenfun::ATan ATan;
 
-  double twopi64 = GeoModelKernelUnits::pi/32.;
+  double twopi64 = Gaudi::Units::pi/32.;
   double twopi32 = 2.*twopi64;  
 
 
@@ -316,13 +313,13 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
   double Moth_outer_radius = m_parameters->GetValue("LArEMBMotherRmax");
 
   double Moth_Phi_Min = 0.;
-  double Moth_Phi_Max = m_parameters->GetValue("LArEMBphiMaxBarrel")*GeoModelKernelUnits::deg;
+  double Moth_Phi_Max = m_parameters->GetValue("LArEMBphiMaxBarrel")*Gaudi::Units::deg;
 
 #ifdef DEBUGGEO
   std::cout << " *** Mother volume (Ecam) parameters " << std::endl;
   std::cout << "  Rmin/Rmax " << Moth_inner_radius << " " << Moth_outer_radius << std::endl;
   std::cout << "  Zmin/Zmax " << Moth_Z_min << " " << Moth_Z_max << std::endl;
-  std::cout << "  phi1,Dphi (GeoModelKernelUnits::deg)" << Moth_Phi_Min/GeoModelKernelUnits::deg << " " << Moth_Phi_Max/GeoModelKernelUnits::deg << std::endl;
+  std::cout << "  phi1,Dphi (Gaudi::Units::deg)" << Moth_Phi_Min/Gaudi::Units::deg << " " << Moth_Phi_Max/Gaudi::Units::deg << std::endl;
 #endif
 
   // number of zigs for accordion
@@ -371,9 +368,9 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
 	(double) (m_parameters->GetValue("LArEMBPhiAtCurvature",idat));
       Delta[idat]  =
 	(double) (m_parameters->GetValue("LArEMBDeltaZigAngle",idat));
-      if(idat == 14) Delta[idat]  = (90.0) * GeoModelKernelUnits::deg; 
+      if(idat == 14) Delta[idat]  = (90.0) * Gaudi::Units::deg; 
 
-  // Maximum SAGGING displacement for each of the fifteen folds in GeoModelKernelUnits::mm
+  // Maximum SAGGING displacement for each of the fifteen folds in Gaudi::Units::mm
   // (should be 0.0, 0.17, 0.30, 0.63, 0.78, 1.06, 1.09, 1.21, 1.07, 1.03, 0.74, 0.61, 0.27, 0.20, 0.0)
 //GUtmp sagging amplied by 10
       if (m_A_SAGGING)  {
@@ -393,8 +390,8 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
 
 // #ifdef DEBUGGEO
        log << MSG::DEBUG << "idat " << idat << " Rhocen/Phice/Delta/deltay/deltax/etatrans "
-	   << Rhocen[idat] << " " << Phicen[idat]*(1./GeoModelKernelUnits::deg) << " "
-	   << Delta[idat]*(1./GeoModelKernelUnits::deg) << " " << deltay[idat] << " " << deltax[idat]
+	   << Rhocen[idat] << " " << Phicen[idat]*(1./Gaudi::Units::deg) << " "
+	   << Delta[idat]*(1./Gaudi::Units::deg) << " " << deltay[idat] << " " << deltax[idat]
 	   << " " << etaTrans << endmsg;
 // #endif
 
@@ -452,10 +449,10 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
   //  very confused at the common surface between ECAM and STAC)
   //-----------------ECAM---------------------------------------------------------//
   {                                                                               //
-    double Moth_Phi_Min2 = (Ncell == 64) ? -1.555*GeoModelKernelUnits::deg : 0.;                       //
-    double Moth_Phi_Max2 = (Ncell == 64) ? 25.61*GeoModelKernelUnits::deg  : 2*M_PI;                   //
+    double Moth_Phi_Min2 = (Ncell == 64) ? -1.555*Gaudi::Units::deg : 0.;                       //
+    double Moth_Phi_Max2 = (Ncell == 64) ? 25.61*Gaudi::Units::deg  : 2*M_PI;                   //
                                                                                   //
-    double safety_rhocen1 = 0.040*GeoModelKernelUnits::mm;                                             //
+    double safety_rhocen1 = 0.040*Gaudi::Units::mm;                                             //
     double Zplan[] = {Bar_Z_min-Zp0,Bar_Z_cut-Zp0,Bar_Z_max-Zp0};                 //
     double Riacc[] = {Moth_inner_radius,Moth_inner_radius, Rhocen1-safety_rhocen1};  //
     double Roacc[] = {Moth_outer_radius,Moth_outer_radius,Moth_outer_radius};     //
@@ -465,7 +462,7 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
      std::cout << "  Zplan " << Zplan[0] << " " << Zplan[1] << " " << Zplan[2] << std::endl;
      std::cout << "  Rin   " << Riacc[0] << " " << Riacc[1] << " " << Riacc[2] << std::endl;
      std::cout << "  Rout  " << Roacc[0] << " " << Roacc[1] << " " << Roacc[2] << std::endl;
-     std::cout << " PhiMin,Dphi " << Moth_Phi_Min2/GeoModelKernelUnits::deg << " " << Moth_Phi_Max2/GeoModelKernelUnits::deg << std::endl;
+     std::cout << " PhiMin,Dphi " << Moth_Phi_Min2/Gaudi::Units::deg << " " << Moth_Phi_Max2/Gaudi::Units::deg << std::endl;
 #endif
     int ecamArraySize = sizeof(Zplan) / sizeof(double);                           //
     std::string name = baseName + "ECAM";                                         //
@@ -510,19 +507,19 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
   GeoPhysVol *Elnicsf_phys=NULL;
   double Xel1f;
   {
-    // WARNING : this "hard_coded" 0.010*GeoModelKernelUnits::mm is a "security" to avoid
+    // WARNING : this "hard_coded" 0.010*Gaudi::Units::mm is a "security" to avoid
     //           fake "overlapping" diagnostics with "DAVID"
-    Xel1f = m_parameters->GetValue("LArEMBInnerElectronics");       // 23.*GeoModelKernelUnits::mm
+    Xel1f = m_parameters->GetValue("LArEMBInnerElectronics");       // 23.*Gaudi::Units::mm
     double DeltaZ = Zhalfc;
     double Zpos = Zhalfc+Bar_Z_min; 
-    double Rmini =  Moth_inner_radius + 0.010*GeoModelKernelUnits::mm;
-    double Rmaxi = Rmini+Xel1f - 0.010*GeoModelKernelUnits::mm;
+    double Rmini =  Moth_inner_radius + 0.010*Gaudi::Units::mm;
+    double Rmaxi = Rmini+Xel1f - 0.010*Gaudi::Units::mm;
     std::string name = baseName + "TELF";
 #ifdef DEBUGGEO
     std::cout << " *** parameters for TELF tubs " << std::endl;
     std::cout << " DeltaZ      " << DeltaZ << std::endl;
     std::cout << " Rmin/Rmax   " << Rmini << " " << Rmaxi << std::endl,
-    std::cout << " PhiMin,Dphi " << Moth_Phi_Min/GeoModelKernelUnits::deg << " " << Moth_Phi_Max/GeoModelKernelUnits::deg << std::endl;
+    std::cout << " PhiMin,Dphi " << Moth_Phi_Min/Gaudi::Units::deg << " " << Moth_Phi_Max/Gaudi::Units::deg << std::endl;
     std::cout << " Zpos in ECAM " << Zpos << std::endl;
 #endif
     GeoTubs* tubs = new GeoTubs(Rmini,          // rmin
@@ -545,9 +542,9 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
   //  (follow mixture described in Pascal Perrodo note
   GeoPhysVol *Sumb_phys=NULL;
   {
-    double ThickSum = 10.*GeoModelKernelUnits::mm;    // FIXME should be in geometry database
+    double ThickSum = 10.*Gaudi::Units::mm;    // FIXME should be in geometry database
     double Rmini = Moth_inner_radius+Xel1f-ThickSum;
-    double Rmaxi = Moth_inner_radius+Xel1f -0.020*GeoModelKernelUnits::mm;    // safety margin
+    double Rmaxi = Moth_inner_radius+Xel1f -0.020*Gaudi::Units::mm;    // safety margin
     double DeltaZ = Zhalfc;
     double Zpos=0.;
     std::string name = baseName + "SUMB";
@@ -555,7 +552,7 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
     std::cout << " *** parameters for SUMB tubs " << std::endl;
     std::cout << " DeltaZ      " << DeltaZ << std::endl;
     std::cout << " Rmin/Rmax   " << Rmini << " " << Rmaxi << std::endl,
-    std::cout << " PhiMin,Dphi " << Moth_Phi_Min/GeoModelKernelUnits::deg << " " << Moth_Phi_Max/GeoModelKernelUnits::deg << std::endl;
+    std::cout << " PhiMin,Dphi " << Moth_Phi_Min/Gaudi::Units::deg << " " << Moth_Phi_Max/Gaudi::Units::deg << std::endl;
     std::cout << " Zpos in TELF " << Zpos << std::endl;
 #endif
 
@@ -571,9 +568,9 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
   {
     double ClearancePS = m_parameters->GetValue("LArEMBMoBoclearfrPS");
     double RhoPosB = Moth_inner_radius + ClearancePS;
-    double bdx = .5*(m_parameters->GetValue("LArEMBMoBoTchickness")); // 4.3/2.*GeoModelKernelUnits::mm
-    double bdy = .5*(m_parameters->GetValue("LArEMBMoBoHeight"));     // 72.3/2.*GeoModelKernelUnits::mm;
-    double bdz = Zhalfc - 0.007*GeoModelKernelUnits::mm;
+    double bdx = .5*(m_parameters->GetValue("LArEMBMoBoTchickness")); // 4.3/2.*Gaudi::Units::mm
+    double bdy = .5*(m_parameters->GetValue("LArEMBMoBoHeight"));     // 72.3/2.*Gaudi::Units::mm;
+    double bdz = Zhalfc - 0.007*Gaudi::Units::mm;
     
     //------------------------MOTHERBOARDS--------------------------------------------//
     // JFB Make & Place the motherboards inside overall tube                          //
@@ -587,7 +584,7 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
       std::cout << " *** parameters for MotherBoard (box)" << std::endl;
       std::cout << "  dx,dy,dz  " << bdx << " " << bdy << " " << bdz << std::endl;
       std::cout << " Radius pos " << RhoPosB << std::endl;
-      std::cout << " Phi0,Dphi  " << PhiPos0/GeoModelKernelUnits::deg << " " << twopi32/GeoModelKernelUnits::deg << std::endl;
+      std::cout << " Phi0,Dphi  " << PhiPos0/Gaudi::Units::deg << " " << twopi32/Gaudi::Units::deg << std::endl;
 #endif
       GeoBox               * box    = new GeoBox(bdx,bdy,bdz);                        //
       const GeoLogVol      * logVol = new GeoLogVol(name,box,Moth_elect);             //
@@ -616,11 +613,11 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
     // JFB Place the cables                                                           //
     {                                                                                 //
       //                                                                              //
-      double Dzc = Zhalfc - 0.007*GeoModelKernelUnits::mm;                                                 //
-      double Dx1 = .5*(m_parameters->GetValue("LArEMBCablethickat0"));                // 1./2.*GeoModelKernelUnits::mm
+      double Dzc = Zhalfc - 0.007*Gaudi::Units::mm;                                                 //
+      double Dx1 = .5*(m_parameters->GetValue("LArEMBCablethickat0"));                // 1./2.*Gaudi::Units::mm
       double Dx2 = .5*Bar_Eta_cut*(m_parameters->GetValue("LArEMBthickincrfac"));     //
-      // Dx2 should be  5.17/2.*Bar_Eta_cut*GeoModelKernelUnits::mm Trapezoid's side linear with Eta       //
-      double Dy1 = .5*(m_parameters->GetValue("LArEMBCableEtaheight"));               // 70./2.*GeoModelKernelUnits::mm
+      // Dx2 should be  5.17/2.*Bar_Eta_cut*Gaudi::Units::mm Trapezoid's side linear with Eta       //
+      double Dy1 = .5*(m_parameters->GetValue("LArEMBCableEtaheight"));               // 70./2.*Gaudi::Units::mm
       double Dy2 = Dy1;                                                               //
       //                                                                              //
       int NoOFcable = (int) m_parameters->GetValue("LArEMBnoOFcableBundle");          // 64
@@ -658,7 +655,7 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
       GeoGenfun::Mod Mod1(1.0),Mod2(2.0),Mod4(4.0);                                      //
       GeoGenfun::GENFUNCTION Int = I - Mod1;                                             //
       GeoGenfun::GENFUNCTION Ccopy    = Int(I + 0.5);                                    //
-      GeoGenfun::GENFUNCTION PhiOrig  = 22.5*GeoModelKernelUnits::deg*Int(Ccopy/4);                           //
+      GeoGenfun::GENFUNCTION PhiOrig  = 22.5*Gaudi::Units::deg*Int(Ccopy/4);                           //
       GeoGenfun::GENFUNCTION PhiPos1  = PhiPos0 + PhiOrig;                               //
       GeoGenfun::GENFUNCTION PhiPos2  = twopi32 - PhiPos0 + PhiOrig;                     //
       GeoGenfun::GENFUNCTION PhiPos00 =                                                  //
@@ -672,7 +669,7 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
       GeoSerialTransformer *st = new GeoSerialTransformer(pV, &TX, NoOFcable);        //
 #ifdef DEBUGGEO
       for (int ii=0;ii<NoOFcable;ii++) {
-       std::cout << "copy, phi " << ii << " " << PhiPos(ii)/GeoModelKernelUnits::deg << std::endl;
+       std::cout << "copy, phi " << ii << " " << PhiPos(ii)/Gaudi::Units::deg << std::endl;
       }
 #endif
       Elnicsf_phys->add(iD);                                                          //
@@ -683,10 +680,10 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
   }
 #endif // BUILD_FRONT_ELECTRONICS
 
-    // add 1.3 GeoModelKernelUnits::mm in z to allow cleareance for absorber with non                    //
+    // add 1.3 Gaudi::Units::mm in z to allow cleareance for absorber with non                    //
     // 0 thickness, at eta=1.475, low r part of the barrel                          //
     // this affects STAC and TELB volumes                                           //
-    double clearance = 1.3*GeoModelKernelUnits::mm;     
+    double clearance = 1.3*Gaudi::Units::mm;     
 
 #ifdef BUILD_HIGHETA_ELECTRONICS
 
@@ -702,20 +699,20 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
     // GU fix of TELB                                                               //
     double ze1=  zmax1_Stac+clearance;                                              //
     double ze2 = Bar_Z_max;                                                         //
-    double safety = 0.05*GeoModelKernelUnits::mm;
+    double safety = 0.05*Gaudi::Units::mm;
     double DeltaZ = 0.5*(ze2-ze1)-safety;                           // 50 micron for safety.
     double Zpos = ze1+DeltaZ+0.5*safety;                                            // 
-    double Rmini1 = Rhocen[0] - .030*GeoModelKernelUnits::mm;                                            //
-    double Rmaxi1 = Rhocen[0] - .020*GeoModelKernelUnits::mm;                                            //
-    double Rmini2 = Rhocen[0] - .030*GeoModelKernelUnits::mm;                                            //
-    double Rmaxi2 = Bar_Rcmx - clearance - .070*GeoModelKernelUnits::mm;                                 //
+    double Rmini1 = Rhocen[0] - .030*Gaudi::Units::mm;                                            //
+    double Rmaxi1 = Rhocen[0] - .020*Gaudi::Units::mm;                                            //
+    double Rmini2 = Rhocen[0] - .030*Gaudi::Units::mm;                                            //
+    double Rmaxi2 = Bar_Rcmx - clearance - .070*Gaudi::Units::mm;                                 //
     std::string name = baseName + "TELB";                                           //
 #ifdef DEBUGGEO
     std::cout << " *** Parameters for high eta electronics (Cons) " <<std::endl;
     std::cout << " Rmini1,Rmini2,Rmaxi1,Rmaxi2 " << Rmini1 << " " << Rmini2 << " "
        << Rmaxi1 << " " << Rmaxi2 << std::endl,
     std::cout << " DeltaZ " << DeltaZ << std::endl;
-    std::cout << " Phi_Min,Dphi " << Moth_Phi_Min/GeoModelKernelUnits::deg << " " << Moth_Phi_Max/GeoModelKernelUnits::deg << std::endl;
+    std::cout << " Phi_Min,Dphi " << Moth_Phi_Min/Gaudi::Units::deg << " " << Moth_Phi_Max/Gaudi::Units::deg << std::endl;
     std::cout << " Zpos " << Zpos << std::endl;
 #endif
     GeoCons* cons = new GeoCons(Rmini1,Rmini2,Rmaxi1,Rmaxi2,                        //
@@ -742,8 +739,8 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
   
   //---------------------------------FRONT G10-------------------------------------//
   {                                                                                //
-    double Xel1f = m_parameters->GetValue("LArEMBInnerElectronics");               // 23.*GeoModelKernelUnits::mm
-    double Xg10f = m_parameters->GetValue("LArEMBG10SupportBarsIn");               // 20.*GeoModelKernelUnits::mm
+    double Xel1f = m_parameters->GetValue("LArEMBInnerElectronics");               // 23.*Gaudi::Units::mm
+    double Xg10f = m_parameters->GetValue("LArEMBG10SupportBarsIn");               // 20.*Gaudi::Units::mm
     double DeltaZ = 0.5* m_parameters->GetValue("LArEMBG10FrontDeltaZ");           //
     double Zpos = DeltaZ+Bar_Z_min;                                                //
     double Rmini = Moth_inner_radius + Xel1f;                                      //
@@ -753,7 +750,7 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
     std::cout << " *** parameters for front G10 ring (tubs) " << std::endl;
     std::cout << " Rmini,Rmaxi " << Rmini << " " << Rmaxi << std::endl;
     std::cout << " DeltaZ " << DeltaZ << std::endl;
-    std::cout << " phimin,dphi " << Moth_Phi_Min/GeoModelKernelUnits::deg << " " << Moth_Phi_Max/GeoModelKernelUnits::deg << std::endl;
+    std::cout << " phimin,dphi " << Moth_Phi_Min/Gaudi::Units::deg << " " << Moth_Phi_Max/Gaudi::Units::deg << std::endl;
     std::cout << " Zpos " << Zpos << std::endl;
 #endif
     GeoTubs* tubs = new GeoTubs(Rmini,Rmaxi,DeltaZ,Moth_Phi_Min,Moth_Phi_Max);     //
@@ -806,18 +803,18 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
   {                                                                               //
     double DeltaZ = Zhalf;                                                        //
     double Zpos = Zhalf+Bar_Z_min;                                                //
-    double Xtal  = m_parameters->GetValue("LArEMBLArGapTail")+ 0.1*GeoModelKernelUnits::mm;            // 13.*GeoModelKernelUnits::mm
+    double Xtal  = m_parameters->GetValue("LArEMBLArGapTail")+ 0.1*Gaudi::Units::mm;            // 13.*Gaudi::Units::mm
     double Rmini = Rhocen[Nbrt]+Xtal; //                                          //
     // GU to be sure that GTENB does not go outside mother ECAM volume            //
     //  Rmaxi = Rmini+Xg10b;                                                      //
-    double   Rmaxi = Moth_outer_radius-0.01*GeoModelKernelUnits::mm;   // 10 microns for more safety.. //
+    double   Rmaxi = Moth_outer_radius-0.01*Gaudi::Units::mm;   // 10 microns for more safety.. //
     //                                                                            //
     std::string name = baseName +"GTENB";                                         //
 #ifdef DEBUGGEO 
     std::cout << " *** parameters for back G10 ring (tubs) " << std::endl;
     std::cout << " Rmini,Rmaxi " << Rmini << " " << Rmaxi << std::endl;
     std::cout << " DeltaZ  " << DeltaZ << std::endl;
-    std::cout << " phimin,dphi " << Moth_Phi_Min/GeoModelKernelUnits::deg << " " << Moth_Phi_Max/GeoModelKernelUnits::deg << std::endl;
+    std::cout << " phimin,dphi " << Moth_Phi_Min/Gaudi::Units::deg << " " << Moth_Phi_Max/Gaudi::Units::deg << std::endl;
     std::cout << " Zpos " << Zpos << std::endl;
 #endif
 
@@ -841,8 +838,8 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
   //  (i.e. a little bit wider than one calorimeter module)
   {                                                                             //
 
-    double Moth_Phi_Min2 = (Ncell == 64) ? -1.055*GeoModelKernelUnits::deg : 0.;                     //
-    double Moth_Phi_Max2 = (Ncell == 64) ? 24.61*GeoModelKernelUnits::deg  : 2*M_PI;                 //
+    double Moth_Phi_Min2 = (Ncell == 64) ? -1.055*Gaudi::Units::deg : 0.;                     //
+    double Moth_Phi_Max2 = (Ncell == 64) ? 24.61*Gaudi::Units::deg  : 2*M_PI;                 //
 
     double Zplan1[] = {Bar_Z_min,zmax1_Stac+clearance,Bar_Z_max};                //
     double Riacc1[] = {Rhocen[0],Rhocen[0], Bar_Rcmx-clearance};                //
@@ -854,7 +851,7 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
      std::cout << "  Zplan " << Zplan1[0] << " " << Zplan1[1] << " " << Zplan1[2] << std::endl;
      std::cout << "  Rin   " << Riacc1[0] << " " << Riacc1[1] << " " << Riacc1[2] << std::endl;
      std::cout << "  Rout  " << Roacc1[0] << " " << Roacc1[1] << " " << Roacc1[2] << std::endl;
-     std::cout << " PhiMin,Dphi " << Moth_Phi_Min2/GeoModelKernelUnits::deg << " " << Moth_Phi_Max2/GeoModelKernelUnits::deg << std::endl;
+     std::cout << " PhiMin,Dphi " << Moth_Phi_Min2/Gaudi::Units::deg << " " << Moth_Phi_Max2/Gaudi::Units::deg << std::endl;
      std::cout << " Zpos " << -Zp0 << std::endl;
 #endif
     GeoPcon* pCone = new GeoPcon(Moth_Phi_Min2,Moth_Phi_Max2);                  //
@@ -882,7 +879,7 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
     double Thpb_thin  = m_parameters->GetValue("LArEMBThinAbsLead");
     double Thcu       = m_parameters->GetValue("LArEMBThickElecCopper");
     double Thfg       = m_parameters->GetValue("LArEMBThickElecKapton");
-    double Psi        = m_parameters->GetValue("LArEMBPhiGapAperture");   // 360.*GeoModelKernelUnits::deg/1024
+    double Psi        = m_parameters->GetValue("LArEMBPhiGapAperture");   // 360.*Gaudi::Units::deg/1024
     double Contract   = m_parameters->GetValue("LArEMBAbsorberContraction");
 
     double Thce = (Thpb+Thgl+Thfe)*Contract;
@@ -906,7 +903,7 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
     double Zcp1l[14],Zcp1h[14],Zcp2l[14],Zcp2h[14];
     double Rhol[14],Rhoh[14];
 
-    double safety_along = 0.007*GeoModelKernelUnits::mm;
+    double safety_along = 0.007*Gaudi::Units::mm;
  
    
     // Compute centers of curvature coordinates in a local frame.
@@ -999,7 +996,7 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
 	// Absorber (thick, thin)
 	{
 	  double radius =  fb==FRONT ? Cenx[0] - Xtip_pb/2    : Cenx[Nbrt] + Xtipt/2;
-	  double Xhalfb  = fb==FRONT ? Xtip_pb/2 -0.002*GeoModelKernelUnits::mm    : Xtipt/2 - .004*GeoModelKernelUnits::mm;
+	  double Xhalfb  = fb==FRONT ? Xtip_pb/2 -0.002*Gaudi::Units::mm    : Xtipt/2 - .004*Gaudi::Units::mm;
 	  double Zhalfb  = fb==FRONT ? (Bar_Z_cut-Zmin)/2. : (Zmax-Zmin)/2.;
 	  double dz01 = (std::min(Zcp1[irl],Zmax)-Zmin)/2.;  // half lenght for thick lead
 
@@ -1032,14 +1029,14 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
           std::cout << " Thick Abs Box " << Xhalfb << " " << Thce/2. << " " << dz01 << std::endl;
           std::cout << " Z position thick in thin " << dz01-Zhalfb << std::endl;
           std::cout << " Radial position " << radius << std::endl;
-          std::cout << " Phi0 (GeoModelKernelUnits::deg) " << Gama(0)/GeoModelKernelUnits::deg << std::endl;
+          std::cout << " Phi0 (Gaudi::Units::deg) " << Gama(0)/Gaudi::Units::deg << std::endl;
           std::cout << " Z position in ECAM " << Zmin+Zhalfb << std::endl;
 #endif
 	}
 	// G10 (only for front part)
 	if (fb==FRONT)
 	{
-	  double Xhalfbg = Xtip_gt/2-0.002*GeoModelKernelUnits::mm;
+	  double Xhalfbg = Xtip_gt/2-0.002*Gaudi::Units::mm;
 	  double radiusg = Cenx[0]-Xtip_pb/2. - Xtips/2   ;   
 	  double Zhalfbg = (Bar_Z_cut-Zmin)/2.    ;
 	  std::string name        = baseName + "FrontBack::G10";
@@ -1086,14 +1083,14 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
 	  m_ecamPhysicalNeg->add(st);
 #ifdef DEBUGGEO
           std::cout << "  Radial position G10 tip " << radiusg << std::endl;
-          std::cout << "  Phi0 (GeoModelKernelUnits::deg)" << Gama(0)/GeoModelKernelUnits::deg << std::endl;
+          std::cout << "  Phi0 (Gaudi::Units::deg)" << Gama(0)/Gaudi::Units::deg << std::endl;
           std::cout << "  Zposition in ECAM " << Zmin+Zhalfbg << std::endl;
 #endif
 
 	}
 	// Electrode
 	{
-	  double Xhalfbe = fb==FRONT ? Xtips/2 -0.002*GeoModelKernelUnits::mm      : Xtipt/2 - .004*GeoModelKernelUnits::mm;
+	  double Xhalfbe = fb==FRONT ? Xtips/2 -0.002*Gaudi::Units::mm      : Xtipt/2 - .004*Gaudi::Units::mm;
 	  double Zhalfbe = fb==FRONT ? (Bar_Z_cut-Zmin)/2.    : (Zmax - Zmin)/2;
 	  double radiuse = fb==FRONT ? Cenx[0] - Xtips/2   : Cenx[Nbrt] + Xtipt/2;
 	  std::string name        = baseName + "FrontBack::Electrode";
@@ -1119,7 +1116,7 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
           else           std::cout << " *** Back  tip electrode " << std::endl;
           std::cout << " Box " << Xhalfbe << " " << Thel/2. << " " << Zhalfbe << std::endl;
           std::cout << " Radial position " << radiuse << std::endl;
-          std::cout << " Phi0 (GeoModelKernelUnits::deg)" << Game(0)/GeoModelKernelUnits::deg << std::endl;
+          std::cout << " Phi0 (Gaudi::Units::deg)" << Game(0)/Gaudi::Units::deg << std::endl;
           std::cout << " Z position in ECAM " << Zmin+Zhalfbe << std::endl;
 #endif
 
@@ -1136,7 +1133,7 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
     //
 
 // GU 09/06/2004 add some safety in z size
-    double safety_zlen=0.050*GeoModelKernelUnits::mm;
+    double safety_zlen=0.050*Gaudi::Units::mm;
    
     for(int irl=0; irl<Nbrt; irl++)   // loop over zig-zag in radius
       {
@@ -1237,7 +1234,7 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
 	      GeoGenfun::GENFUNCTION sinalfa = (da*dy +iparit*2.*Rint*dx)/Da/Da;
 	      GeoGenfun::GENFUNCTION newalpha = ATan2(sinalfa,cosalfa);       
 	   
-	      GeoGenfun::GENFUNCTION h1 = da/2. * frac  - .007*GeoModelKernelUnits::mm;
+	      GeoGenfun::GENFUNCTION h1 = da/2. * frac  - .007*Gaudi::Units::mm;
 	   
 	      double Zx0 = (tl1+bl1)/2.;
 // thick absorber pieces
@@ -1259,7 +1256,7 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
                 } 
               }
 	    // translation in x to include thick absorber into thin absorber
-	      double Xtrans = (Xb1+Xt1)/2.-Zx0 + .007*GeoModelKernelUnits::mm;    
+	      double Xtrans = (Xb1+Xt1)/2.-Zx0 + .007*Gaudi::Units::mm;    
 
             // lengths that remain to be covered with the thin absorber
               double Xt2 = tl1-Xt1;
@@ -1267,8 +1264,8 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
 
              // trabslation that would be needed to include think absorber only into overall thin+thick volume
               double Xtrans2 =  Zx0 - (Xb2+Xt2)/2.;
-              Xt2 = Xt2 -0.007*GeoModelKernelUnits::mm;
-              Xb2 = Xb2 -0.007*GeoModelKernelUnits::mm;
+              Xt2 = Xt2 -0.007*Gaudi::Units::mm;
+              Xb2 = Xb2 -0.007*Gaudi::Units::mm;
            
 	   
 	      GeoGenfun::GENFUNCTION alpha = ATan(0.5*(bl1-tl1)/h1);
@@ -1301,7 +1298,7 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
 	        GeoXF::Pow(GeoTrf::TranslateY3D(1.0),Ycd) *
 	        GeoXF::Pow(GeoTrf::TranslateZ3D(1.0),Zcd) * 
 	        GeoXF::Pow(GeoTrf::RotateZ3D(1.0),-alfrot)*
-	        GeoTrf::RotateY3D(-90*GeoModelKernelUnits::deg);                    
+	        GeoTrf::RotateY3D(-90*Gaudi::Units::deg);                    
 
 	    // 
 
@@ -1739,7 +1736,7 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
 	      GeoGenfun::GENFUNCTION Zcde       = GeoGenfun::FixedConstant(Zmin+(tl1+bl1)/2.+safety_zlen);
 	   
 	   
-	      GeoGenfun::GENFUNCTION h1e      = de/2.*frac - .007*GeoModelKernelUnits::mm;
+	      GeoGenfun::GENFUNCTION h1e      = de/2.*frac - .007*Gaudi::Units::mm;
 	      GeoGenfun::GENFUNCTION alpha_e  = ATan(0.5*(bl1-tl1)/h1e); 
 	   
 	   
@@ -1748,7 +1745,7 @@ void LArGeo::BarrelConstruction::MakeEnvelope()
 	        GeoXF::Pow(GeoTrf::TranslateY3D(1.0),Ycde) *
 	        GeoXF::Pow(GeoTrf::TranslateZ3D(1.0),Zcde) * 
 	        GeoXF::Pow(GeoTrf::RotateZ3D(1.0),-alfrote)*
-	        GeoTrf::RotateY3D(-90*GeoModelKernelUnits::deg);                    
+	        GeoTrf::RotateY3D(-90*Gaudi::Units::deg);                    
 	   
 	   
 	      for (int instance = 0; instance < Nelectrode; instance++) 
@@ -2111,7 +2108,7 @@ void LArGeo::BarrelConstruction::printParams()
        m_parameters->GetValue("LArEMBphiMaxBarrel") << std::endl;
   std::cout << "Number of zigs          " <<  
      m_parameters->GetValue("LArEMBnoOFAccZigs") << std::endl;
-  std::cout << "Fold GeoModelKernelUnits::rad of curvature   " << 
+  std::cout << "Fold Gaudi::Units::rad of curvature   " << 
      m_parameters->GetValue("LArEMBNeutFiberRadius") << std::endl;
   for (int i=0;i<15;i++) {
     std::cout << "Fold " << i << " radius " <<  
diff --git a/LArCalorimeter/LArGeoModel/LArGeoBarrel/src/BarrelCryostatConstruction.cxx b/LArCalorimeter/LArGeoModel/LArGeoBarrel/src/BarrelCryostatConstruction.cxx
index 9aeeec35266d..08dbdb8dbc52 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoBarrel/src/BarrelCryostatConstruction.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoBarrel/src/BarrelCryostatConstruction.cxx
@@ -49,7 +49,7 @@
 // For transforms:
 #include "CLHEP/Geometry/Transform3D.h" 
 // For units:
-#include "CLHEP/Units/PhysicalConstants.h"
+#include "GaudiKernel/PhysicalConstants.h"
 // For Transformation Fields:
 #include "GeoGenericFunctions/Abs.h" 
 #include "GeoGenericFunctions/Mod.h"
@@ -243,9 +243,9 @@ GeoFullPhysVol* LArGeo::BarrelCryostatConstruction::GetEnvelope()
   // (LArVDetectorParameters) and adjust the volume geometry
   // accordingly.
 
-  //  double cryoMotherRin[]   = {1149.8*GeoModelKernelUnits::mm, 1149.8*GeoModelKernelUnits::mm,1149.8*GeoModelKernelUnits::mm,1149.8*GeoModelKernelUnits::mm,1149.8*GeoModelKernelUnits::mm,1149.8*GeoModelKernelUnits::mm};
-  //  double cryoMotherRout[]  = {2890. *GeoModelKernelUnits::mm, 2890. *GeoModelKernelUnits::mm,2250. *GeoModelKernelUnits::mm,2250. *GeoModelKernelUnits::mm,2890. *GeoModelKernelUnits::mm,2890. *GeoModelKernelUnits::mm};  
-  //  double cryoMotherZplan[] = {-3490.*GeoModelKernelUnits::mm,-2850.*GeoModelKernelUnits::mm,-2849.*GeoModelKernelUnits::mm, 2849.*GeoModelKernelUnits::mm, 2850.*GeoModelKernelUnits::mm, 3490.*GeoModelKernelUnits::mm};
+  //  double cryoMotherRin[]   = {1149.8*Gaudi::Units::mm, 1149.8*Gaudi::Units::mm,1149.8*Gaudi::Units::mm,1149.8*Gaudi::Units::mm,1149.8*Gaudi::Units::mm,1149.8*Gaudi::Units::mm};
+  //  double cryoMotherRout[]  = {2890. *Gaudi::Units::mm, 2890. *Gaudi::Units::mm,2250. *Gaudi::Units::mm,2250. *Gaudi::Units::mm,2890. *Gaudi::Units::mm,2890. *Gaudi::Units::mm};  
+  //  double cryoMotherZplan[] = {-3490.*Gaudi::Units::mm,-2850.*Gaudi::Units::mm,-2849.*Gaudi::Units::mm, 2849.*Gaudi::Units::mm, 2850.*Gaudi::Units::mm, 3490.*Gaudi::Units::mm};
 
   // Access source of detector parameters.
   //  VDetectorParameters* parameters = VDetectorParameters::GetInstance();
@@ -322,8 +322,8 @@ GeoFullPhysVol* LArGeo::BarrelCryostatConstruction::GetEnvelope()
       std::string cylName= cylStream.str();
 
       int cylNumber = currentRecord->getInt("CYL_NUMBER");
-      double zMin = currentRecord->getDouble("ZMIN")*GeoModelKernelUnits::cm;
-      double dZ   = currentRecord->getDouble("DZ")*GeoModelKernelUnits::cm;
+      double zMin = currentRecord->getDouble("ZMIN")*Gaudi::Units::cm;
+      double dZ   = currentRecord->getDouble("DZ")*Gaudi::Units::cm;
       double zInCryostat = zMin + dZ / 2.;
       
       if(m_fullGeo){
@@ -395,9 +395,9 @@ GeoFullPhysVol* LArGeo::BarrelCryostatConstruction::GetEnvelope()
       // For Reco Geometry construct only solenoid cylinders
       if(m_fullGeo || (10<=cylID && cylID<=14)) {
 	solidBarrelCylinder
-	  = new GeoTubs(currentRecord->getDouble("RMIN")*GeoModelKernelUnits::cm,
-			currentRecord->getDouble("RMIN")*GeoModelKernelUnits::cm + currentRecord->getDouble("DR")*GeoModelKernelUnits::cm,
-			currentRecord->getDouble("DZ")*GeoModelKernelUnits::cm / 2.,
+	  = new GeoTubs(currentRecord->getDouble("RMIN")*Gaudi::Units::cm,
+			currentRecord->getDouble("RMIN")*Gaudi::Units::cm + currentRecord->getDouble("DR")*Gaudi::Units::cm,
+			currentRecord->getDouble("DZ")*Gaudi::Units::cm / 2.,
 			(double) 0.,
 			dphi_all);
 
@@ -722,9 +722,9 @@ GeoFullPhysVol* LArGeo::BarrelCryostatConstruction::GetEnvelope()
   // sub-divided into sensitive-detector regions in the detector
   // routine.
 
-  //  double totalLArRin[]   = { 1565.5*GeoModelKernelUnits::mm, 1385.*GeoModelKernelUnits::mm, 1385.*GeoModelKernelUnits::mm, 1565.5*GeoModelKernelUnits::mm };
-  //  double totalLArRout[]  = { 2140. *GeoModelKernelUnits::mm, 2140.*GeoModelKernelUnits::mm, 2140.*GeoModelKernelUnits::mm, 2140. *GeoModelKernelUnits::mm };  
-  //  double totalLArZplan[] = {-3267. *GeoModelKernelUnits::mm,-3101.*GeoModelKernelUnits::mm, 3101.*GeoModelKernelUnits::mm, 3267. *GeoModelKernelUnits::mm };
+  //  double totalLArRin[]   = { 1565.5*Gaudi::Units::mm, 1385.*Gaudi::Units::mm, 1385.*Gaudi::Units::mm, 1565.5*Gaudi::Units::mm };
+  //  double totalLArRout[]  = { 2140. *Gaudi::Units::mm, 2140.*Gaudi::Units::mm, 2140.*Gaudi::Units::mm, 2140. *Gaudi::Units::mm };  
+  //  double totalLArZplan[] = {-3267. *Gaudi::Units::mm,-3101.*Gaudi::Units::mm, 3101.*Gaudi::Units::mm, 3267. *Gaudi::Units::mm };
     
   GeoPcon* totalLArShape =
     new GeoPcon(0.,                     // starting phi
@@ -763,11 +763,11 @@ GeoFullPhysVol* LArGeo::BarrelCryostatConstruction::GetEnvelope()
   // to this shape to allow for mis-alignments in other dimensions.)
 
   // increase internal radius to allow misalignments
-  // -----------------------------------------------  double rInShift = 0.*GeoModelKernelUnits::mm;
+  // -----------------------------------------------  double rInShift = 0.*Gaudi::Units::mm;
 
-  //  double halfLArZplan[] = { 3.0 *GeoModelKernelUnits::mm, 3101.*GeoModelKernelUnits::mm, 3267. *GeoModelKernelUnits::mm };
-  //  double halfLArRin[]   = {1385.*GeoModelKernelUnits::mm + rInShift, 1385.*GeoModelKernelUnits::mm + rInShift, 1565.5*GeoModelKernelUnits::mm  + rInShift};
-  //  double halfLArRout[]  = {2140.*GeoModelKernelUnits::mm, 2140.*GeoModelKernelUnits::mm, 2140. *GeoModelKernelUnits::mm };  
+  //  double halfLArZplan[] = { 3.0 *Gaudi::Units::mm, 3101.*Gaudi::Units::mm, 3267. *Gaudi::Units::mm };
+  //  double halfLArRin[]   = {1385.*Gaudi::Units::mm + rInShift, 1385.*Gaudi::Units::mm + rInShift, 1565.5*Gaudi::Units::mm  + rInShift};
+  //  double halfLArRout[]  = {2140.*Gaudi::Units::mm, 2140.*Gaudi::Units::mm, 2140. *Gaudi::Units::mm };  
     
   std::string halfLArName = "LAr::Barrel::Cryostat::HalfLAr";
   GeoPcon* halfLArShape =
@@ -810,7 +810,7 @@ GeoFullPhysVol* LArGeo::BarrelCryostatConstruction::GetEnvelope()
 
   // add alignable transform
   totalLArPhysical->add(xfHalfLArNeg);
-  totalLArPhysical->add( new GeoTransform(GeoTrf::RotateY3D(180.*GeoModelKernelUnits::deg)) );
+  totalLArPhysical->add( new GeoTransform(GeoTrf::RotateY3D(180.*Gaudi::Units::deg)) );
   totalLArPhysical->add(halfLArPhysicalNeg);
   
   {
@@ -865,9 +865,9 @@ GeoFullPhysVol* LArGeo::BarrelCryostatConstruction::GetEnvelope()
 	  std::string cylName= cylStream.str(); 
 
 	  GeoTubs* solidBarrelCylinder 
-	  = new GeoTubs(currentRecord->getDouble("RMIN")*GeoModelKernelUnits::cm,
-			currentRecord->getDouble("RMIN")*GeoModelKernelUnits::cm + currentRecord->getDouble("DR")*GeoModelKernelUnits::cm,
-			currentRecord->getDouble("DZ")*GeoModelKernelUnits::cm / 2.,
+	  = new GeoTubs(currentRecord->getDouble("RMIN")*Gaudi::Units::cm,
+			currentRecord->getDouble("RMIN")*Gaudi::Units::cm + currentRecord->getDouble("DR")*Gaudi::Units::cm,
+			currentRecord->getDouble("DZ")*Gaudi::Units::cm / 2.,
 			(double) 0.,
 			dphi_all);
     
@@ -876,7 +876,7 @@ GeoFullPhysVol* LArGeo::BarrelCryostatConstruction::GetEnvelope()
 	  
 	  GeoPhysVol* physBarrelCylinder = new GeoPhysVol(logicBarrelCylinder);
 	  
-	  double zInCryostat = currentRecord->getDouble("ZMIN")*GeoModelKernelUnits::cm + currentRecord->getDouble("DZ")*GeoModelKernelUnits::cm / 2.;
+	  double zInCryostat = currentRecord->getDouble("ZMIN")*Gaudi::Units::cm + currentRecord->getDouble("DZ")*Gaudi::Units::cm / 2.;
 	  
 	  int cylNumber = currentRecord->getInt("CYL_NUMBER");
 	  
@@ -913,8 +913,8 @@ GeoFullPhysVol* LArGeo::BarrelCryostatConstruction::GetEnvelope()
   }
   {
     // ----- Presampler ------    
-    double PresamplerMother_length = 1549.0*GeoModelKernelUnits::mm;  // Copied from PresParameterDef.icc
-    double presamplerShift = 3.*GeoModelKernelUnits::mm;
+    double PresamplerMother_length = 1549.0*Gaudi::Units::mm;  // Copied from PresParameterDef.icc
+    double presamplerShift = 3.*Gaudi::Units::mm;
     BarrelPresamplerConstruction barrelPSConstruction(m_fullGeo);
     
     // The "envelope" determined by the EMB should be a GeoFullPhysVol.
@@ -957,7 +957,7 @@ GeoFullPhysVol* LArGeo::BarrelCryostatConstruction::GetEnvelope()
       throw std::runtime_error(message.c_str());
     }
 
-    GeoPcon* pcon = new GeoPcon(startPhi*GeoModelKernelUnits::deg,dPhi*GeoModelKernelUnits::deg);
+    GeoPcon* pcon = new GeoPcon(startPhi*Gaudi::Units::deg,dPhi*Gaudi::Units::deg);
 
     for(unsigned int ii=0; ii<sctEcCoolingPlanes.size(); ii++) {
       iter = sctEcCoolingPlanes.find(ii);
@@ -979,9 +979,9 @@ GeoFullPhysVol* LArGeo::BarrelCryostatConstruction::GetEnvelope()
     GeoPhysVol* sctCiCoolingPhys = new GeoPhysVol(sctCiCoolingLog);
 
     GeoTransform* xfPos1 = new GeoTransform(GeoTrf::Transform3D::Identity());
-    GeoTransform* xfPos2 = new GeoTransform(GeoTrf::RotateZ3D(180*GeoModelKernelUnits::deg));
-    GeoTransform* xfNeg1 = new GeoTransform(GeoTrf::RotateZ3D((180+2*centerPhi)*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(180*GeoModelKernelUnits::deg));
-    GeoTransform* xfNeg2 = new GeoTransform(GeoTrf::RotateZ3D(2*centerPhi*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(180*GeoModelKernelUnits::deg));
+    GeoTransform* xfPos2 = new GeoTransform(GeoTrf::RotateZ3D(180*Gaudi::Units::deg));
+    GeoTransform* xfNeg1 = new GeoTransform(GeoTrf::RotateZ3D((180+2*centerPhi)*Gaudi::Units::deg)*GeoTrf::RotateY3D(180*Gaudi::Units::deg));
+    GeoTransform* xfNeg2 = new GeoTransform(GeoTrf::RotateZ3D(2*centerPhi*Gaudi::Units::deg)*GeoTrf::RotateY3D(180*Gaudi::Units::deg));
     
     m_cryoMotherPhysical->add(xfPos1);
     m_cryoMotherPhysical->add(sctCiCoolingPhys);
diff --git a/LArCalorimeter/LArGeoModel/LArGeoBarrel/src/BarrelDMConstruction.cxx b/LArCalorimeter/LArGeoModel/LArGeoBarrel/src/BarrelDMConstruction.cxx
index eb57b265ddd4..22939866b91c 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoBarrel/src/BarrelDMConstruction.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoBarrel/src/BarrelDMConstruction.cxx
@@ -30,6 +30,7 @@
 #include "GeoModelKernel/GeoShapeUnion.h"
 #include "GeoModelKernel/GeoShapeShift.h"
 #include "GeoModelKernel/GeoShapeSubtraction.h"
+#include "GeoModelKernel/Units.h"
 #include "StoreGate/StoreGateSvc.h"
 #include "GeoModelInterfaces/AbsMaterialManager.h"
 #include "GeoModelInterfaces/StoredMaterialManager.h"
@@ -44,7 +45,7 @@
 #include "CLHEP/Vector/Rotation.h"
 
 // For units:
-#include "CLHEP/Units/PhysicalConstants.h"
+#include "GaudiKernel/PhysicalConstants.h"
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
 
@@ -71,7 +72,7 @@ namespace BarrelDM {
 
 
 static const unsigned int NCrates=16;
-static const double Alfa=360*GeoModelKernelUnits::deg/NCrates;
+static const double Alfa=360*Gaudi::Units::deg/NCrates;
 static const double Enda=1155;
 static const double Endb=1695.2;
 static const double Endc=2771.6;
@@ -176,8 +177,8 @@ createSectorEnvelopes2FromDB (GeoFullPhysVol* envelope,
   const GeoMaterial *alu               = materialManager.getMaterial("std::Aluminium"); //2.7 g/cm3
   const GeoMaterial *air               = materialManager.getMaterial("std::Air"); //0.001214 g/cm3
 
-  GeoTrf::Transform3D Cut3Boxe  = GeoTrf::Translate3D(Boxxtr, Boxytr, Boxztr)*GeoTrf::RotateX3D(-20*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  GeoTrf::Transform3D Cut4Boxe  = GeoTrf::Translate3D(Boxxtr, -Boxytr,Boxztr)*GeoTrf::RotateX3D(20*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+  GeoTrf::Transform3D Cut3Boxe  = GeoTrf::Translate3D(Boxxtr, Boxytr, Boxztr)*GeoTrf::RotateX3D(-20*Gaudi::Units::deg)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  GeoTrf::Transform3D Cut4Boxe  = GeoTrf::Translate3D(Boxxtr, -Boxytr,Boxztr)*GeoTrf::RotateX3D(20*Gaudi::Units::deg)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
 
   // build 5 instances of SectorEnvelopes1 with 3 different materials!
   GeoTrd   *Trdair2  = new GeoTrd(SecE2xhlen1, SecE2xhlen2, DYb, DYc, (Endc-Endb)/2);
@@ -195,28 +196,28 @@ createSectorEnvelopes2FromDB (GeoFullPhysVol* envelope,
   GeoPhysVol *sectorenvelopes2l    = new GeoPhysVol(lvse2l);  // for left-handed splice boxes
     
   GeoLogVol  *lvse2h          = new GeoLogVol("LAr::DM::SectorEnvelopes2h",&SectorEnvelopes,matLArServices19);
-  GeoPhysVol *sectorenvelopes2h    = new GeoPhysVol(lvse2h);  // no splice boxes horizontal at 0 & 180 GeoModelKernelUnits::deg.
+  GeoPhysVol *sectorenvelopes2h    = new GeoPhysVol(lvse2h);  // no splice boxes horizontal at 0 & 180 Gaudi::Units::deg.
     
   GeoLogVol  *lvse2vup          = new GeoLogVol("LAr::DM::SectorEnvelopes2vup",&SectorEnvelopes,matLArServices17);
-  GeoPhysVol *sectorenvelopes2vup    = new GeoPhysVol(lvse2vup);  // no splice boxes vertical up at 90 GeoModelKernelUnits::deg
+  GeoPhysVol *sectorenvelopes2vup    = new GeoPhysVol(lvse2vup);  // no splice boxes vertical up at 90 Gaudi::Units::deg
     
   GeoLogVol  *lvse2vd          = new GeoLogVol("LAr::DM::SectorEnvelopes2Vd",&SectorEnvelopes,matLArServices18);
-  GeoPhysVol *sectorenvelopes2vd    = new GeoPhysVol(lvse2vd);  // no splice boxes vertical down at 270 GeoModelKernelUnits::deg
+  GeoPhysVol *sectorenvelopes2vd    = new GeoPhysVol(lvse2vd);  // no splice boxes vertical down at 270 Gaudi::Units::deg
 
   //---------- Build Splice boxes for InDet optical fibers--------
     
   GeoTrap  *GeoTrap1  = new GeoTrap(Spb1zhlen, Spb1theta, Spb1phi, Spb1yzn, Spb1xynzn, Spb1xypzn, Spb1angn, Spb1yzp, Spb1xynzp, Spb1xypzp, Spb1angp);
   GeoBox   *Box1   = new GeoBox(SplBoxhlen, SplBoxhwdt, SplBoxhhgt);  
   const GeoShape & SpliceBox = ((*GeoTrap1).
-                                subtract(*Box1 << GeoTrf::TranslateZ3D(SplBoxztr)*GeoTrf::TranslateY3D(-SplBoxytr)*GeoTrf::RotateX3D(SplBoxxrot*GeoModelKernelUnits::deg)));
+                                subtract(*Box1 << GeoTrf::TranslateZ3D(SplBoxztr)*GeoTrf::TranslateY3D(-SplBoxytr)*GeoTrf::RotateX3D(SplBoxxrot*Gaudi::Units::deg)));
     
-  GeoTransform *xtr = new GeoTransform (GeoTrf::TranslateZ3D(Spb1ztr)*GeoTrf::TranslateY3D(-Spb1ytr)*GeoTrf::TranslateX3D(Spb1xtr)*GeoTrf::RotateX3D(Spb1xrot*GeoModelKernelUnits::deg));
+  GeoTransform *xtr = new GeoTransform (GeoTrf::TranslateZ3D(Spb1ztr)*GeoTrf::TranslateY3D(-Spb1ytr)*GeoTrf::TranslateX3D(Spb1xtr)*GeoTrf::RotateX3D(Spb1xrot*Gaudi::Units::deg));
   sectorenvelopes2r->add(xtr);
   GeoLogVol  *lvspbr     = new GeoLogVol("LAr::DM::SPliceBoxr",&SpliceBox,alu); 
   GeoPhysVol *spliceboxr       = new GeoPhysVol(lvspbr);
   sectorenvelopes2r->add(spliceboxr);
     
-  GeoTransform *xtl = new GeoTransform (GeoTrf::TranslateZ3D(Spb1ztr)*GeoTrf::TranslateY3D(-Spb1ytr)*GeoTrf::TranslateX3D(Spb1xtr)*GeoTrf::RotateY3D(-180*GeoModelKernelUnits::deg)*GeoTrf::RotateX3D(-(Alfa/2)));
+  GeoTransform *xtl = new GeoTransform (GeoTrf::TranslateZ3D(Spb1ztr)*GeoTrf::TranslateY3D(-Spb1ytr)*GeoTrf::TranslateX3D(Spb1xtr)*GeoTrf::RotateY3D(-180*Gaudi::Units::deg)*GeoTrf::RotateX3D(-(Alfa/2)));
   sectorenvelopes2l->add(xtl);
   GeoLogVol  *lvspbl     = new GeoLogVol("LAr::DM::SpliceBoxl",&SpliceBox,alu);  
   GeoPhysVol *spliceboxl       = new GeoPhysVol(lvspbl);
@@ -227,7 +228,7 @@ createSectorEnvelopes2FromDB (GeoFullPhysVol* envelope,
   GeoTrap  *GeoTrap2  = new GeoTrap(Spb2zhlen, Spb2theta, Spb2phi, Spb2yzn, Spb2xynzn, Spb2xypzn, Spb2angn, Spb2yzp, Spb2xynzp, Spb2xypzp, Spb2angp);
   GeoTrap  *GeoTrap3  = new GeoTrap(Spb3zhlen, Spb3theta, Spb3phi, Spb3yzn, Spb3xynzn, Spb3xypzn, Spb3angn, Spb3yzp, Spb3xynzp, Spb3xypzp, Spb3angp);
     
-  GeoTransform *xt1 = new GeoTransform (GeoTrf::TranslateY3D(-Spb0ytr)*GeoTrf::RotateX3D(Spb0xrot*GeoModelKernelUnits::deg));
+  GeoTransform *xt1 = new GeoTransform (GeoTrf::TranslateY3D(-Spb0ytr)*GeoTrf::RotateX3D(Spb0xrot*Gaudi::Units::deg));
   spliceboxr->add(xt1);
   spliceboxl->add(xt1);
   GeoLogVol  *lt1     = new GeoLogVol("LAr::DM::TBox1",Trd1,air);
@@ -253,16 +254,16 @@ createSectorEnvelopes2FromDB (GeoFullPhysVol* envelope,
 
   //-------------- Place volumes in LAr Envelope -------------------
 
-  TRANSFUNCTION seA2r = Pow(GeoTrf::RotateZ3D(1.0),8*f-(3*Alfa/2))*GeoTrf::TranslateX3D((Endb+Endc)/2)*GeoTrf::TranslateZ3D(SecE2ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seA2l = Pow(GeoTrf::RotateZ3D(1.0),8*f+(5*Alfa/2))*GeoTrf::TranslateX3D((Endb+Endc)/2)*GeoTrf::TranslateZ3D(SecE2ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seC2r = Pow(GeoTrf::RotateZ3D(1.0),8*f-(3*Alfa/2))*GeoTrf::TranslateX3D((Endb+Endc)/2)*GeoTrf::TranslateZ3D(-SecE2ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seC2l = Pow(GeoTrf::RotateZ3D(1.0),8*f+(5*Alfa/2))*GeoTrf::TranslateX3D((Endb+Endc)/2)*GeoTrf::TranslateZ3D(-SecE2ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seA2Vup = Pow(GeoTrf::RotateZ3D(1.0),f+(9*Alfa/2))*GeoTrf::TranslateX3D((Endb+Endc)/2)*GeoTrf::TranslateZ3D(SecE2ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seA2Vd = Pow(GeoTrf::RotateZ3D(1.0),f-(7*Alfa/2))*GeoTrf::TranslateX3D((Endb+Endc)/2)*GeoTrf::TranslateZ3D(SecE2ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seA2H = Pow(GeoTrf::RotateZ3D(1.0),8*f+(Alfa/2))*GeoTrf::TranslateX3D((Endb+Endc)/2)*GeoTrf::TranslateZ3D(SecE2ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seC2Vup = Pow(GeoTrf::RotateZ3D(1.0),f+(9*Alfa/2))*GeoTrf::TranslateX3D((Endb+Endc)/2)*GeoTrf::TranslateZ3D(-SecE2ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seC2Vd = Pow(GeoTrf::RotateZ3D(1.0),f-(7*Alfa/2))*GeoTrf::TranslateX3D((Endb+Endc)/2)*GeoTrf::TranslateZ3D(-SecE2ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seC2H = Pow(GeoTrf::RotateZ3D(1.0),8*f+(Alfa/2))*GeoTrf::TranslateX3D((Endb+Endc)/2)*GeoTrf::TranslateZ3D(-SecE2ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+  TRANSFUNCTION seA2r = Pow(GeoTrf::RotateZ3D(1.0),8*f-(3*Alfa/2))*GeoTrf::TranslateX3D((Endb+Endc)/2)*GeoTrf::TranslateZ3D(SecE2ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seA2l = Pow(GeoTrf::RotateZ3D(1.0),8*f+(5*Alfa/2))*GeoTrf::TranslateX3D((Endb+Endc)/2)*GeoTrf::TranslateZ3D(SecE2ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seC2r = Pow(GeoTrf::RotateZ3D(1.0),8*f-(3*Alfa/2))*GeoTrf::TranslateX3D((Endb+Endc)/2)*GeoTrf::TranslateZ3D(-SecE2ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seC2l = Pow(GeoTrf::RotateZ3D(1.0),8*f+(5*Alfa/2))*GeoTrf::TranslateX3D((Endb+Endc)/2)*GeoTrf::TranslateZ3D(-SecE2ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seA2Vup = Pow(GeoTrf::RotateZ3D(1.0),f+(9*Alfa/2))*GeoTrf::TranslateX3D((Endb+Endc)/2)*GeoTrf::TranslateZ3D(SecE2ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seA2Vd = Pow(GeoTrf::RotateZ3D(1.0),f-(7*Alfa/2))*GeoTrf::TranslateX3D((Endb+Endc)/2)*GeoTrf::TranslateZ3D(SecE2ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seA2H = Pow(GeoTrf::RotateZ3D(1.0),8*f+(Alfa/2))*GeoTrf::TranslateX3D((Endb+Endc)/2)*GeoTrf::TranslateZ3D(SecE2ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seC2Vup = Pow(GeoTrf::RotateZ3D(1.0),f+(9*Alfa/2))*GeoTrf::TranslateX3D((Endb+Endc)/2)*GeoTrf::TranslateZ3D(-SecE2ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seC2Vd = Pow(GeoTrf::RotateZ3D(1.0),f-(7*Alfa/2))*GeoTrf::TranslateX3D((Endb+Endc)/2)*GeoTrf::TranslateZ3D(-SecE2ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seC2H = Pow(GeoTrf::RotateZ3D(1.0),8*f+(Alfa/2))*GeoTrf::TranslateX3D((Endb+Endc)/2)*GeoTrf::TranslateZ3D(-SecE2ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
     
   GeoSerialTransformer *setA2r = new GeoSerialTransformer(sectorenvelopes2r,&seA2r, 2);
   GeoSerialTransformer *setA2l = new GeoSerialTransformer(sectorenvelopes2l,&seA2l, 2);
@@ -311,12 +312,12 @@ createBridgeEnvelopesFromDB (GeoFullPhysVol* envelope,
   double BridgeExtr = r->getDouble("XTR");
   double BridgeEztr = r->getDouble("ZTR");
 
-  GeoTrap  *Trapair  = new GeoTrap(BridgeEzhlen, BridgeEtheta*GeoModelKernelUnits::deg, BridgeEphi, BridgeEyzn, BridgeExynzn, BridgeExypzn, BridgeEangn, BridgeEyzp, BridgeExynzp, BridgeExypzp, BridgeEangp);
+  GeoTrap  *Trapair  = new GeoTrap(BridgeEzhlen, BridgeEtheta*Gaudi::Units::deg, BridgeEphi, BridgeEyzn, BridgeExynzn, BridgeExypzn, BridgeEangn, BridgeEyzp, BridgeExynzp, BridgeExypzp, BridgeEangp);
   GeoLogVol  *lvbre        = new GeoLogVol("LAr::DM::BridgeEnvelopes",Trapair,matLArServices8);//In the end Density at least >= than SE1 because of Cryo Pipes
   GeoPhysVol *bridgeenvelopes    = new GeoPhysVol(lvbre);
 
-  TRANSFUNCTION breA = Pow(GeoTrf::RotateZ3D(1.0),f-(Alfa/2))*GeoTrf::TranslateX3D(BridgeExtr)*GeoTrf::TranslateZ3D(BridgeEztr)*GeoTrf::RotateZ3D(90*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg)*GeoTrf::RotateX3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION breC = Pow(GeoTrf::RotateZ3D(1.0),f-(Alfa/2))*GeoTrf::TranslateX3D(BridgeExtr)*GeoTrf::TranslateZ3D(-BridgeEztr)*GeoTrf::RotateZ3D(-90*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(-90*GeoModelKernelUnits::deg)*GeoTrf::RotateX3D(-90*GeoModelKernelUnits::deg);
+  TRANSFUNCTION breA = Pow(GeoTrf::RotateZ3D(1.0),f-(Alfa/2))*GeoTrf::TranslateX3D(BridgeExtr)*GeoTrf::TranslateZ3D(BridgeEztr)*GeoTrf::RotateZ3D(90*Gaudi::Units::deg)*GeoTrf::RotateY3D(90*Gaudi::Units::deg)*GeoTrf::RotateX3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION breC = Pow(GeoTrf::RotateZ3D(1.0),f-(Alfa/2))*GeoTrf::TranslateX3D(BridgeExtr)*GeoTrf::TranslateZ3D(-BridgeEztr)*GeoTrf::RotateZ3D(-90*Gaudi::Units::deg)*GeoTrf::RotateY3D(-90*Gaudi::Units::deg)*GeoTrf::RotateX3D(-90*Gaudi::Units::deg);
   GeoSerialTransformer *bretA = new GeoSerialTransformer(bridgeenvelopes,&breA, NCrates);
   GeoSerialTransformer *bretC = new GeoSerialTransformer(bridgeenvelopes,&breC, NCrates);
   envelope->add(bretA);
@@ -345,8 +346,8 @@ createBaseEnvelopesFromDB (GeoFullPhysVol* envelope,
   GeoLogVol  *lvbe          = new GeoLogVol("LAr::DM::BaseEnvelopes",Trd1air,matLArServices8); //In the end Density at least >= than SE1 because of Cryo Pipes
   GeoPhysVol *baseenvelopes    = new GeoPhysVol(lvbe);
 
-  TRANSFUNCTION beA = Pow(GeoTrf::RotateZ3D(1.0),f-(Alfa/2))*GeoTrf::TranslateX3D(BaseExtr)*GeoTrf::TranslateZ3D(BaseEztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg); 
-  TRANSFUNCTION beC = Pow(GeoTrf::RotateZ3D(1.0),f+(Alfa/2))*GeoTrf::TranslateX3D(BaseExtr)*GeoTrf::TranslateZ3D(-BaseEztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+  TRANSFUNCTION beA = Pow(GeoTrf::RotateZ3D(1.0),f-(Alfa/2))*GeoTrf::TranslateX3D(BaseExtr)*GeoTrf::TranslateZ3D(BaseEztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg); 
+  TRANSFUNCTION beC = Pow(GeoTrf::RotateZ3D(1.0),f+(Alfa/2))*GeoTrf::TranslateX3D(BaseExtr)*GeoTrf::TranslateZ3D(-BaseEztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
   GeoSerialTransformer *betA = new GeoSerialTransformer(baseenvelopes,&beA, NCrates);
   GeoSerialTransformer *betC = new GeoSerialTransformer(baseenvelopes,&beC, NCrates);
   envelope->add(betA);
@@ -476,9 +477,9 @@ void createFromDB (GeoFullPhysVol* envelope,
   GeoTube    *Ped2     = new GeoTube(ped2minr, ped2maxr, ped2zhlen);
   GeoTube    *Ped3     = new GeoTube(ped3minr,ped3maxr , ped3zhlen);  
   const GeoShape & CratePed=((*Pedestal).subtract(*Ped1).
-                             subtract((*Ped2)  <<GeoTrf::TranslateY3D(-ped2ytr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg)).
+                             subtract((*Ped2)  <<GeoTrf::TranslateY3D(-ped2ytr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg)).
                              subtract((*Ped3)  <<GeoTrf::TranslateX3D(-ped3xtr)).
-                             subtract((*Ped2)  <<GeoTrf::TranslateY3D(ped2ytr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg)));
+                             subtract((*Ped2)  <<GeoTrf::TranslateY3D(ped2ytr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg)));
   
   GeoLogVol  *lvped   = new GeoLogVol("LAr::DM::Ped",&CratePed,alu);
   GeoPhysVol *pedestal   = new GeoPhysVol(lvped);
@@ -568,8 +569,8 @@ void createFromDB (GeoFullPhysVol* envelope,
   // transforms
   GeoBox   *Box   = new GeoBox(Boxhlen, Boxhwdt, Boxhhgt);
  
-  GeoTrf::Transform3D Cut3Boxp  = GeoTrf::Translate3D(Boxxtr, Boxytr, Boxxrot)*GeoTrf::RotateX3D(-20*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  GeoTrf::Transform3D Cut4Boxp  = GeoTrf::Translate3D(Boxxtr, -Boxytr,Boxxrot)*GeoTrf::RotateX3D(20*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+  GeoTrf::Transform3D Cut3Boxp  = GeoTrf::Translate3D(Boxxtr, Boxytr, Boxxrot)*GeoTrf::RotateX3D(-20*Gaudi::Units::deg)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  GeoTrf::Transform3D Cut4Boxp  = GeoTrf::Translate3D(Boxxtr, -Boxytr,Boxxrot)*GeoTrf::RotateX3D(20*Gaudi::Units::deg)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
     
   // ----- build sector envelopes -----
   // build 16 instances of SectorEnvelopes1 each with its own material!
@@ -723,7 +724,7 @@ void createFromDB (GeoFullPhysVol* envelope,
   GeoPhysVol *baseplates    = new GeoPhysVol(lvbp);
     
   // ----- build bridge plates -----
-  GeoTrap  *Trapalu  = new GeoTrap(BridgePzhlen, BridgePtheta*GeoModelKernelUnits::deg, BridgePphi, BridgePyzn, BridgePxynzn, BridgePxypzn, BridgePangn, BridgePyzp, BridgePxynzp, BridgePxypzp, BridgePangp); 
+  GeoTrap  *Trapalu  = new GeoTrap(BridgePzhlen, BridgePtheta*Gaudi::Units::deg, BridgePphi, BridgePyzn, BridgePxynzn, BridgePxypzn, BridgePangn, BridgePyzp, BridgePxynzp, BridgePxypzp, BridgePangp); 
   GeoLogVol  *lvbrp          = new GeoLogVol("LAr::DM::BridgePlates",Trapalu,alu);
   GeoPhysVol *bridgeplates    = new GeoPhysVol(lvbrp);
     
@@ -740,18 +741,18 @@ void createFromDB (GeoFullPhysVol* envelope,
   //-------------- Place volumes in LAr Envelope -------------------
     
   //sectorPlates
-  TRANSFUNCTION spA = Pow(GeoTrf::RotateZ3D(1.0),f-(Alfa/2))*GeoTrf::TranslateX3D(SecPxtr)*GeoTrf::TranslateZ3D(SecPztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);///
-  TRANSFUNCTION spC = Pow(GeoTrf::RotateZ3D(1.0),f+(Alfa/2))*GeoTrf::TranslateX3D(SecPxtr)*GeoTrf::TranslateZ3D(-SecPztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);///
+  TRANSFUNCTION spA = Pow(GeoTrf::RotateZ3D(1.0),f-(Alfa/2))*GeoTrf::TranslateX3D(SecPxtr)*GeoTrf::TranslateZ3D(SecPztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);///
+  TRANSFUNCTION spC = Pow(GeoTrf::RotateZ3D(1.0),f+(Alfa/2))*GeoTrf::TranslateX3D(SecPxtr)*GeoTrf::TranslateZ3D(-SecPztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);///
   GeoSerialTransformer *sptA = new GeoSerialTransformer(sectorplates,&spA, NCrates);
   GeoSerialTransformer *sptC = new GeoSerialTransformer(sectorplates,&spC, NCrates);
   envelope->add(sptA);
   envelope->add(sptC);
     
   //bridgePlates
-  TRANSFUNCTION brpA1 = Pow(GeoTrf::RotateZ3D(1.0),f-(5*Alfa/2))*GeoTrf::TranslateX3D(BridgePxtr)*GeoTrf::TranslateZ3D(BridgePztr)*GeoTrf::RotateZ3D(90*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg)*GeoTrf::RotateX3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION brpA2 = Pow(GeoTrf::RotateZ3D(1.0),f+(13*Alfa/2))*GeoTrf::TranslateX3D(BridgePxtr)*GeoTrf::TranslateZ3D(BridgePztr)*GeoTrf::RotateZ3D(90*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg)*GeoTrf::RotateX3D(90*GeoModelKernelUnits::deg); 
-  TRANSFUNCTION brpC1 = Pow(GeoTrf::RotateZ3D(1.0),f-(5*Alfa/2))*GeoTrf::TranslateX3D(BridgePxtr)*GeoTrf::TranslateZ3D(-BridgePztr)*GeoTrf::RotateZ3D(-90*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(-90*GeoModelKernelUnits::deg)*GeoTrf::RotateX3D(-90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION brpC2 = Pow(GeoTrf::RotateZ3D(1.0),f+(13*Alfa/2))*GeoTrf::TranslateX3D(BridgePxtr)*GeoTrf::TranslateZ3D(-BridgePztr)*GeoTrf::RotateZ3D(-90*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(-90*GeoModelKernelUnits::deg)*GeoTrf::RotateX3D(-90*GeoModelKernelUnits::deg);   GeoSerialTransformer *brptA1 = new GeoSerialTransformer(bridgeplates,&brpA1, 5);
+  TRANSFUNCTION brpA1 = Pow(GeoTrf::RotateZ3D(1.0),f-(5*Alfa/2))*GeoTrf::TranslateX3D(BridgePxtr)*GeoTrf::TranslateZ3D(BridgePztr)*GeoTrf::RotateZ3D(90*Gaudi::Units::deg)*GeoTrf::RotateY3D(90*Gaudi::Units::deg)*GeoTrf::RotateX3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION brpA2 = Pow(GeoTrf::RotateZ3D(1.0),f+(13*Alfa/2))*GeoTrf::TranslateX3D(BridgePxtr)*GeoTrf::TranslateZ3D(BridgePztr)*GeoTrf::RotateZ3D(90*Gaudi::Units::deg)*GeoTrf::RotateY3D(90*Gaudi::Units::deg)*GeoTrf::RotateX3D(90*Gaudi::Units::deg); 
+  TRANSFUNCTION brpC1 = Pow(GeoTrf::RotateZ3D(1.0),f-(5*Alfa/2))*GeoTrf::TranslateX3D(BridgePxtr)*GeoTrf::TranslateZ3D(-BridgePztr)*GeoTrf::RotateZ3D(-90*Gaudi::Units::deg)*GeoTrf::RotateY3D(-90*Gaudi::Units::deg)*GeoTrf::RotateX3D(-90*Gaudi::Units::deg);
+  TRANSFUNCTION brpC2 = Pow(GeoTrf::RotateZ3D(1.0),f+(13*Alfa/2))*GeoTrf::TranslateX3D(BridgePxtr)*GeoTrf::TranslateZ3D(-BridgePztr)*GeoTrf::RotateZ3D(-90*Gaudi::Units::deg)*GeoTrf::RotateY3D(-90*Gaudi::Units::deg)*GeoTrf::RotateX3D(-90*Gaudi::Units::deg);   GeoSerialTransformer *brptA1 = new GeoSerialTransformer(bridgeplates,&brpA1, 5);
   GeoSerialTransformer *brptA2 = new GeoSerialTransformer(bridgeplates,&brpA2, 5);
   GeoSerialTransformer *brptC1 = new GeoSerialTransformer(bridgeplates,&brpC1, 5);
   GeoSerialTransformer *brptC2 = new GeoSerialTransformer(bridgeplates,&brpC2, 5);
@@ -761,8 +762,8 @@ void createFromDB (GeoFullPhysVol* envelope,
   envelope->add(brptC2);
     
   //basePlates
-  TRANSFUNCTION bpA = Pow(GeoTrf::RotateZ3D(1.0),f-(Alfa/2))*GeoTrf::TranslateX3D(BasePxtr)*GeoTrf::TranslateZ3D(BasePztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg); 
-  TRANSFUNCTION bpC = Pow(GeoTrf::RotateZ3D(1.0),f+(Alfa/2))*GeoTrf::TranslateX3D(BasePxtr)*GeoTrf::TranslateZ3D(-BasePztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+  TRANSFUNCTION bpA = Pow(GeoTrf::RotateZ3D(1.0),f-(Alfa/2))*GeoTrf::TranslateX3D(BasePxtr)*GeoTrf::TranslateZ3D(BasePztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg); 
+  TRANSFUNCTION bpC = Pow(GeoTrf::RotateZ3D(1.0),f+(Alfa/2))*GeoTrf::TranslateX3D(BasePxtr)*GeoTrf::TranslateZ3D(-BasePztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
   GeoSerialTransformer *bptA = new GeoSerialTransformer(baseplates,&bpA, NCrates);
   GeoSerialTransformer *bptC = new GeoSerialTransformer(baseplates,&bpC, NCrates);
   envelope->add(bptA);
@@ -770,39 +771,39 @@ void createFromDB (GeoFullPhysVol* envelope,
     
   //sectorEnvelopes1
   //counter-clockwise from top if taking sideA for reference (clockwise for sideC)
-  TRANSFUNCTION seA1G5 = Pow(GeoTrf::RotateZ3D(1.0),f+(9*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(SecE1ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seC1G5 = Pow(GeoTrf::RotateZ3D(1.0),f+(9*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-SecE1ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seA1G6 = Pow(GeoTrf::RotateZ3D(1.0),f+(11*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(SecE1ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seC1G6 = Pow(GeoTrf::RotateZ3D(1.0),f+(11*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-SecE1ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seA1G7 = Pow(GeoTrf::RotateZ3D(1.0),f+(13*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(SecE1ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seC1G7 = Pow(GeoTrf::RotateZ3D(1.0),f+(13*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-SecE1ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seA1G8 = Pow(GeoTrf::RotateZ3D(1.0),f+(15*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(SecE1ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seC1G8 = Pow(GeoTrf::RotateZ3D(1.0),f+(15*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-SecE1ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seA1G9 = Pow(GeoTrf::RotateZ3D(1.0),f+(17*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(SecE1ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seC1G9 = Pow(GeoTrf::RotateZ3D(1.0),f+(17*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-SecE1ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seA1G10 = Pow(GeoTrf::RotateZ3D(1.0),f+(19*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(SecE1ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seC1G10 = Pow(GeoTrf::RotateZ3D(1.0),f+(19*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-SecE1ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seA1G11 = Pow(GeoTrf::RotateZ3D(1.0),f+(21*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(SecE1ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seC1G11 = Pow(GeoTrf::RotateZ3D(1.0),f+(21*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-SecE1ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seA1G12 = Pow(GeoTrf::RotateZ3D(1.0),f+(23*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(SecE1ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seC1G12 = Pow(GeoTrf::RotateZ3D(1.0),f+(23*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-SecE1ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+  TRANSFUNCTION seA1G5 = Pow(GeoTrf::RotateZ3D(1.0),f+(9*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(SecE1ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seC1G5 = Pow(GeoTrf::RotateZ3D(1.0),f+(9*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-SecE1ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seA1G6 = Pow(GeoTrf::RotateZ3D(1.0),f+(11*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(SecE1ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seC1G6 = Pow(GeoTrf::RotateZ3D(1.0),f+(11*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-SecE1ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seA1G7 = Pow(GeoTrf::RotateZ3D(1.0),f+(13*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(SecE1ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seC1G7 = Pow(GeoTrf::RotateZ3D(1.0),f+(13*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-SecE1ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seA1G8 = Pow(GeoTrf::RotateZ3D(1.0),f+(15*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(SecE1ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seC1G8 = Pow(GeoTrf::RotateZ3D(1.0),f+(15*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-SecE1ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seA1G9 = Pow(GeoTrf::RotateZ3D(1.0),f+(17*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(SecE1ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seC1G9 = Pow(GeoTrf::RotateZ3D(1.0),f+(17*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-SecE1ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seA1G10 = Pow(GeoTrf::RotateZ3D(1.0),f+(19*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(SecE1ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seC1G10 = Pow(GeoTrf::RotateZ3D(1.0),f+(19*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-SecE1ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seA1G11 = Pow(GeoTrf::RotateZ3D(1.0),f+(21*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(SecE1ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seC1G11 = Pow(GeoTrf::RotateZ3D(1.0),f+(21*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-SecE1ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seA1G12 = Pow(GeoTrf::RotateZ3D(1.0),f+(23*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(SecE1ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seC1G12 = Pow(GeoTrf::RotateZ3D(1.0),f+(23*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-SecE1ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
   //clockwise from top if taking sideA for reference (counter-clockwise for sideC)
-  TRANSFUNCTION seA1G4 = Pow(GeoTrf::RotateZ3D(1.0),f+(7*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(SecE1ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seC1G4 = Pow(GeoTrf::RotateZ3D(1.0),f+(7*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-SecE1ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seA1G3 = Pow(GeoTrf::RotateZ3D(1.0),f+(5*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(SecE1ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seC1G3 = Pow(GeoTrf::RotateZ3D(1.0),f+(5*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-SecE1ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seA1G2 = Pow(GeoTrf::RotateZ3D(1.0),f+(3*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(SecE1ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seC1G2 = Pow(GeoTrf::RotateZ3D(1.0),f+(3*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-SecE1ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seA1G1 = Pow(GeoTrf::RotateZ3D(1.0),f+(1*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(SecE1ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seC1G1 = Pow(GeoTrf::RotateZ3D(1.0),f+(1*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-SecE1ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seA1G16 = Pow(GeoTrf::RotateZ3D(1.0),f-(1*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(SecE1ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seC1G16 = Pow(GeoTrf::RotateZ3D(1.0),f-(1*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-SecE1ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seA1G15 = Pow(GeoTrf::RotateZ3D(1.0),f-(3*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(SecE1ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seC1G15 = Pow(GeoTrf::RotateZ3D(1.0),f-(3*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-SecE1ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seA1G14 = Pow(GeoTrf::RotateZ3D(1.0),f-(5*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(SecE1ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seC1G14 = Pow(GeoTrf::RotateZ3D(1.0),f-(5*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-SecE1ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seA1G13 = Pow(GeoTrf::RotateZ3D(1.0),f-(7*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(SecE1ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seC1G13 = Pow(GeoTrf::RotateZ3D(1.0),f-(7*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-SecE1ztr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+  TRANSFUNCTION seA1G4 = Pow(GeoTrf::RotateZ3D(1.0),f+(7*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(SecE1ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seC1G4 = Pow(GeoTrf::RotateZ3D(1.0),f+(7*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-SecE1ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seA1G3 = Pow(GeoTrf::RotateZ3D(1.0),f+(5*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(SecE1ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seC1G3 = Pow(GeoTrf::RotateZ3D(1.0),f+(5*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-SecE1ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seA1G2 = Pow(GeoTrf::RotateZ3D(1.0),f+(3*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(SecE1ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seC1G2 = Pow(GeoTrf::RotateZ3D(1.0),f+(3*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-SecE1ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seA1G1 = Pow(GeoTrf::RotateZ3D(1.0),f+(1*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(SecE1ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seC1G1 = Pow(GeoTrf::RotateZ3D(1.0),f+(1*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-SecE1ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seA1G16 = Pow(GeoTrf::RotateZ3D(1.0),f-(1*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(SecE1ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seC1G16 = Pow(GeoTrf::RotateZ3D(1.0),f-(1*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-SecE1ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seA1G15 = Pow(GeoTrf::RotateZ3D(1.0),f-(3*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(SecE1ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seC1G15 = Pow(GeoTrf::RotateZ3D(1.0),f-(3*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-SecE1ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seA1G14 = Pow(GeoTrf::RotateZ3D(1.0),f-(5*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(SecE1ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seC1G14 = Pow(GeoTrf::RotateZ3D(1.0),f-(5*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-SecE1ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seA1G13 = Pow(GeoTrf::RotateZ3D(1.0),f-(7*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(SecE1ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seC1G13 = Pow(GeoTrf::RotateZ3D(1.0),f-(7*Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-SecE1ztr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
     
   GeoSerialTransformer *setA1G5 = new GeoSerialTransformer(sectorenvelopes1g5,&seA1G5, 1);
   GeoSerialTransformer *setC1G5 = new GeoSerialTransformer(sectorenvelopes1g5,&seC1G5, 1);
@@ -976,13 +977,13 @@ void LArGeo::BarrelDMConstruction::create(GeoFullPhysVol* envelope)
     
     // Define some custom materials - That will move to the GeomDB
     //Fiberglass
-    GeoMaterial *matFiberglass = new GeoMaterial("SiO2",2.20*GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3);
+    GeoMaterial *matFiberglass = new GeoMaterial("SiO2",2.20*GeoModelKernelUnits::gram/Gaudi::Units::cm3);
     matFiberglass->add(silicon,silicon->getA()/(silicon->getA()+2*oxygen->getA()));
     matFiberglass->add(oxygen,2*oxygen->getA()/(silicon->getA()+2*oxygen->getA()));
     matFiberglass->lock();
     
     //Epoxy Resin
-    GeoMaterial *matEpoxyResin = new GeoMaterial("Epoxy", 1.9*GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3);
+    GeoMaterial *matEpoxyResin = new GeoMaterial("Epoxy", 1.9*GeoModelKernelUnits::gram/Gaudi::Units::cm3);
     matEpoxyResin->add(hydrogen,     14*hydrogen->getA()   / (14*hydrogen->getA() + 4*oxygen->getA()+ 8*carbon->getA()));
     matEpoxyResin->add(oxygen,        4*oxygen->getA()     / (14*hydrogen->getA() + 4*oxygen->getA()+ 8*carbon->getA()));
     matEpoxyResin->add(carbon,        8*carbon->getA()     / (14*hydrogen->getA() + 4*oxygen->getA()+ 8*carbon->getA()));
@@ -990,7 +991,7 @@ void LArGeo::BarrelDMConstruction::create(GeoFullPhysVol* envelope)
     matEpoxyResin->lock();
 
     //FEBBoards
-    GeoMaterial *matFEBBoards = new GeoMaterial("FEBBoards", 4.03*GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3);
+    GeoMaterial *matFEBBoards = new GeoMaterial("FEBBoards", 4.03*GeoModelKernelUnits::gram/Gaudi::Units::cm3);
     matFEBBoards->add(matFiberglass, 0.52);
     matFEBBoards->add(copper, 0.28);
     matFEBBoards->add(matEpoxyResin, 0.20);
@@ -999,13 +1000,13 @@ void LArGeo::BarrelDMConstruction::create(GeoFullPhysVol* envelope)
     //SERVICES:CABLES, TUBES ETC...//
     
     //Water
-    GeoMaterial *matWater = new GeoMaterial("Water", 1*GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3);
+    GeoMaterial *matWater = new GeoMaterial("Water", 1*GeoModelKernelUnits::gram/Gaudi::Units::cm3);
     matWater->add(hydrogen,     2*hydrogen->getA()   / (2*hydrogen->getA() + 1*oxygen->getA()));
     matWater->add(oxygen,       1*oxygen->getA()     / (2*hydrogen->getA() + 1*oxygen->getA()));
     matWater->lock();
     
     //InDetServices
-    GeoMaterial* matLArServices = new GeoMaterial("LArServices", 4.03*GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3);
+    GeoMaterial* matLArServices = new GeoMaterial("LArServices", 4.03*GeoModelKernelUnits::gram/Gaudi::Units::cm3);
     matLArServices->add(shieldSteel, 0.20);
     matLArServices->add(copper, 0.60);
     matLArServices->add(matRubber, 0.10);
@@ -1021,16 +1022,16 @@ void LArGeo::BarrelDMConstruction::create(GeoFullPhysVol* envelope)
     GeoBox     *Pedestal = new GeoBox(71, 400.05, 248.65);
     GeoBox     *Ped1     = new GeoBox(67, 397.05, 245.65);
     GeoTube    *Ped2     = new GeoTube(0, 150, 75);
-    GeoTube    *Ped3     = new GeoTube(0, 2775, 300);   //, -75*GeoModelKernelUnits::deg, 150*GeoModelKernelUnits::deg); // 0, 2775, 300, -8.2*GeoModelKernelUnits::deg, 16.4*GeoModelKernelUnits::deg)
+    GeoTube    *Ped3     = new GeoTube(0, 2775, 300);   //, -75*Gaudi::Units::deg, 150*Gaudi::Units::deg); // 0, 2775, 300, -8.2*Gaudi::Units::deg, 16.4*Gaudi::Units::deg)
     
     //GeoLogVol  *lvped3   = new GeoLogVol("LAr::DM::PED3",Ped3,air);
     //GeoPhysVol *ped3   = new GeoPhysVol(lvped3);
     //envelope->add(ped3);
     
     const GeoShape & CratePed=((*Pedestal).subtract(*Ped1).
-			       subtract((*Ped2)  <<GeoTrf::TranslateY3D(-200.025)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg)).
+			       subtract((*Ped2)  <<GeoTrf::TranslateY3D(-200.025)*GeoTrf::RotateY3D(90*Gaudi::Units::deg)).
 			       subtract((*Ped3)  <<GeoTrf::TranslateX3D(-2815)).
-			       subtract((*Ped2)  <<GeoTrf::TranslateY3D(200.025)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg)));
+			       subtract((*Ped2)  <<GeoTrf::TranslateY3D(200.025)*GeoTrf::RotateY3D(90*Gaudi::Units::deg)));
     
     
     GeoLogVol  *lvped   = new GeoLogVol("LAr::DM::PED",&CratePed,air);
@@ -1072,9 +1073,9 @@ void LArGeo::BarrelDMConstruction::create(GeoFullPhysVol* envelope)
     
     const unsigned int NCrates=16;
     Variable       i;
-    GENFUNCTION    f = (360*GeoModelKernelUnits::deg/NCrates)*i;
-    GENFUNCTION    f1 = (360*GeoModelKernelUnits::deg/NCrates)*i+315*GeoModelKernelUnits::deg;
-    GENFUNCTION    f2 = (360*GeoModelKernelUnits::deg/NCrates)*i+157.5*GeoModelKernelUnits::deg;
+    GENFUNCTION    f = (360*Gaudi::Units::deg/NCrates)*i;
+    GENFUNCTION    f1 = (360*Gaudi::Units::deg/NCrates)*i+315*Gaudi::Units::deg;
+    GENFUNCTION    f2 = (360*Gaudi::Units::deg/NCrates)*i+157.5*Gaudi::Units::deg;
     GENFUNCTION    g = i*19.685;
     
     //(f=22.5|| f=45|| f=67.5|| f=180|| f=203.5|| f=225|| f=247.5|| f=270|| f=337.5|| f=360)
@@ -1133,16 +1134,16 @@ void LArGeo::BarrelDMConstruction::create(GeoFullPhysVol* envelope)
     //----------- Building envelope for Cables and Tubes --------------
     
     GeoTrd   *Trd1air  = new GeoTrd(123.5, 123.5, 167, 245.43, 117.65);
-    GeoTrap  *Trapair  = new GeoTrap(178.33, 39.596*GeoModelKernelUnits::deg, 0, 167, 53.5, 53.5, 0, 167, 123.5, 123.5, 0);
+    GeoTrap  *Trapair  = new GeoTrap(178.33, 39.596*Gaudi::Units::deg, 0, 167, 53.5, 53.5, 0, 167, 123.5, 123.5, 0);
     GeoTrd   *Trd2air  = new GeoTrd(53.5, 53.5, 280, 548, 677.5); 
     GeoBox   *Box   = new GeoBox(280, 280, 100); 
     
     GeoTrd   *Trd1alu  = new GeoTrd(5, 5, 167, 245.43, 117.65);
-    GeoTrap  *Trapalu  = new GeoTrap(178.33, 45.5*GeoModelKernelUnits::deg, 0, 167, 5, 5, 0, 167, 5, 5, 0);
+    GeoTrap  *Trapalu  = new GeoTrap(178.33, 45.5*Gaudi::Units::deg, 0, 167, 5, 5, 0, 167, 5, 5, 0);
     GeoTrd   *Trd2alu  = new GeoTrd(5, 5, 280, 548, 677.5);
     
-    GeoTrf::Transform3D Cut1Box  = GeoTrf::Translate3D(-295.5, 500, -473.563)*GeoTrf::RotateX3D(-20*GeoModelKernelUnits::deg);
-    GeoTrf::Transform3D Cut2Box  = GeoTrf::Translate3D(-295.5, -500, -473.563)*GeoTrf::RotateX3D(20*GeoModelKernelUnits::deg);
+    GeoTrf::Transform3D Cut1Box  = GeoTrf::Translate3D(-295.5, 500, -473.563)*GeoTrf::RotateX3D(-20*Gaudi::Units::deg);
+    GeoTrf::Transform3D Cut2Box  = GeoTrf::Translate3D(-295.5, -500, -473.563)*GeoTrf::RotateX3D(20*Gaudi::Units::deg);
     
     
     
@@ -1167,31 +1168,31 @@ void LArGeo::BarrelDMConstruction::create(GeoFullPhysVol* envelope)
     
     
     //envelopes
-    TRANSFUNCTION xf3a = Pow(GeoTrf::RotateZ3D(1.0),f)*GeoTrf::TranslateY3D(-631.63)*GeoTrf::TranslateX3D(3175.44)*GeoTrf::TranslateZ3D(3165.5)*GeoTrf::RotateZ3D(-11.25*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-    TRANSFUNCTION xf4a = Pow(GeoTrf::RotateZ3D(1.0),f)*GeoTrf::TranslateY3D(631.63)*GeoTrf::TranslateX3D(-3175.44)*GeoTrf::TranslateZ3D(-3165.5)*GeoTrf::RotateZ3D(-11.25*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(-90*GeoModelKernelUnits::deg);
+    TRANSFUNCTION xf3a = Pow(GeoTrf::RotateZ3D(1.0),f)*GeoTrf::TranslateY3D(-631.63)*GeoTrf::TranslateX3D(3175.44)*GeoTrf::TranslateZ3D(3165.5)*GeoTrf::RotateZ3D(-11.25*Gaudi::Units::deg)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+    TRANSFUNCTION xf4a = Pow(GeoTrf::RotateZ3D(1.0),f)*GeoTrf::TranslateY3D(631.63)*GeoTrf::TranslateX3D(-3175.44)*GeoTrf::TranslateZ3D(-3165.5)*GeoTrf::RotateZ3D(-11.25*Gaudi::Units::deg)*GeoTrf::RotateY3D(-90*Gaudi::Units::deg);
     GeoSerialTransformer *st3 = new GeoSerialTransformer(envelopes,&xf3a, NCrates);
     GeoSerialTransformer *st4 = new GeoSerialTransformer(envelopes,&xf4a, NCrates);
     envelope->add(st3);
     envelope->add(st4);
     
     //baseplates
-    TRANSFUNCTION xf3b = Pow(GeoTrf::RotateZ3D(1.0),f1)*GeoTrf::TranslateY3D(-631.63)*GeoTrf::TranslateX3D(3175.44)*GeoTrf::TranslateZ3D(3044.5)*GeoTrf::RotateZ3D(-11.25*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-    TRANSFUNCTION xf4b = Pow(GeoTrf::RotateZ3D(1.0),(f1+22.5*GeoModelKernelUnits::deg))*GeoTrf::TranslateY3D(631.63)*GeoTrf::TranslateX3D(-3175.44)*GeoTrf::TranslateZ3D(-3044.5)*GeoTrf::RotateZ3D(-11.25*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(-90*GeoModelKernelUnits::deg);
+    TRANSFUNCTION xf3b = Pow(GeoTrf::RotateZ3D(1.0),f1)*GeoTrf::TranslateY3D(-631.63)*GeoTrf::TranslateX3D(3175.44)*GeoTrf::TranslateZ3D(3044.5)*GeoTrf::RotateZ3D(-11.25*Gaudi::Units::deg)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+    TRANSFUNCTION xf4b = Pow(GeoTrf::RotateZ3D(1.0),(f1+22.5*Gaudi::Units::deg))*GeoTrf::TranslateY3D(631.63)*GeoTrf::TranslateX3D(-3175.44)*GeoTrf::TranslateZ3D(-3044.5)*GeoTrf::RotateZ3D(-11.25*Gaudi::Units::deg)*GeoTrf::RotateY3D(-90*Gaudi::Units::deg);
     GeoSerialTransformer *st3bis = new GeoSerialTransformer(baseplates,&xf3b, (NCrates-11));
     GeoSerialTransformer *st4bis = new GeoSerialTransformer(baseplates,&xf4b, (NCrates-11));
     envelope->add(st3bis);
     envelope->add(st4bis);
     
-    TRANSFUNCTION xf5b = Pow(GeoTrf::RotateZ3D(1.0),f2)*GeoTrf::TranslateY3D(-631.63)*GeoTrf::TranslateX3D(3175.44)*GeoTrf::TranslateZ3D(3044.5)*GeoTrf::RotateZ3D(-11.25*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-    TRANSFUNCTION xf6b = Pow(GeoTrf::RotateZ3D(1.0),(f2-22.5*GeoModelKernelUnits::deg))*GeoTrf::TranslateY3D(631.63)*GeoTrf::TranslateX3D(-3175.44)*GeoTrf::TranslateZ3D(-3044.5)*GeoTrf::RotateZ3D(-11.25*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(-90*GeoModelKernelUnits::deg);
+    TRANSFUNCTION xf5b = Pow(GeoTrf::RotateZ3D(1.0),f2)*GeoTrf::TranslateY3D(-631.63)*GeoTrf::TranslateX3D(3175.44)*GeoTrf::TranslateZ3D(3044.5)*GeoTrf::RotateZ3D(-11.25*Gaudi::Units::deg)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+    TRANSFUNCTION xf6b = Pow(GeoTrf::RotateZ3D(1.0),(f2-22.5*Gaudi::Units::deg))*GeoTrf::TranslateY3D(631.63)*GeoTrf::TranslateX3D(-3175.44)*GeoTrf::TranslateZ3D(-3044.5)*GeoTrf::RotateZ3D(-11.25*Gaudi::Units::deg)*GeoTrf::RotateY3D(-90*Gaudi::Units::deg);
     GeoSerialTransformer *st5bis = new GeoSerialTransformer(baseplates,&xf5b, (NCrates-11));
     GeoSerialTransformer *st6bis = new GeoSerialTransformer(baseplates,&xf6b, (NCrates-11));
     envelope->add(st5bis);
     envelope->add(st6bis);
     
     //sectorplates
-    TRANSFUNCTION xf3bb = Pow(GeoTrf::RotateZ3D(1.0),f)*GeoTrf::TranslateY3D(-631.63)*GeoTrf::TranslateX3D(3175.44)*GeoTrf::TranslateZ3D(3044.5)*GeoTrf::RotateZ3D(-11.25*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-    TRANSFUNCTION xf4bb = Pow(GeoTrf::RotateZ3D(1.0),f)*GeoTrf::TranslateY3D(631.63)*GeoTrf::TranslateX3D(-3175.44)*GeoTrf::TranslateZ3D(-3044.5)*GeoTrf::RotateZ3D(-11.25*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(-90*GeoModelKernelUnits::deg);
+    TRANSFUNCTION xf3bb = Pow(GeoTrf::RotateZ3D(1.0),f)*GeoTrf::TranslateY3D(-631.63)*GeoTrf::TranslateX3D(3175.44)*GeoTrf::TranslateZ3D(3044.5)*GeoTrf::RotateZ3D(-11.25*Gaudi::Units::deg)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+    TRANSFUNCTION xf4bb = Pow(GeoTrf::RotateZ3D(1.0),f)*GeoTrf::TranslateY3D(631.63)*GeoTrf::TranslateX3D(-3175.44)*GeoTrf::TranslateZ3D(-3044.5)*GeoTrf::RotateZ3D(-11.25*Gaudi::Units::deg)*GeoTrf::RotateY3D(-90*Gaudi::Units::deg);
     GeoSerialTransformer *st3biss = new GeoSerialTransformer(sectorplates,&xf3bb, NCrates);
     GeoSerialTransformer *st4biss = new GeoSerialTransformer(sectorplates,&xf4bb, NCrates);
     envelope->add(st3biss);
@@ -1220,30 +1221,30 @@ void LArGeo::BarrelDMConstruction::create(GeoFullPhysVol* envelope)
 
   
   //C6F14
-  GeoMaterial *matC6F14 = new GeoMaterial("C6F14",1.68*GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3);
+  GeoMaterial *matC6F14 = new GeoMaterial("C6F14",1.68*GeoModelKernelUnits::gram/Gaudi::Units::cm3);
   matC6F14->add(carbon,   6*carbon->getA()   / (6*carbon->getA() + 14*fluorine->getA()));
   matC6F14->add(fluorine, 14*fluorine->getA() / (6*carbon->getA() + 14*fluorine->getA()));
   matC6F14->lock();
     
   //Water
-  GeoMaterial *matWater = new GeoMaterial("Water", 1*GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3);
+  GeoMaterial *matWater = new GeoMaterial("Water", 1*GeoModelKernelUnits::gram/Gaudi::Units::cm3);
   matWater->add(hydrogen,     2*hydrogen->getA()   / (2*hydrogen->getA() + 1*oxygen->getA()));
   matWater->add(oxygen,       1*oxygen->getA()     / (2*hydrogen->getA() + 1*oxygen->getA()));
   matWater->lock();
 
   //Nitrogen
-  GeoMaterial *matN2 = new GeoMaterial("N2", 0.0012506*GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3);
+  GeoMaterial *matN2 = new GeoMaterial("N2", 0.0012506*GeoModelKernelUnits::gram/Gaudi::Units::cm3);
   matN2->add(nitrogen,1);
   matN2->lock();
 
   //Fiberglass
-  GeoMaterial *matFiberglass = new GeoMaterial("SiO2",2.20*GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3);
+  GeoMaterial *matFiberglass = new GeoMaterial("SiO2",2.20*GeoModelKernelUnits::gram/Gaudi::Units::cm3);
   matFiberglass->add(silicon,silicon->getA()/(silicon->getA()+2*oxygen->getA()));
   matFiberglass->add(oxygen,2*oxygen->getA()/(silicon->getA()+2*oxygen->getA()));
   matFiberglass->lock();
 
   //Epoxy Resin
-  GeoMaterial *matEpoxyResin = new GeoMaterial("Epoxy:C8H14O4Si", 1.9*GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3);
+  GeoMaterial *matEpoxyResin = new GeoMaterial("Epoxy:C8H14O4Si", 1.9*GeoModelKernelUnits::gram/Gaudi::Units::cm3);
   matEpoxyResin->add(hydrogen,     14*hydrogen->getA()   / (14*hydrogen->getA() + 4*oxygen->getA()+ 8*carbon->getA()+ 1*silicon->getA()));
   matEpoxyResin->add(oxygen,        4*oxygen->getA()     / (14*hydrogen->getA() + 4*oxygen->getA()+ 8*carbon->getA()+ 1*silicon->getA()));
   matEpoxyResin->add(carbon,        8*carbon->getA()     / (14*hydrogen->getA() + 4*oxygen->getA()+ 8*carbon->getA()+ 1*silicon->getA()));
@@ -1251,14 +1252,14 @@ void LArGeo::BarrelDMConstruction::create(GeoFullPhysVol* envelope)
   matEpoxyResin->lock();
 
   //FEBoards
-  GeoMaterial *matFEBoards = new GeoMaterial("FEBoards", 4.03*GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3);
+  GeoMaterial *matFEBoards = new GeoMaterial("FEBoards", 4.03*GeoModelKernelUnits::gram/Gaudi::Units::cm3);
   matFEBoards->add(matFiberglass, 0.52);
   matFEBoards->add(copper, 0.28);
   matFEBoards->add(matEpoxyResin, 0.20);
   matFEBoards->lock();
 
   //BoardsEnvelope (FEBoards + Cooling Plates + Water + Air)
-  GeoMaterial* matBoardsEnvelope = new GeoMaterial("BoardsEnvelope", 0.932*GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3);
+  GeoMaterial* matBoardsEnvelope = new GeoMaterial("BoardsEnvelope", 0.932*GeoModelKernelUnits::gram/Gaudi::Units::cm3);
   matBoardsEnvelope->add(matFEBoards, 0.4147);
   matBoardsEnvelope->add(matWater, 0.0736);
   matBoardsEnvelope->add(air, 0.0008);
@@ -1266,8 +1267,8 @@ void LArGeo::BarrelDMConstruction::create(GeoFullPhysVol* envelope)
   matBoardsEnvelope->lock();
   
   //InDetServices !!! Provisoire !!!
-  double density1 = 1.*GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3;
-  if (strDMTopTag=="LArBarrelDM-02") density1 = 1.7*GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3;
+  double density1 = 1.*GeoModelKernelUnits::gram/Gaudi::Units::cm3;
+  if (strDMTopTag=="LArBarrelDM-02") density1 = 1.7*GeoModelKernelUnits::gram/Gaudi::Units::cm3;
   GeoMaterial* matLArServices1 = new GeoMaterial("LArServices1", density1);
   matLArServices1->add(copper, .60);
   matLArServices1->add(shieldSteel, .05);
@@ -1280,8 +1281,8 @@ void LArGeo::BarrelDMConstruction::create(GeoFullPhysVol* envelope)
   matLArServices1->lock();
 
   //InDetServices !!! Provisoire !!!
-  double density2 = 2.*GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3;
-  if (strDMTopTag=="LArBarrelDM-02") density2 = 3.4*GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3;
+  double density2 = 2.*GeoModelKernelUnits::gram/Gaudi::Units::cm3;
+  if (strDMTopTag=="LArBarrelDM-02") density2 = 3.4*GeoModelKernelUnits::gram/Gaudi::Units::cm3;
   GeoMaterial* matLArServices2 = new GeoMaterial("LArServices2", density2);
   matLArServices2->add(copper, .60);
   matLArServices2->add(shieldSteel, .05);
@@ -1299,7 +1300,7 @@ void LArGeo::BarrelDMConstruction::create(GeoFullPhysVol* envelope)
 //     << matLArServices2->getRadLength() << " " << matLArServices2->getIntLength() << std::endl;
   
   const unsigned int NCrates=16;
-  const double Alfa=360*GeoModelKernelUnits::deg/NCrates;
+  const double Alfa=360*Gaudi::Units::deg/NCrates;
   const double Enda=1155;
   const double Endb=1695.2;
   const double Endc=2771.6;
@@ -1318,9 +1319,9 @@ void LArGeo::BarrelDMConstruction::create(GeoFullPhysVol* envelope)
   GeoTube    *Ped2     = new GeoTube(0, 150, 75);
   GeoTube    *Ped3     = new GeoTube(0, 2775, 300);  
   const GeoShape & CratePed=((*Pedestal).subtract(*Ped1).
-			     subtract((*Ped2)  <<GeoTrf::TranslateY3D(-200.025)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg)).
+			     subtract((*Ped2)  <<GeoTrf::TranslateY3D(-200.025)*GeoTrf::RotateY3D(90*Gaudi::Units::deg)).
 			     subtract((*Ped3)  <<GeoTrf::TranslateX3D(-2800)).
-		             subtract((*Ped2)  <<GeoTrf::TranslateY3D(200.025)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg)));
+		             subtract((*Ped2)  <<GeoTrf::TranslateY3D(200.025)*GeoTrf::RotateY3D(90*Gaudi::Units::deg)));
   
   GeoLogVol  *lvped   = new GeoLogVol("LAr::DM::Ped",&CratePed,alu);
   GeoPhysVol *pedestal   = new GeoPhysVol(lvped);
@@ -1377,10 +1378,10 @@ void LArGeo::BarrelDMConstruction::create(GeoFullPhysVol* envelope)
   // transforms
   GeoBox   *Box   = new GeoBox(280, 280, 100);
  
-  GeoTrf::Transform3D Cut3Boxe  = GeoTrf::Translate3D(0, 548, 711)*GeoTrf::RotateX3D(-20*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  GeoTrf::Transform3D Cut4Boxe  = GeoTrf::Translate3D(0, -548,711)*GeoTrf::RotateX3D(20*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  GeoTrf::Transform3D Cut3Boxp  = GeoTrf::Translate3D(0, 548, 850)*GeoTrf::RotateX3D(-20*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  GeoTrf::Transform3D Cut4Boxp  = GeoTrf::Translate3D(0, -548,850)*GeoTrf::RotateX3D(20*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+  GeoTrf::Transform3D Cut3Boxe  = GeoTrf::Translate3D(0, 548, 711)*GeoTrf::RotateX3D(-20*Gaudi::Units::deg)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  GeoTrf::Transform3D Cut4Boxe  = GeoTrf::Translate3D(0, -548,711)*GeoTrf::RotateX3D(20*Gaudi::Units::deg)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  GeoTrf::Transform3D Cut3Boxp  = GeoTrf::Translate3D(0, 548, 850)*GeoTrf::RotateX3D(-20*Gaudi::Units::deg)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  GeoTrf::Transform3D Cut4Boxp  = GeoTrf::Translate3D(0, -548,850)*GeoTrf::RotateX3D(20*Gaudi::Units::deg)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
 
   // ----- build base envelopes -----
   GeoTrd   *Trd1air  = new GeoTrd(123.5, 123.5, 167, 305, 287.5); 
@@ -1388,7 +1389,7 @@ void LArGeo::BarrelDMConstruction::create(GeoFullPhysVol* envelope)
   GeoPhysVol *baseenvelopes    = new GeoPhysVol(lvbe);
 
   // ----- build bridge envelopes -----
-  GeoTrap  *Trapair  = new GeoTrap(201.70, 45.35*GeoModelKernelUnits::deg, 0, 160, 52.95, 52.95, 0, 160, 123.5, 123.5, 0);
+  GeoTrap  *Trapair  = new GeoTrap(201.70, 45.35*Gaudi::Units::deg, 0, 160, 52.95, 52.95, 0, 160, 123.5, 123.5, 0);
   GeoLogVol  *lvbre          = new GeoLogVol("LAr::DM::BridgeEnvelopes",Trapair,matLArServices1);
   GeoPhysVol *bridgeenvelopes    = new GeoPhysVol(lvbre);
 
@@ -1421,7 +1422,7 @@ void LArGeo::BarrelDMConstruction::create(GeoFullPhysVol* envelope)
   GeoPhysVol *baseplates    = new GeoPhysVol(lvbp);
 
   // ----- build bridge plates -----
-  GeoTrap  *Trapalu  = new GeoTrap(201.70, 49.92*GeoModelKernelUnits::deg, 0, 160, 5, 5, 0, 160, 5, 5, 0); 
+  GeoTrap  *Trapalu  = new GeoTrap(201.70, 49.92*Gaudi::Units::deg, 0, 160, 5, 5, 0, 160, 5, 5, 0); 
   GeoLogVol  *lvbrp          = new GeoLogVol("LAr::DM::BridgePlates",Trapalu,alu);
   GeoPhysVol *bridgeplates    = new GeoPhysVol(lvbrp);
   
@@ -1439,15 +1440,15 @@ void LArGeo::BarrelDMConstruction::create(GeoFullPhysVol* envelope)
   GeoTrap  *GeoTrap1  = new GeoTrap(237.5, 0, 0, 307, 47.5, 47.5, 0, 259.17, 47.5, 47.5, 0);
   GeoBox   *Box1   = new GeoBox(50, 244.80, 150);  
   const GeoShape & SpliceBox = ((*GeoTrap1).
-				subtract(*Box1 << GeoTrf::TranslateZ3D(193.88)*GeoTrf::TranslateY3D(-223.49)*GeoTrf::RotateX3D(41.592*GeoModelKernelUnits::deg)));
+				subtract(*Box1 << GeoTrf::TranslateZ3D(193.88)*GeoTrf::TranslateY3D(-223.49)*GeoTrf::RotateX3D(41.592*Gaudi::Units::deg)));
 
-  GeoTransform *xtr = new GeoTransform (GeoTrf::TranslateZ3D(39.57)*GeoTrf::TranslateY3D(-452.12)*GeoTrf::TranslateX3D(5.40)*GeoTrf::RotateX3D(191.25*GeoModelKernelUnits::deg));
+  GeoTransform *xtr = new GeoTransform (GeoTrf::TranslateZ3D(39.57)*GeoTrf::TranslateY3D(-452.12)*GeoTrf::TranslateX3D(5.40)*GeoTrf::RotateX3D(191.25*Gaudi::Units::deg));
   sectorenvelopes2r->add(xtr);
   GeoLogVol  *lvspbr     = new GeoLogVol("LAr::DM::SPliceBoxr",&SpliceBox,alu); 
   GeoPhysVol *spliceboxr       = new GeoPhysVol(lvspbr);
   sectorenvelopes2r->add(spliceboxr);
   
-  GeoTransform *xtl = new GeoTransform (GeoTrf::TranslateZ3D(39.57)*GeoTrf::TranslateY3D(-452.12)*GeoTrf::TranslateX3D(5.40)*GeoTrf::RotateY3D(-180*GeoModelKernelUnits::deg)*GeoTrf::RotateX3D(-(Alfa/2)));
+  GeoTransform *xtl = new GeoTransform (GeoTrf::TranslateZ3D(39.57)*GeoTrf::TranslateY3D(-452.12)*GeoTrf::TranslateX3D(5.40)*GeoTrf::RotateY3D(-180*Gaudi::Units::deg)*GeoTrf::RotateX3D(-(Alfa/2)));
   sectorenvelopes2l->add(xtl);
   GeoLogVol  *lvspbl     = new GeoLogVol("LAr::DM::SpliceBoxl",&SpliceBox,alu);  
   GeoPhysVol *spliceboxl       = new GeoPhysVol(lvspbl);
@@ -1459,7 +1460,7 @@ void LArGeo::BarrelDMConstruction::create(GeoFullPhysVol* envelope)
   GeoTrap  *GeoTrap2  = new GeoTrap(149, 0, 0, 126.215, 44.5, 44.5, 0, 95, 44.5, 44.5, 0);
   GeoTrap  *GeoTrap3  = new GeoTrap(72, 0, 0, 294.5, 44.5, 44.5, 0, 279.396, 44.5, 44.5, 0);
   
-  GeoTransform *xt1 = new GeoTransform (GeoTrf::TranslateY3D(-53)*GeoTrf::RotateX3D(42.25*GeoModelKernelUnits::deg));
+  GeoTransform *xt1 = new GeoTransform (GeoTrf::TranslateY3D(-53)*GeoTrf::RotateX3D(42.25*Gaudi::Units::deg));
   spliceboxr->add(xt1);
   spliceboxl->add(xt1);
   GeoLogVol  *lt1     = new GeoLogVol("LAr::DM::TBox1",Trd1,air);
@@ -1487,18 +1488,18 @@ void LArGeo::BarrelDMConstruction::create(GeoFullPhysVol* envelope)
   //-------------- Place volumes in LAr Envelope -------------------
  
   //sectorPlates
-  TRANSFUNCTION spA = Pow(GeoTrf::RotateZ3D(1.0),f-(Alfa/2))*GeoTrf::TranslateX3D(2095)*GeoTrf::TranslateZ3D(3410.1)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION spC = Pow(GeoTrf::RotateZ3D(1.0),f+(Alfa/2))*GeoTrf::TranslateX3D(2095)*GeoTrf::TranslateZ3D(-3410.1)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+  TRANSFUNCTION spA = Pow(GeoTrf::RotateZ3D(1.0),f-(Alfa/2))*GeoTrf::TranslateX3D(2095)*GeoTrf::TranslateZ3D(3410.1)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION spC = Pow(GeoTrf::RotateZ3D(1.0),f+(Alfa/2))*GeoTrf::TranslateX3D(2095)*GeoTrf::TranslateZ3D(-3410.1)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
   GeoSerialTransformer *sptA = new GeoSerialTransformer(sectorplates,&spA, NCrates);
   GeoSerialTransformer *sptC = new GeoSerialTransformer(sectorplates,&spC, NCrates);
   envelope->add(sptA);
   envelope->add(sptC);
 
   //bridgePlates
-  TRANSFUNCTION brpA1 = Pow(GeoTrf::RotateZ3D(1.0),f-(5*Alfa/2))*GeoTrf::TranslateX3D(2974.5)*GeoTrf::TranslateZ3D(3170.1)*GeoTrf::RotateZ3D(90*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg)*GeoTrf::RotateX3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION brpA2 = Pow(GeoTrf::RotateZ3D(1.0),f+(13*Alfa/2))*GeoTrf::TranslateX3D(2974.5)*GeoTrf::TranslateZ3D(3170.1)*GeoTrf::RotateZ3D(90*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg)*GeoTrf::RotateX3D(90*GeoModelKernelUnits::deg); 
-  TRANSFUNCTION brpC1 = Pow(GeoTrf::RotateZ3D(1.0),f-(5*Alfa/2))*GeoTrf::TranslateX3D(2974.5)*GeoTrf::TranslateZ3D(-3170.1)*GeoTrf::RotateZ3D(-90*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(-90*GeoModelKernelUnits::deg)*GeoTrf::RotateX3D(-90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION brpC2 = Pow(GeoTrf::RotateZ3D(1.0),f+(13*Alfa/2))*GeoTrf::TranslateX3D(2974.5)*GeoTrf::TranslateZ3D(-3170.1)*GeoTrf::RotateZ3D(-90*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(-90*GeoModelKernelUnits::deg)*GeoTrf::RotateX3D(-90*GeoModelKernelUnits::deg);   GeoSerialTransformer *brptA1 = new GeoSerialTransformer(bridgeplates,&brpA1, 5);
+  TRANSFUNCTION brpA1 = Pow(GeoTrf::RotateZ3D(1.0),f-(5*Alfa/2))*GeoTrf::TranslateX3D(2974.5)*GeoTrf::TranslateZ3D(3170.1)*GeoTrf::RotateZ3D(90*Gaudi::Units::deg)*GeoTrf::RotateY3D(90*Gaudi::Units::deg)*GeoTrf::RotateX3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION brpA2 = Pow(GeoTrf::RotateZ3D(1.0),f+(13*Alfa/2))*GeoTrf::TranslateX3D(2974.5)*GeoTrf::TranslateZ3D(3170.1)*GeoTrf::RotateZ3D(90*Gaudi::Units::deg)*GeoTrf::RotateY3D(90*Gaudi::Units::deg)*GeoTrf::RotateX3D(90*Gaudi::Units::deg); 
+  TRANSFUNCTION brpC1 = Pow(GeoTrf::RotateZ3D(1.0),f-(5*Alfa/2))*GeoTrf::TranslateX3D(2974.5)*GeoTrf::TranslateZ3D(-3170.1)*GeoTrf::RotateZ3D(-90*Gaudi::Units::deg)*GeoTrf::RotateY3D(-90*Gaudi::Units::deg)*GeoTrf::RotateX3D(-90*Gaudi::Units::deg);
+  TRANSFUNCTION brpC2 = Pow(GeoTrf::RotateZ3D(1.0),f+(13*Alfa/2))*GeoTrf::TranslateX3D(2974.5)*GeoTrf::TranslateZ3D(-3170.1)*GeoTrf::RotateZ3D(-90*Gaudi::Units::deg)*GeoTrf::RotateY3D(-90*Gaudi::Units::deg)*GeoTrf::RotateX3D(-90*Gaudi::Units::deg);   GeoSerialTransformer *brptA1 = new GeoSerialTransformer(bridgeplates,&brpA1, 5);
   GeoSerialTransformer *brptA2 = new GeoSerialTransformer(bridgeplates,&brpA2, 5);
   GeoSerialTransformer *brptC1 = new GeoSerialTransformer(bridgeplates,&brpC1, 5);
   GeoSerialTransformer *brptC2 = new GeoSerialTransformer(bridgeplates,&brpC2, 5);
@@ -1508,27 +1509,27 @@ void LArGeo::BarrelDMConstruction::create(GeoFullPhysVol* envelope)
   envelope->add(brptC2);
 
   //basePlates
-  TRANSFUNCTION bpA = Pow(GeoTrf::RotateZ3D(1.0),f-(Alfa/2))*GeoTrf::TranslateX3D(3464)*GeoTrf::TranslateZ3D(2930.6)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg); 
-  TRANSFUNCTION bpC = Pow(GeoTrf::RotateZ3D(1.0),f+(Alfa/2))*GeoTrf::TranslateX3D(3464)*GeoTrf::TranslateZ3D(-2930.6)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+  TRANSFUNCTION bpA = Pow(GeoTrf::RotateZ3D(1.0),f-(Alfa/2))*GeoTrf::TranslateX3D(3464)*GeoTrf::TranslateZ3D(2930.6)*GeoTrf::RotateY3D(90*Gaudi::Units::deg); 
+  TRANSFUNCTION bpC = Pow(GeoTrf::RotateZ3D(1.0),f+(Alfa/2))*GeoTrf::TranslateX3D(3464)*GeoTrf::TranslateZ3D(-2930.6)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
   GeoSerialTransformer *bptA = new GeoSerialTransformer(baseplates,&bpA, NCrates);
   GeoSerialTransformer *bptC = new GeoSerialTransformer(baseplates,&bpC, NCrates);
   envelope->add(bptA);
   envelope->add(bptC);
 
   //sectorEnvelopes
-  TRANSFUNCTION seA1 = Pow(GeoTrf::RotateZ3D(1.0),f-(Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(3468.05)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seC1 = Pow(GeoTrf::RotateZ3D(1.0),f-(Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-3468.05)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+  TRANSFUNCTION seA1 = Pow(GeoTrf::RotateZ3D(1.0),f-(Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(3468.05)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seC1 = Pow(GeoTrf::RotateZ3D(1.0),f-(Alfa/2))*GeoTrf::TranslateX3D((Endb+Enda)/2)*GeoTrf::TranslateZ3D(-3468.05)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
   GeoSerialTransformer *setA1 = new GeoSerialTransformer(sectorenvelopes1,&seA1, NCrates);
   GeoSerialTransformer *setC1 = new GeoSerialTransformer(sectorenvelopes1,&seC1, NCrates);
   envelope->add(setA1); 
   envelope->add(setC1);
   
-  TRANSFUNCTION seA2r = Pow(GeoTrf::RotateZ3D(1.0),8*f-(3*Alfa/2))*GeoTrf::TranslateX3D((Endb+Endc)/2)*GeoTrf::TranslateZ3D(3468.05)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seA2l = Pow(GeoTrf::RotateZ3D(1.0),8*f+(5*Alfa/2))*GeoTrf::TranslateX3D((Endb+Endc)/2)*GeoTrf::TranslateZ3D(3468.05)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seA2 = Pow(GeoTrf::RotateZ3D(1.0),4*f+(Alfa/2))*GeoTrf::TranslateX3D((Endb+Endc)/2)*GeoTrf::TranslateZ3D(3468.05)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seC2 = Pow(GeoTrf::RotateZ3D(1.0),4*f+(Alfa/2))*GeoTrf::TranslateX3D((Endb+Endc)/2)*GeoTrf::TranslateZ3D(-3468.05)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seC2r = Pow(GeoTrf::RotateZ3D(1.0),8*f-(3*Alfa/2))*GeoTrf::TranslateX3D((Endb+Endc)/2)*GeoTrf::TranslateZ3D(-3468.05)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION seC2l = Pow(GeoTrf::RotateZ3D(1.0),8*f+(5*Alfa/2))*GeoTrf::TranslateX3D((Endb+Endc)/2)*GeoTrf::TranslateZ3D(-3468.05)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+  TRANSFUNCTION seA2r = Pow(GeoTrf::RotateZ3D(1.0),8*f-(3*Alfa/2))*GeoTrf::TranslateX3D((Endb+Endc)/2)*GeoTrf::TranslateZ3D(3468.05)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seA2l = Pow(GeoTrf::RotateZ3D(1.0),8*f+(5*Alfa/2))*GeoTrf::TranslateX3D((Endb+Endc)/2)*GeoTrf::TranslateZ3D(3468.05)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seA2 = Pow(GeoTrf::RotateZ3D(1.0),4*f+(Alfa/2))*GeoTrf::TranslateX3D((Endb+Endc)/2)*GeoTrf::TranslateZ3D(3468.05)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seC2 = Pow(GeoTrf::RotateZ3D(1.0),4*f+(Alfa/2))*GeoTrf::TranslateX3D((Endb+Endc)/2)*GeoTrf::TranslateZ3D(-3468.05)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seC2r = Pow(GeoTrf::RotateZ3D(1.0),8*f-(3*Alfa/2))*GeoTrf::TranslateX3D((Endb+Endc)/2)*GeoTrf::TranslateZ3D(-3468.05)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION seC2l = Pow(GeoTrf::RotateZ3D(1.0),8*f+(5*Alfa/2))*GeoTrf::TranslateX3D((Endb+Endc)/2)*GeoTrf::TranslateZ3D(-3468.05)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
   GeoSerialTransformer *setA2r = new GeoSerialTransformer(sectorenvelopes2r,&seA2r, 2);
   GeoSerialTransformer *setA2l = new GeoSerialTransformer(sectorenvelopes2l,&seA2l, 2);
   GeoSerialTransformer *setA2 = new GeoSerialTransformer(sectorenvelopes2,&seA2, 4);
@@ -1543,16 +1544,16 @@ void LArGeo::BarrelDMConstruction::create(GeoFullPhysVol* envelope)
   envelope->add(setC2l);
 
   //bridgeEnvelopes
-  TRANSFUNCTION breA = Pow(GeoTrf::RotateZ3D(1.0),f-(Alfa/2))*GeoTrf::TranslateX3D(2974.532)*GeoTrf::TranslateZ3D(3263.65)*GeoTrf::RotateZ3D(90*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg)*GeoTrf::RotateX3D(90*GeoModelKernelUnits::deg);
-  TRANSFUNCTION breC = Pow(GeoTrf::RotateZ3D(1.0),f-(Alfa/2))*GeoTrf::TranslateX3D(2974.532)*GeoTrf::TranslateZ3D(-3263.65)*GeoTrf::RotateZ3D(-90*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(-90*GeoModelKernelUnits::deg)*GeoTrf::RotateX3D(-90*GeoModelKernelUnits::deg);
+  TRANSFUNCTION breA = Pow(GeoTrf::RotateZ3D(1.0),f-(Alfa/2))*GeoTrf::TranslateX3D(2974.532)*GeoTrf::TranslateZ3D(3263.65)*GeoTrf::RotateZ3D(90*Gaudi::Units::deg)*GeoTrf::RotateY3D(90*Gaudi::Units::deg)*GeoTrf::RotateX3D(90*Gaudi::Units::deg);
+  TRANSFUNCTION breC = Pow(GeoTrf::RotateZ3D(1.0),f-(Alfa/2))*GeoTrf::TranslateX3D(2974.532)*GeoTrf::TranslateZ3D(-3263.65)*GeoTrf::RotateZ3D(-90*Gaudi::Units::deg)*GeoTrf::RotateY3D(-90*Gaudi::Units::deg)*GeoTrf::RotateX3D(-90*Gaudi::Units::deg);
   GeoSerialTransformer *bretA = new GeoSerialTransformer(bridgeenvelopes,&breA, NCrates);
   GeoSerialTransformer *bretC = new GeoSerialTransformer(bridgeenvelopes,&breC, NCrates);
   envelope->add(bretA);
   envelope->add(bretC);
 
   //baseEnvelopes
-  TRANSFUNCTION beA = Pow(GeoTrf::RotateZ3D(1.0),f-(Alfa/2))*GeoTrf::TranslateX3D(3464)*GeoTrf::TranslateZ3D(3059.2)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg); 
-  TRANSFUNCTION beC = Pow(GeoTrf::RotateZ3D(1.0),f+(Alfa/2))*GeoTrf::TranslateX3D(3464)*GeoTrf::TranslateZ3D(-3059.2)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+  TRANSFUNCTION beA = Pow(GeoTrf::RotateZ3D(1.0),f-(Alfa/2))*GeoTrf::TranslateX3D(3464)*GeoTrf::TranslateZ3D(3059.2)*GeoTrf::RotateY3D(90*Gaudi::Units::deg); 
+  TRANSFUNCTION beC = Pow(GeoTrf::RotateZ3D(1.0),f+(Alfa/2))*GeoTrf::TranslateX3D(3464)*GeoTrf::TranslateZ3D(-3059.2)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
   GeoSerialTransformer *betA = new GeoSerialTransformer(baseenvelopes,&beA, NCrates);
   GeoSerialTransformer *betC = new GeoSerialTransformer(baseenvelopes,&beC, NCrates);
   envelope->add(betA);
diff --git a/LArCalorimeter/LArGeoModel/LArGeoBarrel/src/BarrelPresamplerConstruction.cxx b/LArCalorimeter/LArGeoModel/LArGeoBarrel/src/BarrelPresamplerConstruction.cxx
index 8d31d8851e2c..06c574fc7260 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoBarrel/src/BarrelPresamplerConstruction.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoBarrel/src/BarrelPresamplerConstruction.cxx
@@ -34,7 +34,7 @@
 #include "CLHEP/Vector/Rotation.h"
 
 // For units:
-#include "CLHEP/Units/PhysicalConstants.h"
+#include "GaudiKernel/PhysicalConstants.h"
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
 
@@ -123,17 +123,17 @@ LArGeo::BarrelPresamplerConstruction ::BarrelPresamplerConstruction(bool fullGeo
 
   const GeoMaterial *ConnecMat  = materialManager->getMaterial("LAr::ConnecMat");
   if (!ConnecMat) throw std::runtime_error("Error in BarrelPresamplerConstruction, LAr::ConnecMat is not found.");
-  //  double rMinPresamplerMother   =1385*GeoModelKernelUnits::mm;
-  double rMinPresamplerMother   =1410*GeoModelKernelUnits::mm;
-  double rMaxPresamplerMother   =1447*GeoModelKernelUnits::mm-0.001*GeoModelKernelUnits::mm;
-  double presamplerMother_length=1549*GeoModelKernelUnits::mm;
-  double Phi_min=0.*GeoModelKernelUnits::deg;
-  double Phi_span=360.*GeoModelKernelUnits::deg;
+  //  double rMinPresamplerMother   =1385*Gaudi::Units::mm;
+  double rMinPresamplerMother   =1410*Gaudi::Units::mm;
+  double rMaxPresamplerMother   =1447*Gaudi::Units::mm-0.001*Gaudi::Units::mm;
+  double presamplerMother_length=1549*Gaudi::Units::mm;
+  double Phi_min=0.*Gaudi::Units::deg;
+  double Phi_span=360.*Gaudi::Units::deg;
   int nbsectors=32;
 
   if (itb==1) {
-     Phi_min=-0.5*GeoModelKernelUnits::deg;
-     Phi_span=23.5*GeoModelKernelUnits::deg;
+     Phi_min=-0.5*Gaudi::Units::deg;
+     Phi_span=23.5*Gaudi::Units::deg;
      nbsectors=2;
   }
 
@@ -209,42 +209,42 @@ LArGeo::BarrelPresamplerConstruction ::BarrelPresamplerConstruction(bool fullGeo
   // Make a presampler sector:
   if(m_fullGeo){
     // ?    
-    double  epsil = 0.007*GeoModelKernelUnits::mm;
+    double  epsil = 0.007*Gaudi::Units::mm;
 
     //  contraction factor 
-    double  cmm = (1-0.0026)*GeoModelKernelUnits::mm;
+    double  cmm = (1-0.0026)*Gaudi::Units::mm;
  
     double  mod_leng[8];
     for(int ii=0; ii<8; ii++ ) mod_leng[ii]=mod[ii][0]*cmm+2*epsil;
 
     double  mod_heig[8];
-    double larheight = 13*GeoModelKernelUnits::mm;
+    double larheight = 13*Gaudi::Units::mm;
 
-    double prep1_th = 1.*GeoModelKernelUnits::mm;                 // bottom prepreg layer 
-    double prep2_th = 4.5*GeoModelKernelUnits::mm;   
-    double smallLength = 275.6*GeoModelKernelUnits::mm;
+    double prep1_th = 1.*Gaudi::Units::mm;                 // bottom prepreg layer 
+    double prep2_th = 4.5*Gaudi::Units::mm;   
+    double smallLength = 275.6*Gaudi::Units::mm;
     double bigLength = 277.5;
     double prep1_height = (smallLength/2+1.)*cmm;
-    double larheight2 = larheight*cos(-mod[1][3]*GeoModelKernelUnits::deg)*GeoModelKernelUnits::mm;
+    double larheight2 = larheight*cos(-mod[1][3]*Gaudi::Units::deg)*Gaudi::Units::mm;
     mod_heig[0]= (larheight+prep1_th+prep2_th)*cmm+4*epsil;
     mod_heig[1]= (larheight2+prep1_th+prep2_th)*cmm+5.*epsil;
     for(int  i=2; i<8; i++ ) mod_heig[i] = mod_heig[0];
 
-    double shell_th = 0.4*GeoModelKernelUnits::mm; 
-    double rail_th  = 8.6*GeoModelKernelUnits::mm;
-    double mech_clear = 0.5*GeoModelKernelUnits::mm;
+    double shell_th = 0.4*Gaudi::Units::mm; 
+    double rail_th  = 8.6*Gaudi::Units::mm;
+    double mech_clear = 0.5*Gaudi::Units::mm;
 
 
     double  mb_length = 3100.3;
     double  sector_length =  mb_length*cmm +9.*epsil;
-    double  sector_height =  mod_heig[0]+(shell_th+rail_th)*cmm+mech_clear*GeoModelKernelUnits::mm+3*epsil; 
+    double  sector_height =  mod_heig[0]+(shell_th+rail_th)*cmm+mech_clear*Gaudi::Units::mm+3*epsil; 
 
     unsigned int nsectors=32;
     double mod_xm = prep1_height+epsil;
-    double mod_xp = (bigLength/2+1.+prep2_th*tan((360./(2*nsectors))*GeoModelKernelUnits::deg))*cmm;
+    double mod_xp = (bigLength/2+1.+prep2_th*tan((360./(2*nsectors))*Gaudi::Units::deg))*cmm;
     double sect_xm = mod_xm+epsil;
-    double sect_xp = sect_xm+sector_height*tan((360./(2*nsectors))*GeoModelKernelUnits::deg);	    
-    double rpres = 1426.*GeoModelKernelUnits::mm;
+    double sect_xp = sect_xm+sector_height*tan((360./(2*nsectors))*Gaudi::Units::deg);	    
+    double rpres = 1426.*Gaudi::Units::mm;
 
     double zpres = -presamplerMother_length+sector_length/2+epsil;
 
@@ -254,9 +254,9 @@ LArGeo::BarrelPresamplerConstruction ::BarrelPresamplerConstruction(bool fullGeo
     GeoPhysVol  *sectorPhysVol = new GeoPhysVol(logVol);
 
     GeoGenfun::Variable I;
-    double dphiSector = (360.*GeoModelKernelUnits::deg)/nsectors;
+    double dphiSector = (360.*Gaudi::Units::deg)/nsectors;
     GeoGenfun::GENFUNCTION  f = dphiSector*I+0.5*dphiSector;
-    GeoXF::TRANSFUNCTION t = GeoXF::Pow(GeoTrf::RotateZ3D(1.0),f)*GeoTrf::TranslateX3D(rpres)*GeoTrf::TranslateZ3D(zpres)*GeoTrf::RotateZ3D(90*GeoModelKernelUnits::deg)*GeoTrf::RotateX3D(90*GeoModelKernelUnits::deg);
+    GeoXF::TRANSFUNCTION t = GeoXF::Pow(GeoTrf::RotateZ3D(1.0),f)*GeoTrf::TranslateX3D(rpres)*GeoTrf::TranslateZ3D(zpres)*GeoTrf::RotateZ3D(90*Gaudi::Units::deg)*GeoTrf::RotateX3D(90*Gaudi::Units::deg);
     GeoSerialTransformer *st = new GeoSerialTransformer(sectorPhysVol,&t, nbsectors);
 
     m_psPhysicalPos->add(st);
@@ -271,7 +271,7 @@ LArGeo::BarrelPresamplerConstruction ::BarrelPresamplerConstruction(bool fullGeo
     // recompute length of module 0 and 1 to have avoid overshoorting of first cathode of module 1
     // into module 0  => reduce module 0 length by 0.5*lar_height*tan(tilt angle)
     //                    and increase module 1 length by same amount
-    double delta01 =  0.5*larheight*tan(-mod[1][3]*GeoModelKernelUnits::deg);   // delta01 is >0
+    double delta01 =  0.5*larheight*tan(-mod[1][3]*Gaudi::Units::deg);   // delta01 is >0
     mod_leng[0]=mod_leng[0]-delta01; 
     mod_leng[1]=mod_leng[1]+delta01; 
     GeoPhysVol* pvModule[8];
@@ -303,7 +303,7 @@ LArGeo::BarrelPresamplerConstruction ::BarrelPresamplerConstruction(bool fullGeo
 
     double shell_leng = mod[0][0]+mod[1][0]+mod[2][0]+mod[3][0]+mod[4][0]+mod[5][0]+mod[6][0]+mod[7][0];
     double prot_y = (shell_leng/2)*cmm;
-    double glX = 0.*GeoModelKernelUnits::mm;
+    double glX = 0.*Gaudi::Units::mm;
     double glY = -sector_length/2+prot_y+epsil;
 
     //-----------------------------A Protection Shell--------------------------//
@@ -379,7 +379,7 @@ LArGeo::BarrelPresamplerConstruction ::BarrelPresamplerConstruction(bool fullGeo
 
       double connZ = mbZ+(mb_th/2+heightOut/2)*cmm+epsil;
       GeoTransform* xf1 = new GeoTransform(GeoTrf::TranslateZ3D(connZ));
-      GeoTransform* xf2 = new GeoTransform(GeoTrf::RotateX3D(-90*GeoModelKernelUnits::deg));
+      GeoTransform* xf2 = new GeoTransform(GeoTrf::RotateX3D(-90*Gaudi::Units::deg));
 
       sectorPhysVol->add(xf1);
       sectorPhysVol->add(xf2);
@@ -413,8 +413,8 @@ LArGeo::BarrelPresamplerConstruction ::BarrelPresamplerConstruction(bool fullGeo
     double anode_th = 0.330;
     double cathode_th = 0.270;
 
-    double heig_elec1 = (larheight/cos(-mod[0][3]*GeoModelKernelUnits::deg)-0.5*anode_th/cos(mod[0][3]*GeoModelKernelUnits::deg))*cmm;
-    double heig_elec3 = (larheight-0.5*cathode_th/cos(mod[1][3]*GeoModelKernelUnits::deg))*cmm;
+    double heig_elec1 = (larheight/cos(-mod[0][3]*Gaudi::Units::deg)-0.5*anode_th/cos(mod[0][3]*Gaudi::Units::deg))*cmm;
+    double heig_elec3 = (larheight-0.5*cathode_th/cos(mod[1][3]*Gaudi::Units::deg))*cmm;
 
     GeoTrd* catho1 = new GeoTrd(smallLength/2*cmm,bigLength/2*cmm,cathode_th/2*cmm,cathode_th/2*cmm,heig_elec1/2*cmm);
     GeoLogVol* LV_catho1 = new GeoLogVol(basename+"::Cathode1",catho1,CathodeMat);
@@ -492,8 +492,8 @@ LArGeo::BarrelPresamplerConstruction ::BarrelPresamplerConstruction(bool fullGeo
       GeoGenfun::GENFUNCTION cathoGF = YStartC[i]+I*mod[i][4]*cmm;
       GeoGenfun::GENFUNCTION anoGF = YStartA[i]+I*mod[i][4]*cmm;
 
-      GeoXF::TRANSFUNCTION cathoTF = GeoXF::Pow(GeoTrf::TranslateY3D(1.),cathoGF)*GeoTrf::TranslateZ3D(elec_trans)*GeoTrf::RotateX3D(-mod[i][3]*GeoModelKernelUnits::deg);
-      GeoXF::TRANSFUNCTION anoTF = GeoXF::Pow(GeoTrf::TranslateY3D(1.),anoGF)*GeoTrf::TranslateZ3D(elec_trans)*GeoTrf::RotateX3D(-mod[i][3]*GeoModelKernelUnits::deg);
+      GeoXF::TRANSFUNCTION cathoTF = GeoXF::Pow(GeoTrf::TranslateY3D(1.),cathoGF)*GeoTrf::TranslateZ3D(elec_trans)*GeoTrf::RotateX3D(-mod[i][3]*Gaudi::Units::deg);
+      GeoXF::TRANSFUNCTION anoTF = GeoXF::Pow(GeoTrf::TranslateY3D(1.),anoGF)*GeoTrf::TranslateZ3D(elec_trans)*GeoTrf::RotateX3D(-mod[i][3]*Gaudi::Units::deg);
 
 
       GeoSerialTransformer *cathoST,*anoST;
diff --git a/LArCalorimeter/LArGeoModel/LArGeoCode/src/LArMaterialManager.cxx b/LArCalorimeter/LArGeoModel/LArGeoCode/src/LArMaterialManager.cxx
index 967131032979..5b7e6ed8dd7a 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoCode/src/LArMaterialManager.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoCode/src/LArMaterialManager.cxx
@@ -9,6 +9,7 @@
 #include "StoreGate/StoreGate.h"
 #include "StoreGate/StoreGateSvc.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/PhysicalConstants.h"
 #include "GeoModelInterfaces/IGeoModelSvc.h"
 #include "GeoModelInterfaces/StoredMaterialManager.h"
 #include "GaudiKernel/ISvcLocator.h"
@@ -49,7 +50,7 @@ void LArMaterialManager::buildMaterials()
   if (!Copper) throw std::runtime_error("Error in LArMaterialManager, std::Copper is not found.");
 #ifdef DEBUGGEO
   msg << "Copper radiation length " << Copper->getRadLength() << " "
-            << Copper->getDensity()/(GeoModelKernelUnits::g/GeoModelKernelUnits::cm3) << endmsg;
+            << Copper->getDensity()/(GeoModelKernelUnits::g/Gaudi::Units::cm3) << endmsg;
 #endif
 
 
@@ -60,7 +61,7 @@ void LArMaterialManager::buildMaterials()
   if (!Lead) throw std::runtime_error("Error in LArMaterialManager, std::Lead is not found.");
 #ifdef DEBUGGEO
   msg << MSG::INFO<< "Lead radiation length " << Lead->getRadLength() << " "
-             << Lead->getDensity()/(GeoModelKernelUnits::g/GeoModelKernelUnits::cm3) << endmsg;
+             << Lead->getDensity()/(GeoModelKernelUnits::g/Gaudi::Units::cm3) << endmsg;
 #endif
 
 
@@ -69,7 +70,7 @@ void LArMaterialManager::buildMaterials()
 
 #ifdef DEBUGGEO
   msg << MSG::INFO<< "LAr radiation length " << LAr->getRadLength() << " "
-            << LAr->getDensity()/(GeoModelKernelUnits::g/GeoModelKernelUnits::cm3) << endmsg;
+            << LAr->getDensity()/(GeoModelKernelUnits::g/Gaudi::Units::cm3) << endmsg;
 #endif
 
   const GeoMaterial *Air  = m_storedManager->getMaterial("std::Air");
@@ -79,7 +80,7 @@ void LArMaterialManager::buildMaterials()
   if (!Kapton) throw std::runtime_error("Error in LArMaterialManager, std::Kapton is not found.");
 #ifdef DEBUGGEO
   msg << MSG::INFO<< "Kapton radiation length " << Kapton->getRadLength() <<  " "
-            << Kapton->getDensity()/(GeoModelKernelUnits::g/GeoModelKernelUnits::cm3) << endmsg;
+            << Kapton->getDensity()/(GeoModelKernelUnits::g/Gaudi::Units::cm3) << endmsg;
   for (size_t i = 0; i< Kapton->getNumElements();i++) {
     msg << MSG::INFO << int (Kapton->getFraction(i)*100) << "% \t"  << Kapton->getElement(i)->getName() << endmsg;
     }
@@ -91,7 +92,7 @@ void LArMaterialManager::buildMaterials()
   if (!Glue) throw std::runtime_error("Error in LArMaterialManager, LAr::Glue is not found.");
 #ifdef DEBUGGEO
   msg << MSG::INFO<< "Glue   radiation length " << Glue->getRadLength() << " "
-            << Glue->getDensity()/(GeoModelKernelUnits::g/GeoModelKernelUnits::cm3) << endmsg;
+            << Glue->getDensity()/(GeoModelKernelUnits::g/Gaudi::Units::cm3) << endmsg;
   for (size_t i = 0; i< Glue->getNumElements();i++) {
     msg << MSG::INFO << int (Glue->getFraction(i)*100) << "% \t"  << Glue->getElement(i)->getName() << endmsg;
     }
@@ -102,7 +103,7 @@ void LArMaterialManager::buildMaterials()
   if (!G10) throw std::runtime_error("Error in LArMaterialManager, LAr::G10 is not found.");
 #ifdef DEBUGGEO
   msg << MSG::INFO<< "G10    radiation length " << G10->getRadLength() << " "
-            << G10->getDensity()/(GeoModelKernelUnits::g/GeoModelKernelUnits::cm3) << endmsg;
+            << G10->getDensity()/(GeoModelKernelUnits::g/Gaudi::Units::cm3) << endmsg;
   for (size_t i = 0; i< G10->getNumElements();i++) {
     msg << MSG::INFO << int (G10->getFraction(i)*100) << "% \t"  << G10->getElement(i)->getName() << endmsg;
     }
@@ -128,9 +129,9 @@ void LArMaterialManager::buildMaterials()
     double contract=dB.getDouble("ColdContraction","ColdContraction-00", "ABSORBERCONTRACTION"); // LArEMBAbsorberContraction
 
     // first thin absorbers
-    Tggl=dB.getDouble("BarrelGeometry","BarrelGeometry-00","TGGL")*GeoModelKernelUnits::cm*contract; // LArEMBThinAbsGlue
-    Tgfe=dB.getDouble("BarrelGeometry","BarrelGeometry-00","TGFE")*GeoModelKernelUnits::cm*contract; // LArEMBThinAbsIron
-    Tgpb=dB.getDouble("BarrelGeometry","BarrelGeometry-00","TGPB")*GeoModelKernelUnits::cm*contract; // LArEMBThinAbsLead
+    Tggl=dB.getDouble("BarrelGeometry","BarrelGeometry-00","TGGL")*Gaudi::Units::cm*contract; // LArEMBThinAbsGlue
+    Tgfe=dB.getDouble("BarrelGeometry","BarrelGeometry-00","TGFE")*Gaudi::Units::cm*contract; // LArEMBThinAbsIron
+    Tgpb=dB.getDouble("BarrelGeometry","BarrelGeometry-00","TGPB")*Gaudi::Units::cm*contract; // LArEMBThinAbsLead
     Totalthick = Tggl+Tgfe+Tgpb;
     Totalmass = (Tgpb*Lead->getDensity()+Tgfe*Iron->getDensity()+Tggl*Glue->getDensity());
     //***GU below are the fraction per mass
@@ -143,7 +144,7 @@ void LArMaterialManager::buildMaterials()
     msg << MSG::DEBUG <<"  Fraction pb,fe,gl: "<<Fracpb<<","<<Fracfe<<"," <<Fracgl<< endmsg;
     msg << MSG::DEBUG <<"  Total mass, Thickness: "<<Totalmass<<" ," <<Totalthick<< endmsg;
     msg << MSG::DEBUG<<" Contraction " << contract << endmsg;
-    msg << MSG::DEBUG <<"  Thinabs Density =  "<< density*(GeoModelKernelUnits::cm3/GeoModelKernelUnits::g) << endmsg;
+    msg << MSG::DEBUG <<"  Thinabs Density =  "<< density*(Gaudi::Units::cm3/GeoModelKernelUnits::g) << endmsg;
 
     GeoMaterial* Thin_abs = new GeoMaterial("Thinabs",density);
     Thin_abs->add(Lead,Fracpb);
@@ -156,9 +157,9 @@ void LArMaterialManager::buildMaterials()
 #endif
 
     // then thick absorbers
-    Thgl=dB.getDouble("BarrelGeometry","BarrelGeometry-00","THGL")*GeoModelKernelUnits::cm*contract; // LArEMBThickAbsGlue
-    Thfe=dB.getDouble("BarrelGeometry","BarrelGeometry-00","THFE")*GeoModelKernelUnits::cm*contract; // LArEMBThickAbsIron
-    Thpb=dB.getDouble("BarrelGeometry","BarrelGeometry-00","THPB")*GeoModelKernelUnits::cm*contract; // LArEMBThickAbsLead
+    Thgl=dB.getDouble("BarrelGeometry","BarrelGeometry-00","THGL")*Gaudi::Units::cm*contract; // LArEMBThickAbsGlue
+    Thfe=dB.getDouble("BarrelGeometry","BarrelGeometry-00","THFE")*Gaudi::Units::cm*contract; // LArEMBThickAbsIron
+    Thpb=dB.getDouble("BarrelGeometry","BarrelGeometry-00","THPB")*Gaudi::Units::cm*contract; // LArEMBThickAbsLead
 
     Totalthick = Thgl+Thfe+Thpb;
     Totalmass = (Thpb*Lead->getDensity()+Thfe*Iron->getDensity()+Thgl*Glue->getDensity());
@@ -171,7 +172,7 @@ void LArMaterialManager::buildMaterials()
     msg << MSG::DEBUG <<"---- THICK absorber characteristics: ----" << endmsg;
     msg << MSG::DEBUG <<"  Fraction pb,fe,gl: "<<Fracpb<<","<<Fracfe<<","<<Fracgl << endmsg;
     msg << MSG::DEBUG <<"  Total mass, Thickness: "<<Totalmass<<" ,"<<Totalthick << endmsg;
-    msg << MSG::DEBUG <<"  Thickabs Density =  " << density*(GeoModelKernelUnits::cm3/GeoModelKernelUnits::g) << endmsg;
+    msg << MSG::DEBUG <<"  Thickabs Density =  " << density*(Gaudi::Units::cm3/GeoModelKernelUnits::g) << endmsg;
 
     GeoMaterial* Thick_abs = new GeoMaterial("Thickabs",density);
     Thick_abs->add(Lead,Fracpb);
@@ -183,8 +184,8 @@ void LArMaterialManager::buildMaterials()
 #endif
 
     // electrode =mixture Kapton+Cu
-    Thcu=dB.getDouble("BarrelGeometry","BarrelGeometry-00","THCU")*GeoModelKernelUnits::cm; // LArEMBThickElecCopper
-    Thfg=dB.getDouble("BarrelGeometry","BarrelGeometry-00","THFG")*GeoModelKernelUnits::cm; // LArEMBThickElecKapton
+    Thcu=dB.getDouble("BarrelGeometry","BarrelGeometry-00","THCU")*Gaudi::Units::cm; // LArEMBThickElecCopper
+    Thfg=dB.getDouble("BarrelGeometry","BarrelGeometry-00","THFG")*Gaudi::Units::cm; // LArEMBThickElecKapton
     Totalthicke = Thcu+Thfg;
     Totalmasse = (Thcu*Copper->getDensity()+Thfg*Kapton->getDensity());
     //**GU below are the fractions per mass
@@ -198,7 +199,7 @@ void LArMaterialManager::buildMaterials()
     msg << MSG::DEBUG <<"---- Electrode characteristics: ----" << endmsg;
     msg << MSG::DEBUG <<"  Fraction Cu, Kapton: " << FracCu << ","<< FracKap << endmsg;
     msg << MSG::DEBUG <<"  Total mass, Thickness:"<<Totalmasse<<" ,"<<Totalthicke<< endmsg;
-    msg << MSG::DEBUG <<"  Electrode Density =  " << density*(GeoModelKernelUnits::cm3/GeoModelKernelUnits::g) << endmsg;
+    msg << MSG::DEBUG <<"  Electrode Density =  " << density*(Gaudi::Units::cm3/GeoModelKernelUnits::g) << endmsg;
 
     GeoMaterial* Kapton_Cu = new GeoMaterial("KaptonC",density);
     Kapton_Cu->add(Copper,FracCu);
@@ -209,7 +210,7 @@ void LArMaterialManager::buildMaterials()
 #endif
 
     //  material for Cables/electronics (mixture of Kapton and copper)
-    //  density = 2.440*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3;
+    //  density = 2.440*Gaudi::Units::g/Gaudi::Units::cm3;
     //**GU get fractions per mass
     double frmassCu = dB.getDouble("BarrelAccordionCables","BarrelAccordionCables-00","PERCU");  // LArEMBmasspercentCu
     double frmassKap= dB.getDouble("BarrelAccordionCables","BarrelAccordionCables-00","PERKAP"); // LArEMBmasspercentKap
@@ -219,8 +220,8 @@ void LArMaterialManager::buildMaterials()
              /(1.+frmassKapOverCu*Copper->getDensity()/Kapton->getDensity());
     GeoMaterial* Cable_elect = new GeoMaterial("Cables",density);
     double fractionmass;
-    Cable_elect->add(Copper, fractionmass=frmassCu*GeoModelKernelUnits::perCent);
-    Cable_elect->add(Kapton, fractionmass=frmassKap*GeoModelKernelUnits::perCent);
+    Cable_elect->add(Copper, fractionmass=frmassCu*Gaudi::Units::perCent);
+    Cable_elect->add(Kapton, fractionmass=frmassKap*Gaudi::Units::perCent);
     m_storedManager->addMaterial("LAr", Cable_elect);
 #ifdef DEBUGGEO
   msg << MSG::INFO<< "Cable radiation length " << Cable_elect->getRadLength() << endmsg;
@@ -228,8 +229,8 @@ void LArMaterialManager::buildMaterials()
 
     // material for motherboard
     // Mother_board is defined as a mixture of epox_G10 (C8 H14 O4) and Copper
-    ThMBcu  = dB.getDouble("BarrelMotherboards","BarrelMotherboards-00","THICU")*GeoModelKernelUnits::cm;  // LArEMBCuThickness
-    ThMBG10 = dB.getDouble("BarrelMotherboards","BarrelMotherboards-00","THIG10")*GeoModelKernelUnits::cm; // LArEMBG10Thickness
+    ThMBcu  = dB.getDouble("BarrelMotherboards","BarrelMotherboards-00","THICU")*Gaudi::Units::cm;  // LArEMBCuThickness
+    ThMBG10 = dB.getDouble("BarrelMotherboards","BarrelMotherboards-00","THIG10")*Gaudi::Units::cm; // LArEMBG10Thickness
     double TotalthickMBe = ThMBcu+ThMBG10;
     double TotalmassMBe = (ThMBcu*Copper->getDensity()+ThMBG10*G10->getDensity());
     double FracMBCu = (ThMBcu*Copper->getDensity())/TotalmassMBe;
@@ -240,7 +241,7 @@ void LArMaterialManager::buildMaterials()
 	             << FracMBG10 << endmsg;
     msg << MSG::DEBUG <<"  Total mass, Thickness:"
 	             << TotalmassMBe <<" ," <<TotalthickMBe<< endmsg;
-    msg << MSG::DEBUG <<"  M_board Density =  "<<density*(GeoModelKernelUnits::cm3/GeoModelKernelUnits::g) << endmsg;
+    msg << MSG::DEBUG <<"  M_board Density =  "<<density*(Gaudi::Units::cm3/GeoModelKernelUnits::g) << endmsg;
     GeoMaterial*  Moth_elect = new GeoMaterial("MBoards",density);
     // ****GU:   use fraction per masses of G10 and Cu
     Moth_elect->add(G10,FracMBG10);
@@ -255,7 +256,7 @@ void LArMaterialManager::buildMaterials()
     const GeoElement* Si = m_storedManager->getElement("Silicon");
     const GeoElement *O = m_storedManager->getElement("Oxygen");
 
-    density = dB.getDouble("BarrelMotherboards", "BarrelMotherboards-00", "DG10")*(GeoModelKernelUnits::g/GeoModelKernelUnits::cm3);   //LArEMBEpoxyVolumicMass
+    density = dB.getDouble("BarrelMotherboards", "BarrelMotherboards-00", "DG10")*(GeoModelKernelUnits::g/Gaudi::Units::cm3);   //LArEMBEpoxyVolumicMass
     GeoMaterial* SiO2 = new GeoMaterial("SiO2",density);
     double fractionSi=28.09/(28.09+2*16.0);
     SiO2->add(Si,fractionSi);
@@ -263,21 +264,21 @@ void LArMaterialManager::buildMaterials()
     SiO2->add(O,fractionO);
     SiO2->lock();
 // Gten for the bars of the calorimeter= mixture of regular G10 and SiO2
-    density=1.72*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3;    // should be replaced by number from database
+    density=1.72*GeoModelKernelUnits::g/Gaudi::Units::cm3;    // should be replaced by number from database
     GeoMaterial* Gten_bar = new GeoMaterial("G10_bar",density);
     Gten_bar->add(G10,0.38);    // should be replaced by number from database
     Gten_bar->add(SiO2,0.62);   // should be replaced by number from database
     m_storedManager->addMaterial("LAr",Gten_bar);
 #ifdef DEBUGGEO
   msg << MSG::INFO<< "fracionSi,fracionO2 " << fractionSi << " " << fractionO << endmsg;
-  msg << MSG::INFO<< "SiO2 density " << SiO2->getDensity()/(GeoModelKernelUnits::g/GeoModelKernelUnits::cm3) << endmsg;
+  msg << MSG::INFO<< "SiO2 density " << SiO2->getDensity()/(GeoModelKernelUnits::g/Gaudi::Units::cm3) << endmsg;
   msg << MSG::INFO<< "SiO2   radiation length " << SiO2->getRadLength() << endmsg;
   msg << MSG::INFO<< "G10bar radiation length " << Gten_bar->getRadLength() << endmsg;
 #endif
 
 // material for the effective M_PIn+summing board effect
-    double ThSBCu = 0.28*GeoModelKernelUnits::mm;      // should be replaced by number from database
-    double ThSBAr = 9.72*GeoModelKernelUnits::mm;      // should be replaced by number from database
+    double ThSBCu = 0.28*Gaudi::Units::mm;      // should be replaced by number from database
+    double ThSBAr = 9.72*Gaudi::Units::mm;      // should be replaced by number from database
     double TotalThickSB = ThSBCu+ThSBAr;
     double dcu = Copper->getDensity();
     double dar = LAr->getDensity();
@@ -312,12 +313,12 @@ void LArMaterialManager::buildMaterials()
 
     const GeoElement *H = m_storedManager->getElement( "Hydrogen" );
 
-    GeoMaterial *Vacuum = new GeoMaterial( "Vacuum", GeoModelKernelUnits::universe_mean_density );
+    GeoMaterial *Vacuum = new GeoMaterial( "Vacuum", Gaudi::Units::universe_mean_density );
     Vacuum->add( H, 1. );
     m_storedManager->addMaterial("LAr", Vacuum );
 #ifdef DEBUGGEO
     msg << MSG::INFO<< "Vacuum radiation length " << Vacuum->getRadLength() << " "
-                    << Vacuum->getDensity()/(GeoModelKernelUnits::g/GeoModelKernelUnits::cm3) << endmsg;
+                    << Vacuum->getDensity()/(GeoModelKernelUnits::g/Gaudi::Units::cm3) << endmsg;
 #endif
 
 
@@ -335,13 +336,13 @@ void LArMaterialManager::buildMaterials()
     // EMEC thin absorbers
     //
 
-/*  Tggl = 0.30 * GeoModelKernelUnits::mm;
-    Tgfe = 0.40 * GeoModelKernelUnits::mm;
-    Tgpb = 1.70 * GeoModelKernelUnits::mm; */
+/*  Tggl = 0.30 * Gaudi::Units::mm;
+    Tgfe = 0.40 * Gaudi::Units::mm;
+    Tgpb = 1.70 * Gaudi::Units::mm; */
 
-    Tggl = 0.20 * GeoModelKernelUnits::mm;
-    Tgfe = 0.40 * GeoModelKernelUnits::mm;
-    Tgpb = 1.69 * GeoModelKernelUnits::mm;
+    Tggl = 0.20 * Gaudi::Units::mm;
+    Tgfe = 0.40 * Gaudi::Units::mm;
+    Tgpb = 1.69 * Gaudi::Units::mm;
 
     Totalthick = Tggl+Tgfe+Tgpb;
     Totalmass = (Tgpb*Lead->getDensity()+Tgfe*Iron->getDensity()+Tggl*Glue->getDensity());
@@ -354,13 +355,13 @@ void LArMaterialManager::buildMaterials()
     msg << MSG::DEBUG <<"  Thickness pb,fe,gl,[mm]="<<Tgpb<<" "<<Tgfe<<" "<<Tggl << endmsg;
     msg << MSG::DEBUG <<"  Fraction  pb,fe,gl     ="<<Fracpb<<","<<Fracfe<<"," <<Fracgl << endmsg;
     msg << MSG::DEBUG <<"  Total mass, Thickness  ="<<Totalmass<<" ," <<Totalthick << endmsg;
-    msg << MSG::DEBUG <<"  Thinabs Density        ="<< density*(GeoModelKernelUnits::cm3/GeoModelKernelUnits::g) << endmsg;
+    msg << MSG::DEBUG <<"  Thinabs Density        ="<< density*(Gaudi::Units::cm3/GeoModelKernelUnits::g) << endmsg;
 
     msg << MSG::DEBUG << "---- EMEC THIN absorber characteristics: ----" << endmsg;
     msg << MSG::DEBUG <<"  Thickness pb,fe,gl,[mm]="<<Tgpb<<" "<<Tgfe<<" "<<Tggl  << endmsg;
     msg << MSG::DEBUG <<"  Fraction  pb,fe,gl     ="<<Fracpb<<","<<Fracfe<<"," <<Fracgl  << endmsg;
     msg << MSG::DEBUG <<"  Total mass, Thickness  ="<<Totalmass<<" ," <<Totalthick  << endmsg;
-    msg << MSG::DEBUG <<"  Thinabs Density        ="<< density*(GeoModelKernelUnits::cm3/GeoModelKernelUnits::g)  << endmsg;
+    msg << MSG::DEBUG <<"  Thinabs Density        ="<< density*(Gaudi::Units::cm3/GeoModelKernelUnits::g)  << endmsg;
 
 
     GeoMaterial* Thin_abs = new GeoMaterial("EMEC_Thinabs",density);
@@ -377,13 +378,13 @@ void LArMaterialManager::buildMaterials()
     // EMEC thick absorbers
     //
 
-/*    Thgl = 0.30 * GeoModelKernelUnits::mm;
-    Thfe = 0.40 * GeoModelKernelUnits::mm;
-    Thpb = 2.20 * GeoModelKernelUnits::mm; */
+/*    Thgl = 0.30 * Gaudi::Units::mm;
+    Thfe = 0.40 * Gaudi::Units::mm;
+    Thpb = 2.20 * Gaudi::Units::mm; */
 
-    Thgl = 0.20 * GeoModelKernelUnits::mm;
-    Thfe = 0.40 * GeoModelKernelUnits::mm;
-    Thpb = 2.20 * GeoModelKernelUnits::mm;
+    Thgl = 0.20 * Gaudi::Units::mm;
+    Thfe = 0.40 * Gaudi::Units::mm;
+    Thpb = 2.20 * Gaudi::Units::mm;
 
     Totalthick = Thgl+Thfe+Thpb;
     Totalmass = (Thpb*Lead->getDensity()+Thfe*Iron->getDensity()+Thgl*Glue->getDensity());
@@ -397,7 +398,7 @@ void LArMaterialManager::buildMaterials()
     msg << MSG::DEBUG <<"  Thickness pb,fe,gl[mm]="<<Thpb<<" "<<Thfe<<" "<<Thgl<<endmsg;
     msg << MSG::DEBUG <<"  Fraction  pb,fe,gl:    "<<Fracpb<<","<<Fracfe<<","<<Fracgl<<endmsg;
     msg << MSG::DEBUG <<"  Total mass, Thickness: "<<Totalmass<<" ,"<<Totalthick<<endmsg;
-    msg << MSG::DEBUG <<"  Thickabs Density =     "<<density*(GeoModelKernelUnits::cm3/GeoModelKernelUnits::g) <<endmsg;
+    msg << MSG::DEBUG <<"  Thickabs Density =     "<<density*(Gaudi::Units::cm3/GeoModelKernelUnits::g) <<endmsg;
 
     GeoMaterial* Thick_abs = new GeoMaterial("EMEC_Thickabs",density);
     Thick_abs->add(Lead,Fracpb);
@@ -411,8 +412,8 @@ void LArMaterialManager::buildMaterials()
 	//
 	// EMEC shell = iron + glue, identical for inner and outer absorbers
 	//
-    Thgl = 0.20 * GeoModelKernelUnits::mm;
-    Thfe = 0.40 * GeoModelKernelUnits::mm;
+    Thgl = 0.20 * Gaudi::Units::mm;
+    Thfe = 0.40 * Gaudi::Units::mm;
 
     Totalthick = Thgl+Thfe;
     Totalmass = (Thfe*Iron->getDensity()+Thgl*Glue->getDensity());
@@ -425,7 +426,7 @@ void LArMaterialManager::buildMaterials()
     msg << MSG::DEBUG <<"  Thickness fe,gl[mm]="<<Thfe<<" "<<Thgl<<endmsg;
     msg << MSG::DEBUG <<"  Fraction  fe,gl:    "<<Fracfe<<","<<Fracgl<<endmsg;
     msg << MSG::DEBUG <<"  Total mass, Thickness: "<<Totalmass<<" ,"<<Totalthick<<endmsg;
-    msg << MSG::DEBUG <<"  Thickabs Density =     "<<density*(GeoModelKernelUnits::cm3/GeoModelKernelUnits::g) <<endmsg;
+    msg << MSG::DEBUG <<"  Thickabs Density =     "<<density*(Gaudi::Units::cm3/GeoModelKernelUnits::g) <<endmsg;
 
     GeoMaterial* EMEC_shell = new GeoMaterial("EMEC_shell",density);
     EMEC_shell->add(Iron,Fracfe);
@@ -446,13 +447,13 @@ void LArMaterialManager::buildMaterials()
 
     //!! Check whether G10 or G10_bar is to be used!!!!
 
-/*    Tggl = 0.30 * GeoModelKernelUnits::mm;
-    Tgfe = 0.40 * GeoModelKernelUnits::mm;
-    TgG10 =1.70 * GeoModelKernelUnits::mm;*/
+/*    Tggl = 0.30 * Gaudi::Units::mm;
+    Tgfe = 0.40 * Gaudi::Units::mm;
+    TgG10 =1.70 * Gaudi::Units::mm;*/
 
-    Tggl = 0.20 * GeoModelKernelUnits::mm;
-    Tgfe = 0.40 * GeoModelKernelUnits::mm;
-    TgG10 =1.69 * GeoModelKernelUnits::mm;
+    Tggl = 0.20 * Gaudi::Units::mm;
+    Tgfe = 0.40 * Gaudi::Units::mm;
+    TgG10 =1.69 * Gaudi::Units::mm;
 
     Totalthick = Tggl+Tgfe+TgG10;
     Totalmass = (TgG10*G10->getDensity()+Tgfe*Iron->getDensity()+Tggl*Glue->getDensity());
@@ -477,13 +478,13 @@ void LArMaterialManager::buildMaterials()
     // EMEC Inner Wheel barrette
     //
 
-/*    Thgl = 0.30 * GeoModelKernelUnits::mm;
-    Thfe = 0.40 * GeoModelKernelUnits::mm;
-    ThG10 =2.20 * GeoModelKernelUnits::mm;*/
+/*    Thgl = 0.30 * Gaudi::Units::mm;
+    Thfe = 0.40 * Gaudi::Units::mm;
+    ThG10 =2.20 * Gaudi::Units::mm;*/
 
-    Thgl = 0.20 * GeoModelKernelUnits::mm;
-    Thfe = 0.40 * GeoModelKernelUnits::mm;
-    ThG10 =2.20 * GeoModelKernelUnits::mm;
+    Thgl = 0.20 * Gaudi::Units::mm;
+    Thfe = 0.40 * Gaudi::Units::mm;
+    ThG10 =2.20 * Gaudi::Units::mm;
 
     Totalthick = Thgl+Thfe+ThG10;
     Totalmass = (ThG10*G10->getDensity()+Thfe*Iron->getDensity()+Thgl*Glue->getDensity());
diff --git a/LArCalorimeter/LArGeoModel/LArGeoEndcap/LArGeoEndcap/EndcapPresamplerGeometryHelper.h b/LArCalorimeter/LArGeoModel/LArGeoEndcap/LArGeoEndcap/EndcapPresamplerGeometryHelper.h
index e7da0ad2f4da..3031eb28baec 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoEndcap/LArGeoEndcap/EndcapPresamplerGeometryHelper.h
+++ b/LArCalorimeter/LArGeoModel/LArGeoEndcap/LArGeoEndcap/EndcapPresamplerGeometryHelper.h
@@ -24,7 +24,7 @@ namespace LArGeo {
     // Accessor for pointer to the singleton.
     static EndcapPresamplerGeometryHelper* GetInstance();
 
-    // "zShift" is the z-distance (GeoModelKernelUnits::cm) that the EM endcap is shifted
+    // "zShift" is the z-distance (cm) that the EM endcap is shifted
     // (due to cabling, etc.)
     float zShift() const { return m_zShift; }
 
diff --git a/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EMECConstruction.cxx b/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EMECConstruction.cxx
index 3f4ea5cacf40..99348afb50e2 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EMECConstruction.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EMECConstruction.cxx
@@ -61,7 +61,6 @@
 #include "GeoModelKernel/GeoTransform.h"
 #include "GeoModelKernel/GeoIdentifierTag.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
 #include "GeoModelInterfaces/IGeoModelSvc.h"
 #include "GeoModelUtilities/StoredPhysVol.h"
 #include "GeoModelInterfaces/StoredMaterialManager.h"
@@ -69,7 +68,7 @@
 #include "StoreGate/StoreGateSvc.h"
 #include "GaudiKernel/IService.h"
 #include "GaudiKernel/ISvcLocator.h"
-
+#include "GaudiKernel/PhysicalConstants.h"
 
 #include "RDBAccessSvc/IRDBAccessSvc.h"
 #include "RDBAccessSvc/IRDBRecord.h"
@@ -219,19 +218,19 @@ GeoFullPhysVol* LArGeo::EMECConstruction::GetEnvelope(bool bPos)
   double phiPosition, phiSize;
 
   if(m_isTB) {
-    phiPosition = GeoModelKernelUnits::halfpi*GeoModelKernelUnits::rad;
-    phiSize = M_PI*GeoModelKernelUnits::rad / 8. + 0.065*GeoModelKernelUnits::rad; // half-angle of inner part of module
+    phiPosition = Gaudi::Units::halfpi*Gaudi::Units::rad;
+    phiSize = M_PI*Gaudi::Units::rad / 8. + 0.065*Gaudi::Units::rad; // half-angle of inner part of module
   }
   else {
-    phiPosition = M_PI*GeoModelKernelUnits::rad;
-    phiSize = M_PI*GeoModelKernelUnits::rad; // half-angle of a full wheel
+    phiPosition = M_PI*Gaudi::Units::rad;
+    phiSize = M_PI*Gaudi::Units::rad; // half-angle of a full wheel
   }
 
   // Define the mother volume for the emec.  Everything
   // else in the emec (wheels,structure, etc.) should be
   // placed inside here.
 
-   //double emecMotherZplan[] = {3641.*GeoModelKernelUnits::mm,4273.*GeoModelKernelUnits::mm};           //warm
+   //double emecMotherZplan[] = {3641.*Gaudi::Units::mm,4273.*Gaudi::Units::mm};           //warm
 
   // 21-Jul-2005, C.S. : above line valid in warm, below is in cold.
   // The latter one should apply, othervise SupportMotherVolumes cross
@@ -246,17 +245,17 @@ GeoFullPhysVol* LArGeo::EMECConstruction::GetEnvelope(bool bPos)
 	  cryoPcons = pAccessSvc->getRecordsetPtr("CryoPcons", "CryoPcons-EMEC-00");
 	}
 
-  //double emecMotherZplan[] = {3639.5*GeoModelKernelUnits::mm,3639.5*GeoModelKernelUnits::mm+630.*GeoModelKernelUnits::mm};    //cold (J.T)
-  //                                  // Zplane[0]=endg_z0*GeoModelKernelUnits::cm-50*GeoModelKernelUnits::mm
-  //                                  // Zplane[1]=Zplane[0]+endg_dzende*GeoModelKernelUnits::cm-2.GeoModelKernelUnits::mm
-  //double emecMotherRin[]   = { 279.*GeoModelKernelUnits::mm, 324*GeoModelKernelUnits::mm};	//{  302.*GeoModelKernelUnits::mm,  302.*GeoModelKernelUnits::mm };
-  //double emecMotherRout[]  = {(2077.-7)*GeoModelKernelUnits::mm,(2077.-7)*GeoModelKernelUnits::mm};  	// -7 for cold
+  //double emecMotherZplan[] = {3639.5*Gaudi::Units::mm,3639.5*Gaudi::Units::mm+630.*Gaudi::Units::mm};    //cold (J.T)
+  //                                  // Zplane[0]=endg_z0*Gaudi::Units::cm-50*Gaudi::Units::mm
+  //                                  // Zplane[1]=Zplane[0]+endg_dzende*Gaudi::Units::cm-2.Gaudi::Units::mm
+  //double emecMotherRin[]   = { 279.*Gaudi::Units::mm, 324*Gaudi::Units::mm};	//{  302.*Gaudi::Units::mm,  302.*Gaudi::Units::mm };
+  //double emecMotherRout[]  = {(2077.-7)*Gaudi::Units::mm,(2077.-7)*Gaudi::Units::mm};  	// -7 for cold
   //int lastPlaneEmec = (sizeof(emecMotherZplan) / sizeof(double));
 
 	std::string emecMotherName = baseName + "::Mother"; //+ extension;
 
 	GeoTransform *refSystemTransform = 0;
-	double zTrans = 0.*GeoModelKernelUnits::mm, zMSTrans = 0.*GeoModelKernelUnits::mm;
+	double zTrans = 0.*Gaudi::Units::mm, zMSTrans = 0.*Gaudi::Units::mm;
 
 	GeoPcon* emecMotherShape = new GeoPcon(phiPosition - phiSize, 2.*phiSize);  //start phi,total phi
 	for(unsigned int i = 0; i < cryoPcons->size(); ++ i){
@@ -264,11 +263,11 @@ GeoFullPhysVol* LArGeo::EMECConstruction::GetEnvelope(bool bPos)
 		if(currentRecord->getString("PCON") == "EMEC::Mother"){
 			if(!refSystemTransform){
 				if(m_isTB){
-					zTrans = -3700.5*GeoModelKernelUnits::mm;
+					zTrans = -3700.5*Gaudi::Units::mm;
 					zMSTrans = zTrans;
 				} else {
-					zTrans = currentRecord->getDouble("ZPLANE") - 3639.5*GeoModelKernelUnits::mm;
-					zMSTrans = 0.*GeoModelKernelUnits::mm;
+					zTrans = currentRecord->getDouble("ZPLANE") - 3639.5*Gaudi::Units::mm;
+					zMSTrans = 0.*Gaudi::Units::mm;
 				}
 				refSystemTransform =  new GeoTransform(GeoTrf::TranslateZ3D(zTrans));
 			}
@@ -283,8 +282,8 @@ GeoFullPhysVol* LArGeo::EMECConstruction::GetEnvelope(bool bPos)
 	if(DB_EmecGeometry->size() == 0){
 		DB_EmecGeometry = pAccessSvc->getRecordsetPtr("EmecGeometry", "EmecGeometry-00");
 	}
-	double zWheelRefPoint = (*DB_EmecGeometry)[0]->getDouble("Z0")*GeoModelKernelUnits::cm;
-	double LArTotalThickness = (*DB_EmecGeometry)[0]->getDouble("ETOT") *GeoModelKernelUnits::cm;
+	double zWheelRefPoint = (*DB_EmecGeometry)[0]->getDouble("Z0")*Gaudi::Units::cm;
+	double LArTotalThickness = (*DB_EmecGeometry)[0]->getDouble("ETOT") *Gaudi::Units::cm;
 
   const GeoLogVol* emecMotherLogical =
     new GeoLogVol(emecMotherName, emecMotherShape, LAr);
@@ -311,7 +310,7 @@ GeoFullPhysVol* LArGeo::EMECConstruction::GetEnvelope(bool bPos)
 	double zWheelFrontFace = zWheelRefPoint + lwc->GetdWRPtoFrontFace();
 
     GeoPcon* innerShape= new GeoPcon(phiPosition - phiSize, 2.*phiSize);
-    innerShape->addPlane(   0.*GeoModelKernelUnits::mm, rMinInner[0], rMaxInner[0]);
+    innerShape->addPlane(   0.*Gaudi::Units::mm, rMinInner[0], rMaxInner[0]);
     innerShape->addPlane(zBack   , rMinInner[1], rMaxInner[1]);
 
     GeoLogVol*  innerLogical  = new GeoLogVol (innerName,innerShape, LAr);
@@ -387,7 +386,7 @@ GeoFullPhysVol* LArGeo::EMECConstruction::GetEnvelope(bool bPos)
 	double zWheelFrontFace = zWheelRefPoint + lwc->GetdWRPtoFrontFace();
 
     GeoPcon* outerShape= new GeoPcon(phiPosition - phiSize, 2.*phiSize);
-    outerShape->addPlane(   0.*GeoModelKernelUnits::mm, rMinOuter[0], rMaxOuter[0]);
+    outerShape->addPlane(   0.*Gaudi::Units::mm, rMinOuter[0], rMaxOuter[0]);
     outerShape->addPlane( zMid   , rMinOuter[1], rMaxOuter[1]);
     outerShape->addPlane(zBack   , rMinOuter[2], rMaxOuter[2]);
 
@@ -471,36 +470,36 @@ GeoFullPhysVol* LArGeo::EMECConstruction::GetEnvelope(bool bPos)
 	if(DB_EMECmn->size() == 0)
 		DB_EMECmn = pAccessSvc->getRecordsetPtr("EmecMagicNumbers","EMECMagigNumbers-00");
 
-	double front_shift = 0.*GeoModelKernelUnits::mm, back_shift = 0.*GeoModelKernelUnits::mm;
+	double front_shift = 0.*Gaudi::Units::mm, back_shift = 0.*Gaudi::Units::mm;
 	try {
 		for(unsigned int i = 0; i < DMpcons->size(); ++ i){
 			std::string object = (*DMpcons)[i]->getString("PCONNAME");
 			if(object == "FrontSupportMother"){
 				int zplane = (*DMpcons)[i]->getInt("NZPLANE");
-				if(zplane == 0) front_shift += (*DMpcons)[i]->getDouble("ZPOS")*GeoModelKernelUnits::mm;
-				else if(zplane == 1) front_shift -= (*DMpcons)[i]->getDouble("ZPOS")*GeoModelKernelUnits::mm;
+				if(zplane == 0) front_shift += (*DMpcons)[i]->getDouble("ZPOS")*Gaudi::Units::mm;
+				else if(zplane == 1) front_shift -= (*DMpcons)[i]->getDouble("ZPOS")*Gaudi::Units::mm;
 				else continue;
 			} else if(object == "BackSupportMother"){
 				int zplane = (*DMpcons)[i]->getInt("NZPLANE");
-				if(zplane == 0) back_shift -= 0.;//(*DMpcons)[i]->getDouble("ZPOS")*GeoModelKernelUnits::mm;
-				else if(zplane == 1) back_shift += (*DMpcons)[i]->getDouble("ZPOS")*GeoModelKernelUnits::mm;
+				if(zplane == 0) back_shift -= 0.;//(*DMpcons)[i]->getDouble("ZPOS")*Gaudi::Units::mm;
+				else if(zplane == 1) back_shift += (*DMpcons)[i]->getDouble("ZPOS")*Gaudi::Units::mm;
 				else continue;
 			}
 		}
-		double reftoactive = (*DB_EMECmn)[0]->getDouble("REFTOACTIVE")*GeoModelKernelUnits::mm;
+		double reftoactive = (*DB_EMECmn)[0]->getDouble("REFTOACTIVE")*Gaudi::Units::mm;
 		front_shift += reftoactive;
 		back_shift += LArTotalThickness - reftoactive;
 	}
 	catch (...){
-		front_shift = -50.*GeoModelKernelUnits::mm; // start of EMEC envelop in the cryo.(length of env=630.)
-		back_shift = 580.*GeoModelKernelUnits::mm;
+		front_shift = -50.*Gaudi::Units::mm; // start of EMEC envelop in the cryo.(length of env=630.)
+		back_shift = 580.*Gaudi::Units::mm;
 		std::cout << "EMECConstruction: WARNING: cannot get front|back_shift from DB"
 		          << std::endl;
 	}
 //std::cout << "EMECConstruction : " << front_shift << " " << back_shift << std::endl;
     z0 = zWheelRefPoint + front_shift;
     EMECSupportConstruction *fsc = 0;
-    if(m_isTB) fsc = new EMECSupportConstruction(FrontIndx, true, "LAr::EMEC::", GeoModelKernelUnits::halfpi*GeoModelKernelUnits::rad);
+    if(m_isTB) fsc = new EMECSupportConstruction(FrontIndx, true, "LAr::EMEC::", Gaudi::Units::halfpi*Gaudi::Units::rad);
     else fsc = new EMECSupportConstruction(FrontIndx);
     GeoPhysVol* physicalFSM = fsc->GetEnvelope();
     emecMotherPhysical->add(new GeoTransform(GeoTrf::TranslateZ3D(z0)));
@@ -510,7 +509,7 @@ GeoFullPhysVol* LArGeo::EMECConstruction::GetEnvelope(bool bPos)
 
     z0 = zWheelRefPoint + back_shift; // end of EMEC envelop in the cryo.
     EMECSupportConstruction *bsc = 0;
-    if(m_isTB) bsc = new EMECSupportConstruction(BackIndx, true, "LAr::EMEC::", GeoModelKernelUnits::halfpi*GeoModelKernelUnits::rad);
+    if(m_isTB) bsc = new EMECSupportConstruction(BackIndx, true, "LAr::EMEC::", Gaudi::Units::halfpi*Gaudi::Units::rad);
     else bsc = new EMECSupportConstruction(BackIndx);
     GeoPhysVol *physicalBSM = bsc->GetEnvelope();
     GeoTrf::Transform3D rotBSM(GeoTrf::RotateX3D(-M_PI));
@@ -523,7 +522,7 @@ GeoFullPhysVol* LArGeo::EMECConstruction::GetEnvelope(bool bPos)
 
     z0 = zWheelRefPoint + LArTotalThickness * 0.5; //dist. to middle of sens vol. along z  from WRP
     EMECSupportConstruction *osc = 0;
-    if(m_isTB) osc = new EMECSupportConstruction(2, true, "LAr::EMEC::", GeoModelKernelUnits::halfpi*GeoModelKernelUnits::rad);
+    if(m_isTB) osc = new EMECSupportConstruction(2, true, "LAr::EMEC::", Gaudi::Units::halfpi*Gaudi::Units::rad);
     else osc = new EMECSupportConstruction(2);
     GeoPhysVol *physicalOSM = osc->GetEnvelope();
     emecMotherPhysical->add(refSystemTransform);
@@ -534,7 +533,7 @@ GeoFullPhysVol* LArGeo::EMECConstruction::GetEnvelope(bool bPos)
 
     z0 = zWheelRefPoint + LArTotalThickness * 0.5;
     EMECSupportConstruction *isc = 0;
-    if(m_isTB) isc = new EMECSupportConstruction(3, true, "LAr::EMEC::", GeoModelKernelUnits::halfpi*GeoModelKernelUnits::rad);
+    if(m_isTB) isc = new EMECSupportConstruction(3, true, "LAr::EMEC::", Gaudi::Units::halfpi*Gaudi::Units::rad);
     else isc = new EMECSupportConstruction(3);
     GeoPhysVol *physicalISM = isc->GetEnvelope();
     emecMotherPhysical->add(refSystemTransform);
@@ -544,7 +543,7 @@ GeoFullPhysVol* LArGeo::EMECConstruction::GetEnvelope(bool bPos)
 
     z0 = zWheelRefPoint + LArTotalThickness * 0.5;
     EMECSupportConstruction *msc = 0;
-    if(m_isTB) msc = new EMECSupportConstruction(4, true, "LAr::EMEC::", GeoModelKernelUnits::halfpi*GeoModelKernelUnits::rad);
+    if(m_isTB) msc = new EMECSupportConstruction(4, true, "LAr::EMEC::", Gaudi::Units::halfpi*Gaudi::Units::rad);
     else msc = new EMECSupportConstruction(4);
     GeoPhysVol *physicalMSM = msc->GetEnvelope();
     emecMotherPhysical->add(refSystemTransform);
diff --git a/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EMECSupportConstruction.cxx b/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EMECSupportConstruction.cxx
index 23ebc8306eb0..c46de7bf338f 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EMECSupportConstruction.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EMECSupportConstruction.cxx
@@ -72,7 +72,6 @@
 #include "GeoModelKernel/GeoAlignableTransform.h"
 #include "GeoModelKernel/GeoIdentifierTag.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
 
 #include "GeoModelInterfaces/AbsMaterialManager.h"
 #include "GeoModelInterfaces/StoredMaterialManager.h"
@@ -80,6 +79,7 @@
 #include "StoreGate/StoreGateSvc.h"
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/ISvcLocator.h"
+#include "GaudiKernel/PhysicalConstants.h"
 
 #include "GeoModelUtilities/DecodeVersionKey.h"
 #include "RDBAccessSvc/IRDBRecord.h"
@@ -110,11 +110,11 @@ EMECSupportConstruction::EMECSupportConstruction
         }
 
 	m_PhiStart = 0.;
-	m_PhiSize = GeoModelKernelUnits::twopi*GeoModelKernelUnits::rad;
+	m_PhiSize = Gaudi::Units::twopi*Gaudi::Units::rad;
 
 	if(m_isModule){
-		m_PhiStart = m_Position - M_PI*GeoModelKernelUnits::rad / 8.;
-		m_PhiSize = M_PI*GeoModelKernelUnits::rad / 4.;
+		m_PhiStart = m_Position - M_PI*Gaudi::Units::rad / 8.;
+		m_PhiSize = M_PI*Gaudi::Units::rad / 4.;
 	}
 
   // Get the materials from the manager 
@@ -338,24 +338,24 @@ GeoPcon* EMECSupportConstruction::getPcon(std::string id) const
 			}
 			pcone[key] = i;
 			if(key >= 0) ++ nzplanes;
-			else R0 = (*m_DB_pcons)[i]->getDouble("RMIN")*GeoModelKernelUnits::mm;
+			else R0 = (*m_DB_pcons)[i]->getDouble("RMIN")*Gaudi::Units::mm;
 		}
 	}
 	if(nzplanes > 0){
 		zplane.resize(nzplanes); rmin.resize(nzplanes); rmax.resize(nzplanes);
 		for(int n = 0; n < nzplanes; ++ n){
-			zplane[n] = (*m_DB_pcons)[pcone[n]]->getDouble("ZPOS")*GeoModelKernelUnits::mm;
-			rmin[n] = R0 + (*m_DB_pcons)[pcone[n]]->getDouble("RMIN")*GeoModelKernelUnits::mm;
-			rmax[n] = R0 + (*m_DB_pcons)[pcone[n]]->getDouble("RMAX")*GeoModelKernelUnits::mm;
+			zplane[n] = (*m_DB_pcons)[pcone[n]]->getDouble("ZPOS")*Gaudi::Units::mm;
+			rmin[n] = R0 + (*m_DB_pcons)[pcone[n]]->getDouble("RMIN")*Gaudi::Units::mm;
+			rmax[n] = R0 + (*m_DB_pcons)[pcone[n]]->getDouble("RMAX")*Gaudi::Units::mm;
 		}
 		if(id1 == "FrontSupportMother"){
 			if(id.find("Inner") != std::string::npos){
 				zplane.resize(2); rmin.resize(2); rmax.resize(2);
-				double rlim = getNumber(m_DB_numbers, id, "Inner", 614.)*GeoModelKernelUnits::mm;
+				double rlim = getNumber(m_DB_numbers, id, "Inner", 614.)*Gaudi::Units::mm;
 				rmax[0] = rlim;
 				rmax[1] = rlim;
 			} else if(id.find("Outer") != std::string::npos){
-				double rlim = getNumber(m_DB_numbers, id, "Outer", 603.-1.)*GeoModelKernelUnits::mm;
+				double rlim = getNumber(m_DB_numbers, id, "Outer", 603.-1.)*Gaudi::Units::mm;
 				rmin[0] = rlim;
 				rmin[1] = rlim;
 			}
@@ -363,24 +363,24 @@ GeoPcon* EMECSupportConstruction::getPcon(std::string id) const
 		if(id1 == "BackSupportMother"){
 			if(id.find("Inner") != std::string::npos){
 				zplane.resize(2); rmin.resize(2); rmax.resize(2);
-				double rlim = getNumber(m_DB_numbers, id, "Inner", 699.)*GeoModelKernelUnits::mm;
+				double rlim = getNumber(m_DB_numbers, id, "Inner", 699.)*Gaudi::Units::mm;
 				rmax[0] = rlim;
 				rmax[1] = rlim;
 			} else if(id.find("Outer") != std::string::npos){
-				double rlim = getNumber(m_DB_numbers, id, "Outer", 687.-1.)*GeoModelKernelUnits::mm;
+				double rlim = getNumber(m_DB_numbers, id, "Outer", 687.-1.)*Gaudi::Units::mm;
 				rmin[0] = rlim;
 				rmin[1] = rlim;
 			}
 		}
 		if(id1 == "Stretchers"){
 			if(id == "WideStretchers"){
-				double dfiWS = 360./3./256.*24.*GeoModelKernelUnits::deg; //this is the design variable for WS
+				double dfiWS = 360./3./256.*24.*Gaudi::Units::deg; //this is the design variable for WS
 				phi_start = m_Position - dfiWS*0.5;
 				phi_size = dfiWS;
 			}
 			if(id == "NarrowStretchers"){
-			        double lengthNS = getNumber(m_DB_numbers, id, "Width", 200.)*GeoModelKernelUnits::mm; // transversal length of NS
-				double dfiNS = lengthNS / rmax[0] * GeoModelKernelUnits::rad;
+			        double lengthNS = getNumber(m_DB_numbers, id, "Width", 200.)*Gaudi::Units::mm; // transversal length of NS
+				double dfiNS = lengthNS / rmax[0] * Gaudi::Units::rad;
 				phi_start = m_Position - dfiNS*0.5;
 				phi_size = dfiNS;
 			}
@@ -395,42 +395,42 @@ for(int i = 0; i < nzplanes; ++ i){
 	} else {
 	if(id.find("FrontSupportMother") == 0){
 		zplane.resize(6);  rmin.resize(6);    rmax.resize(6);
-		zplane[0] =   0. *GeoModelKernelUnits::mm; rmin[0] =  292.*GeoModelKernelUnits::mm-1.*GeoModelKernelUnits::mm; rmax[0] = 2077.*GeoModelKernelUnits::mm-7.*GeoModelKernelUnits::mm;
-		zplane[1] =  61. *GeoModelKernelUnits::mm; rmin[1] =  292.*GeoModelKernelUnits::mm-1.*GeoModelKernelUnits::mm; rmax[1] = 2077.*GeoModelKernelUnits::mm-7.*GeoModelKernelUnits::mm;
-		zplane[2] =  61. *GeoModelKernelUnits::mm; rmin[2] = 2023.*GeoModelKernelUnits::mm-7.*GeoModelKernelUnits::mm; rmax[2] = 2077.*GeoModelKernelUnits::mm-7.*GeoModelKernelUnits::mm;
-		zplane[3] =  72.3*GeoModelKernelUnits::mm; rmin[3] = 2023.*GeoModelKernelUnits::mm-7.*GeoModelKernelUnits::mm; rmax[3] = 2077.*GeoModelKernelUnits::mm-7.*GeoModelKernelUnits::mm;
-		zplane[4] = 124.2*GeoModelKernelUnits::mm; rmin[4] = 2051.*GeoModelKernelUnits::mm-7.*GeoModelKernelUnits::mm; rmax[4] = 2077.*GeoModelKernelUnits::mm-7.*GeoModelKernelUnits::mm;
-		zplane[5] = 153. *GeoModelKernelUnits::mm; rmin[5] = 2051.*GeoModelKernelUnits::mm-7.*GeoModelKernelUnits::mm; rmax[5] = 2077.*GeoModelKernelUnits::mm-7.*GeoModelKernelUnits::mm;
+		zplane[0] =   0. *Gaudi::Units::mm; rmin[0] =  292.*Gaudi::Units::mm-1.*Gaudi::Units::mm; rmax[0] = 2077.*Gaudi::Units::mm-7.*Gaudi::Units::mm;
+		zplane[1] =  61. *Gaudi::Units::mm; rmin[1] =  292.*Gaudi::Units::mm-1.*Gaudi::Units::mm; rmax[1] = 2077.*Gaudi::Units::mm-7.*Gaudi::Units::mm;
+		zplane[2] =  61. *Gaudi::Units::mm; rmin[2] = 2023.*Gaudi::Units::mm-7.*Gaudi::Units::mm; rmax[2] = 2077.*Gaudi::Units::mm-7.*Gaudi::Units::mm;
+		zplane[3] =  72.3*Gaudi::Units::mm; rmin[3] = 2023.*Gaudi::Units::mm-7.*Gaudi::Units::mm; rmax[3] = 2077.*Gaudi::Units::mm-7.*Gaudi::Units::mm;
+		zplane[4] = 124.2*Gaudi::Units::mm; rmin[4] = 2051.*Gaudi::Units::mm-7.*Gaudi::Units::mm; rmax[4] = 2077.*Gaudi::Units::mm-7.*Gaudi::Units::mm;
+		zplane[5] = 153. *Gaudi::Units::mm; rmin[5] = 2051.*Gaudi::Units::mm-7.*Gaudi::Units::mm; rmax[5] = 2077.*Gaudi::Units::mm-7.*Gaudi::Units::mm;
 		if(id == "FrontSupportMother::Outer"){
-			rmin[0] = 603.*GeoModelKernelUnits::mm-1.*GeoModelKernelUnits::mm;
-			rmin[1] = 603.*GeoModelKernelUnits::mm-1.*GeoModelKernelUnits::mm;
+			rmin[0] = 603.*Gaudi::Units::mm-1.*Gaudi::Units::mm;
+			rmin[1] = 603.*Gaudi::Units::mm-1.*Gaudi::Units::mm;
 		}
 		if(id == "FrontSupportMother::Inner"){
 			zplane.resize(2); rmin.resize(2); rmax.resize(2);
-			rmax[0] = 614.*GeoModelKernelUnits::mm;
-			rmax[1] = 614.*GeoModelKernelUnits::mm;
+			rmax[0] = 614.*Gaudi::Units::mm;
+			rmax[1] = 614.*Gaudi::Units::mm;
 		}
 	} else if(id.find("BackSupportMother") == 0){
 		zplane.resize(4);  rmin.resize(4);    rmax.resize(4);
-		zplane[0] =   0.001*GeoModelKernelUnits::mm; rmin[0] =  333.*GeoModelKernelUnits::mm-1.*GeoModelKernelUnits::mm; rmax[0] = 2077.*GeoModelKernelUnits::mm-7.*GeoModelKernelUnits::mm;
-		zplane[1] =  55.   *GeoModelKernelUnits::mm; rmin[1] =  333.*GeoModelKernelUnits::mm-1.*GeoModelKernelUnits::mm; rmax[1] = 2077.*GeoModelKernelUnits::mm-7.*GeoModelKernelUnits::mm;
-		zplane[2] =  55.   *GeoModelKernelUnits::mm; rmin[2] = 2051.*GeoModelKernelUnits::mm-7.*GeoModelKernelUnits::mm; rmax[2] = 2077.*GeoModelKernelUnits::mm-7.*GeoModelKernelUnits::mm;
-		zplane[3] =  147.  *GeoModelKernelUnits::mm; rmin[3] = 2051.*GeoModelKernelUnits::mm-7.*GeoModelKernelUnits::mm; rmax[3] = 2077.*GeoModelKernelUnits::mm-7.*GeoModelKernelUnits::mm;
+		zplane[0] =   0.001*Gaudi::Units::mm; rmin[0] =  333.*Gaudi::Units::mm-1.*Gaudi::Units::mm; rmax[0] = 2077.*Gaudi::Units::mm-7.*Gaudi::Units::mm;
+		zplane[1] =  55.   *Gaudi::Units::mm; rmin[1] =  333.*Gaudi::Units::mm-1.*Gaudi::Units::mm; rmax[1] = 2077.*Gaudi::Units::mm-7.*Gaudi::Units::mm;
+		zplane[2] =  55.   *Gaudi::Units::mm; rmin[2] = 2051.*Gaudi::Units::mm-7.*Gaudi::Units::mm; rmax[2] = 2077.*Gaudi::Units::mm-7.*Gaudi::Units::mm;
+		zplane[3] =  147.  *Gaudi::Units::mm; rmin[3] = 2051.*Gaudi::Units::mm-7.*Gaudi::Units::mm; rmax[3] = 2077.*Gaudi::Units::mm-7.*Gaudi::Units::mm;
 		if(id == "BackSupportMother::Outer"){
-			rmin[0] = 687.*GeoModelKernelUnits::mm-1.*GeoModelKernelUnits::mm;
-			rmin[1] = 687.*GeoModelKernelUnits::mm-1.*GeoModelKernelUnits::mm;
+			rmin[0] = 687.*Gaudi::Units::mm-1.*Gaudi::Units::mm;
+			rmin[1] = 687.*Gaudi::Units::mm-1.*Gaudi::Units::mm;
 		}
 		if(id == "BackSupportMother::Inner"){
 			zplane.resize(2); rmin.resize(2); rmax.resize(2);
-			rmax[0] = 699.*GeoModelKernelUnits::mm;
-			rmax[1] = 699.*GeoModelKernelUnits::mm;
+			rmax[0] = 699.*Gaudi::Units::mm;
+			rmax[1] = 699.*Gaudi::Units::mm;
 		}
 	} else if(id == "WideStretchers" || id == "NarrowStretchers"){
-		double dzS = 165.*GeoModelKernelUnits::mm;
-		double dznotch = 10.*GeoModelKernelUnits::mm; // half z extent of the notch
-		double drnotch = 6.5*GeoModelKernelUnits::mm; // deepness of the noth in radial direction
-		double rmaxS = (2077. - 7.)*GeoModelKernelUnits::mm;//ROuter+116. // -7 for cold
-		double rminS = rmaxS - 26.*GeoModelKernelUnits::mm;
+		double dzS = 165.*Gaudi::Units::mm;
+		double dznotch = 10.*Gaudi::Units::mm; // half z extent of the notch
+		double drnotch = 6.5*Gaudi::Units::mm; // deepness of the noth in radial direction
+		double rmaxS = (2077. - 7.)*Gaudi::Units::mm;//ROuter+116. // -7 for cold
+		double rminS = rmaxS - 26.*Gaudi::Units::mm;
 		double rmidS = rminS + drnotch;
 		zplane.resize(6);  rmin.resize(6);    rmax.resize(6);
 		zplane[0] = -dzS ; rmin[0] = rminS; rmax[0] = rmaxS;
@@ -440,22 +440,22 @@ for(int i = 0; i < nzplanes; ++ i){
 		zplane[4] = dznotch; rmin[4] = rminS; rmax[4] = rmaxS;
 		zplane[5] = dzS  ; rmin[5] = rminS; rmax[5] = rmaxS;
 		if(id == "WideStretchers"){
-			double dfiWS = 360./3./256.*24.*GeoModelKernelUnits::deg; //this is the design variable for WS
+			double dfiWS = 360./3./256.*24.*Gaudi::Units::deg; //this is the design variable for WS
 			phi_start = m_Position - dfiWS*0.5;
 			phi_size = dfiWS;
 		}
 		if(id == "NarrowStretchers"){
-			double lengthNS = 200.*GeoModelKernelUnits::mm; // transversal length of NS
-			double dfiNS = lengthNS / rmaxS * GeoModelKernelUnits::rad;
+			double lengthNS = 200.*Gaudi::Units::mm; // transversal length of NS
+			double dfiNS = lengthNS / rmaxS * Gaudi::Units::rad;
 			phi_start = m_Position - dfiNS*0.5;
 			phi_size = dfiNS;
 		}
 	} else if(id == "OuterSupportMother"){
-		double dzS = 165.*GeoModelKernelUnits::mm;
-		double rmaxS = (2077. - 7.)*GeoModelKernelUnits::mm;//ROuter+116. // -7 for cold
-		double rminOTB = (2034. + 2.)*GeoModelKernelUnits::mm;
-		double rmaxOTB = rminOTB + 3.*GeoModelKernelUnits::mm;
-		double dzOTB = 201.*GeoModelKernelUnits::mm;
+		double dzS = 165.*Gaudi::Units::mm;
+		double rmaxS = (2077. - 7.)*Gaudi::Units::mm;//ROuter+116. // -7 for cold
+		double rminOTB = (2034. + 2.)*Gaudi::Units::mm;
+		double rmaxOTB = rminOTB + 3.*Gaudi::Units::mm;
+		double dzOTB = 201.*Gaudi::Units::mm;
 		zplane.resize(6);  rmin.resize(6);    rmax.resize(6);
 		zplane[0] = -dzOTB ; rmin[0] = rminOTB; rmax[0] = rmaxOTB;
 		zplane[1] = -dzS; rmin[1] = rminOTB; rmax[1] = rmaxOTB;
@@ -464,176 +464,176 @@ for(int i = 0; i < nzplanes; ++ i){
 		zplane[4] = dzS; rmin[4] = rminOTB; rmax[4] = rmaxOTB;
 		zplane[5] = dzOTB  ; rmin[5] = rminOTB; rmax[5] = rmaxOTB;
 	} else if(id == "FrontMiddleRing"){
-		double r0       =614.*GeoModelKernelUnits::mm-2.*GeoModelKernelUnits::mm ; // RMiddle=middle radius of the ring
+		double r0       =614.*Gaudi::Units::mm-2.*Gaudi::Units::mm ; // RMiddle=middle radius of the ring
 		zplane.resize(4);  rmin.resize(4);    rmax.resize(4);
-		zplane[0] =   0. *GeoModelKernelUnits::mm; rmin[0] = r0 - 57.*GeoModelKernelUnits::mm; rmax[0] = r0 + 57.*GeoModelKernelUnits::mm;
-		zplane[1] =  27.5*GeoModelKernelUnits::mm; rmin[1] = r0 - 57.*GeoModelKernelUnits::mm; rmax[1] = r0 + 57.*GeoModelKernelUnits::mm;
-		zplane[2] =  27.5*GeoModelKernelUnits::mm; rmin[2] = r0 - 40.*GeoModelKernelUnits::mm; rmax[2] = r0 + 40.*GeoModelKernelUnits::mm;
-		zplane[3] =  59. *GeoModelKernelUnits::mm; rmin[3] = r0 - 40.*GeoModelKernelUnits::mm; rmax[3] = r0 + 40.*GeoModelKernelUnits::mm;
+		zplane[0] =   0. *Gaudi::Units::mm; rmin[0] = r0 - 57.*Gaudi::Units::mm; rmax[0] = r0 + 57.*Gaudi::Units::mm;
+		zplane[1] =  27.5*Gaudi::Units::mm; rmin[1] = r0 - 57.*Gaudi::Units::mm; rmax[1] = r0 + 57.*Gaudi::Units::mm;
+		zplane[2] =  27.5*Gaudi::Units::mm; rmin[2] = r0 - 40.*Gaudi::Units::mm; rmax[2] = r0 + 40.*Gaudi::Units::mm;
+		zplane[3] =  59. *Gaudi::Units::mm; rmin[3] = r0 - 40.*Gaudi::Units::mm; rmax[3] = r0 + 40.*Gaudi::Units::mm;
 	} else if(id == "FrontMiddleRing::LowerHole"){
-		double r0 = 614.*GeoModelKernelUnits::mm-2.*GeoModelKernelUnits::mm; // RMiddle=middle radius of the ring
+		double r0 = 614.*Gaudi::Units::mm-2.*Gaudi::Units::mm; // RMiddle=middle radius of the ring
 		zplane.resize(6);  rmin.resize(6);    rmax.resize(6);
-		zplane[0] = 23. *GeoModelKernelUnits::mm; rmin[0] = r0 - 28.3*GeoModelKernelUnits::mm; rmax[0] = r0 - 8.*GeoModelKernelUnits::mm;
-		zplane[1] = 27.5*GeoModelKernelUnits::mm; rmin[1] = r0 - 28.3*GeoModelKernelUnits::mm; rmax[1] = r0 - 8.*GeoModelKernelUnits::mm;
-		zplane[2] = 27.5*GeoModelKernelUnits::mm; rmin[2] = r0 - 40. *GeoModelKernelUnits::mm; rmax[2] = r0 - 8.*GeoModelKernelUnits::mm;
-		zplane[3] = 48.5*GeoModelKernelUnits::mm; rmin[3] = r0 - 40. *GeoModelKernelUnits::mm; rmax[3] = r0 - 8.*GeoModelKernelUnits::mm;
-		zplane[4] = 48.5*GeoModelKernelUnits::mm; rmin[4] = r0 - 28.3*GeoModelKernelUnits::mm; rmax[4] = r0 - 8.*GeoModelKernelUnits::mm;
-		zplane[5] = 53. *GeoModelKernelUnits::mm; rmin[5] = r0 - 28.3*GeoModelKernelUnits::mm; rmax[5] = r0 - 8.*GeoModelKernelUnits::mm;
+		zplane[0] = 23. *Gaudi::Units::mm; rmin[0] = r0 - 28.3*Gaudi::Units::mm; rmax[0] = r0 - 8.*Gaudi::Units::mm;
+		zplane[1] = 27.5*Gaudi::Units::mm; rmin[1] = r0 - 28.3*Gaudi::Units::mm; rmax[1] = r0 - 8.*Gaudi::Units::mm;
+		zplane[2] = 27.5*Gaudi::Units::mm; rmin[2] = r0 - 40. *Gaudi::Units::mm; rmax[2] = r0 - 8.*Gaudi::Units::mm;
+		zplane[3] = 48.5*Gaudi::Units::mm; rmin[3] = r0 - 40. *Gaudi::Units::mm; rmax[3] = r0 - 8.*Gaudi::Units::mm;
+		zplane[4] = 48.5*Gaudi::Units::mm; rmin[4] = r0 - 28.3*Gaudi::Units::mm; rmax[4] = r0 - 8.*Gaudi::Units::mm;
+		zplane[5] = 53. *Gaudi::Units::mm; rmin[5] = r0 - 28.3*Gaudi::Units::mm; rmax[5] = r0 - 8.*Gaudi::Units::mm;
 	} else if(id == "FrontMiddleRing::LowerGTen"){
-		double r0 = 614.*GeoModelKernelUnits::mm - 2.*GeoModelKernelUnits::mm; // RMiddle=middle radius of the ring
+		double r0 = 614.*Gaudi::Units::mm - 2.*Gaudi::Units::mm; // RMiddle=middle radius of the ring
 		zplane.resize(6);  rmin.resize(6);    rmax.resize(6);
-		zplane[0] = 23.*GeoModelKernelUnits::mm; rmin[0] = r0 - 28.*GeoModelKernelUnits::mm; rmax[0] = r0 - 8.*GeoModelKernelUnits::mm;
-		zplane[1] = 28.*GeoModelKernelUnits::mm; rmin[1] = r0 - 28.*GeoModelKernelUnits::mm; rmax[1] = r0 - 8.*GeoModelKernelUnits::mm;
-		zplane[2] = 28.*GeoModelKernelUnits::mm; rmin[2] = r0 - 40.*GeoModelKernelUnits::mm; rmax[2] = r0 - 8.*GeoModelKernelUnits::mm;
-		zplane[3] = 48.*GeoModelKernelUnits::mm; rmin[3] = r0 - 40.*GeoModelKernelUnits::mm; rmax[3] = r0 - 8.*GeoModelKernelUnits::mm;
-		zplane[4] = 48.*GeoModelKernelUnits::mm; rmin[4] = r0 - 28.*GeoModelKernelUnits::mm; rmax[4] = r0 - 8.*GeoModelKernelUnits::mm;
-		zplane[5] = 53.*GeoModelKernelUnits::mm; rmin[5] = r0 - 28.*GeoModelKernelUnits::mm; rmax[5] = r0 - 8.*GeoModelKernelUnits::mm;
+		zplane[0] = 23.*Gaudi::Units::mm; rmin[0] = r0 - 28.*Gaudi::Units::mm; rmax[0] = r0 - 8.*Gaudi::Units::mm;
+		zplane[1] = 28.*Gaudi::Units::mm; rmin[1] = r0 - 28.*Gaudi::Units::mm; rmax[1] = r0 - 8.*Gaudi::Units::mm;
+		zplane[2] = 28.*Gaudi::Units::mm; rmin[2] = r0 - 40.*Gaudi::Units::mm; rmax[2] = r0 - 8.*Gaudi::Units::mm;
+		zplane[3] = 48.*Gaudi::Units::mm; rmin[3] = r0 - 40.*Gaudi::Units::mm; rmax[3] = r0 - 8.*Gaudi::Units::mm;
+		zplane[4] = 48.*Gaudi::Units::mm; rmin[4] = r0 - 28.*Gaudi::Units::mm; rmax[4] = r0 - 8.*Gaudi::Units::mm;
+		zplane[5] = 53.*Gaudi::Units::mm; rmin[5] = r0 - 28.*Gaudi::Units::mm; rmax[5] = r0 - 8.*Gaudi::Units::mm;
 	} else if(id == "FrontMiddleRing::UpperHole"){
-		double r0       =614.*GeoModelKernelUnits::mm-2.*GeoModelKernelUnits::mm ; // RMiddle=middle radius of the ring
+		double r0       =614.*Gaudi::Units::mm-2.*Gaudi::Units::mm ; // RMiddle=middle radius of the ring
 		zplane.resize(6);  rmin.resize(6);    rmax.resize(6);
-		zplane[0] = 23. *GeoModelKernelUnits::mm; rmin[0] = r0 + 8.*GeoModelKernelUnits::mm; rmax[0] = r0 + 28.3*GeoModelKernelUnits::mm;
-		zplane[1] = 27.5*GeoModelKernelUnits::mm; rmin[1] = r0 + 8.*GeoModelKernelUnits::mm; rmax[1] = r0 + 28.3*GeoModelKernelUnits::mm;
-		zplane[2] = 27.5*GeoModelKernelUnits::mm; rmin[2] = r0 + 8.*GeoModelKernelUnits::mm; rmax[2] = r0 + 40. *GeoModelKernelUnits::mm;
-		zplane[3] = 48.5*GeoModelKernelUnits::mm; rmin[3] = r0 + 8.*GeoModelKernelUnits::mm; rmax[3] = r0 + 40. *GeoModelKernelUnits::mm;
-		zplane[4] = 48.5*GeoModelKernelUnits::mm; rmin[4] = r0 + 8.*GeoModelKernelUnits::mm; rmax[4] = r0 + 28.3*GeoModelKernelUnits::mm;
-		zplane[5] = 53. *GeoModelKernelUnits::mm; rmin[5] = r0 + 8.*GeoModelKernelUnits::mm; rmax[5] = r0 + 28.3*GeoModelKernelUnits::mm;
+		zplane[0] = 23. *Gaudi::Units::mm; rmin[0] = r0 + 8.*Gaudi::Units::mm; rmax[0] = r0 + 28.3*Gaudi::Units::mm;
+		zplane[1] = 27.5*Gaudi::Units::mm; rmin[1] = r0 + 8.*Gaudi::Units::mm; rmax[1] = r0 + 28.3*Gaudi::Units::mm;
+		zplane[2] = 27.5*Gaudi::Units::mm; rmin[2] = r0 + 8.*Gaudi::Units::mm; rmax[2] = r0 + 40. *Gaudi::Units::mm;
+		zplane[3] = 48.5*Gaudi::Units::mm; rmin[3] = r0 + 8.*Gaudi::Units::mm; rmax[3] = r0 + 40. *Gaudi::Units::mm;
+		zplane[4] = 48.5*Gaudi::Units::mm; rmin[4] = r0 + 8.*Gaudi::Units::mm; rmax[4] = r0 + 28.3*Gaudi::Units::mm;
+		zplane[5] = 53. *Gaudi::Units::mm; rmin[5] = r0 + 8.*Gaudi::Units::mm; rmax[5] = r0 + 28.3*Gaudi::Units::mm;
 	} else if(id == "FrontMiddleRing::UpperGTen"){
-		double r0       =614.*GeoModelKernelUnits::mm-2.*GeoModelKernelUnits::mm ; // RMiddle=middle radius of the ring
+		double r0       =614.*Gaudi::Units::mm-2.*Gaudi::Units::mm ; // RMiddle=middle radius of the ring
 		zplane.resize(6);  rmin.resize(6);    rmax.resize(6);
-		zplane[0] = 23.*GeoModelKernelUnits::mm; rmin[0] = r0 + 8.*GeoModelKernelUnits::mm; rmax[0] = r0 + 28.*GeoModelKernelUnits::mm;
-		zplane[1] = 28.*GeoModelKernelUnits::mm; rmin[1] = r0 + 8.*GeoModelKernelUnits::mm; rmax[1] = r0 + 28.*GeoModelKernelUnits::mm;
-		zplane[2] = 28.*GeoModelKernelUnits::mm; rmin[2] = r0 + 8.*GeoModelKernelUnits::mm; rmax[2] = r0 + 40.*GeoModelKernelUnits::mm;
-		zplane[3] = 48.*GeoModelKernelUnits::mm; rmin[3] = r0 + 8.*GeoModelKernelUnits::mm; rmax[3] = r0 + 40.*GeoModelKernelUnits::mm;
-		zplane[4] = 48.*GeoModelKernelUnits::mm; rmin[4] = r0 + 8.*GeoModelKernelUnits::mm; rmax[4] = r0 + 28.*GeoModelKernelUnits::mm;
-		zplane[5] = 53.*GeoModelKernelUnits::mm; rmin[5] = r0 + 8.*GeoModelKernelUnits::mm; rmax[5] = r0 + 28.*GeoModelKernelUnits::mm;
+		zplane[0] = 23.*Gaudi::Units::mm; rmin[0] = r0 + 8.*Gaudi::Units::mm; rmax[0] = r0 + 28.*Gaudi::Units::mm;
+		zplane[1] = 28.*Gaudi::Units::mm; rmin[1] = r0 + 8.*Gaudi::Units::mm; rmax[1] = r0 + 28.*Gaudi::Units::mm;
+		zplane[2] = 28.*Gaudi::Units::mm; rmin[2] = r0 + 8.*Gaudi::Units::mm; rmax[2] = r0 + 40.*Gaudi::Units::mm;
+		zplane[3] = 48.*Gaudi::Units::mm; rmin[3] = r0 + 8.*Gaudi::Units::mm; rmax[3] = r0 + 40.*Gaudi::Units::mm;
+		zplane[4] = 48.*Gaudi::Units::mm; rmin[4] = r0 + 8.*Gaudi::Units::mm; rmax[4] = r0 + 28.*Gaudi::Units::mm;
+		zplane[5] = 53.*Gaudi::Units::mm; rmin[5] = r0 + 8.*Gaudi::Units::mm; rmax[5] = r0 + 28.*Gaudi::Units::mm;
 	} else if(id == "FrontInnerRing"){
-		double r0 = 335.5*GeoModelKernelUnits::mm-1.*GeoModelKernelUnits::mm;  // RInner = reference radius of the inner ring
+		double r0 = 335.5*Gaudi::Units::mm-1.*Gaudi::Units::mm;  // RInner = reference radius of the inner ring
 		zplane.resize(5);  rmin.resize(5);    rmax.resize(5);
-		zplane[0] =  0. *GeoModelKernelUnits::mm; rmin[0] = r0 - 22.5*GeoModelKernelUnits::mm; rmax[0] = r0 + 51.5*GeoModelKernelUnits::mm;
-		zplane[1] =  6. *GeoModelKernelUnits::mm; rmin[1] = r0 - 28.5*GeoModelKernelUnits::mm; rmax[1] = r0 + 51.5*GeoModelKernelUnits::mm;
-		zplane[2] = 27.5*GeoModelKernelUnits::mm; rmin[2] = r0 - 28.5*GeoModelKernelUnits::mm; rmax[2] = r0 + 51.5*GeoModelKernelUnits::mm;
-		zplane[3] = 27.5*GeoModelKernelUnits::mm; rmin[3] = r0 - 43.5*GeoModelKernelUnits::mm; rmax[3] = r0 + 40.5*GeoModelKernelUnits::mm;
-		zplane[4] = 59. *GeoModelKernelUnits::mm; rmin[4] = r0 - 43.5*GeoModelKernelUnits::mm; rmax[4] = r0 + 40.5*GeoModelKernelUnits::mm;
+		zplane[0] =  0. *Gaudi::Units::mm; rmin[0] = r0 - 22.5*Gaudi::Units::mm; rmax[0] = r0 + 51.5*Gaudi::Units::mm;
+		zplane[1] =  6. *Gaudi::Units::mm; rmin[1] = r0 - 28.5*Gaudi::Units::mm; rmax[1] = r0 + 51.5*Gaudi::Units::mm;
+		zplane[2] = 27.5*Gaudi::Units::mm; rmin[2] = r0 - 28.5*Gaudi::Units::mm; rmax[2] = r0 + 51.5*Gaudi::Units::mm;
+		zplane[3] = 27.5*Gaudi::Units::mm; rmin[3] = r0 - 43.5*Gaudi::Units::mm; rmax[3] = r0 + 40.5*Gaudi::Units::mm;
+		zplane[4] = 59. *Gaudi::Units::mm; rmin[4] = r0 - 43.5*Gaudi::Units::mm; rmax[4] = r0 + 40.5*Gaudi::Units::mm;
 	} else if(id == "FrontInnerRing::Hole"){
-		double r0 = 335.5*GeoModelKernelUnits::mm-1.*GeoModelKernelUnits::mm;  // RInner = reference radius of the inner ring
+		double r0 = 335.5*Gaudi::Units::mm-1.*Gaudi::Units::mm;  // RInner = reference radius of the inner ring
 		zplane.resize(6);  rmin.resize(6);    rmax.resize(6);
-		zplane[0] = 23. *GeoModelKernelUnits::mm; rmin[0] = r0 + 6.5*GeoModelKernelUnits::mm; rmax[0] = r0 + 29.5*GeoModelKernelUnits::mm;
-		zplane[1] = 27.5*GeoModelKernelUnits::mm; rmin[1] = r0 + 6.5*GeoModelKernelUnits::mm; rmax[1] = r0 + 29.5*GeoModelKernelUnits::mm;
-		zplane[2] = 27.5*GeoModelKernelUnits::mm; rmin[2] = r0 + 6.5*GeoModelKernelUnits::mm; rmax[2] = r0 + 40.5*GeoModelKernelUnits::mm;
-		zplane[3] = 48.5*GeoModelKernelUnits::mm; rmin[3] = r0 + 6.5*GeoModelKernelUnits::mm; rmax[3] = r0 + 40.5*GeoModelKernelUnits::mm;
-		zplane[4] = 48.5*GeoModelKernelUnits::mm; rmin[4] = r0 + 6.5*GeoModelKernelUnits::mm; rmax[4] = r0 + 29.5*GeoModelKernelUnits::mm;
-		zplane[5] = 53. *GeoModelKernelUnits::mm; rmin[5] = r0 + 6.5*GeoModelKernelUnits::mm; rmax[5] = r0 + 29.5*GeoModelKernelUnits::mm;
+		zplane[0] = 23. *Gaudi::Units::mm; rmin[0] = r0 + 6.5*Gaudi::Units::mm; rmax[0] = r0 + 29.5*Gaudi::Units::mm;
+		zplane[1] = 27.5*Gaudi::Units::mm; rmin[1] = r0 + 6.5*Gaudi::Units::mm; rmax[1] = r0 + 29.5*Gaudi::Units::mm;
+		zplane[2] = 27.5*Gaudi::Units::mm; rmin[2] = r0 + 6.5*Gaudi::Units::mm; rmax[2] = r0 + 40.5*Gaudi::Units::mm;
+		zplane[3] = 48.5*Gaudi::Units::mm; rmin[3] = r0 + 6.5*Gaudi::Units::mm; rmax[3] = r0 + 40.5*Gaudi::Units::mm;
+		zplane[4] = 48.5*Gaudi::Units::mm; rmin[4] = r0 + 6.5*Gaudi::Units::mm; rmax[4] = r0 + 29.5*Gaudi::Units::mm;
+		zplane[5] = 53. *Gaudi::Units::mm; rmin[5] = r0 + 6.5*Gaudi::Units::mm; rmax[5] = r0 + 29.5*Gaudi::Units::mm;
 	} else if(id == "FrontInnerRing::GTen"){
-		double r0 = 335.5*GeoModelKernelUnits::mm-1.*GeoModelKernelUnits::mm;  // RInner = reference radius of the inner ring
+		double r0 = 335.5*Gaudi::Units::mm-1.*Gaudi::Units::mm;  // RInner = reference radius of the inner ring
 		zplane.resize(6);  rmin.resize(6);    rmax.resize(6);
-		zplane[0] = 23.*GeoModelKernelUnits::mm; rmin[0] = r0 + 8.5*GeoModelKernelUnits::mm; rmax[0] = r0 + 28.5*GeoModelKernelUnits::mm;
-		zplane[1] = 28.*GeoModelKernelUnits::mm; rmin[1] = r0 + 8.5*GeoModelKernelUnits::mm; rmax[1] = r0 + 28.5*GeoModelKernelUnits::mm;
-		zplane[2] = 28.*GeoModelKernelUnits::mm; rmin[2] = r0 + 8.5*GeoModelKernelUnits::mm; rmax[2] = r0 + 40.5*GeoModelKernelUnits::mm;
-		zplane[3] = 48.*GeoModelKernelUnits::mm; rmin[3] = r0 + 8.5*GeoModelKernelUnits::mm; rmax[3] = r0 + 40.5*GeoModelKernelUnits::mm;
-		zplane[4] = 48.*GeoModelKernelUnits::mm; rmin[4] = r0 + 8.5*GeoModelKernelUnits::mm; rmax[4] = r0 + 28.5*GeoModelKernelUnits::mm;
-		zplane[5] = 53.*GeoModelKernelUnits::mm; rmin[5] = r0 + 8.5*GeoModelKernelUnits::mm; rmax[5] = r0 + 28.5*GeoModelKernelUnits::mm;
+		zplane[0] = 23.*Gaudi::Units::mm; rmin[0] = r0 + 8.5*Gaudi::Units::mm; rmax[0] = r0 + 28.5*Gaudi::Units::mm;
+		zplane[1] = 28.*Gaudi::Units::mm; rmin[1] = r0 + 8.5*Gaudi::Units::mm; rmax[1] = r0 + 28.5*Gaudi::Units::mm;
+		zplane[2] = 28.*Gaudi::Units::mm; rmin[2] = r0 + 8.5*Gaudi::Units::mm; rmax[2] = r0 + 40.5*Gaudi::Units::mm;
+		zplane[3] = 48.*Gaudi::Units::mm; rmin[3] = r0 + 8.5*Gaudi::Units::mm; rmax[3] = r0 + 40.5*Gaudi::Units::mm;
+		zplane[4] = 48.*Gaudi::Units::mm; rmin[4] = r0 + 8.5*Gaudi::Units::mm; rmax[4] = r0 + 28.5*Gaudi::Units::mm;
+		zplane[5] = 53.*Gaudi::Units::mm; rmin[5] = r0 + 8.5*Gaudi::Units::mm; rmax[5] = r0 + 28.5*Gaudi::Units::mm;
 	} else if(id == "BackMiddleRing"){
-		double r0       =  699.*GeoModelKernelUnits::mm-2.5*GeoModelKernelUnits::mm; // RMiddle radius of the ring
+		double r0       =  699.*Gaudi::Units::mm-2.5*Gaudi::Units::mm; // RMiddle radius of the ring
 		zplane.resize(4);  rmin.resize(4);    rmax.resize(4);
-		zplane[0] =   0. *GeoModelKernelUnits::mm; rmin[0] = r0 - 57.*GeoModelKernelUnits::mm; rmax[0] = r0 + 57.*GeoModelKernelUnits::mm;
-		zplane[1] =  21. *GeoModelKernelUnits::mm; rmin[1] = r0 - 57.*GeoModelKernelUnits::mm; rmax[1] = r0 + 57.*GeoModelKernelUnits::mm;
-		zplane[2] =  21. *GeoModelKernelUnits::mm; rmin[2] = r0 - 40.*GeoModelKernelUnits::mm; rmax[2] = r0 + 40.*GeoModelKernelUnits::mm;
-		zplane[3] =  52.5*GeoModelKernelUnits::mm; rmin[3] = r0 - 40.*GeoModelKernelUnits::mm; rmax[3] = r0 + 40.*GeoModelKernelUnits::mm;
+		zplane[0] =   0. *Gaudi::Units::mm; rmin[0] = r0 - 57.*Gaudi::Units::mm; rmax[0] = r0 + 57.*Gaudi::Units::mm;
+		zplane[1] =  21. *Gaudi::Units::mm; rmin[1] = r0 - 57.*Gaudi::Units::mm; rmax[1] = r0 + 57.*Gaudi::Units::mm;
+		zplane[2] =  21. *Gaudi::Units::mm; rmin[2] = r0 - 40.*Gaudi::Units::mm; rmax[2] = r0 + 40.*Gaudi::Units::mm;
+		zplane[3] =  52.5*Gaudi::Units::mm; rmin[3] = r0 - 40.*Gaudi::Units::mm; rmax[3] = r0 + 40.*Gaudi::Units::mm;
 	} else if(id == "BackMiddleRing::LowerHole"){
-		double r0       =  699.*GeoModelKernelUnits::mm-2.5*GeoModelKernelUnits::mm; // RMiddle radius of the ring
+		double r0       =  699.*Gaudi::Units::mm-2.5*Gaudi::Units::mm; // RMiddle radius of the ring
 		zplane.resize(6);  rmin.resize(6);    rmax.resize(6);
-		zplane[0] = 16.5*GeoModelKernelUnits::mm; rmin[0] = r0 - 28.3*GeoModelKernelUnits::mm; rmax[0] = r0 - 8.*GeoModelKernelUnits::mm;
-		zplane[1] = 21. *GeoModelKernelUnits::mm; rmin[1] = r0 - 28.3*GeoModelKernelUnits::mm; rmax[1] = r0 - 8.*GeoModelKernelUnits::mm;
-		zplane[2] = 21. *GeoModelKernelUnits::mm; rmin[2] = r0 - 40. *GeoModelKernelUnits::mm; rmax[2] = r0 - 8.*GeoModelKernelUnits::mm;
-		zplane[3] = 42. *GeoModelKernelUnits::mm; rmin[3] = r0 - 40. *GeoModelKernelUnits::mm; rmax[3] = r0 - 8.*GeoModelKernelUnits::mm;
-		zplane[4] = 42. *GeoModelKernelUnits::mm; rmin[4] = r0 - 28.3*GeoModelKernelUnits::mm; rmax[4] = r0 - 8.*GeoModelKernelUnits::mm;
-//		zplane[5] = 56.5*GeoModelKernelUnits::mm; rmin[5] = r0 - 28.3*GeoModelKernelUnits::mm; rmax[5] = r0 - 8.*GeoModelKernelUnits::mm;
-		zplane[5] = 46.5*GeoModelKernelUnits::mm; rmin[5] = r0 - 28.3*GeoModelKernelUnits::mm; rmax[5] = r0 - 8.*GeoModelKernelUnits::mm;
+		zplane[0] = 16.5*Gaudi::Units::mm; rmin[0] = r0 - 28.3*Gaudi::Units::mm; rmax[0] = r0 - 8.*Gaudi::Units::mm;
+		zplane[1] = 21. *Gaudi::Units::mm; rmin[1] = r0 - 28.3*Gaudi::Units::mm; rmax[1] = r0 - 8.*Gaudi::Units::mm;
+		zplane[2] = 21. *Gaudi::Units::mm; rmin[2] = r0 - 40. *Gaudi::Units::mm; rmax[2] = r0 - 8.*Gaudi::Units::mm;
+		zplane[3] = 42. *Gaudi::Units::mm; rmin[3] = r0 - 40. *Gaudi::Units::mm; rmax[3] = r0 - 8.*Gaudi::Units::mm;
+		zplane[4] = 42. *Gaudi::Units::mm; rmin[4] = r0 - 28.3*Gaudi::Units::mm; rmax[4] = r0 - 8.*Gaudi::Units::mm;
+//		zplane[5] = 56.5*Gaudi::Units::mm; rmin[5] = r0 - 28.3*Gaudi::Units::mm; rmax[5] = r0 - 8.*Gaudi::Units::mm;
+		zplane[5] = 46.5*Gaudi::Units::mm; rmin[5] = r0 - 28.3*Gaudi::Units::mm; rmax[5] = r0 - 8.*Gaudi::Units::mm;
 	} else if(id == "BackMiddleRing::LowerGTen"){
-		double r0       =  699.*GeoModelKernelUnits::mm-2.5*GeoModelKernelUnits::mm; // RMiddle radius of the ring
+		double r0       =  699.*Gaudi::Units::mm-2.5*Gaudi::Units::mm; // RMiddle radius of the ring
 		zplane.resize(6);  rmin.resize(6);    rmax.resize(6);
-		zplane[0] = 16.5*GeoModelKernelUnits::mm; rmin[0] = r0 - 28.*GeoModelKernelUnits::mm; rmax[0] = r0 - 8.*GeoModelKernelUnits::mm;
-		zplane[1] = 21.5*GeoModelKernelUnits::mm; rmin[1] = r0 - 28.*GeoModelKernelUnits::mm; rmax[1] = r0 - 8.*GeoModelKernelUnits::mm;
-		zplane[2] = 21.5*GeoModelKernelUnits::mm; rmin[2] = r0 - 40.*GeoModelKernelUnits::mm; rmax[2] = r0 - 8.*GeoModelKernelUnits::mm;
-		zplane[3] = 41.5*GeoModelKernelUnits::mm; rmin[3] = r0 - 40.*GeoModelKernelUnits::mm; rmax[3] = r0 - 8.*GeoModelKernelUnits::mm;
-		zplane[4] = 41.5*GeoModelKernelUnits::mm; rmin[4] = r0 - 28.*GeoModelKernelUnits::mm; rmax[4] = r0 - 8.*GeoModelKernelUnits::mm;
-		zplane[5] = 46.5*GeoModelKernelUnits::mm; rmin[5] = r0 - 28.*GeoModelKernelUnits::mm; rmax[5] = r0 - 8.*GeoModelKernelUnits::mm;
+		zplane[0] = 16.5*Gaudi::Units::mm; rmin[0] = r0 - 28.*Gaudi::Units::mm; rmax[0] = r0 - 8.*Gaudi::Units::mm;
+		zplane[1] = 21.5*Gaudi::Units::mm; rmin[1] = r0 - 28.*Gaudi::Units::mm; rmax[1] = r0 - 8.*Gaudi::Units::mm;
+		zplane[2] = 21.5*Gaudi::Units::mm; rmin[2] = r0 - 40.*Gaudi::Units::mm; rmax[2] = r0 - 8.*Gaudi::Units::mm;
+		zplane[3] = 41.5*Gaudi::Units::mm; rmin[3] = r0 - 40.*Gaudi::Units::mm; rmax[3] = r0 - 8.*Gaudi::Units::mm;
+		zplane[4] = 41.5*Gaudi::Units::mm; rmin[4] = r0 - 28.*Gaudi::Units::mm; rmax[4] = r0 - 8.*Gaudi::Units::mm;
+		zplane[5] = 46.5*Gaudi::Units::mm; rmin[5] = r0 - 28.*Gaudi::Units::mm; rmax[5] = r0 - 8.*Gaudi::Units::mm;
 	} else if(id == "BackMiddleRing::UpperHole"){
-		double r0       =  699.*GeoModelKernelUnits::mm-2.5*GeoModelKernelUnits::mm; // RMiddle radius of the ring
+		double r0       =  699.*Gaudi::Units::mm-2.5*Gaudi::Units::mm; // RMiddle radius of the ring
 		zplane.resize(6);  rmin.resize(6);    rmax.resize(6);
-		zplane[0] = 16.5*GeoModelKernelUnits::mm; rmin[0] = r0 + 8.*GeoModelKernelUnits::mm; rmax[0] = r0 + 28.3*GeoModelKernelUnits::mm;
-		zplane[1] = 21. *GeoModelKernelUnits::mm; rmin[1] = r0 + 8.*GeoModelKernelUnits::mm; rmax[1] = r0 + 28.3*GeoModelKernelUnits::mm;
-		zplane[2] = 21. *GeoModelKernelUnits::mm; rmin[2] = r0 + 8.*GeoModelKernelUnits::mm; rmax[2] = r0 + 40. *GeoModelKernelUnits::mm;
-		zplane[3] = 42. *GeoModelKernelUnits::mm; rmin[3] = r0 + 8.*GeoModelKernelUnits::mm; rmax[3] = r0 + 40. *GeoModelKernelUnits::mm;
-		zplane[4] = 42. *GeoModelKernelUnits::mm; rmin[4] = r0 + 8.*GeoModelKernelUnits::mm; rmax[4] = r0 + 28.3*GeoModelKernelUnits::mm;
-		zplane[5] = 46.5*GeoModelKernelUnits::mm; rmin[5] = r0 + 8.*GeoModelKernelUnits::mm; rmax[5] = r0 + 28.3*GeoModelKernelUnits::mm;
+		zplane[0] = 16.5*Gaudi::Units::mm; rmin[0] = r0 + 8.*Gaudi::Units::mm; rmax[0] = r0 + 28.3*Gaudi::Units::mm;
+		zplane[1] = 21. *Gaudi::Units::mm; rmin[1] = r0 + 8.*Gaudi::Units::mm; rmax[1] = r0 + 28.3*Gaudi::Units::mm;
+		zplane[2] = 21. *Gaudi::Units::mm; rmin[2] = r0 + 8.*Gaudi::Units::mm; rmax[2] = r0 + 40. *Gaudi::Units::mm;
+		zplane[3] = 42. *Gaudi::Units::mm; rmin[3] = r0 + 8.*Gaudi::Units::mm; rmax[3] = r0 + 40. *Gaudi::Units::mm;
+		zplane[4] = 42. *Gaudi::Units::mm; rmin[4] = r0 + 8.*Gaudi::Units::mm; rmax[4] = r0 + 28.3*Gaudi::Units::mm;
+		zplane[5] = 46.5*Gaudi::Units::mm; rmin[5] = r0 + 8.*Gaudi::Units::mm; rmax[5] = r0 + 28.3*Gaudi::Units::mm;
 	} else if(id == "BackMiddleRing::UpperGTen"){
-		double r0       =  699.*GeoModelKernelUnits::mm-2.5*GeoModelKernelUnits::mm; // RMiddle radius of the ring
+		double r0       =  699.*Gaudi::Units::mm-2.5*Gaudi::Units::mm; // RMiddle radius of the ring
 		zplane.resize(6);  rmin.resize(6);    rmax.resize(6);
-		zplane[0] = 16.5*GeoModelKernelUnits::mm; rmin[0] = r0 + 8.*GeoModelKernelUnits::mm; rmax[0] = r0 + 28.*GeoModelKernelUnits::mm;
-		zplane[1] = 21.5*GeoModelKernelUnits::mm; rmin[1] = r0 + 8.*GeoModelKernelUnits::mm; rmax[1] = r0 + 28.*GeoModelKernelUnits::mm;
-		zplane[2] = 21.5*GeoModelKernelUnits::mm; rmin[2] = r0 + 8.*GeoModelKernelUnits::mm; rmax[2] = r0 + 40.*GeoModelKernelUnits::mm;
-		zplane[3] = 41.5*GeoModelKernelUnits::mm; rmin[3] = r0 + 8.*GeoModelKernelUnits::mm; rmax[3] = r0 + 40.*GeoModelKernelUnits::mm;
-		zplane[4] = 41.5*GeoModelKernelUnits::mm; rmin[4] = r0 + 8.*GeoModelKernelUnits::mm; rmax[4] = r0 + 28.*GeoModelKernelUnits::mm;
-		zplane[5] = 46.5*GeoModelKernelUnits::mm; rmin[5] = r0 + 8.*GeoModelKernelUnits::mm; rmax[5] = r0 + 28.*GeoModelKernelUnits::mm;
+		zplane[0] = 16.5*Gaudi::Units::mm; rmin[0] = r0 + 8.*Gaudi::Units::mm; rmax[0] = r0 + 28.*Gaudi::Units::mm;
+		zplane[1] = 21.5*Gaudi::Units::mm; rmin[1] = r0 + 8.*Gaudi::Units::mm; rmax[1] = r0 + 28.*Gaudi::Units::mm;
+		zplane[2] = 21.5*Gaudi::Units::mm; rmin[2] = r0 + 8.*Gaudi::Units::mm; rmax[2] = r0 + 40.*Gaudi::Units::mm;
+		zplane[3] = 41.5*Gaudi::Units::mm; rmin[3] = r0 + 8.*Gaudi::Units::mm; rmax[3] = r0 + 40.*Gaudi::Units::mm;
+		zplane[4] = 41.5*Gaudi::Units::mm; rmin[4] = r0 + 8.*Gaudi::Units::mm; rmax[4] = r0 + 28.*Gaudi::Units::mm;
+		zplane[5] = 46.5*Gaudi::Units::mm; rmin[5] = r0 + 8.*Gaudi::Units::mm; rmax[5] = r0 + 28.*Gaudi::Units::mm;
 	} else if(id == "BackInnerRing"){
-		double r0       =357.5*GeoModelKernelUnits::mm-1.*GeoModelKernelUnits::mm;  // RInner = reference radius of the ring
+		double r0       =357.5*Gaudi::Units::mm-1.*Gaudi::Units::mm;  // RInner = reference radius of the ring
 		zplane.resize(4);  rmin.resize(4);    rmax.resize(4);
-		zplane[0] =   0. *GeoModelKernelUnits::mm; rmin[0] = r0 - 22.5*GeoModelKernelUnits::mm; rmax[0] = r0 + 53.5*GeoModelKernelUnits::mm;
-		zplane[1] =  22.5*GeoModelKernelUnits::mm; rmin[1] = r0 - 22.5*GeoModelKernelUnits::mm; rmax[1] = r0 + 53.5*GeoModelKernelUnits::mm;
-		zplane[2] =  22.5*GeoModelKernelUnits::mm; rmin[2] = r0 - 24.5*GeoModelKernelUnits::mm; rmax[2] = r0 + 40.5*GeoModelKernelUnits::mm;
-		zplane[3] =  54. *GeoModelKernelUnits::mm; rmin[3] = r0 - 24.5*GeoModelKernelUnits::mm; rmax[3] = r0 + 40.5*GeoModelKernelUnits::mm;
+		zplane[0] =   0. *Gaudi::Units::mm; rmin[0] = r0 - 22.5*Gaudi::Units::mm; rmax[0] = r0 + 53.5*Gaudi::Units::mm;
+		zplane[1] =  22.5*Gaudi::Units::mm; rmin[1] = r0 - 22.5*Gaudi::Units::mm; rmax[1] = r0 + 53.5*Gaudi::Units::mm;
+		zplane[2] =  22.5*Gaudi::Units::mm; rmin[2] = r0 - 24.5*Gaudi::Units::mm; rmax[2] = r0 + 40.5*Gaudi::Units::mm;
+		zplane[3] =  54. *Gaudi::Units::mm; rmin[3] = r0 - 24.5*Gaudi::Units::mm; rmax[3] = r0 + 40.5*Gaudi::Units::mm;
 	} else if(id == "BackInnerRing::Hole"){
-		double r0       =357.5*GeoModelKernelUnits::mm-1.*GeoModelKernelUnits::mm;  // RInner = reference radius of the ring
+		double r0       =357.5*Gaudi::Units::mm-1.*Gaudi::Units::mm;  // RInner = reference radius of the ring
  		zplane.resize(6);  rmin.resize(6);    rmax.resize(6);
-		zplane[0] = 18. *GeoModelKernelUnits::mm; rmin[0] = r0 + 6.5*GeoModelKernelUnits::mm; rmax[0] = r0 + 29.5*GeoModelKernelUnits::mm;
-		zplane[1] = 22.5*GeoModelKernelUnits::mm; rmin[1] = r0 + 6.5*GeoModelKernelUnits::mm; rmax[1] = r0 + 29.5*GeoModelKernelUnits::mm;
-		zplane[2] = 22.5*GeoModelKernelUnits::mm; rmin[2] = r0 + 6.5*GeoModelKernelUnits::mm; rmax[2] = r0 + 40.5*GeoModelKernelUnits::mm;
-		zplane[3] = 43.5*GeoModelKernelUnits::mm; rmin[3] = r0 + 6.5*GeoModelKernelUnits::mm; rmax[3] = r0 + 40.5*GeoModelKernelUnits::mm;
-		zplane[4] = 43.5*GeoModelKernelUnits::mm; rmin[4] = r0 + 6.5*GeoModelKernelUnits::mm; rmax[4] = r0 + 29.5*GeoModelKernelUnits::mm;
-		zplane[5] = 48. *GeoModelKernelUnits::mm; rmin[5] = r0 + 6.5*GeoModelKernelUnits::mm; rmax[5] = r0 + 29.5*GeoModelKernelUnits::mm;
+		zplane[0] = 18. *Gaudi::Units::mm; rmin[0] = r0 + 6.5*Gaudi::Units::mm; rmax[0] = r0 + 29.5*Gaudi::Units::mm;
+		zplane[1] = 22.5*Gaudi::Units::mm; rmin[1] = r0 + 6.5*Gaudi::Units::mm; rmax[1] = r0 + 29.5*Gaudi::Units::mm;
+		zplane[2] = 22.5*Gaudi::Units::mm; rmin[2] = r0 + 6.5*Gaudi::Units::mm; rmax[2] = r0 + 40.5*Gaudi::Units::mm;
+		zplane[3] = 43.5*Gaudi::Units::mm; rmin[3] = r0 + 6.5*Gaudi::Units::mm; rmax[3] = r0 + 40.5*Gaudi::Units::mm;
+		zplane[4] = 43.5*Gaudi::Units::mm; rmin[4] = r0 + 6.5*Gaudi::Units::mm; rmax[4] = r0 + 29.5*Gaudi::Units::mm;
+		zplane[5] = 48. *Gaudi::Units::mm; rmin[5] = r0 + 6.5*Gaudi::Units::mm; rmax[5] = r0 + 29.5*Gaudi::Units::mm;
 	} else if(id == "BackInnerRing::GTen"){
-		double r0       =357.5*GeoModelKernelUnits::mm-1.*GeoModelKernelUnits::mm;  // RInner = reference radius of the ring
+		double r0       =357.5*Gaudi::Units::mm-1.*Gaudi::Units::mm;  // RInner = reference radius of the ring
 		zplane.resize(6);  rmin.resize(6);    rmax.resize(6);
-		zplane[0] = 18.*GeoModelKernelUnits::mm; rmin[0] = r0 + 8.5*GeoModelKernelUnits::mm; rmax[0] = r0 + 28.5*GeoModelKernelUnits::mm;
-		zplane[1] = 23.*GeoModelKernelUnits::mm; rmin[1] = r0 + 8.5*GeoModelKernelUnits::mm; rmax[1] = r0 + 28.5*GeoModelKernelUnits::mm;
-		zplane[2] = 23.*GeoModelKernelUnits::mm; rmin[2] = r0 + 8.5*GeoModelKernelUnits::mm; rmax[2] = r0 + 40.5*GeoModelKernelUnits::mm;
-		zplane[3] = 43.*GeoModelKernelUnits::mm; rmin[3] = r0 + 8.5*GeoModelKernelUnits::mm; rmax[3] = r0 + 40.5*GeoModelKernelUnits::mm;
-		zplane[4] = 43.*GeoModelKernelUnits::mm; rmin[4] = r0 + 8.5*GeoModelKernelUnits::mm; rmax[4] = r0 + 28.5*GeoModelKernelUnits::mm;
-		zplane[5] = 48.*GeoModelKernelUnits::mm; rmin[5] = r0 + 8.5*GeoModelKernelUnits::mm; rmax[5] = r0 + 28.5*GeoModelKernelUnits::mm;
+		zplane[0] = 18.*Gaudi::Units::mm; rmin[0] = r0 + 8.5*Gaudi::Units::mm; rmax[0] = r0 + 28.5*Gaudi::Units::mm;
+		zplane[1] = 23.*Gaudi::Units::mm; rmin[1] = r0 + 8.5*Gaudi::Units::mm; rmax[1] = r0 + 28.5*Gaudi::Units::mm;
+		zplane[2] = 23.*Gaudi::Units::mm; rmin[2] = r0 + 8.5*Gaudi::Units::mm; rmax[2] = r0 + 40.5*Gaudi::Units::mm;
+		zplane[3] = 43.*Gaudi::Units::mm; rmin[3] = r0 + 8.5*Gaudi::Units::mm; rmax[3] = r0 + 40.5*Gaudi::Units::mm;
+		zplane[4] = 43.*Gaudi::Units::mm; rmin[4] = r0 + 8.5*Gaudi::Units::mm; rmax[4] = r0 + 28.5*Gaudi::Units::mm;
+		zplane[5] = 48.*Gaudi::Units::mm; rmin[5] = r0 + 8.5*Gaudi::Units::mm; rmax[5] = r0 + 28.5*Gaudi::Units::mm;
 	} else if(id == "FrontOuterRing"){
-		double r0 = 1961.*GeoModelKernelUnits::mm-7.*GeoModelKernelUnits::mm; // ROuter = inner radius of the outer ring
+		double r0 = 1961.*Gaudi::Units::mm-7.*Gaudi::Units::mm; // ROuter = inner radius of the outer ring
 		zplane.resize(7);  rmin.resize(7);    rmax.resize(7);
-		zplane[0] =   0. *GeoModelKernelUnits::mm; rmin[0] = r0 +  0.*GeoModelKernelUnits::mm; rmax[0] = r0 + 111.*GeoModelKernelUnits::mm;
-		zplane[1] =   5. *GeoModelKernelUnits::mm; rmin[1] = r0 +  0.*GeoModelKernelUnits::mm; rmax[1] = r0 + 116.*GeoModelKernelUnits::mm;
-		zplane[2] =  20. *GeoModelKernelUnits::mm; rmin[2] = r0 +  0.*GeoModelKernelUnits::mm; rmax[2] = r0 + 116.*GeoModelKernelUnits::mm;
-		zplane[3] =  20. *GeoModelKernelUnits::mm; rmin[3] = r0 + 62.*GeoModelKernelUnits::mm; rmax[3] = r0 + 116.*GeoModelKernelUnits::mm;
-		zplane[4] =  63.3*GeoModelKernelUnits::mm; rmin[4] = r0 + 62.*GeoModelKernelUnits::mm; rmax[4] = r0 + 116.*GeoModelKernelUnits::mm;
-		zplane[5] = 115.2*GeoModelKernelUnits::mm; rmin[5] = r0 + 90.*GeoModelKernelUnits::mm; rmax[5] = r0 + 116.*GeoModelKernelUnits::mm;
-		zplane[6] = 144. *GeoModelKernelUnits::mm; rmin[6] = r0 + 90.*GeoModelKernelUnits::mm; rmax[6] = r0 + 116.*GeoModelKernelUnits::mm;
+		zplane[0] =   0. *Gaudi::Units::mm; rmin[0] = r0 +  0.*Gaudi::Units::mm; rmax[0] = r0 + 111.*Gaudi::Units::mm;
+		zplane[1] =   5. *Gaudi::Units::mm; rmin[1] = r0 +  0.*Gaudi::Units::mm; rmax[1] = r0 + 116.*Gaudi::Units::mm;
+		zplane[2] =  20. *Gaudi::Units::mm; rmin[2] = r0 +  0.*Gaudi::Units::mm; rmax[2] = r0 + 116.*Gaudi::Units::mm;
+		zplane[3] =  20. *Gaudi::Units::mm; rmin[3] = r0 + 62.*Gaudi::Units::mm; rmax[3] = r0 + 116.*Gaudi::Units::mm;
+		zplane[4] =  63.3*Gaudi::Units::mm; rmin[4] = r0 + 62.*Gaudi::Units::mm; rmax[4] = r0 + 116.*Gaudi::Units::mm;
+		zplane[5] = 115.2*Gaudi::Units::mm; rmin[5] = r0 + 90.*Gaudi::Units::mm; rmax[5] = r0 + 116.*Gaudi::Units::mm;
+		zplane[6] = 144. *Gaudi::Units::mm; rmin[6] = r0 + 90.*Gaudi::Units::mm; rmax[6] = r0 + 116.*Gaudi::Units::mm;
 	} else if(id == "FrontOuterLongBar"){
 		zplane.resize(4);  rmin.resize(4);    rmax.resize(4);
-		zplane[0] =  0.*GeoModelKernelUnits::mm; rmin[0] = 1969.7*GeoModelKernelUnits::mm; rmax[0] = 2016.*GeoModelKernelUnits::mm;
-		zplane[1] =  1.*GeoModelKernelUnits::mm; rmin[1] = 1969.7*GeoModelKernelUnits::mm; rmax[1] = 2016.*GeoModelKernelUnits::mm;
-		zplane[2] =  1.*GeoModelKernelUnits::mm; rmin[2] =  652. *GeoModelKernelUnits::mm; rmax[2] = 2016.*GeoModelKernelUnits::mm;
-		zplane[3] = 21.*GeoModelKernelUnits::mm; rmin[3] =  652. *GeoModelKernelUnits::mm; rmax[3] = 2016.*GeoModelKernelUnits::mm;
+		zplane[0] =  0.*Gaudi::Units::mm; rmin[0] = 1969.7*Gaudi::Units::mm; rmax[0] = 2016.*Gaudi::Units::mm;
+		zplane[1] =  1.*Gaudi::Units::mm; rmin[1] = 1969.7*Gaudi::Units::mm; rmax[1] = 2016.*Gaudi::Units::mm;
+		zplane[2] =  1.*Gaudi::Units::mm; rmin[2] =  652. *Gaudi::Units::mm; rmax[2] = 2016.*Gaudi::Units::mm;
+		zplane[3] = 21.*Gaudi::Units::mm; rmin[3] =  652. *Gaudi::Units::mm; rmax[3] = 2016.*Gaudi::Units::mm;
                     //2020-46.3 ; RMiddle+40.//RMiddle+8+(lengthofbar=1398)
 	} else if(id == "BackOuterRing"){
-		double r0 = 1961.*GeoModelKernelUnits::mm-7.*GeoModelKernelUnits::mm;
+		double r0 = 1961.*Gaudi::Units::mm-7.*Gaudi::Units::mm;
 		zplane.resize(7);  rmin.resize(7);    rmax.resize(7);
-		zplane[0] =   0.*GeoModelKernelUnits::mm; rmin[0] = r0 +  0.*GeoModelKernelUnits::mm; rmax[0] = r0 + 111.*GeoModelKernelUnits::mm;
-		zplane[1] =   5.*GeoModelKernelUnits::mm; rmin[1] = r0 +  0.*GeoModelKernelUnits::mm; rmax[1] = r0 + 116.*GeoModelKernelUnits::mm;
-		zplane[2] =  15.*GeoModelKernelUnits::mm; rmin[2] = r0 +  0.*GeoModelKernelUnits::mm; rmax[2] = r0 + 116.*GeoModelKernelUnits::mm;
-		zplane[3] =  15.*GeoModelKernelUnits::mm; rmin[3] = r0 + 62.*GeoModelKernelUnits::mm; rmax[3] = r0 + 116.*GeoModelKernelUnits::mm;
-		zplane[4] =  41.*GeoModelKernelUnits::mm; rmin[4] = r0 + 62.*GeoModelKernelUnits::mm; rmax[4] = r0 + 116.*GeoModelKernelUnits::mm;
-		zplane[5] =  41.*GeoModelKernelUnits::mm; rmin[5] = r0 + 90.*GeoModelKernelUnits::mm; rmax[5] = r0 + 116.*GeoModelKernelUnits::mm;
-		zplane[6] = 139.*GeoModelKernelUnits::mm; rmin[6] = r0 + 90.*GeoModelKernelUnits::mm; rmax[6] = r0 + 116.*GeoModelKernelUnits::mm;
+		zplane[0] =   0.*Gaudi::Units::mm; rmin[0] = r0 +  0.*Gaudi::Units::mm; rmax[0] = r0 + 111.*Gaudi::Units::mm;
+		zplane[1] =   5.*Gaudi::Units::mm; rmin[1] = r0 +  0.*Gaudi::Units::mm; rmax[1] = r0 + 116.*Gaudi::Units::mm;
+		zplane[2] =  15.*Gaudi::Units::mm; rmin[2] = r0 +  0.*Gaudi::Units::mm; rmax[2] = r0 + 116.*Gaudi::Units::mm;
+		zplane[3] =  15.*Gaudi::Units::mm; rmin[3] = r0 + 62.*Gaudi::Units::mm; rmax[3] = r0 + 116.*Gaudi::Units::mm;
+		zplane[4] =  41.*Gaudi::Units::mm; rmin[4] = r0 + 62.*Gaudi::Units::mm; rmax[4] = r0 + 116.*Gaudi::Units::mm;
+		zplane[5] =  41.*Gaudi::Units::mm; rmin[5] = r0 + 90.*Gaudi::Units::mm; rmax[5] = r0 + 116.*Gaudi::Units::mm;
+		zplane[6] = 139.*Gaudi::Units::mm; rmin[6] = r0 + 90.*Gaudi::Units::mm; rmax[6] = r0 + 116.*Gaudi::Units::mm;
 	} else if(id == "BackOuterLongBar"){
 		zplane.resize(4);  rmin.resize(4);    rmax.resize(4);
-		zplane[0] =  0.*GeoModelKernelUnits::mm; rmin[0] = 1969.7*GeoModelKernelUnits::mm; rmax[0] = 2016.*GeoModelKernelUnits::mm;
-		zplane[1] =  1.*GeoModelKernelUnits::mm; rmin[1] = 1969.7*GeoModelKernelUnits::mm; rmax[1] = 2016.*GeoModelKernelUnits::mm;
-		zplane[2] =  1.*GeoModelKernelUnits::mm; rmin[2] =  736.5*GeoModelKernelUnits::mm; rmax[2] = 2016.*GeoModelKernelUnits::mm;
-		zplane[3] = 21.*GeoModelKernelUnits::mm; rmin[3] =  736.5*GeoModelKernelUnits::mm; rmax[3] = 2016.*GeoModelKernelUnits::mm;
+		zplane[0] =  0.*Gaudi::Units::mm; rmin[0] = 1969.7*Gaudi::Units::mm; rmax[0] = 2016.*Gaudi::Units::mm;
+		zplane[1] =  1.*Gaudi::Units::mm; rmin[1] = 1969.7*Gaudi::Units::mm; rmax[1] = 2016.*Gaudi::Units::mm;
+		zplane[2] =  1.*Gaudi::Units::mm; rmin[2] =  736.5*Gaudi::Units::mm; rmax[2] = 2016.*Gaudi::Units::mm;
+		zplane[3] = 21.*Gaudi::Units::mm; rmin[3] =  736.5*Gaudi::Units::mm; rmax[3] = 2016.*Gaudi::Units::mm;
 	} else {
 		throw std::runtime_error("EMECSupportConstruction: wrong Pcone id");
 	}
@@ -710,10 +710,10 @@ void EMECSupportConstruction::put_front_outer_barettes(GeoPhysVol *motherPhysica
 	motherPhysical->add(physFOB);
 
 	const int number_of_modules = 8;
-	const double moduldfi = GeoModelKernelUnits::twopi / number_of_modules;
+	const double moduldfi = Gaudi::Units::twopi / number_of_modules;
 	const int nofabs = (*m_DB_EmecWheelParameters)[1]->getInt("NABS");
 	const int nofdiv = nofabs / number_of_modules;
-	const double dfi = GeoModelKernelUnits::twopi / nofabs;
+	const double dfi = Gaudi::Units::twopi / nofabs;
   //define a fi section including one absorber and electrode
 	name = m_BaseName + "FrontOuterBarrette::Module::Phidiv";
 	GeoTubs *shapeFOBMP = new GeoTubs(rminFOB, rmaxFOB, dzFOB, -dfi/4., dfi);
@@ -808,10 +808,10 @@ void EMECSupportConstruction::put_front_inner_barettes(GeoPhysVol *motherPhysica
 	motherPhysical->add(physFIB);
 
 	const int number_of_modules = 8;
-	const double moduldfi = GeoModelKernelUnits::twopi / number_of_modules;
+	const double moduldfi = Gaudi::Units::twopi / number_of_modules;
 	const int nofabs = (*m_DB_EmecWheelParameters)[0]->getInt("NABS");
 	const int nofdiv = nofabs / number_of_modules;
-	const double dfi = GeoModelKernelUnits::twopi / nofabs;
+	const double dfi = Gaudi::Units::twopi / nofabs;
 
 	name = m_BaseName + "FrontInnerBarrette::Module::Phidiv";
 	GeoTubs *shapeFIBMP = new GeoTubs(rminFIB,rmaxFIB,dzFIB, -dfi/4., dfi);
@@ -905,10 +905,10 @@ void EMECSupportConstruction::put_back_outer_barettes(GeoPhysVol *motherPhysical
 	motherPhysical->add(physBOB);
 
 	const int number_of_modules = 8;
-	const double moduldfi = GeoModelKernelUnits::twopi / number_of_modules;
+	const double moduldfi = Gaudi::Units::twopi / number_of_modules;
 	int nofabs = (*m_DB_EmecWheelParameters)[1]->getInt("NABS");
 	int nofdiv = nofabs / number_of_modules;
-	double dfi = GeoModelKernelUnits::twopi / nofabs;
+	double dfi = Gaudi::Units::twopi / nofabs;
 
 	name = m_BaseName + "BackOuterBarrette::Module::Phidiv";
 	GeoTubs *shapeBOBMP = new GeoTubs(rminBOB, rmaxBOB, dzBOB, -dfi/4., dfi);
@@ -992,7 +992,7 @@ void EMECSupportConstruction::put_back_inner_barettes(GeoPhysVol *motherPhysical
 	map_t numbers = getNumbersMap(m_DB_numbers, id);
 
 	std::string name = m_BaseName + id;
-	double rminBIB = getNumber(m_DB_tubes, tubes, id, "RMIN", 357.5-1.+40.5);    //RInner +40.5// -1.GeoModelKernelUnits::mm for cold
+	double rminBIB = getNumber(m_DB_tubes, tubes, id, "RMIN", 357.5-1.+40.5);    //RInner +40.5// -1.Gaudi::Units::mm for cold
 	double rmaxBIB = getNumber(m_DB_tubes, tubes, id, "RMAX", 699.-2.5-40.);     //RMiddle-40   //-2.5mm for cold
 	double dzBIB = getNumber(m_DB_tubes, tubes, id, "DZ", 11. / 2);
 	double zposBIB = getNumber(m_DB_numbers, numbers, "Z0", "PARVALUE", 44.) + dzBIB;
@@ -1003,10 +1003,10 @@ void EMECSupportConstruction::put_back_inner_barettes(GeoPhysVol *motherPhysical
 	motherPhysical->add(physBIB);
 
 	const int number_of_modules = 8;
-	const double moduldfi = GeoModelKernelUnits::twopi / number_of_modules;
+	const double moduldfi = Gaudi::Units::twopi / number_of_modules;
 	const int nofabs = (*m_DB_EmecWheelParameters)[0]->getInt("NABS");
 	const int nofdiv = nofabs / number_of_modules;
-	const double dfi = GeoModelKernelUnits::twopi / nofabs;
+	const double dfi = Gaudi::Units::twopi / nofabs;
 
 	name = m_BaseName + "BackInnerBarrette::Module::Phidiv";
 	GeoTubs *shapeBIBMP = new GeoTubs(rminBIB, rmaxBIB, dzBIB, -dfi/4., dfi);
@@ -1101,9 +1101,9 @@ GeoPhysVol* EMECSupportConstruction::outer_envelope(void) const
 	map_t tubes = getMap(m_DB_tubes, "TUBENAME");
 	std::string id = "OuterTransversalBars";
 	std::string name = m_BaseName + id;
-	double rminOTB = getNumber(m_DB_tubes, tubes, id, "RMIN", (2034. + 2.)*GeoModelKernelUnits::mm);
-	double rmaxOTB = getNumber(m_DB_tubes, tubes, id, "RMAX", rminOTB + 3.*GeoModelKernelUnits::mm);
-	double dzOTB = getNumber(m_DB_tubes, tubes, id, "DZ", 201.*GeoModelKernelUnits::mm);
+	double rminOTB = getNumber(m_DB_tubes, tubes, id, "RMIN", (2034. + 2.)*Gaudi::Units::mm);
+	double rmaxOTB = getNumber(m_DB_tubes, tubes, id, "RMAX", rminOTB + 3.*Gaudi::Units::mm);
+	double dzOTB = getNumber(m_DB_tubes, tubes, id, "DZ", 201.*Gaudi::Units::mm);
 	GeoTubs* shapeOTB = new GeoTubs(rminOTB, rmaxOTB, dzOTB, m_PhiStart, m_PhiSize);
 	GeoLogVol* logicalOTB = new GeoLogVol(name, shapeOTB, m_Gten);
 	GeoPhysVol* physOTB = new GeoPhysVol(logicalOTB);
@@ -1111,16 +1111,16 @@ GeoPhysVol* EMECSupportConstruction::outer_envelope(void) const
 	id = "TopIndexingRing";
 	name = m_BaseName + id;
 	double rminTIR = getNumber(m_DB_tubes, tubes, id, "RMIN", rmaxOTB);
-	double rmaxTIR = getNumber(m_DB_tubes, tubes, id, "RMAX", rminTIR + 9.*GeoModelKernelUnits::mm);
-	double dzTIR = getNumber(m_DB_tubes, tubes, id, "DZ", 10.*GeoModelKernelUnits::mm);
+	double rmaxTIR = getNumber(m_DB_tubes, tubes, id, "RMAX", rminTIR + 9.*Gaudi::Units::mm);
+	double dzTIR = getNumber(m_DB_tubes, tubes, id, "DZ", 10.*Gaudi::Units::mm);
 	GeoTubs* shapeTIR = new GeoTubs(rminTIR, rmaxTIR, dzTIR, m_PhiStart, m_PhiSize);
 	GeoLogVol* logicalTIR = new GeoLogVol(name, shapeTIR, m_Alu);
 	GeoPhysVol* physTIR = new GeoPhysVol(logicalTIR);
 	id += "::Hole";
 	name = m_BaseName + id;
-	double dzTIRH = getNumber(m_DB_tubes, tubes, id, "DZ", 4.5*GeoModelKernelUnits::mm);
+	double dzTIRH = getNumber(m_DB_tubes, tubes, id, "DZ", 4.5*Gaudi::Units::mm);
 	double rmaxTIRH = getNumber(m_DB_tubes, tubes, id, "RMAX", rmaxTIR);
-	double rminTIRH = getNumber(m_DB_tubes, tubes, id, "RMIN", rmaxTIRH - 2.*GeoModelKernelUnits::mm);
+	double rminTIRH = getNumber(m_DB_tubes, tubes, id, "RMIN", rmaxTIRH - 2.*Gaudi::Units::mm);
 	GeoTubs* shapeTIRH = new GeoTubs(rminTIRH, rmaxTIRH, dzTIRH, m_PhiStart, m_PhiSize);
 	GeoLogVol* logicalTIRH = new GeoLogVol(name, shapeTIRH, m_LAr);
 	GeoPhysVol* physTIRH = new GeoPhysVol(logicalTIRH);
@@ -1161,7 +1161,7 @@ GeoPhysVol* EMECSupportConstruction::outer_envelope(void) const
 		motherPhysical->add(new GeoTransform(GeoTrf::RotateZ3D(-dfi + dfiNS*0.5)));
 		motherPhysical->add(physNS);
 	} else {
-		double dfi = GeoModelKernelUnits::twopi / number_of_stretchers;
+		double dfi = Gaudi::Units::twopi / number_of_stretchers;
 		int copyno = 0;
 		for(int i = 0; i < number_of_stretchers; ++ i, ++ copyno){
 			double fiW = i * dfi;
@@ -1184,26 +1184,26 @@ GeoPhysVol* EMECSupportConstruction::inner_envelope(void) const
 	map_t numbers = getNumbersMap(m_DB_numbers, id);
 	std::string name0 = m_BaseName + id;
 
-//	double dz = LArWheelCalculator::GetWheelThickness() * 0.5; //257.*GeoModelKernelUnits::mm;     //zWheelThickness/2.
-	double dz = 0.5 * (*m_DB_mn)[0]->getDouble("ACTIVELENGTH")*GeoModelKernelUnits::mm;
+//	double dz = LArWheelCalculator::GetWheelThickness() * 0.5; //257.*Gaudi::Units::mm;     //zWheelThickness/2.
+	double dz = 0.5 * (*m_DB_mn)[0]->getDouble("ACTIVELENGTH")*Gaudi::Units::mm;
 	try {
-		dz += (*m_DB_mn)[0]->getDouble("STRAIGHTSTARTSECTION")*GeoModelKernelUnits::mm;
+		dz += (*m_DB_mn)[0]->getDouble("STRAIGHTSTARTSECTION")*Gaudi::Units::mm;
 	}
 	catch(...){
-		dz += 2.*GeoModelKernelUnits::mm;
+		dz += 2.*Gaudi::Units::mm;
 		std::ostringstream tmp("cannot get STRAIGHTSTARTSECTION from DB");
 		printWarning(tmp);
 	}
 
-	double r1min = getNumber(m_DB_numbers, numbers, "R1MIN", "PARVALUE", (292.-1.)*GeoModelKernelUnits::mm); //lower radius of front inner ring, -1mm for cold
-	double r2min = getNumber(m_DB_numbers, numbers, "R2MIN", "PARVALUE", (333.-1.)*GeoModelKernelUnits::mm); //lower radius of back  inner ring, -1mm for cold
+	double r1min = getNumber(m_DB_numbers, numbers, "R1MIN", "PARVALUE", (292.-1.)*Gaudi::Units::mm); //lower radius of front inner ring, -1mm for cold
+	double r2min = getNumber(m_DB_numbers, numbers, "R2MIN", "PARVALUE", (333.-1.)*Gaudi::Units::mm); //lower radius of back  inner ring, -1mm for cold
                                   //RInnerFront-43.5;RInnerBack-24.5
 	const double talpha = (r2min - r1min)*0.5/dz;
 	const double calpha = 2.*dz/sqrt(pow(2.*dz,2.)+pow(r2min-r1min,2.));
         const double inv_calpha = 1. / calpha;
 	const double alpha = atan(talpha);
-	double surfthick = getNumber(m_DB_numbers, numbers, "surfthick", "PARVALUE", 1.*GeoModelKernelUnits::mm);       // thickness of the cone shell
-	double barthick = getNumber(m_DB_numbers, numbers, "barthick", "PARVALUE", 5.*GeoModelKernelUnits::mm);       // thickness of the Alu bars
+	double surfthick = getNumber(m_DB_numbers, numbers, "surfthick", "PARVALUE", 1.*Gaudi::Units::mm);       // thickness of the cone shell
+	double barthick = getNumber(m_DB_numbers, numbers, "barthick", "PARVALUE", 5.*Gaudi::Units::mm);       // thickness of the Alu bars
 	double r1max     = pow(barthick/2.,2.)+ pow(r1min+(surfthick+barthick)*inv_calpha,2.);
 			r1max     = sqrt(r1max)+surfthick*inv_calpha;
 	double r2max     = r2min+(r1max-r1min);
@@ -1243,7 +1243,7 @@ GeoPhysVol* EMECSupportConstruction::inner_envelope(void) const
 //-------------------------/
 
 	const int    nofmodul  =   8;
-	const double moduldphi = GeoModelKernelUnits::twopi / nofmodul;
+	const double moduldphi = Gaudi::Units::twopi / nofmodul;
   GeoCons*     shapeIACP  = new GeoCons(
        	                      r1min+surfthick*inv_calpha,r2min+surfthick*inv_calpha,
                               r1max-surfthick*inv_calpha,r2max-surfthick*inv_calpha,
@@ -1260,7 +1260,7 @@ GeoPhysVol* EMECSupportConstruction::inner_envelope(void) const
   GeoLogVol* logicalIACAB= new GeoLogVol (name,shapeIACAB, m_Alu);
   GeoPhysVol*   physIACAB= new GeoPhysVol(logicalIACAB);
 
-  const double dphi = GeoModelKernelUnits::twopi / 256.;
+  const double dphi = Gaudi::Units::twopi / 256.;
   const int    nbar = 9;
   const double phi[9]={-15.,-11.,-7.5,-4.,0.,4.,7.5,11.,15.}; // phipos of the bars
   const double r0=r1min+(surfthick+barthick/2.)*inv_calpha+dz*talpha;
@@ -1287,9 +1287,9 @@ GeoPhysVol* EMECSupportConstruction::inner_envelope(void) const
 //!!!!
 GeoPhysVol* EMECSupportConstruction::middle_envelope(void) const
 {
-	double dMechFocaltoWRP = (*m_DB_EmecGeometry)[0]->getDouble("Z1") *GeoModelKernelUnits::cm;
-	double LArEMECHalfCrack = (*m_DB_EmecGeometry)[0]->getDouble("DCRACK") *GeoModelKernelUnits::cm;
-	double LArTotalThickness = (*m_DB_EmecGeometry)[0]->getDouble("ETOT") *GeoModelKernelUnits::cm;
+	double dMechFocaltoWRP = (*m_DB_EmecGeometry)[0]->getDouble("Z1") *Gaudi::Units::cm;
+	double LArEMECHalfCrack = (*m_DB_EmecGeometry)[0]->getDouble("DCRACK") *Gaudi::Units::cm;
+	double LArTotalThickness = (*m_DB_EmecGeometry)[0]->getDouble("ETOT") *Gaudi::Units::cm;
 
 	double eta_mid = (*m_DB_EmecWheelParameters)[0]->getDouble("ETAEXT");
 
@@ -1298,8 +1298,8 @@ GeoPhysVol* EMECSupportConstruction::middle_envelope(void) const
         const double inv_cosThetaMid = 1. / cosThetaMid;
 
 	double z0 = LArTotalThickness * 0.5 + dMechFocaltoWRP;
-	double length = 462.*GeoModelKernelUnits::mm;
-	double rthickness = 1.5*GeoModelKernelUnits::mm * inv_cosThetaMid;
+	double length = 462.*Gaudi::Units::mm;
+	double rthickness = 1.5*Gaudi::Units::mm * inv_cosThetaMid;
 
 	std::string name = m_BaseName + "InnerTransversalBars";
 	double dz = length * cosThetaMid * 0.5;
diff --git a/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EndcapCryostatConstruction.cxx b/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EndcapCryostatConstruction.cxx
index 50a89f47d88a..cd0b45fea19a 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EndcapCryostatConstruction.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EndcapCryostatConstruction.cxx
@@ -33,7 +33,6 @@
 #include "GeoModelKernel/GeoXF.h"
 #include "GeoModelKernel/GeoSerialTransformer.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
 #include "StoreGate/StoreGateSvc.h"
 #include "GeoModelInterfaces/AbsMaterialManager.h"
 #include "GeoModelInterfaces/StoredMaterialManager.h"
@@ -62,6 +61,7 @@
 
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <string>
 #include <cmath>
@@ -299,18 +299,18 @@ GeoFullPhysVol* LArGeo::EndcapCryostatConstruction::createEnvelope(bool bPos)
                 if(currentRecord->getString("CYL_LOCATION")=="Endcap"){
                   if(cylNumber  == 3 )
                     {
-                      rmin_warm=currentRecord->getDouble("RMIN")*GeoModelKernelUnits::cm;
-                      rmax_warm=currentRecord->getDouble("RMIN")*GeoModelKernelUnits::cm + currentRecord->getDouble("DR")*GeoModelKernelUnits::cm;
-                      dz_warm=currentRecord->getDouble("DZ")*GeoModelKernelUnits::cm / 2.;
-                      zInCryostat_warm = currentRecord->getDouble("ZMIN")*GeoModelKernelUnits::cm + currentRecord->getDouble("DZ")*GeoModelKernelUnits::cm / 2.;
+                      rmin_warm=currentRecord->getDouble("RMIN")*Gaudi::Units::cm;
+                      rmax_warm=currentRecord->getDouble("RMIN")*Gaudi::Units::cm + currentRecord->getDouble("DR")*Gaudi::Units::cm;
+                      dz_warm=currentRecord->getDouble("DZ")*Gaudi::Units::cm / 2.;
+                      zInCryostat_warm = currentRecord->getDouble("ZMIN")*Gaudi::Units::cm + currentRecord->getDouble("DZ")*Gaudi::Units::cm / 2.;
                       wallfind=wallfind+1;
                     }
                   if(cylNumber  == 14 )
                     {
-                      rmin_cold=currentRecord->getDouble("RMIN")*GeoModelKernelUnits::cm;
-                      rmax_cold=currentRecord->getDouble("RMIN")*GeoModelKernelUnits::cm + currentRecord->getDouble("DR")*GeoModelKernelUnits::cm;
-                      dz_cold=currentRecord->getDouble("DZ")*GeoModelKernelUnits::cm / 2.;
-                      zInCryostat_cold = currentRecord->getDouble("ZMIN")*GeoModelKernelUnits::cm + currentRecord->getDouble("DZ")*GeoModelKernelUnits::cm / 2.;
+                      rmin_cold=currentRecord->getDouble("RMIN")*Gaudi::Units::cm;
+                      rmax_cold=currentRecord->getDouble("RMIN")*Gaudi::Units::cm + currentRecord->getDouble("DR")*Gaudi::Units::cm;
+                      dz_cold=currentRecord->getDouble("DZ")*Gaudi::Units::cm / 2.;
+                      zInCryostat_cold = currentRecord->getDouble("ZMIN")*Gaudi::Units::cm + currentRecord->getDouble("DZ")*Gaudi::Units::cm / 2.;
                       wallfind=wallfind+1;
                     }
                 }
@@ -388,11 +388,11 @@ GeoFullPhysVol* LArGeo::EndcapCryostatConstruction::createEnvelope(bool bPos)
 	}
       
 	GeoTubs* solidCyl
-	  = new GeoTubs(currentRecord->getDouble("RMIN")*GeoModelKernelUnits::cm,
-			currentRecord->getDouble("RMIN")*GeoModelKernelUnits::cm + currentRecord->getDouble("DR")*GeoModelKernelUnits::cm,
-			currentRecord->getDouble("DZ")*GeoModelKernelUnits::cm / 2.,
+	  = new GeoTubs(currentRecord->getDouble("RMIN")*Gaudi::Units::cm,
+			currentRecord->getDouble("RMIN")*Gaudi::Units::cm + currentRecord->getDouble("DR")*Gaudi::Units::cm,
+			currentRecord->getDouble("DZ")*Gaudi::Units::cm / 2.,
 			(double) 0.,
-			(double) 2.*M_PI*GeoModelKernelUnits::rad);
+			(double) 2.*M_PI*Gaudi::Units::rad);
 	const GeoMaterial *material  = materialManager->getMaterial(currentRecord->getString("MATERIAL"));
       
 	if (!material) {
@@ -407,7 +407,7 @@ GeoFullPhysVol* LArGeo::EndcapCryostatConstruction::createEnvelope(bool bPos)
       
 	GeoPhysVol* physCyl = new GeoPhysVol(logicCyl);
       
-	double zInCryostat = currentRecord->getDouble("ZMIN")*GeoModelKernelUnits::cm + currentRecord->getDouble("DZ")*GeoModelKernelUnits::cm / 2.;
+	double zInCryostat = currentRecord->getDouble("ZMIN")*Gaudi::Units::cm + currentRecord->getDouble("DZ")*Gaudi::Units::cm / 2.;
 	// Don't move the pump even if the rest of the cryostat moves.
 
 	//if ( cylNumber == 33 ) zInCryostat -= zEmec;
@@ -427,7 +427,7 @@ GeoFullPhysVol* LArGeo::EndcapCryostatConstruction::createEnvelope(bool bPos)
 	  GeoFullPhysVol* emecPSEnvelope = endcapPresamplerConstruction.Envelope();
 	  if ( emecPSEnvelope != 0 ) {
 	    // Get the position of the presampler from the geometry helper.
-	    double Zpos = 30.5*GeoModelKernelUnits::mm; 
+	    double Zpos = 30.5*Gaudi::Units::mm; 
 	    
 	    // It is highly debateable whether the endcap presampler is 
 	    // alignable, but in any case we shall not align it here because
@@ -727,10 +727,10 @@ GeoFullPhysVol* LArGeo::EndcapCryostatConstruction::createEnvelope(bool bPos)
 	}
 
 	// Build mother volume
-	double rminMM = (*itMother)->getDouble("RMIN")*GeoModelKernelUnits::mm; 
-	double rmaxMM = (*itMother)->getDouble("RMAX")*GeoModelKernelUnits::mm;
-	double dzMM = (*itMother)->getDouble("DZ")*GeoModelKernelUnits::mm;
-	zposMM = (*itMother)->getDouble("ZPOS")*GeoModelKernelUnits::mm;
+	double rminMM = (*itMother)->getDouble("RMIN")*Gaudi::Units::mm; 
+	double rmaxMM = (*itMother)->getDouble("RMAX")*Gaudi::Units::mm;
+	double dzMM = (*itMother)->getDouble("DZ")*Gaudi::Units::mm;
+	zposMM = (*itMother)->getDouble("ZPOS")*Gaudi::Units::mm;
 	
 	const GeoMaterial *matMM  = materialManager->getMaterial((*itMother)->getString("MATERIAL"));
 	
@@ -739,8 +739,8 @@ GeoFullPhysVol* LArGeo::EndcapCryostatConstruction::createEnvelope(bool bPos)
 	GeoTube *tubeJM=NULL;
 	const GeoShape *solidMM=NULL;
 	if (itTube!=mbtsTubs->end()) {
-	  double dzMod   = (*itTube)->getDouble("DZ")*GeoModelKernelUnits::mm;
-	  double rMaxMod = (*itTube)->getDouble("RMAX")*GeoModelKernelUnits::mm;
+	  double dzMod   = (*itTube)->getDouble("DZ")*Gaudi::Units::mm;
+	  double rMaxMod = (*itTube)->getDouble("RMAX")*Gaudi::Units::mm;
 	  
 	  GeoPcon *pcon = new GeoPcon(0,2*M_PI);
 	  pcon->addPlane(-dzMM,rminMM,rmaxMM);
@@ -760,10 +760,10 @@ GeoFullPhysVol* LArGeo::EndcapCryostatConstruction::createEnvelope(bool bPos)
 	cryoMotherPhysical->add(pvMM);
 
 	// Moderator cylinder
-	//double rminMod  = (*itModerator)->getDouble("RMIN")*GeoModelKernelUnits::mm; 
-	//double rmaxMod = (*itModerator)->getDouble("RMAX")*GeoModelKernelUnits::mm;
-	double dzMod = (*itModerator)->getDouble("DZ")*GeoModelKernelUnits::mm;
-	double zposMod = (*itModerator)->getDouble("ZPOS")*GeoModelKernelUnits::mm;
+	//double rminMod  = (*itModerator)->getDouble("RMIN")*Gaudi::Units::mm; 
+	//double rmaxMod = (*itModerator)->getDouble("RMAX")*Gaudi::Units::mm;
+	double dzMod = (*itModerator)->getDouble("DZ")*Gaudi::Units::mm;
+	double zposMod = (*itModerator)->getDouble("ZPOS")*Gaudi::Units::mm;
 	
 	const GeoMaterial *matMod  = materialManager->getMaterial((*itModerator)->getString("MATERIAL"));
 	
@@ -870,13 +870,13 @@ GeoFullPhysVol* LArGeo::EndcapCryostatConstruction::createEnvelope(bool bPos)
 	  const IRDBRecord* curScin = (*mbtsScin)[scinId];
 	
 	  int nScin = curScin->getInt("SCINNUM");
-	  double dx1Scin = curScin->getDouble("DX1")*GeoModelKernelUnits::mm;
-	  double dx2Scin = curScin->getDouble("DX2")*GeoModelKernelUnits::mm;
-	  double dy1Scin = curScin->getDouble("DY1")*GeoModelKernelUnits::mm;
-	  double dy2Scin = curScin->getDouble("DY2")*GeoModelKernelUnits::mm;
-	  double dzScin  = curScin->getDouble("DZ")*GeoModelKernelUnits::mm;
-	  double zposScin = curScin->getDouble("ZPOS")*GeoModelKernelUnits::mm;
-	  double rposScin = curScin->getDouble("RPOS")*GeoModelKernelUnits::mm;
+	  double dx1Scin = curScin->getDouble("DX1")*Gaudi::Units::mm;
+	  double dx2Scin = curScin->getDouble("DX2")*Gaudi::Units::mm;
+	  double dy1Scin = curScin->getDouble("DY1")*Gaudi::Units::mm;
+	  double dy2Scin = curScin->getDouble("DY2")*Gaudi::Units::mm;
+	  double dzScin  = curScin->getDouble("DZ")*Gaudi::Units::mm;
+	  double zposScin = curScin->getDouble("ZPOS")*Gaudi::Units::mm;
+	  double rposScin = curScin->getDouble("RPOS")*Gaudi::Units::mm;
 
 	  double startPhi = 0.;
 	  try {
@@ -901,12 +901,12 @@ GeoFullPhysVol* LArGeo::EndcapCryostatConstruction::createEnvelope(bool bPos)
 	  GeoSerialTransformer* stScin = 0;
 	  
 	  if(bPos) {
-	    GENFUNCTION phiInd = deltaPhi*(varInd + startPhi)*GeoModelKernelUnits::deg;
-	    TRANSFUNCTION xfScin = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateZ3D(zposScin)*GeoTrf::TranslateX3D(rposScin)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+	    GENFUNCTION phiInd = deltaPhi*(varInd + startPhi)*Gaudi::Units::deg;
+	    TRANSFUNCTION xfScin = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateZ3D(zposScin)*GeoTrf::TranslateX3D(rposScin)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
 	    stScin = new GeoSerialTransformer(pvScin,&xfScin,nScin);
 	  } else {
-	    GENFUNCTION phiInd = (180 - deltaPhi*(varInd + startPhi))*GeoModelKernelUnits::deg;
-	    TRANSFUNCTION xfScin = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateZ3D(zposScin)*GeoTrf::TranslateX3D(rposScin)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+	    GENFUNCTION phiInd = (180 - deltaPhi*(varInd + startPhi))*Gaudi::Units::deg;
+	    TRANSFUNCTION xfScin = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateZ3D(zposScin)*GeoTrf::TranslateX3D(rposScin)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
 	    stScin = new GeoSerialTransformer(pvScin,&xfScin,nScin);
 	  }
 	  
@@ -966,12 +966,12 @@ GeoFullPhysVol* LArGeo::EndcapCryostatConstruction::createEnvelope(bool bPos)
 	Variable varInd;
 	GeoSerialTransformer* stAirEnv = 0;
 	if(bPos) {
-	  GENFUNCTION phiInd = deltaPhi*(varInd + startPhi)*GeoModelKernelUnits::deg;
-	  TRANSFUNCTION xfAirEnv = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateZ3D(zposAirEnv)*GeoTrf::TranslateX3D(rposAirEnv)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+	  GENFUNCTION phiInd = deltaPhi*(varInd + startPhi)*Gaudi::Units::deg;
+	  TRANSFUNCTION xfAirEnv = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateZ3D(zposAirEnv)*GeoTrf::TranslateX3D(rposAirEnv)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
 	  stAirEnv = new GeoSerialTransformer(pvAirEnv,&xfAirEnv,nAirEnv);
 	} else {
-	  GENFUNCTION phiInd = (180 - deltaPhi*(varInd + startPhi))*GeoModelKernelUnits::deg;
-	  TRANSFUNCTION xfAirEnv = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateZ3D(zposAirEnv)*GeoTrf::TranslateX3D(rposAirEnv)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+	  GENFUNCTION phiInd = (180 - deltaPhi*(varInd + startPhi))*Gaudi::Units::deg;
+	  TRANSFUNCTION xfAirEnv = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateZ3D(zposAirEnv)*GeoTrf::TranslateX3D(rposAirEnv)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
 	  stAirEnv = new GeoSerialTransformer(pvAirEnv,&xfAirEnv,nAirEnv);
 	}
 
@@ -1015,15 +1015,15 @@ GeoFullPhysVol* LArGeo::EndcapCryostatConstruction::createEnvelope(bool bPos)
 	
 		nScin = curScin->getInt("SCINNUM");
 		eta = curScin->getInt("SCIN_ID")-1;
-		dx1Scin = curScin->getDouble("DX1")*GeoModelKernelUnits::mm;
-		dzScin  = curScin->getDouble("DZ")*GeoModelKernelUnits::mm;
-		zposScin = curScin->getDouble("ZPOS")*GeoModelKernelUnits::mm;
-		rposScin = curScin->getDouble("RPOS")*GeoModelKernelUnits::mm;
+		dx1Scin = curScin->getDouble("DX1")*Gaudi::Units::mm;
+		dzScin  = curScin->getDouble("DZ")*Gaudi::Units::mm;
+		zposScin = curScin->getDouble("ZPOS")*Gaudi::Units::mm;
+		rposScin = curScin->getDouble("RPOS")*Gaudi::Units::mm;
 		if(!curScin->isFieldNull("ETA"))
 		  scineta = curScin->getDouble("ETA");
 		if(!curScin->isFieldNull("DETA"))
 		  scindeta = curScin->getDouble("DETA");
-		deltaPhi = 360.*GeoModelKernelUnits::deg/nScin;
+		deltaPhi = 360.*Gaudi::Units::deg/nScin;
 		try {
 		  if(!curScin->isFieldNull("STARTPHI"))
 		    startPhi = curScin->getDouble("STARTPHI");
@@ -1036,14 +1036,14 @@ GeoFullPhysVol* LArGeo::EndcapCryostatConstruction::createEnvelope(bool bPos)
 		const IRDBRecord* curScin = (*mbtsTrds)[trdMap[scinName]];
 		nScin = (*mbtsGen)[0]->getInt("NSCIN");
 		eta = curScin->getInt("SCIN_ID")-1;
-		dx1Scin = curScin->getDouble("DX1")*GeoModelKernelUnits::mm;
-		dzScin  = curScin->getDouble("DZ")*GeoModelKernelUnits::mm;
-		zposScin = (*mbtsGen)[0]->getDouble("ZPOSENV")*GeoModelKernelUnits::mm;
-		rposScin = ((*mbtsGen)[0]->getDouble("RPOSENV")+curScin->getDouble("ZPOS"))*GeoModelKernelUnits::mm;
+		dx1Scin = curScin->getDouble("DX1")*Gaudi::Units::mm;
+		dzScin  = curScin->getDouble("DZ")*Gaudi::Units::mm;
+		zposScin = (*mbtsGen)[0]->getDouble("ZPOSENV")*Gaudi::Units::mm;
+		rposScin = ((*mbtsGen)[0]->getDouble("RPOSENV")+curScin->getDouble("ZPOS"))*Gaudi::Units::mm;
 		scineta = curScin->getDouble("ETA");
 		scindeta = curScin->getDouble("DETA");
 		startPhi = (*mbtsGen)[0]->getDouble("STARTPHI");
-		deltaPhi = 360.*GeoModelKernelUnits::deg/nScin;
+		deltaPhi = 360.*Gaudi::Units::deg/nScin;
 	      }
 
 	    for(int phi=0; phi<nScin; phi++) {
diff --git a/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EndcapDMConstruction.cxx b/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EndcapDMConstruction.cxx
index 768040c298b7..ebba1c54f910 100644
--- a/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EndcapDMConstruction.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EndcapDMConstruction.cxx
@@ -7,6 +7,7 @@
 #include "GaudiKernel/ISvcLocator.h"
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/IMessageSvc.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include "StoreGate/StoreGateSvc.h"
 
 #include "GeoModelKernel/GeoMaterial.h"
@@ -23,7 +24,6 @@
 #include "GeoModelKernel/GeoShapeShift.h"
 #include "GeoModelKernel/GeoShapeSubtraction.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
 #include "GeoModelInterfaces/IGeoModelSvc.h"
 #include "GeoModelInterfaces/StoredMaterialManager.h"
 #include "GeoModelUtilities/DecodeVersionKey.h"
@@ -107,8 +107,8 @@ void LArGeo::EndcapDMConstruction::create(GeoFullPhysVol* envelope)
   unsigned int recordIndex;
 
   // Get materials
-  const GeoMaterial *alu               = materialManager->getMaterial("std::Aluminium"); //2.7 GeoModelKernelUnits::g/GeoModelKernelUnits::cm3
-  const GeoMaterial* matBoardsEnvelope = materialManager->getMaterial("LAr::BoardsEnvelope");// 0.932*GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3);
+  const GeoMaterial *alu               = materialManager->getMaterial("std::Aluminium");
+  const GeoMaterial* matBoardsEnvelope = materialManager->getMaterial("LAr::BoardsEnvelope");
 
   ////----------- Building Front-end crates --------------------
   recordIndex = tubeMap["Ped2"];
@@ -185,9 +185,9 @@ void LArGeo::EndcapDMConstruction::create(GeoFullPhysVol* envelope)
   GeoTube    *Ped2     = new GeoTube(ped2minr, ped2maxr, ped2zhlen);
   GeoTube    *Ped3     = new GeoTube(ped3minr,ped3maxr , ped3zhlen);
   const GeoShape & CratePed=((*Pedestal).subtract(*Ped1).
-			     subtract((*Ped2)  <<GeoTrf::TranslateY3D(-ped2ytr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg)).
+			     subtract((*Ped2)  <<GeoTrf::TranslateY3D(-ped2ytr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg)).
 			     subtract((*Ped3)  <<GeoTrf::TranslateX3D(-ped3xtr)).
-			     subtract((*Ped2)  <<GeoTrf::TranslateY3D(ped2ytr)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg)));
+			     subtract((*Ped2)  <<GeoTrf::TranslateY3D(ped2ytr)*GeoTrf::RotateY3D(90*Gaudi::Units::deg)));
 
   GeoLogVol  *lvped   = new GeoLogVol("LAr::DM::Ped",&CratePed,alu);
   GeoPhysVol *pedestal   = new GeoPhysVol(lvped);
@@ -213,7 +213,7 @@ void LArGeo::EndcapDMConstruction::create(GeoFullPhysVol* envelope)
   GeoTransform* xfBoardEBase2(new GeoTransform(GeoTrf::TranslateY3D(-BoardEytr)*GeoTrf::TranslateX3D(BoardExtr)*GeoTrf::TranslateZ3D(BoardEztr)));
 
   for(unsigned i(0); i<LArEndcapCratePhiPos->size(); ++i) {
-    double phiPos = (*LArEndcapCratePhiPos)[i]->getDouble("PHIPOS")*GeoModelKernelUnits::deg;
+    double phiPos = (*LArEndcapCratePhiPos)[i]->getDouble("PHIPOS")*Gaudi::Units::deg;
     GeoTransform* xfPhiPos(new GeoTransform(GeoTrf::RotateZ3D(phiPos)));
 
     envelope->add(xfPhiPos);
diff --git a/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EndcapPresamplerConstruction.cxx b/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EndcapPresamplerConstruction.cxx
index b89f9c4d31cc..2ca1d36710a0 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EndcapPresamplerConstruction.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EndcapPresamplerConstruction.cxx
@@ -13,7 +13,6 @@
 #include "GeoModelKernel/GeoNameTag.h"  
 #include "GeoModelKernel/GeoIdentifierTag.h"  
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
 #include "StoreGate/StoreGateSvc.h"
 #include "GeoModelInterfaces/AbsMaterialManager.h"
 #include "GeoModelInterfaces/StoredMaterialManager.h"
@@ -23,6 +22,7 @@
 #include "StoreGate/StoreGateSvc.h"
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 // For the database:
 
@@ -103,14 +103,14 @@ GeoFullPhysVol* EndcapPresamplerConstruction::Envelope()
   ///////////////////////////////////////////////////////////////////
   // LAr Endcap Presampler GEOMETRY
   ///////////////////////////////////////////////////////////////////
-  double Rmin = 1231.74*GeoModelKernelUnits::mm;
-  double Rmax = 1701.98*GeoModelKernelUnits::mm;
-  double HalfZ = ((*presamplerPosition)[0]->getDouble("TCK")/2.)*GeoModelKernelUnits::cm;  
+  double Rmin = 1231.74*Gaudi::Units::mm;
+  double Rmax = 1701.98*Gaudi::Units::mm;
+  double HalfZ = ((*presamplerPosition)[0]->getDouble("TCK")/2.)*Gaudi::Units::cm;  
 
 
   std::string name = "LAr::Endcap::Presampler::LiquidArgon";
 
-  double phi_size = 360.*GeoModelKernelUnits::deg;
+  double phi_size = 360.*Gaudi::Units::deg;
   double start_phi = 0.;
   
   if( m_isModule ){
diff --git a/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EndcapPresamplerGeometryHelper.cxx b/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EndcapPresamplerGeometryHelper.cxx
index df188ef36224..f10e0d28d8b3 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EndcapPresamplerGeometryHelper.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoEndcap/src/EndcapPresamplerGeometryHelper.cxx
@@ -11,7 +11,7 @@
 // 2-July-2003 Mikhail Leltchouk: local coordinates for determination
 // of etaBin, phiBin at any Endcap Presamplerposition. 
 
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include "LArGeoEndcap/EndcapPresamplerGeometryHelper.h"
 #include "LArGeoCode/VDetectorParameters.h"
 
@@ -48,22 +48,22 @@ double LArGeo::EndcapPresamplerGeometryHelper::GetValue(const kValue a_valueType
   switch (a_valueType)
     {
     case rMinEndcapPresampler:
-      //return 1231.74 * GeoModelKernelUnits::mm;
+      //return 1231.74 * mm;
       return  m_parameters->GetValue("LArEMECPreMinRadius");
       break;
     case rMaxEndcapPresampler:
-      //return 1701.98 * GeoModelKernelUnits::mm;
+      //return 1701.98 * mm;
       return  m_parameters->GetValue("LArEMECPreMaxRadius");
       break;
       // At nominal (zShift=0) endcap position absolute z-coordinates: 
       // of the faces of the EndcapPresampler
     case zEndcapPresamplerFrontFace:
-      //return 3622. * GeoModelKernelUnits::mm;
+      //return 3622. * mm;
       return (m_parameters->GetValue("LArEMECPreNomPos")
 	      - GetValue(EndcapPresamplerHalfThickness));
       break;
     case zEndcapPresamplerBackFace:
-      //return 3626. * GeoModelKernelUnits::mm;
+      //return 3626. * mm;
       return (m_parameters->GetValue("LArEMECPreNomPos")
 	      + GetValue(EndcapPresamplerHalfThickness)); 
       break;
@@ -73,8 +73,8 @@ double LArGeo::EndcapPresamplerGeometryHelper::GetValue(const kValue a_valueType
       break;
     case EndcapPresamplerZpositionInMother:
       // between cold wall center and presampler center which is at
-      // 3624 GeoModelKernelUnits::mm nominal (zShift=0) absolute position
-      return 30.5 * GeoModelKernelUnits::mm;
+      // 3624 Gaudi::Units::mm nominal (zShift=0) absolute position
+      return 30.5 * Gaudi::Units::mm;
       break;
     default:
       std::cerr << "EndcapPresamplerGeometryHelper::GetValue -- type '"
diff --git a/LArCalorimeter/LArGeoModel/LArGeoFcal/src/FCALConstruction.cxx b/LArCalorimeter/LArGeoModel/LArGeoFcal/src/FCALConstruction.cxx
index 90b09c85679e..f1f9135c0901 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoFcal/src/FCALConstruction.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoFcal/src/FCALConstruction.cxx
@@ -23,7 +23,6 @@
 #include "GeoModelKernel/GeoBox.h"
 #include "GeoModelKernel/GeoTrap.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
 #include "StoreGate/StoreGateSvc.h"
 #include "GeoModelUtilities/DecodeVersionKey.h"
 #include "GeoModelInterfaces/StoredMaterialManager.h"
@@ -44,6 +43,7 @@
 #include "GaudiKernel/ISvcLocator.h"
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include <string>
 #include <cmath>
 #include <cfloat>
@@ -163,9 +163,9 @@ GeoVFullPhysVol* LArGeo::FCALConstruction::GetEnvelope(bool bPos)
 
   std::string baseName = "LAr::FCAL::";
 
-  double startZFCal1 = (*m_fcalMod)[0]->getDouble("STARTPOSITION"); //466.85 * GeoModelKernelUnits::cm;
-  //double startZFCal2 = (*m_fcalMod)[1]->getDouble("STARTPOSITION"); //512.83 * GeoModelKernelUnits::cm;
-  double startZFCal3 = (*m_fcalMod)[2]->getDouble("STARTPOSITION"); //560.28 * GeoModelKernelUnits::cm;
+  double startZFCal1 = (*m_fcalMod)[0]->getDouble("STARTPOSITION"); //466.85 * cm;
+  //double startZFCal2 = (*m_fcalMod)[1]->getDouble("STARTPOSITION"); //512.83 * cm;
+  double startZFCal3 = (*m_fcalMod)[2]->getDouble("STARTPOSITION"); //560.28 * cm;
 
   double outerModuleRadius1=(*m_fcalMod)[0]->getDouble("OUTERMODULERADIUS");
   double outerModuleRadius2=(*m_fcalMod)[1]->getDouble("OUTERMODULERADIUS");
@@ -199,7 +199,7 @@ GeoVFullPhysVol* LArGeo::FCALConstruction::GetEnvelope(bool bPos)
     double halfDepth   = totalDepth/2.;
 
     std::string name = baseName + "LiquidArgonC";
-    GeoTubs *tubs = new GeoTubs(innerRadius,outerRadius,halfDepth,0,360*GeoModelKernelUnits::deg);
+    GeoTubs *tubs = new GeoTubs(innerRadius,outerRadius,halfDepth,0,360*Gaudi::Units::deg);
     GeoLogVol *logVol= new GeoLogVol(name, tubs, LAr);
     fcalPhysical = new GeoFullPhysVol(logVol);
   }
@@ -234,7 +234,7 @@ GeoVFullPhysVol* LArGeo::FCALConstruction::GetEnvelope(bool bPos)
 	GeoAlignableTransform *xfAbs1 = new GeoAlignableTransform(xfPos);
 	
 	fcalPhysical->add(xfAbs1);
-	if (!bPos)  fcalPhysical->add(new GeoTransform(GeoTrf::RotateY3D(180*GeoModelKernelUnits::deg)));
+	if (!bPos)  fcalPhysical->add(new GeoTransform(GeoTrf::RotateY3D(180*Gaudi::Units::deg)));
 	fcalPhysical->add(physVol);
 	modPhysical = physVol;
 	
@@ -253,17 +253,17 @@ GeoVFullPhysVol* LArGeo::FCALConstruction::GetEnvelope(bool bPos)
       // 16 Troughs representing  Cable Harnesses:
       if(m_fullGeo)
 	if(m_absPhysical1==0) {
-	  double troughDepth       = 1.0 * GeoModelKernelUnits::cm;
+	  double troughDepth       = 1.0 * Gaudi::Units::cm;
 	  double outerRadius       = outerModuleRadius1;
 	  double innerRadius       = outerRadius - troughDepth;
 	  double halfLength        = fullModuleDepth1/ 2.0;
-	  double deltaPhi          = 5.625 * GeoModelKernelUnits::deg;
-	  double startPhi          = 11.25 * GeoModelKernelUnits::deg - deltaPhi/2.0;
+	  double deltaPhi          = 5.625 * Gaudi::Units::deg;
+	  double startPhi          = 11.25 * Gaudi::Units::deg - deltaPhi/2.0;
 	  GeoTubs * tubs = new GeoTubs(innerRadius,outerRadius,halfLength,startPhi,deltaPhi );
 	  GeoLogVol *logVol = new GeoLogVol(baseName+"Module1::CableTrough",tubs,FCalCableHarness);
 	  GeoPhysVol *physVol = new GeoPhysVol(logVol);
 	  GeoGenfun::Variable i;
-	  GeoGenfun::GENFUNCTION rotationAngle = 22.5*GeoModelKernelUnits::deg*i;
+	  GeoGenfun::GENFUNCTION rotationAngle = 22.5*Gaudi::Units::deg*i;
 	  GeoXF::TRANSFUNCTION xf = GeoXF::Pow(GeoTrf::RotateZ3D(1.0),rotationAngle);
 	  GeoSerialTransformer *st = new GeoSerialTransformer(physVol,&xf,16);
 	  modPhysical->add(st);
@@ -329,7 +329,7 @@ GeoVFullPhysVol* LArGeo::FCALConstruction::GetEnvelope(bool bPos)
 	    
 	    if (m_VisLimit != -1 && (counter++ > m_VisLimit)) continue;
 	    if(m_fullGeo) {	      
-	      GeoTransform *xf = new GeoTransform(GeoTrf::Translate3D(thisTubeX*GeoModelKernelUnits::cm, thisTubeY*GeoModelKernelUnits::cm,0));
+	      GeoTransform *xf = new GeoTransform(GeoTrf::Translate3D(thisTubeX*Gaudi::Units::cm, thisTubeY*Gaudi::Units::cm,0));
 	      modPhysical->add(xf);
 	      modPhysical->add(physVol);
 	    }
@@ -366,7 +366,7 @@ GeoVFullPhysVol* LArGeo::FCALConstruction::GetEnvelope(bool bPos)
 	GeoAlignableTransform *xfAbs2 = new GeoAlignableTransform(xfPos);
 	
 	fcalPhysical->add(xfAbs2);
-	if (!bPos)  fcalPhysical->add(new GeoTransform(GeoTrf::RotateY3D(180*GeoModelKernelUnits::deg)));
+	if (!bPos)  fcalPhysical->add(new GeoTransform(GeoTrf::RotateY3D(180*Gaudi::Units::deg)));
 	fcalPhysical->add(physVol);
 	modPhysical = physVol;
 	
@@ -385,17 +385,17 @@ GeoVFullPhysVol* LArGeo::FCALConstruction::GetEnvelope(bool bPos)
       // 16 Troughs representing  Cable Harnesses:
       if(m_fullGeo)
 	if(m_absPhysical2==0) {
-	  double troughDepth       = 1.0 * GeoModelKernelUnits::cm;
+	  double troughDepth       = 1.0 * Gaudi::Units::cm;
 	  double outerRadius       = outerModuleRadius2;
 	  double innerRadius       = outerRadius - troughDepth;
 	  double halfLength        = fullModuleDepth2/ 2.0;
-	  double deltaPhi          = 5.625 * GeoModelKernelUnits::deg;
-	  double startPhi          = 11.25 * GeoModelKernelUnits::deg - deltaPhi/2.0;
+	  double deltaPhi          = 5.625 * Gaudi::Units::deg;
+	  double startPhi          = 11.25 * Gaudi::Units::deg - deltaPhi/2.0;
 	  GeoTubs * tubs = new GeoTubs(innerRadius,outerRadius,halfLength,startPhi,deltaPhi );
 	  GeoLogVol *logVol = new GeoLogVol(baseName+"Module2::CableTrough",tubs,FCalCableHarness);
 	  GeoPhysVol *physVol = new GeoPhysVol(logVol);
 	  GeoGenfun::Variable i;
-	  GeoGenfun::GENFUNCTION rotationAngle = 22.5*GeoModelKernelUnits::deg*i;
+	  GeoGenfun::GENFUNCTION rotationAngle = 22.5*Gaudi::Units::deg*i;
 	  GeoXF::TRANSFUNCTION xf = GeoXF::Pow(GeoTrf::RotateZ3D(1.0),rotationAngle);
 	  GeoSerialTransformer *st = new GeoSerialTransformer(physVol,&xf,16);
 	  modPhysical->add(st);
@@ -469,7 +469,7 @@ GeoVFullPhysVol* LArGeo::FCALConstruction::GetEnvelope(bool bPos)
 	    
 	    if (m_VisLimit != -1 && (counter++ > m_VisLimit)) continue;
 	    if(m_fullGeo) {	      
-	      GeoTransform *xf = new GeoTransform(GeoTrf::Translate3D(thisTubeX*GeoModelKernelUnits::cm, thisTubeY*GeoModelKernelUnits::cm,0));
+	      GeoTransform *xf = new GeoTransform(GeoTrf::Translate3D(thisTubeX*Gaudi::Units::cm, thisTubeY*Gaudi::Units::cm,0));
 	      modPhysical->add(xf);
 	      modPhysical->add(gapPhys);
 	    }
@@ -506,7 +506,7 @@ GeoVFullPhysVol* LArGeo::FCALConstruction::GetEnvelope(bool bPos)
 	GeoAlignableTransform *xfAbs3 = new GeoAlignableTransform(xfPos);
 	
 	fcalPhysical->add(xfAbs3);
-	if (!bPos)  fcalPhysical->add(new GeoTransform(GeoTrf::RotateY3D(180*GeoModelKernelUnits::deg)));
+	if (!bPos)  fcalPhysical->add(new GeoTransform(GeoTrf::RotateY3D(180*Gaudi::Units::deg)));
 	fcalPhysical->add(physVol);
 	modPhysical = physVol;
 
@@ -527,38 +527,38 @@ GeoVFullPhysVol* LArGeo::FCALConstruction::GetEnvelope(bool bPos)
       if(m_fullGeo)
 	if(m_absPhysical3==0) {
 	  static double rotAngles[] =
-	    { 11.25 * GeoModelKernelUnits::deg,
-	      22.50 * GeoModelKernelUnits::deg,
-	      45.00 * GeoModelKernelUnits::deg,
-	      56.25 * GeoModelKernelUnits::deg,
-	      67.50 * GeoModelKernelUnits::deg,
-	      90.00 * GeoModelKernelUnits::deg,  // first quarter
-	      101.25 * GeoModelKernelUnits::deg,
-	      112.50 * GeoModelKernelUnits::deg,
-	      135.00 * GeoModelKernelUnits::deg,
-	      146.25 * GeoModelKernelUnits::deg,
-	      157.50 * GeoModelKernelUnits::deg,
-	      180.00 * GeoModelKernelUnits::deg,  // second quarter
-	      191.25 * GeoModelKernelUnits::deg,
-	      202.50 * GeoModelKernelUnits::deg,
-	      225.00 * GeoModelKernelUnits::deg,
-	      236.25 * GeoModelKernelUnits::deg,
-	      247.50 * GeoModelKernelUnits::deg,
-	      270.00 * GeoModelKernelUnits::deg,  // third quarter
-	      281.25 * GeoModelKernelUnits::deg,
-	      292.50 * GeoModelKernelUnits::deg,
-	      315.00 * GeoModelKernelUnits::deg,
-	      326.25 * GeoModelKernelUnits::deg,
-	      337.50 * GeoModelKernelUnits::deg,
-	      360.00 * GeoModelKernelUnits::deg };
+	    { 11.25 * Gaudi::Units::deg,
+	      22.50 * Gaudi::Units::deg,
+	      45.00 * Gaudi::Units::deg,
+	      56.25 * Gaudi::Units::deg,
+	      67.50 * Gaudi::Units::deg,
+	      90.00 * Gaudi::Units::deg,  // first quarter
+	      101.25 * Gaudi::Units::deg,
+	      112.50 * Gaudi::Units::deg,
+	      135.00 * Gaudi::Units::deg,
+	      146.25 * Gaudi::Units::deg,
+	      157.50 * Gaudi::Units::deg,
+	      180.00 * Gaudi::Units::deg,  // second quarter
+	      191.25 * Gaudi::Units::deg,
+	      202.50 * Gaudi::Units::deg,
+	      225.00 * Gaudi::Units::deg,
+	      236.25 * Gaudi::Units::deg,
+	      247.50 * Gaudi::Units::deg,
+	      270.00 * Gaudi::Units::deg,  // third quarter
+	      281.25 * Gaudi::Units::deg,
+	      292.50 * Gaudi::Units::deg,
+	      315.00 * Gaudi::Units::deg,
+	      326.25 * Gaudi::Units::deg,
+	      337.50 * Gaudi::Units::deg,
+	      360.00 * Gaudi::Units::deg };
 	
 	  GeoGenfun::ArrayFunction rotationAngle(rotAngles,rotAngles+24);
-	  double troughDepth       = 1.0 * GeoModelKernelUnits::cm;
+	  double troughDepth       = 1.0 * Gaudi::Units::cm;
 	  double outerRadius       = outerModuleRadius3;
 	  double innerRadius       = outerRadius - troughDepth;
 	  double halfLength        = fullModuleDepth3/ 2.0;
-	  double deltaPhi          = 5.625 * GeoModelKernelUnits::deg;
-	  double startPhi          = 11.25 * GeoModelKernelUnits::deg - deltaPhi/2.0;
+	  double deltaPhi          = 5.625 * Gaudi::Units::deg;
+	  double startPhi          = 11.25 * Gaudi::Units::deg - deltaPhi/2.0;
 	  GeoTubs * tubs = new GeoTubs(innerRadius,outerRadius,halfLength,startPhi,deltaPhi );
 	  GeoLogVol *logVol = new GeoLogVol(baseName+"Module3::CableTrough",tubs,FCalCableHarness);
 	  GeoPhysVol *physVol = new GeoPhysVol(logVol);
@@ -637,7 +637,7 @@ GeoVFullPhysVol* LArGeo::FCALConstruction::GetEnvelope(bool bPos)
 	    
 	    if (m_VisLimit != -1 && (counter++ > m_VisLimit)) continue;
 	    if(m_fullGeo) {	      
-	      GeoTransform *xf = new GeoTransform(GeoTrf::Translate3D(thisTubeX*GeoModelKernelUnits::cm, thisTubeY*GeoModelKernelUnits::cm,0));
+	      GeoTransform *xf = new GeoTransform(GeoTrf::Translate3D(thisTubeX*Gaudi::Units::cm, thisTubeY*Gaudi::Units::cm,0));
 	      modPhysical->add(xf);
 	      modPhysical->add(gapPhys);
 	    }
diff --git a/LArCalorimeter/LArGeoModel/LArGeoHec/src/HEC2WheelConstruction.cxx b/LArCalorimeter/LArGeoModel/LArGeoHec/src/HEC2WheelConstruction.cxx
index 1f205323582b..6cd88171bc27 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoHec/src/HEC2WheelConstruction.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoHec/src/HEC2WheelConstruction.cxx
@@ -44,7 +44,6 @@
 #include "GeoModelKernel/GeoSerialIdentifier.h"
 #include "GeoModelKernel/GeoXF.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
 #include "GeoGenericFunctions/Variable.h"
 #include "StoreGate/StoreGateSvc.h"
 #include "GeoModelInterfaces/AbsMaterialManager.h"
@@ -53,6 +52,7 @@
 #include "GeoModelUtilities/StoredAlignX.h"
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include "AthenaKernel/getMessageSvc.h"
 
 #include "GeoModelUtilities/GeoDBUtils.h"
@@ -66,9 +66,9 @@
 #include <iostream>
 
 
-using GeoModelKernelUnits::cm;
-using GeoModelKernelUnits::mm;
-using GeoModelKernelUnits::deg;
+using Gaudi::Units::cm;
+using Gaudi::Units::mm;
+using Gaudi::Units::deg;
 using GeoTrf::Transform3D;
 using GeoTrf::Translate3D;
 
diff --git a/LArCalorimeter/LArGeoModel/LArGeoHec/src/HECClampConstruction.cxx b/LArCalorimeter/LArGeoModel/LArGeoHec/src/HECClampConstruction.cxx
index 200c46eb62db..07c7e1c66cdb 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoHec/src/HECClampConstruction.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoHec/src/HECClampConstruction.cxx
@@ -32,13 +32,13 @@
 #include "GeoModelKernel/GeoSerialIdentifier.h"
 #include "GeoModelKernel/GeoXF.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
 #include "GeoGenericFunctions/Variable.h"
 #include "StoreGate/StoreGateSvc.h"
 #include "GeoModelInterfaces/AbsMaterialManager.h"
 #include "GeoModelInterfaces/StoredMaterialManager.h"
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include "AthenaKernel/getMessageSvc.h"
 
 
@@ -51,9 +51,9 @@
 #include <cmath>
 #include <iostream>
 
-using GeoModelKernelUnits::cm;
-using GeoModelKernelUnits::mm;
-using GeoModelKernelUnits::deg;
+using Gaudi::Units::cm;
+using Gaudi::Units::mm;
+using Gaudi::Units::deg;
 using GeoTrf::RotateZ3D;
 using GeoTrf::Translate3D;
 using GeoTrf::TranslateZ3D;
diff --git a/LArCalorimeter/LArGeoModel/LArGeoHec/src/HECModuleConstruction.cxx b/LArCalorimeter/LArGeoModel/LArGeoHec/src/HECModuleConstruction.cxx
index 00319637749c..40491b326d1e 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoHec/src/HECModuleConstruction.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoHec/src/HECModuleConstruction.cxx
@@ -23,13 +23,13 @@
 #include "GeoModelKernel/GeoSerialIdentifier.h"
 #include "GeoModelKernel/GeoXF.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
 #include "GeoGenericFunctions/Variable.h"
 #include "StoreGate/StoreGateSvc.h"
 #include "GeoModelInterfaces/AbsMaterialManager.h"
 #include "GeoModelInterfaces/StoredMaterialManager.h"
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include "AthenaKernel/getMessageSvc.h"
 #include "RDBAccessSvc/IRDBAccessSvc.h"
 #include "RDBAccessSvc/IRDBRecord.h"
@@ -41,9 +41,9 @@
 #include <iostream>
 
 
-using GeoModelKernelUnits::cm;
-using GeoModelKernelUnits::mm;
-using GeoModelKernelUnits::deg;
+using Gaudi::Units::cm;
+using Gaudi::Units::mm;
+using Gaudi::Units::deg;
 using GeoTrf::Translate3D;
 using GeoTrf::TranslateY3D;
 using GeoTrf::TranslateZ3D;
diff --git a/LArCalorimeter/LArGeoModel/LArGeoHec/src/HECWheelConstruction.cxx b/LArCalorimeter/LArGeoModel/LArGeoHec/src/HECWheelConstruction.cxx
index ee64b7541b09..24892c99b1e6 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoHec/src/HECWheelConstruction.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoHec/src/HECWheelConstruction.cxx
@@ -33,13 +33,13 @@
 #include "GeoModelKernel/GeoSerialIdentifier.h"
 #include "GeoModelKernel/GeoXF.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
 #include "GeoGenericFunctions/Variable.h"
 #include "StoreGate/StoreGateSvc.h"
 #include "GeoModelInterfaces/AbsMaterialManager.h"
 #include "GeoModelInterfaces/StoredMaterialManager.h"
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include "AthenaKernel/getMessageSvc.h"
 
 
@@ -53,9 +53,9 @@
 #include <iostream>
 
 
-using GeoModelKernelUnits::cm;
-using GeoModelKernelUnits::mm;
-using GeoModelKernelUnits::deg;
+using Gaudi::Units::cm;
+using Gaudi::Units::mm;
+using Gaudi::Units::deg;
 using GeoTrf::RotateZ3D;
 
 
diff --git a/LArCalorimeter/LArGeoModel/LArGeoMiniFcal/src/MiniFcalConstruction.cxx b/LArCalorimeter/LArGeoModel/LArGeoMiniFcal/src/MiniFcalConstruction.cxx
index ce0332a805de..b2b25b3d3d33 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoMiniFcal/src/MiniFcalConstruction.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoMiniFcal/src/MiniFcalConstruction.cxx
@@ -19,7 +19,6 @@
 #include "GeoModelKernel/GeoSerialTransformer.h"
 #include "GeoModelKernel/GeoSerialIdentifier.h"
 #include "GeoModelKernel/GeoIdentifierTag.h"  
-#include "GeoModelKernel/Units.h"
 #include "GeoGenericFunctions/Variable.h"
 
 #include "GeoModelInterfaces/IGeoModelSvc.h"
@@ -32,6 +31,7 @@
 #include "StoreGate/StoreGateSvc.h"
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <string>
 #include <cmath>
@@ -127,9 +127,9 @@ GeoFullPhysVol* LArGeo::MiniFcalConstruction::GetEnvelope()
   //_________ Define geometry __________________________
 
   //__Copper envelope
-  double halfLength = envParameters->getDouble("DZ")*GeoModelKernelUnits::mm; 
-  double Router     = envParameters->getDouble("RMAX")*GeoModelKernelUnits::mm; 
-  double Rinner     = envParameters->getDouble("RMIN")*GeoModelKernelUnits::mm;
+  double halfLength = envParameters->getDouble("DZ")*Gaudi::Units::mm; 
+  double Router     = envParameters->getDouble("RMAX")*Gaudi::Units::mm; 
+  double Rinner     = envParameters->getDouble("RMIN")*Gaudi::Units::mm;
 
   // Buld a Cu block and place layers into that...
   GeoTubs *solidMiniFcal = new GeoTubs(Rinner, Router, halfLength, 0., 2.*M_PI); // Big outer radius
@@ -165,15 +165,15 @@ GeoFullPhysVol* LArGeo::MiniFcalConstruction::GetEnvelope()
     for(unsigned i=0; i<recRings->size(); ++i)
       ringIndexes[(*recRings)[i]->getInt("RINGNUM")] = i;
 
-    double L1         =  (*recCommon)[0]->getDouble("ABSORBERTHICKNESS")*GeoModelKernelUnits::mm; // Cu plates of fixed thickness
-    double LayerThick =  (*recCommon)[0]->getDouble("LAYERTHICKNESS")*GeoModelKernelUnits::mm;    // Layers between the Cu plates 
-    double WaferThick =  (*recCommon)[0]->getDouble("WAFERTHICKNESS")*GeoModelKernelUnits::mm;   // Diamond wafers - thickness
-    double WaferSize  =  (*recCommon)[0]->getDouble("WAFERSIZEX")*GeoModelKernelUnits::mm;    // Square Daimond wafers
+    double L1         =  (*recCommon)[0]->getDouble("ABSORBERTHICKNESS")*Gaudi::Units::mm; // Cu plates of fixed thickness
+    double LayerThick =  (*recCommon)[0]->getDouble("LAYERTHICKNESS")*Gaudi::Units::mm;    // Layers between the Cu plates 
+    double WaferThick =  (*recCommon)[0]->getDouble("WAFERTHICKNESS")*Gaudi::Units::mm;   // Diamond wafers - thickness
+    double WaferSize  =  (*recCommon)[0]->getDouble("WAFERSIZEX")*Gaudi::Units::mm;    // Square Daimond wafers
     int    NLayers    =  (*recCommon)[0]->getInt("NLAYERS");      // Have 11 gaps and 12 Cu plates
 
-    log << MSG::DEBUG << "=====> Build a Mini FCal of length  " << 2.*halfLength << " GeoModelKernelUnits::mm and " 
-	<< NLayers << " layers of  " << LayerThick << " GeoModelKernelUnits::mm thickness each; place them every  "
-	<< L1 << " GeoModelKernelUnits::mm " << endmsg;
+    log << MSG::DEBUG << "=====> Build a Mini FCal of length  " << 2.*halfLength << " Gaudi::Units::mm and " 
+	<< NLayers << " layers of  " << LayerThick << " Gaudi::Units::mm thickness each; place them every  "
+	<< L1 << " Gaudi::Units::mm " << endmsg;
 
     // Make the Layers (all the same) - out of Feldspar (perhaps close to ceramics)
     std::string layerName = moduleName + "::Layer" ;
@@ -182,7 +182,7 @@ GeoFullPhysVol* LArGeo::MiniFcalConstruction::GetEnvelope()
     
     //-- Construct wafers and arrange them in rings inside the ceramic layers.
     std::string waferName = moduleName + "::Wafer" ;
-    GeoBox* solidWafer = new GeoBox( (WaferSize/2.)*GeoModelKernelUnits::mm, (WaferSize/2.)*GeoModelKernelUnits::mm, (WaferThick/2.)*GeoModelKernelUnits::mm);
+    GeoBox* solidWafer = new GeoBox( (WaferSize/2.)*Gaudi::Units::mm, (WaferSize/2.)*Gaudi::Units::mm, (WaferThick/2.)*Gaudi::Units::mm);
     GeoLogVol* logiWafer = new GeoLogVol(waferName,solidWafer,Diamond);
     GeoPhysVol* physiWafer = new GeoPhysVol(logiWafer);
 
@@ -210,7 +210,7 @@ GeoFullPhysVol* LArGeo::MiniFcalConstruction::GetEnvelope()
       int nwafers(0);
 
       double phishift = (*recLayers)[layerIndexes[j]]->getDouble("PHISHIFT");
-      double rshift = (*recLayers)[layerIndexes[j]]->getDouble("RSHIFT")*GeoModelKernelUnits::mm;
+      double rshift = (*recLayers)[layerIndexes[j]]->getDouble("RSHIFT")*Gaudi::Units::mm;
 
       for (unsigned int i=0; i<recRings->size(); i++){  // loop over the number of wafer rings
 	if(ringIndexes.find(i)==ringIndexes.end()) {
@@ -231,14 +231,14 @@ GeoFullPhysVol* LArGeo::MiniFcalConstruction::GetEnvelope()
 	// for the negative z-side have to add pi to get things right:
 	GeoGenfun::GENFUNCTION RotationAngle = activate*(M_PI) + phisense * (phishift + wAngle/2. + wAngle*Index) ;
 	GeoXF::TRANSFUNCTION t  = 
-	  GeoXF::Pow(GeoTrf::RotateZ3D(1.0),RotationAngle) * GeoTrf::TranslateX3D(rshift+rwafer+5.*GeoModelKernelUnits::mm) * GeoTrf::TranslateZ3D(-LayerThick/2.+ WaferThick/2.) ;
+	  GeoXF::Pow(GeoTrf::RotateZ3D(1.0),RotationAngle) * GeoTrf::TranslateX3D(rshift+rwafer+5.*Gaudi::Units::mm) * GeoTrf::TranslateZ3D(-LayerThick/2.+ WaferThick/2.) ;
 	GeoSerialTransformer *sTF = new GeoSerialTransformer (physiWafer,&t,nwafers);
 	physiLayer->add(sIF);
 	physiLayer->add(sTF);
       }
 
       log << MSG::DEBUG << "- Working on layer " << j << " now. Place it at " 
-	  << ( -halfLength + L1 + double(j)*( L1 + LayerThick) + LayerThick/2. ) << " GeoModelKernelUnits::mm " << endmsg;
+	  << ( -halfLength + L1 + double(j)*( L1 + LayerThick) + LayerThick/2. ) << " Gaudi::Units::mm " << endmsg;
       m_physiMiniFcal->add(new GeoIdentifierTag(j));        
       GeoTransform *xf = new GeoTransform(GeoTrf::TranslateZ3D( -halfLength + L1 + double(j)*( L1 + LayerThick) + LayerThick/2. ));
       m_physiMiniFcal->add(xf);
@@ -248,7 +248,7 @@ GeoFullPhysVol* LArGeo::MiniFcalConstruction::GetEnvelope()
 
 
   //________ Construct top transform object _____________
-  m_transform = GeoTrf::TranslateZ3D(envParameters->getDouble("ZPOS")*GeoModelKernelUnits::mm);
+  m_transform = GeoTrf::TranslateZ3D(envParameters->getDouble("ZPOS")*Gaudi::Units::mm);
   // Layers should be fully equipeed now. Put them into MiniFcal
  
   return m_physiMiniFcal;
diff --git a/LArCalorimeter/LArGeoModel/LArReadoutGeometry/LArReadoutGeometry/EMECDetectorRegion.h b/LArCalorimeter/LArGeoModel/LArReadoutGeometry/LArReadoutGeometry/EMECDetectorRegion.h
index 367646781306..23bcc382d038 100755
--- a/LArCalorimeter/LArGeoModel/LArReadoutGeometry/LArReadoutGeometry/EMECDetectorRegion.h
+++ b/LArCalorimeter/LArGeoModel/LArReadoutGeometry/LArReadoutGeometry/EMECDetectorRegion.h
@@ -8,7 +8,7 @@
 #include "LArReadoutGeometry/EMECDetDescr.h"
 #include "GeoModelKernel/GeoVDetectorElement.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include "GeoPrimitives/GeoPrimitives.h"
 #include "CLHEP/Geometry/Point3D.h"
 
@@ -39,7 +39,7 @@ class EMECDetectorRegion : public GeoVDetectorElement
   EMECDetectorRegion(const GeoVFullPhysVol *physVol
 		     , const EMECDetDescr *emecDescriptor
 		     , DetectorSide endcap
-		     , double projectivityDisplacement = 4*GeoModelKernelUnits::cm);
+		     , double projectivityDisplacement = 4*Gaudi::Units::cm);
 
   /**
    * @brief    Destructor    
diff --git a/LArCalorimeter/LArGeoModel/LArReadoutGeometry/LArReadoutGeometry/FCALModule.h b/LArCalorimeter/LArGeoModel/LArReadoutGeometry/LArReadoutGeometry/FCALModule.h
index b86a754eadb3..010f745fc0c4 100755
--- a/LArCalorimeter/LArGeoModel/LArReadoutGeometry/LArReadoutGeometry/FCALModule.h
+++ b/LArCalorimeter/LArGeoModel/LArReadoutGeometry/LArReadoutGeometry/FCALModule.h
@@ -9,7 +9,7 @@
 #include "LArReadoutGeometry/FCALTile.h"
 #include "GeoModelKernel/GeoVDetectorElement.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include "GeoPrimitives/GeoPrimitives.h"
 
 class FCALDetectorManager;
@@ -45,7 +45,7 @@ class FCALModule : public GeoVDetectorElement
   FCALModule (const GeoVFullPhysVol *physVol
 	      , Module module
 	      , Endcap endcap
-	      , double projectivityDisplacement = 4*GeoModelKernelUnits::cm);
+	      , double projectivityDisplacement = 4*Gaudi::Units::cm);
     
   /**
    * @brief Desctructor
diff --git a/LArCalorimeter/LArGeoModel/LArReadoutGeometry/LArReadoutGeometry/HECDetectorRegion.h b/LArCalorimeter/LArGeoModel/LArReadoutGeometry/LArReadoutGeometry/HECDetectorRegion.h
index 8be83da82bdb..776adb869626 100755
--- a/LArCalorimeter/LArGeoModel/LArReadoutGeometry/LArReadoutGeometry/HECDetectorRegion.h
+++ b/LArCalorimeter/LArGeoModel/LArReadoutGeometry/LArReadoutGeometry/HECDetectorRegion.h
@@ -8,7 +8,7 @@
 #include "LArReadoutGeometry/HECCellConstLink.h"
 #include "GeoModelKernel/GeoVDetectorElement.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include "GeoPrimitives/GeoPrimitives.h"
 #include "CLHEP/Geometry/Point3D.h"
 
@@ -42,7 +42,7 @@ class HECDetectorRegion : public GeoVDetectorElement
   HECDetectorRegion (const GeoVFullPhysVol *physVol
 		     , const HECDetDescr *hecDescriptor
 		     , DetectorSide endcap
-		     , double projectivityDisplacement = 4*GeoModelKernelUnits::cm);
+		     , double projectivityDisplacement = 4*Gaudi::Units::cm);
 
   /**
    * @brief Destructor
diff --git a/LArCalorimeter/LArGeoModel/LArReadoutGeometry/src/EMBAccordionDetails.cxx b/LArCalorimeter/LArGeoModel/LArReadoutGeometry/src/EMBAccordionDetails.cxx
index fe74f2b8f292..1a34066cddd6 100644
--- a/LArCalorimeter/LArGeoModel/LArReadoutGeometry/src/EMBAccordionDetails.cxx
+++ b/LArCalorimeter/LArGeoModel/LArReadoutGeometry/src/EMBAccordionDetails.cxx
@@ -10,8 +10,8 @@
 #include "GeoModelInterfaces/IGeoModelSvc.h"
 #include "GaudiKernel/ISvcLocator.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/PhysicalConstants.h"
 #include "StoreGate/StoreGateSvc.h"
-#include "GeoModelKernel/Units.h"
 #include <cmath>
 class EMBAccordionDetails::Clockwork {
 
@@ -187,7 +187,7 @@ void EMBAccordionDetails::Clockwork::getRPhi()
 // accordion geometry
 int EMBAccordionDetails::Clockwork::phiGap(double radius, double xhit, const double yhit)
 {
-  const double m2pi = 2.0*GeoModelKernelUnits::pi;
+  const double m2pi = 2.0*Gaudi::Units::pi;
   double phi_0=phi0(radius)+gam0;   // from -M_PI to M_PI
   double phi_hit=atan2(yhit,xhit);  // from -M_PI to M_PI
   double dphi=phi_hit-phi_0;
@@ -244,23 +244,23 @@ EMBAccordionDetails::EMBAccordionDetails():m_c(new Clockwork()) {
   // phi of first absorber
   m_c->gam0 = (*barrelGeometry)[0]->getDouble("PHIFIRST");
   // radius of curvature of neutral fiber in the folds
-  m_c->rint_eleFib = (*barrelGeometry)[0]->getDouble("RINT")*GeoModelKernelUnits::cm;
+  m_c->rint_eleFib = (*barrelGeometry)[0]->getDouble("RINT")*Gaudi::Units::cm;
   
   // r,phi positions of the centre of the folds (nominal geometry)
   for (int idat = 0; idat < m_c->Nbrt1 ; idat++) 
     {
-      m_c->rc[idat]   = (*barrelGeometry)[0]->getDouble("RHOCEN",idat)*GeoModelKernelUnits::cm; 
-      m_c->phic[idat] = (*barrelGeometry)[0]->getDouble("PHICEN",idat)*GeoModelKernelUnits::deg; 
-      m_c->delta[idat] = (*barrelGeometry)[0]->getDouble("DELTA",idat)*GeoModelKernelUnits::deg; 
+      m_c->rc[idat]   = (*barrelGeometry)[0]->getDouble("RHOCEN",idat)*Gaudi::Units::cm; 
+      m_c->phic[idat] = (*barrelGeometry)[0]->getDouble("PHICEN",idat)*Gaudi::Units::deg; 
+      m_c->delta[idat] = (*barrelGeometry)[0]->getDouble("DELTA",idat)*Gaudi::Units::deg; 
       m_c->xc[idat] = m_c->rc[idat]*cos(m_c->phic[idat]);
       m_c->yc[idat] = m_c->rc[idat]*sin(m_c->phic[idat]);
     }
   //
-  m_c->rMinAccordion  =   (*barrelGeometry)[0]->getDouble("RIN_AC")*GeoModelKernelUnits::cm;  
-  m_c->rMaxAccordion  =   (*barrelGeometry)[0]->getDouble("ROUT_AC")*GeoModelKernelUnits::cm;  
+  m_c->rMinAccordion  =   (*barrelGeometry)[0]->getDouble("RIN_AC")*Gaudi::Units::cm;  
+  m_c->rMaxAccordion  =   (*barrelGeometry)[0]->getDouble("ROUT_AC")*Gaudi::Units::cm;  
   m_c->etaMaxBarrel   =   (*barrelGeometry)[0]->getDouble("ETACUT");      
-  m_c->zMinBarrel     =   (*barrelLongDiv)[0]->getDouble("ZMAXACT")*GeoModelKernelUnits::cm;    
-  m_c->zMaxBarrel     =   (*barrelLongDiv)[0]->getDouble("ZMINACT")*GeoModelKernelUnits::cm;    
+  m_c->zMinBarrel     =   (*barrelLongDiv)[0]->getDouble("ZMAXACT")*Gaudi::Units::cm;    
+  m_c->zMaxBarrel     =   (*barrelLongDiv)[0]->getDouble("ZMINACT")*Gaudi::Units::cm;    
   // === GU 11/06/2003   total number of cells in phi
   // to distinguish 1 module (testbeam case) from full Atlas
   m_c->NCellTot =         (*barrelGeometry)[0]->getInt("NCELMX"); 
diff --git a/LArCalorimeter/LArGeoModel/LArReadoutGeometry/src/EMBBasicReadoutNumbers.cxx b/LArCalorimeter/LArGeoModel/LArReadoutGeometry/src/EMBBasicReadoutNumbers.cxx
index 74c7e745950f..d0aece53d0bf 100755
--- a/LArCalorimeter/LArGeoModel/LArReadoutGeometry/src/EMBBasicReadoutNumbers.cxx
+++ b/LArCalorimeter/LArGeoModel/LArReadoutGeometry/src/EMBBasicReadoutNumbers.cxx
@@ -5,6 +5,7 @@
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
 #include "GaudiKernel/ISvcLocator.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include "RDBAccessSvc/IRDBRecord.h"
 #include "RDBAccessSvc/IRDBRecordset.h"
@@ -13,7 +14,6 @@
 
 #include "GeoModelInterfaces/IGeoModelSvc.h"
 #include "GeoModelUtilities/DecodeVersionKey.h" 
-#include "GeoModelKernel/Units.h"
 #include "LArReadoutGeometry/EMBBasicReadoutNumbers.h"
 
 EMBBasicReadoutNumbers::EMBBasicReadoutNumbers()
@@ -56,12 +56,12 @@ EMBBasicReadoutNumbers::EMBBasicReadoutNumbers()
 
 
 
-  m_presamplerRadius = (*presamplerGeometry)[0]->getDouble("RACTIVE")*GeoModelKernelUnits::cm;
-  m_rInAc            = (*barrelGeometry)[0]->getDouble("RIN_AC")*GeoModelKernelUnits::cm;
-  m_rOutAc           = (*barrelGeometry)[0]->getDouble("ROUT_AC")*GeoModelKernelUnits::cm;
+  m_presamplerRadius = (*presamplerGeometry)[0]->getDouble("RACTIVE")*Gaudi::Units::cm;
+  m_rInAc            = (*barrelGeometry)[0]->getDouble("RIN_AC")*Gaudi::Units::cm;
+  m_rOutAc           = (*barrelGeometry)[0]->getDouble("ROUT_AC")*Gaudi::Units::cm;
   for (int i=0;i<8;i++) m_EE.push_back((*barrelLongDiv)[0]->getDouble("EE",i));
-  for (int i=0;i<8;i++) m_RMX12.push_back((*barrelLongDiv)[0]->getDouble("RMX12",i)*GeoModelKernelUnits::cm);
-  for (int i=0;i<53;i++) m_RMX23.push_back((*barrelLongDiv)[0]->getDouble("RMX23",i)*GeoModelKernelUnits::cm);
+  for (int i=0;i<8;i++) m_RMX12.push_back((*barrelLongDiv)[0]->getDouble("RMX12",i)*Gaudi::Units::cm);
+  for (int i=0;i<53;i++) m_RMX23.push_back((*barrelLongDiv)[0]->getDouble("RMX23",i)*Gaudi::Units::cm);
   for (int i=0;i<448;i++) m_EMBSamplingSepInnerRMax.push_back((*embSamplingSepInner)[0]->getDouble("RMAX",i)); // 
 
 }
diff --git a/LArCalorimeter/LArGeoModel/LArReadoutGeometry/src/EMECDetectorManager.cxx b/LArCalorimeter/LArGeoModel/LArReadoutGeometry/src/EMECDetectorManager.cxx
index a1e3a425bbf4..20add8ffd31a 100755
--- a/LArCalorimeter/LArGeoModel/LArReadoutGeometry/src/EMECDetectorManager.cxx
+++ b/LArCalorimeter/LArGeoModel/LArReadoutGeometry/src/EMECDetectorManager.cxx
@@ -4,16 +4,14 @@
 
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include "RDBAccessSvc/IRDBRecord.h"
 #include "RDBAccessSvc/IRDBRecordset.h"
 #include "RDBAccessSvc/IRDBAccessSvc.h"
 
-
 #include "GeoModelInterfaces/IGeoModelSvc.h"
 #include "GeoModelUtilities/DecodeVersionKey.h"
-#include "GeoModelKernel/Units.h"
-
 #include "LArReadoutGeometry/EMECDetectorManager.h"
 #include "LArReadoutGeometry/EMECDetectorRegion.h"
 #include "LArReadoutGeometry/EMECDetDescr.h"
@@ -56,20 +54,20 @@ EMECDetectorManager::EMECDetectorManager()
   if (emecSamplingSep->size()==0)   throw std::runtime_error("Error getting EmecSamplingSep table");
 
   const IRDBRecord *ess = (*emecSamplingSep)[0];
-  for (int j=0;j<7;j++)  m_ziw.push_back(ess->getDouble("ZIW",j)*GeoModelKernelUnits::cm);
-  for (int j=0;j<44;j++) m_zsep12.push_back(ess->getDouble("ZSEP12",j)*GeoModelKernelUnits::cm);
-  for (int j=0;j<22;j++) m_zsep23.push_back(ess->getDouble("ZSEP23",j)*GeoModelKernelUnits::cm);
+  for (int j=0;j<7;j++)  m_ziw.push_back(ess->getDouble("ZIW",j)*Gaudi::Units::cm);
+  for (int j=0;j<44;j++) m_zsep12.push_back(ess->getDouble("ZSEP12",j)*Gaudi::Units::cm);
+  for (int j=0;j<22;j++) m_zsep23.push_back(ess->getDouble("ZSEP23",j)*Gaudi::Units::cm);
 
   IRDBRecordset_ptr emecMagicNumbers       = rdbAccess->getRecordsetPtr("EmecMagicNumbers", larVersionKey.tag(),larVersionKey.node());
   if (emecMagicNumbers->size()==0) {
     emecMagicNumbers       = rdbAccess->getRecordsetPtr("EmecMagicNumbers", "EmecMagicNumbers-00");
     if (emecMagicNumbers->size()==0) throw std::runtime_error("Error getting EmecMagicNumbers table");
   }
-  m_MagicNumbers->focalToRef        =(*emecMagicNumbers)[0]->getDouble("FOCALTOREF")*GeoModelKernelUnits::mm;
-  m_MagicNumbers->refToActive       =(*emecMagicNumbers)[0]->getDouble("REFTOACTIVE")*GeoModelKernelUnits::mm;
-  m_MagicNumbers->activeLength      =(*emecMagicNumbers)[0]->getDouble("ACTIVELENGTH")*GeoModelKernelUnits::mm;
-  m_MagicNumbers->refToPresampler   =(*emecMagicNumbers)[0]->getDouble("REFTOPRESAMPLER")*GeoModelKernelUnits::mm;
-  m_MagicNumbers->presamplerLength  =(*emecMagicNumbers)[0]->getDouble("PRESAMPLERLENGTH")*GeoModelKernelUnits::mm;
+  m_MagicNumbers->focalToRef        =(*emecMagicNumbers)[0]->getDouble("FOCALTOREF")*Gaudi::Units::mm;
+  m_MagicNumbers->refToActive       =(*emecMagicNumbers)[0]->getDouble("REFTOACTIVE")*Gaudi::Units::mm;
+  m_MagicNumbers->activeLength      =(*emecMagicNumbers)[0]->getDouble("ACTIVELENGTH")*Gaudi::Units::mm;
+  m_MagicNumbers->refToPresampler   =(*emecMagicNumbers)[0]->getDouble("REFTOPRESAMPLER")*Gaudi::Units::mm;
+  m_MagicNumbers->presamplerLength  =(*emecMagicNumbers)[0]->getDouble("PRESAMPLERLENGTH")*Gaudi::Units::mm;
   
 }
 
diff --git a/LArCalorimeter/LArGeoModel/LArReadoutGeometry/src/FCAL_ChannelMap.cxx b/LArCalorimeter/LArGeoModel/LArReadoutGeometry/src/FCAL_ChannelMap.cxx
index 5cb3662d79dd..4bb9cbd7d353 100755
--- a/LArCalorimeter/LArGeoModel/LArReadoutGeometry/src/FCAL_ChannelMap.cxx
+++ b/LArCalorimeter/LArGeoModel/LArReadoutGeometry/src/FCAL_ChannelMap.cxx
@@ -13,7 +13,7 @@
 //****************************************************************************
 
 #include "LArReadoutGeometry/FCAL_ChannelMap.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include "boost/io/ios_state.hpp"
 #include <sstream>
 #include <iostream>
@@ -21,7 +21,7 @@
 #include <stdio.h>
 
 /* === Geometrical parameters === */
-const double FCAL_ChannelMap::m_tubeSpacing[] = {0.75*GeoModelKernelUnits::cm, 0.8179*GeoModelKernelUnits::cm, 0.90*GeoModelKernelUnits::cm};
+const double FCAL_ChannelMap::m_tubeSpacing[] = {0.75*Gaudi::Units::cm, 0.8179*Gaudi::Units::cm, 0.90*Gaudi::Units::cm};
 
 FCAL_ChannelMap::FCAL_ChannelMap( int flag)          
 {
@@ -78,7 +78,7 @@ void FCAL_ChannelMap::add_tube(const std::string & tileName, int mod, int /*id*/
 
   tileName_t tilename = (a3 << 16) + a2;
 
-  TubePosition tb(tilename, x*GeoModelKernelUnits::cm, y*GeoModelKernelUnits::cm,"");
+  TubePosition tb(tilename, x*Gaudi::Units::cm, y*Gaudi::Units::cm,"");
   // Add offsets, becaues iy and ix can be negative HMA
   
   i = i+200;
@@ -104,7 +104,7 @@ void FCAL_ChannelMap::add_tube(const std::string & tileName, int mod, int /*id*/
 
   tileName_t tilename = (a3 << 16) + a2;
 
-  TubePosition tb(tilename, x*GeoModelKernelUnits::cm, y*GeoModelKernelUnits::cm, hvFT);
+  TubePosition tb(tilename, x*Gaudi::Units::cm, y*Gaudi::Units::cm, hvFT);
   // Add offsets, becaues iy and ix can be negative HMA
   
   i = i+200;
diff --git a/LArCalorimeter/LArGeoModel/LArReadoutGeometry/src/HECDetDescr.cxx b/LArCalorimeter/LArGeoModel/LArReadoutGeometry/src/HECDetDescr.cxx
index e44269da848d..426a5e9a2327 100755
--- a/LArCalorimeter/LArGeoModel/LArReadoutGeometry/src/HECDetDescr.cxx
+++ b/LArCalorimeter/LArGeoModel/LArReadoutGeometry/src/HECDetDescr.cxx
@@ -5,6 +5,7 @@
 #include "LArReadoutGeometry/HECDetDescr.h"
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include "StoreGate/StoreGateSvc.h"
 #include "RDBAccessSvc/IRDBRecord.h"
 #include "RDBAccessSvc/IRDBRecordset.h"
@@ -68,7 +69,7 @@ HECDetDescr::HECDetDescr (const HECDetectorManager *detManager
 	m_zMax.push_back(back);
       }
       pos += m_manager->getBlock(b)->getDepth();
-      if(isTestBeam && b==2) pos += (*hadronicEndcap)[0]->getDouble("GAPWHL")*GeoModelKernelUnits::cm;
+      if(isTestBeam && b==2) pos += (*hadronicEndcap)[0]->getDouble("GAPWHL")*Gaudi::Units::cm;
     }
   }
 }
diff --git a/LArCalorimeter/LArGeoModel/LArReadoutGeometry/src/HECDetectorManager.cxx b/LArCalorimeter/LArGeoModel/LArReadoutGeometry/src/HECDetectorManager.cxx
index d270dcd4fd3a..313f1ea19c0f 100755
--- a/LArCalorimeter/LArGeoModel/LArReadoutGeometry/src/HECDetectorManager.cxx
+++ b/LArCalorimeter/LArGeoModel/LArReadoutGeometry/src/HECDetectorManager.cxx
@@ -6,13 +6,13 @@
 #include "LArReadoutGeometry/HECDetectorRegion.h"
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include "StoreGate/StoreGateSvc.h"
 #include "RDBAccessSvc/IRDBRecord.h"
 #include "RDBAccessSvc/IRDBRecordset.h"
 #include "RDBAccessSvc/IRDBAccessSvc.h"
 #include "GeoModelInterfaces/IGeoModelSvc.h"
 #include "GeoModelUtilities/DecodeVersionKey.h"
-#include "GeoModelKernel/Units.h"
 #include "LArReadoutGeometry/HECDetectorManager.h"
 #include "LArHV/LArHVManager.h"
 #include "StoreGate/StoreGate.h"
@@ -60,21 +60,21 @@ HECDetectorManager::HECDetectorManager(bool isTestBeam)
   if (hecPad->size()!=hecLongBlock->size()) throw std::runtime_error("Error.  Hec[LongitudinalBlock,Pad] size discrepancy");
 
   // Get the focal length:
-  m_focalToRef1 = (*hadronicEndcap)[0]->getDouble("ZORIG")*GeoModelKernelUnits::cm;
+  m_focalToRef1 = (*hadronicEndcap)[0]->getDouble("ZORIG")*Gaudi::Units::cm;
   m_focalToRef2 = m_focalToRef1;
-  double betweenWheel=(*hadronicEndcap)[0]->getDouble("GAPWHL")*GeoModelKernelUnits::cm;
+  double betweenWheel=(*hadronicEndcap)[0]->getDouble("GAPWHL")*Gaudi::Units::cm;
   if(!m_isTestBeam) m_focalToRef2 += betweenWheel;
 
   for (unsigned int b=0;b<hecLongBlock->size();b++) {
     double etaBoundary[15];
     const IRDBRecord *block = (*hecLongBlock)[b];
     unsigned int blockNumber= (unsigned int) (block->getDouble("IBLC")+0.01); // will truncate down.
-    double innerRadius= block->getDouble("BLRMN")*GeoModelKernelUnits::cm;
-    double outerRadius= block->getDouble("BLRMX")*GeoModelKernelUnits::cm;
-    double depth= block->getDouble("BLDPTH")*GeoModelKernelUnits::cm;
+    double innerRadius= block->getDouble("BLRMN")*Gaudi::Units::cm;
+    double outerRadius= block->getDouble("BLRMX")*Gaudi::Units::cm;
+    double depth= block->getDouble("BLDPTH")*Gaudi::Units::cm;
     unsigned int numLArGaps= (unsigned int) (block->getDouble("BLMOD") + 0.01); // will truncate down.
-    double frontPlateThickness= block->getDouble("PLATE0")*GeoModelKernelUnits::cm;
-    double backPlateThickness= block->getDouble("PLATEE")*GeoModelKernelUnits::cm;
+    double frontPlateThickness= block->getDouble("PLATE0")*Gaudi::Units::cm;
+    double backPlateThickness= block->getDouble("PLATEE")*Gaudi::Units::cm;
     
     const IRDBRecord *pad = (*hecPad)[b];
     for (int j=0;j<15;j++) etaBoundary[j]=pad->getDouble("ETA",j);
-- 
GitLab


From b048ce48b7dec6c94cfab3054d62508c35f610ed Mon Sep 17 00:00:00 2001
From: Tomasz Bold <tomasz.bold@gmail.com>
Date: Thu, 24 Jan 2019 12:18:25 +0100
Subject: [PATCH 086/192] added function allowing to configure from chainDicts,
 added test

---
 .../TrigMissingETHypo/CMakeLists.txt          |  3 ++
 .../python/TrigMissingETHypoConfigMT.py       | 35 ++++++++++++++++++-
 .../TrigUpgradeTest/share/met.menu.py         |  4 +--
 3 files changed, 39 insertions(+), 3 deletions(-)

diff --git a/Trigger/TrigHypothesis/TrigMissingETHypo/CMakeLists.txt b/Trigger/TrigHypothesis/TrigMissingETHypo/CMakeLists.txt
index 068bfe52a572..9119cb010ceb 100644
--- a/Trigger/TrigHypothesis/TrigMissingETHypo/CMakeLists.txt
+++ b/Trigger/TrigHypothesis/TrigMissingETHypo/CMakeLists.txt
@@ -35,6 +35,9 @@ atlas_add_component( TrigMissingETHypo
                      INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS}
                      LINK_LIBRARIES ${CLHEP_LIBRARIES} TrigInterfacesLib TrigTimeAlgsLib xAODTrigMissingET GaudiKernel TrigMissingEtEvent TrigMissingETHypoLib DecisionHandling  )
 
+atlas_add_test( TrigMissingETHypoConfigMT SCRIPT python -m TrigMissingETHypo.TrigMissingETHypoConfigMT
+		POST_EXEC_SCRIPT nopost.sh )
+
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
 atlas_install_joboptions( share/TriggerConfig_*.py )
diff --git a/Trigger/TrigHypothesis/TrigMissingETHypo/python/TrigMissingETHypoConfigMT.py b/Trigger/TrigHypothesis/TrigMissingETHypo/python/TrigMissingETHypoConfigMT.py
index a14e29229207..e3221afc9d6e 100644
--- a/Trigger/TrigHypothesis/TrigMissingETHypo/python/TrigMissingETHypoConfigMT.py
+++ b/Trigger/TrigHypothesis/TrigMissingETHypo/python/TrigMissingETHypoConfigMT.py
@@ -49,11 +49,44 @@ class MissingETHypoToolMT(TrigMissingETHypoToolMT):
             self.metThreshold = int(filter(str.isdigit, trigParts[idx-1]))
 
 
+            
+def TrigMETCellHypoToolFromDict(chainDict):
+    """ Configure tool operating on met from cells"""
+    # note for future developers, it seems that the chainDict has the information about the type of alg, it would be god to use it
+    # not calling the class above as it tries to parse the name back
+    # also there seems no property to decide if it is met from cells yet, not setting it therefore
+    # possibly there would be only one function if the met source is available in the chainDict and settable tool property
+    
+    tool = MissingETHypoToolMT( chainDict['chainName'] )
+    tool.metThreshold = int(chainDict['chainParts'][0]['threshold'])
+    
+    return tool
+            
+
 def TrigMETCellHypoToolFromName(name, conf):
-    return MissingETHypoToolMT(name, alg='cell')
+    from TriggerMenuMT.HLTMenuConfig.Menu.DictFromChainName import DictFromChainName
+    
+    decoder = DictFromChainName()    
+    decodedDict = decoder.analyseShortName(conf, [], "") # no L1 info
+    decodedDict['chainName'] = name 
+    
+    return TrigMETCellHypoToolFromDict( decodedDict )
+
+
+def TrigMETPufitHypoToolFromName(name, conf):
+    return MissingETHypoToolMT(name, alg='pufit')
+
 
 def TrigMETPufitHypoToolFromName(name, conf):
     return MissingETHypoToolMT(name, alg='pufit')
 
 def TrigMETMhtHypoToolFromName(name, conf):
     return MissingETHypoToolMT(name, alg='mht')
+
+
+if __name__ == "__main__":
+    confCell = TrigMETCellHypoToolFromName("HLT_xe65_L1XE50", "HLT_xe65_L1XE50")
+    assert confCell, "Cell tool not configured"
+
+
+    
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/met.menu.py b/Trigger/TrigValidation/TrigUpgradeTest/share/met.menu.py
index 0a02a8bfe004..bb1deed6f07d 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/share/met.menu.py
+++ b/Trigger/TrigValidation/TrigUpgradeTest/share/met.menu.py
@@ -16,8 +16,8 @@ from TrigUpgradeTest.metMenuDefs import metCellSequence
 metCellSeq = metCellSequence()
 metCellStep = ChainStep("Step1_met_cell", [metCellSeq])
 testChains = [
-    Chain(name="HLT_xe65_L1XE50", Seed="L1_XE50", ChainSteps=[metCellStep]),
-	Chain(name="HLT_xe30_L1XE10", Seed="L1_XE10", ChainSteps=[metCellStep])
+   Chain(name="HLT_xe65_L1XE50", Seed="L1_XE50", ChainSteps=[metCellStep]),
+   Chain(name="HLT_xe30_L1XE10", Seed="L1_XE10", ChainSteps=[metCellStep])
 ]
 
 #################################
-- 
GitLab


From 5151eaaa6ee48f641d451ab3f78a5beeccc72b72 Mon Sep 17 00:00:00 2001
From: amete <serhanmete@gmail.com>
Date: Thu, 24 Jan 2019 14:43:18 +0100
Subject: [PATCH 087/192] Bugfix importing tools

---
 Tools/PROCTools/python/RunTier0Tests.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Tools/PROCTools/python/RunTier0Tests.py b/Tools/PROCTools/python/RunTier0Tests.py
index 6c3318693282..3946c47c77e6 100755
--- a/Tools/PROCTools/python/RunTier0Tests.py
+++ b/Tools/PROCTools/python/RunTier0Tests.py
@@ -12,7 +12,7 @@ import time
 import uuid
 import logging
 import glob
-from RunTier0TestsTools import ciRefFileMap
+from PROCTools.RunTier0TestsTools import ciRefFileMap
 
 ### Setup global logging
 logging.basicConfig(level=logging.INFO,
-- 
GitLab


From 8f2468ba06db275a23f90c38b8b3c6204461970d Mon Sep 17 00:00:00 2001
From: scott snyder <snyder@bnl.gov>
Date: Thu, 24 Jan 2019 01:08:03 +0100
Subject: [PATCH 088/192] TrigEgammaEmulationTool: TAccept->AcceptData.

Migrate from TAccept to AcceptData for MT compatibility.
---
 .../Root/TrigEgammaEmulationTool.cxx          | 92 +++++++++----------
 .../ITrigEgammaEmulationTool.h                |  9 +-
 .../ITrigEgammaSelectorBaseTool.h             |  1 -
 .../TrigEgammaEmulationTool.h                 | 31 ++++---
 .../TrigEgammaSelectorBaseTool.h              |  7 +-
 .../src/TrigEgammaEmulationToolAlg.cxx        |  1 -
 .../src/TrigEgammaEmulationToolAlg.h          |  8 +-
 .../src/TrigEgammaEmulationToolTest.cxx       | 84 ++++++++---------
 .../src/TrigEgammaEmulationToolTest.h         | 14 +--
 9 files changed, 123 insertions(+), 124 deletions(-)

diff --git a/Trigger/TrigAnalysis/TrigEgammaEmulationTool/Root/TrigEgammaEmulationTool.cxx b/Trigger/TrigAnalysis/TrigEgammaEmulationTool/Root/TrigEgammaEmulationTool.cxx
index 89b578b6434c..ada6347b3556 100644
--- a/Trigger/TrigAnalysis/TrigEgammaEmulationTool/Root/TrigEgammaEmulationTool.cxx
+++ b/Trigger/TrigAnalysis/TrigEgammaEmulationTool/Root/TrigEgammaEmulationTool.cxx
@@ -153,7 +153,7 @@ StatusCode TrigEgammaEmulationTool::initialize() {
     }
    
     ATH_MSG_INFO("Initialising accept...");
-    //add cuts into TAccept
+    //add cuts into AcceptInfo
     m_accept.addCut("L1Calo"  , "Trigger L1Calo step"     );
     m_accept.addCut("L2Calo"  , "Trigger L2Calo step"     );
     m_accept.addCut("L2"      , "Trigger L2Electron step" );
@@ -289,10 +289,10 @@ bool TrigEgammaEmulationTool::EventWiseContainer(){
 }
 //!==========================================================================
 //! Emulation from Trigger Element
-const Root::TAccept& TrigEgammaEmulationTool::executeTool(const HLT::TriggerElement *te_external, const std::string &trigger) {
+asg::AcceptData TrigEgammaEmulationTool::executeTool(const HLT::TriggerElement *te_external, const std::string &trigger) {
 
   ATH_MSG_DEBUG("TrigEgammaEmulationTool::executeTool(te, trigger)");
-  m_accept.clear(); 
+  asg::AcceptData acceptData (&m_accept);
   
   if(m_trigInfo.count(trigger) != 0){
 
@@ -311,7 +311,7 @@ const Root::TAccept& TrigEgammaEmulationTool::executeTool(const HLT::TriggerElem
       const auto* l1 = getFeature<xAOD::EmTauRoI>(te_external);
       if(!l1){
         ATH_MSG_WARNING("Can not retrieve the support element because the current TE does not has xAOD::EmTauRoI object!");
-        return m_accept;
+        return acceptData;
       }
       // This object is not fully completed, try to found other.
       for (const auto &fctrigger : m_supportingTrigList){
@@ -347,7 +347,7 @@ const Root::TAccept& TrigEgammaEmulationTool::executeTool(const HLT::TriggerElem
         ATH_MSG_WARNING("This Trigger Element does not have all features needed by the emulation tool. The external match is " <<
                      " not possible! Maybe the support trigger list not attend all requirements."); 
         setTEMatched(nullptr);
-        return m_accept;
+        return acceptData;
       }
     }
 
@@ -369,47 +369,47 @@ const Root::TAccept& TrigEgammaEmulationTool::executeTool(const HLT::TriggerElem
 
     //Level 1
     m_l1Selector->emulation( l1, passedL1Calo , info);
-    m_accept.setCutResult("L1Calo", passedL1Calo);
+    acceptData.setCutResult("L1Calo", passedL1Calo);
 
     if( (passedL1Calo ) && !info.isL1 ){
 
       m_l2Selector->emulation( emCluster, passedL2Calo , info);
-      m_accept.setCutResult("L2Calo", passedL2Calo);
+      acceptData.setCutResult("L2Calo", passedL2Calo);
 
       if(passedL2Calo ){
         if(info.perf){//bypass L2 Electron/Photon Level
           passedL2=true;
-          m_accept.setCutResult("L2", passedL2);
+          acceptData.setCutResult("L2", passedL2);
         }else{
           if (info.type == "electron") {
             if(m_doL2ElectronFex)
               m_l2Selector->emulation( trigElCont, passedL2, info);
             else
               passedL2=true;
-            m_accept.setCutResult("L2", passedL2);
+            acceptData.setCutResult("L2", passedL2);
           }
           else if (info.type == "photon") {
             //m_l2Selector->emulation( trigPhCont, passedL2, trigger);
             //m_efPhotonSelector->emulation( phCont, passedEF, trigger);
             passedL2=true;
-            m_accept.setCutResult("L2", passedL2);
+            acceptData.setCutResult("L2", passedL2);
           }
         }//bypass L2
 
         if (passedL2){
           m_efCaloSelector->emulation( elCont, passedEFCalo, info);
-          m_accept.setCutResult("EFCalo", passedEFCalo);
+          acceptData.setCutResult("EFCalo", passedEFCalo);
           
           if(passedEFCalo){
             passedEFTrack=true;
-            m_accept.setCutResult("EFTrack"    , passedEFTrack);
+            acceptData.setCutResult("EFTrack"    , passedEFTrack);
 
             if(passedEFTrack){
               if(!emulationHLT(elCont, passedHLT, info)){
-                m_accept.clear();
-                return m_accept;
+                acceptData.clear();
+                return acceptData;
               }else{
-                m_accept.setCutResult("HLT"    , passedHLT);
+                acceptData.setCutResult("HLT"    , passedHLT);
               }
             }//EFTrack
           }//EFCalo 
@@ -420,13 +420,13 @@ const Root::TAccept& TrigEgammaEmulationTool::executeTool(const HLT::TriggerElem
     ATH_MSG_WARNING("Can not emulate " << trigger << ". This chain must be added into trigList before the creation.");
   }
 
-  return m_accept;
+  return acceptData;
 }
 //!==========================================================================
 //! Emulation from xAOD containers not using TDT tools
-const Root::TAccept& TrigEgammaEmulationTool::executeTool(const std::string &trigger) {
+asg::AcceptData TrigEgammaEmulationTool::executeTool(const std::string &trigger) {
   clearDecorations();
-  m_accept.clear();
+  asg::AcceptData acceptData (&m_accept);
   
   if( m_trigInfo.count(trigger) != 0){
     Trig::Info info     = getTrigInfo(trigger);
@@ -448,7 +448,7 @@ const Root::TAccept& TrigEgammaEmulationTool::executeTool(const std::string &tri
       bit++;
     }
     if(bitL1Accept.count()>0)  passedL1Calo=true;
-    m_accept.setCutResult("L1Calo", passedL1Calo);
+    acceptData.setCutResult("L1Calo", passedL1Calo);
 
     if(passedL1Calo  && !info.isL1){
       bit=0; pass=false;
@@ -460,44 +460,44 @@ const Root::TAccept& TrigEgammaEmulationTool::executeTool(const std::string &tri
       }
   
       if(bitL2CaloAccept.count()>0)  passedL2Calo=true;
-      m_accept.setCutResult("L2Calo", passedL2Calo);
+      acceptData.setCutResult("L2Calo", passedL2Calo);
       
       if(passedL2Calo) {
         if(info.perf){//bypass L2 Electron/Photon Level
           passedL2=true;
-          m_accept.setCutResult("L2", passedL2);
+          acceptData.setCutResult("L2", passedL2);
         }else{
           if (info.type == "electron") {
             if(m_doL2ElectronFex)
               m_l2Selector->emulation(m_trigElectrons, passedL2, info);
             else
               passedL2=true;
-            m_accept.setCutResult("L2", passedL2);
+            acceptData.setCutResult("L2", passedL2);
           }
           else if (info.type == "photon") {
             //m_l2Selector->emulation( trigPhCont, passedL2, trigger);
             //m_efPhotonSelector->emulation( phCont, passedEF, trigger);
             passedL2=true;
-            m_accept.setCutResult("L2", passedL2);
+            acceptData.setCutResult("L2", passedL2);
           }
         }//bypass L2
 
         if (passedL2){
 
           m_efCaloSelector->emulation(m_onlElectrons, passedEFCalo, info);
-          m_accept.setCutResult("EFCalo", passedEFCalo);
+          acceptData.setCutResult("EFCalo", passedEFCalo);
           
           if(passedEFCalo){
             //TODO: running the EF track step
             passedEFTrack=true;
-            m_accept.setCutResult("EFTrack", passedEFTrack);
+            acceptData.setCutResult("EFTrack", passedEFTrack);
             
             if(passedEFTrack){
               if(!emulationHLT(m_onlElectrons, passedHLT, info)){
-                m_accept.clear();
-                return m_accept;
+                acceptData.clear();
+                return acceptData;
               }else{
-                m_accept.setCutResult("HLT"    , passedHLT);
+                acceptData.setCutResult("HLT"    , passedHLT);
               }
             }//EFTrack
 
@@ -508,27 +508,25 @@ const Root::TAccept& TrigEgammaEmulationTool::executeTool(const std::string &tri
   }else{
     ATH_MSG_WARNING("Can not emulate. Trigger not configurated");
   }
-  return m_accept;
+  return acceptData;
 }
 
 
 //!==========================================================================
 bool TrigEgammaEmulationTool::isPassed(const std::string &trigger) {
-  m_accept.clear();
-  m_accept = executeTool(trigger);
+  asg::AcceptData acceptData = executeTool(trigger);
   ATH_MSG_DEBUG("Trigger = "<< trigger );
-  ATH_MSG_DEBUG("isPassed()::L1Calo = " << m_accept.getCutResult("L1"));
-  ATH_MSG_DEBUG("isPassed()::L2Calo = " << m_accept.getCutResult("L2Calo"));
-  ATH_MSG_DEBUG("isPassed()::L2     = " << m_accept.getCutResult("L2"));
-  ATH_MSG_DEBUG("isPassed()::EFCalo = " << m_accept.getCutResult("EFCalo"));
-  ATH_MSG_DEBUG("isPassed()::EFTrack= " << m_accept.getCutResult("EFTrack"));
-  ATH_MSG_DEBUG("isPassed()::HLT    = " << m_accept.getCutResult("HLT"));
-  return m_accept.getCutResult("HLT");
+  ATH_MSG_DEBUG("isPassed()::L1Calo = " << acceptData.getCutResult("L1"));
+  ATH_MSG_DEBUG("isPassed()::L2Calo = " << acceptData.getCutResult("L2Calo"));
+  ATH_MSG_DEBUG("isPassed()::L2     = " << acceptData.getCutResult("L2"));
+  ATH_MSG_DEBUG("isPassed()::EFCalo = " << acceptData.getCutResult("EFCalo"));
+  ATH_MSG_DEBUG("isPassed()::EFTrack= " << acceptData.getCutResult("EFTrack"));
+  ATH_MSG_DEBUG("isPassed()::HLT    = " << acceptData.getCutResult("HLT"));
+  return acceptData.getCutResult("HLT");
 }
 
 //!==========================================================================
 bool TrigEgammaEmulationTool::isPassed(const std::string &trigger, const std::string &fctrigger) {
-  m_accept.clear();
   const HLT::TriggerElement *finalFC = NULL;
   auto fc = m_trigdec->features(fctrigger, TrigDefs::alsoDeactivateTEs);
   auto vec = fc.get<xAOD::ElectronContainer>();
@@ -539,14 +537,14 @@ bool TrigEgammaEmulationTool::isPassed(const std::string &trigger, const std::st
     bit++;
     finalFC = feat.te();
     if (!finalFC) continue;
-    m_accept = executeTool(finalFC, trigger);
-    if(m_accept.getCutResult("HLT"))  bitAccept.set(bit-1,true);
-    ATH_MSG_DEBUG("isPassed()::L1Calo = " << m_accept.getCutResult("L1"));
-    ATH_MSG_DEBUG("isPassed()::L2Calo = " << m_accept.getCutResult("L2Calo"));
-    ATH_MSG_DEBUG("isPassed()::L2     = " << m_accept.getCutResult("L2"));
-    ATH_MSG_DEBUG("isPassed()::EFCalo = " << m_accept.getCutResult("EFCalo"));
-    ATH_MSG_DEBUG("isPassed()::EFTrack= " << m_accept.getCutResult("EFTrack"));
-    ATH_MSG_DEBUG("isPassed()::HLT    = " << m_accept.getCutResult("HLT")); 
+    asg::AcceptData acceptData = executeTool(finalFC, trigger);
+    if(acceptData.getCutResult("HLT"))  bitAccept.set(bit-1,true);
+    ATH_MSG_DEBUG("isPassed()::L1Calo = " << acceptData.getCutResult("L1"));
+    ATH_MSG_DEBUG("isPassed()::L2Calo = " << acceptData.getCutResult("L2Calo"));
+    ATH_MSG_DEBUG("isPassed()::L2     = " << acceptData.getCutResult("L2"));
+    ATH_MSG_DEBUG("isPassed()::EFCalo = " << acceptData.getCutResult("EFCalo"));
+    ATH_MSG_DEBUG("isPassed()::EFTrack= " << acceptData.getCutResult("EFTrack"));
+    ATH_MSG_DEBUG("isPassed()::HLT    = " << acceptData.getCutResult("HLT")); 
   }
   bool pass=false;
   if(bitAccept.count()>0)  pass=true;
diff --git a/Trigger/TrigAnalysis/TrigEgammaEmulationTool/TrigEgammaEmulationTool/ITrigEgammaEmulationTool.h b/Trigger/TrigAnalysis/TrigEgammaEmulationTool/TrigEgammaEmulationTool/ITrigEgammaEmulationTool.h
index a77d0fc14f14..33c6287e062b 100644
--- a/Trigger/TrigAnalysis/TrigEgammaEmulationTool/TrigEgammaEmulationTool/ITrigEgammaEmulationTool.h
+++ b/Trigger/TrigAnalysis/TrigEgammaEmulationTool/TrigEgammaEmulationTool/ITrigEgammaEmulationTool.h
@@ -26,7 +26,8 @@
 #include "xAODCaloEvent/CaloClusterAuxContainer.h"
 #include "xAODTrigger/EmTauRoIContainer.h"
 #include "TrigDecisionTool/TrigDecisionTool.h"
-#include "PATCore/TAccept.h"
+#include "PATCore/AcceptInfo.h"
+#include "PATCore/AcceptData.h"
 #include <vector>
 #include <map>
 
@@ -42,11 +43,11 @@ namespace Trig{
 
             virtual bool EventWiseContainer()=0;
 
-            virtual const Root::TAccept& executeTool( const HLT::TriggerElement *, const std::string & )=0;
-            virtual const Root::TAccept& executeTool( const std::string & )=0;
+            virtual asg::AcceptData executeTool( const HLT::TriggerElement *, const std::string & )=0;
+            virtual asg::AcceptData executeTool( const std::string & )=0;
             virtual bool isPassed(const std::string&)=0;
             virtual bool isPassed(const std::string&, const std::string&)=0;
-            virtual const Root::TAccept& getAccept()=0;
+            virtual const asg::AcceptInfo& getAccept() const =0;
             /* Experimental methods */
             virtual void ExperimentalAndExpertMethods()=0;
             virtual void match( const xAOD::Egamma *, const HLT::TriggerElement *&)=0;
diff --git a/Trigger/TrigAnalysis/TrigEgammaEmulationTool/TrigEgammaEmulationTool/ITrigEgammaSelectorBaseTool.h b/Trigger/TrigAnalysis/TrigEgammaEmulationTool/TrigEgammaEmulationTool/ITrigEgammaSelectorBaseTool.h
index d2b196d82e32..295ede74a2fc 100644
--- a/Trigger/TrigAnalysis/TrigEgammaEmulationTool/TrigEgammaEmulationTool/ITrigEgammaSelectorBaseTool.h
+++ b/Trigger/TrigAnalysis/TrigEgammaEmulationTool/TrigEgammaEmulationTool/ITrigEgammaSelectorBaseTool.h
@@ -7,7 +7,6 @@
 #define ITrigEgammaSelectorBaseTool_H_
 
 #include "AsgTools/IAsgTool.h"
-#include "PATCore/TAccept.h"
 #include "TrigDecisionTool/TrigDecisionTool.h"
 
 //xAOD include(s)
diff --git a/Trigger/TrigAnalysis/TrigEgammaEmulationTool/TrigEgammaEmulationTool/TrigEgammaEmulationTool.h b/Trigger/TrigAnalysis/TrigEgammaEmulationTool/TrigEgammaEmulationTool/TrigEgammaEmulationTool.h
index 9ffb70e1451d..5b7432c13378 100644
--- a/Trigger/TrigAnalysis/TrigEgammaEmulationTool/TrigEgammaEmulationTool/TrigEgammaEmulationTool.h
+++ b/Trigger/TrigAnalysis/TrigEgammaEmulationTool/TrigEgammaEmulationTool/TrigEgammaEmulationTool.h
@@ -9,7 +9,8 @@
 #include "TrigEgammaEmulationTool/ITrigEgammaEmulationTool.h"
 #include "TrigEgammaEmulationTool/ITrigEgammaSelectorBaseTool.h"
 #include "AsgTools/AsgTool.h"
-#include "PATCore/TAccept.h"
+#include "PATCore/AcceptInfo.h"
+#include "PATCore/AcceptData.h"
 #include "AthContainers/AuxElement.h"
 #include "TrigDecisionTool/TrigDecisionTool.h"
 #include "TrigEgammaMatchingTool/ITrigEgammaMatchingTool.h"
@@ -39,27 +40,27 @@ class TrigEgammaEmulationTool
 
     //****************************************************************************** 
     TrigEgammaEmulationTool(const std::string& myname);
-    ~TrigEgammaEmulationTool() {};
+    virtual ~TrigEgammaEmulationTool() {};
 
-    StatusCode initialize();
-    StatusCode execute();
-    StatusCode finalize();
+    virtual StatusCode initialize() override;
+    virtual StatusCode execute() override;
+    virtual StatusCode finalize() override;
 
     //execute all emulators
-    const Root::TAccept& executeTool( const std::string &);
-    const Root::TAccept& executeTool( const HLT::TriggerElement *, const std::string &);
-    const Root::TAccept& getAccept(){return m_accept;}
+    virtual asg::AcceptData executeTool( const std::string &) override;
+    virtual asg::AcceptData executeTool( const HLT::TriggerElement *, const std::string &) override;
+    virtual const asg::AcceptInfo& getAccept() const override {return m_accept;}
     
-    bool EventWiseContainer();
-    bool isPassed(const std::string&);
-    bool isPassed(const std::string&, const std::string&);
+    virtual bool EventWiseContainer() override;
+    virtual bool isPassed(const std::string&) override;
+    virtual bool isPassed(const std::string&, const std::string&) override;
 
     
     /* Experimental methods */
-    void ExperimentalAndExpertMethods(){m_experimentalAndExpertMethods=true;};
+    virtual void ExperimentalAndExpertMethods() override {m_experimentalAndExpertMethods=true;};
     
-    void match( const xAOD::Egamma *, const HLT::TriggerElement *&);
-    const HLT::TriggerElement* getTEMatched(){return m_teMatched;};
+    virtual void match( const xAOD::Egamma *, const HLT::TriggerElement *&) override;
+    virtual const HLT::TriggerElement* getTEMatched() override {return m_teMatched;};
 
 
   private:
@@ -93,7 +94,7 @@ class TrigEgammaEmulationTool
     std::vector<std::string>                      m_supportingTrigList;
     std::map<std::string, Trig::Info>             m_trigInfo;
 
-    Root::TAccept                                 m_accept;
+    asg::AcceptInfo                               m_accept;
     StoreGateSvc                                 *m_storeGate;
     ToolHandle<Trig::TrigDecisionTool>            m_trigdec;
     ToolHandle<Trig::ITrigEgammaMatchingTool>     m_matchTool;
diff --git a/Trigger/TrigAnalysis/TrigEgammaEmulationTool/TrigEgammaEmulationTool/TrigEgammaSelectorBaseTool.h b/Trigger/TrigAnalysis/TrigEgammaEmulationTool/TrigEgammaEmulationTool/TrigEgammaSelectorBaseTool.h
index a5869fb8499e..e4cac53267ce 100644
--- a/Trigger/TrigAnalysis/TrigEgammaEmulationTool/TrigEgammaEmulationTool/TrigEgammaSelectorBaseTool.h
+++ b/Trigger/TrigAnalysis/TrigEgammaEmulationTool/TrigEgammaEmulationTool/TrigEgammaSelectorBaseTool.h
@@ -8,7 +8,6 @@
 
 
 #include "AsgTools/AsgTool.h"
-#include "PATCore/TAccept.h"
 #include "TrigDecisionTool/TrigDecisionTool.h"
 #include "LumiBlockComps/ILumiBlockMuTool.h"
 #include "LumiBlockComps/ILuminosityTool.h"
@@ -44,10 +43,10 @@ namespace Trig{
 
       //using ITrigEgammaSelectorBaseTool::emulation;
       TrigEgammaSelectorBaseTool(const std::string& myname);
-      ~TrigEgammaSelectorBaseTool(){;}
+      virtual ~TrigEgammaSelectorBaseTool(){;}
 
-      StatusCode initialize();
-      StatusCode finalize();
+      virtual StatusCode initialize() override;
+      virtual StatusCode finalize() override;
 
       //FIXME: static_cast for IParticleContainer to EmTau and emCluster
       //doent work. Because this I add these extra methods. Need to check
diff --git a/Trigger/TrigAnalysis/TrigEgammaEmulationTool/src/TrigEgammaEmulationToolAlg.cxx b/Trigger/TrigAnalysis/TrigEgammaEmulationTool/src/TrigEgammaEmulationToolAlg.cxx
index 3fe7bbac7468..e0600fe97ede 100644
--- a/Trigger/TrigAnalysis/TrigEgammaEmulationTool/src/TrigEgammaEmulationToolAlg.cxx
+++ b/Trigger/TrigAnalysis/TrigEgammaEmulationTool/src/TrigEgammaEmulationToolAlg.cxx
@@ -11,7 +11,6 @@
 #include "xAODCaloEvent/CaloClusterContainer.h"
 #include "xAODEgamma/ElectronContainer.h"
 #include "xAODEgamma/PhotonContainer.h"
-#include "PATCore/TAccept.h"
 
 namespace Trig {
 TrigEgammaEmulationToolAlg::
diff --git a/Trigger/TrigAnalysis/TrigEgammaEmulationTool/src/TrigEgammaEmulationToolAlg.h b/Trigger/TrigAnalysis/TrigEgammaEmulationTool/src/TrigEgammaEmulationToolAlg.h
index e612fab00e7e..21905462a781 100644
--- a/Trigger/TrigAnalysis/TrigEgammaEmulationTool/src/TrigEgammaEmulationToolAlg.h
+++ b/Trigger/TrigAnalysis/TrigEgammaEmulationTool/src/TrigEgammaEmulationToolAlg.h
@@ -19,10 +19,10 @@ namespace Trig {
   class TrigEgammaEmulationToolAlg : public AthAlgorithm {
     public:
       TrigEgammaEmulationToolAlg(const std::string& name, ISvcLocator* pSvcLocator);
-      ~TrigEgammaEmulationToolAlg();
-      StatusCode initialize();
-      StatusCode execute();
-      StatusCode finalize();
+      virtual ~TrigEgammaEmulationToolAlg();
+      virtual StatusCode initialize() override;
+      virtual StatusCode execute() override;
+      virtual StatusCode finalize() override;
     private:
       //
       std::vector<std::string>   m_triggerList;
diff --git a/Trigger/TrigAnalysis/TrigEgammaEmulationTool/src/TrigEgammaEmulationToolTest.cxx b/Trigger/TrigAnalysis/TrigEgammaEmulationTool/src/TrigEgammaEmulationToolTest.cxx
index 5a95b72e5f4a..fbb1ce39d94f 100644
--- a/Trigger/TrigAnalysis/TrigEgammaEmulationTool/src/TrigEgammaEmulationToolTest.cxx
+++ b/Trigger/TrigAnalysis/TrigEgammaEmulationTool/src/TrigEgammaEmulationToolTest.cxx
@@ -13,7 +13,6 @@
 #include "xAODCaloEvent/CaloClusterContainer.h"
 #include "xAODEgamma/ElectronContainer.h"
 #include "xAODEgamma/PhotonContainer.h"
-#include "PATCore/TAccept.h"
 using std::string;
 
 //**********************************************************************
@@ -118,23 +117,23 @@ StatusCode TrigEgammaEmulationToolTest::Method1() {
         ATH_MSG_DEBUG("TE is nullptr");
         continue;
       }
-      setAccept(finalFC);
+      asg::AcceptData acceptData = setAccept(finalFC);
       
       count("Method1__total__"+trigger);      
-      if(m_accept.getCutResult("L1Calo"))   count("Method1__TDT__L1Calo__" +trigger);
-      if(m_accept.getCutResult("L2Calo"))   count("Method1__TDT__L2Calo__" +trigger);
-      if(m_accept.getCutResult("L2"))       count("Method1__TDT__L2__"     +trigger);
-      if(m_accept.getCutResult("EFTrack"))  count("Method1__TDT__EFTrack__"+trigger);
-      if(m_accept.getCutResult("EFCalo"))   count("Method1__TDT__EFCalo__" +trigger);
-      if(m_accept.getCutResult("HLT"))      count("Method1__TDT__HLT__"    +trigger);
-
-      Root::TAccept accept = m_emulationTool->executeTool(finalFC, trigger);
-      if(accept.getCutResult("L1Calo"))   count("Method1__EMU__L1Calo__" +trigger);
-      if(accept.getCutResult("L2Calo"))   count("Method1__EMU__L2Calo__" +trigger);
-      if(accept.getCutResult("L2"))       count("Method1__EMU__L2__"     +trigger);
-      if(accept.getCutResult("EFTrack"))  count("Method1__EMU__EFTrack__"+trigger);
-      if(accept.getCutResult("EFCalo"))   count("Method1__EMU__EFCalo__" +trigger);
-      if(accept.getCutResult("HLT"))      count("Method1__EMU__HLT__"    +trigger);
+      if(acceptData.getCutResult("L1Calo"))   count("Method1__TDT__L1Calo__" +trigger);
+      if(acceptData.getCutResult("L2Calo"))   count("Method1__TDT__L2Calo__" +trigger);
+      if(acceptData.getCutResult("L2"))       count("Method1__TDT__L2__"     +trigger);
+      if(acceptData.getCutResult("EFTrack"))  count("Method1__TDT__EFTrack__"+trigger);
+      if(acceptData.getCutResult("EFCalo"))   count("Method1__TDT__EFCalo__" +trigger);
+      if(acceptData.getCutResult("HLT"))      count("Method1__TDT__HLT__"    +trigger);
+
+      asg::AcceptData accept2 = m_emulationTool->executeTool(finalFC, trigger);
+      if(accept2.getCutResult("L1Calo"))   count("Method1__EMU__L1Calo__" +trigger);
+      if(accept2.getCutResult("L2Calo"))   count("Method1__EMU__L2Calo__" +trigger);
+      if(accept2.getCutResult("L2"))       count("Method1__EMU__L2__"     +trigger);
+      if(accept2.getCutResult("EFTrack"))  count("Method1__EMU__EFTrack__"+trigger);
+      if(accept2.getCutResult("EFCalo"))   count("Method1__EMU__EFCalo__" +trigger);
+      if(accept2.getCutResult("HLT"))      count("Method1__EMU__HLT__"    +trigger);
       
     }// loop over electrons offline
   }// loop over triggers
@@ -156,22 +155,22 @@ StatusCode TrigEgammaEmulationToolTest::Method2() {
         continue;
       }
 
-      setAccept(finalFC);
+      asg::AcceptData acceptData = setAccept(finalFC);
       count("Method2__total__"+trigger);      
-      if(m_accept.getCutResult("L1Calo"))   count("Method2__TDT__L1Calo__" +trigger);
-      if(m_accept.getCutResult("L2Calo"))   count("Method2__TDT__L2Calo__" +trigger);
-      if(m_accept.getCutResult("L2"))       count("Method2__TDT__L2__"     +trigger);
-      if(m_accept.getCutResult("EFTrack"))  count("Method2__TDT__EFTrack__"+trigger);
-      if(m_accept.getCutResult("EFCalo"))   count("Method2__TDT__EFCalo__" +trigger);
-      if(m_accept.getCutResult("HLT"))      count("Method2__TDT__HLT__"    +trigger);
-
-      Root::TAccept accept = m_emulationTool->executeTool(trigger);
-      if(accept.getCutResult("L1Calo"))   count("Method2__EMU__L1Calo__" +trigger);
-      if(accept.getCutResult("L2Calo"))   count("Method2__EMU__L2Calo__" +trigger);
-      if(accept.getCutResult("L2"))       count("Method2__EMU__L2__"     +trigger);
-      if(accept.getCutResult("EFTrack"))  count("Method2__EMU__EFTrack__"+trigger);
-      if(accept.getCutResult("EFCalo"))   count("Method2__EMU__EFCalo__" +trigger);
-      if(accept.getCutResult("HLT"))      count("Method2__EMU__HLT__"    +trigger);
+      if(acceptData.getCutResult("L1Calo"))   count("Method2__TDT__L1Calo__" +trigger);
+      if(acceptData.getCutResult("L2Calo"))   count("Method2__TDT__L2Calo__" +trigger);
+      if(acceptData.getCutResult("L2"))       count("Method2__TDT__L2__"     +trigger);
+      if(acceptData.getCutResult("EFTrack"))  count("Method2__TDT__EFTrack__"+trigger);
+      if(acceptData.getCutResult("EFCalo"))   count("Method2__TDT__EFCalo__" +trigger);
+      if(acceptData.getCutResult("HLT"))      count("Method2__TDT__HLT__"    +trigger);
+
+      asg::AcceptData accept2 = m_emulationTool->executeTool(trigger);
+      if(accept2.getCutResult("L1Calo"))   count("Method2__EMU__L1Calo__" +trigger);
+      if(accept2.getCutResult("L2Calo"))   count("Method2__EMU__L2Calo__" +trigger);
+      if(accept2.getCutResult("L2"))       count("Method2__EMU__L2__"     +trigger);
+      if(accept2.getCutResult("EFTrack"))  count("Method2__EMU__EFTrack__"+trigger);
+      if(accept2.getCutResult("EFCalo"))   count("Method2__EMU__EFCalo__" +trigger);
+      if(accept2.getCutResult("HLT"))      count("Method2__EMU__HLT__"    +trigger);
     
     }
   }
@@ -213,11 +212,12 @@ void TrigEgammaEmulationToolTest::writeEmulationSummary(){
  
 }
 
-bool TrigEgammaEmulationToolTest::setAccept( const HLT::TriggerElement *finalFC){
-  m_accept.clear();
-  
+asg::AcceptData
+TrigEgammaEmulationToolTest::setAccept( const HLT::TriggerElement *finalFC)
+{
+  asg::AcceptData acceptData (&m_accept);
   if(!finalFC)
-    return false;
+    return acceptData;
     
   bool passedL1         = false;
   bool passedL2Calo     = false;
@@ -254,14 +254,14 @@ bool TrigEgammaEmulationToolTest::setAccept( const HLT::TriggerElement *finalFC)
   if( m_trigdec->ancestor<xAOD::ElectronContainer>(finalFC).te() != nullptr )
     passedHLT=m_trigdec->ancestor<xAOD::ElectronContainer>(finalFC).te()->getActiveState();
 
-  m_accept.setCutResult("L1Calo", passedL1);
-  m_accept.setCutResult("L2Calo", passedL2Calo);
-  m_accept.setCutResult("L2", passedL2);
-  m_accept.setCutResult("EFTrack", passedEFTrack);
-  m_accept.setCutResult("EFCalo", passedEFCalo);
-  m_accept.setCutResult("HLT", passedHLT);
+  acceptData.setCutResult("L1Calo", passedL1);
+  acceptData.setCutResult("L2Calo", passedL2Calo);
+  acceptData.setCutResult("L2", passedL2);
+  acceptData.setCutResult("EFTrack", passedEFTrack);
+  acceptData.setCutResult("EFCalo", passedEFCalo);
+  acceptData.setCutResult("HLT", passedHLT);
 
-  return true;
+  return acceptData;
 }
 
 }///namespace
diff --git a/Trigger/TrigAnalysis/TrigEgammaEmulationTool/src/TrigEgammaEmulationToolTest.h b/Trigger/TrigAnalysis/TrigEgammaEmulationTool/src/TrigEgammaEmulationToolTest.h
index 903832077a1d..deb1fd59d7a4 100644
--- a/Trigger/TrigAnalysis/TrigEgammaEmulationTool/src/TrigEgammaEmulationToolTest.h
+++ b/Trigger/TrigAnalysis/TrigEgammaEmulationTool/src/TrigEgammaEmulationToolTest.h
@@ -14,6 +14,8 @@
 #include "TrigEgammaMatchingTool/ITrigEgammaMatchingTool.h"
 #include "TrigEgammaEmulationTool/ITrigEgammaEmulationTool.h"
 #include "xAODEgamma/ElectronContainer.h"
+#include "PATCore/AcceptInfo.h"
+#include "PATCore/AcceptData.h"
 
 #include <string>
 #include <map>
@@ -29,12 +31,12 @@ namespace Trig{
             TrigEgammaEmulationToolTest(const std::string& name, ISvcLocator* pSvcLocator);
 
             /// Destructor: 
-            ~TrigEgammaEmulationToolTest(); 
+            virtual ~TrigEgammaEmulationToolTest(); 
 
             /// Athena algorithm's Hooks
-            StatusCode  initialize();
-            StatusCode  execute();
-            StatusCode  finalize();
+            virtual StatusCode  initialize() override;
+            virtual StatusCode  execute() override;
+            virtual StatusCode  finalize() override;
 
         private: 
 
@@ -43,7 +45,7 @@ namespace Trig{
             StatusCode Method1();
             StatusCode Method2();
             void writeEmulationSummary();
-            bool setAccept(const HLT::TriggerElement*);
+            asg::AcceptData setAccept(const HLT::TriggerElement*);
             float ratio(float,float);
 
 
@@ -66,7 +68,7 @@ namespace Trig{
             std::map<std::string, unsigned >m_countMap;
             std::vector<std::string>   m_triggerList;
             StoreGateSvc              *m_storeGate;
-            Root::TAccept              m_accept;
+            asg::AcceptInfo            m_accept;
 
             const xAOD::ElectronContainer   *m_offElectrons;
 
-- 
GitLab


From e8c7dd115a7d9cf81dcb1d06fa7fae5ad77017a3 Mon Sep 17 00:00:00 2001
From: scott snyder <snyder@bnl.gov>
Date: Thu, 24 Jan 2019 00:34:27 +0100
Subject: [PATCH 089/192] TrigEgammaAnalysisTools: TAccept->AcceptData

Migrate from TAccept to AcceptData, for MT compatibility.
---
 .../Root/EfficiencyTool.cxx                   | 63 ++++++++++---------
 .../Root/TrigEgammaAnalysisBaseTool.cxx       | 20 +++---
 .../Root/TrigEgammaNavNtuple.cxx              | 14 ++---
 .../Root/TrigEgammaNavTPAnalysisTool.cxx      | 24 +++----
 .../Root/TrigEgammaNavTPNtuple.cxx            | 14 ++---
 .../TrigEgammaAnalysisTools/EfficiencyTool.h  |  8 ++-
 .../TrigEgammaAnalysisBaseTool.h              | 42 ++++++-------
 7 files changed, 96 insertions(+), 89 deletions(-)

diff --git a/Trigger/TrigAnalysis/TrigEgammaAnalysisTools/Root/EfficiencyTool.cxx b/Trigger/TrigAnalysis/TrigEgammaAnalysisTools/Root/EfficiencyTool.cxx
index 9c089e3231cd..073cef0276a1 100644
--- a/Trigger/TrigAnalysis/TrigEgammaAnalysisTools/Root/EfficiencyTool.cxx
+++ b/Trigger/TrigAnalysis/TrigEgammaAnalysisTools/Root/EfficiencyTool.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**********************************************************************
@@ -153,7 +153,8 @@ bool EfficiencyTool::analyseIsEM(const xAOD::Electron *eg, const std::string pid
     return failisem;
 }
 
-void EfficiencyTool::fillInefficiency(const std::string& pid, const std::string dir,const xAOD::Electron *selEF,const xAOD::Photon *selPh,const xAOD::CaloCluster *clus,const xAOD::TrackParticle *trk)
+void EfficiencyTool::fillInefficiency(const std::string& pid, const std::string dir,const xAOD::Electron *selEF,const xAOD::Photon *selPh,const xAOD::CaloCluster *clus,const xAOD::TrackParticle *trk,
+                                      const asg::AcceptData& acceptData)
 {
     cd(dir);
     ATH_MSG_DEBUG("REGTEST::Inefficiency");
@@ -192,23 +193,23 @@ void EfficiencyTool::fillInefficiency(const std::string& pid, const std::string
     float lastbin = hist1(ineff)->GetNbinsX() - 0.5;
     float sumbin = lastbin - 1;
 
-    if (!getAccept().getCutResult("L2Calo")) {
+    if (!acceptData.getCutResult("L2Calo")) {
         hist1(ineff)->Fill(0.5, 1);
         hist1(ineff)->Fill(sumbin, 1);
     }
-    else if (!getAccept().getCutResult("L2")) {
+    else if (!acceptData.getCutResult("L2")) {
         hist1(ineff)->Fill(1.5, 1);
         hist1(ineff)->Fill(sumbin, 1);
     }
-    else if (!getAccept().getCutResult("EFCalo")) {
+    else if (!acceptData.getCutResult("EFCalo")) {
         hist1(ineff)->Fill(2.5, 1);
         hist1(ineff)->Fill(sumbin, 1);
     }
-    // else if (!getAccept().getCutResult("EFTrack")) {
+    // else if (!acceptData.getCutResult("EFTrack")) {
     //     hist1(ineff)->Fill(3.5, 1);
     //     hist1(ineff)->Fill(13.5, 1);
     // }
-    else if (!getAccept().getCutResult("HLT")) {
+    else if (!acceptData.getCutResult("HLT")) {
         if (reco.test(0)) {
             if (boost::contains(pid, "LH")) failbits = analyseIsEMLH(selEF, pid);
             else failbits = analyseIsEM(selEF, pid);
@@ -297,7 +298,8 @@ void EfficiencyTool::fillInefficiency(const std::string& pid, const std::string
 }
 
 void EfficiencyTool::inefficiency(const std::string& pid, const std::string basePath,const float etthr, 
-                                  std::pair< const xAOD::Egamma*,const HLT::TriggerElement*> pairObj)
+                                  std::pair< const xAOD::Egamma*,const HLT::TriggerElement*> pairObj,
+                                  const asg::AcceptData& acceptData)
 {
     ATH_MSG_DEBUG("INEFF::Start Inefficiency Analysis ======================= " << basePath);
     cd(basePath);
@@ -327,17 +329,17 @@ void EfficiencyTool::inefficiency(const std::string& pid, const std::string base
     const std::string ineff = "Ineff" + pidword;
 
     // Ensure L1 passes and offline passes et cut
-    if(getAccept().getCutResult("L1Calo") && et > etthr) {
+    if(acceptData.getCutResult("L1Calo") && et > etthr) {
         ATH_MSG_DEBUG("INEFF::Passed L1 and offline et");
-        hist1("eff_triggerstep")->Fill("L2Calo",getAccept().getCutResult("L2Calo"));
-        hist1("eff_triggerstep")->Fill("L2",getAccept().getCutResult("L2"));
-        hist1("eff_triggerstep")->Fill("EFCalo",getAccept().getCutResult("EFCalo"));
-        hist1("eff_triggerstep")->Fill("EFTrack",getAccept().getCutResult("EFTrack"));
-        hist1("eff_triggerstep")->Fill("HLT",getAccept().getCutResult("HLT"));
+        hist1("eff_triggerstep")->Fill("L2Calo",acceptData.getCutResult("L2Calo"));
+        hist1("eff_triggerstep")->Fill("L2",acceptData.getCutResult("L2"));
+        hist1("eff_triggerstep")->Fill("EFCalo",acceptData.getCutResult("EFCalo"));
+        hist1("eff_triggerstep")->Fill("EFTrack",acceptData.getCutResult("EFTrack"));
+        hist1("eff_triggerstep")->Fill("HLT",acceptData.getCutResult("HLT"));
 
         // Fill efficiency plot for HLT trigger steps
-        if(!getAccept().getCutResult("HLT")/* || !getAccept().getCutResult("EFTrack")*/ || !getAccept().getCutResult("EFCalo") || 
-           !getAccept().getCutResult("L2") || !getAccept().getCutResult("L2Calo")) {
+        if(!acceptData.getCutResult("HLT")/* || !acceptData.getCutResult("EFTrack")*/ || !acceptData.getCutResult("EFCalo") || 
+           !acceptData.getCutResult("L2") || !acceptData.getCutResult("L2Calo")) {
             ATH_MSG_DEBUG("INEFF::Retrieve features for EF containers only ");
             ATH_MSG_DEBUG("INEFF::Retrieve EF Electron");
             const auto* EFEl = getFeature<xAOD::ElectronContainer>(feat);
@@ -356,7 +358,7 @@ void EfficiencyTool::inefficiency(const std::string& pid, const std::string base
             selPh = closestObject<xAOD::Photon,xAOD::PhotonContainer>(pairObj, dRmax, false);
             selClus = closestObject<xAOD::CaloCluster,xAOD::CaloClusterContainer>(pairObj, dRmax, false,"TrigEFCaloCalibFex");
             selTrk = closestObject<xAOD::TrackParticle,xAOD::TrackParticleContainer>(pairObj, dRmax, false, "InDetTrigTrackingxAODCnv_Electron_IDTrig");
-            fillInefficiency(pid, basePath, selEF, selPh, selClus, selTrk);
+            fillInefficiency(pid, basePath, selEF, selPh, selClus, selTrk, acceptData);
             if (EFClus == nullptr){
                 hist1("eff_hltreco")->Fill("ClusterCont", 0);
                 hist1("eff_hltreco")->Fill("Cluster", 0);
@@ -578,11 +580,12 @@ StatusCode EfficiencyTool::toolExecute(const std::string basePath,const TrigInfo
           
           // ialg = 0 is decision from TDT tool (Efficency dir) [default]
           // ialg = 1 is decision from emulator tool (Emulation dir)
+          asg::AcceptData acceptData (&getAccept());
           if(ialg==0){
-            setAccept(pairObj.second,info); //Sets the trigger accepts
+            acceptData = setAccept(pairObj.second,info); //Sets the trigger accepts
           }else{// ialg==1
             ATH_MSG_DEBUG("Fill efficiency from Emulation tool");
-            setAccept(emulation()->executeTool(pairObj.second, info.trigName));
+            acceptData = emulation()->executeTool(pairObj.second, info.trigName);
           }
 
           if (pairObj.second!=nullptr) {
@@ -590,30 +593,30 @@ StatusCode EfficiencyTool::toolExecute(const std::string basePath,const TrigInfo
               if(!info.trigL1){
                   if(pairObj.first->type()==xAOD::Type::Electron){
                       if(pairObj.first->auxdecor<bool>(pidword)){
-                          inefficiency(pid,dir+"/"+algname+"/HLT",etthr,pairObj);
+                        inefficiency(pid,dir+"/"+algname+"/HLT",etthr,pairObj, acceptData);
                       }
                   }
               }
           } // Features
 
           if(info.trigL1)
-              this->fillEfficiency(dir+"/"+algname+"/L1Calo",getAccept().getCutResult("L1Calo"),etthr,pidword,pairObj.first);
+              this->fillEfficiency(dir+"/"+algname+"/L1Calo",acceptData.getCutResult("L1Calo"),etthr,pidword,pairObj.first);
           else {
-              this->fillEfficiency(dir+"/"+algname+"/HLT",getAccept().getCutResult("HLT"),etthr,pidword,pairObj.first);
-              this->fillEfficiency(dir+"/"+algname+"/L2Calo",getAccept().getCutResult("L2Calo"),etthr,pidword,pairObj.first,m_detailedHists); 
-              this->fillEfficiency(dir+"/"+algname+"/L2",getAccept().getCutResult("L2"),etthr,pidword,pairObj.first,m_detailedHists);
-              this->fillEfficiency(dir+"/"+algname+"/EFCalo",getAccept().getCutResult("EFCalo"),etthr,pidword,pairObj.first,m_detailedHists);
-              this->fillEfficiency(dir+"/"+algname+"/L1Calo",getAccept().getCutResult("L1Calo"),etthr,pidword,pairObj.first);
+              this->fillEfficiency(dir+"/"+algname+"/HLT",acceptData.getCutResult("HLT"),etthr,pidword,pairObj.first);
+              this->fillEfficiency(dir+"/"+algname+"/L2Calo",acceptData.getCutResult("L2Calo"),etthr,pidword,pairObj.first,m_detailedHists); 
+              this->fillEfficiency(dir+"/"+algname+"/L2",acceptData.getCutResult("L2"),etthr,pidword,pairObj.first,m_detailedHists);
+              this->fillEfficiency(dir+"/"+algname+"/EFCalo",acceptData.getCutResult("EFCalo"),etthr,pidword,pairObj.first,m_detailedHists);
+              this->fillEfficiency(dir+"/"+algname+"/L1Calo",acceptData.getCutResult("L1Calo"),etthr,pidword,pairObj.first);
               if(m_detailedHists){
                   for(const auto pid : m_isemname) {
-                      this->fillEfficiency(dir+"/"+algname+"/HLT/"+pid,getAccept().getCutResult("HLT"),etthr,"is"+pid,pairObj.first);
+                      this->fillEfficiency(dir+"/"+algname+"/HLT/"+pid,acceptData.getCutResult("HLT"),etthr,"is"+pid,pairObj.first);
                       if( pairObj.first->auxdecor<bool>("Isolated") ) fillEfficiency(dir+"/"+algname+"/HLT/"+pid+"Iso",
-                          getAccept().getCutResult("HLT"),etthr,"is"+pid,pairObj.first);
+                          acceptData.getCutResult("HLT"),etthr,"is"+pid,pairObj.first);
                   }
                   for(const auto pid : m_lhname) {
-                      this->fillEfficiency(dir+"/"+algname+"/HLT/"+pid,getAccept().getCutResult("HLT"),etthr,"is"+pid,pairObj.first);
+                      this->fillEfficiency(dir+"/"+algname+"/HLT/"+pid,acceptData.getCutResult("HLT"),etthr,"is"+pid,pairObj.first);
                       if( pairObj.first->auxdecor<bool>("Isolated") ) fillEfficiency(dir+"/"+algname+"/HLT/"+pid+"Iso",
-                          getAccept().getCutResult("HLT"),etthr,"is"+pid,pairObj.first);
+                          acceptData.getCutResult("HLT"),etthr,"is"+pid,pairObj.first);
                   }
               }
               ATH_MSG_DEBUG("Complete efficiency");
diff --git a/Trigger/TrigAnalysis/TrigEgammaAnalysisTools/Root/TrigEgammaAnalysisBaseTool.cxx b/Trigger/TrigAnalysis/TrigEgammaAnalysisTools/Root/TrigEgammaAnalysisBaseTool.cxx
index 1d7145df0c82..fcd2a4aee400 100644
--- a/Trigger/TrigAnalysis/TrigEgammaAnalysisTools/Root/TrigEgammaAnalysisBaseTool.cxx
+++ b/Trigger/TrigAnalysis/TrigEgammaAnalysisTools/Root/TrigEgammaAnalysisBaseTool.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**********************************************************************
@@ -555,9 +555,10 @@ bool TrigEgammaAnalysisBaseTool::isPrescaled(const std::string trigger){
     return false; // Not prescaled, use event
 }
 
-void TrigEgammaAnalysisBaseTool::setAccept(const HLT::TriggerElement *te,const TrigInfo info){
+asg::AcceptData
+TrigEgammaAnalysisBaseTool::setAccept(const HLT::TriggerElement *te,const TrigInfo info){
     ATH_MSG_DEBUG("setAccept");
-    m_accept.clear();
+    asg::AcceptData acceptData (&m_accept);
     bool passedL1Calo=false;
     bool passedL2Calo=false;
     bool passedEFCalo=false;
@@ -599,12 +600,12 @@ void TrigEgammaAnalysisBaseTool::setAccept(const HLT::TriggerElement *te,const T
         }
     }
 
-    m_accept.setCutResult("L1Calo",passedL1Calo);
-    m_accept.setCutResult("L2Calo",passedL2Calo);
-    m_accept.setCutResult("L2",passedL2);
-    m_accept.setCutResult("EFCalo",passedEFCalo);
-    m_accept.setCutResult("EFTrack",passedEFTrk);
-    m_accept.setCutResult("HLT",passedEF);
+    acceptData.setCutResult("L1Calo",passedL1Calo);
+    acceptData.setCutResult("L2Calo",passedL2Calo);
+    acceptData.setCutResult("L2",passedL2);
+    acceptData.setCutResult("EFCalo",passedEFCalo);
+    acceptData.setCutResult("EFTrack",passedEFTrk);
+    acceptData.setCutResult("HLT",passedEF);
     ATH_MSG_DEBUG("Accept results:");
     ATH_MSG_DEBUG("L1: "<< passedL1Calo);
     ATH_MSG_DEBUG("L2Calo: " << passedL2Calo);
@@ -612,6 +613,7 @@ void TrigEgammaAnalysisBaseTool::setAccept(const HLT::TriggerElement *te,const T
     ATH_MSG_DEBUG("EFCalo: "<< passedEFCalo);
     ATH_MSG_DEBUG("HLT: "<<passedEF);
 
+    return acceptData;
 }
 
 float TrigEgammaAnalysisBaseTool::dR(const float eta1, const float phi1, const float eta2, const float phi2){
diff --git a/Trigger/TrigAnalysis/TrigEgammaAnalysisTools/Root/TrigEgammaNavNtuple.cxx b/Trigger/TrigAnalysis/TrigEgammaAnalysisTools/Root/TrigEgammaNavNtuple.cxx
index 001ab83e4c40..a15b46ae1485 100755
--- a/Trigger/TrigAnalysis/TrigEgammaAnalysisTools/Root/TrigEgammaNavNtuple.cxx
+++ b/Trigger/TrigAnalysis/TrigEgammaAnalysisTools/Root/TrigEgammaNavNtuple.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 
@@ -316,12 +316,12 @@ bool TrigEgammaNavNtuple::executeTrigItemDump(){
         }// loop over calo cluster
       }
 
-      setAccept(feat,info);
-      m_trig_L1_accept       = getAccept().getCutResult("L1Calo"); 
-      m_trig_L2_calo_accept  = getAccept().getCutResult("L2Calo"); 
-      m_trig_L2_el_accept    = getAccept().getCutResult("L2"); 
-      m_trig_EF_calo_accept  = getAccept().getCutResult("EFCalo");  
-      m_trig_EF_el_accept    = getAccept().getCutResult("HLT");  
+      asg::AcceptData acceptData = setAccept(feat,info);
+      m_trig_L1_accept       = acceptData.getCutResult("L1Calo"); 
+      m_trig_L2_calo_accept  = acceptData.getCutResult("L2Calo"); 
+      m_trig_L2_el_accept    = acceptData.getCutResult("L2"); 
+      m_trig_EF_calo_accept  = acceptData.getCutResult("EFCalo");  
+      m_trig_EF_el_accept    = acceptData.getCutResult("HLT");  
       
       ATH_MSG_DEBUG("L1Calo: "  << int(m_trig_L1_accept)); 
       ATH_MSG_DEBUG("L2Calo: "  << int(m_trig_L2_calo_accept));
diff --git a/Trigger/TrigAnalysis/TrigEgammaAnalysisTools/Root/TrigEgammaNavTPAnalysisTool.cxx b/Trigger/TrigAnalysis/TrigEgammaAnalysisTools/Root/TrigEgammaNavTPAnalysisTool.cxx
index 50d2e171e123..57a1a2058f76 100644
--- a/Trigger/TrigAnalysis/TrigEgammaAnalysisTools/Root/TrigEgammaNavTPAnalysisTool.cxx
+++ b/Trigger/TrigAnalysis/TrigEgammaAnalysisTools/Root/TrigEgammaNavTPAnalysisTool.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 
@@ -183,30 +183,30 @@ StatusCode TrigEgammaNavTPAnalysisTool::childExecute()
             if(et < info.trigThrHLT-5.0) continue; 
             if(!offEl->auxdecor<bool>(info.trigPidDecorator)) continue; 
             const HLT::TriggerElement* feat = m_pairObj[i].second;
-            setAccept(feat,info); //Sets the trigger accepts
+            asg::AcceptData acceptData = setAccept(feat,info); //Sets the trigger accepts
             cd(m_dir+"/Expert/Event");
             if(et > info.trigThrHLT + 1.0)
                 hist1(m_anatype+"_nProbes")->Fill(cprobeTrigger,1);
             if ( feat ) {
                 if(et > info.trigThrHLT + 1.0){
-                    hist1(m_anatype+"_EffL1")->Fill(cprobeTrigger,getAccept().getCutResult("L1Calo"));
-                    hist1(m_anatype+"_EffL2Calo")->Fill(cprobeTrigger,getAccept().getCutResult("L2Calo"));
-                    hist1(m_anatype+"_EffL2")->Fill(cprobeTrigger,getAccept().getCutResult("L2"));
-                    hist1(m_anatype+"_EffEFCalo")->Fill(cprobeTrigger,getAccept().getCutResult("EFCalo"));
-                    hist1(m_anatype+"_EffHLT")->Fill(cprobeTrigger,getAccept().getCutResult("HLT"));
-                    if( getAccept().getCutResult("L1Calo")){
+                    hist1(m_anatype+"_EffL1")->Fill(cprobeTrigger,acceptData.getCutResult("L1Calo"));
+                    hist1(m_anatype+"_EffL2Calo")->Fill(cprobeTrigger,acceptData.getCutResult("L2Calo"));
+                    hist1(m_anatype+"_EffL2")->Fill(cprobeTrigger,acceptData.getCutResult("L2"));
+                    hist1(m_anatype+"_EffEFCalo")->Fill(cprobeTrigger,acceptData.getCutResult("EFCalo"));
+                    hist1(m_anatype+"_EffHLT")->Fill(cprobeTrigger,acceptData.getCutResult("HLT"));
+                    if( acceptData.getCutResult("L1Calo")){
                         hist1(m_anatype+"_nProbesL1")->Fill(cprobeTrigger,1);
                     }
-                    if( getAccept().getCutResult("L2Calo") ){
+                    if( acceptData.getCutResult("L2Calo") ){
                         hist1(m_anatype+"_nProbesL2Calo")->Fill(cprobeTrigger,1);
                     }
-                    if( getAccept().getCutResult("L2") ){
+                    if( acceptData.getCutResult("L2") ){
                         hist1(m_anatype+"_nProbesL2")->Fill(cprobeTrigger,1);
                     }
-                    if( getAccept().getCutResult("EFCalo") ){
+                    if( acceptData.getCutResult("EFCalo") ){
                         hist1(m_anatype+"_nProbesEFCalo")->Fill(cprobeTrigger,1);
                     }
-                    if( getAccept().getCutResult("HLT") ){
+                    if( acceptData.getCutResult("HLT") ){
                         hist1(m_anatype+"_nProbesHLT")->Fill(cprobeTrigger,1);
                     }
                 }
diff --git a/Trigger/TrigAnalysis/TrigEgammaAnalysisTools/Root/TrigEgammaNavTPNtuple.cxx b/Trigger/TrigAnalysis/TrigEgammaAnalysisTools/Root/TrigEgammaNavTPNtuple.cxx
index 62484f0cc05d..680e786f42f3 100755
--- a/Trigger/TrigAnalysis/TrigEgammaAnalysisTools/Root/TrigEgammaNavTPNtuple.cxx
+++ b/Trigger/TrigAnalysis/TrigEgammaAnalysisTools/Root/TrigEgammaNavTPNtuple.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**********************************************************************
@@ -243,12 +243,12 @@ bool TrigEgammaNavTPNtuple::executeProbesItemDump(){
         }
 
 
-        setAccept(feat,info);
-        m_trig_L1_accept       = getAccept().getCutResult("L1Calo"); 
-        m_trig_L2_calo_accept  = getAccept().getCutResult("L2Calo"); 
-        m_trig_L2_el_accept    = getAccept().getCutResult("L2"); 
-        m_trig_EF_calo_accept  = getAccept().getCutResult("EFCalo");  
-        m_trig_EF_el_accept    = getAccept().getCutResult("HLT");   
+        asg::AcceptData acceptData = setAccept(feat,info);
+        m_trig_L1_accept       = acceptData.getCutResult("L1Calo"); 
+        m_trig_L2_calo_accept  = acceptData.getCutResult("L2Calo"); 
+        m_trig_L2_el_accept    = acceptData.getCutResult("L2"); 
+        m_trig_EF_calo_accept  = acceptData.getCutResult("EFCalo");  
+        m_trig_EF_el_accept    = acceptData.getCutResult("HLT");   
 
         ATH_MSG_DEBUG("L1Calo: "  << int(m_trig_L1_accept)); 
         ATH_MSG_DEBUG("L2Calo: "  << int(m_trig_L2_calo_accept));
diff --git a/Trigger/TrigAnalysis/TrigEgammaAnalysisTools/TrigEgammaAnalysisTools/EfficiencyTool.h b/Trigger/TrigAnalysis/TrigEgammaAnalysisTools/TrigEgammaAnalysisTools/EfficiencyTool.h
index 43d144192939..14a3a4a0c26c 100644
--- a/Trigger/TrigAnalysis/TrigEgammaAnalysisTools/TrigEgammaAnalysisTools/EfficiencyTool.h
+++ b/Trigger/TrigAnalysis/TrigEgammaAnalysisTools/TrigEgammaAnalysisTools/EfficiencyTool.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef EfficiencyTool_H
@@ -30,8 +30,10 @@ private:
 
 protected:
   void fillEfficiency(const std::string,bool,const float,const std::string,const xAOD::Egamma *,bool fill2D=true);
-  void inefficiency(const std::string&,const std::string,const float,std::pair< const xAOD::Egamma*,const HLT::TriggerElement*> pairObj);
-  void fillInefficiency(const std::string&,const std::string,const xAOD::Electron *,const xAOD::Photon *,const xAOD::CaloCluster *,const xAOD::TrackParticle *); 
+  void inefficiency(const std::string&,const std::string,const float,std::pair< const xAOD::Egamma*,const HLT::TriggerElement*> pairObj,
+                    const asg::AcceptData& acceptData);
+  void fillInefficiency(const std::string&,const std::string,const xAOD::Electron *,const xAOD::Photon *,const xAOD::CaloCluster *,const xAOD::TrackParticle *,
+                        const asg::AcceptData& acceptData); 
   bool analyseIsEM(const xAOD::Electron *,const std::string);
   bool analyseIsEMLH(const xAOD::Electron *,const std::string/*,const std::bitset<4>*/);
    /*! Include more detailed histograms */
diff --git a/Trigger/TrigAnalysis/TrigEgammaAnalysisTools/TrigEgammaAnalysisTools/TrigEgammaAnalysisBaseTool.h b/Trigger/TrigAnalysis/TrigEgammaAnalysisTools/TrigEgammaAnalysisTools/TrigEgammaAnalysisBaseTool.h
index c6abee3996dc..5a67bcefb1e4 100644
--- a/Trigger/TrigAnalysis/TrigEgammaAnalysisTools/TrigEgammaAnalysisTools/TrigEgammaAnalysisBaseTool.h
+++ b/Trigger/TrigAnalysis/TrigEgammaAnalysisTools/TrigEgammaAnalysisTools/TrigEgammaAnalysisBaseTool.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef TrigEgammaAnalysisBaseTool_H
@@ -7,7 +7,8 @@
 
 #include "TrigEgammaAnalysisTools/ITrigEgammaAnalysisBaseTool.h"
 #include "AsgTools/AsgTool.h"
-#include "PATCore/TAccept.h"
+#include "PATCore/AcceptInfo.h"
+#include "PATCore/AcceptData.h"
 #include "TrigDecisionTool/TrigDecisionTool.h"
 #include "TrigEgammaMatchingTool/ITrigEgammaMatchingTool.h"
 #include "TrigEgammaAnalysisTools/ITrigEgammaPlotTool.h"
@@ -49,12 +50,12 @@ ASG_TOOL_CLASS(TrigEgammaAnalysisBaseTool, ITrigEgammaAnalysisBaseTool)
 public:
 
   TrigEgammaAnalysisBaseTool( const std::string& myname);
-  ~TrigEgammaAnalysisBaseTool() {};
+  virtual ~TrigEgammaAnalysisBaseTool() {};
 
-  StatusCode initialize();
-  StatusCode book();
-  StatusCode execute();
-  StatusCode finalize();
+  virtual StatusCode initialize() override;
+  virtual StatusCode book() override;
+  virtual StatusCode execute() override;
+  virtual StatusCode finalize() override;
   template<class T, class B> std::unique_ptr<xAOD::TrigPassBits> createBits(const T* CONT, const B* BITS);
   template<class T> std::unique_ptr<xAOD::TrigPassBits> getBits(const HLT::TriggerElement* te,const T* CONT);
   template<class T> const T* getFeature(const HLT::TriggerElement* te,const std::string key="");
@@ -62,14 +63,14 @@ public:
   template <class T1, class T2> const T1* closestObject(const std::pair<const xAOD::Egamma *, const HLT::TriggerElement *>, 
                                                         float &, bool usePassbits=true,const std::string key="");
   // Interface class methods needed to pass information to additional tools or to set common tools
-  void setParent(IHLTMonTool *parent){ m_parent = parent;};
-  void setPlotTool(ToolHandle<ITrigEgammaPlotTool> tool){m_plot=tool;}
-  void setDetail(bool detail){m_detailedHists=detail;}
-  void setTP(bool tp){m_tp=tp;}
-  void setEmulation(bool doEmu){m_doEmulation=doEmu;}
-  void setEmulationTool(ToolHandle<Trig::ITrigEgammaEmulationTool> tool){m_emulationTool=tool;}
-  void setPVertex(const float onvertex, const float ngoodvertex){m_nPVertex = onvertex; m_nGoodVertex = ngoodvertex;}
-  void setAvgMu(const float onlmu, const float offmu){m_onlmu=onlmu; m_offmu=offmu;} //For tools called by tools
+  virtual void setParent(IHLTMonTool *parent) override { m_parent = parent;};
+  virtual void setPlotTool(ToolHandle<ITrigEgammaPlotTool> tool) override {m_plot=tool;}
+  virtual void setDetail(bool detail) override {m_detailedHists=detail;}
+  virtual void setTP(bool tp) override {m_tp=tp;}
+  virtual void setEmulation(bool doEmu) override {m_doEmulation=doEmu;}
+  virtual void setEmulationTool(ToolHandle<Trig::ITrigEgammaEmulationTool> tool) override {m_emulationTool=tool;}
+  virtual void setPVertex(const float onvertex, const float ngoodvertex) override {m_nPVertex = onvertex; m_nGoodVertex = ngoodvertex;}
+  virtual void setAvgMu(const float onlmu, const float offmu) override {m_onlmu=onlmu; m_offmu=offmu;} //For tools called by tools
 
   // Set current MonGroup
   void cd(const std::string &dir);
@@ -100,8 +101,8 @@ private:
   std::map<std::string,TrigInfo> m_trigInfo;
   /*! Include more detailed histograms */
   bool m_detailedHists;
-  /*! TAccept to store TrigDecision */
-  Root::TAccept m_accept;
+  /*! AcceptInfo to store TrigDecision */
+  asg::AcceptInfo m_accept;
   /*! Helper strings for trigger level analysis */
   static const std::vector<std::string> m_trigLevel;
   static const std::map<std::string,std::string> m_trigLvlMap;
@@ -189,10 +190,9 @@ protected:
   bool getTP() const {return m_tp;}
   bool getEmulation() const {return m_doEmulation;}
 
-  // TAccept
-  Root::TAccept getAccept(){return m_accept;}
-  void setAccept(Root::TAccept accept){m_accept=accept;}
-  void setAccept(const HLT::TriggerElement *,const TrigInfo);
+  // AcceptInfo/Data
+  const asg::AcceptInfo& getAccept() const {return m_accept;}
+  asg::AcceptData setAccept(const HLT::TriggerElement *,const TrigInfo);
   
   //Class Members
   // Athena services
-- 
GitLab


From 1f5bb0f1f9d3c912f7f1aa16d2ef07dc41fae334 Mon Sep 17 00:00:00 2001
From: Tomasz Bold <tomasz.bold@gmail.com>
Date: Thu, 24 Jan 2019 17:44:42 +0100
Subject: [PATCH 090/192] added functions to configure from chainDict - for
 menu integration

---
 .../TrigMuonHypo/CMakeLists.txt               |   3 +
 .../python/testTrigMuonHypoConfig.py          | 261 +++++++++---------
 .../HLTMenuConfig/Menu/SignatureDicts.py      |   2 +-
 3 files changed, 141 insertions(+), 125 deletions(-)

diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/CMakeLists.txt b/Trigger/TrigHypothesis/TrigMuonHypo/CMakeLists.txt
index 9b8d1c9d9f44..a0f038d21caa 100644
--- a/Trigger/TrigHypothesis/TrigMuonHypo/CMakeLists.txt
+++ b/Trigger/TrigHypothesis/TrigMuonHypo/CMakeLists.txt
@@ -39,6 +39,9 @@ atlas_add_component( TrigMuonHypo
                      INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS}
                      LINK_LIBRARIES ${CLHEP_LIBRARIES} xAODTrigMuon MuonIdHelpersLib MuonRecHelperToolsLib TrigInDetEvent TrigMuonEvent TrigSteeringEvent TrigInterfacesLib DecisionHandling AthViews xAODMuon xAODTracking GaudiKernel MuonSegment MuonSegmentMakerUtils TrigConfHLTData TrigT1Interfaces TrigT1Result )
 
+atlas_add_test( TrigMuonHypoConfig SCRIPT python -m  	TrigMuonHypo.testTrigMuonHypoConfig
+		POST_EXEC_SCRIPT nopost.sh )
+
 # Install files from the package:
 atlas_install_headers( TrigMuonHypo )
 atlas_install_python_modules( python/*.py )
diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/python/testTrigMuonHypoConfig.py b/Trigger/TrigHypothesis/TrigMuonHypo/python/testTrigMuonHypoConfig.py
index cdf44d0b7e36..204aa8dadee5 100755
--- a/Trigger/TrigHypothesis/TrigMuonHypo/python/testTrigMuonHypoConfig.py
+++ b/Trigger/TrigHypothesis/TrigMuonHypo/python/testTrigMuonHypoConfig.py
@@ -1,6 +1,6 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
-from TrigMuonHypo.TrigMuonHypoConf import TrigMufastHypoAlg, TrigMufastHypoTool, TrigmuCombHypoAlg, TrigmuCombHypoTool, TrigMuonEFMSonlyHypoAlg, TrigMuonEFMSonlyHypoTool, TrigMuisoHypoAlg, TrigMuisoHypoTool
+from TrigMuonHypo.TrigMuonHypoConf import TrigMufastHypoAlg, TrigMufastHypoTool, TrigmuCombHypoAlg, TrigmuCombHypoTool, TrigMuonEFMSonlyHypoAlg, TrigMuonEFMSonlyHypoTool, TrigMuisoHypoAlg, TrigMuisoHypoTool, TrigMuonEFCombinerHypoTool
 from TrigMuonHypo.TrigMuonHypoMonitoringMT import *
 from AthenaCommon.SystemOfUnits import GeV
 from MuonByteStream.MuonByteStreamFlags import muonByteStreamFlags
@@ -387,47 +387,40 @@ muFastThresholdsForECWeakBRegion = {
     }
 
 
-def TrigMufastHypoToolFromName( toolName,  thresholdHLT ):	
-        
-    name = "TrigMufastHypoTool"
-    config = TrigMufastHypoConfig()
-    
-    # Separete HLT_NmuX to bname[0]=HLT and bname[1]=NmuX
-    bname = thresholdHLT.split('_') 
-    threshold = bname[1]
-    thresholds = config.decodeThreshold( threshold )
-    print "TrigMufastHypoConfig: Decoded ", thresholdHLT, " to ", thresholds
-
-    tool=config.ConfigurationHypoTool( toolName, thresholds )
-    
-    # Setup MonTool for monitored variables in AthenaMonitoring package
-    TriggerFlags.enableMonitoring = ["Validation"]
-
+def addMonitoring(tool, monClass, name, thresholdHLT ):
     try:
-            if 'Validation' in TriggerFlags.enableMonitoring() or 'Online' in TriggerFlags.enableMonitoring() or 'Cosmic' in TriggerFlags.enableMonitoring():
-                tool.MonTool = TrigMufastHypoMonitoring( name + "Monitoring_" + thresholdHLT ) 
+        if 'Validation' in TriggerFlags.enableMonitoring() or 'Online' in TriggerFlags.enableMonitoring() or 'Cosmic' in TriggerFlags.enableMonitoring():
+            tool.MonTool = monClass( name + "Monitoring_" + thresholdHLT ) 
     except AttributeError:
-            tool.MonTool = ""
-            print name, ' Monitoring Tool failed'
+        tool.MonTool = ""
+        print name, ' Monitoring Tool failed'
 
-    return tool
 
+def getThresholdsFromDict( chainDict ):    
+    return sum( [ [part['threshold']]*int(part['multiplicity']) for part in chainDict['chainParts']], [])
 
-class TrigMufastHypoConfig():
 
-    def decodeThreshold( self, threshold ):
-        """ decodes the thresholds of the form mu6, 2mu6, ... """
-        print "decoding ", threshold
+def TrigMufastHypoToolFromDict( chainDict ):	
 
-        if threshold[0].isdigit():  # If the form is NmuX, return as list [X,X,X...N times...]
-            assert threshold[1:3] == "mu", "Two digit multiplicity not supported"
-            return [ threshold[3:] ] * int( threshold[0] )
-    
-        if threshold.count('mu') > 1:  # If theform is muXmuY, return as [X,Y]
-            return threshold.strip('mu').split('mu')
+    thresholds = getThresholdsFromDict( chainDict )
+    config = TrigMufastHypoConfig()
+    tool=config.ConfigurationHypoTool( chainDict['chainName'], thresholds )
+    # # Setup MonTool for monitored variables in AthenaMonitoring package
+    TriggerFlags.enableMonitoring = ['Validation']
+    addMonitoring( tool, TrigMufastHypoMonitoring, 'TrigMufastHypoTool', chainDict['chainName'] )
     
-        # If the form is muX(inclusive), return as 1 element list
-        return [ threshold[2:] ]        
+    return tool
+
+
+def TrigMufastHypoToolFromName( name,  thresholdHLT ):	
+    from TriggerMenuMT.HLTMenuConfig.Menu.DictFromChainName import DictFromChainName   
+    decoder = DictFromChainName()    
+    decodedDict = decoder.analyseShortName(thresholdHLT, [], "") # no L1 info    
+    decodedDict['chainName'] = name # override
+    return TrigMufastHypoToolFromDict( decodedDict )
+
+
+class TrigMufastHypoConfig():
     
     def ConfigurationHypoTool( self, thresholdHLT, thresholds ): 
         
@@ -481,33 +474,50 @@ class TrigMufastHypoConfig():
                     raise Exception('MuFast Hypo Misconfigured: threshold %r not supported' % thvaluename)
 
         return tool
+
+def TrigmuCombHypoToolFromDict( chainDict ):
+    print chainDict
+
+    thresholds = getThresholdsFromDict( chainDict )
+    config = TrigmuCombHypoConfig()
     
+    tight = False # can be probably decoded from some of the proprties of the chain, expert work
+    tool=config.ConfigurationHypoTool( chainDict['chainName'], thresholds, tight )
+
+    addMonitoring( tool, TrigmuCombHypoMonitoring, "TrigmuCombHypoTool", chainDict['chainName'] )
+
+    return tool
 
-def TrigmuCombHypoToolFromName( toolName, thresholdHLT ):	
+def TrigmuCombHypoToolFromName( name, thresholdsHLT ):	
+    from TriggerMenuMT.HLTMenuConfig.Menu.DictFromChainName import DictFromChainName   
+    decoder = DictFromChainName()    
+    decodedDict = decoder.analyseShortName(thresholdsHLT, [], "") # no L1 info    
+    decodedDict['chainName'] = name # override
+    return TrigmuCombHypoToolFromDict( decodedDict )
         
-    name = "TrigmuCombHypoTool"
-    config = TrigmuCombHypoConfig()
+    # name = "TrigmuCombHypoTool"
+
     
-    # Separete HLT_NmuX to bname[0]=HLT and bname[1]=NmuX
-    bname = thresholdHLT.split('_') 
-    threshold = bname[1]
-    thresholds = config.decodeThreshold( threshold )
-    print "TrigmuCombHypoConfig: Decoded ", thresholdHLT, " to ", thresholds
-
-    tight = False
-    tool=config.ConfigurationHypoTool( toolName, thresholds, tight )
+    # # Separete HLT_NmuX to bname[0]=HLT and bname[1]=NmuX
+    # bname = thresholdHLT.split('_') 
+    # threshold = bname[1]
+    # thresholds = config.decodeThreshold( threshold )
+    # print "TrigmuCombHypoConfig: Decoded ", thresholdHLT, " to ", thresholds
+
+
+    # tool=config.ConfigurationHypoTool( toolName, thresholds, tight )
     
-    # Setup MonTool for monitored variables in AthenaMonitoring package
-    TriggerFlags.enableMonitoring = ["Validation"]
+    # # Setup MonTool for monitored variables in AthenaMonitoring package
+    # TriggerFlags.enableMonitoring = ["Validation"]
 
-    try:
-            if 'Validation' in TriggerFlags.enableMonitoring() or 'Online' in TriggerFlags.enableMonitoring() or 'Cosmic' in TriggerFlags.enableMonitoring():
-                tool.MonTool = TrigmuCombHypoMonitoring( name + "Monitoring_" + thresholdHLT ) 
-    except AttributeError:
-            tool.MonTool = ""
-            print name, ' Monitoring Tool failed'
+    # try:
+    #         if 'Validation' in TriggerFlags.enableMonitoring() or 'Online' in TriggerFlags.enableMonitoring() or 'Cosmic' in TriggerFlags.enableMonitoring():
+    #             tool.MonTool = TrigmuCombHypoMonitoring( name + "Monitoring_" + thresholdHLT ) 
+    # except AttributeError:
+    #         tool.MonTool = ""
+    #         print name, ' Monitoring Tool failed'
 
-    return tool
+    # return tool
 
 
 class TrigmuCombHypoConfig():
@@ -566,46 +576,36 @@ class TrigmuCombHypoConfig():
         return tool 
 
 
+
 ### for TrigMuisoHypo
-def TrigMuisoHypoToolFromName( toolName, thresholdHLT ):
+def TrigMuisoHypoToolFromDict( chainDict ):
 
-    name = "TrigMuisoHypoTool"
     config = TrigMuisoHypoConfig()
+    tool = config.ConfigurationHypoTool( chainDict['chainName'] )
+    addMonitoring( tool, TrigMuisoHypoMonitoring,  "TrigMuisoHypoTool", chainDict['chainName'])
+    return tool
+    
 
-    # Separete HLT_NmuX to bname[0]=HLT and bname[1]=NmuX
-    bnames = thresholdHLT.split('_') 
-
-    print "TrigMuisoHypoConfig: Decoded ", thresholdHLT 
-
-    tool = config.ConfigurationHypoTool( toolName, bnames )
-
-
-    # Setup MonTool for monitored variables in AthenaMonitoring package
-    TriggerFlags.enableMonitoring = ["Validation"]
-
-    try:
-        if 'Validation' in TriggerFlags.enableMonitoring() or 'Online' in TriggerFlags.enableMonitoring() or 'Cosmic' in TriggerFlags.enableMonitoring():
-            tool.MonTool = TrigMuisoHypoMonitoring( name + "Monitoring_" + thresholdHLT ) 
-    except AttributeError:
-        tool.MonTool = ""
-        print name, ' Monitoring Tool failed'
+def TrigMuisoHypoToolFromName( name, thresholdHLT ):
 
-    return tool
+    from TriggerMenuMT.HLTMenuConfig.Menu.DictFromChainName import DictFromChainName   
+    decoder = DictFromChainName()    
+    decodedDict = decoder.analyseShortName(thresholdHLT, [], "") # no L1 info    
+    decodedDict['chainName'] = name # override
+    return TrigMuisoHypoToolFromDict( decodedDict )
 
 
 class TrigMuisoHypoConfig() :
 
-
-    def ConfigurationHypoTool( self, toolName, bnames ):	
+    def ConfigurationHypoTool( self, toolName ):	
 
         tool = TrigMuisoHypoTool( toolName )  
         
-        # If configured with passthrough, set AcceptAll flag on
+        # If configured with passthrough, set AcceptAll flag on, not quite there in the menu
         tool.AcceptAll = False
-        for bname in bnames:
-            if 'passthrough' in bname:
-                tool.AcceptAll = True
-                print 'MuisoHypoConfig configured in pasthrough mode'
+        if 'passthrough' in toolName:                    
+            tool.AcceptAll = True
+            print 'MuisoHypoConfig configured in pasthrough mode'
 
         if "FTK" in toolName: # allows us to use different working points in FTK mode
             tool.IDConeSize   = 2;
@@ -623,30 +623,21 @@ class TrigMuisoHypoConfig() :
         return tool
 
 
-def TrigMuonEFMSonlyHypoToolFromName( toolName, thresholdHLT ) :
-
-    name = "TrigMuonEFMSonlyHypoTool"
+def TrigMuonEFMSonlyHypoToolFromDict( chainDict ) :
+    thresholds = getThresholdsFromDict( chainDict ) 
     config = TrigMuonEFMSonlyHypoConfig()
+    tool = config.ConfigurationHypoTool( chainDict['chainName'], thresholds )
+    addMonitoring( tool, TrigMuonEFMSonlyHypoMonitoring, "TrigMuonEFMSonlyHypoTool", chainDict['chainName'] )
+    return tool
 
-    # Separete HLT_NmuX to bname[0]=HLT and bname[1]=NmuX
-    bname = thresholdHLT.split('_') 
-    threshold = bname[1]
-    thresholds = config.decodeThreshold( threshold )
-    print "TrigMuonEFMSonlyHypoConfig: Decoded ", thresholdHLT, " to ", thresholds
-
-    tool = config.ConfigurationHypoTool( toolName, thresholds )
- 
-    # Setup MonTool for monitored variables in AthenaMonitoring package
-    TriggerFlags.enableMonitoring = ["Validation"]
-
-    try:
-            if 'Validation' in TriggerFlags.enableMonitoring() or 'Online' in TriggerFlags.enableMonitoring() or 'Cosmic' in TriggerFlags.enableMonitoring():
-                tool.MonTool = TrigMuonEFMSonlyHypoMonitoring( name + "Monitoring_" + thresholdHLT ) 
-    except AttributeError:
-            tool.MonTool = ""
-            print name, ' Monitoring Tool failed'
     
-    return tool
+def TrigMuonEFMSonlyHypoToolFromName( name, thresholdHLT ) :
+
+    from TriggerMenuMT.HLTMenuConfig.Menu.DictFromChainName import DictFromChainName   
+    decoder = DictFromChainName()    
+    decodedDict = decoder.analyseShortName(thresholdHLT, [], "") # no L1 info    
+    decodedDict['chainName'] = name # override
+    return TrigMuonEFMSonlyHypoToolFromDict( decodedDict )
     
 class TrigMuonEFMSonlyHypoConfig(): 
         
@@ -694,30 +685,22 @@ class TrigMuonEFMSonlyHypoConfig():
 
         return tool
 
-def TrigMuonEFCombinerHypoToolFromName( toolName, thresholdHLT ) :
-
-    name = "TrigMuonEFCombinerHypoTool"
+    
+def TrigMuonEFCombinerHypoToolFromDict( chainDict ) :
+    thresholds = getThresholdsFromDict( chainDict ) 
     config = TrigMuonEFCombinerHypoConfig()
+    tool = config.ConfigurationHypoTool( chainDict['chainName'], thresholds )
+    addMonitoring( tool, TrigMuonEFCombinerHypoMonitoring, "TrigMuonEFCombinerHypoTool", chainDict['chainName'] )
+    return tool
+    
+def TrigMuonEFCombinerHypoToolFromName( name, thresholdHLT ) :
 
-    # Separete HLT_NmuX to bname[0]=HLT and bname[1]=NmuX
-    bname = thresholdHLT.split('_') 
-    threshold = bname[1]
-    thresholds = config.decodeThreshold( threshold )
-    print "TrigMuonEFCombinerHypoConfig: Decoded ", thresholdHLT, " to ", thresholds
-
-    tool = config.ConfigurationHypoTool( toolName, thresholds )
- 
-    # Setup MonTool for monitored variables in AthenaMonitoring package
-    TriggerFlags.enableMonitoring = ["Validation"]
+    from TriggerMenuMT.HLTMenuConfig.Menu.DictFromChainName import DictFromChainName   
+    decoder = DictFromChainName()    
+    decodedDict = decoder.analyseShortName(thresholdHLT, [], "") # no L1 info    
+    decodedDict['chainName'] = name # override
+    return TrigMuonEFCombinerHypoToolFromDict( decodedDict )
 
-    try:
-            if 'Validation' in TriggerFlags.enableMonitoring() or 'Online' in TriggerFlags.enableMonitoring() or 'Cosmic' in TriggerFlags.enableMonitoring():
-                tool.MonTool = TrigMuonEFCombinerHypoMonitoring( name + "Monitoring_" + thresholdHLT ) 
-    except AttributeError:
-            tool.MonTool = ""
-            print name, ' Monitoring Tool failed'
-    
-    return tool
 
 class TrigMuonEFCombinerHypoConfig(): 
         
@@ -764,3 +747,33 @@ class TrigMuonEFCombinerHypoConfig():
 
         return tool
 
+
+
+
+if __name__ == '__main__':
+    # normaly this tools are private and have no clash in naming, for the test we create them and never assign so they are like public,
+    # in Run3 config this is checked in a different way so having Run 3 JO behaviour solves test issue
+    from AthenaCommon.Configurable import Configurable
+    Configurable.configurableRun3Behavior=1 
+
+    configToTest = [ 'HLT_mu6fast',
+                     'HLT_mu6Comb',
+                     'HLT_mu6'                    
+                     'HLT_mu20_ivar',
+                     'HLT_2mu6Comb',
+                     'HLT_2mu6']
+                    
+    for c in configToTest:
+        print "testing config ", c
+        toolMufast = TrigMufastHypoToolFromName(c, c)
+        assert toolMufast
+        toolmuComb = TrigmuCombHypoToolFromName(c, c)
+        assert toolmuComb
+        toolMuiso = TrigMuisoHypoToolFromName(c, c)
+        assert toolMuiso
+        toolEFMSonly = TrigMuonEFMSonlyHypoToolFromName(c, c)
+        assert toolEFMSonly
+        toolEFCombiner = TrigMuonEFCombinerHypoToolFromName(c, c)
+        assert toolEFCombiner
+        
+    print "All OK"
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py
index 6398c34c5085..d2c78e3b8a7b 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py
@@ -195,7 +195,7 @@ MuonChainParts = {
     'threshold'      : '',
     'extra'          : ['noL1'],
     'IDinfo'         : [],
-    'isoInfo'        : ['iloose', 'imedium', 'itight', 'ivarloose', 'ivarmedium','icalo','iloosecalo','imediumcalo','iloosems', 'ivarloosecalo', 'ivarmediumcalo'],
+    'isoInfo'        : ['iloose', 'ivar', 'imedium', 'itight', 'ivarloose', 'ivarmedium','icalo','iloosecalo','imediumcalo','iloosems', 'ivarloosecalo', 'ivarmediumcalo'],
     'reccalibInfo'   : ['msonly', 'l2msonly', 'l2idonly', 'nomucomb', 'idperf','muoncalib', 'mucombTag','muL2', 'mgonly'],
     'trkInfo'        : ['fasttr', 'hlttr', 'ftk', 'IDT'],
     'hypoInfo'       : [],
-- 
GitLab


From 1636e2a78bf4585e7c7d0e8679dfa750878e52e5 Mon Sep 17 00:00:00 2001
From: John Derek Chapman <chapman@hep.phy.cam.ac.uk>
Date: Tue, 22 Jan 2019 11:11:33 +0000
Subject: [PATCH 091/192] Manually merge branch 'stgcDropDigitInfo' into '21.3'

Delete obsolete sTgcDigitInfo class from the sTGC_Digitization package

See merge request atlas/athena!20417
---
 .../sTGC_Digitization/sTgcDigitInfo.h         | 78 -------------------
 .../sTgcDigitInfoCollection.h                 | 55 -------------
 .../sTGC_Digitization/sTgcDigitizationTool.h  |  5 --
 .../src/sTgcDigitizationTool.cxx              | 23 +-----
 4 files changed, 4 insertions(+), 157 deletions(-)
 delete mode 100644 MuonSpectrometer/MuonDigitization/sTGC_Digitization/sTGC_Digitization/sTgcDigitInfo.h
 delete mode 100644 MuonSpectrometer/MuonDigitization/sTGC_Digitization/sTGC_Digitization/sTgcDigitInfoCollection.h

diff --git a/MuonSpectrometer/MuonDigitization/sTGC_Digitization/sTGC_Digitization/sTgcDigitInfo.h b/MuonSpectrometer/MuonDigitization/sTGC_Digitization/sTGC_Digitization/sTgcDigitInfo.h
deleted file mode 100644
index 7984c80d8d59..000000000000
--- a/MuonSpectrometer/MuonDigitization/sTGC_Digitization/sTGC_Digitization/sTgcDigitInfo.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef sTgcDigitInfoUH
-#define sTgcDigitInfoUH
-
-#include <iosfwd>
-#include <inttypes.h>
-#include "MuonDigitContainer/MuonDigit.h"
-#include "MuonIdHelpers/sTgcIdHelper.h"
-
-class sTgcDigitInfo : public MuonDigit {
-
- public:  // functions
-
-  enum {BC_UNDEFINED=0, BC_PREVIOUS, BC_CURRENT, BC_NEXT};
-	sTgcDigitInfo() :  m_bcTag (BC_UNDEFINED), m_charge(-1), m_time(0), m_isDead (0), m_isPileup(0) { }
-
-	//**********************************************************************
-	sTgcDigitInfo(const Identifier& id, uint16_t bctag, float time, float charge, bool isDead, bool isPileup)
-	  : MuonDigit(id),
-			m_bcTag(bctag),
-			m_charge(charge),
-			m_time(time),
-	    m_isDead(isDead),
-	    m_isPileup(isPileup) { }
-	// //**********************************************************************
-
-	uint16_t bcTag() const {
-	  return m_bcTag;
-	}
-
-	// get the charge
-	float charge() const {
-	  return m_charge;
-	}
-
-	// get the charge
-	float time() const {
-	  return m_time;
-	}
-
-	//return the dead channel status
-	bool isDead() const {
-		return m_isDead;
-	}
-
-	// return whether the digit is due to pileup
-	bool isPileup() const {
-		return m_isPileup;
-	}
-
-	void set_bcTag(uint16_t newbcTag) {
-	  m_bcTag = newbcTag;
-	}
-
-	void set_charge(float newCharge) {
-	  m_charge = newCharge;
-	}
-
-	void set_isDead(bool newIsDead) {
-		m_isDead = newIsDead;
-	}
-
-	void set_isPileup(bool newIsPileup) {
-		m_isPileup = newIsPileup;
-	}
-
- private:  // data
-  uint16_t  m_bcTag;
-  float m_charge;
-  float m_time;
-  bool m_isDead;
-  bool m_isPileup;
-};
-
-#endif
diff --git a/MuonSpectrometer/MuonDigitization/sTGC_Digitization/sTGC_Digitization/sTgcDigitInfoCollection.h b/MuonSpectrometer/MuonDigitization/sTGC_Digitization/sTGC_Digitization/sTgcDigitInfoCollection.h
deleted file mode 100644
index 4d146985ab35..000000000000
--- a/MuonSpectrometer/MuonDigitization/sTGC_Digitization/sTGC_Digitization/sTgcDigitInfoCollection.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#ifndef MUONSPECTROMETER_STGCDIGITINFOCOLLECTION_H
-#define MUONSPECTROMETER_STGCDIGITINFOCOLLECTION_H
-
-#include "sTGC_Digitization/sTgcDigitInfo.h"
-#include "Identifier/Identifier.h"
-#include "Identifier/IdentifierHash.h"
-
-#include "AthContainers/DataVector.h"
-#include "AthenaKernel/CLASS_DEF.h"
-
-class sTgcDigitInfoCollection : public DataVector<sTgcDigitInfo>
-{
-
- public:  // functions
-
-  typedef Identifier ID;
-  typedef sTgcDigitInfo DIGITINFO;
-  // Default constructor.
-  sTgcDigitInfoCollection()
-    : DataVector<sTgcDigitInfo>(),m_id(0),m_idHash(0)
-    { };
-
-    // Creates an empty container ready for writing.
-    sTgcDigitInfoCollection(Identifier id,IdentifierHash idHash)
-      : DataVector<sTgcDigitInfo>(),m_id(id),m_idHash(idHash)
-      { };
-
-      Identifier identify() const
-      {
-	return m_id;
-      }
-
-      IdentifierHash identifierHash() const
-      {
-	return m_idHash;
-      }
-
- private:
-      Identifier     m_id;
-      IdentifierHash m_idHash;
-
-};
-
-CLASS_DEF(sTgcDigitInfoCollection, 1084451812, 1)
-
-// Class needed only for persistency
-typedef DataVector<sTgcDigitInfoCollection> sTgcDigitInfoCollection_vector;
-CLASS_DEF( sTgcDigitInfoCollection_vector , 1257207333 , 1 )
-
-#endif
-
diff --git a/MuonSpectrometer/MuonDigitization/sTGC_Digitization/sTGC_Digitization/sTgcDigitizationTool.h b/MuonSpectrometer/MuonDigitization/sTGC_Digitization/sTGC_Digitization/sTgcDigitizationTool.h
index 5a0a89192da3..b23c097ca1b1 100644
--- a/MuonSpectrometer/MuonDigitization/sTGC_Digitization/sTGC_Digitization/sTgcDigitizationTool.h
+++ b/MuonSpectrometer/MuonDigitization/sTGC_Digitization/sTGC_Digitization/sTgcDigitizationTool.h
@@ -25,8 +25,6 @@
 #include "xAODEventInfo/EventInfo.h"
 #include "xAODEventInfo/EventAuxInfo.h"
 
-#include "sTGC_Digitization/sTgcDigitInfoCollection.h"
-
 #include "CLHEP/Random/RandGaussZiggurat.h"
 #include "CLHEP/Random/RandomEngine.h"
 #include "CLHEP/Geometry/Point3D.h"
@@ -131,7 +129,6 @@ private:
   ActiveStoreSvc*                          m_activeStore;
   sTgcHitIdHelper*                         m_hitIdHelper;
   sTgcDigitContainer*                      m_digitContainer;
-  sTgcDigitInfoCollection*				   m_digitInfoCollection;
   const sTgcIdHelper*                      m_idHelper;
   const MuonGM::MuonDetectorManager*       m_mdManager;
   sTgcDigitMaker*                          m_digitizer;
@@ -143,8 +140,6 @@ private:
   std::string m_outputDigitCollectionName; // name of the output digits
   std::string m_outputSDO_CollectionName; // name of the output SDOs
 
-  std::string m_outputDigitInfoCollectionName;
-
   bool m_doToFCorrection;
   int m_doChannelTypes;
   //double m_noiseFactor;
diff --git a/MuonSpectrometer/MuonDigitization/sTGC_Digitization/src/sTgcDigitizationTool.cxx b/MuonSpectrometer/MuonDigitization/sTGC_Digitization/src/sTgcDigitizationTool.cxx
index 71b8681379ea..b13fb68c4498 100644
--- a/MuonSpectrometer/MuonDigitization/sTGC_Digitization/src/sTgcDigitizationTool.cxx
+++ b/MuonSpectrometer/MuonDigitization/sTGC_Digitization/src/sTgcDigitizationTool.cxx
@@ -112,7 +112,6 @@ sTgcDigitizationTool::sTgcDigitizationTool(const std::string& type, const std::s
     m_inputHitCollectionName("sTGCSensitiveDetector"),
     m_outputDigitCollectionName("sTGC_DIGITS"),
     m_outputSDO_CollectionName("sTGC_SDO"),
-	m_outputDigitInfoCollectionName("sTGC_DIGIT_INFO"),
     m_doToFCorrection(0),
     m_doChannelTypes(3),
     m_readoutThreshold(0),
@@ -154,7 +153,6 @@ sTgcDigitizationTool::sTgcDigitizationTool(const std::string& type, const std::s
   declareProperty("InputObjectName",         m_inputHitCollectionName    = "sTGCSensitiveDetector", "name of the input object");
   declareProperty("OutputObjectName",        m_outputDigitCollectionName = "sTGC_DIGITS",           "name of the output object");
   declareProperty("OutputSDOName",           m_outputSDO_CollectionName  = "sTGC_SDO"); 
-  declareProperty("OutputDigitInfoName",     m_outputDigitInfoCollectionName = "sTGC_DIGIT_INFO");
   declareProperty("doToFCorrection",         m_doToFCorrection); 
   declareProperty("doChannelTypes",          m_doChannelTypes); 
   declareProperty("DeadtimeElectronicsStrip",m_deadtimeStrip); 
@@ -451,17 +449,6 @@ StatusCode sTgcDigitizationTool::recordDigitAndSdoContainers() {
     ATH_MSG_DEBUG("sTgcSDOCollection recorded in StoreGate.");
   }
 
-  m_digitInfoCollection = new sTgcDigitInfoCollection();
-
-  status = m_sgSvc->record(m_digitInfoCollection, m_outputDigitInfoCollectionName);
-  if(status.isFailure())  {
-      ATH_MSG_FATAL("Unable to record digit info collection in StoreGate");
-      return status;
-  } else {
-	  ATH_MSG_DEBUG("Digit info collection recorded in StoreGate.");
-  }
-
-
   return status;
 }
 /*******************************************************************************/
@@ -540,8 +527,6 @@ StatusCode sTgcDigitizationTool::doDigitization() {
 
   sTgcDigitCollection* digitCollection = 0;  //output digits
 
-  m_digitInfoCollection->clear();
-
   ATH_MSG_DEBUG("create PRD container of size " << m_idHelper->detectorElement_hash_max());
 
   IdContext tgcContext = m_idHelper->module_context();
@@ -563,10 +548,10 @@ StatusCode sTgcDigitizationTool::doDigitization() {
           ATH_MSG_VERBOSE("Hit Particle ID : " << hit.particleEncoding() );
           float eventTime = phit.eventTime(); 
           if(eventTime < earliestEventTime) earliestEventTime = eventTime;
-	  // Cut on energy deposit of the particle
-	  if(hit.depositEnergy() < m_energyDepositThreshold) {
-	    ATH_MSG_VERBOSE("Hit with Energy Deposit of " << hit.depositEnergy() << " less than 300.eV  Skip this hit." );
-	    continue;
+	      // Cut on energy deposit of the particle
+	      if(hit.depositEnergy() < m_energyDepositThreshold) {
+	        ATH_MSG_VERBOSE("Hit with Energy Deposit of " << hit.depositEnergy() << " less than 300.eV  Skip this hit." );
+	        continue;
           }
           if(eventTime != 0){
              msg(MSG::DEBUG) << "Updated hit global time to include off set of " << eventTime << " ns from OOT bunch." << endmsg;
-- 
GitLab


From 01854777b046208588cd4796f14f087d625cb773 Mon Sep 17 00:00:00 2001
From: Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch>
Date: Thu, 24 Jan 2019 18:41:23 +0100
Subject: [PATCH 092/192] Updated the PostConfig files of the projects to set
 up tdaq releases correctly.

After the update in the naming convention for the variables specifying where to
pick up tdaq releases from, I forgot to update the PostConfig.cmake files generated
by the releases to use this same convention. This is fixing that.
---
 Projects/AthDataQuality/PostConfig.cmake.in | 12 ++++++++----
 Projects/Athena/PostConfig.cmake.in         | 20 ++++++++++++++------
 2 files changed, 22 insertions(+), 10 deletions(-)

diff --git a/Projects/AthDataQuality/PostConfig.cmake.in b/Projects/AthDataQuality/PostConfig.cmake.in
index 8d8218256cb3..29b54887ad02 100644
--- a/Projects/AthDataQuality/PostConfig.cmake.in
+++ b/Projects/AthDataQuality/PostConfig.cmake.in
@@ -4,8 +4,12 @@
 #
 
 # Set the versions of the TDAQ projects:
-set( TDAQ-COMMON_VERSION "@TDAQ-COMMON_VERSION@" )
-set( TDAQ-COMMON_ROOT "@TDAQ-COMMON_ROOT@" )
+set( TDAQ-COMMON_VERSION "@TDAQ-COMMON_VERSION@" CACHE STRING
+   "The version of tdaq-common to use for the build" )
+set( TDAQ-COMMON_ATROOT "@TDAQ-COMMON_ATROOT@" CACHE PATH
+   "The directory to pick up tdaq-common from" )
 
-set( DQM-COMMON_VERSION "@DQM-COMMON_VERSION@" )
-set( DQM-COMMON_ROOT "@DQM-COMMON_ROOT@" )
+set( DQM-COMMON_VERSION "@DQM-COMMON_VERSION@" CACHE STRING
+   "The version of dqm-common to use for the build" )
+set( DQM-COMMON_ATROOT "@DQM-COMMON_ATROOT@" CACHE PATH
+   "The directory to pick up dqm-common from" )
diff --git a/Projects/Athena/PostConfig.cmake.in b/Projects/Athena/PostConfig.cmake.in
index 3e372f98e166..5ce21e3e61ab 100644
--- a/Projects/Athena/PostConfig.cmake.in
+++ b/Projects/Athena/PostConfig.cmake.in
@@ -5,14 +5,22 @@
 
 # Set the versions of the TDAQ projects:
 
-set( TDAQ_VERSION "@TDAQ_VERSION@" ) 
-set( TDAQ_ROOT "@TDAQ_ROOT@" )
+set( TDAQ_PROJECT_NAME "@TDAQ_PROJECT_NAME@" CACHE STRING
+   "Name of the tdaq project" )
+set( TDAQ_VERSION "@TDAQ_VERSION@" CACHE STRING
+   "The version of tdaq to use for the build" ) 
+set( TDAQ_ATROOT "@TDAQ_ATROOT@" CACHE PATH
+   "The directory to pick up tdaq from" )
 
-set( TDAQ-COMMON_VERSION "@TDAQ-COMMON_VERSION@" )
-set( TDAQ-COMMON_ROOT "@TDAQ-COMMON_ROOT@" )
+set( TDAQ-COMMON_VERSION "@TDAQ-COMMON_VERSION@" CACHE STRING
+   "The version of tdaq-common to use for the build" )
+set( TDAQ-COMMON_ATROOT "@TDAQ-COMMON_ATROOT@" CACHE PATH
+   "The directory to pick up tdaq-common from" )
 
-set( DQM-COMMON_VERSION "@DQM-COMMON_VERSION@" )
-set( DQM-COMMON_ROOT "@DQM-COMMON_ROOT@" )
+set( DQM-COMMON_VERSION "@DQM-COMMON_VERSION@" CACHE STRING
+   "The version of dqm-common to use for the build" )
+set( DQM-COMMON_ATROOT "@DQM-COMMON_ATROOT@" CACHE PATH
+   "The directory to pick up dqm-common from" )
 
 # Find Gaudi:
 find_package( Gaudi REQUIRED )
-- 
GitLab


From cb3f3f889aa7b1ac4f115f11e9a8eab4336f3632 Mon Sep 17 00:00:00 2001
From: Frank Winklmeier <frank.winklmeier@cern.ch>
Date: Wed, 23 Jan 2019 12:51:46 +0100
Subject: [PATCH 093/192] GenericMonitoringTool: Deprecate the default setting
 of "EXPERT"

An explicit `path` needs to be specified in `defineHistogram` now to
support both the offline DQ and trigger use-case.
---
 Control/AthenaMonitoring/python/GenericMonitoringTool.py | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/Control/AthenaMonitoring/python/GenericMonitoringTool.py b/Control/AthenaMonitoring/python/GenericMonitoringTool.py
index 5377698106e8..65b244043434 100644
--- a/Control/AthenaMonitoring/python/GenericMonitoringTool.py
+++ b/Control/AthenaMonitoring/python/GenericMonitoringTool.py
@@ -23,11 +23,16 @@ class GenericMonitoringTool(_GenericMonitoringTool):
 #  @param title    Histogram title and optional axis title (same syntax as in TH constructor)
 #  @param opt      Histrogram options (see GenericMonitoringTool)
 #  @param labels   List of bin labels (for a 2D histogram, sequential list of x- and y-axis labels)
-def defineHistogram(varname, type='TH1F', path='EXPERT',
+def defineHistogram(varname, type='TH1F', path=None,
                     title=None,
                     xbins=100, xmin=0, xmax=1,
                     ybins=None, ymin=None, ymax=None, zmin=None, zmax=None, opt='', labels=None):
 
+    if path is None:
+        import warnings
+        warnings.warn("Calling defineHistrogram without path is deprecated. Specify e.g. path='EXPERT'", stacklevel=2)
+        path = 'EXPERT'
+
     if title is None: title=varname
     coded = "%s, %s, %s, %s, %d, %f, %f" % (path, type, varname, title, xbins, xmin, xmax)
     if ybins is not None:
-- 
GitLab


From 3293b9552a6e0ebb6046d9ca54f643c1d5913e6e Mon Sep 17 00:00:00 2001
From: Frank Winklmeier <frank.winklmeier@cern.ch>
Date: Wed, 23 Jan 2019 12:52:58 +0100
Subject: [PATCH 094/192] Migrate trigger monitoring to use explict path in
 defineHistogram

Always specify and explicit path in `defineHistogram`.
---
 .../python/TrigL2MuonSAMonitoring.py          | 52 +++++++--------
 .../share/testDataAccessService.py            | 10 +--
 .../python/TrigL2CaloHypoTool.py              | 28 ++++----
 .../python/TrigL2ElectronHypoTool.py          | 16 ++---
 .../python/TrigL2PhotonHypoTool.py            |  8 +--
 .../python/TrigMissingETHypoMonitoringTool.py | 32 +++++-----
 .../python/TrigL2CaloRingerFexMTInit.py       | 18 +++---
 .../python/TrigMuonHypoMonitoringMT.py        | 64 +++++++++----------
 .../TrigUpgradeTest/python/jetDefs.py         |  6 +-
 .../TrigUpgradeTest/python/metDefs.py         | 14 ++--
 .../TrigUpgradeTest/share/jet.recoToy.py      |  8 ++-
 .../TrigUpgradeTest/share/metTest.py          | 14 ++--
 12 files changed, 140 insertions(+), 130 deletions(-)

diff --git a/Trigger/TrigAlgorithms/TrigL2MuonSA/python/TrigL2MuonSAMonitoring.py b/Trigger/TrigAlgorithms/TrigL2MuonSA/python/TrigL2MuonSAMonitoring.py
index 7df5b551dda0..5b76c02108e3 100755
--- a/Trigger/TrigAlgorithms/TrigL2MuonSA/python/TrigL2MuonSAMonitoring.py
+++ b/Trigger/TrigAlgorithms/TrigL2MuonSA/python/TrigL2MuonSAMonitoring.py
@@ -1,7 +1,6 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 
-from TrigMonitorBase.TrigGenericMonitoringToolConfig import defineHistogram, TrigGenericMonitoringToolConfig
 from AthenaMonitoring.GenericMonitoringTool import GenericMonitoringTool, defineHistogram
 
 class TrigL2MuonSAMonitoring(GenericMonitoringTool):
@@ -9,30 +8,33 @@ class TrigL2MuonSAMonitoring(GenericMonitoringTool):
         super(TrigL2MuonSAMonitoring, self).__init__( name )
     
         self.HistPath = name
-        self.Histograms = [ defineHistogram('InnMdtHits',    type='TH1F', title="Hit multiplicity in the INNER road; MDT hits", xbins=50, xmin=-0.5, xmax=50.5),
-                            defineHistogram('MidMdtHits',    type='TH1F', title="Hit multiplicity in the MIDDLE road; MDT hits", xbins=50, xmin=-0.5, xmax=50.5),
-                            defineHistogram('OutMdtHits',    type='TH1F', title="Hit multiplicity in the OUTER road; MDT hits", xbins=50, xmin=-0.5, xmax=50.5), 
-                            defineHistogram('FitResiduals',  type='TH1F', title="Fit Residual; Residuals (cm)", xbins=400, xmin=-0.4, xmax=0.4), 
-                            defineHistogram('Efficiency',    type='TH1F', title="Track finding efficiency", xbins=2, xmin=-0.5, xmax=1.5),
-                            defineHistogram('Address',       type='TH1F', title="S_address;S_address", xbins=5, xmin=-1.5, xmax=3.5 ),
-                            defineHistogram('AbsPt',         type='TH1F', title="absolute P_{T};P_{T} (GeV)", xbins=100, xmin=0, xmax=100 ),
-                            defineHistogram('TrackPt',       type='TH1F', title="P_{T};P_{T} (GeV)", xbins=100, xmin=-100, xmax=100 ),
-                            defineHistogram('AbsPt, SagInv', type='TH2F', title="1/s as a function of P_{T}; P_{T} (GeV); 1/s (cm^{-1})", xbins=50, xmin=0, xmax=100, ybins=15, ymin=0, ymax=3 ),
-                            defineHistogram('Sagitta',       type='TH1F', title="Reconstructed Sagitta; Sagitta (cm)", xbins=100, xmin=-10., xmax=10.),
-                            defineHistogram('ResInner',      type='TH1F', title="Residual from Trigger track in INNER Station; Residuals (cm)", xbins=100, xmin=-10., xmax=10. ),
-                            defineHistogram('ResMiddle',     type='TH1F', title="Residual from Trigger track in MIDDLE Station; Residuals (cm)", xbins=100, xmin=-10., xmax=10. ),
-                            defineHistogram('ResOuter',      type='TH1F', title="Residual from Trigger track in OUTER Station; Residuals (cm)", xbins=100, xmin=-10., xmax=10. ),
-                            defineHistogram('TrackEta, TrackPhi',         type='TH2F', title="Distribution of reconstructed LVL2 tracks; Eta; Phi", xbins=108, xmin=-2.7, xmax=2.7, ybins=96, ymin=-3.1416, ymax=3.1416 ),
-                            defineHistogram('FailedRoIEta, FailedRoIPhi', type='TH2F', title="Location of LVL2 track failure; Eta; Phi", xbins=108, xmin=-2.7, xmax=2.7, ybins=96, ymin=-3.1416, ymax=3.1416 ),
-                            defineHistogram('TIME_Total',                 type='TH1F', title="Total processing time (us)", xbins=100, xmin=0, xmax=100000 ),
-                            defineHistogram('TIME_Data_Preparator',       type='TH1F', title="Data preparator time (us)", xbins=100, xmin=0, xmax=50000 ), 
-                            defineHistogram('TIME_Pattern_Finder',        type='TH1F', title="Pattern finder time (us)", xbins=100, xmin=0, xmax=5000 ), 
-                            defineHistogram('TIME_Station_Fitter',        type='TH1F', title="Station fitter time (us)", xbins=100, xmin=0, xmax=5000 ), 
-                            defineHistogram('TIME_Track_Fitter',          type='TH1F', title="Track fitter time (us)", xbins=100, xmin=0, xmax=300 ),
-                            defineHistogram('TIME_Track_Extrapolator',    type='TH1F', title="Track extrapolator time (us)", xbins=100, xmin=0, xmax=300 ),
-                            defineHistogram('TIME_Calibration_Streamer',  type='TH1F', title="Calibration streamer time (us)", xbins=100, xmin=0, xmax=50000 ),
-                            defineHistogram('InvalidRpcRoINumber',        type='TH1F', title="RoI Number of Invalid RPC RoI; RoI Number", xbins=150, xmin=-0.5, xmax=150.5) ]
+        self.Histograms = [ defineHistogram('InnMdtHits',    type='TH1F', path='EXPERT', title="Hit multiplicity in the INNER road; MDT hits", xbins=50, xmin=-0.5, xmax=50.5),
+                            defineHistogram('MidMdtHits',    type='TH1F', path='EXPERT', title="Hit multiplicity in the MIDDLE road; MDT hits", xbins=50, xmin=-0.5, xmax=50.5),
+                            defineHistogram('OutMdtHits',    type='TH1F', path='EXPERT', title="Hit multiplicity in the OUTER road; MDT hits", xbins=50, xmin=-0.5, xmax=50.5),
+                            defineHistogram('FitResiduals',  type='TH1F', path='EXPERT', title="Fit Residual; Residuals (cm)", xbins=400, xmin=-0.4, xmax=0.4),
+                            defineHistogram('Efficiency',    type='TH1F', path='EXPERT', title="Track finding efficiency", xbins=2, xmin=-0.5, xmax=1.5),
+                            defineHistogram('Address',       type='TH1F', path='EXPERT', title="S_address;S_address", xbins=5, xmin=-1.5, xmax=3.5 ),
+                            defineHistogram('AbsPt',         type='TH1F', path='EXPERT', title="absolute P_{T};P_{T} (GeV)", xbins=100, xmin=0, xmax=100 ),
+                            defineHistogram('TrackPt',       type='TH1F', path='EXPERT', title="P_{T};P_{T} (GeV)", xbins=100, xmin=-100, xmax=100 ),
+                            defineHistogram('AbsPt, SagInv', type='TH2F', path='EXPERT', title="1/s as a function of P_{T}; P_{T} (GeV); 1/s (cm^{-1})", xbins=50, xmin=0, xmax=100, ybins=15, ymin=0, ymax=3 ),
+                            defineHistogram('Sagitta',       type='TH1F', path='EXPERT', title="Reconstructed Sagitta; Sagitta (cm)", xbins=100, xmin=-10., xmax=10.),
+                            defineHistogram('ResInner',      type='TH1F', path='EXPERT', title="Residual from Trigger track in INNER Station; Residuals (cm)", xbins=100, xmin=-10., xmax=10. ),
+                            defineHistogram('ResMiddle',     type='TH1F', path='EXPERT', title="Residual from Trigger track in MIDDLE Station; Residuals (cm)", xbins=100, xmin=-10., xmax=10. ),
+                            defineHistogram('ResOuter',      type='TH1F', path='EXPERT', title="Residual from Trigger track in OUTER Station; Residuals (cm)", xbins=100, xmin=-10., xmax=10. ),
+                            defineHistogram('TrackEta, TrackPhi',         type='TH2F', path='EXPERT', title="Distribution of reconstructed LVL2 tracks; Eta; Phi", xbins=108, xmin=-2.7, xmax=2.7, ybins=96, ymin=-3.1416, ymax=3.1416 ),
+                            defineHistogram('FailedRoIEta, FailedRoIPhi', type='TH2F', path='EXPERT', title="Location of LVL2 track failure; Eta; Phi", xbins=108, xmin=-2.7, xmax=2.7, ybins=96, ymin=-3.1416, ymax=3.1416 ),
+                            defineHistogram('TIME_Total',                 type='TH1F', path='EXPERT', title="Total processing time (us)", xbins=100, xmin=0, xmax=100000 ),
+                            defineHistogram('TIME_Data_Preparator',       type='TH1F', path='EXPERT', title="Data preparator time (us)", xbins=100, xmin=0, xmax=50000 ),
+                            defineHistogram('TIME_Pattern_Finder',        type='TH1F', path='EXPERT', title="Pattern finder time (us)", xbins=100, xmin=0, xmax=5000 ),
+                            defineHistogram('TIME_Station_Fitter',        type='TH1F', path='EXPERT', title="Station fitter time (us)", xbins=100, xmin=0, xmax=5000 ),
+                            defineHistogram('TIME_Track_Fitter',          type='TH1F', path='EXPERT', title="Track fitter time (us)", xbins=100, xmin=0, xmax=300 ),
+                            defineHistogram('TIME_Track_Extrapolator',    type='TH1F', path='EXPERT', title="Track extrapolator time (us)", xbins=100, xmin=0, xmax=300 ),
+                            defineHistogram('TIME_Calibration_Streamer',  type='TH1F', path='EXPERT', title="Calibration streamer time (us)", xbins=100, xmin=0, xmax=50000 ),
+                            defineHistogram('InvalidRpcRoINumber',        type='TH1F', path='EXPERT', title="RoI Number of Invalid RPC RoI; RoI Number", xbins=150, xmin=-0.5, xmax=150.5) ]
     
+
+
+from TrigMonitorBase.TrigGenericMonitoringToolConfig import defineHistogram, TrigGenericMonitoringToolConfig
 	
 class TrigL2MuonSAValidationMonitoring(TrigGenericMonitoringToolConfig):
     def __init__ (self, name="TrigL2MuonSAValidationMonitoring"):
diff --git a/Trigger/TrigAlgorithms/TrigT2CaloCommon/share/testDataAccessService.py b/Trigger/TrigAlgorithms/TrigT2CaloCommon/share/testDataAccessService.py
index 627586b16f6a..c32240a15d21 100644
--- a/Trigger/TrigAlgorithms/TrigT2CaloCommon/share/testDataAccessService.py
+++ b/Trigger/TrigAlgorithms/TrigT2CaloCommon/share/testDataAccessService.py
@@ -1,5 +1,5 @@
 #
-#  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+#  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 #
 
 include("TrigUpgradeTest/testHLT_MT.py")
@@ -24,10 +24,10 @@ if TriggerFlags.doCalo:
      from TrigT2CaloCommon.TrigT2CaloCommonConf import TrigCaloDataAccessSvc#, TestCaloDataAccess
      import math
      mon = GenericMonitoringTool("CaloDataAccessSvcMon")
-     mon.Histograms += [defineHistogram( "TIME_locking_LAr_RoI", title="Time spent in unlocking the LAr collection", xbins=100, xmin=0, xmax=100 ),
-                      defineHistogram( "roiROBs_LAr", title="Number of ROBs unpacked in RoI requests", xbins=20, xmin=0, xmax=20 ),
-                      defineHistogram( "TIME_locking_LAr_FullDet", title="Time spent in unlocking the LAr collection", xbins=100, xmin=0, xmax=100 ),
-                      defineHistogram( "roiEta_LAr,roiPhi_LAr", type="TH2F", title="Geometric usage", xbins=50, xmin=-5, xmax=5, ybins=64, ymin=-math.pi, ymax=math.pi )]
+     mon.Histograms += [defineHistogram( "TIME_locking_LAr_RoI", path="EXPERT", title="Time spent in unlocking the LAr collection", xbins=100, xmin=0, xmax=100 ),
+                      defineHistogram( "roiROBs_LAr", path="EXPERT", title="Number of ROBs unpacked in RoI requests", xbins=20, xmin=0, xmax=20 ),
+                      defineHistogram( "TIME_locking_LAr_FullDet", path="EXPERT", title="Time spent in unlocking the LAr collection", xbins=100, xmin=0, xmax=100 ),
+                      defineHistogram( "roiEta_LAr,roiPhi_LAr", type="TH2F", path="EXPERT", title="Geometric usage", xbins=50, xmin=-5, xmax=5, ybins=64, ymin=-math.pi, ymax=math.pi )]
     
      svcMgr += TrigCaloDataAccessSvc()
      svcMgr.TrigCaloDataAccessSvc.OutputLevel=ERROR
diff --git a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2CaloHypoTool.py b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2CaloHypoTool.py
index 1bc6848ebe03..0751673fe563 100644
--- a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2CaloHypoTool.py
+++ b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2CaloHypoTool.py
@@ -21,11 +21,11 @@ def _IncTool(name, threshold, sel):
     if 'Validation' in TriggerFlags.enableMonitoring() or 'Online' in  TriggerFlags.enableMonitoring():
         from AthenaMonitoring.GenericMonitoringTool import GenericMonitoringTool, defineHistogram
         monTool = GenericMonitoringTool("MonTool_"+name)
-        monTool.Histograms = [ defineHistogram('dEta', type='TH1F', title="L2Calo Hypo #Delta#eta_{L2 L1}; #Delta#eta_{L2 L1}", xbins=80, xmin=-0.01, xmax=0.01),
-                               defineHistogram('dPhi', type='TH1F', title="L2Calo Hypo #Delta#phi_{L2 L1}; #Delta#phi_{L2 L1}", xbins=80, xmin=-0.01, xmax=0.01),
-                               defineHistogram('Et_em', type='TH1F', title="L2Calo Hypo cluster E_{T}^{EM};E_{T}^{EM} [MeV]", xbins=50, xmin=-2000, xmax=100000),
-                               defineHistogram('Eta', type='TH1F', title="L2Calo Hypo entries per Eta;Eta", xbins=100, xmin=-2.5, xmax=2.5),
-                               defineHistogram('Phi', type='TH1F', title="L2Calo Hypo entries per Phi;Phi", xbins=128, xmin=-3.2, xmax=3.2) ]
+        monTool.Histograms = [ defineHistogram('dEta', type='TH1F', path='EXPERT', title="L2Calo Hypo #Delta#eta_{L2 L1}; #Delta#eta_{L2 L1}", xbins=80, xmin=-0.01, xmax=0.01),
+                               defineHistogram('dPhi', type='TH1F', path='EXPERT', title="L2Calo Hypo #Delta#phi_{L2 L1}; #Delta#phi_{L2 L1}", xbins=80, xmin=-0.01, xmax=0.01),
+                               defineHistogram('Et_em', type='TH1F', path='EXPERT', title="L2Calo Hypo cluster E_{T}^{EM};E_{T}^{EM} [MeV]", xbins=50, xmin=-2000, xmax=100000),
+                               defineHistogram('Eta', type='TH1F', path='EXPERT', title="L2Calo Hypo entries per Eta;Eta", xbins=100, xmin=-2.5, xmax=2.5),
+                               defineHistogram('Phi', type='TH1F', path='EXPERT', title="L2Calo Hypo entries per Phi;Phi", xbins=128, xmin=-3.2, xmax=3.2) ]
 
         cuts=['Input','has one TrigEMCluster', '#Delta #eta L2-L1', '#Delta #phi L2-L1','eta','rCore',
               'eRatio','E_{T}^{EM}', 'E_{T}^{Had}','f_{1}','Weta2','Wstot','F3']
@@ -34,18 +34,18 @@ def _IncTool(name, threshold, sel):
         for c in cuts:
             labelsDescription +=  c+':'
             
-        monTool.Histograms += [ defineHistogram('CutCounter', type='TH1I', title="L2Calo Hypo Passed Cuts;Cut",
+        monTool.Histograms += [ defineHistogram('CutCounter', type='TH1I', path='EXPERT', title="L2Calo Hypo Passed Cuts;Cut",
                                              xbins=13, xmin=-1.5, xmax=12.5,  opt="kCumulative", labels=labelsDescription) ]
 
         if 'Validation' in TriggerFlags.enableMonitoring():
-            monTool.Histograms += [ defineHistogram('Et_had', type='TH1F', title="L2Calo Hypo E_{T}^{had} in first layer;E_{T}^{had} [MeV]", xbins=50, xmin=-2000, xmax=100000),
-                                    defineHistogram('Rcore', type='TH1F', title="L2Calo Hypo R_{core};E^{3x3}/E^{3x7} in sampling 2", xbins=48, xmin=-0.1, xmax=1.1),
-                                    defineHistogram('Eratio', type='TH1F', title="L2Calo Hypo E_{ratio};E^{max1}-E^{max2}/E^{max1}+E^{max2} in sampling 1 (excl.crack)", xbins=64, xmin=-0.1, xmax=1.5),
-                                    defineHistogram('EtaBin', type='TH1I', title="L2Calo Hypo entries per Eta bin;Eta bin no.", xbins=11, xmin=-0.5, xmax=10.5),
-                                    defineHistogram('F1', type='TH1F', title="L2Calo Hypo f_{1};f_{1}", xbins=34, xmin=-0.5, xmax=1.2),                                    
-                                    defineHistogram('Weta2', type='TH1F', title="L2Calo Hypo Weta2; E Width in sampling 2", xbins=96, xmin=-0.1, xmax=0.61),     
-                                    defineHistogram('Wstot', type='TH1F', title="L2Calo Hypo Wstot; E Width in sampling 1", xbins=48, xmin=-0.1, xmax=11.),
-                                    defineHistogram('F3', type='TH1F', title="L2Calo Hypo F3; E3/(E0+E1+E2+E3)", xbins=96, xmin=-0.1, xmax=1.1) ]        
+            monTool.Histograms += [ defineHistogram('Et_had', type='TH1F', path='EXPERT', title="L2Calo Hypo E_{T}^{had} in first layer;E_{T}^{had} [MeV]", xbins=50, xmin=-2000, xmax=100000),
+                                    defineHistogram('Rcore', type='TH1F', path='EXPERT', title="L2Calo Hypo R_{core};E^{3x3}/E^{3x7} in sampling 2", xbins=48, xmin=-0.1, xmax=1.1),
+                                    defineHistogram('Eratio', type='TH1F', path='EXPERT', title="L2Calo Hypo E_{ratio};E^{max1}-E^{max2}/E^{max1}+E^{max2} in sampling 1 (excl.crack)", xbins=64, xmin=-0.1, xmax=1.5),
+                                    defineHistogram('EtaBin', type='TH1I', path='EXPERT', title="L2Calo Hypo entries per Eta bin;Eta bin no.", xbins=11, xmin=-0.5, xmax=10.5),
+                                    defineHistogram('F1', type='TH1F', path='EXPERT', title="L2Calo Hypo f_{1};f_{1}", xbins=34, xmin=-0.5, xmax=1.2),
+                                    defineHistogram('Weta2', type='TH1F', path='EXPERT', title="L2Calo Hypo Weta2; E Width in sampling 2", xbins=96, xmin=-0.1, xmax=0.61),
+                                    defineHistogram('Wstot', type='TH1F', path='EXPERT', title="L2Calo Hypo Wstot; E Width in sampling 1", xbins=48, xmin=-0.1, xmax=11.),
+                                    defineHistogram('F3', type='TH1F', path='EXPERT', title="L2Calo Hypo F3; E3/(E0+E1+E2+E3)", xbins=96, xmin=-0.1, xmax=1.1) ]
             
         monTool.HistPath = 'L2CaloHypo/'+tool.name()
         tool.MonTool = monTool
diff --git a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2ElectronHypoTool.py b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2ElectronHypoTool.py
index 6831db6944ce..cb09cf72662c 100644
--- a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2ElectronHypoTool.py
+++ b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2ElectronHypoTool.py
@@ -15,14 +15,14 @@ def TrigL2ElectronHypoToolFromDict( chainDict ):
         from AthenaMonitoring.GenericMonitoringTool import GenericMonitoringTool, defineHistogram
         monTool = GenericMonitoringTool("MonTool"+name)
         monTool.Histograms = [         
-            defineHistogram('CutCounter', type='TH1I', title="L2Electron Hypo Cut Counter;Cut Counter", xbins=8, xmin=-1.5, xmax=7.5, opt="kCumulative"),
-            defineHistogram('CaloTrackdEta', type='TH1F', title="L2Electron Hypo #Delta #eta between cluster and track;#Delta #eta;Nevents", xbins=80, xmin=-0.4, xmax=0.4),
-            defineHistogram('CaloTrackdPhi', type='TH1F', title="L2Electron Hypo #Delta #phi between cluster and track;#Delta #phi;Nevents", xbins=80, xmin=-0.4, xmax=0.4),
-            defineHistogram('CaloTrackEoverP', type='TH1F', title="L2Electron Hypo E/p;E/p;Nevents", xbins=120, xmin=0, xmax=12),
-            defineHistogram('PtTrack', type='TH1F', title="L2Electron Hypo p_{T}^{track} [MeV];p_{T}^{track} [MeV];Nevents", xbins=50, xmin=0, xmax=100000),
-            defineHistogram('PtCalo', type='TH1F', title="L2Electron Hypo p_{T}^{calo} [MeV];p_{T}^{calo} [MeV];Nevents", xbins=50, xmin=0, xmax=100000),
-            defineHistogram('CaloEta', type='TH1F', title="L2Electron Hypo #eta^{calo} ; #eta^{calo};Nevents", xbins=200, xmin=-2.5, xmax=2.5),
-            defineHistogram('CaloPhi', type='TH1F', title="L2Electron Hypo #phi^{calo} ; #phi^{calo};Nevents", xbins=320, xmin=-3.2, xmax=3.2) ]        
+            defineHistogram('CutCounter', type='TH1I', path='EXPERT', title="L2Electron Hypo Cut Counter;Cut Counter", xbins=8, xmin=-1.5, xmax=7.5, opt="kCumulative"),
+            defineHistogram('CaloTrackdEta', type='TH1F', path='EXPERT', title="L2Electron Hypo #Delta #eta between cluster and track;#Delta #eta;Nevents", xbins=80, xmin=-0.4, xmax=0.4),
+            defineHistogram('CaloTrackdPhi', type='TH1F', path='EXPERT', title="L2Electron Hypo #Delta #phi between cluster and track;#Delta #phi;Nevents", xbins=80, xmin=-0.4, xmax=0.4),
+            defineHistogram('CaloTrackEoverP', type='TH1F', path='EXPERT', title="L2Electron Hypo E/p;E/p;Nevents", xbins=120, xmin=0, xmax=12),
+            defineHistogram('PtTrack', type='TH1F', path='EXPERT', title="L2Electron Hypo p_{T}^{track} [MeV];p_{T}^{track} [MeV];Nevents", xbins=50, xmin=0, xmax=100000),
+            defineHistogram('PtCalo', type='TH1F', path='EXPERT', title="L2Electron Hypo p_{T}^{calo} [MeV];p_{T}^{calo} [MeV];Nevents", xbins=50, xmin=0, xmax=100000),
+            defineHistogram('CaloEta', type='TH1F', path='EXPERT', title="L2Electron Hypo #eta^{calo} ; #eta^{calo};Nevents", xbins=200, xmin=-2.5, xmax=2.5),
+            defineHistogram('CaloPhi', type='TH1F', path='EXPERT', title="L2Electron Hypo #phi^{calo} ; #phi^{calo};Nevents", xbins=320, xmin=-3.2, xmax=3.2) ]
 
         monTool.HistPath = 'L2ElectronHypo/'+tool.name()
         tool.MonTool = monTool
diff --git a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2PhotonHypoTool.py b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2PhotonHypoTool.py
index 41045436c2cb..6545372fb8f3 100644
--- a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2PhotonHypoTool.py
+++ b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2PhotonHypoTool.py
@@ -15,10 +15,10 @@ def TrigL2PhotonHypoToolFromDict( chainDict ):
         from AthenaMonitoring.GenericMonitoringTool import GenericMonitoringTool, defineHistogram
         monTool = GenericMonitoringTool("MonTool"+name)
         monTool.Histograms = [         
-            defineHistogram('CutCounter', type='TH1I', title="L2Photon Hypo Cut Counter;Cut Counter", xbins=8, xmin=-1.5, xmax=7.5, opt="kCumulative"),
-            defineHistogram('PtCalo', type='TH1F', title="L2Photon Hypo p_{T}^{calo} [MeV];p_{T}^{calo} [MeV];Nevents", xbins=50, xmin=0, xmax=100000),
-            defineHistogram('CaloEta', type='TH1F', title="L2Photon Hypo #eta^{calo} ; #eta^{calo};Nevents", xbins=200, xmin=-2.5, xmax=2.5),
-            defineHistogram('CaloPhi', type='TH1F', title="L2Photon Hypo #phi^{calo} ; #phi^{calo};Nevents", xbins=320, xmin=-3.2, xmax=3.2) ]        
+            defineHistogram('CutCounter', type='TH1I', path='EXPERT', title="L2Photon Hypo Cut Counter;Cut Counter", xbins=8, xmin=-1.5, xmax=7.5, opt="kCumulative"),
+            defineHistogram('PtCalo', type='TH1F', path='EXPERT', title="L2Photon Hypo p_{T}^{calo} [MeV];p_{T}^{calo} [MeV];Nevents", xbins=50, xmin=0, xmax=100000),
+            defineHistogram('CaloEta', type='TH1F', path='EXPERT', title="L2Photon Hypo #eta^{calo} ; #eta^{calo};Nevents", xbins=200, xmin=-2.5, xmax=2.5),
+            defineHistogram('CaloPhi', type='TH1F', path='EXPERT', title="L2Photon Hypo #phi^{calo} ; #phi^{calo};Nevents", xbins=320, xmin=-3.2, xmax=3.2) ]
 
         monTool.HistPath = 'L2PhotonHypo/'+tool.name()
         tool.MonTool = monTool
diff --git a/Trigger/TrigHypothesis/TrigMissingETHypo/python/TrigMissingETHypoMonitoringTool.py b/Trigger/TrigHypothesis/TrigMissingETHypo/python/TrigMissingETHypoMonitoringTool.py
index 3eaa9a96534b..e9bdc9f099ef 100644
--- a/Trigger/TrigHypothesis/TrigMissingETHypo/python/TrigMissingETHypoMonitoringTool.py
+++ b/Trigger/TrigHypothesis/TrigMissingETHypo/python/TrigMissingETHypoMonitoringTool.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaMonitoring.GenericMonitoringTool import GenericMonitoringTool, defineHistogram
 
@@ -9,21 +9,21 @@ class TrigMissingETHypoMonitoringToolBase(GenericMonitoringTool):
 
         self.Histograms = []
 
-        hEx_log    = defineHistogram('Hypo_MEx_log',   type='TH1F', title="Missing E_{x};sgn(ME_{x}) log_{10}(ME_{x}/GeV)", xbins=41, xmin=-5.075, xmax=5.075)
-        hEy_log    = defineHistogram('Hypo_MEy_log',   type='TH1F', title="Missing E_{y};sgn(ME_{y}) log_{10}(ME_{y}/GeV)", xbins=41, xmin=-5.075, xmax=5.075)
-        hEz_log    = defineHistogram('Hypo_MEz_log',   type='TH1F', title="Missing E_{z};sgn(ME_{z}) log_{10}(ME_{z}/GeV)", xbins=41, xmin=-5.075, xmax=5.075)
-        hMET_log   = defineHistogram('Hypo_MET_log',   type='TH1F', title="|Missing E_{T}|;log_{10}(ME_{T}/GeV)",           xbins=35, xmin=-1.875, xmax=5.375)
-        hSumEt_log = defineHistogram('Hypo_SumEt_log', type='TH1F', title="Sum |E_{T}|;log_{10}(SumE_{T}/GeV)",             xbins=35, xmin=-1.875, xmax=5.125)
-
-        hEx_lin    = defineHistogram('Hypo_MEx_lin',   type='TH1F', title="Missing E_{x};ME_{x} (GeV)",    xbins=199, xmin=-298.5, xmax=298.5)
-        hEy_lin    = defineHistogram('Hypo_MEy_lin',   type='TH1F', title="Missing E_{y};ME_{y} (GeV)",    xbins=199, xmin=-298.5, xmax=298.5)
-        hEz_lin    = defineHistogram('Hypo_MEz_lin',   type='TH1F', title="Missing E_{z};ME_{z} (GeV)",    xbins=199, xmin=-298.5, xmax=298.5)
-        hMET_lin   = defineHistogram('Hypo_MET_lin',   type='TH1F', title="|Missing E_{T}|;ME_{T} (GeV)",  xbins=105, xmin=-13.5,  xmax=301.5)
-        hSumEt_lin = defineHistogram('Hypo_SumEt_lin', type='TH1F', title="Sum |E_{T}|;SumE_{T} (GeV)",    xbins=155, xmin=-27.,   xmax=2000.)
-
-        hMETPhi    = defineHistogram('Hypo_MET_phi',   type='TH1F', title="MET #phi;#phi (rad)",           xbins=32, xmin=-3.1416, xmax=3.1416) 
-        hXS        = defineHistogram('Hypo_XS',        type='TH1F', title="EF Significance; (XS/GeV^{1/2})",         xbins=40,  xmin=-0.025,   xmax=20.025)
-        hXS2       = defineHistogram('Hypo_XS2',        type='TH1F', title="EF Significance 2; (XS2/GeV^{1/2})",         xbins=40,  xmin=-0.025,   xmax=20.025)
+        hEx_log    = defineHistogram('Hypo_MEx_log',   type='TH1F', path='EXPERT', title="Missing E_{x};sgn(ME_{x}) log_{10}(ME_{x}/GeV)", xbins=41, xmin=-5.075, xmax=5.075)
+        hEy_log    = defineHistogram('Hypo_MEy_log',   type='TH1F', path='EXPERT', title="Missing E_{y};sgn(ME_{y}) log_{10}(ME_{y}/GeV)", xbins=41, xmin=-5.075, xmax=5.075)
+        hEz_log    = defineHistogram('Hypo_MEz_log',   type='TH1F', path='EXPERT', title="Missing E_{z};sgn(ME_{z}) log_{10}(ME_{z}/GeV)", xbins=41, xmin=-5.075, xmax=5.075)
+        hMET_log   = defineHistogram('Hypo_MET_log',   type='TH1F', path='EXPERT', title="|Missing E_{T}|;log_{10}(ME_{T}/GeV)",           xbins=35, xmin=-1.875, xmax=5.375)
+        hSumEt_log = defineHistogram('Hypo_SumEt_log', type='TH1F', path='EXPERT', title="Sum |E_{T}|;log_{10}(SumE_{T}/GeV)",             xbins=35, xmin=-1.875, xmax=5.125)
+
+        hEx_lin    = defineHistogram('Hypo_MEx_lin',   type='TH1F', path='EXPERT', title="Missing E_{x};ME_{x} (GeV)",    xbins=199, xmin=-298.5, xmax=298.5)
+        hEy_lin    = defineHistogram('Hypo_MEy_lin',   type='TH1F', path='EXPERT', title="Missing E_{y};ME_{y} (GeV)",    xbins=199, xmin=-298.5, xmax=298.5)
+        hEz_lin    = defineHistogram('Hypo_MEz_lin',   type='TH1F', path='EXPERT', title="Missing E_{z};ME_{z} (GeV)",    xbins=199, xmin=-298.5, xmax=298.5)
+        hMET_lin   = defineHistogram('Hypo_MET_lin',   type='TH1F', path='EXPERT', title="|Missing E_{T}|;ME_{T} (GeV)",  xbins=105, xmin=-13.5,  xmax=301.5)
+        hSumEt_lin = defineHistogram('Hypo_SumEt_lin', type='TH1F', path='EXPERT', title="Sum |E_{T}|;SumE_{T} (GeV)",    xbins=155, xmin=-27.,   xmax=2000.)
+
+        hMETPhi    = defineHistogram('Hypo_MET_phi',   type='TH1F', path='EXPERT', title="MET #phi;#phi (rad)",           xbins=32, xmin=-3.1416, xmax=3.1416)
+        hXS        = defineHistogram('Hypo_XS',        type='TH1F', path='EXPERT', title="EF Significance; (XS/GeV^{1/2})",         xbins=40,  xmin=-0.025,   xmax=20.025)
+        hXS2       = defineHistogram('Hypo_XS2',        type='TH1F', path='EXPERT', title="EF Significance 2; (XS2/GeV^{1/2})",         xbins=40,  xmin=-0.025,   xmax=20.025)
 
 
 class TrigMissingETHypoMonitoringTool(TrigMissingETHypoMonitoringToolBase):
diff --git a/Trigger/TrigHypothesis/TrigMultiVarHypo/python/TrigL2CaloRingerFexMTInit.py b/Trigger/TrigHypothesis/TrigMultiVarHypo/python/TrigL2CaloRingerFexMTInit.py
index 6953a89590b8..7cb18851af92 100755
--- a/Trigger/TrigHypothesis/TrigMultiVarHypo/python/TrigL2CaloRingerFexMTInit.py
+++ b/Trigger/TrigHypothesis/TrigMultiVarHypo/python/TrigL2CaloRingerFexMTInit.py
@@ -1,5 +1,5 @@
 #
-#  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+#  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 #
 
 from TrigMultiVarHypo.TrigL2CaloRingerCutDefs import TrigL2CaloRingerCutDefs
@@ -39,14 +39,14 @@ def add_monitoring(tool):
     from AthenaMonitoring.GenericMonitoringTool import GenericMonitoringTool, defineHistogram
     monTool = GenericMonitoringTool("RingerFexMon")
     
-    monTool.Histograms = [     defineHistogram('Et', type='TH1F', title="E_{T}", xbins=50, xmin=0, xmax=50),
-                               defineHistogram('Eta', type='TH1F', title="#eta", xbins=25, xmin=0, xmax=2.5),
-                               defineHistogram('rnnOut', type='TH1F', title="NN output", xbins=80, xmin=-1, xmax=1),
-                               defineHistogram('Eta,rnnOut', type='TH2F', title="NN output as function of #eta",  xbins=15, xmin=0, xmax=2.5, ybins=80, ymin=-1, ymax=1),
-                               defineHistogram('Et,rnnOut', type='TH2F', title="NN output as function of E_{T}",  xbins=20, xmin=0, xmax=50,  ybins=80, ymin=-1, ymax=1),
-                               defineHistogram( "TIME_total",      title="Total Time;time[ms]",         xbins=50, xmin=0, xmax=100 ),
-                               defineHistogram( "TIME_preprocess", title="Preprocessing Time;time[ms]", xbins=50, xmin=0, xmax=50 ),
-                               defineHistogram( "TIME_decision",   title="Decision Time;time[ms]",      xbins=50, xmin=0, xmax=50 )]
+    monTool.Histograms = [     defineHistogram('Et', type='TH1F', path='EXPERT', title="E_{T}", xbins=50, xmin=0, xmax=50),
+                               defineHistogram('Eta', type='TH1F', path='EXPERT', title="#eta", xbins=25, xmin=0, xmax=2.5),
+                               defineHistogram('rnnOut', type='TH1F', path='EXPERT', title="NN output", xbins=80, xmin=-1, xmax=1),
+                               defineHistogram('Eta,rnnOut', type='TH2F', path='EXPERT', title="NN output as function of #eta",  xbins=15, xmin=0, xmax=2.5, ybins=80, ymin=-1, ymax=1),
+                               defineHistogram('Et,rnnOut', type='TH2F', path='EXPERT', title="NN output as function of E_{T}",  xbins=20, xmin=0, xmax=50,  ybins=80, ymin=-1, ymax=1),
+                               defineHistogram( "TIME_total",      path='EXPERT', title="Total Time;time[ms]",         xbins=50, xmin=0, xmax=100 ),
+                               defineHistogram( "TIME_preprocess", path='EXPERT', title="Preprocessing Time;time[ms]", xbins=50, xmin=0, xmax=50 ),
+                               defineHistogram( "TIME_decision",   path='EXPERT', title="Decision Time;time[ms]",      xbins=50, xmin=0, xmax=50 )]
     tool.MonTool = monTool
 
     monTool.HistPath = 'TrigL2CaloRinger/'+tool.name()
diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/python/TrigMuonHypoMonitoringMT.py b/Trigger/TrigHypothesis/TrigMuonHypo/python/TrigMuonHypoMonitoringMT.py
index 16301782450a..268d88630712 100755
--- a/Trigger/TrigHypothesis/TrigMuonHypo/python/TrigMuonHypoMonitoringMT.py
+++ b/Trigger/TrigHypothesis/TrigMuonHypo/python/TrigMuonHypoMonitoringMT.py
@@ -1,6 +1,6 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 #
-# PORPOSE: AthenaMT Migration
+# PURPOSE: AthenaMT Migration
 #
 
 from AthenaMonitoring.GenericMonitoringTool import GenericMonitoringTool, defineHistogram
@@ -10,15 +10,15 @@ class TrigMufastHypoMonitoring(GenericMonitoringTool):
         super(TrigMufastHypoMonitoring, self).__init__(name)
 
         self.HistPath = name  
-        self.Histograms = [ defineHistogram('Pt', type='TH1F', title="P_{T} reconstruction from #muFast; P_{T} (GeV)", xbins=200, xmin=-100, xmax=100),
-                            defineHistogram('PtFL', type='TH1F', title="P_{T} of not selected muons from #muFast; p_{T} (GeV)", xbins=200, xmin=-100, xmax=100),
-                            defineHistogram('Eta , Phi', type='TH2F', title="Eta vs Phi reconstruction of #muFast; Eta; Phi",xbins=50, xmin=-3.2, xmax=3.2, ybins=25, ymin=-3.15, ymax=3.15),
-                            defineHistogram('Eta', type='TH1F', title="Eta reconstruction from #muFast; Eta",xbins=100, xmin=-3.2, xmax=3.2),
-                            defineHistogram('Phi', type='TH1F', title="Phi reconstruction from #muFast; Phi",xbins=100, xmin=-3.15, xmax=3.15),
-                            defineHistogram('ZatSt, Phi', type='TH2F', title="Z vs Phi reconstructed in MIDDLE station; Z (cm); Phi (rad)",xbins=50, xmin=-1200., xmax=1200., ybins=25, ymin=-3.2, ymax=3.2),
-                            defineHistogram('XatSt , YatSt', type='TH2F', title="Y vs X reconstructed in MIDDLE station; X (cm); Y(cm)",xbins=50, xmin=-1200., xmax=1200., ybins=50, ymin=-1200., ymax=1200.),
-                            defineHistogram('ZatBe', type='TH1F', title="DCA along Z; Z (cm)",xbins=100, xmin=-2100, xmax=2100),
-                            defineHistogram('XatBe', type='TH1F', title="DCA along X; X (cm)",xbins=100, xmin=-1000, xmax=1000) ]
+        self.Histograms = [ defineHistogram('Pt', type='TH1F', path='EXPERT', title="P_{T} reconstruction from #muFast; P_{T} (GeV)", xbins=200, xmin=-100, xmax=100),
+                            defineHistogram('PtFL', type='TH1F', path='EXPERT', title="P_{T} of not selected muons from #muFast; p_{T} (GeV)", xbins=200, xmin=-100, xmax=100),
+                            defineHistogram('Eta , Phi', type='TH2F', path='EXPERT', title="Eta vs Phi reconstruction of #muFast; Eta; Phi",xbins=50, xmin=-3.2, xmax=3.2, ybins=25, ymin=-3.15, ymax=3.15),
+                            defineHistogram('Eta', type='TH1F', path='EXPERT', title="Eta reconstruction from #muFast; Eta",xbins=100, xmin=-3.2, xmax=3.2),
+                            defineHistogram('Phi', type='TH1F', path='EXPERT', title="Phi reconstruction from #muFast; Phi",xbins=100, xmin=-3.15, xmax=3.15),
+                            defineHistogram('ZatSt, Phi', type='TH2F', path='EXPERT', title="Z vs Phi reconstructed in MIDDLE station; Z (cm); Phi (rad)",xbins=50, xmin=-1200., xmax=1200., ybins=25, ymin=-3.2, ymax=3.2),
+                            defineHistogram('XatSt , YatSt', type='TH2F', path='EXPERT', title="Y vs X reconstructed in MIDDLE station; X (cm); Y(cm)",xbins=50, xmin=-1200., xmax=1200., ybins=50, ymin=-1200., ymax=1200.),
+                            defineHistogram('ZatBe', type='TH1F', path='EXPERT', title="DCA along Z; Z (cm)",xbins=100, xmin=-2100, xmax=2100),
+                            defineHistogram('XatBe', type='TH1F', path='EXPERT', title="DCA along X; X (cm)",xbins=100, xmin=-1000, xmax=1000) ]
 
 
 class TrigmuCombHypoMonitoring(GenericMonitoringTool):
@@ -26,19 +26,19 @@ class TrigmuCombHypoMonitoring(GenericMonitoringTool):
         super(TrigmuCombHypoMonitoring, self).__init__(name)
 
         self.HistPath = name  
-        self.Histograms = [ defineHistogram('Pt', type='TH1F', title="p_{T} reconstruction from #muComb; p_{T} (GeV)",
+        self.Histograms = [ defineHistogram('Pt', type='TH1F', path='EXPERT', title="p_{T} reconstruction from #muComb; p_{T} (GeV)",
                                             xbins=210, xmin=-105, xmax=105) ]
-        self.Histograms += [ defineHistogram('PtFL', type='TH1F', title="p_{T} of not selected muons from #muComb; p_{T} (GeV)",
+        self.Histograms += [ defineHistogram('PtFL', type='TH1F', path='EXPERT', title="p_{T} of not selected muons from #muComb; p_{T} (GeV)",
                                             xbins=210, xmin=-105., xmax=105.) ]
-        self.Histograms += [ defineHistogram('StrategyFlag', type='TH1F', title="Combination Strategy from #muComb; Strategy Code",
+        self.Histograms += [ defineHistogram('StrategyFlag', type='TH1F', path='EXPERT', title="Combination Strategy from #muComb; Strategy Code",
                                             xbins=12, xmin=-1.5, xmax=10.5) ]
-        self.Histograms += [ defineHistogram('Eta', type='TH1F', title="Eta reconstruction from #muComb; Eta",
+        self.Histograms += [ defineHistogram('Eta', type='TH1F', path='EXPERT', title="Eta reconstruction from #muComb; Eta",
                                              xbins=108, xmin=-2.7, xmax=2.7) ]
-        self.Histograms += [ defineHistogram('Phi', type='TH1F', title="Phi reconstruction from #muComb; Phi (rad)",
+        self.Histograms += [ defineHistogram('Phi', type='TH1F', path='EXPERT', title="Phi reconstruction from #muComb; Phi (rad)",
                                              xbins=96, xmin=-3.1416, xmax=3.1416) ]
-        self.Histograms += [ defineHistogram('Z0', type='TH1F', title="PCA along Z from ID track from #muComb; PCA(Z0) (mm)",
+        self.Histograms += [ defineHistogram('Z0', type='TH1F', path='EXPERT', title="PCA along Z from ID track from #muComb; PCA(Z0) (mm)",
                                              xbins=100, xmin=-200, xmax=200) ]
-        self.Histograms += [ defineHistogram('A0', type='TH1F', title="PCA along x-y from ID track from #muComb; PCA(A0) (mm)",
+        self.Histograms += [ defineHistogram('A0', type='TH1F', path='EXPERT', title="PCA along x-y from ID track from #muComb; PCA(A0) (mm)",
                                              xbins=100, xmin=-0.6, xmax=0.6) ]
 
 class TrigMuisoHypoMonitoring(GenericMonitoringTool):
@@ -47,8 +47,8 @@ class TrigMuisoHypoMonitoring(GenericMonitoringTool):
         super(TrigMuisoHypoMonitoring, self).__init__(name)
 
         self.HistPath = name  
-        self.Histograms  = [ defineHistogram('CutCounter', type='TH1F', title="MuIsoHypo cut counter;cut; nevents", xbins=9, xmin=-1.5, xmax=7.5, opt="kCumulative") ]
-        self.Histograms += [ defineHistogram('SumPtCone', type='TH1F', title="MuIsoHypo SumPt in cone around muon;E [GeV/c]; nevents", xbins=200, xmin=0., xmax=15.) ]
+        self.Histograms  = [ defineHistogram('CutCounter', type='TH1F', path='EXPERT', title="MuIsoHypo cut counter;cut; nevents", xbins=9, xmin=-1.5, xmax=7.5, opt="kCumulative") ]
+        self.Histograms += [ defineHistogram('SumPtCone', type='TH1F', path='EXPERT', title="MuIsoHypo SumPt in cone around muon;E [GeV/c]; nevents", xbins=200, xmin=0., xmax=15.) ]
 
 
 class TrigMuonEFMSonlyHypoMonitoring(GenericMonitoringTool):
@@ -57,17 +57,17 @@ class TrigMuonEFMSonlyHypoMonitoring(GenericMonitoringTool):
         super(TrigMuonEFMSonlyHypoMonitoring, self).__init__(name)
         self.HistPath = name  
 
-        self.Histograms = [ defineHistogram('Pt', type='TH1F', title="P_{T} reconstruction from #TrigMuonEFMSonlyHypo; P_{T} (MeV)",
+        self.Histograms = [ defineHistogram('Pt', type='TH1F', path='EXPERT', title="P_{T} reconstruction from #TrigMuonEFMSonlyHypo; P_{T} (MeV)",
                                             xbins=200, xmin=-100, xmax=100) ]
-        self.Histograms += [ defineHistogram('Eta', type='TH1F', title="Eta reconstruction from #TrigMuonEFMSonlyHypo; Eta",
+        self.Histograms += [ defineHistogram('Eta', type='TH1F', path='EXPERT', title="Eta reconstruction from #TrigMuonEFMSonlyHypo; Eta",
                                             xbins=100, xmin=-3.2, xmax=3.2) ]
-        self.Histograms += [ defineHistogram('Phi', type='TH1F', title="Phi reconstruction from #TrigMuonEFMSonlyHypo; Phi",
+        self.Histograms += [ defineHistogram('Phi', type='TH1F', path='EXPERT', title="Phi reconstruction from #TrigMuonEFMSonlyHypo; Phi",
                                     xbins=100, xmin=-3.15, xmax=3.15) ]
-        self.Histograms += [ defineHistogram('Pt_sel', type='TH1F', title="Selected P_{T} reconstruction from #TrigMuonEFMSonlyHypo; P_{T} (MeV)",
+        self.Histograms += [ defineHistogram('Pt_sel', type='TH1F', path='EXPERT', title="Selected P_{T} reconstruction from #TrigMuonEFMSonlyHypo; P_{T} (MeV)",
                                             xbins=200, xmin=-100, xmax=100) ]
-        self.Histograms += [ defineHistogram('Eta_sel', type='TH1F', title="Selected Eta reconstruction from #TrigMuonEFMSonlyHypo; Eta",
+        self.Histograms += [ defineHistogram('Eta_sel', type='TH1F', path='EXPERT', title="Selected Eta reconstruction from #TrigMuonEFMSonlyHypo; Eta",
                                             xbins=100, xmin=-3.2, xmax=3.2) ]
-        self.Histograms += [ defineHistogram('Phi_sel', type='TH1F', title="Selected Phi reconstruction from #TrigMuonEFMSonlyHypo; Phi",
+        self.Histograms += [ defineHistogram('Phi_sel', type='TH1F', path='EXPERT', title="Selected Phi reconstruction from #TrigMuonEFMSonlyHypo; Phi",
                                     xbins=100, xmin=-3.15, xmax=3.15) ]
 
 class TrigMuonEFCombinerHypoMonitoring(GenericMonitoringTool):
@@ -76,15 +76,15 @@ class TrigMuonEFCombinerHypoMonitoring(GenericMonitoringTool):
         super(TrigMuonEFCombinerHypoMonitoring, self).__init__(name)
         self.HistPath = name  
 
-        self.Histograms = [ defineHistogram('Pt', type='TH1F', title="P_{T} reconstruction from #TrigMuonEFCombinerHypo; P_{T} (MeV)",
+        self.Histograms = [ defineHistogram('Pt', type='TH1F', path='EXPERT', title="P_{T} reconstruction from #TrigMuonEFCombinerHypo; P_{T} (MeV)",
                                             xbins=200, xmin=-100, xmax=100) ]
-        self.Histograms += [ defineHistogram('Eta', type='TH1F', title="Eta reconstruction from #TrigMuonEFCombinerHypo; Eta",
+        self.Histograms += [ defineHistogram('Eta', type='TH1F', path='EXPERT', title="Eta reconstruction from #TrigMuonEFCombinerHypo; Eta",
                                             xbins=100, xmin=-3.2, xmax=3.2) ]
-        self.Histograms += [ defineHistogram('Phi', type='TH1F', title="Phi reconstruction from #TrigMuonEFCombinerHypo; Phi",
+        self.Histograms += [ defineHistogram('Phi', type='TH1F', path='EXPERT', title="Phi reconstruction from #TrigMuonEFCombinerHypo; Phi",
                                     xbins=100, xmin=-3.15, xmax=3.15) ]
-        self.Histograms += [ defineHistogram('Pt_sel', type='TH1F', title="Selected P_{T} reconstruction from #TrigMuonEFCombinerHypo; P_{T} (MeV)",
+        self.Histograms += [ defineHistogram('Pt_sel', type='TH1F', path='EXPERT', title="Selected P_{T} reconstruction from #TrigMuonEFCombinerHypo; P_{T} (MeV)",
                                             xbins=200, xmin=-100, xmax=100) ]
-        self.Histograms += [ defineHistogram('Eta_sel', type='TH1F', title="Selected Eta reconstruction from #TrigMuonEFCombinerHypo; Eta",
+        self.Histograms += [ defineHistogram('Eta_sel', type='TH1F', path='EXPERT', title="Selected Eta reconstruction from #TrigMuonEFCombinerHypo; Eta",
                                             xbins=100, xmin=-3.2, xmax=3.2) ]
-        self.Histograms += [ defineHistogram('Phi_sel', type='TH1F', title="Selected Phi reconstruction from #TrigMuonEFCombinerHypo; Phi",
+        self.Histograms += [ defineHistogram('Phi_sel', type='TH1F', path='EXPERT', title="Selected Phi reconstruction from #TrigMuonEFCombinerHypo; Phi",
                                     xbins=100, xmin=-3.15, xmax=3.15) ]
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/python/jetDefs.py b/Trigger/TrigValidation/TrigUpgradeTest/python/jetDefs.py
index 780ec7476a5e..8b465c1e96cd 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/python/jetDefs.py
+++ b/Trigger/TrigValidation/TrigUpgradeTest/python/jetDefs.py
@@ -1,5 +1,5 @@
 #
-#  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+#  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 #
 
 def jetRecoSequence(RoIs):
@@ -23,16 +23,20 @@ def jetRecoSequence(RoIs):
     mon = GenericMonitoringTool("CaloDataAccessSvcMon")
     mon.Histograms += [
         defineHistogram("TIME_locking_LAr_RoI",
+                        path="EXPERT",
                         title="Time spent in unlocking the LAr collection",
                         xbins=100, xmin=0, xmax=100 ),
         defineHistogram("roiROBs_LAr",
+                        path="EXPERT",
                         title="Number of ROBs unpacked in RoI requests",
                         xbins=20, xmin=0, xmax=20 ),
         defineHistogram("TIME_locking_LAr_FullDet",
+                        path="EXPERT",
                         title="Time spent in unlocking the LAr collection",
                         xbins=100, xmin=0, xmax=100 ),
         defineHistogram("roiEta_LAr,roiPhi_LAr",
                         type="TH2F",
+                        path="EXPERT",
                         title="Geometric usage",
                         xbins=50, xmin=-5, xmax=5,
                         ybins=64, ymin=-math.pi, ymax=math.pi )]
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/python/metDefs.py b/Trigger/TrigValidation/TrigUpgradeTest/python/metDefs.py
index f83bfc6ab88f..eac0537f8f38 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/python/metDefs.py
+++ b/Trigger/TrigValidation/TrigUpgradeTest/python/metDefs.py
@@ -1,5 +1,5 @@
 #
-#  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+#  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 #
 
 def metCellRecoSequence(RoIs):
@@ -28,10 +28,10 @@ def metCellRecoSequence(RoIs):
     # Set up monitoring for CaloDataAccess
     #################################################
     mon = GenericMonitoringTool("CaloDataAccessSvcMon")
-    mon.Histograms += [defineHistogram( "TIME_locking_LAr_RoI", title="Time spent in unlocking the LAr collection", xbins=100, xmin=0, xmax=100 ),
-                       defineHistogram( "roiROBs_LAr", title="Number of ROBs unpacked in RoI requests", xbins=20, xmin=0, xmax=20 ),
-                       defineHistogram( "TIME_locking_LAr_FullDet", title="Time spent in unlocking the LAr collection", xbins=100, xmin=0, xmax=100 ),
-                       defineHistogram( "roiEta_LAr,roiPhi_LAr", type="TH2F", title="Geometric usage", xbins=50, xmin=-5, xmax=5, ybins=64, ymin=-pi, ymax=pi )]
+    mon.Histograms += [defineHistogram( "TIME_locking_LAr_RoI", path='EXPERT', title="Time spent in unlocking the LAr collection", xbins=100, xmin=0, xmax=100 ),
+                       defineHistogram( "roiROBs_LAr", path='EXPERT', title="Number of ROBs unpacked in RoI requests", xbins=20, xmin=0, xmax=20 ),
+                       defineHistogram( "TIME_locking_LAr_FullDet", path='EXPERT', title="Time spent in unlocking the LAr collection", xbins=100, xmin=0, xmax=100 ),
+                       defineHistogram( "roiEta_LAr,roiPhi_LAr", type="TH2F", path='EXPERT', title="Geometric usage", xbins=50, xmin=-5, xmax=5, ybins=64, ymin=-pi, ymax=pi )]
 
     svcMgr += TrigCaloDataAccessSvc()
     svcMgr.TrigCaloDataAccessSvc.MonTool = mon
@@ -60,8 +60,8 @@ def metCellRecoSequence(RoIs):
         # Setup monitoring for EFMissingETAlg
         #///////////////////////////////////////////
     metMon = GenericMonitoringTool("METMonTool")
-    metMon.Histograms = [ defineHistogram( "TIME_Total", title="Time spent Alg", xbins=100, xmin=0, xmax=100 ),
-                          defineHistogram( "TIME_Loop", title="Time spent in Tools loop", xbins=100, xmin=0, xmax=100 )]
+    metMon.Histograms = [ defineHistogram( "TIME_Total", path='EXPERT', title="Time spent Alg", xbins=100, xmin=0, xmax=100 ),
+                          defineHistogram( "TIME_Loop", path='EXPERT', title="Time spent in Tools loop", xbins=100, xmin=0, xmax=100 )]
     from TrigEFMissingET.TrigEFMissingETMonitoring import ( hEx_log, hEy_log, hEz_log, hMET_log, hSumEt_log,
                                                             hMET_lin, hSumEt_lin,
                                                             hXS, hMETPhi, hMETStatus,
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/jet.recoToy.py b/Trigger/TrigValidation/TrigUpgradeTest/share/jet.recoToy.py
index 52e63837969e..ca018f0cf733 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/share/jet.recoToy.py
+++ b/Trigger/TrigValidation/TrigUpgradeTest/share/jet.recoToy.py
@@ -1,5 +1,5 @@
 #
-#  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+#  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 #
 
 include("TrigUpgradeTest/testHLT_MT.py")
@@ -27,16 +27,20 @@ if TriggerFlags.doCalo:
      mon = GenericMonitoringTool("CaloDataAccessSvcMon")
      mon.Histograms += [
        defineHistogram("TIME_locking_LAr_RoI",
+                       path="EXPERT",
                        title="Time spent in unlocking the LAr collection",
                        xbins=100, xmin=0, xmax=100 ),
        defineHistogram("roiROBs_LAr",
+                       path="EXPERT",
                        title="Number of ROBs unpacked in RoI requests",
                        xbins=20, xmin=0, xmax=20 ),
       defineHistogram("TIME_locking_LAr_FullDet",
+                       path="EXPERT",
                        title="Time spent in unlocking the LAr collection",
                       xbins=100, xmin=0, xmax=100 ),
-       defineHistogram("roiEta_LAr,roiPhi_LAr",
+      defineHistogram("roiEta_LAr,roiPhi_LAr",
                        type="TH2F",
+                       path="EXPERT",
                        title="Geometric usage",
                        xbins=50, xmin=-5, xmax=5,
                        ybins=64, ymin=-math.pi, ymax=math.pi )]
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/metTest.py b/Trigger/TrigValidation/TrigUpgradeTest/share/metTest.py
index f84167c36398..3c9800612f1b 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/share/metTest.py
+++ b/Trigger/TrigValidation/TrigUpgradeTest/share/metTest.py
@@ -1,5 +1,5 @@
 #
-#  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+#  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 #
 OutputLevel=WARNING
 include("TrigUpgradeTest/testHLT_MT.py")
@@ -12,10 +12,10 @@ from TrigT2CaloCommon.TrigT2CaloCommonConf import TrigCaloDataAccessSvc#, TestCa
 from AthenaMonitoring.GenericMonitoringTool import GenericMonitoringTool, defineHistogram
 
 mon = GenericMonitoringTool("CaloDataAccessSvcMon")
-mon.Histograms += [defineHistogram( "TIME_locking_LAr_RoI", title="Time spent in unlocking the LAr collection", xbins=100, xmin=0, xmax=100 ),
-                   defineHistogram( "roiROBs_LAr", title="Number of ROBs unpacked in RoI requests", xbins=20, xmin=0, xmax=20 ),
-                   defineHistogram( "TIME_locking_LAr_FullDet", title="Time spent in unlocking the LAr collection", xbins=100, xmin=0, xmax=100 ),
-                   defineHistogram( "roiEta_LAr,roiPhi_LAr", type="TH2F", title="Geometric usage", xbins=50, xmin=-5, xmax=5, ybins=64, ymin=-math.pi, ymax=math.pi )]
+mon.Histograms += [defineHistogram( "TIME_locking_LAr_RoI", path='EXPERT', title="Time spent in unlocking the LAr collection", xbins=100, xmin=0, xmax=100 ),
+                   defineHistogram( "roiROBs_LAr", path='EXPERT', title="Number of ROBs unpacked in RoI requests", xbins=20, xmin=0, xmax=20 ),
+                   defineHistogram( "TIME_locking_LAr_FullDet", path='EXPERT', title="Time spent in unlocking the LAr collection", xbins=100, xmin=0, xmax=100 ),
+                   defineHistogram( "roiEta_LAr,roiPhi_LAr", type="TH2F", path='EXPERT', title="Geometric usage", xbins=50, xmin=-5, xmax=5, ybins=64, ymin=-math.pi, ymax=math.pi )]
 
 svcMgr += TrigCaloDataAccessSvc()
 svcMgr.TrigCaloDataAccessSvc.MonTool = mon
@@ -52,8 +52,8 @@ metAlg.HelperTool= helperTool
 metAlg.OutputLevel=WARNING
 
 metMon = GenericMonitoringTool("METMonTool")
-metMon.Histograms = [ defineHistogram( "TIME_Total", title="Time spent Alg", xbins=100, xmin=0, xmax=100 ),
-                      defineHistogram( "TIME_Loop", title="Time spent in Tools loop", xbins=100, xmin=0, xmax=100 )]
+metMon.Histograms = [ defineHistogram( "TIME_Total", path='EXPERT', title="Time spent Alg", xbins=100, xmin=0, xmax=100 ),
+                      defineHistogram( "TIME_Loop", path='EXPERT', title="Time spent in Tools loop", xbins=100, xmin=0, xmax=100 )]
 from TrigEFMissingET.TrigEFMissingETMonitoring import ( hEx_log, hEy_log, hEz_log, hMET_log, hSumEt_log, 
                                                  hMET_lin, hSumEt_lin, 
                                                  hXS, hMETPhi, hMETStatus,
-- 
GitLab


From a4cb2e1a372f211ffff73015c489056ab6fc5199 Mon Sep 17 00:00:00 2001
From: Charles Leggett <charles.g.leggett@gmail.com>
Date: Thu, 24 Jan 2019 18:51:29 +0000
Subject: [PATCH 095/192] TRT_CalibAlgs: fixes for genconf in gcc8

---
 .../TRT_CalibAlgs/TRT_StrawStatus.h           | 24 ++-------
 .../TRT_CalibAlgs/src/TRT_StrawStatus.cxx     | 52 +++++++++++++------
 2 files changed, 40 insertions(+), 36 deletions(-)

diff --git a/InnerDetector/InDetCalibAlgs/TRT_CalibAlgs/TRT_CalibAlgs/TRT_StrawStatus.h b/InnerDetector/InDetCalibAlgs/TRT_CalibAlgs/TRT_CalibAlgs/TRT_StrawStatus.h
index e275dc23583a..2bf037d4f85a 100644
--- a/InnerDetector/InDetCalibAlgs/TRT_CalibAlgs/TRT_CalibAlgs/TRT_StrawStatus.h
+++ b/InnerDetector/InDetCalibAlgs/TRT_CalibAlgs/TRT_CalibAlgs/TRT_StrawStatus.h
@@ -26,6 +26,7 @@
 #include <cstdlib>
 #include <string>
 #include <vector>
+#include <array>
 
 class AtlasDetectorID;
 class Identifier;
@@ -82,28 +83,13 @@ namespace InDet
 		  number boards 0-9 barrel, 0-19 endcap (first 12 on A wheels, ordering from smaller to larger |z|)
 		  number chips 0-103 barrel, 0-239 endcap
 		  number pads: chips x 2 */
-		  
-      int m_nBarrelStraws; // 1642
-      int m_nEndcapStraws; // 3840
-      int m_nAllStraws; // 1642+3840=5484
-	  
-      int m_nBarrelBoards; // 9
-      int m_nEndcapBoards; // 20
-      int m_nAllBoards; // 29
-
-      int m_nBarrelChips; // 104
-      int m_nEndcapChips; // 240
-      int m_nAllChips; // 344
-
-      int m_nBarrelPads; // 2 x N of chips
-      int m_nEndcapPads; 
-      int m_nAllPads; 
-	  
+		  	  
       int m_nEvents; // count N of processed events, needed for normalization
       int m_runNumber;
- 
+
       /** accumulate hits, last index: 0 - all hits, 1 - hits on track, 2 - all HT (TR) hits, 3 - HT (TR) hits on track */	 
-      int m_accumulateHits[2][32][5482][6];
+      typedef std::array<std::array<std::array<std::array<int,6>,5482>,32>,2> ACCHITS_t;
+      ACCHITS_t *m_accumulateHits;
 
       const TRT_ID *m_TRTHelper;
 
diff --git a/InnerDetector/InDetCalibAlgs/TRT_CalibAlgs/src/TRT_StrawStatus.cxx b/InnerDetector/InDetCalibAlgs/TRT_CalibAlgs/src/TRT_StrawStatus.cxx
index 662fc15f4aad..0fe5033c1374 100644
--- a/InnerDetector/InDetCalibAlgs/TRT_CalibAlgs/src/TRT_StrawStatus.cxx
+++ b/InnerDetector/InDetCalibAlgs/TRT_CalibAlgs/src/TRT_StrawStatus.cxx
@@ -37,16 +37,29 @@
 
 int last_lumiBlock0=-99;
 
+const size_t nBarrelStraws { 1642 };
+const size_t nEndcapStraws { 3840 };
+const size_t nAllStraws    { nBarrelStraws + nEndcapStraws };
+
+const size_t nBarrelBoards { 9 };
+const size_t nEndcapBoards { 20 };
+const size_t nAllBoards    { nBarrelBoards + nEndcapBoards };
+
+const size_t nBarrelChips  { 104 };
+const size_t nEndcapChips  { 240 };
+const size_t nAllChips     { nBarrelChips + nAllChips };
+
+const size_t nBarrelPads   { 2 * nBarrelChips };
+const size_t nEndcapPads   { 2 * nEndcapChips }; 
+const size_t nAllPads      { 2 * nAllChips }; 
+
 //================ Constructor =================================================
 
 InDet::TRT_StrawStatus::TRT_StrawStatus(const std::string& name, ISvcLocator* pSvcLocator)
 :
 AthAlgorithm(name,pSvcLocator),
-m_nBarrelStraws(1642), m_nEndcapStraws(3840), m_nAllStraws(5482),
-m_nBarrelBoards(9), m_nEndcapBoards(20), m_nAllBoards(29),
-m_nBarrelChips(104), m_nEndcapChips(240), m_nAllChips(344),
-m_nBarrelPads(208), m_nEndcapPads(480), m_nAllPads(688),
 m_nEvents(0), m_runNumber(0),
+m_accumulateHits(0),
 m_TRTHelper(0),
 m_mapSvc("TRT_HWMappingSvc",name),
 m_DCSSvc("TRT_DCS_ConditionsSvc",name),
@@ -64,8 +77,8 @@ m_printDetailedInformation(0) // print the information on mapping as well as whi
     declareProperty("HWMapSvc", m_mapSvc);
     declareProperty("InDetTRT_DCS_ConditionsSvc",m_DCSSvc);
     declareProperty("locR_cut",                 m_locR_cut );
-    declareProperty("printDetailedInformation", m_printDetailedInformation); 
-    clear();  
+    declareProperty("printDetailedInformation", m_printDetailedInformation);
+
 }
 
 //================ Destructor =================================================
@@ -78,6 +91,11 @@ InDet::TRT_StrawStatus::~TRT_StrawStatus()
 
 StatusCode InDet::TRT_StrawStatus::initialize()
 {
+
+  m_accumulateHits = new ACCHITS_t;
+  assert( (*m_accumulateHits)[0][0].size() == nAllStraws );
+  clear();
+  
   // Code entered here will be executed once at program start.
   // Initialize ReadHandleKey
   ATH_CHECK(m_eventInfoKey.initialize());
@@ -100,6 +118,7 @@ StatusCode InDet::TRT_StrawStatus::finalize(){
     reportResults();
     if (m_printDetailedInformation) printDetailedInformation();
     // Code entered here will be executed once at the end of the program run.
+    delete m_accumulateHits;
     return StatusCode::SUCCESS;
 }
 
@@ -218,8 +237,8 @@ StatusCode InDet::TRT_StrawStatus::execute(){
             
             Identifier id = driftCircle->identify();
             int index[6]; myStrawIndex(id, index); // side, layer, phi, straw_layer, straw_within_layer, straw_index
-            m_accumulateHits[(index[0]>0)?0:1][index[2]][index[5]][1]++; // accumulate hits on track
-            if (driftCircle->highLevel()) m_accumulateHits[(index[0]>0)?0:1][index[2]][index[5]][3]++; // accumulate hits on track
+            (*m_accumulateHits)[(index[0]>0)?0:1][index[2]][index[5]][1]++; // accumulate hits on track
+            if (driftCircle->highLevel()) (*m_accumulateHits)[(index[0]>0)?0:1][index[2]][index[5]][3]++; // accumulate hits on track
             
         } // end trackStatesIt loop
         
@@ -255,8 +274,8 @@ StatusCode InDet::TRT_StrawStatus::execute(){
         for (DataVector<TRT_RDORawData>::const_iterator trtIt = TRTCollection->begin(); trtIt != TRTCollection->end(); trtIt++) {
             Identifier id = (*trtIt)->identify();
             int index[6]; myStrawIndex(id, index); // side, layer, phi, straw_layer, straw_within_layer, straw_index
-            m_accumulateHits[(index[0]>0)?0:1][index[2]][index[5]][0]++; // accumulate all hits 
-            if ((*trtIt)->highLevel()) m_accumulateHits[(index[0]>0)?0:1][index[2]][index[5]][2]++; // accumulate TR hits
+            (*m_accumulateHits)[(index[0]>0)?0:1][index[2]][index[5]][0]++; // accumulate all hits 
+            if ((*trtIt)->highLevel()) (*m_accumulateHits)[(index[0]>0)?0:1][index[2]][index[5]][2]++; // accumulate TR hits
             
             if (std::find(holeIdentifiers.begin(), holeIdentifiers.end(), id) != holeIdentifiers.end())  // a hole was found on the same straw, but hits is there
                 holeIdentifiersWithHits.push_back( id );            
@@ -273,10 +292,10 @@ StatusCode InDet::TRT_StrawStatus::execute(){
 
         int index[6]; myStrawIndex(id, index); // side, layer, phi, straw_layer, straw_within_layer, straw_index
         
-        m_accumulateHits[(index[0]>0)?0:1][index[2]][index[5]][4]++;
+        (*m_accumulateHits)[(index[0]>0)?0:1][index[2]][index[5]][4]++;
         
         if (std::find(holeIdentifiersWithHits.begin(), holeIdentifiersWithHits.end(), id) != holeIdentifiersWithHits.end())
-            m_accumulateHits[(index[0]>0)?0:1][index[2]][index[5]][5]++;
+          (*m_accumulateHits)[(index[0]>0)?0:1][index[2]][index[5]][5]++;
     }
     
     //================ End loop over all hits 
@@ -317,8 +336,7 @@ StatusCode InDet::TRT_StrawStatus::execute(){
 
 void InDet::TRT_StrawStatus::clear() {
     m_nEvents = 0;
-    for (int i=0; i<2; i++) for (int j=0; j<32; j++) for (int k=0; k<m_nAllStraws; k++) for (int m=0; m<6; m++)
-        m_accumulateHits[i][j][k][m] = 0;
+    *m_accumulateHits = {};
     return;
 }
 
@@ -328,11 +346,11 @@ void InDet::TRT_StrawStatus::reportResults() {
     snprintf(fileName, 299,"%s.%07d_newFormat.txt", m_fileName.c_str(), m_runNumber);
     FILE *f = fopen(fileName, "w");
     fprintf(f, "%d %d %d %d %d %d %d %d %d \n", 0, 0, 0, 0, 0, 0, 0, 0, m_nEvents);
-    for (int i=0; i<2; i++) for (int j=0; j<32; j++) for (int k=0; k<m_nAllStraws; k++) {
+    for (size_t i=0; i<2; i++) for (size_t j=0; j<32; j++) for (size_t k=0; k<nAllStraws; k++) {
         int side = (i>0)?-1:1;
         if (k>=1642) side *= 2;
-        fprintf(f, "%d %d %d", side, j, k);
-        for (int m=0; m<6; m++) fprintf(f, " %d", m_accumulateHits[i][j][k][m]);
+        fprintf(f, "%d %zu %zu", side, j, k);
+        for (int m=0; m<6; m++) fprintf(f, " %d", (*m_accumulateHits)[i][j][k][m]);
         fprintf(f, "\n");   
     }
     fclose(f);
-- 
GitLab


From 1d444bdabb9f594e3b80d38d76a69160596d4e26 Mon Sep 17 00:00:00 2001
From: Susumu Oda <susumu.oda@cern.ch>
Date: Thu, 24 Jan 2019 18:54:22 +0000
Subject: [PATCH 096/192] Make SCT_CablingCondAlgFromCoraCool,
 SCT_CablingCondAlgFromText and SCT_TestCablingAlg reentrant (ATLASRECTS-4824)

---
 .../InDetDetDescr/SCT_Cabling/CMakeLists.txt   |  2 +-
 .../SCT_Cabling/share/TestSCT_CablingCfg.sh    |  4 ++--
 .../src/SCT_CablingCondAlgFromCoraCool.cxx     | 18 +++++++++---------
 .../src/SCT_CablingCondAlgFromCoraCool.h       | 10 +++++-----
 .../src/SCT_CablingCondAlgFromText.cxx         | 10 +++++-----
 .../src/SCT_CablingCondAlgFromText.h           | 10 +++++-----
 .../SCT_Cabling/src/SCT_TestCablingAlg.cxx     |  8 ++++----
 .../SCT_Cabling/src/SCT_TestCablingAlg.h       | 12 ++++++------
 8 files changed, 37 insertions(+), 37 deletions(-)

diff --git a/InnerDetector/InDetDetDescr/SCT_Cabling/CMakeLists.txt b/InnerDetector/InDetDetDescr/SCT_Cabling/CMakeLists.txt
index fe5a3bb132cb..ae8d4b886dc1 100644
--- a/InnerDetector/InDetDetDescr/SCT_Cabling/CMakeLists.txt
+++ b/InnerDetector/InDetDetDescr/SCT_Cabling/CMakeLists.txt
@@ -39,7 +39,7 @@ atlas_add_component( SCT_Cabling
 atlas_add_test( TestSCT_CablingCfg
                 SCRIPT share/TestSCT_CablingCfg.sh
                 PROPERTIES TIMEOUT 300
-                ENVIRONMENT THREADS=2 )
+                ENVIRONMENT THREADS=1 )
 
 # Install files from the package:
 atlas_install_joboptions( share/*.py )
diff --git a/InnerDetector/InDetDetDescr/SCT_Cabling/share/TestSCT_CablingCfg.sh b/InnerDetector/InDetDetDescr/SCT_Cabling/share/TestSCT_CablingCfg.sh
index 64a170078fbd..6ab4957fe3d5 100755
--- a/InnerDetector/InDetDetDescr/SCT_Cabling/share/TestSCT_CablingCfg.sh
+++ b/InnerDetector/InDetDetDescr/SCT_Cabling/share/TestSCT_CablingCfg.sh
@@ -10,7 +10,7 @@ svcMgr.AvalancheSchedulerSvc.ShowControlFlow=True
 svcMgr.AvalancheSchedulerSvc.ShowDataDependencies=True
 EOF
 
-athena --threads=2 --config-only=bootstrap.pkl bootstrap.py
+athena --threads=1 --config-only=bootstrap.pkl bootstrap.py
 
 get_files -jo SCT_Cabling/TestSCT_CablingCfg.py
  
@@ -24,5 +24,5 @@ else
     echo
     echo "JOs reading stage finished, launching Athena from pickle file"
     echo 
-    athena --evtMax=2 TestSCT_CablingCfg.pkl
+    athena --evtMax=2 TestSCT_CablingCfg.pkl 2>&1
 fi
diff --git a/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingCondAlgFromCoraCool.cxx b/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingCondAlgFromCoraCool.cxx
index 4add5248d8df..66196b2084fd 100644
--- a/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingCondAlgFromCoraCool.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingCondAlgFromCoraCool.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**   
@@ -173,7 +173,7 @@ namespace {
 
 // Constructor
 SCT_CablingCondAlgFromCoraCool::SCT_CablingCondAlgFromCoraCool(const std::string& name, ISvcLocator* pSvcLocator):
-  AthAlgorithm(name, pSvcLocator),
+  AthReentrantAlgorithm(name, pSvcLocator),
   m_condSvc{"CondSvc", name}
 {
 }
@@ -227,9 +227,9 @@ SCT_CablingCondAlgFromCoraCool::finalize() {
 
 //
 StatusCode
-SCT_CablingCondAlgFromCoraCool::execute() {
+SCT_CablingCondAlgFromCoraCool::execute(const EventContext& ctx) const {
   // Write Cond Handle
-  SG::WriteCondHandle<SCT_CablingData> writeHandle{m_writeKey};
+  SG::WriteCondHandle<SCT_CablingData> writeHandle{m_writeKey, ctx};
   if (writeHandle.isValid()) {
     ATH_MSG_DEBUG("CondHandle " << writeHandle.fullKey() << " is already valid."
                   << ". In theory this should not be called, but may happen"
@@ -244,7 +244,7 @@ SCT_CablingCondAlgFromCoraCool::execute() {
   bool isRun2{m_readKeyRod.key()==rodFolderName2};
 
   // let's get the ROD AttrLists
-  SG::ReadCondHandle<CondAttrListVec> readHandleRod{m_readKeyRod};
+  SG::ReadCondHandle<CondAttrListVec> readHandleRod{m_readKeyRod, ctx};
   const CondAttrListVec* pRod{*readHandleRod};
   if (pRod==nullptr) {
     ATH_MSG_FATAL("Could not find ROD configuration data: " << m_readKeyRod.key());
@@ -310,7 +310,7 @@ SCT_CablingCondAlgFromCoraCool::execute() {
    * In fact for the barrel its obvious, so only extract the endcap ones
    **/
   IntMap geoMurMap;
-  SG::ReadCondHandle<CondAttrListVec> readHandleGeo{m_readKeyGeo};
+  SG::ReadCondHandle<CondAttrListVec> readHandleGeo{m_readKeyGeo, ctx};
   const CondAttrListVec* pGeo{*readHandleGeo};
   if (pGeo==nullptr) {
     ATH_MSG_FATAL("Could not find Geog configuration data: " << m_readKeyGeo.key());
@@ -330,7 +330,7 @@ SCT_CablingCondAlgFromCoraCool::execute() {
    * so make a temporary data structure.
    **/
   IntMap murPositionMap;
-  SG::ReadCondHandle<CondAttrListVec> readHandleRodMur{m_readKeyRodMur};
+  SG::ReadCondHandle<CondAttrListVec> readHandleRodMur{m_readKeyRodMur, ctx};
   const CondAttrListVec* pRodMur{*readHandleRodMur};
   if (pRodMur==nullptr) {
     ATH_MSG_FATAL("Could not find RodMur configuration data: " << m_readKeyRodMur.key());
@@ -359,7 +359,7 @@ SCT_CablingCondAlgFromCoraCool::execute() {
   if (not allInsertsSucceeded) ATH_MSG_WARNING("Some MUR-position map inserts failed.");
 
   // let's get the MUR AttrLists
-  SG::ReadCondHandle<CondAttrListVec> readHandleMur{m_readKeyMur};
+  SG::ReadCondHandle<CondAttrListVec> readHandleMur{m_readKeyMur, ctx};
   const CondAttrListVec* pMur{*readHandleMur};
   if (pMur==nullptr) {
     ATH_MSG_FATAL("Could not find ROD configuration data: " << m_readKeyMur.key());
@@ -538,7 +538,7 @@ SCT_CablingCondAlgFromCoraCool::execute() {
 
 //
 bool
-SCT_CablingCondAlgFromCoraCool::insert(const IdentifierHash& hash, const SCT_OnlineId& onlineId, const SCT_SerialNumber& sn, SCT_CablingData* data) {
+SCT_CablingCondAlgFromCoraCool::insert(const IdentifierHash& hash, const SCT_OnlineId& onlineId, const SCT_SerialNumber& sn, SCT_CablingData* data) const {
   if (not sn.isWellFormed()) {
     ATH_MSG_FATAL("Serial number is not in correct format");
     return false;
diff --git a/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingCondAlgFromCoraCool.h b/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingCondAlgFromCoraCool.h
index ed29ad6704e3..bf2ff175ce71 100644
--- a/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingCondAlgFromCoraCool.h
+++ b/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingCondAlgFromCoraCool.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef SCT_CablingCondAlgFromCoraCool_H
@@ -14,7 +14,7 @@
  */
 
 //Athena includes
-#include "AthenaBaseComps/AthAlgorithm.h"
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 #include "AthenaPoolUtilities/CondAttrListVec.h"
 #include "SCT_Cabling/SCT_CablingData.h"
 #include "StoreGate/ReadCondHandleKey.h"
@@ -33,18 +33,18 @@
  *
  */
 
-class SCT_CablingCondAlgFromCoraCool: public AthAlgorithm {
+class SCT_CablingCondAlgFromCoraCool: public AthReentrantAlgorithm {
  public:
 
   SCT_CablingCondAlgFromCoraCool(const std::string& name, ISvcLocator* svc);
   virtual ~SCT_CablingCondAlgFromCoraCool() = default;
   virtual StatusCode initialize() override;
-  virtual StatusCode execute() override;
+  virtual StatusCode execute(const EventContext& ctx) const override;
   virtual StatusCode finalize() override;
   
 private:
 
-  bool insert(const IdentifierHash& hash, const SCT_OnlineId& onlineId, const SCT_SerialNumber& sn, SCT_CablingData* data);
+  bool insert(const IdentifierHash& hash, const SCT_OnlineId& onlineId, const SCT_SerialNumber& sn, SCT_CablingData* data) const;
 
   SG::ReadCondHandleKey<CondAttrListVec> m_readKeyRod{this, "ReadKeyRod", "/SCT/DAQ/Config/ROD", "Key of input (raw) conditions folder of Rods"};
   SG::ReadCondHandleKey<CondAttrListVec> m_readKeyRodMur{this, "ReadKeyRodMur", "/SCT/DAQ/Config/RODMUR", "Key of input (raw) conditions folder of RodMurs"};
diff --git a/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingCondAlgFromText.cxx b/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingCondAlgFromText.cxx
index 1c1948fea007..ecba6f9bb078 100644
--- a/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingCondAlgFromText.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingCondAlgFromText.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**   
@@ -58,7 +58,7 @@ namespace {
 
 // Constructor
 SCT_CablingCondAlgFromText::SCT_CablingCondAlgFromText(const std::string& name, ISvcLocator* pSvcLocator):
-  AthAlgorithm(name, pSvcLocator),
+  AthReentrantAlgorithm(name, pSvcLocator),
   m_condSvc{"CondSvc", name}
 {
 }
@@ -96,9 +96,9 @@ SCT_CablingCondAlgFromText::finalize() {
 
 //
 StatusCode
-SCT_CablingCondAlgFromText::execute() {
+SCT_CablingCondAlgFromText::execute(const EventContext& ctx) const {
   // Write Cond Handle
-  SG::WriteCondHandle<SCT_CablingData> writeHandle{m_writeKey};
+  SG::WriteCondHandle<SCT_CablingData> writeHandle{m_writeKey, ctx};
   if (writeHandle.isValid()) {
     ATH_MSG_DEBUG("CondHandle " << writeHandle.fullKey() << " is already valid."
                   << ". In theory this should not be called, but may happen"
@@ -238,7 +238,7 @@ SCT_CablingCondAlgFromText::execute() {
 
 //
 bool
-SCT_CablingCondAlgFromText::insert(const IdentifierHash& hash, const SCT_OnlineId& onlineId, const SCT_SerialNumber& sn, SCT_CablingData* data) {
+SCT_CablingCondAlgFromText::insert(const IdentifierHash& hash, const SCT_OnlineId& onlineId, const SCT_SerialNumber& sn, SCT_CablingData* data) const {
   if (not sn.isWellFormed()) {
     ATH_MSG_FATAL("Serial number is not in correct format");
     return false;
diff --git a/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingCondAlgFromText.h b/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingCondAlgFromText.h
index a989786b27fb..d01a858f29b7 100644
--- a/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingCondAlgFromText.h
+++ b/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingCondAlgFromText.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef SCT_CablingCondAlgFromText_H
@@ -14,7 +14,7 @@
  */
 
 //Athena includes
-#include "AthenaBaseComps/AthAlgorithm.h"
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 #include "SCT_Cabling/SCT_CablingData.h"
 #include "StoreGate/WriteCondHandleKey.h"
 
@@ -31,18 +31,18 @@
  *
  */
 
-class SCT_CablingCondAlgFromText: public AthAlgorithm {
+class SCT_CablingCondAlgFromText: public AthReentrantAlgorithm {
  public:
 
   SCT_CablingCondAlgFromText(const std::string& name, ISvcLocator* svc);
   virtual ~SCT_CablingCondAlgFromText() = default;
   virtual StatusCode initialize() override;
-  virtual StatusCode execute() override;
+  virtual StatusCode execute(const EventContext& ctx) const override;
   virtual StatusCode finalize() override;
   
 private:
 
-  bool insert(const IdentifierHash& hash, const SCT_OnlineId& onlineId, const SCT_SerialNumber& sn, SCT_CablingData* data);
+  bool insert(const IdentifierHash& hash, const SCT_OnlineId& onlineId, const SCT_SerialNumber& sn, SCT_CablingData* data) const;
   StringProperty m_source{this, "DataSource", "SCT_MC_FullCabling_svc.dat", "a plain text file for the SCT Cabing"};
   SG::WriteCondHandleKey<SCT_CablingData> m_writeKey{this, "WriteKey", "SCT_CablingData", "Key of output (derived) conditions folder"};
   ServiceHandle<ICondSvc> m_condSvc;
diff --git a/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_TestCablingAlg.cxx b/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_TestCablingAlg.cxx
index c5e8dc4f814b..a3b2bd66f4ae 100644
--- a/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_TestCablingAlg.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_TestCablingAlg.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -37,7 +37,7 @@ using namespace std;
 using namespace SCT_Cabling;
  
 SCT_TestCablingAlg::SCT_TestCablingAlg(const std::string& name, ISvcLocator* pSvcLocator):
-  AthAlgorithm(name, pSvcLocator),
+  AthReentrantAlgorithm(name, pSvcLocator),
   m_idHelper{nullptr} {
   //nop
 }
@@ -51,7 +51,7 @@ SCT_TestCablingAlg::initialize() {
 }
 
 std::string
-SCT_TestCablingAlg::coordString(const Identifier& offlineId) {
+SCT_TestCablingAlg::coordString(const Identifier& offlineId) const {
   using std::to_string;
   const std::string sep{", "};
   std::string result{std::string("[") + to_string(m_idHelper->barrel_ec(offlineId)) + sep};
@@ -63,7 +63,7 @@ SCT_TestCablingAlg::coordString(const Identifier& offlineId) {
 }
 
 StatusCode
-SCT_TestCablingAlg::execute() {
+SCT_TestCablingAlg::execute(const EventContext& /*ctx*/) const {
   const string testAreaPath{CoveritySafe::getenv("TestArea")};
   string filename{testAreaPath+"/cabling.txt"};
   ATH_MSG_INFO("Filename: " << filename << " will be written to your $TestArea.");
diff --git a/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_TestCablingAlg.h b/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_TestCablingAlg.h
index 79347ef144f6..ee07cfe6130a 100644
--- a/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_TestCablingAlg.h
+++ b/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_TestCablingAlg.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef SCT_TestCablingAlg_h
@@ -11,7 +11,7 @@
  * @date 20 October, 2008
  **/
 
-#include "AthenaBaseComps/AthAlgorithm.h"
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 
 //package includes
 #include "SCT_Cabling/ISCT_CablingTool.h"
@@ -29,19 +29,19 @@ class SCT_ID;
 /**
  * SCT_TestCablingAlg exercises the routines of the SCT cabling service
  **/
-class SCT_TestCablingAlg:public AthAlgorithm {
+class SCT_TestCablingAlg:public AthReentrantAlgorithm {
  public:
   SCT_TestCablingAlg(const std::string& name, ISvcLocator* pSvcLocator);
   ~SCT_TestCablingAlg() = default;
   // Standard Gaudi functions
   StatusCode initialize(); //!< Gaudi initialiser
-  StatusCode execute();    //!< Gaudi executer
-  StatusCode finalize();   //!< Gaudi finaliser
+  StatusCode execute(const EventContext& ctx) const; //!< Gaudi executer
+  StatusCode finalize(); //!< Gaudi finaliser
 
  private:
   ToolHandle<ISCT_CablingTool> m_cablingTool{this, "SCT_CablingTool", "SCT_CablingTool", "Tool to retrieve SCT Cabling"};
   const SCT_ID* m_idHelper; //!< helper for offlineId/hash conversions
-  std::string coordString(const Identifier& offlineId);
+  std::string coordString(const Identifier& offlineId) const;
 
 };
 #endif // SCT_TestCablingAlg_h
-- 
GitLab


From 6579151ee6227bd9cb61b7bfd03b01691729be6d Mon Sep 17 00:00:00 2001
From: Peter van Gemmeren <gemmeren@anl.gov>
Date: Thu, 24 Jan 2019 16:16:00 -0600
Subject: [PATCH 097/192] Fix Placment by ensuring that only Storage Prefix is
 removed from ContainerName

---
 .../AthenaPoolCnvSvc/src/AthenaPoolConverter.cxx         | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolConverter.cxx b/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolConverter.cxx
index e70b2c8c90ab..74d47e9e09b7 100644
--- a/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolConverter.cxx
+++ b/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolConverter.cxx
@@ -160,9 +160,12 @@ void AthenaPoolConverter::setPlacementWithType(const std::string& tname, const s
    }
    m_placement->setTechnology(m_athenaPoolCnvSvc->technologyType(containerName).type());
    //  Remove Technology from containerName
-   std::size_t colonPos = containerName.find(":");
-   if (colonPos != std::string::npos) {
-      containerName.erase(0, colonPos + 1);
+   if (containerName.find("ROOTKEY:") == 0) {
+      containerName.erase(0, 8);
+   } else if (containerName.find("ROOTTREE:") == 0) {
+      containerName.erase(0, 9);
+   } else if (containerName.find("ROOTTREEINDEX:") == 0) {
+      containerName.erase(0, 13);
    }
    m_placement->setContainerName(containerName);
 }
-- 
GitLab


From 3ddbff09d9cb01f4147860a911e944639aa3d8ba Mon Sep 17 00:00:00 2001
From: Edward Moyse <edward.moyse@cern.ch>
Date: Fri, 25 Jan 2019 00:48:29 +0000
Subject: [PATCH 098/192] Master vp1 arbitraryline guideline

---
 .../VP1GuideLineSystems/GuideSysController.h  |  10 +-
 .../VP1GuideLineSystems/VP1Lines.h            |  35 ++++
 .../src/GuideSysController.cxx                |  80 +++++++-
 .../src/VP1GuideLineSystem.cxx                |  11 +-
 .../VP1GuideLineSystems/src/VP1Lines.cxx      | 150 ++++++++++++++
 .../src/guidelinescontrollerform.ui           | 132 ++++++------
 .../src/guides_settings_lines_form.ui         | 192 ++++++++++++++++++
 7 files changed, 548 insertions(+), 62 deletions(-)
 create mode 100644 graphics/VP1/VP1Systems/VP1GuideLineSystems/VP1GuideLineSystems/VP1Lines.h
 create mode 100644 graphics/VP1/VP1Systems/VP1GuideLineSystems/src/VP1Lines.cxx
 create mode 100644 graphics/VP1/VP1Systems/VP1GuideLineSystems/src/guides_settings_lines_form.ui

diff --git a/graphics/VP1/VP1Systems/VP1GuideLineSystems/VP1GuideLineSystems/GuideSysController.h b/graphics/VP1/VP1Systems/VP1GuideLineSystems/VP1GuideLineSystems/GuideSysController.h
index 8f932861f472..650769f07640 100644
--- a/graphics/VP1/VP1Systems/VP1GuideLineSystems/VP1GuideLineSystems/GuideSysController.h
+++ b/graphics/VP1/VP1Systems/VP1GuideLineSystems/VP1GuideLineSystems/GuideSysController.h
@@ -92,11 +92,15 @@ public:
   double etaExtent() const;//>0: extent means to a given radius, <0: extent means to a given z.
 
   //TrackingVolumes
-	bool showTrackingVolumes() const;
+  bool showTrackingVolumes() const;
   bool showInnerDetector() const;
   bool showCalorimeters() const;
   bool showMuonSpectrometer() const;
 	
+  // Lines
+  bool showLines() const;
+  double lineLength() const;
+  SbVec3f lineDirection() const;
   
   //ID Proj surfs:
 
@@ -150,6 +154,8 @@ signals:
   void showInnerDetectorChanged(bool);
   void showCalorimetersChanged(bool);
   void showMuonSpectrometerChanged(bool);
+  void showLinesChanged(bool);
+  void lineDirectionChanged(const SbVec3f&);
 
 private:
 
@@ -194,6 +200,8 @@ private slots:
   void possibleChange_showInnerDetector();
   void possibleChange_showCalorimeters();
   void possibleChange_showMuonSpectrometer();
+  void possibleChange_showLines();
+  void possibleChange_lineDirection();
 };
 
 
diff --git a/graphics/VP1/VP1Systems/VP1GuideLineSystems/VP1GuideLineSystems/VP1Lines.h b/graphics/VP1/VP1Systems/VP1GuideLineSystems/VP1GuideLineSystems/VP1Lines.h
new file mode 100644
index 000000000000..d35194613570
--- /dev/null
+++ b/graphics/VP1/VP1Systems/VP1GuideLineSystems/VP1GuideLineSystems/VP1Lines.h
@@ -0,0 +1,35 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef VP1LINES_H
+#define VP1LINES_H
+
+#include "VP1Base/VP1HelperClassBase.h"
+#include <QObject>
+#include <Inventor/C/errors/debugerror.h>
+#include <Inventor/SbColor4f.h>
+class SoSeparator;
+
+class VP1Lines : public QObject, public VP1HelperClassBase {
+
+  Q_OBJECT
+
+public:
+
+  VP1Lines( SoSeparator * attachsep,//where the grid separator will attach itself when visible
+		    IVP1System * sys,QObject * parent = 0);
+  virtual ~VP1Lines();
+
+public slots:
+
+  void setShown(bool);//will attach/detach itself from attachsep depending on this
+  void setColourAndTransp(const SbColor4f&);
+  void setDirection(const SbVec3f&);
+
+private:
+  class Imp;
+  Imp * m_d;
+};
+
+#endif
diff --git a/graphics/VP1/VP1Systems/VP1GuideLineSystems/src/GuideSysController.cxx b/graphics/VP1/VP1Systems/VP1GuideLineSystems/src/GuideSysController.cxx
index 71255fdabd93..5032e37a52b3 100644
--- a/graphics/VP1/VP1Systems/VP1GuideLineSystems/src/GuideSysController.cxx
+++ b/graphics/VP1/VP1Systems/VP1GuideLineSystems/src/GuideSysController.cxx
@@ -23,11 +23,11 @@
 #include "ui_guides_settings_grid_form.h"
 #include "ui_guides_settings_idprojsurfs_form.h"
 #include "ui_guides_settings_trkvolumes_form.h"
+#include "ui_guides_settings_lines_form.h"
 #include "VP1Base/VP1Serialise.h"
 #include "VP1Base/VP1Deserialise.h"
-
-//#include "CLHEP/Units/SystemOfUnits.h"
 #include "GaudiKernel/SystemOfUnits.h"
+#include <cmath>
 
 //____________________________________________________________________
 class GuideSysController::Imp {
@@ -40,6 +40,7 @@ public:
   Ui::VP1GuidesSysSettingsGridForm ui_grid;
   Ui::VP1GuidesSysSettingsIDProjSurfsForm ui_idprojsurfs;
   Ui::VP1TrackingVolumesForm ui_trkvolumes;
+  Ui::VP1LinesForm ui_lines;
 
   static SbColor4f color4f(const QColor& col, int transp_int) {
     return SbColor4f(std::max<float>(0.0f,std::min<float>(1.0f,col.redF())),
@@ -78,6 +79,9 @@ public:
   bool last_showInnerDetector;
   bool last_showCalorimeters;
   bool last_showMuonSpectrometer;
+  bool last_showLines;
+  SbVec3f last_lineDirection;
+  double last_line_eta; // This is needed to update the display in possibleChange_lineDirection
 
   InDetProjFlags::InDetProjPartsFlags last_applicablePixelProjParts;
   InDetProjFlags::InDetProjPartsFlags last_applicableSCTProjParts;
@@ -108,6 +112,7 @@ GuideSysController::GuideSysController(IVP1System * sys)
   initDialog(m_d->ui_grid, m_d->ui.pushButton_settings_grid,m_d->ui.checkBox_grid);
   initDialog(m_d->ui_idprojsurfs, m_d->ui.pushButton_settings_inDetProjSurfs,m_d->ui.checkBox_inDetProjSurfs);
   initDialog(m_d->ui_trkvolumes, m_d->ui.pushButton_settings_trkVolumes,m_d->ui.checkBox_trkVolumes);
+  initDialog(m_d->ui_lines, m_d->ui.pushButton_settings_lines,m_d->ui.checkBox_lines);
 
   //Hide SCT/Pixel projection surface controls for now:
   m_d->ui_idprojsurfs.groupBox_pixelproj->setVisible(false);
@@ -314,6 +319,16 @@ GuideSysController::GuideSysController(IVP1System * sys)
   addUpdateSlot(SLOT(possibleChange_showMuonSpectrometer()));
 	connectToLastUpdateSlot(m_d->ui_trkvolumes.checkBox_MS);
 
+  addUpdateSlot(SLOT(possibleChange_showLines()));
+  connectToLastUpdateSlot(m_d->ui.checkBox_lines);
+  
+  addUpdateSlot(SLOT(possibleChange_lineDirection()));
+  connectToLastUpdateSlot(m_d->ui_lines.doubleSpinBox_phi);
+  connectToLastUpdateSlot(m_d->ui_lines.doubleSpinBox_theta);
+  connectToLastUpdateSlot(m_d->ui_lines.doubleSpinBox_eta);
+  connectToLastUpdateSlot(m_d->ui_lines.doubleSpinBox_length);
+  
+
   initLastVars();
 }
 
@@ -502,6 +517,29 @@ double GuideSysController::etaExtent() const
     * (m_d->ui_etacones.radioButton_etaconeextentisr->isChecked() ? 1.0 : -1.0);
 }
 
+//____________________________________________________________________
+bool GuideSysController::showLines() const
+{
+  return m_d->ui.checkBox_lines->isChecked();
+}
+
+
+//____________________________________________________________________
+SbVec3f GuideSysController::lineDirection() const
+{
+  double r = lineLength();
+  double phi = m_d->ui_lines.doubleSpinBox_phi->value();
+  double theta = m_d->ui_lines.doubleSpinBox_theta->value();
+  SbVec3f direction(r*sin(theta)*cos(phi),r*sin(theta)*sin(phi), r*cos(theta));
+  return direction;
+}
+
+//____________________________________________________________________
+double GuideSysController::lineLength() const
+{
+  return m_d->ui_lines.doubleSpinBox_length->value() * Gaudi::Units::m;
+}
+
 //_____________________________________________________________________________________
 InDetProjFlags::InDetProjPartsFlags GuideSysController::Imp::projPartsFlag( bool barrelinner, bool barrelouter,
 									    bool endcapinner, bool endcapouter,
@@ -726,7 +764,7 @@ bool GuideSysController::showMuonSpectrometer() const
 //____________________________________________________________________
 int GuideSysController::currentSettingsVersion() const
 {
-  return 2;
+  return 3;
 }
 
 //____________________________________________________________________
@@ -833,6 +871,13 @@ void GuideSysController::actualSaveSettings(VP1Serialise&s) const
   s.save(m_d->ui_trkvolumes.checkBox_ID);
   s.save(m_d->ui_trkvolumes.checkBox_Calo);
   s.save(m_d->ui_trkvolumes.checkBox_MS);
+  
+  // Line from origin
+  s.save(m_d->ui.checkBox_lines);
+  s.save(m_d->ui_lines.doubleSpinBox_phi); 
+  s.save(m_d->ui_lines.doubleSpinBox_phi);
+  s.save(m_d->ui_lines.doubleSpinBox_eta);
+  s.save(m_d->ui_lines.doubleSpinBox_length);
 }
 
 //____________________________________________________________________
@@ -946,9 +991,36 @@ void GuideSysController::actualRestoreSettings(VP1Deserialise& s)
     s.restore(m_d->ui_trkvolumes.checkBox_Calo);
     s.restore(m_d->ui_trkvolumes.checkBox_MS);
   } 
+  if (s.version()>=3) {
+    s.restore(m_d->ui.checkBox_lines);
+    s.restore(m_d->ui_lines.doubleSpinBox_phi); 
+    s.restore(m_d->ui_lines.doubleSpinBox_phi);
+    s.restore(m_d->ui_lines.doubleSpinBox_eta);
+    s.restore(m_d->ui_lines.doubleSpinBox_length);
+  } 
+}
 
+void GuideSysController::possibleChange_lineDirection() {	
+  // Bit of a hack possibly to do this here, but I want to be able to update the direction by changing either theta or eta
+  double eta = m_d->ui_lines.doubleSpinBox_eta->value();
+  double theta = m_d->ui_lines.doubleSpinBox_theta->value();
+  
+  if (m_d->last_line_eta != eta){
+    // eta has changed, so update theta in the UI
+    theta = 2*std::atan(std::exp(-1.0 * eta));
+    m_d->ui_lines.doubleSpinBox_theta->setValue(theta);
+  } else if ( theta!= std::acos(m_d->last_lineDirection[2] / lineLength() ) ){
+    eta = -1.0 * std::log(std::tan(theta/2.0));
+    m_d->ui_lines.doubleSpinBox_eta->setValue(eta);  
+  }
+  m_d->last_line_eta = m_d->ui_lines.doubleSpinBox_eta->value();
+  if (changed( m_d->last_lineDirection , lineDirection() ) ) { 
+    if (verbose()&&!initVarsMode()) messageVerbose("Emitting "+QString()+"( lineDirectionChanged"+toString(m_d->last_lineDirection)+" )"); 
+    emit lineDirectionChanged(m_d->last_lineDirection); 
+  }  
 }
 
+
 ///////////////////////////////////////////////////////////////////////////
 // Test for possible changes in values and emit signals as appropriate:
 // (possibleChange_XXX() slots code provided by macros)
@@ -988,3 +1060,5 @@ POSSIBLECHANGE_IMP(showTrackingVolumes)
 POSSIBLECHANGE_IMP(showInnerDetector)
 POSSIBLECHANGE_IMP(showCalorimeters)
 POSSIBLECHANGE_IMP(showMuonSpectrometer)
+POSSIBLECHANGE_IMP(showLines)  
+//POSSIBLECHANGE_IMP(lineDirection) Implemented this manually so we can update eta/theta
diff --git a/graphics/VP1/VP1Systems/VP1GuideLineSystems/src/VP1GuideLineSystem.cxx b/graphics/VP1/VP1Systems/VP1GuideLineSystems/src/VP1GuideLineSystem.cxx
index 9fa913399c4c..7f3900c6cc5b 100644
--- a/graphics/VP1/VP1Systems/VP1GuideLineSystems/src/VP1GuideLineSystem.cxx
+++ b/graphics/VP1/VP1Systems/VP1GuideLineSystems/src/VP1GuideLineSystem.cxx
@@ -23,6 +23,7 @@
 #include "VP1GuideLineSystems/VP1CartesianGrid.h"
 #include "VP1GuideLineSystems/VP1CylindricalGrid.h"
 #include "VP1GuideLineSystems/VP1TrackingVolumes.h"
+#include "VP1GuideLineSystems/VP1Lines.h"
 
 #include "VP1Base/VP1Serialise.h"
 #include "VP1Base/VP1Deserialise.h"
@@ -64,6 +65,7 @@ public:
   VP1EtaCone * etacone2;
   VP1EtaCone * etacone3;
   VP1TrackingVolumes * trackingVolumes;
+  VP1Lines * lines;
 
   ProjectionSurfacesHelper * projsurfhelper_pixel;
   ProjectionSurfacesHelper * projsurfhelper_sct;
@@ -213,7 +215,14 @@ void VP1GuideLineSystem::buildPermanentSceneGraph(StoreGateSvc* /*detstore*/, So
 	connect(m_d->controller,SIGNAL(showCalorimetersChanged(bool)),m_d->trackingVolumes,SLOT(setShownCalo(bool)));
 	connect(m_d->controller,SIGNAL(showMuonSpectrometerChanged(bool)),m_d->trackingVolumes,SLOT(setShownMS(bool)));
 	m_d->trackingVolumes->setShown(m_d->controller->showTrackingVolumes());	
-	
+  
+  //Lines
+  m_d->lines = new VP1Lines(root, this);
+  connect(m_d->controller,SIGNAL(showLinesChanged(bool)),m_d->lines,SLOT(setShown(bool)));
+	m_d->lines->setShown(m_d->controller->showLines());	
+  connect(m_d->controller,SIGNAL(lineDirectionChanged(const SbVec3f&)),m_d->lines,SLOT(setDirection(const SbVec3f&)));
+  m_d->lines->setDirection(m_d->controller->lineDirection());  
+  
   SoSeparator * projsep = new SoSeparator;
   root->addChild(projsep);
 
diff --git a/graphics/VP1/VP1Systems/VP1GuideLineSystems/src/VP1Lines.cxx b/graphics/VP1/VP1Systems/VP1GuideLineSystems/src/VP1Lines.cxx
new file mode 100644
index 000000000000..aaffe29ccab6
--- /dev/null
+++ b/graphics/VP1/VP1Systems/VP1GuideLineSystems/src/VP1Lines.cxx
@@ -0,0 +1,150 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "VP1GuideLineSystems/VP1Lines.h"
+
+#include <Inventor/nodes/SoSeparator.h>
+#include <Inventor/nodes/SoVertexProperty.h>
+#include <Inventor/nodes/SoLineSet.h>
+#include <Inventor/SbColor4f.h>
+
+#include "GaudiKernel/SystemOfUnits.h"
+
+
+//____________________________________________________________________
+class VP1Lines::Imp {
+public:
+  Imp(VP1Lines *,
+      SoSeparator * attachsep);
+  VP1Lines * theclass;
+  SoSeparator * attachSep;
+
+  bool shown;
+  SbColor4f colourAndTransp;
+  SbVec3f direction;
+
+  SoSeparator * sep;
+
+  void rebuild3DObjects();
+  void updateColour();
+};
+
+//____________________________________________________________________
+VP1Lines::VP1Lines(SoSeparator * attachsep,
+		   IVP1System * sys,QObject * parent)
+  : QObject(parent), VP1HelperClassBase(sys,"VP1Lines"), m_d(new Imp(this,attachsep))
+{
+}
+
+//____________________________________________________________________
+VP1Lines::~VP1Lines()
+{
+  setShown(false);
+  if (m_d->sep)
+    m_d->sep->unref();
+  m_d->attachSep->unref();
+  delete m_d;
+}
+
+//____________________________________________________________________
+VP1Lines::Imp::Imp(VP1Lines *tc,SoSeparator * as)
+  : theclass(tc), attachSep(as), shown(false),
+    colourAndTransp(SbColor4f(1,1,1,1)), direction(SbVec3f(0,0,0)), sep(0)
+{
+  attachSep->ref();
+}
+
+//____________________________________________________________________
+void VP1Lines::Imp::rebuild3DObjects()
+{
+  theclass->messageVerbose("(Re)building 3D objects");
+
+  if (sep) {
+    sep->removeAllChildren();
+  } else {
+    sep = new SoSeparator;
+    sep->ref();
+  }
+
+  const bool save = sep->enableNotify(false);
+
+  SoVertexProperty * line_vertices = new SoVertexProperty();
+
+  line_vertices->vertex.set1Value(0,0.0,0.0,0.0);
+  line_vertices->vertex.set1Value(1,direction[0],direction[1],direction[2]);
+
+  line_vertices->materialBinding=SoMaterialBinding::OVERALL;
+  line_vertices->normalBinding=SoNormalBinding::OVERALL;
+  SoLineSet * line = new SoLineSet();
+  line->numVertices.enableNotify(FALSE);
+  // line->numVertices.setNum(1);
+  // line->numVertices.set1Value(0,2);
+  line->vertexProperty = line_vertices;
+  line->numVertices.enableNotify(TRUE);
+  line->numVertices.touch();
+
+  sep->addChild(line);
+  updateColour();
+
+  if (save) {
+    sep->enableNotify(true);
+    sep->touch();
+  }
+
+}
+
+//____________________________________________________________________
+void VP1Lines::Imp::updateColour()
+{
+  theclass->messageVerbose("Updating packed colour");
+  if (!sep||sep->getNumChildren()<1)
+    return;
+  SoNode * n = sep->getChild(0);
+  if (!n||n->getTypeId()!=SoLineSet::getClassTypeId())
+    return;
+  SoLineSet * line = static_cast<SoLineSet*>(n);
+  SoVertexProperty * vertices = static_cast<SoVertexProperty *>(line->vertexProperty.getValue());
+  if (!vertices)
+    return;
+  vertices->orderedRGBA = colourAndTransp.getPackedValue();
+}
+
+//____________________________________________________________________
+void VP1Lines::setShown(bool b)
+{
+  messageVerbose("Signal received: setShown("+str(b)+")");
+  if (m_d->shown==b)
+    return;
+  m_d->shown=b;
+  if (m_d->shown) {
+    m_d->rebuild3DObjects();
+    if (m_d->attachSep->findChild(m_d->sep)<0)
+      m_d->attachSep->addChild(m_d->sep);
+  } else {
+    if (m_d->sep&&m_d->attachSep->findChild(m_d->sep)>=0)
+      m_d->attachSep->removeChild(m_d->sep);
+  }
+}
+
+//____________________________________________________________________
+void VP1Lines::setColourAndTransp(const SbColor4f&ct)
+{
+  messageVerbose("Signal received in setColourAndTransp slot.");
+  if (m_d->colourAndTransp==ct)
+    return;
+  m_d->colourAndTransp=ct;
+  if (m_d->shown)
+    m_d->updateColour();
+}
+
+//____________________________________________________________________
+void VP1Lines::setDirection(const SbVec3f& o)
+{
+  messageVerbose("Signal received: setDirection("+str(o)+")");
+  if (m_d->direction==o)
+    return;
+  m_d->direction=o;
+  if (m_d->shown)
+    m_d->rebuild3DObjects();
+}
diff --git a/graphics/VP1/VP1Systems/VP1GuideLineSystems/src/guidelinescontrollerform.ui b/graphics/VP1/VP1Systems/VP1GuideLineSystems/src/guidelinescontrollerform.ui
index c527d377a5d8..f0d1f101b3b2 100644
--- a/graphics/VP1/VP1Systems/VP1GuideLineSystems/src/guidelinescontrollerform.ui
+++ b/graphics/VP1/VP1Systems/VP1GuideLineSystems/src/guidelinescontrollerform.ui
@@ -1,7 +1,8 @@
-<ui version="4.0" >
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
  <class>VP1GuidesControllerForm</class>
- <widget class="QWidget" name="VP1GuidesControllerForm" >
-  <property name="geometry" >
+ <widget class="QWidget" name="VP1GuidesControllerForm">
+  <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
@@ -9,128 +10,145 @@
     <height>182</height>
    </rect>
   </property>
-  <property name="windowTitle" >
+  <property name="windowTitle">
    <string>Form</string>
   </property>
-  <layout class="QGridLayout" >
-   <property name="rightMargin" >
+  <layout class="QGridLayout">
+   <property name="rightMargin">
     <number>1</number>
    </property>
-   <property name="bottomMargin" >
+   <property name="bottomMargin">
     <number>1</number>
    </property>
-   <property name="spacing" >
+   <property name="spacing">
     <number>0</number>
    </property>
-   <item row="0" column="0" >
-    <layout class="QGridLayout" >
-     <property name="horizontalSpacing" >
+   <item row="0" column="0">
+    <layout class="QGridLayout">
+     <property name="horizontalSpacing">
       <number>2</number>
      </property>
-     <property name="verticalSpacing" >
+     <property name="verticalSpacing">
       <number>0</number>
      </property>
-     <item row="0" column="0" >
-      <widget class="QCheckBox" name="checkBox_floorAndLetters" >
-       <property name="text" >
+     <item row="0" column="0">
+      <widget class="QCheckBox" name="checkBox_floorAndLetters">
+       <property name="text">
         <string>Floor &amp;&amp; Letters</string>
        </property>
-       <property name="checked" >
+       <property name="checked">
         <bool>true</bool>
        </property>
       </widget>
      </item>
-     <item row="0" column="1" >
-      <widget class="QPushButton" name="pushButton_settings_floorAndLetters" >
-       <property name="text" >
+     <item row="0" column="1">
+      <widget class="QPushButton" name="pushButton_settings_floorAndLetters">
+       <property name="text">
         <string>Configure</string>
        </property>
       </widget>
      </item>
-     <item row="1" column="0" >
-      <widget class="QCheckBox" name="checkBox_coordinateAxes" >
-       <property name="text" >
+     <item row="1" column="0">
+      <widget class="QCheckBox" name="checkBox_coordinateAxes">
+       <property name="text">
         <string>Coordinate axes</string>
        </property>
       </widget>
      </item>
-     <item row="1" column="1" >
-      <widget class="QPushButton" name="pushButton_settings_coordinateAxes" >
-       <property name="text" >
+     <item row="1" column="1">
+      <widget class="QPushButton" name="pushButton_settings_coordinateAxes">
+       <property name="text">
         <string>Configure</string>
        </property>
       </widget>
      </item>
-     <item row="2" column="0" >
-      <widget class="QCheckBox" name="checkBox_grid" >
-       <property name="text" >
+     <item row="2" column="0">
+      <widget class="QCheckBox" name="checkBox_grid">
+       <property name="text">
         <string>Grid</string>
        </property>
       </widget>
      </item>
-     <item row="2" column="1" >
-      <widget class="QPushButton" name="pushButton_settings_grid" >
-       <property name="text" >
+     <item row="2" column="1">
+      <widget class="QPushButton" name="pushButton_settings_grid">
+       <property name="text">
         <string>Configure</string>
        </property>
       </widget>
      </item>
-     <item row="3" column="0" >
-      <widget class="QCheckBox" name="checkBox_etaCones" >
-       <property name="text" >
+     <item row="3" column="0">
+      <widget class="QCheckBox" name="checkBox_etaCones">
+       <property name="text">
         <string>Eta Cones</string>
        </property>
       </widget>
      </item>
-     <item row="3" column="1" >
-      <widget class="QPushButton" name="pushButton_settings_etaCones" >
-       <property name="text" >
+     <item row="3" column="1">
+      <widget class="QPushButton" name="pushButton_settings_etaCones">
+       <property name="text">
         <string>Configure</string>
        </property>
       </widget>
      </item>
-     <item row="4" column="0" >
-      <widget class="QCheckBox" name="checkBox_inDetProjSurfs" >
-       <property name="text" >
+     <item row="4" column="0">
+      <widget class="QCheckBox" name="checkBox_inDetProjSurfs">
+       <property name="text">
         <string>ID projection surfaces</string>
        </property>
-       <property name="checked" >
+       <property name="checked">
         <bool>true</bool>
        </property>
       </widget>
      </item>
-     <item row="4" column="1" >
-      <widget class="QPushButton" name="pushButton_settings_inDetProjSurfs" >
-       <property name="text" >
+     <item row="4" column="1">
+      <widget class="QPushButton" name="pushButton_settings_inDetProjSurfs">
+       <property name="text">
         <string>Configure</string>
        </property>
       </widget>
      </item>
-     <item row="5" column="1" >
-      <widget class="QPushButton" name="pushButton_settings_trkVolumes" >
-       <property name="text" >
+     <item row="5" column="1">
+      <widget class="QPushButton" name="pushButton_settings_trkVolumes">
+       <property name="text">
         <string>Configure</string>
        </property>
       </widget>
      </item>
-     <item row="5" column="0" >
-      <widget class="QCheckBox" name="checkBox_trkVolumes" >
-       <property name="text" >
+     <item row="5" column="0">
+      <widget class="QCheckBox" name="checkBox_trkVolumes">
+       <property name="text">
         <string>Tracking Volumes</string>
        </property>
-       <property name="checked" >
+       <property name="checked">
         <bool>false</bool>
        </property>
       </widget>
      </item>
+     <item row="7" column="0">
+      <widget class="QCheckBox" name="checkBox_lines">
+       <property name="text">
+        <string>Line from origin</string>
+       </property>
+       <property name="checked">
+        <bool>false</bool>
+       </property>
+      </widget>
+     </item>
+     <item row="7" column="1">
+      <widget class="QPushButton" name="pushButton_settings_lines">
+       <property name="text">
+        <string>Configure</string>
+       </property>
+      </widget>
+     </item>
     </layout>
    </item>
-   <item row="0" column="1" >
+   <item row="0" column="1">
     <spacer>
-     <property name="orientation" >
+     <property name="orientation">
       <enum>Qt::Horizontal</enum>
      </property>
-     <property name="sizeHint" stdset="0" >
+     <property name="sizeHint" stdset="0">
       <size>
        <width>1</width>
        <height>20</height>
@@ -138,12 +156,12 @@
      </property>
     </spacer>
    </item>
-   <item row="1" column="0" >
+   <item row="1" column="0">
     <spacer>
-     <property name="orientation" >
+     <property name="orientation">
       <enum>Qt::Vertical</enum>
      </property>
-     <property name="sizeHint" stdset="0" >
+     <property name="sizeHint" stdset="0">
       <size>
        <width>20</width>
        <height>1</height>
diff --git a/graphics/VP1/VP1Systems/VP1GuideLineSystems/src/guides_settings_lines_form.ui b/graphics/VP1/VP1Systems/VP1GuideLineSystems/src/guides_settings_lines_form.ui
new file mode 100644
index 000000000000..aa6ab3689c2d
--- /dev/null
+++ b/graphics/VP1/VP1Systems/VP1GuideLineSystems/src/guides_settings_lines_form.ui
@@ -0,0 +1,192 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>VP1LinesForm</class>
+ <widget class="QWidget" name="VP1LinesForm">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>333</width>
+    <height>166</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <item>
+    <layout class="QGridLayout" name="gridLayout">
+     <item row="6" column="0">
+      <widget class="QLabel" name="label_26">
+       <property name="text">
+        <string>Length</string>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="1">
+      <widget class="QDoubleSpinBox" name="doubleSpinBox_phi">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+       </property>
+       <property name="suffix">
+        <string/>
+       </property>
+       <property name="decimals">
+        <number>3</number>
+       </property>
+       <property name="minimum">
+        <double>-6.280000000000000</double>
+       </property>
+       <property name="maximum">
+        <double>6.280000000000000</double>
+       </property>
+       <property name="singleStep">
+        <double>0.010000000000000</double>
+       </property>
+      </widget>
+     </item>
+     <item row="4" column="1">
+      <widget class="QDoubleSpinBox" name="doubleSpinBox_theta">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+       </property>
+       <property name="suffix">
+        <string/>
+       </property>
+       <property name="decimals">
+        <number>3</number>
+       </property>
+       <property name="minimum">
+        <double>-6.280000000000000</double>
+       </property>
+       <property name="maximum">
+        <double>6.280000000000000</double>
+       </property>
+       <property name="singleStep">
+        <double>0.010000000000000</double>
+       </property>
+      </widget>
+     </item>
+     <item row="6" column="1">
+      <widget class="QDoubleSpinBox" name="doubleSpinBox_length">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+       </property>
+       <property name="suffix">
+        <string> m</string>
+       </property>
+       <property name="decimals">
+        <number>3</number>
+       </property>
+       <property name="minimum">
+        <double>-99.989999999999995</double>
+       </property>
+       <property name="singleStep">
+        <double>0.010000000000000</double>
+       </property>
+       <property name="value">
+        <double>5.000000000000000</double>
+       </property>
+      </widget>
+     </item>
+     <item row="4" column="0">
+      <widget class="QLabel" name="label_27">
+       <property name="text">
+        <string>Theta</string>
+       </property>
+      </widget>
+     </item>
+     <item row="2" column="1">
+      <widget class="QDoubleSpinBox" name="doubleSpinBox_eta">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+       </property>
+       <property name="suffix">
+        <string/>
+       </property>
+       <property name="decimals">
+        <number>3</number>
+       </property>
+       <property name="minimum">
+        <double>-5.000000000000000</double>
+       </property>
+       <property name="maximum">
+        <double>5.000000000000000</double>
+       </property>
+       <property name="singleStep">
+        <double>0.010000000000000</double>
+       </property>
+      </widget>
+     </item>
+     <item row="2" column="0">
+      <widget class="QLabel" name="label_24">
+       <property name="text">
+        <string>Eta</string>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="0">
+      <widget class="QLabel" name="label_25">
+       <property name="text">
+        <string>Phi</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" name="_2">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <item>
+      <spacer>
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>1</width>
+         <height>5</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="pushButton_close">
+       <property name="text">
+        <string>&amp;Close</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
-- 
GitLab


From 63079f11809f6d863cb506bcf38ec1b86bc3d033 Mon Sep 17 00:00:00 2001
From: Vakho Tsulaia <vakhtang.tsulaia@cern.ch>
Date: Fri, 25 Jan 2019 01:54:33 +0100
Subject: [PATCH 099/192] Migrated LArGeoModel test beam packages from
 GeoModelKernelUnits to Gaudi::Units

All units migrated except GeoModelKernelUnits::gram/g, which is different from Gaudi::Units::gram/g
---
 .../src/ExcluderConstruction.cxx              |  23 +-
 .../src/FrontBeamConstructionH62002.cxx       |  32 +--
 .../src/HECConstructionH62002.cxx             |  60 ++--
 .../src/LArDetectorFactoryH62002.cxx          |  62 ++---
 .../src/TableConstructionH62002.cxx           |  28 +-
 .../src/LArDetectorConstructionH62003.cxx     |  11 +-
 .../src/ExcluderConstructionH62004.cxx        |  73 ++---
 .../src/FCALConstructionH62004.cxx            |  47 ++--
 .../src/FrontBeamConstructionH62004.cxx       |  44 +--
 .../src/HECConstructionH62004.cxx             |  72 ++---
 .../src/LArDetectorFactoryH62004.cxx          |  54 ++--
 .../src/MiddleBeamConstructionH62004.cxx      |  20 +-
 .../src/ModulesConstructionH62004.cxx         | 259 +++++++++---------
 .../src/MovableTableConstructionH62004.cxx    |  56 ++--
 .../src/WarmTCConstructionH62004.cxx          |  65 ++---
 .../LArGeoH6Cryostats/MWPCConstruction.h      |   2 +-
 .../LArGeoH6Cryostats/src/BPCConstruction.cxx | 107 ++++----
 .../src/H6CryostatConstruction.cxx            |  30 +-
 .../src/MWPCConstruction.cxx                  |  41 +--
 .../src/WallsConstruction.cxx                 |  68 ++---
 .../src/TBBarrelCryostatConstruction.cxx      |  85 +++---
 .../src/CryostatConstructionTBEC.cxx          |  88 +++---
 .../LArGeoTBEC/src/EMECModuleConstruction.cxx |  93 +++----
 .../src/LArDetectorConstructionTBEC.cxx       |  62 ++---
 24 files changed, 740 insertions(+), 742 deletions(-)

diff --git a/LArCalorimeter/LArGeoModel/LArGeoH62002Algs/src/ExcluderConstruction.cxx b/LArCalorimeter/LArGeoModel/LArGeoH62002Algs/src/ExcluderConstruction.cxx
index 6786c4e35f31..b5421fc8b63c 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoH62002Algs/src/ExcluderConstruction.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoH62002Algs/src/ExcluderConstruction.cxx
@@ -42,6 +42,7 @@
 #include "StoreGate/StoreGateSvc.h"
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <string>
 #include <cmath>
@@ -88,7 +89,7 @@ GeoPhysVol* LArGeo::ExcluderConstruction::GetEnvelope()
   const GeoElement*  H=materialManager->getElement("Hydrogen");
   const GeoElement*  O=materialManager->getElement("Oxygen");
   const GeoElement*  N=materialManager->getElement("Nitrogen");
-  GeoMaterial* Rohacell = new GeoMaterial(name="Rohacell", density=0.11*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3);
+  GeoMaterial* Rohacell = new GeoMaterial(name="Rohacell", density=0.11*GeoModelKernelUnits::g/Gaudi::Units::cm3);
   Rohacell->add(C,0.6465);
   Rohacell->add(H,0.07836);
   Rohacell->add(O,0.19137);
@@ -111,25 +112,25 @@ GeoPhysVol* LArGeo::ExcluderConstruction::GetEnvelope()
 
   // It is a Union out of a GeoBox and a GeoTubs.
   // Box Dimensions:
-  double   xbox  =  300.0 *GeoModelKernelUnits::mm;
-  double   ybox  =  160.0 *GeoModelKernelUnits::mm;
-  double   zbox  =  300.7 *GeoModelKernelUnits::mm;
+  double   xbox  =  300.0 *Gaudi::Units::mm;
+  double   ybox  =  160.0 *Gaudi::Units::mm;
+  double   zbox  =  300.7 *Gaudi::Units::mm;
   //
   // Tubs Dimensions:
-  double   ztubs =  300.0 *GeoModelKernelUnits::mm;
-  double  phitubs=   76.2 *GeoModelKernelUnits::deg;
-  double  delphi =   27.6 *GeoModelKernelUnits::deg;
-  double   rcold = 1249.5 *GeoModelKernelUnits::mm;
-  double   rmin  = 1220.0 *GeoModelKernelUnits::mm;
+  double   ztubs =  300.0 *Gaudi::Units::mm;
+  double  phitubs=   76.2 *Gaudi::Units::deg;
+  double  delphi =   27.6 *Gaudi::Units::deg;
+  double   rcold = 1249.5 *Gaudi::Units::mm;
+  double   rmin  = 1220.0 *Gaudi::Units::mm;
 
-  // The radius of the cryostat cold wall is: 1250 GeoModelKernelUnits::mm
+  // The radius of the cryostat cold wall is: 1250 Gaudi::Units::mm
   // Before we make the union, we have to shift the box in y (that actually along the beam axis)
   //        and there, positive y goes from the cryostat centre towards the beam window.
 
   std::string ExcluderName = "LAr::H6::Cryostat::Excluder";
 
   GeoBox* rohaBox   = new GeoBox(xbox, ybox, zbox);                      //  The rectangular part of the excluder
-  const GeoShapeShift & rohaBoxShift = (*rohaBox << GeoTrf::TranslateY3D(1062.85*GeoModelKernelUnits::mm) );
+  const GeoShapeShift & rohaBoxShift = (*rohaBox << GeoTrf::TranslateY3D(1062.85*Gaudi::Units::mm) );
   GeoTubs* rohaTubs = new GeoTubs(rmin, rcold, ztubs, phitubs, delphi);  //  The round part of the excluder  
 
   // Combine the two parts to make one excluder of the correct shape:
diff --git a/LArCalorimeter/LArGeoModel/LArGeoH62002Algs/src/FrontBeamConstructionH62002.cxx b/LArCalorimeter/LArGeoModel/LArGeoH62002Algs/src/FrontBeamConstructionH62002.cxx
index bd3ac799fc91..9adb356ca566 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoH62002Algs/src/FrontBeamConstructionH62002.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoH62002Algs/src/FrontBeamConstructionH62002.cxx
@@ -24,7 +24,6 @@
 #include "GeoModelKernel/GeoIdentifierTag.h"  
 #include "GeoModelKernel/GeoSerialDenominator.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
 #include "StoreGate/StoreGateSvc.h"
 #include "GeoModelInterfaces/AbsMaterialManager.h"
 #include "GeoModelInterfaces/StoredMaterialManager.h"
@@ -42,6 +41,7 @@
 #include "StoreGate/StoreGateSvc.h"
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <string>
 #include <cmath>
@@ -140,8 +140,8 @@ GeoVPhysVol* LArGeo::FrontBeamConstructionH62002::GetEnvelope()
   std::string baseName = "LAr::TBH62002";
   std::string H62002FrontBeamName = baseName + "::FrontBeam";
 
-  const double H62002FrontBeamXY  = 2000.*GeoModelKernelUnits::mm;
-  const double H62002FrontBeamZ   =  350.*GeoModelKernelUnits::mm;
+  const double H62002FrontBeamXY  = 2000.*Gaudi::Units::mm;
+  const double H62002FrontBeamZ   =  350.*Gaudi::Units::mm;
 
 
   GeoBox* H62002FrontBeamShape = new GeoBox( H62002FrontBeamXY, H62002FrontBeamXY, H62002FrontBeamZ );   
@@ -158,27 +158,27 @@ GeoVPhysVol* LArGeo::FrontBeamConstructionH62002::GetEnvelope()
   //   In the old stand-alone code, all three were round with a radius of 5cm 
   //   and 7.5mm thickness.
   //   Logbooks in the control-room say that their xyz sizes are:
-  //   B1   : 30 x 30 x 10 GeoModelKernelUnits::mm
-  //   W1,2 : 150 x 150 x 10 GeoModelKernelUnits::mm
+  //   B1   : 30 x 30 x 10 Gaudi::Units::mm
+  //   W1,2 : 150 x 150 x 10 Gaudi::Units::mm
   // They are certainly not round, so stick with the logbook values 
   // The beam sees the instrumentation in the following order:
   // W1, W2, B1, MWPC5
 
   log << "Create Front Scintillators ..." << std::endl;
   
-  const double Wxy=  75.0*GeoModelKernelUnits::mm;
-  const double Wz =   5.0*GeoModelKernelUnits::mm;
-  const double Bxy=  15.0*GeoModelKernelUnits::mm;
-  const double Bz =   5.0*GeoModelKernelUnits::mm;
+  const double Wxy=  75.0*Gaudi::Units::mm;
+  const double Wz =   5.0*Gaudi::Units::mm;
+  const double Bxy=  15.0*Gaudi::Units::mm;
+  const double Bz =   5.0*Gaudi::Units::mm;
 
   std::vector<double> v_ScintXY;
   std::vector<double> v_ScintZ;
   v_ScintXY.push_back(Wxy);
   v_ScintXY.push_back(Wxy); 
   v_ScintXY.push_back(Bxy); 
-  v_ScintZ.push_back(170.*GeoModelKernelUnits::mm); 
-  v_ScintZ.push_back(200.*GeoModelKernelUnits::mm); 
-  v_ScintZ.push_back(340.*GeoModelKernelUnits::mm);
+  v_ScintZ.push_back(170.*Gaudi::Units::mm); 
+  v_ScintZ.push_back(200.*Gaudi::Units::mm); 
+  v_ScintZ.push_back(340.*Gaudi::Units::mm);
 
    // Create one Scintillator and place it twice along z:
  
@@ -193,7 +193,7 @@ GeoVPhysVol* LArGeo::FrontBeamConstructionH62002::GetEnvelope()
   //BScintPhysical->add( new GeoNameTag(ScintName) );
   for ( unsigned int i = 0; i < v_ScintZ.size(); i++ ) {
     m_H62002FrontBeamPhysical->add( new GeoIdentifierTag(i) );
-    m_H62002FrontBeamPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, (v_ScintZ[ i ]-H62002FrontBeamZ) ) ) ) ;     m_H62002FrontBeamPhysical->add( new GeoNameTag(ScintName) );
+    m_H62002FrontBeamPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm, (v_ScintZ[ i ]-H62002FrontBeamZ) ) ) ) ;     m_H62002FrontBeamPhysical->add( new GeoNameTag(ScintName) );
 
     switch(i) {
     case 0: case 1: { m_H62002FrontBeamPhysical->add( WScintPhysical ); break; }
@@ -208,12 +208,12 @@ GeoVPhysVol* LArGeo::FrontBeamConstructionH62002::GetEnvelope()
 
 
   //------ Get MWPC number 5 from LArGeoH6Cryostats
-  const double MwpcPos = 605.*GeoModelKernelUnits::mm;
-  double WireStep = 2.*GeoModelKernelUnits::mm;
+  const double MwpcPos = 605.*Gaudi::Units::mm;
+  double WireStep = 2.*Gaudi::Units::mm;
   MWPCConstruction  mwpcXConstruction (WireStep);
   GeoVPhysVol* mwpcEnvelope = mwpcXConstruction.GetEnvelope();
   m_H62002FrontBeamPhysical->add(new GeoIdentifierTag(5));
-  m_H62002FrontBeamPhysical->add( new GeoTransform(GeoTrf::Translate3D( 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, (MwpcPos-H62002FrontBeamZ) ) ) );
+  m_H62002FrontBeamPhysical->add( new GeoTransform(GeoTrf::Translate3D( 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm, (MwpcPos-H62002FrontBeamZ) ) ) );
   m_H62002FrontBeamPhysical->add(mwpcEnvelope);    
   //------ Done with creating an MWPC from LArGeoH6Cryostats
 
diff --git a/LArCalorimeter/LArGeoModel/LArGeoH62002Algs/src/HECConstructionH62002.cxx b/LArCalorimeter/LArGeoModel/LArGeoH62002Algs/src/HECConstructionH62002.cxx
index 44c6937ad57a..71dabd2d398c 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoH62002Algs/src/HECConstructionH62002.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoH62002Algs/src/HECConstructionH62002.cxx
@@ -23,7 +23,6 @@
 #include "GeoModelKernel/GeoIdentifierTag.h"  
 #include "GeoModelKernel/GeoShapeUnion.h"  
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
 #include "GeoGenericFunctions/AbsFunction.h"
 #include "GeoGenericFunctions/Variable.h"
 #include "GeoGenericFunctions/Sin.h"
@@ -36,6 +35,7 @@
 
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include "RDBAccessSvc/IRDBAccessSvc.h"
 #include "RDBAccessSvc/IRDBRecord.h"
 #include "RDBAccessSvc/IRDBRecordset.h"
@@ -151,7 +151,7 @@ GeoVFullPhysVol* LArGeo::HECConstructionH62002::GetEnvelope()
   int lastPlaneHEC = ( sizeof(HECMotherZplan) / sizeof(double) );
 
 
-  double moduleDeltaPhi =  2.*M_PI/32. ;  //  = 11.25*GeoModelKernelUnits::deg; 
+  double moduleDeltaPhi =  2.*M_PI/32. ;  //  = 11.25*Gaudi::Units::deg; 
   double phiStart []  = {-19. , -18. } ;
   double hecPhistart[]  = { phiStart[0]*M_PI/32  ,   phiStart[1]*M_PI/32 } ;
   double modulePhistart[]  = { (phiStart[0]+2.)*M_PI/32  ,   (phiStart[1]+2.)*M_PI/32 } ;
@@ -212,9 +212,9 @@ GeoVFullPhysVol* LArGeo::HECConstructionH62002::GetEnvelope()
   double             spacerDiameter[2];
 
   double ztie[2];   // This is the +/- z length of the tie rod in the LAr gap
-  ztie[0]=-0.227825*GeoModelKernelUnits::cm;
-  ztie[1]= 0.227825*GeoModelKernelUnits::cm;
-  double rodSize = 0.39435*GeoModelKernelUnits::cm;
+  ztie[0]=-0.227825*Gaudi::Units::cm;
+  ztie[1]= 0.227825*Gaudi::Units::cm;
+  double rodSize = 0.39435*Gaudi::Units::cm;
 
 
 
@@ -225,7 +225,7 @@ GeoVFullPhysVol* LArGeo::HECConstructionH62002::GetEnvelope()
   const GeoLogVol*   logiSlice[3];
   GeoPhysVol*        physiSlice[3];
   // Absorber
-  double             radialShift = 1.02*GeoModelKernelUnits::cm;  // absorbers are adjusted by this amount          
+  double             radialShift = 1.02*Gaudi::Units::cm;  // absorbers are adjusted by this amount          
   GeoTubs*           solidFrontAbsorber[2];
   const GeoLogVol*   logiFrontAbsorber[2];
   GeoPhysVol*        physiFrontAbsorber[2];
@@ -272,19 +272,19 @@ GeoVFullPhysVol* LArGeo::HECConstructionH62002::GetEnvelope()
   int    moduleNumberFront   = 3;             
   int    moduleNumberRear    = 2;              
   // radial dimensions of the modules:
-  double moduleRinner1  = (*hecLongitudinalBlock)[0]->getDouble("BLRMN")*GeoModelKernelUnits::cm;   
-  double moduleRinner2  = (*hecLongitudinalBlock)[1]->getDouble("BLRMN")*GeoModelKernelUnits::cm;   
-  double moduleRouter   = (*hecLongitudinalBlock)[0]->getDouble("BLRMX")*GeoModelKernelUnits::cm;   
+  double moduleRinner1  = (*hecLongitudinalBlock)[0]->getDouble("BLRMN")*Gaudi::Units::cm;   
+  double moduleRinner2  = (*hecLongitudinalBlock)[1]->getDouble("BLRMN")*Gaudi::Units::cm;   
+  double moduleRouter   = (*hecLongitudinalBlock)[0]->getDouble("BLRMX")*Gaudi::Units::cm;   
   // thickness of Cu pads, LAr gaps and inter-wheel gap:
-  double copperPad      = (*hadronicEndcap)[0]->getDouble("COPPER")*GeoModelKernelUnits::cm;
-  double gapSize        = (*hadronicEndcap)[0]->getDouble("LARG")*GeoModelKernelUnits::cm;
-  double betweenWheel   = (*hadronicEndcap)[0]->getDouble("GAPWHL")*GeoModelKernelUnits::cm; 
+  double copperPad      = (*hadronicEndcap)[0]->getDouble("COPPER")*Gaudi::Units::cm;
+  double gapSize        = (*hadronicEndcap)[0]->getDouble("LARG")*Gaudi::Units::cm;
+  double betweenWheel   = (*hadronicEndcap)[0]->getDouble("GAPWHL")*Gaudi::Units::cm; 
 
 
   for (int idepth=0; idepth < depthNumber; ++idepth)
     {
-      depthSize[idepth]    = (*hecLongitudinalBlock)[idepth]->getDouble("BLDPTH")*GeoModelKernelUnits::cm;
-      firstAbsorber[idepth]= (*hecLongitudinalBlock)[idepth]->getDouble("PLATE0")*GeoModelKernelUnits::cm;
+      depthSize[idepth]    = (*hecLongitudinalBlock)[idepth]->getDouble("BLDPTH")*Gaudi::Units::cm;
+      firstAbsorber[idepth]= (*hecLongitudinalBlock)[idepth]->getDouble("PLATE0")*Gaudi::Units::cm;
       gapNumber[idepth]    = (int) (*hecLongitudinalBlock)[idepth]->getDouble("BLMOD");
     }
 
@@ -293,8 +293,8 @@ GeoVFullPhysVol* LArGeo::HECConstructionH62002::GetEnvelope()
       std::ostringstream A0STR;
       A0STR << "_" << ikapton;
       const std::string A0 = A0STR.str();
-      kaptonPosition[ikapton] = (*hadronicEndcap)[0]->getDouble("KPTPOS"+A0)*GeoModelKernelUnits::cm;
-      kaptonWidth[ikapton]    = (*hadronicEndcap)[0]->getDouble("KPTWID"+A0)*GeoModelKernelUnits::cm;
+      kaptonPosition[ikapton] = (*hadronicEndcap)[0]->getDouble("KPTPOS"+A0)*Gaudi::Units::cm;
+      kaptonWidth[ikapton]    = (*hadronicEndcap)[0]->getDouble("KPTWID"+A0)*Gaudi::Units::cm;
     }
 
   for (int itie=0; itie < 4; ++itie)
@@ -302,8 +302,8 @@ GeoVFullPhysVol* LArGeo::HECConstructionH62002::GetEnvelope()
       std::ostringstream A0STR;
       A0STR << "_" << itie;
       const std::string A0 = A0STR.str(); 
-      tieRodPositionX[itie] = (*hadronicEndcap)[0]->getDouble("RODPOSX"+A0)*GeoModelKernelUnits::cm;
-      tieRodPositionY[itie] = (*hadronicEndcap)[0]->getDouble("RODPOSR"+A0)*GeoModelKernelUnits::cm;
+      tieRodPositionX[itie] = (*hadronicEndcap)[0]->getDouble("RODPOSX"+A0)*Gaudi::Units::cm;
+      tieRodPositionY[itie] = (*hadronicEndcap)[0]->getDouble("RODPOSR"+A0)*Gaudi::Units::cm;
     }
 
   for (int i=0; i < 2; ++i)
@@ -311,16 +311,16 @@ GeoVFullPhysVol* LArGeo::HECConstructionH62002::GetEnvelope()
       std::ostringstream A0STR;
       A0STR << "_" << i;
       const std::string A0 = A0STR.str();  
-      tieRodDiameter[i] = (*hadronicEndcap)[0]->getDouble("RODDIM"+A0)*GeoModelKernelUnits::cm;
-      spacerDiameter[i] = (*hadronicEndcap)[0]->getDouble("SPCDIM"+A0)*GeoModelKernelUnits::cm;
+      tieRodDiameter[i] = (*hadronicEndcap)[0]->getDouble("RODDIM"+A0)*Gaudi::Units::cm;
+      spacerDiameter[i] = (*hadronicEndcap)[0]->getDouble("SPCDIM"+A0)*Gaudi::Units::cm;
     }
 
 
-  double frontAbsThickness = (*hadronicEndcap)[0]->getDouble("PLATE_0")*GeoModelKernelUnits::cm;
-  double rearAbsThickness  = (*hadronicEndcap)[0]->getDouble("PLATE_1")*GeoModelKernelUnits::cm;
+  double frontAbsThickness = (*hadronicEndcap)[0]->getDouble("PLATE_0")*Gaudi::Units::cm;
+  double rearAbsThickness  = (*hadronicEndcap)[0]->getDouble("PLATE_1")*Gaudi::Units::cm;
   
   // Radial dimensions and z-plane locations
-  double zCoordinate[] = {0.0*GeoModelKernelUnits::cm, depthSize[0], depthSize[0], 816.51*GeoModelKernelUnits::mm, 816.51*GeoModelKernelUnits::mm, 1350.*GeoModelKernelUnits::mm };
+  double zCoordinate[] = {0.0*Gaudi::Units::cm, depthSize[0], depthSize[0], 816.51*Gaudi::Units::mm, 816.51*Gaudi::Units::mm, 1350.*Gaudi::Units::mm };
   double innerRadius[] = {moduleRinner1,moduleRinner1,
                          moduleRinner2,moduleRinner2,moduleRinner2,moduleRinner2,};   
 
@@ -490,7 +490,7 @@ GeoVFullPhysVol* LArGeo::HECConstructionH62002::GetEnvelope()
   //----------------------------------------------------------------
   //    Absorbers , the inner and outer Radius are smaller by radialShift
   //                but positionned in the center of depth. this alows
-  //                to have 2 GeoModelKernelUnits::mm gap between the copper plates of neighbor FrontModules 
+  //                to have 2 Gaudi::Units::mm gap between the copper plates of neighbor FrontModules 
   //----------------------------------------------------------------
 
   // Two different Absorbers for the front depths: 
@@ -703,10 +703,10 @@ GeoVFullPhysVol* LArGeo::HECConstructionH62002::GetEnvelope()
   //    Tie rods in Slice
   //----------------------------------------------------------------
 
-  //  double rodSize = 0.85*GeoModelKernelUnits::cm;
+  //  double rodSize = 0.85*Gaudi::Units::cm;
   for (int iwheel=0; iwheel<2; iwheel++) 
     { 
-      solidTieRod[iwheel] = new GeoTubs(0.*GeoModelKernelUnits::cm,spacerDiameter[iwheel]/2.,rodSize/2., 0.*GeoModelKernelUnits::deg,360.*GeoModelKernelUnits::deg); 
+      solidTieRod[iwheel] = new GeoTubs(0.*Gaudi::Units::cm,spacerDiameter[iwheel]/2.,rodSize/2., 0.*Gaudi::Units::deg,360.*Gaudi::Units::deg); 
       logiTieRod[iwheel] = new GeoLogVol(tieRodName, solidTieRod[iwheel], Iron);     
     }
 
@@ -747,12 +747,12 @@ GeoVFullPhysVol* LArGeo::HECConstructionH62002::GetEnvelope()
   //----------------------------------------------------------------
   //    Tie rods in Absorbers
   //----------------------------------------------------------------
-  solidAbsorberTieRod[0] = new GeoTubs(0.*GeoModelKernelUnits::cm,tieRodDiameter[0]/2.,frontAbsThickness/2.,0.*GeoModelKernelUnits::deg,360.*GeoModelKernelUnits::deg);
-  solidAbsorberTieRod[1] = new GeoTubs(0.*GeoModelKernelUnits::cm,tieRodDiameter[1]/2.,rearAbsThickness/2.,0.*GeoModelKernelUnits::deg,360.*GeoModelKernelUnits::deg); 
+  solidAbsorberTieRod[0] = new GeoTubs(0.*Gaudi::Units::cm,tieRodDiameter[0]/2.,frontAbsThickness/2.,0.*Gaudi::Units::deg,360.*Gaudi::Units::deg);
+  solidAbsorberTieRod[1] = new GeoTubs(0.*Gaudi::Units::cm,tieRodDiameter[1]/2.,rearAbsThickness/2.,0.*Gaudi::Units::deg,360.*Gaudi::Units::deg); 
   logiAbsorberTieRod[0]  = new GeoLogVol(tieRodName,solidAbsorberTieRod[0],Iron);  //,0,0,0);
   logiAbsorberTieRod[1]  = new GeoLogVol(tieRodName,solidAbsorberTieRod[1],Iron);  //,0,0,0);
-  solidAbsorberTieRodRear[0] = new GeoTubs(0.*GeoModelKernelUnits::cm,tieRodDiameter[0]/2.,frontAbsThickness/2.,0.*GeoModelKernelUnits::deg,360.*GeoModelKernelUnits::deg);
-  solidAbsorberTieRodRear[1] = new GeoTubs(0.*GeoModelKernelUnits::cm,tieRodDiameter[1]/2.,rearAbsThickness/2.,0.*GeoModelKernelUnits::deg,360.*GeoModelKernelUnits::deg); 
+  solidAbsorberTieRodRear[0] = new GeoTubs(0.*Gaudi::Units::cm,tieRodDiameter[0]/2.,frontAbsThickness/2.,0.*Gaudi::Units::deg,360.*Gaudi::Units::deg);
+  solidAbsorberTieRodRear[1] = new GeoTubs(0.*Gaudi::Units::cm,tieRodDiameter[1]/2.,rearAbsThickness/2.,0.*Gaudi::Units::deg,360.*Gaudi::Units::deg); 
   logiAbsorberTieRodRear[0]  = new GeoLogVol(tieRodRearName,solidAbsorberTieRodRear[0],Iron);  //,0,0,0);
   logiAbsorberTieRodRear[1]  = new GeoLogVol(tieRodRearName,solidAbsorberTieRodRear[1],Iron);  //,0,0,0);
 
diff --git a/LArCalorimeter/LArGeoModel/LArGeoH62002Algs/src/LArDetectorFactoryH62002.cxx b/LArCalorimeter/LArGeoModel/LArGeoH62002Algs/src/LArDetectorFactoryH62002.cxx
index 64849d9ef750..9e656fe86677 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoH62002Algs/src/LArDetectorFactoryH62002.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoH62002Algs/src/LArDetectorFactoryH62002.cxx
@@ -27,7 +27,6 @@
 #include "GeoModelKernel/GeoAlignableTransform.h"  
 #include "GeoModelKernel/GeoSerialTransformer.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
 #include "GeoGenericFunctions/AbsFunction.h"
 #include "GeoGenericFunctions/Variable.h"
 #include "GeoGenericFunctions/Sin.h"
@@ -43,6 +42,7 @@
 
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include "RDBAccessSvc/IRDBRecord.h"
 #include "RDBAccessSvc/IRDBRecordset.h"
@@ -128,8 +128,8 @@ void LArGeo::LArDetectorFactoryH62002::getSimulationParameters()
   }
 
  (*log)<< MSG::INFO<< endmsg;
- (*log)<< MSG::INFO << " Use cryo X : " <<  m_cryoXpos << " GeoModelKernelUnits::mm" << endmsg;
- (*log)<< MSG::INFO << " Use table Y : " <<  m_tableYpos << " GeoModelKernelUnits::mm" << endmsg;
+ (*log)<< MSG::INFO << " Use cryo X : " <<  m_cryoXpos << " Gaudi::Units::mm" << endmsg;
+ (*log)<< MSG::INFO << " Use table Y : " <<  m_tableYpos << " Gaudi::Units::mm" << endmsg;
 
 
 }
@@ -162,13 +162,13 @@ void LArGeo::LArDetectorFactoryH62002::create(GeoPhysVol *world)
 
   // 4databa :  // numbers taken from LArCalorimeter/LArG4TB/LArG4TBExpHall/src/LArG4TBEmecHecDetectorConstruction.cc
   // (That's a mighty big hall.....)
-  double expHallX = 14000.*GeoModelKernelUnits::mm;
-  double expHallY = 14000.*GeoModelKernelUnits::mm;
-  double expHallZ = 50000.*GeoModelKernelUnits::mm;
-  //double cryoZpos = 12250.*GeoModelKernelUnits::mm;
-  //double cryoXrot = -90.*GeoModelKernelUnits::deg; 
-  //double cryoXpos = m_cryoXpos * GeoModelKernelUnits::mm ;
-  //double cryoXpos = 0.*GeoModelKernelUnits::mm;  // <-- Should be made available in RunOptions! (Perhaps default in DB...)
+  double expHallX = 14000.*Gaudi::Units::mm;
+  double expHallY = 14000.*Gaudi::Units::mm;
+  double expHallZ = 50000.*Gaudi::Units::mm;
+  //double cryoZpos = 12250.*Gaudi::Units::mm;
+  //double cryoXrot = -90.*Gaudi::Units::deg; 
+  //double cryoXpos = m_cryoXpos * Gaudi::Units::mm ;
+  //double cryoXpos = 0.*Gaudi::Units::mm;  // <-- Should be made available in RunOptions! (Perhaps default in DB...)
 
   //-----------------------------------------------------------------------------------//  
   // Next make the box that describes the shape of the expHall volume:                 //  
@@ -193,11 +193,11 @@ void LArGeo::LArDetectorFactoryH62002::create(GeoPhysVol *world)
   // the element we want to position in the following order:
 
 
-  double Theta = -90. * GeoModelKernelUnits::deg;
-  double Phi   = 0.  * GeoModelKernelUnits::deg;
+  double Theta = -90. * Gaudi::Units::deg;
+  double Phi   = 0.  * Gaudi::Units::deg;
 
   GeoTrf::Transform3D Mrot(GeoTrf::RotateZ3D(Phi)*GeoTrf::RotateX3D(Theta));
-  GeoTrf::Translate3D pos3Vector(    m_cryoXpos*GeoModelKernelUnits::mm,    0.*GeoModelKernelUnits::mm,   12250.*GeoModelKernelUnits::mm );
+  GeoTrf::Translate3D pos3Vector(    m_cryoXpos*Gaudi::Units::mm,    0.*Gaudi::Units::mm,   12250.*Gaudi::Units::mm );
 
   H6CryostatConstruction  H6CryoCons;
   GeoVPhysVol* Envelope = 0;
@@ -211,7 +211,7 @@ void LArGeo::LArDetectorFactoryH62002::create(GeoPhysVol *world)
 
   //Add the walls in front of the cryostat:
   {
-    const double H62002WallsPos = 10182.*GeoModelKernelUnits::mm;  // A wild guess at the moment.....
+    const double H62002WallsPos = 10182.*Gaudi::Units::mm;  // A wild guess at the moment.....
     WallsConstruction  WallsConstruction2002;
     GeoVPhysVol* frontwalls = WallsConstruction2002.GetEnvelope();
     if(frontwalls !=0 && expHallPhys !=0){
@@ -224,7 +224,7 @@ void LArGeo::LArDetectorFactoryH62002::create(GeoPhysVol *world)
 
   //Add the table instrumentation:
   {    
-    const double H62002TablePos = 8320.*GeoModelKernelUnits::mm;  
+    const double H62002TablePos = 8320.*Gaudi::Units::mm;  
     TableConstructionH62002  TableConstruction;
     GeoVPhysVol* table = TableConstruction.GetEnvelope();
     if(table !=0 && expHallPhys !=0){
@@ -237,8 +237,8 @@ void LArGeo::LArDetectorFactoryH62002::create(GeoPhysVol *world)
 
   //Add the front beam instrumentation:
   {
-    const double H62002FrontBeamPos = -20215.5*GeoModelKernelUnits::mm;  // (Use this to get the Front dets. in Peter Schacht's position)   
-    //const double H62002FrontBeamPos = -20439.*GeoModelKernelUnits::mm; // (according to old code: [-21600+801+350]*GeoModelKernelUnits::mm)   
+    const double H62002FrontBeamPos = -20215.5*Gaudi::Units::mm;  // (Use this to get the Front dets. in Peter Schacht's position)   
+    //const double H62002FrontBeamPos = -20439.*Gaudi::Units::mm; // (according to old code: [-21600+801+350]*Gaudi::Units::mm)   
     // (with 350=1/2 length of FrontBeam volume)
     FrontBeamConstructionH62002  FrontBeamConstruction;
     GeoVPhysVol* front = FrontBeamConstruction.GetEnvelope();
@@ -263,10 +263,10 @@ void LArGeo::LArDetectorFactoryH62002::create(GeoPhysVol *world)
   // For the moment it is still commented out until I have
   // its true geometry confirmed; But really it is ready to go:
   // Add Rohacell Excluder 
-  // double ThetaRoha = 0. * GeoModelKernelUnits::deg;
-  // double PhiRoha   = 0.  * GeoModelKernelUnits::deg;
+  // double ThetaRoha = 0. * Gaudi::Units::deg;
+  // double PhiRoha   = 0.  * Gaudi::Units::deg;
   // GeoTrf::Transform3D MrotRoha(GeoTrf::RotateZ3D(PhiRoha)*GeoTrf::RotateX3D(ThetaRoha));
-  // GeoTrf::Translate3D pos3Roha(    0*GeoModelKernelUnits::mm,   0.0*GeoModelKernelUnits::mm ,   0.*GeoModelKernelUnits::mm);
+  // GeoTrf::Translate3D pos3Roha(    0*Gaudi::Units::mm,   0.0*Gaudi::Units::mm ,   0.*Gaudi::Units::mm);
 
   {    
     ExcluderConstruction excluderConstruction;
@@ -286,12 +286,12 @@ void LArGeo::LArDetectorFactoryH62002::create(GeoPhysVol *world)
   EMECDetectorManager *emecDetectorManager  = new EMECDetectorManager();
 
 
-  double ThetaEmec = -90. * GeoModelKernelUnits::deg;
-  double PhiEmec   = 180.  * GeoModelKernelUnits::deg;
+  double ThetaEmec = -90. * Gaudi::Units::deg;
+  double PhiEmec   = 180.  * Gaudi::Units::deg;
 
   GeoTrf::Transform3D MrotEmec(GeoTrf::RotateZ3D(PhiEmec)*GeoTrf::RotateX3D(ThetaEmec));
-  //  GeoTrf::Vector3D pos3Emec(    0*GeoModelKernelUnits::mm,   869.0*GeoModelKernelUnits::mm ,   1720.*GeoModelKernelUnits::mm);
-  GeoTrf::Translate3D pos3Emec(    0*GeoModelKernelUnits::mm,   808.0*GeoModelKernelUnits::mm ,   1720.*GeoModelKernelUnits::mm);
+  //  GeoTrf::Vector3D pos3Emec(    0*Gaudi::Units::mm,   869.0*Gaudi::Units::mm ,   1720.*Gaudi::Units::mm);
+  GeoTrf::Translate3D pos3Emec(    0*Gaudi::Units::mm,   808.0*Gaudi::Units::mm ,   1720.*Gaudi::Units::mm);
 
   //use this line for physical construction of the EMEC outer wheel only:
   EMECConstruction emecConstruction(true, true, true);
@@ -392,11 +392,11 @@ void LArGeo::LArDetectorFactoryH62002::create(GeoPhysVol *world)
   }
   
   
-  double ThetaPS = -90. * GeoModelKernelUnits::deg;
-  double PhiPS   = 180.  * GeoModelKernelUnits::deg;
+  double ThetaPS = -90. * Gaudi::Units::deg;
+  double PhiPS   = 180.  * Gaudi::Units::deg;
   GeoTrf::Transform3D MrotPS(GeoTrf::RotateZ3D(PhiPS)*GeoTrf::RotateX3D(ThetaPS));
-  //GeoTrf::Vector3D pos3PS(    0*GeoModelKernelUnits::mm,   945.5*GeoModelKernelUnits::mm ,   1720.*GeoModelKernelUnits::mm);
-  GeoTrf::Translate3D pos3PS(    0*GeoModelKernelUnits::mm,   888.5*GeoModelKernelUnits::mm ,   1720.*GeoModelKernelUnits::mm);
+  //GeoTrf::Vector3D pos3PS(    0*Gaudi::Units::mm,   945.5*Gaudi::Units::mm ,   1720.*Gaudi::Units::mm);
+  GeoTrf::Translate3D pos3PS(    0*Gaudi::Units::mm,   888.5*Gaudi::Units::mm ,   1720.*Gaudi::Units::mm);
   
   //double zPSpos = -869. -(61. +2. +13.5);
   //std::string PresamplerName = baseName + "::Presampler::";
@@ -420,10 +420,10 @@ void LArGeo::LArDetectorFactoryH62002::create(GeoPhysVol *world)
 
 
   // Add HEC 
-  double ThetaHec = 90. * GeoModelKernelUnits::deg;
-  double PhiHec   = 0.  * GeoModelKernelUnits::deg;
+  double ThetaHec = 90. * Gaudi::Units::deg;
+  double PhiHec   = 0.  * Gaudi::Units::deg;
   GeoTrf::Transform3D MrotHec(GeoTrf::RotateZ3D(PhiHec)*GeoTrf::RotateX3D(ThetaHec));
-  GeoTrf::Translate3D pos3Hec(    0*GeoModelKernelUnits::mm,   233.0*GeoModelKernelUnits::mm ,   1720.*GeoModelKernelUnits::mm);
+  GeoTrf::Translate3D pos3Hec(    0*Gaudi::Units::mm,   233.0*Gaudi::Units::mm ,   1720.*Gaudi::Units::mm);
 
   {    
     HECConstructionH62002 hecConstruction;
diff --git a/LArCalorimeter/LArGeoModel/LArGeoH62002Algs/src/TableConstructionH62002.cxx b/LArCalorimeter/LArGeoModel/LArGeoH62002Algs/src/TableConstructionH62002.cxx
index 8b2d56e9cbf4..ad4bd0b4743d 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoH62002Algs/src/TableConstructionH62002.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoH62002Algs/src/TableConstructionH62002.cxx
@@ -24,7 +24,6 @@
 #include "GeoModelKernel/GeoIdentifierTag.h"  
 #include "GeoModelKernel/GeoSerialDenominator.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
 #include "StoreGate/StoreGateSvc.h"
 #include "GeoModelInterfaces/AbsMaterialManager.h"
 #include "GeoModelInterfaces/StoredMaterialManager.h"
@@ -42,6 +41,7 @@
 #include "StoreGate/StoreGateSvc.h"
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <string>
 #include <cmath>
@@ -138,8 +138,8 @@ GeoVPhysVol* LArGeo::TableConstructionH62002::GetEnvelope()
   std::string baseName = "LAr::TBH62002";
   std::string H62002TableName = baseName + "::Table";
 
-  const double H62002TableXY  =  150.*GeoModelKernelUnits::mm;
-  const double H62002TableZ   = 1200.*GeoModelKernelUnits::mm;
+  const double H62002TableXY  =  150.*Gaudi::Units::mm;
+  const double H62002TableZ   = 1200.*Gaudi::Units::mm;
 
 
   GeoBox* H62002TableShape = new GeoBox( H62002TableXY, H62002TableXY, H62002TableZ );   
@@ -156,13 +156,13 @@ GeoVPhysVol* LArGeo::TableConstructionH62002::GetEnvelope()
   log << "Create F1/F2 Scintillators ..." << std::endl;
   
   // Universal size:
-  const double Fx = 10.0*GeoModelKernelUnits::mm;
-  const double Fy = 10.0*GeoModelKernelUnits::mm;
-  const double Fz = 10.0*GeoModelKernelUnits::mm;
+  const double Fx = 10.0*Gaudi::Units::mm;
+  const double Fy = 10.0*Gaudi::Units::mm;
+  const double Fz = 10.0*Gaudi::Units::mm;
 
   std::vector<double> v_ScintZ;
-  v_ScintZ.push_back(2195.*GeoModelKernelUnits::mm); // <--  = btas_pos
-  v_ScintZ.push_back(2320.*GeoModelKernelUnits::mm);
+  v_ScintZ.push_back(2195.*Gaudi::Units::mm); // <--  = btas_pos
+  v_ScintZ.push_back(2320.*Gaudi::Units::mm);
   const double ScintDx = Fx;
   const double ScintDy = Fy;
   const double ScintDz = Fz;
@@ -175,7 +175,7 @@ GeoVPhysVol* LArGeo::TableConstructionH62002::GetEnvelope()
   GeoPhysVol* ScintPhysical = new GeoPhysVol( ScintLogical );    
   for ( unsigned int i = 0; i < v_ScintZ.size(); i++ ) {
     m_H62002TablePhysical->add( new GeoIdentifierTag(i) );
-    m_H62002TablePhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, (v_ScintZ[ i ]-H62002TableZ) ) ) );
+    m_H62002TablePhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm, (v_ScintZ[ i ]-H62002TableZ) ) ) );
     log << MSG::INFO << " Position the F Scintillator at: " << v_ScintZ[ i ] << endmsg ;
     m_H62002TablePhysical->add( ScintPhysical );
   } 
@@ -190,16 +190,16 @@ GeoVPhysVol* LArGeo::TableConstructionH62002::GetEnvelope()
   //------ Get the MWPCs from LArGeoH6Cryostats
   const int MwpcNumber = 3;
   std::vector<double> v_MwpcPos;
-  v_MwpcPos.push_back(105.*GeoModelKernelUnits::mm);
-  v_MwpcPos.push_back(825.*GeoModelKernelUnits::mm); 
-  v_MwpcPos.push_back(1815.*GeoModelKernelUnits::mm);
-  double WireStep = 1.*GeoModelKernelUnits::mm;
+  v_MwpcPos.push_back(105.*Gaudi::Units::mm);
+  v_MwpcPos.push_back(825.*Gaudi::Units::mm); 
+  v_MwpcPos.push_back(1815.*Gaudi::Units::mm);
+  double WireStep = 1.*Gaudi::Units::mm;
   MWPCConstruction mwpcXConstruction (WireStep);
   GeoVPhysVol* mwpcEnvelope = mwpcXConstruction.GetEnvelope();
   for ( int imwpc = 0; imwpc<MwpcNumber ; imwpc++)
     { 
       m_H62002TablePhysical->add(new GeoIdentifierTag(imwpc+2));
-      m_H62002TablePhysical->add( new GeoTransform(GeoTrf::Translate3D( 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, (v_MwpcPos[imwpc]-H62002TableZ) ) ) );
+      m_H62002TablePhysical->add( new GeoTransform(GeoTrf::Translate3D( 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm, (v_MwpcPos[imwpc]-H62002TableZ) ) ) );
       m_H62002TablePhysical->add(mwpcEnvelope);    
     }
   //------ Done with creating an MWPC from LArGeoH6Cryostats
diff --git a/LArCalorimeter/LArGeoModel/LArGeoH62003Algs/src/LArDetectorConstructionH62003.cxx b/LArCalorimeter/LArGeoModel/LArGeoH62003Algs/src/LArDetectorConstructionH62003.cxx
index e613b8c86a7f..af8b3736e390 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoH62003Algs/src/LArDetectorConstructionH62003.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoH62003Algs/src/LArDetectorConstructionH62003.cxx
@@ -49,17 +49,18 @@
 #include "StoreGate/StoreGateSvc.h"
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <string>
 #include <cmath>
 #include <iostream>
 
 using GeoModelKernelUnits::g;
-using GeoModelKernelUnits::cm3;
-using GeoModelKernelUnits::mm;
-using GeoModelKernelUnits::cm;
-using GeoModelKernelUnits::m;
-using GeoModelKernelUnits::deg;
+using Gaudi::Units::cm3;
+using Gaudi::Units::mm;
+using Gaudi::Units::cm;
+using Gaudi::Units::m;
+using Gaudi::Units::deg;
 using GeoTrf::Vector3D;
 using GeoTrf::Transform3D;
 using GeoTrf::Translate3D;
diff --git a/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/ExcluderConstructionH62004.cxx b/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/ExcluderConstructionH62004.cxx
index 5320788f5ff3..8f7f0914e60b 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/ExcluderConstructionH62004.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/ExcluderConstructionH62004.cxx
@@ -36,6 +36,7 @@
 
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include "RDBAccessSvc/IRDBAccessSvc.h"
 #include "RDBAccessSvc/IRDBRecord.h"
 #include "RDBAccessSvc/IRDBRecordset.h"
@@ -99,7 +100,7 @@ GeoVFullPhysVol*  LArGeo::ExcluderConstructionH62004::GetEnvelope() {
   const GeoElement*  H=materialManager->getElement("Hydrogen");
   const GeoElement*  O=materialManager->getElement("Oxygen");
   const GeoElement*  N=materialManager->getElement("Nitrogen");
-  GeoMaterial* Rohacell = new GeoMaterial(name="Rohacell", density=0.112*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3);
+  GeoMaterial* Rohacell = new GeoMaterial(name="Rohacell", density=0.112*GeoModelKernelUnits::g/Gaudi::Units::cm3);
   Rohacell->add(C,0.6465);
   Rohacell->add(H,0.07836);
   Rohacell->add(O,0.19137);
@@ -107,7 +108,7 @@ GeoVFullPhysVol*  LArGeo::ExcluderConstructionH62004::GetEnvelope() {
   Rohacell->lock();
 
   /*
-  a = 12.957*GeoModelKernelUnits::g/GeoModelKernelUnits::mole;                                                       
+  a = 12.957*GeoModelKernelUnits::g/Gaudi::Units::mole;                                                       
   density = 0.112*g/cm3;                                              
   z = 6.18;
   G4Material* Rohacell = new G4Material(name="Rohacell",z, a, density);
@@ -138,20 +139,20 @@ GeoVFullPhysVol*  LArGeo::ExcluderConstructionH62004::GetEnvelope() {
   switch(m_which) {
      case 0: { // EMEC excluder
      // DB values
-     double Rmin = 725.*GeoModelKernelUnits::mm;
-     double Rmin_2 = 780.*GeoModelKernelUnits::mm;
-     double Rmax = 980.*GeoModelKernelUnits::mm;
+     double Rmin = 725.*Gaudi::Units::mm;
+     double Rmin_2 = 780.*Gaudi::Units::mm;
+     double Rmax = 980.*Gaudi::Units::mm;
 
-     double Zall = 626*GeoModelKernelUnits::mm;
-     double Zback = 91*GeoModelKernelUnits::mm;
-     double Zfront = 60*GeoModelKernelUnits::mm;
+     double Zall = 626*Gaudi::Units::mm;
+     double Zback = 91*Gaudi::Units::mm;
+     double Zfront = 60*Gaudi::Units::mm;
 
-     double alpha = 22.5*GeoModelKernelUnits::degree;
-     double beta  = 6.375*GeoModelKernelUnits::degree; 
+     double alpha = 22.5*Gaudi::Units::degree;
+     double beta  = 6.375*Gaudi::Units::degree; 
 
 
 //     double gamma = 8.589*degree;
-     double delta = 2.720*GeoModelKernelUnits::degree;
+     double delta = 2.720*Gaudi::Units::degree;
 
 //  solidEx = new GeoTubs("MotherEx",Rmin,Rmax,Zall/2.,-(alpha+gamma), 2*(alpha+gamma));
 //     GeoTubs* solidEx = new GeoTubs(Rmin,Rmax,Zall/2.,-(alpha+beta), 2*(alpha+beta));
@@ -209,30 +210,30 @@ GeoVFullPhysVol*  LArGeo::ExcluderConstructionH62004::GetEnvelope() {
 	     }
      case 1 : { // FCAL excluder
 
-                double Rmax = 335.*GeoModelKernelUnits::mm;
-//                double Rmax_1 = 253.*GeoModelKernelUnits::mm;
-                double bepo_Beta = 4.668*GeoModelKernelUnits::degree; // DB !!!
-		double bepo_ty = 90.0*GeoModelKernelUnits::degree; // DB !!
-
-//                double Zall = (1021.4/2.)*GeoModelKernelUnits::mm;
-                double Zall = (912./2.)*GeoModelKernelUnits::mm;
-//		double Zpara = (168.47/2.)*GeoModelKernelUnits::mm;
-//		double Zpara = (247.87/2.)*GeoModelKernelUnits::mm;
-		double Xall = (171./2.)*GeoModelKernelUnits::mm;
-		double Yall = (300./2.)*GeoModelKernelUnits::mm;
+                double Rmax = 335.*Gaudi::Units::mm;
+//                double Rmax_1 = 253.*Gaudi::Units::mm;
+                double bepo_Beta = 4.668*Gaudi::Units::degree; // DB !!!
+		double bepo_ty = 90.0*Gaudi::Units::degree; // DB !!
+
+//                double Zall = (1021.4/2.)*Gaudi::Units::mm;
+                double Zall = (912./2.)*Gaudi::Units::mm;
+//		double Zpara = (168.47/2.)*Gaudi::Units::mm;
+//		double Zpara = (247.87/2.)*Gaudi::Units::mm;
+		double Xall = (171./2.)*Gaudi::Units::mm;
+		double Yall = (300./2.)*Gaudi::Units::mm;
 		double Rmax_1 = Rmax - 2.*Zall*tan(bepo_Beta);
 
-		GeoPara *pEx = new GeoPara(Zall,Yall,Xall,0*GeoModelKernelUnits::degree,bepo_Beta,0.*GeoModelKernelUnits::degree);
+		GeoPara *pEx = new GeoPara(Zall,Yall,Xall,0*Gaudi::Units::degree,bepo_Beta,0.*Gaudi::Units::degree);
 		GeoCons *tEx = new GeoCons(0.,0.,Rmax,Rmax_1,Zall,0.,M_PI);
 		GeoBox  *box = new GeoBox(Yall,Xall,Zall);
                 GeoTrf::RotateX3D Rot(bepo_Beta);
-		GeoTrf::Translation3D  trans1(0., sqrt(Rmax_1*Rmax_1 - Yall*Yall) + Xall + Zall*tan(bepo_Beta),  0*GeoModelKernelUnits::mm);
+		GeoTrf::Translation3D  trans1(0., sqrt(Rmax_1*Rmax_1 - Yall*Yall) + Xall + Zall*tan(bepo_Beta),  0*Gaudi::Units::mm);
 		GeoTrf::Transform3D offset = trans1 * Rot;
 		const GeoShapeIntersection  &is = (*tEx).intersect(*box<<offset);
 
 		GeoTrf::Transform3D Rot1 = GeoTrf::RotateX3D(bepo_Beta) * GeoTrf::RotateZ3D(bepo_ty) * GeoTrf::RotateY3D(bepo_ty);
-//		G4ThreeVector  translation(0., (203.74-168.47/2.)*GeoModelKernelUnits::mm, 0.*GeoModelKernelUnits::mm);
-		GeoTrf::Translation3D  translation(0., sqrt(Rmax_1*Rmax_1 - Yall*Yall)-Xall+Zall*tan(bepo_Beta),0.*GeoModelKernelUnits::mm);
+//		G4ThreeVector  translation(0., (203.74-168.47/2.)*Gaudi::Units::mm, 0.*Gaudi::Units::mm);
+		GeoTrf::Translation3D  translation(0., sqrt(Rmax_1*Rmax_1 - Yall*Yall)-Xall+Zall*tan(bepo_Beta),0.*Gaudi::Units::mm);
 		GeoTrf::Transform3D offset1 = translation * Rot1;
 		const GeoShapeUnion  &us = is.add(*pEx<<offset1);  
 		std::string bExName = "LArGeoTB::FCAL::Excluder";
@@ -245,19 +246,19 @@ GeoVFullPhysVol*  LArGeo::ExcluderConstructionH62004::GetEnvelope() {
 
 
 //                double Rmax = bcry_rlar;
-                double Rmax =  125.5*GeoModelKernelUnits::cm; // DB !!!
-		double bepo_Beta = 4.668*GeoModelKernelUnits::degree; // DB !!!
+                double Rmax =  125.5*Gaudi::Units::cm; // DB !!!
+		double bepo_Beta = 4.668*Gaudi::Units::degree; // DB !!!
 
-                double Zall = (1200./2.)*GeoModelKernelUnits::mm;
-		double angle = 32.*GeoModelKernelUnits::degree;
-//		double Xall = 119.35*GeoModelKernelUnits::cm;
+                double Zall = (1200./2.)*Gaudi::Units::mm;
+		double angle = 32.*Gaudi::Units::degree;
+//		double Xall = 119.35*Gaudi::Units::cm;
 		double Xall = Rmax*cos(angle/2);
 		double Yall = Rmax*sin(angle/2);
 
 		GeoTubs *tEx = new GeoTubs(0.,Rmax,Zall,-angle/2.,angle);
 		GeoPara  *box = new GeoPara(Xall,Yall,1.1*Zall,0.,-bepo_Beta,0.);
 
-		GeoTrf::Translate3D offset(0., 0.*GeoModelKernelUnits::mm, 0*GeoModelKernelUnits::mm);
+		GeoTrf::Translate3D offset(0., 0.*Gaudi::Units::mm, 0*Gaudi::Units::mm);
 		const GeoShapeSubtraction &is = (*tEx).subtract((*box)<<(offset));
 //		G4UnionSolid *is = new G4UnionSolid("isEx",tEx,box,Rot,trans1);
 		std::string FrontExName = "LArGeoTB::Front::Excluder";
@@ -268,18 +269,18 @@ GeoVFullPhysVol*  LArGeo::ExcluderConstructionH62004::GetEnvelope() {
      case 3 : { // Back excluder
 
 //                double Rmax = bcry_rlar;
-		double Rmax =  125.5*GeoModelKernelUnits::cm; // DB !!!
+		double Rmax =  125.5*Gaudi::Units::cm; // DB !!!
 
 
-                double Zall = (1600./2.)*GeoModelKernelUnits::mm;
-		double angle = 58.*GeoModelKernelUnits::degree;
+                double Zall = (1600./2.)*Gaudi::Units::mm;
+		double angle = 58.*Gaudi::Units::degree;
 		double Xall = Rmax*cos(angle/2.);
 		double Yall = Rmax*sin(angle/2.);
 
 		GeoTubs *tEx = new GeoTubs(0.,Rmax,Zall,0.,angle);
 		GeoBox  *box = new GeoBox(Xall,Yall,1.1*Zall);
 		GeoTrf::RotateZ3D Rot(angle/2.);
-		GeoTrf::Translation3D  trans1(0., 0.*GeoModelKernelUnits::mm,  0*GeoModelKernelUnits::mm);
+		GeoTrf::Translation3D  trans1(0., 0.*Gaudi::Units::mm,  0*Gaudi::Units::mm);
 		GeoTrf::Transform3D offset = trans1 * Rot;
 		const GeoShapeSubtraction &is = (*tEx).subtract((*box)<<(offset));
 		std::string BackExName = "LArGeoTB::Back::Excluder";
diff --git a/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/FCALConstructionH62004.cxx b/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/FCALConstructionH62004.cxx
index 3413f1c2bab4..37f0b782c251 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/FCALConstructionH62004.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/FCALConstructionH62004.cxx
@@ -55,6 +55,7 @@
 // For units:
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include <string>
 #include <cmath>
 #include <cfloat>
@@ -214,13 +215,13 @@ GeoVFullPhysVol* LArGeo::FCALConstructionH62004::GetEnvelope()
   std::string baseName = "LAr::FCAL::";
 
   double fcalHalfDepth=0;
-  double startZFCal1 = (*m_fcalMod)[0]->getDouble("STARTPOSITION"); //466.85 * GeoModelKernelUnits::cm;
-  double startZFCal2 = (*m_fcalMod)[1]->getDouble("STARTPOSITION"); //512.83 * GeoModelKernelUnits::cm;
-  double startZFCal3 = (*m_fcalMod)[2]->getDouble("STARTPOSITION"); //560.28 * GeoModelKernelUnits::cm;
+  double startZFCal1 = (*m_fcalMod)[0]->getDouble("STARTPOSITION"); //466.85 * Gaudi::Units::cm;
+  double startZFCal2 = (*m_fcalMod)[1]->getDouble("STARTPOSITION"); //512.83 * Gaudi::Units::cm;
+  double startZFCal3 = (*m_fcalMod)[2]->getDouble("STARTPOSITION"); //560.28 * Gaudi::Units::cm;
 
   // Should go to Db (change FCalNominals ????)
-  double fcalstartPhi = 90.*GeoModelKernelUnits::deg;
-  double fcaldeltaPhi = 90.*GeoModelKernelUnits::deg;
+  double fcalstartPhi = 90.*Gaudi::Units::deg;
+  double fcaldeltaPhi = 90.*Gaudi::Units::deg;
   // FCAL VOLUME.  IT DOES NOT INCLUDE THE COPPER PLUG, ONLY THE LAR AND MODS 1-3
   {
 
@@ -275,17 +276,17 @@ GeoVFullPhysVol* LArGeo::FCALConstructionH62004::GetEnvelope()
       // 16 Troughs representing  Cable Harnesses:
       if(m_absPhysical1==0)
 	{
-	  double troughDepth       = 0.9999 * GeoModelKernelUnits::cm;
+	  double troughDepth       = 0.9999 * Gaudi::Units::cm;
 	  double outerRadius       = fcalData[0].outerModuleRadius;
 	  double innerRadius       = outerRadius - troughDepth;
 	  double halfLength        = fcalData[0].fullModuleDepth/ 2.0;
-	  double deltaPhi          = 5.625 * GeoModelKernelUnits::deg;
-	  double startPhi          = 11.25 * GeoModelKernelUnits::deg - deltaPhi/2.0;
+	  double deltaPhi          = 5.625 * Gaudi::Units::deg;
+	  double startPhi          = 11.25 * Gaudi::Units::deg - deltaPhi/2.0;
 	  GeoTubs * tubs = new GeoTubs(innerRadius,outerRadius,halfLength,startPhi,deltaPhi );
 	  GeoLogVol *logVol = new GeoLogVol(baseName+"Module1::CableTrough",tubs,FCalCableHarness);
 	  GeoPhysVol *physVol = new GeoPhysVol(logVol);
 	  GeoGenfun::Variable i;
-	  GeoGenfun::GENFUNCTION rotationAngle = fcalstartPhi + 22.5*GeoModelKernelUnits::deg*i;
+	  GeoGenfun::GENFUNCTION rotationAngle = fcalstartPhi + 22.5*Gaudi::Units::deg*i;
 	  GeoXF::TRANSFUNCTION xf = GeoXF::Pow(GeoTrf::RotateZ3D(1.0),rotationAngle);
 	  GeoSerialTransformer *st = new GeoSerialTransformer(physVol,&xf,4);
 	  modPhysical->add(st);
@@ -296,7 +297,7 @@ GeoVFullPhysVol* LArGeo::FCALConstructionH62004::GetEnvelope()
 	  double halfDepth    = fcalData[0].fullGapDepth/2.0;
 	  double innerRadius  = fcalData[0].innerGapRadius;
 	  double outerRadius  = fcalData[0].outerGapRadius;
-	  GeoTubs *tubs       = new GeoTubs(innerRadius,outerRadius,halfDepth, 0.*GeoModelKernelUnits::deg, 360.*GeoModelKernelUnits::deg);
+	  GeoTubs *tubs       = new GeoTubs(innerRadius,outerRadius,halfDepth, 0.*Gaudi::Units::deg, 360.*Gaudi::Units::deg);
 	  GeoLogVol *logVol   = new GeoLogVol(baseName + "Module1::Gap",tubs, LAr);
 	  GeoPhysVol *physVol = new GeoPhysVol(logVol);
 	  
@@ -327,7 +328,7 @@ GeoVFullPhysVol* LArGeo::FCALConstructionH62004::GetEnvelope()
 	      if (m_VisLimit != -1 && (counter++ > m_VisLimit)) continue;
 	      //std::cout<<thisTileStr<<" "<<thisTubeX<<" "<<thisTubeY<<std::endl;
 	      
-	      GeoTransform *xf = new GeoTransform(GeoTrf::Translate3D(thisTubeX*GeoModelKernelUnits::cm, thisTubeY*GeoModelKernelUnits::cm,0));
+	      GeoTransform *xf = new GeoTransform(GeoTrf::Translate3D(thisTubeX*Gaudi::Units::cm, thisTubeY*Gaudi::Units::cm,0));
 	      modPhysical->add(xf);
 	      modPhysical->add(physVol);
 	    }
@@ -371,17 +372,17 @@ GeoVFullPhysVol* LArGeo::FCALConstructionH62004::GetEnvelope()
       // 16 Troughs representing  Cable Harnesses:
       if(m_absPhysical2==0)
 	{
-	  double troughDepth       = 1.0 * GeoModelKernelUnits::cm;
+	  double troughDepth       = 1.0 * Gaudi::Units::cm;
 	  double outerRadius       = fcalData[1].outerModuleRadius;
 	  double innerRadius       = outerRadius - troughDepth;
 	  double halfLength        = fcalData[1].fullModuleDepth/ 2.0;
-	  double deltaPhi          = 5.625 * GeoModelKernelUnits::deg;
-	  double startPhi          = 11.25 * GeoModelKernelUnits::deg - deltaPhi/2.0;
+	  double deltaPhi          = 5.625 * Gaudi::Units::deg;
+	  double startPhi          = 11.25 * Gaudi::Units::deg - deltaPhi/2.0;
 	  GeoTubs * tubs = new GeoTubs(innerRadius,outerRadius,halfLength,startPhi,deltaPhi );
 	  GeoLogVol *logVol = new GeoLogVol(baseName+"Module2::CableTrough",tubs,FCalCableHarness);
 	  GeoPhysVol *physVol = new GeoPhysVol(logVol);
 	  GeoGenfun::Variable i;
-	  GeoGenfun::GENFUNCTION rotationAngle = fcalstartPhi + 22.5*GeoModelKernelUnits::deg*i;
+	  GeoGenfun::GENFUNCTION rotationAngle = fcalstartPhi + 22.5*Gaudi::Units::deg*i;
 	  GeoXF::TRANSFUNCTION xf = GeoXF::Pow(GeoTrf::RotateZ3D(1.0),rotationAngle);
 	  GeoSerialTransformer *st = new GeoSerialTransformer(physVol,&xf,4);
 	  modPhysical->add(st);
@@ -431,7 +432,7 @@ GeoVFullPhysVol* LArGeo::FCALConstructionH62004::GetEnvelope()
 	    
 	    if (m_VisLimit!=-1 && (counter++ > m_VisLimit)) continue;
 	    
-	    GeoTransform *xf = new GeoTransform(GeoTrf::Translate3D(thisTubeX*GeoModelKernelUnits::cm, thisTubeY*GeoModelKernelUnits::cm,0));
+	    GeoTransform *xf = new GeoTransform(GeoTrf::Translate3D(thisTubeX*Gaudi::Units::cm, thisTubeY*Gaudi::Units::cm,0));
 	    modPhysical->add(xf);
 	    modPhysical->add(gapPhys);
 	  }
@@ -452,7 +453,7 @@ GeoVFullPhysVol* LArGeo::FCALConstructionH62004::GetEnvelope()
 
 	// We need few more materials
 	// ColdTC effective absorber: Cu with a little bit of inactive argon
-	GeoMaterial *thisAbsorber = new GeoMaterial("ColdTCAbsorber",8.701*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3);
+	GeoMaterial *thisAbsorber = new GeoMaterial("ColdTCAbsorber",8.701*GeoModelKernelUnits::g/Gaudi::Units::cm3);
 	thisAbsorber->add(Copper,0.994);
 	thisAbsorber->add(LAr,0.006);
 	thisAbsorber->lock();
@@ -487,8 +488,8 @@ GeoVFullPhysVol* LArGeo::FCALConstructionH62004::GetEnvelope()
 	double outerRadius     = fcalData[2].outerGapRadius;
 
 	// Where in DB should go this ?
-	double ElectrodeDepth = 0.85*GeoModelKernelUnits::cm;
-        double ActiveDepth = 0.2*GeoModelKernelUnits::cm;
+	double ElectrodeDepth = 0.85*Gaudi::Units::cm;
+        double ActiveDepth = 0.2*Gaudi::Units::cm;
 
 	// big argon gap solid
 	GeoTubs *gapSolid = new GeoTubs(innerRadius,outerRadius,halfDepth, fcalstartPhi, fcaldeltaPhi);
@@ -506,13 +507,13 @@ GeoVFullPhysVol* LArGeo::FCALConstructionH62004::GetEnvelope()
 
 	// active gaps in electrode
 	int iCopy = 1;
-	double zPos = -ElectrodeDepth/2. + 1.5 * GeoModelKernelUnits::mm + ActiveDepth/2.;
+	double zPos = -ElectrodeDepth/2. + 1.5 * Gaudi::Units::mm + ActiveDepth/2.;
 	GeoTransform *t1 = new GeoTransform(GeoTrf::Translate3D(0.,0.,zPos));
 	electrodePhys->add(new GeoSerialIdentifier(iCopy));
 	electrodePhys->add(t1);
 	electrodePhys->add(activePhys);
 	++iCopy;
-	zPos += 3.5 * GeoModelKernelUnits::mm;
+	zPos += 3.5 * Gaudi::Units::mm;
 	electrodePhys->add(new GeoSerialIdentifier(iCopy));
 	electrodePhys->add(t1);
 	electrodePhys->add(activePhys);
@@ -523,12 +524,12 @@ GeoVFullPhysVol* LArGeo::FCALConstructionH62004::GetEnvelope()
 	gapPhys->add(t2);
 	gapPhys->add(electrodePhys);
 	// big gaps in copper block
-        zPos = -fcalData[2].fullModuleDepth/2. + 2.2 * GeoModelKernelUnits::cm + halfDepth; 
+        zPos = -fcalData[2].fullModuleDepth/2. + 2.2 * Gaudi::Units::cm + halfDepth; 
         for ( iCopy = 1; iCopy < 9; ++iCopy ){
 	  modPhysical->add(new GeoSerialIdentifier(iCopy)); 
 	  modPhysical->add(new GeoTransform(GeoTrf::Translate3D(0.,0.,zPos)));
 	  modPhysical->add(gapPhys);
-	  zPos += 3.5*GeoModelKernelUnits::cm;
+	  zPos += 3.5*Gaudi::Units::cm;
 	}
 	m_absPhysical3 = modPhysical;
      }
diff --git a/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/FrontBeamConstructionH62004.cxx b/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/FrontBeamConstructionH62004.cxx
index fa4dba728df4..0a61111efd35 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/FrontBeamConstructionH62004.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/FrontBeamConstructionH62004.cxx
@@ -24,7 +24,6 @@
 #include "GeoModelKernel/GeoAlignableTransform.h"  
 #include "GeoModelKernel/GeoIdentifierTag.h"  
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
 #include "StoreGate/StoreGateSvc.h"
 #include "GeoModelInterfaces/AbsMaterialManager.h"
 #include "GeoModelInterfaces/StoredMaterialManager.h"
@@ -40,6 +39,7 @@
 
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <string>
 #include <cmath>
@@ -123,14 +123,14 @@ GeoVPhysVol* LArGeo::FrontBeamConstructionH62004::GetEnvelope()
   // Define dimension of Front part & position of Front part
   //
   // DB ?
-  const double bard_x = 20.0*GeoModelKernelUnits::cm;
-  const double bard_y = 20.0*GeoModelKernelUnits::cm;
-  //const double bard_z = 35.0*GeoModelKernelUnits::cm;
-  const double bard_z = 100.0*GeoModelKernelUnits::cm;
-  const double fbpc_z[2] = {60.4*GeoModelKernelUnits::cm,112.7*GeoModelKernelUnits::cm};
+  const double bard_x = 20.0*Gaudi::Units::cm;
+  const double bard_y = 20.0*Gaudi::Units::cm;
+  //const double bard_z = 35.0*Gaudi::Units::cm;
+  const double bard_z = 100.0*Gaudi::Units::cm;
+  const double fbpc_z[2] = {60.4*Gaudi::Units::cm,112.7*Gaudi::Units::cm};
   // Position in exp_hall
-  //const double z_bard=-2160.0*GeoModelKernelUnits::cm+80.1*GeoModelKernelUnits::cm+16.*GeoModelKernelUnits::cm+bard_z;
-  //const double z_bardm=-2160.0*GeoModelKernelUnits::cm+1362.3*GeoModelKernelUnits::cm;
+  //const double z_bard=-2160.0*Gaudi::Units::cm+80.1*Gaudi::Units::cm+16.*Gaudi::Units::cm+bard_z;
+  //const double z_bardm=-2160.0*Gaudi::Units::cm+1362.3*Gaudi::Units::cm;
 
 
 
@@ -144,27 +144,27 @@ GeoVPhysVol* LArGeo::FrontBeamConstructionH62004::GetEnvelope()
   //   In the old stand-alone code, all three were round with a radius of 5cm 
   //   and 7.5mm thickness.
   //   Logbooks in the control-room say that their xyz sizes are:
-  //   B1   : 30 x 30 x 10 GeoModelKernelUnits::mm
-  //   W1,2 : 150 x 150 x 10 GeoModelKernelUnits::mm
+  //   B1   : 30 x 30 x 10 Gaudi::Units::mm
+  //   W1,2 : 150 x 150 x 10 Gaudi::Units::mm
   // They are certainly not round, so stick with the logbook values 
   // The beam sees the instrumentation in the following order:
   // W1, W2, B1, MWPC5
 
   log << MSG::INFO << "Create Front Scintillators ..." << endmsg;
   
-  const double Wxy=  75.0*GeoModelKernelUnits::mm;
-  const double Wz =   5.0*GeoModelKernelUnits::mm;
-  const double Bxy=  15.0*GeoModelKernelUnits::mm;
-  const double Bz =   5.0*GeoModelKernelUnits::mm;
+  const double Wxy=  75.0*Gaudi::Units::mm;
+  const double Wz =   5.0*Gaudi::Units::mm;
+  const double Bxy=  15.0*Gaudi::Units::mm;
+  const double Bz =   5.0*Gaudi::Units::mm;
 
   std::vector<double> v_ScintXY;
   std::vector<double> v_ScintZ;
   v_ScintXY.push_back(Wxy);
   v_ScintXY.push_back(Wxy); 
   v_ScintXY.push_back(Bxy); 
-  v_ScintZ.push_back(10.*GeoModelKernelUnits::mm); 
-  v_ScintZ.push_back(40.*GeoModelKernelUnits::mm); 
-  v_ScintZ.push_back(180.*GeoModelKernelUnits::mm);
+  v_ScintZ.push_back(10.*Gaudi::Units::mm); 
+  v_ScintZ.push_back(40.*Gaudi::Units::mm); 
+  v_ScintZ.push_back(180.*Gaudi::Units::mm);
 
    // Create one Scintillator and place it twice along z:
  
@@ -179,7 +179,7 @@ GeoVPhysVol* LArGeo::FrontBeamConstructionH62004::GetEnvelope()
   //BScintPhysical->add( new GeoNameTag(ScintName) );
   for ( unsigned int i = 0; i < v_ScintZ.size(); i++ ) {
     m_H62004FrontBeamPhysical->add( new GeoIdentifierTag(i+1) );
-    m_H62004FrontBeamPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, (v_ScintZ[ i ]-bard_z) ) ) ) ;     m_H62004FrontBeamPhysical->add( new GeoNameTag(ScintName) );
+    m_H62004FrontBeamPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm, (v_ScintZ[ i ]-bard_z) ) ) ) ;     m_H62004FrontBeamPhysical->add( new GeoNameTag(ScintName) );
 
     switch(i) {
     case 0: case 1: { m_H62004FrontBeamPhysical->add( WScintPhysical ); break; }
@@ -195,13 +195,13 @@ GeoVPhysVol* LArGeo::FrontBeamConstructionH62004::GetEnvelope()
   //------ Now create MWPC5 
   log << MSG::INFO << " Create MWPC5 " << endmsg;
   
-  MWPCConstruction MWPC5 (2.*GeoModelKernelUnits::mm);
+  MWPCConstruction MWPC5 (2.*Gaudi::Units::mm);
   GeoVPhysVol* MwpcPhysical = MWPC5.GetEnvelope();
 
-  const double MwpcPos = 445.*GeoModelKernelUnits::mm;
+  const double MwpcPos = 445.*Gaudi::Units::mm;
 
   m_H62004FrontBeamPhysical->add( new GeoIdentifierTag(5) );
-  m_H62004FrontBeamPhysical->add( new GeoTransform(GeoTrf::Translate3D( 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, (MwpcPos-bard_z) ) ) );
+  m_H62004FrontBeamPhysical->add( new GeoTransform(GeoTrf::Translate3D( 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm, (MwpcPos-bard_z) ) ) );
   m_H62004FrontBeamPhysical->add( MwpcPhysical );
 
   //----- Done with the MWPC
@@ -213,7 +213,7 @@ GeoVPhysVol* LArGeo::FrontBeamConstructionH62004::GetEnvelope()
   GeoVPhysVol* BPCPhysical = BPC.GetEnvelope();
   for(int i=1; i<3; ++i) {
      m_H62004FrontBeamPhysical->add( new GeoIdentifierTag(i) );
-     m_H62004FrontBeamPhysical->add( new GeoTransform(GeoTrf::Translate3D( 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, (MwpcPos-bard_z) + fbpc_z[i-1]) ) );
+     m_H62004FrontBeamPhysical->add( new GeoTransform(GeoTrf::Translate3D( 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm, (MwpcPos-bard_z) + fbpc_z[i-1]) ) );
      m_H62004FrontBeamPhysical->add(BPCPhysical);
   }
 
diff --git a/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/HECConstructionH62004.cxx b/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/HECConstructionH62004.cxx
index d1c4ba5bb72c..ad4fdaa39c1a 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/HECConstructionH62004.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/HECConstructionH62004.cxx
@@ -23,7 +23,6 @@
 #include "GeoModelKernel/GeoIdentifierTag.h"  
 #include "GeoModelKernel/GeoShapeUnion.h"  
 #include "GeoModelKernel/GeoDefinitions.h"  
-#include "GeoModelKernel/Units.h"  
 #include "GeoGenericFunctions/AbsFunction.h"
 #include "GeoGenericFunctions/Variable.h"
 #include "GeoGenericFunctions/Sin.h"
@@ -36,6 +35,7 @@
 
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include "RDBAccessSvc/IRDBAccessSvc.h"
 #include "RDBAccessSvc/IRDBRecord.h"
 #include "RDBAccessSvc/IRDBRecordset.h"
@@ -146,57 +146,57 @@ GeoVFullPhysVol* LArGeo::HECConstructionH62004::GetEnvelope()
 
   double zCoordinate[6],innerRadius[6],outerRadius[6];
 
-  double absorberPosY = 1.02*GeoModelKernelUnits::cm;            
-  double PosYcorr = 0.005*GeoModelKernelUnits::cm;            
+  double absorberPosY = 1.02*Gaudi::Units::cm;            
+  double PosYcorr = 0.005*Gaudi::Units::cm;            
 
   const double moduleNumber   = (*hadronicEndcap)[0]->getInt("NSCT"); // 32 Modules
   unsigned int TBmoduleNumber = 8;
-  double moduleRinner1  = (*hecLongitudinalBlock)[0]->getDouble("BLRMN")*GeoModelKernelUnits::cm; // 37.2*GeoModelKernelUnits::cm Inner Radius 
-  double moduleRinner2  = (*hecLongitudinalBlock)[1]->getDouble("BLRMN")*GeoModelKernelUnits::cm; // 47.5*GeoModelKernelUnits::cm
-  //double moduleRouter   = (*hecLongitudinalBlock)[0]->getDouble("BLRMX")*GeoModelKernelUnits::cm; //203.*GeoModelKernelUnits::cm Outer Radius
-  double copperPad      = (*hadronicEndcap)[0]->getDouble("COPPER")*GeoModelKernelUnits::cm; // 0.003.*GeoModelKernelUnits::cm 
-  double gapSize        = (*hadronicEndcap)[0]->getDouble("LARG")*GeoModelKernelUnits::cm; // 8.5*GeoModelKernelUnits::mm
-  double betweenWheel   = (*hadronicEndcap)[0]->getDouble("GAPWHL")*GeoModelKernelUnits::cm-0.001*GeoModelKernelUnits::cm; //40.5*GeoModelKernelUnits::mm
+  double moduleRinner1  = (*hecLongitudinalBlock)[0]->getDouble("BLRMN")*Gaudi::Units::cm; // 37.2*Gaudi::Units::cm Inner Radius 
+  double moduleRinner2  = (*hecLongitudinalBlock)[1]->getDouble("BLRMN")*Gaudi::Units::cm; // 47.5*Gaudi::Units::cm
+  //double moduleRouter   = (*hecLongitudinalBlock)[0]->getDouble("BLRMX")*Gaudi::Units::cm; //203.*Gaudi::Units::cm Outer Radius
+  double copperPad      = (*hadronicEndcap)[0]->getDouble("COPPER")*Gaudi::Units::cm; // 0.003.*Gaudi::Units::cm 
+  double gapSize        = (*hadronicEndcap)[0]->getDouble("LARG")*Gaudi::Units::cm; // 8.5*Gaudi::Units::mm
+  double betweenWheel   = (*hadronicEndcap)[0]->getDouble("GAPWHL")*Gaudi::Units::cm-0.001*Gaudi::Units::cm; //40.5*Gaudi::Units::mm
   int indexloop,index;
   for (indexloop=0; indexloop < depthNumber; ++indexloop){
-    depthSize[indexloop]    = (*hecLongitudinalBlock)[indexloop]->getDouble("BLDPTH")*GeoModelKernelUnits::cm; 
-    firstAbsorber[indexloop]= (*hecLongitudinalBlock)[indexloop]->getDouble("PLATE0")*GeoModelKernelUnits::cm; 
+    depthSize[indexloop]    = (*hecLongitudinalBlock)[indexloop]->getDouble("BLDPTH")*Gaudi::Units::cm; 
+    firstAbsorber[indexloop]= (*hecLongitudinalBlock)[indexloop]->getDouble("PLATE0")*Gaudi::Units::cm; 
     gapNumber[indexloop]    = (int) (*hecLongitudinalBlock)[indexloop]->getDouble("BLMOD"); // 4 or 8 
   }
 
   std::string sidx[4]={"_0","_1","_2","_3"};
 
   for (indexloop=0; indexloop < 3; ++indexloop){
-    kaptonPosition[indexloop] = (*hadronicEndcap)[0]->getDouble("KPTPOS" + sidx[indexloop])*GeoModelKernelUnits::cm; 
-    kaptonWidth[indexloop]    = (*hadronicEndcap)[0]->getDouble("KPTWID" + sidx[indexloop])*GeoModelKernelUnits::cm; 
+    kaptonPosition[indexloop] = (*hadronicEndcap)[0]->getDouble("KPTPOS" + sidx[indexloop])*Gaudi::Units::cm; 
+    kaptonWidth[indexloop]    = (*hadronicEndcap)[0]->getDouble("KPTWID" + sidx[indexloop])*Gaudi::Units::cm; 
   }
 
   for (indexloop=0; indexloop < 4; ++indexloop){
-    tieRodPositionX[indexloop] = (*hadronicEndcap)[0]->getDouble("RODPOSX" + sidx[indexloop])*GeoModelKernelUnits::cm; 
-    tieRodPositionY[indexloop] = (*hadronicEndcap)[0]->getDouble("RODPOSR" + sidx[indexloop])*GeoModelKernelUnits::cm; 
+    tieRodPositionX[indexloop] = (*hadronicEndcap)[0]->getDouble("RODPOSX" + sidx[indexloop])*Gaudi::Units::cm; 
+    tieRodPositionY[indexloop] = (*hadronicEndcap)[0]->getDouble("RODPOSR" + sidx[indexloop])*Gaudi::Units::cm; 
   }
 
   for (indexloop=0; indexloop < 2; ++indexloop){
-    tieRodDiameter[indexloop] = (*hadronicEndcap)[0]->getDouble("RODDIM" + sidx[indexloop])*GeoModelKernelUnits::cm; 
-    spacerDiameter[indexloop] = (*hadronicEndcap)[0]->getDouble("SPCDIM" + sidx[indexloop])*GeoModelKernelUnits::cm; 
+    tieRodDiameter[indexloop] = (*hadronicEndcap)[0]->getDouble("RODDIM" + sidx[indexloop])*Gaudi::Units::cm; 
+    spacerDiameter[indexloop] = (*hadronicEndcap)[0]->getDouble("SPCDIM" + sidx[indexloop])*Gaudi::Units::cm; 
   }
 
-  double absorberZ1 = (*hadronicEndcap)[0]->getDouble("PLATE_0")*GeoModelKernelUnits::cm; // 2.5*GeoModelKernelUnits::cm;
-  double absorberZ2 = (*hadronicEndcap)[0]->getDouble("PLATE_1")*GeoModelKernelUnits::cm; //5.0*GeoModelKernelUnits::cm;
+  double absorberZ1 = (*hadronicEndcap)[0]->getDouble("PLATE_0")*Gaudi::Units::cm; // 2.5*Gaudi::Units::cm;
+  double absorberZ2 = (*hadronicEndcap)[0]->getDouble("PLATE_1")*Gaudi::Units::cm; //5.0*Gaudi::Units::cm;
 
-  const double moduleDeltaPhi   = 2*M_PI/moduleNumber; //11.25*GeoModelKernelUnits::deg;  
+  const double moduleDeltaPhi   = 2*M_PI/moduleNumber; //11.25*Gaudi::Units::deg;  
   double modulePhistart = -moduleDeltaPhi/2.; 
-  //double modulePhistart   = 0.0*GeoModelKernelUnits::deg;
-  zCoordinate[0]=0.0*GeoModelKernelUnits::cm; 
-  zCoordinate[1]=depthSize[0]; //28.05*GeoModelKernelUnits::cm; 
-  zCoordinate[2]=depthSize[0]+0.001*GeoModelKernelUnits::cm; //28.051*GeoModelKernelUnits::cm; 
+  //double modulePhistart   = 0.0*Gaudi::Units::deg;
+  zCoordinate[0]=0.0*Gaudi::Units::cm; 
+  zCoordinate[1]=depthSize[0]; //28.05*Gaudi::Units::cm; 
+  zCoordinate[2]=depthSize[0]+0.001*Gaudi::Units::cm; //28.051*Gaudi::Units::cm; 
   zCoordinate[3]=zCoordinate[2]+depthSize[1]+depthSize[2]+betweenWheel/2;
   zCoordinate[4]=zCoordinate[3]+depthSize[3]+depthSize[4]+betweenWheel/2;
-  zCoordinate[5]=181.8*GeoModelKernelUnits::cm;
+  zCoordinate[5]=181.8*Gaudi::Units::cm;
   innerRadius[0]=moduleRinner1;
   innerRadius[1]=moduleRinner1;
   for (index=2; index<numberZplane;++index) {innerRadius[index]=moduleRinner2;}
-  for (index=0; index<numberZplane;++index) {outerRadius[index]=innerRadius[0] + 78.7*GeoModelKernelUnits::cm; } 
+  for (index=0; index<numberZplane;++index) {outerRadius[index]=innerRadius[0] + 78.7*Gaudi::Units::cm; } 
 
 
 //----------------------------------------------------------------
@@ -299,9 +299,9 @@ GeoVFullPhysVol* LArGeo::HECConstructionH62004::GetEnvelope()
   }  
 
 //----------------------------------------------------------------
-//    Absorbers , the inner and outer Radius are smaller on 1.02*GeoModelKernelUnits::cm
+//    Absorbers , the inner and outer Radius are smaller on 1.02*Gaudi::Units::cm
 //                but positionned in the center of depth. this alows
-//                to have 2 GeoModelKernelUnits::mm gap between the copper plates of neighbor Modules 
+//                to have 2 Gaudi::Units::mm gap between the copper plates of neighbor Modules 
 //----------------------------------------------------------------
   std::string absorberName = depthName + "::Absorber";
   double absorberRinner1 = moduleRinner1-absorberPosY;
@@ -334,7 +334,7 @@ GeoVFullPhysVol* LArGeo::HECConstructionH62004::GetEnvelope()
   double depthPositionZ = 0.;
   for(int indexDepth=0; indexDepth<5; indexDepth++){
       depthPositionZ +=depthSize[indexDepth]/2.;
-      if (indexDepth==1) depthPositionZ +=0.001*GeoModelKernelUnits::cm;
+      if (indexDepth==1) depthPositionZ +=0.001*Gaudi::Units::cm;
       moduleRinner = moduleRinner2;
       if (indexDepth==0) moduleRinner = moduleRinner1; //for first depth
       //Absorber size and position
@@ -432,12 +432,12 @@ GeoVFullPhysVol* LArGeo::HECConstructionH62004::GetEnvelope()
   
   std::string tieRodName = sliceName + "::TieRod";
   double ztie[2];
-  ztie[0]=-0.227825*GeoModelKernelUnits::cm;
-  ztie[1]= 0.227825*GeoModelKernelUnits::cm;
-  double rodSize = 0.39435*GeoModelKernelUnits::cm;
+  ztie[0]=-0.227825*Gaudi::Units::cm;
+  ztie[1]= 0.227825*Gaudi::Units::cm;
+  double rodSize = 0.39435*Gaudi::Units::cm;
   for (int indexWheel=0; indexWheel<2; indexWheel++) { 
-     solidTieRod[indexWheel] = new GeoTubs(0.*GeoModelKernelUnits::cm,spacerDiameter[indexWheel]/2.,rodSize/2.,
-		                           0.*GeoModelKernelUnits::deg,360.*GeoModelKernelUnits::deg);         //size                 
+     solidTieRod[indexWheel] = new GeoTubs(0.*Gaudi::Units::cm,spacerDiameter[indexWheel]/2.,rodSize/2.,
+		                           0.*Gaudi::Units::deg,360.*Gaudi::Units::deg);         //size                 
      logiTieRod[indexWheel] = new GeoLogVol(tieRodName,solidTieRod[indexWheel], Iron);
   }
   for(int numberSlice=0; numberSlice<3; numberSlice++){
@@ -471,8 +471,8 @@ GeoVFullPhysVol* LArGeo::HECConstructionH62004::GetEnvelope()
 //    Tie rods in Absorbers
 //----------------------------------------------------------------
       
-  solidAbsorberTieRod[0] = new GeoTubs(0.*GeoModelKernelUnits::cm,tieRodDiameter[0]/2.,absorberZ1/2.,0.*GeoModelKernelUnits::deg,360.*GeoModelKernelUnits::deg);                 
-  solidAbsorberTieRod[1] = new GeoTubs(0.*GeoModelKernelUnits::cm,tieRodDiameter[1]/2.,absorberZ2/2.,0.*GeoModelKernelUnits::deg,360.*GeoModelKernelUnits::deg);                 
+  solidAbsorberTieRod[0] = new GeoTubs(0.*Gaudi::Units::cm,tieRodDiameter[0]/2.,absorberZ1/2.,0.*Gaudi::Units::deg,360.*Gaudi::Units::deg);                 
+  solidAbsorberTieRod[1] = new GeoTubs(0.*Gaudi::Units::cm,tieRodDiameter[1]/2.,absorberZ2/2.,0.*Gaudi::Units::deg,360.*Gaudi::Units::deg);                 
   logiAbsorberTieRod[0] = new GeoLogVol(tieRodName, solidAbsorberTieRod[0], Iron);
   logiAbsorberTieRod[1] = new GeoLogVol(tieRodName, solidAbsorberTieRod[1], Iron);
   for(int indexA=0; indexA<3; indexA++){  
diff --git a/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/LArDetectorFactoryH62004.cxx b/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/LArDetectorFactoryH62004.cxx
index 0fafefd9cfd0..739009b695bd 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/LArDetectorFactoryH62004.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/LArDetectorFactoryH62004.cxx
@@ -26,7 +26,6 @@
 #include "GeoModelKernel/GeoAlignableTransform.h"  
 #include "GeoModelKernel/GeoSerialTransformer.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
 #include "GeoGenericFunctions/AbsFunction.h"
 #include "GeoGenericFunctions/Variable.h"
 #include "GeoGenericFunctions/Sin.h"
@@ -44,6 +43,7 @@
 
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include "RDBAccessSvc/IRDBRecord.h"
 #include "RDBAccessSvc/IRDBRecordset.h"
@@ -117,8 +117,8 @@ void LArGeo::LArDetectorFactoryH62004::getSimulationParameters()
     m_tableYpos = 70.;
   }
 
-  std::cout << " Use cryo X : " <<  m_cryoXpos << " GeoModelKernelUnits::mm" << std::endl;
-  std::cout << " Use table Y : " <<  m_tableYpos << " GeoModelKernelUnits::mm" << std::endl;
+  std::cout << " Use cryo X : " <<  m_cryoXpos << " Gaudi::Units::mm" << std::endl;
+  std::cout << " Use table Y : " <<  m_tableYpos << " Gaudi::Units::mm" << std::endl;
   const_cast<LArGeoTB2004Options*>(largeoTB2004Options)->printMe();
 
 
@@ -156,9 +156,9 @@ void LArGeo::LArDetectorFactoryH62004::create(GeoPhysVol *world)
   
   const GeoMaterial *air        = materialManager->getMaterial("std::Air");
 
-  double expHallX = 14000.*GeoModelKernelUnits::mm;
-  double expHallY = 14000.*GeoModelKernelUnits::mm;
-  double expHallZ = 50000.*GeoModelKernelUnits::mm;
+  double expHallX = 14000.*Gaudi::Units::mm;
+  double expHallY = 14000.*Gaudi::Units::mm;
+  double expHallZ = 50000.*Gaudi::Units::mm;
 
   //-----------------------------------------------------------------------------------//  
   // Next make the box that describes the shape of the expHall volume:                 //  
@@ -183,13 +183,13 @@ void LArGeo::LArDetectorFactoryH62004::create(GeoPhysVol *world)
   // the element we want to position in the following order:
 
 
-  double Theta = -90. * GeoModelKernelUnits::deg;
-  double Phi   = 0.  * GeoModelKernelUnits::deg;
+  double Theta = -90. * Gaudi::Units::deg;
+  double Phi   = 0.  * Gaudi::Units::deg;
 
   GeoTrf::Transform3D Mrot = GeoTrf::RotateZ3D(Phi) * GeoTrf::RotateX3D(Theta);
-  GeoTrf::Translation3D pos3Vector(- m_cryoXpos*GeoModelKernelUnits::mm
-				   , 0.*GeoModelKernelUnits::mm
-				   , 12250.*GeoModelKernelUnits::mm );
+  GeoTrf::Translation3D pos3Vector(- m_cryoXpos*Gaudi::Units::mm
+				   , 0.*Gaudi::Units::mm
+				   , 12250.*Gaudi::Units::mm );
 
   H6CryostatConstruction  H6CryoCons;
   GeoVPhysVol* CryoEnvelope = 0;
@@ -207,8 +207,8 @@ void LArGeo::LArDetectorFactoryH62004::create(GeoPhysVol *world)
   // Add the front beam instrumentation:
   FrontBeamConstructionH62004 FrontBeamConstruction;
   // DB ?
-  const double bard_z = 100.0*GeoModelKernelUnits::cm;
-  const double z_bard=-2160.0*GeoModelKernelUnits::cm+80.1*GeoModelKernelUnits::cm+16.*GeoModelKernelUnits::cm+bard_z;
+  const double bard_z = 100.0*Gaudi::Units::cm;
+  const double z_bard=-2160.0*Gaudi::Units::cm+80.1*Gaudi::Units::cm+16.*Gaudi::Units::cm+bard_z;
   {                                             // (with 350=1/2 length of FrontBeam volume)
     GeoVPhysVol* front = 0;
     front = FrontBeamConstruction.GetEnvelope();
@@ -220,13 +220,13 @@ void LArGeo::LArDetectorFactoryH62004::create(GeoPhysVol *world)
   }
   // Add middle chambers
   MiddleBeamConstructionH62004 MiddleBeamConstruction;
-  const double z_bardm=-2160.0*GeoModelKernelUnits::cm+1362.3*GeoModelKernelUnits::cm;
-  const double bttb_pos = 833.5*GeoModelKernelUnits::cm;
+  const double z_bardm=-2160.0*Gaudi::Units::cm+1362.3*Gaudi::Units::cm;
+  const double bttb_pos = 833.5*Gaudi::Units::cm;
   {
      GeoVPhysVol* middle = 0;
      middle = MiddleBeamConstruction.GetEnvelope();
      if(middle != 0 && expHallPhys !=0){
-        double ym_pos = m_tableYpos  * (z_bardm + 2160*GeoModelKernelUnits::cm) * (1./(bttb_pos + 2160*GeoModelKernelUnits::cm));
+        double ym_pos = m_tableYpos  * (z_bardm + 2160*Gaudi::Units::cm) * (1./(bttb_pos + 2160*Gaudi::Units::cm));
 	expHallPhys->add( new GeoNameTag("H62004::Middle"));
 	expHallPhys->add( new GeoTransform( GeoTrf::TranslateY3D(ym_pos) * GeoTrf::TranslateZ3D(z_bardm) ) );
 	expHallPhys->add(middle);
@@ -246,17 +246,17 @@ void LArGeo::LArDetectorFactoryH62004::create(GeoPhysVol *world)
 
 
    // WarmTC after the cryostat
-   double WTC_tild = -1.1*GeoModelKernelUnits::deg;   // 24 GeoModelKernelUnits::mm tild on 1250 GeoModelKernelUnits::mm length !! should go to DB ?
-   double WTC_len = 591.5*GeoModelKernelUnits::mm;
-   double WTC_sci_z = 12.7*GeoModelKernelUnits::mm;
-   double Muon_dist = 120.0*GeoModelKernelUnits::mm;
-   double Muon_z = 1.0*GeoModelKernelUnits::cm;
-   double bcry_zpos = 1225.0*GeoModelKernelUnits::cm;
-   double bcry_rwarm = 129.55*GeoModelKernelUnits::cm;
-   double WTC_x = 0.0*GeoModelKernelUnits::mm;
-   double WTC_y = 0.0*GeoModelKernelUnits::mm;
-   double WTC_z = 460.0*GeoModelKernelUnits::mm - 120.*GeoModelKernelUnits::mm - 10.*GeoModelKernelUnits::mm;
-   double z_m = (86.0*GeoModelKernelUnits::mm + WTC_len + WTC_sci_z + Muon_dist + Muon_z) / 2;
+   double WTC_tild = -1.1*Gaudi::Units::deg;   // 24 Gaudi::Units::mm tild on 1250 Gaudi::Units::mm length !! should go to DB ?
+   double WTC_len = 591.5*Gaudi::Units::mm;
+   double WTC_sci_z = 12.7*Gaudi::Units::mm;
+   double Muon_dist = 120.0*Gaudi::Units::mm;
+   double Muon_z = 1.0*Gaudi::Units::cm;
+   double bcry_zpos = 1225.0*Gaudi::Units::cm;
+   double bcry_rwarm = 129.55*Gaudi::Units::cm;
+   double WTC_x = 0.0*Gaudi::Units::mm;
+   double WTC_y = 0.0*Gaudi::Units::mm;
+   double WTC_z = 460.0*Gaudi::Units::mm - 120.*Gaudi::Units::mm - 10.*Gaudi::Units::mm;
+   double z_m = (86.0*Gaudi::Units::mm + WTC_len + WTC_sci_z + Muon_dist + Muon_z) / 2;
 
    WarmTCConstructionH62004 wtcConstruction;
    {
diff --git a/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/MiddleBeamConstructionH62004.cxx b/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/MiddleBeamConstructionH62004.cxx
index 8101631899dd..c366cd57b988 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/MiddleBeamConstructionH62004.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/MiddleBeamConstructionH62004.cxx
@@ -24,7 +24,6 @@
 #include "GeoModelKernel/GeoIdentifierTag.h"  
 #include "GeoModelKernel/GeoSerialDenominator.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
 #include "StoreGate/StoreGateSvc.h"
 #include "GeoModelInterfaces/AbsMaterialManager.h"
 #include "GeoModelInterfaces/StoredMaterialManager.h"
@@ -41,6 +40,7 @@
 
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <string>
 #include <cmath>
@@ -114,13 +114,13 @@ GeoVPhysVol* LArGeo::MiddleBeamConstructionH62004::GetEnvelope()
   //
   // Define dimension of Middle part & position of Front part
   //
-  double bmtb_x = 12.0*GeoModelKernelUnits::cm;
-  double bmtb_y = 12.0*GeoModelKernelUnits::cm;
-  double bmtb_z = 25.0*GeoModelKernelUnits::cm;
-  //double bmtb_pos = 10.0*GeoModelKernelUnits::cm;
-  double bpco_pos[4] =  {1.*GeoModelKernelUnits::cm, 1.*GeoModelKernelUnits::cm, 15.3*GeoModelKernelUnits::cm, 15.3*GeoModelKernelUnits::cm};
-  double bpco_shift[4] =  {0.*GeoModelKernelUnits::cm, 7.8*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, 7.5*GeoModelKernelUnits::cm};
-  double bpc_old_z = (5.100/2)*GeoModelKernelUnits::cm;
+  double bmtb_x = 12.0*Gaudi::Units::cm;
+  double bmtb_y = 12.0*Gaudi::Units::cm;
+  double bmtb_z = 25.0*Gaudi::Units::cm;
+  //double bmtb_pos = 10.0*Gaudi::Units::cm;
+  double bpco_pos[4] =  {1.*Gaudi::Units::cm, 1.*Gaudi::Units::cm, 15.3*Gaudi::Units::cm, 15.3*Gaudi::Units::cm};
+  double bpco_shift[4] =  {0.*Gaudi::Units::cm, 7.8*Gaudi::Units::cm, 0.*Gaudi::Units::cm, 7.5*Gaudi::Units::cm};
+  double bpc_old_z = (5.100/2)*Gaudi::Units::cm;
 
   GeoBox* H62004MiddleBeamShape = new GeoBox( bmtb_x, bmtb_y, bmtb_z );   
   const GeoLogVol* H62004MiddleBeamLogical = new GeoLogVol( H62004MiddleBeamName, H62004MiddleBeamShape, Air );
@@ -137,11 +137,11 @@ GeoVPhysVol* LArGeo::MiddleBeamConstructionH62004::GetEnvelope()
      m_H62004MiddleBeamPhysical->add( new GeoIdentifierTag((3+i/2)*10+i) );
      switch(i) {
 	  case 0: case 2: {
-			     m_H62004MiddleBeamPhysical->add( new GeoTransform(GeoTrf::Translate3D( 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, bpco_pos[i]+bpco_shift[i]+bpc_old_z-bmtb_z) ) );
+			     m_H62004MiddleBeamPhysical->add( new GeoTransform(GeoTrf::Translate3D( 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm, bpco_pos[i]+bpco_shift[i]+bpc_old_z-bmtb_z) ) );
                             m_H62004MiddleBeamPhysical->add(BPCPhysical);
 			    break;}
 	  case 1: case 3: { 
-                            m_H62004MiddleBeamPhysical->add( new GeoTransform(GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg) *  GeoTrf::Translate3D( 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, bpco_pos[i]+bpco_shift[i]+bpc_old_z-bmtb_z) ) );
+                            m_H62004MiddleBeamPhysical->add( new GeoTransform(GeoTrf::RotateZ3D(90.*Gaudi::Units::deg) *  GeoTrf::Translate3D( 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm, bpco_pos[i]+bpco_shift[i]+bpc_old_z-bmtb_z) ) );
                             m_H62004MiddleBeamPhysical->add(BPCPhysical);
 			    break;}
     }
diff --git a/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/ModulesConstructionH62004.cxx b/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/ModulesConstructionH62004.cxx
index f2ffab36b2b3..e72da4124032 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/ModulesConstructionH62004.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/ModulesConstructionH62004.cxx
@@ -49,6 +49,7 @@
 
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include "RDBAccessSvc/IRDBAccessSvc.h"
 #include "RDBAccessSvc/IRDBRecord.h"
 #include "RDBAccessSvc/IRDBRecordset.h"
@@ -72,7 +73,7 @@ LArGeo::ModulesConstructionH62004::ModulesConstructionH62004():m_ModulesPhys(0),
 {
 // fill the static arrays, if called first time
 //
-  //const double thick = 1.*GeoModelKernelUnits::cm;
+  //const double thick = 1.*Gaudi::Units::cm;
   static bool first = true;
   if(first){
     first = false;
@@ -82,65 +83,65 @@ LArGeo::ModulesConstructionH62004::ModulesConstructionH62004():m_ModulesPhys(0),
        s_angleX[i] = s_angleY[i] = s_angleZ[i] = 0.;
     }
 
-    s_dX[0] = s_dX[1] = 1.*GeoModelKernelUnits::cm; s_dY[0]= s_dY[1] = 31.6*GeoModelKernelUnits::cm; s_dZ[0] = s_dZ[1] = 50.*GeoModelKernelUnits::cm; 
-    s_shiftX[0] = -26.*GeoModelKernelUnits::cm; s_shiftX[1] = -s_shiftX[0];
-    s_shiftY[0] = s_shiftY[1] = 85.1*GeoModelKernelUnits::cm; s_shiftZ[0] = s_shiftZ[1] = -3.*GeoModelKernelUnits::cm;
-    s_angleX[0] = s_angleX[1] = 4.668*GeoModelKernelUnits::deg; s_angleZ[0] = s_angleZ[1] = 0.*GeoModelKernelUnits::deg;
-    s_angleY[0] = -30.*GeoModelKernelUnits::deg; s_angleY[1] = -s_angleY[0]; 
-    s_dX[2] = 98.1*GeoModelKernelUnits::cm; s_dY[2] = 98.2*GeoModelKernelUnits::cm; s_dZ[2] = 30.6*GeoModelKernelUnits::cm;
-    s_shiftX[2] = 0.*GeoModelKernelUnits::cm; s_shiftY[2] = 89.7*GeoModelKernelUnits::cm; s_shiftZ[2] = -42.*GeoModelKernelUnits::cm;
-    s_angleX[2] = 94.668*GeoModelKernelUnits::deg; s_angleY[2] = 0.; s_angleZ[2] = 90.*GeoModelKernelUnits::degree;
+    s_dX[0] = s_dX[1] = 1.*Gaudi::Units::cm; s_dY[0]= s_dY[1] = 31.6*Gaudi::Units::cm; s_dZ[0] = s_dZ[1] = 50.*Gaudi::Units::cm; 
+    s_shiftX[0] = -26.*Gaudi::Units::cm; s_shiftX[1] = -s_shiftX[0];
+    s_shiftY[0] = s_shiftY[1] = 85.1*Gaudi::Units::cm; s_shiftZ[0] = s_shiftZ[1] = -3.*Gaudi::Units::cm;
+    s_angleX[0] = s_angleX[1] = 4.668*Gaudi::Units::deg; s_angleZ[0] = s_angleZ[1] = 0.*Gaudi::Units::deg;
+    s_angleY[0] = -30.*Gaudi::Units::deg; s_angleY[1] = -s_angleY[0]; 
+    s_dX[2] = 98.1*Gaudi::Units::cm; s_dY[2] = 98.2*Gaudi::Units::cm; s_dZ[2] = 30.6*Gaudi::Units::cm;
+    s_shiftX[2] = 0.*Gaudi::Units::cm; s_shiftY[2] = 89.7*Gaudi::Units::cm; s_shiftZ[2] = -42.*Gaudi::Units::cm;
+    s_angleX[2] = 94.668*Gaudi::Units::deg; s_angleY[2] = 0.; s_angleZ[2] = 90.*Gaudi::Units::degree;
     
     
-    s_dX[3] = 1.*GeoModelKernelUnits::cm; s_dY[3] = 43.*GeoModelKernelUnits::cm; s_dZ[3] = 40.*GeoModelKernelUnits::cm;
+    s_dX[3] = 1.*Gaudi::Units::cm; s_dY[3] = 43.*Gaudi::Units::cm; s_dZ[3] = 40.*Gaudi::Units::cm;
     s_dX[4] = s_dX[3]; s_dY[4] = s_dY[3]; s_dZ[4] = s_dZ[3];
-    s_shiftX[3] = -58.5*GeoModelKernelUnits::cm; s_shiftY[3] = 12.2*GeoModelKernelUnits::cm; s_shiftZ[3] = 5.*GeoModelKernelUnits::cm;
+    s_shiftX[3] = -58.5*Gaudi::Units::cm; s_shiftY[3] = 12.2*Gaudi::Units::cm; s_shiftZ[3] = 5.*Gaudi::Units::cm;
     s_shiftX[4] = -s_shiftX[3]; s_shiftY[4] = s_shiftY[3]; s_shiftZ[4] = s_shiftZ[3];
-    s_angleX[3] = s_angleX[4] = 4.668*GeoModelKernelUnits::deg; s_angleY[3] = -45.*GeoModelKernelUnits::deg; 
+    s_angleX[3] = s_angleX[4] = 4.668*Gaudi::Units::deg; s_angleY[3] = -45.*Gaudi::Units::deg; 
     s_angleY[4] = -s_angleY[3]; 
-    s_angleZ[3] = 0.*GeoModelKernelUnits::deg; 
+    s_angleZ[3] = 0.*Gaudi::Units::deg; 
     s_angleZ[4] = -s_angleZ[3];
-    s_dX[5] = 130.*GeoModelKernelUnits::cm; s_dY[5] = 131.*GeoModelKernelUnits::cm; s_dZ[5] = 43.*GeoModelKernelUnits::cm; 
-    s_shiftX[5] = 0.*GeoModelKernelUnits::cm; s_shiftY[5] = 18.1*GeoModelKernelUnits::cm; s_shiftZ[5] = -62.*GeoModelKernelUnits::cm;
-    s_angleX[5] = 94.668*GeoModelKernelUnits::deg; s_angleY[5] = 0.*GeoModelKernelUnits::deg;
-    s_angleZ[5] = 90.*GeoModelKernelUnits::deg;
+    s_dX[5] = 130.*Gaudi::Units::cm; s_dY[5] = 131.*Gaudi::Units::cm; s_dZ[5] = 43.*Gaudi::Units::cm; 
+    s_shiftX[5] = 0.*Gaudi::Units::cm; s_shiftY[5] = 18.1*Gaudi::Units::cm; s_shiftZ[5] = -62.*Gaudi::Units::cm;
+    s_angleX[5] = 94.668*Gaudi::Units::deg; s_angleY[5] = 0.*Gaudi::Units::deg;
+    s_angleZ[5] = 90.*Gaudi::Units::deg;
 
-    s_dX[6] = s_dX[7] = 1.*GeoModelKernelUnits::cm; s_dY[6] = s_dY[7] = 27.*GeoModelKernelUnits::cm; s_dZ[6] = s_dZ[7] = 40.*GeoModelKernelUnits::cm; 
-    s_shiftX[6] = -58.*GeoModelKernelUnits::cm; s_shiftY[6] = s_shiftY[7] = -57.85*GeoModelKernelUnits::cm; s_shiftZ[6] = s_shiftZ[7] = -1.*GeoModelKernelUnits::cm;
+    s_dX[6] = s_dX[7] = 1.*Gaudi::Units::cm; s_dY[6] = s_dY[7] = 27.*Gaudi::Units::cm; s_dZ[6] = s_dZ[7] = 40.*Gaudi::Units::cm; 
+    s_shiftX[6] = -58.*Gaudi::Units::cm; s_shiftY[6] = s_shiftY[7] = -57.85*Gaudi::Units::cm; s_shiftZ[6] = s_shiftZ[7] = -1.*Gaudi::Units::cm;
     s_shiftX[7] = - s_shiftX[6]; 
-    s_angleX[6] = s_angleX[7] = 4.668*GeoModelKernelUnits::deg; s_angleY[6] = -45.*GeoModelKernelUnits::deg; s_angleZ[6] = s_angleZ[7] = 0.*GeoModelKernelUnits::deg;
+    s_angleX[6] = s_angleX[7] = 4.668*Gaudi::Units::deg; s_angleY[6] = -45.*Gaudi::Units::deg; s_angleZ[6] = s_angleZ[7] = 0.*Gaudi::Units::deg;
     s_angleY[7] = -s_angleY[6];
-    s_dX[8] = 130.*GeoModelKernelUnits::cm; s_dY[8] = 131.*GeoModelKernelUnits::cm; s_dZ[8] = 27.*GeoModelKernelUnits::cm;
-    s_shiftX[8] = 0.*GeoModelKernelUnits::cm; s_shiftY[8] = -51.9*GeoModelKernelUnits::cm; s_shiftZ[8] = -67.*GeoModelKernelUnits::cm;
-    s_angleX[8] = 94.668*GeoModelKernelUnits::degree; s_angleY[8] = 0.*GeoModelKernelUnits::degree; s_angleZ[8] = 90.*GeoModelKernelUnits::degree;
-    s_dX[9] = 1.*GeoModelKernelUnits::cm; s_dY[9] = 82.*GeoModelKernelUnits::cm; s_dZ[9] = 44.5*GeoModelKernelUnits::cm;
-    s_shiftX[9] = 0.*GeoModelKernelUnits::cm; s_shiftY[9] = -89.0*GeoModelKernelUnits::cm; s_shiftZ[9] = 32.5*GeoModelKernelUnits::cm;
-    s_angleX[9] = 4.668*GeoModelKernelUnits::degree; s_angleY[9] = 0.*GeoModelKernelUnits::degree; s_angleZ[9] = 90.*GeoModelKernelUnits::degree;    
+    s_dX[8] = 130.*Gaudi::Units::cm; s_dY[8] = 131.*Gaudi::Units::cm; s_dZ[8] = 27.*Gaudi::Units::cm;
+    s_shiftX[8] = 0.*Gaudi::Units::cm; s_shiftY[8] = -51.9*Gaudi::Units::cm; s_shiftZ[8] = -67.*Gaudi::Units::cm;
+    s_angleX[8] = 94.668*Gaudi::Units::degree; s_angleY[8] = 0.*Gaudi::Units::degree; s_angleZ[8] = 90.*Gaudi::Units::degree;
+    s_dX[9] = 1.*Gaudi::Units::cm; s_dY[9] = 82.*Gaudi::Units::cm; s_dZ[9] = 44.5*Gaudi::Units::cm;
+    s_shiftX[9] = 0.*Gaudi::Units::cm; s_shiftY[9] = -89.0*Gaudi::Units::cm; s_shiftZ[9] = 32.5*Gaudi::Units::cm;
+    s_angleX[9] = 4.668*Gaudi::Units::degree; s_angleY[9] = 0.*Gaudi::Units::degree; s_angleZ[9] = 90.*Gaudi::Units::degree;    
     
-    s_dX[10] = s_dX[11] =  1.*GeoModelKernelUnits::cm; s_dY[10] = s_dY[11] = 41.5*GeoModelKernelUnits::cm; s_dZ[10] = s_dZ[11] = 20.3*GeoModelKernelUnits::cm;
-    s_shiftX[10] = -15.4*GeoModelKernelUnits::cm; s_shiftY[10] = s_shiftY[11] = 14.50*GeoModelKernelUnits::cm; s_shiftZ[10] = s_shiftZ[11] = -39.*GeoModelKernelUnits::cm;
+    s_dX[10] = s_dX[11] =  1.*Gaudi::Units::cm; s_dY[10] = s_dY[11] = 41.5*Gaudi::Units::cm; s_dZ[10] = s_dZ[11] = 20.3*Gaudi::Units::cm;
+    s_shiftX[10] = -15.4*Gaudi::Units::cm; s_shiftY[10] = s_shiftY[11] = 14.50*Gaudi::Units::cm; s_shiftZ[10] = s_shiftZ[11] = -39.*Gaudi::Units::cm;
     s_shiftX[11] = - s_shiftX[10];
-    s_angleX[10] = s_angleX[11] = 4.668*GeoModelKernelUnits::degree; s_angleY[10] = -45.*GeoModelKernelUnits::degree; s_angleZ[10] = 0.*GeoModelKernelUnits::degree;    
+    s_angleX[10] = s_angleX[11] = 4.668*Gaudi::Units::degree; s_angleY[10] = -45.*Gaudi::Units::degree; s_angleZ[10] = 0.*Gaudi::Units::degree;    
     s_angleY[11] = -s_angleY[10]; s_angleZ[11] = -s_angleZ[10];    
   
-    s_dX[12] = s_dX[13] = 1.*GeoModelKernelUnits::cm; s_dY[12] = s_dY[13] = 27.*GeoModelKernelUnits::cm; s_dZ[12] = s_dZ[13] = 20.3*GeoModelKernelUnits::cm;
-    s_shiftX[12] = -15.4*GeoModelKernelUnits::cm; s_shiftY[12] = s_shiftY[13] = -54.4*GeoModelKernelUnits::cm; s_shiftZ[12] = s_shiftZ[13] = -43.8*GeoModelKernelUnits::cm;
+    s_dX[12] = s_dX[13] = 1.*Gaudi::Units::cm; s_dY[12] = s_dY[13] = 27.*Gaudi::Units::cm; s_dZ[12] = s_dZ[13] = 20.3*Gaudi::Units::cm;
+    s_shiftX[12] = -15.4*Gaudi::Units::cm; s_shiftY[12] = s_shiftY[13] = -54.4*Gaudi::Units::cm; s_shiftZ[12] = s_shiftZ[13] = -43.8*Gaudi::Units::cm;
     s_shiftX[13] = -s_shiftX[12];
-    s_angleX[12]  = s_angleX[13] = 4.668*GeoModelKernelUnits::degree; s_angleY[12] = -45.*GeoModelKernelUnits::degree; s_angleZ[12] = 0.*GeoModelKernelUnits::degree;
+    s_angleX[12]  = s_angleX[13] = 4.668*Gaudi::Units::degree; s_angleY[12] = -45.*Gaudi::Units::degree; s_angleZ[12] = 0.*Gaudi::Units::degree;
     s_angleY[13] = -s_angleY[12]; s_angleZ[13] = -s_angleZ[12];
       
-    s_dX[14] = s_dX[15] = 1.*GeoModelKernelUnits::cm; s_dY[14] = s_dY[15] = 12.*GeoModelKernelUnits::cm; s_dZ[14] = s_dZ[15] = 25.3*GeoModelKernelUnits::cm;
-    s_shiftX[14] = -19.5*GeoModelKernelUnits::cm; s_shiftY[14] = s_shiftY[15] = -93.5*GeoModelKernelUnits::cm; s_shiftZ[14] = s_shiftZ[15] = -46.5*GeoModelKernelUnits::cm;
+    s_dX[14] = s_dX[15] = 1.*Gaudi::Units::cm; s_dY[14] = s_dY[15] = 12.*Gaudi::Units::cm; s_dZ[14] = s_dZ[15] = 25.3*Gaudi::Units::cm;
+    s_shiftX[14] = -19.5*Gaudi::Units::cm; s_shiftY[14] = s_shiftY[15] = -93.5*Gaudi::Units::cm; s_shiftZ[14] = s_shiftZ[15] = -46.5*Gaudi::Units::cm;
     s_shiftX[15] = -s_shiftX[14];
-    s_angleX[14] = s_angleX[15] = 4.668*GeoModelKernelUnits::degree; s_angleY[14] = -45.*GeoModelKernelUnits::degree; s_angleZ[14] = s_angleZ[15] = 0.*GeoModelKernelUnits::degree;
+    s_angleX[14] = s_angleX[15] = 4.668*Gaudi::Units::degree; s_angleY[14] = -45.*Gaudi::Units::degree; s_angleZ[14] = s_angleZ[15] = 0.*Gaudi::Units::degree;
     s_angleY[15] = -s_angleY[14]; 
     
-    s_dX[16] = 59.5*GeoModelKernelUnits::cm; s_dY[16] = 60.0*GeoModelKernelUnits::cm; s_dZ[16] = 12.0*GeoModelKernelUnits::cm;
-    s_shiftX[16] = 0.*GeoModelKernelUnits::cm; s_shiftY[16] = -91.5*GeoModelKernelUnits::cm; s_shiftZ[16] = -73.5*GeoModelKernelUnits::cm;
-    s_angleX[16] = 94.668*GeoModelKernelUnits::degree; s_angleY[16] = 0.*GeoModelKernelUnits::degree; s_angleZ[16] = 90.*GeoModelKernelUnits::degree;
-    s_dX[17] = 0.3*GeoModelKernelUnits::cm; s_dY[17] = 35.*GeoModelKernelUnits::cm; s_dZ[17] = 25.*GeoModelKernelUnits::cm;
-    s_shiftX[17] = 0.*GeoModelKernelUnits::cm; s_shiftY[17] = -107.0*GeoModelKernelUnits::cm; s_shiftZ[17] = -40.*GeoModelKernelUnits::cm;
-    s_angleX[17] = 4.668*GeoModelKernelUnits::degree; s_angleY[17] = 0.*GeoModelKernelUnits::degree; s_angleZ[17] = 90.*GeoModelKernelUnits::degree;
+    s_dX[16] = 59.5*Gaudi::Units::cm; s_dY[16] = 60.0*Gaudi::Units::cm; s_dZ[16] = 12.0*Gaudi::Units::cm;
+    s_shiftX[16] = 0.*Gaudi::Units::cm; s_shiftY[16] = -91.5*Gaudi::Units::cm; s_shiftZ[16] = -73.5*Gaudi::Units::cm;
+    s_angleX[16] = 94.668*Gaudi::Units::degree; s_angleY[16] = 0.*Gaudi::Units::degree; s_angleZ[16] = 90.*Gaudi::Units::degree;
+    s_dX[17] = 0.3*Gaudi::Units::cm; s_dY[17] = 35.*Gaudi::Units::cm; s_dZ[17] = 25.*Gaudi::Units::cm;
+    s_shiftX[17] = 0.*Gaudi::Units::cm; s_shiftY[17] = -107.0*Gaudi::Units::cm; s_shiftZ[17] = -40.*Gaudi::Units::cm;
+    s_angleX[17] = 4.668*Gaudi::Units::degree; s_angleY[17] = 0.*Gaudi::Units::degree; s_angleZ[17] = 90.*Gaudi::Units::degree;
      
   }
   //StoreGateSvc* detStore;
@@ -195,7 +196,7 @@ GeoVFullPhysVol* LArGeo::ModulesConstructionH62004::GetEnvelope()
   const GeoElement*  H=materialManager->getElement("Hydrogen");
   const GeoElement*  O=materialManager->getElement("Oxygen");
   const GeoElement*  N=materialManager->getElement("Nitrogen");
-  GeoMaterial* Rohacell = new GeoMaterial(name="Rohacell", density=0.112*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3);
+  GeoMaterial* Rohacell = new GeoMaterial(name="Rohacell", density=0.112*GeoModelKernelUnits::g/Gaudi::Units::cm3);
   Rohacell->add(C,0.6465);
   Rohacell->add(H,0.07836);
   Rohacell->add(O,0.19137);
@@ -203,7 +204,7 @@ GeoVFullPhysVol* LArGeo::ModulesConstructionH62004::GetEnvelope()
   Rohacell->lock();
 
   /*
-  a = 12.957*GeoModelKernelUnits::g/GeoModelKernelUnits::mole;                                                       
+  a = 12.957*GeoModelKernelUnits::g/Gaudi::Units::mole;                                                       
   density = 0.112*g/cm3;                                              
   z = 6.18;
   G4Material* Rohacell = new G4Material(name="Rohacell",z, a, density);
@@ -213,35 +214,35 @@ GeoVFullPhysVol* LArGeo::ModulesConstructionH62004::GetEnvelope()
   if (!Alu) throw std::runtime_error("Error in ModulesConstruction, std::Aluminium is not found.");
 
   // DB numbers:
-  double bryr_y = 200.0*GeoModelKernelUnits::cm;
-  double bcry_rlar = 125.5*GeoModelKernelUnits::cm;
-  double bcry_phistart = 0.*GeoModelKernelUnits::degree;
-  double bcry_phiend = 360.*GeoModelKernelUnits::degree;
-  //double EMECdzende         =  63.2*GeoModelKernelUnits::cm;   // Can not get from parameters
+  double bryr_y = 200.0*Gaudi::Units::cm;
+  double bcry_rlar = 125.5*Gaudi::Units::cm;
+  double bcry_phistart = 0.*Gaudi::Units::degree;
+  double bcry_phiend = 360.*Gaudi::Units::degree;
+  //double EMECdzende         =  63.2*Gaudi::Units::cm;   // Can not get from parameters
   //double Zall = 62.6*cm; // Excluder dimension
 
-  double   bepo_tx = 180.0*GeoModelKernelUnits::degree;
-  double   bepo_tz = 90.0*GeoModelKernelUnits::degree;
-  double   bepo_tz_e = ( M_PI / 4 )*GeoModelKernelUnits::rad;
-  double   bepo_ty = 90.0*GeoModelKernelUnits::degree;
-  double   bepo_Beta = 4.668*GeoModelKernelUnits::degree;
-  double   bepo_z_e = -42.86*GeoModelKernelUnits::cm; // 43 GeoModelKernelUnits::cm * cos(4.668)
-  double   bepo_emec_shift = 2.5*GeoModelKernelUnits::cm;
-  double   bepo_excluder_shift = 34.4*GeoModelKernelUnits::cm;
-  //double   bepo_hec_shift = 63.6*GeoModelKernelUnits::cm; // relative position of HEC versus EMEC
+  double   bepo_tx = 180.0*Gaudi::Units::degree;
+  double   bepo_tz = 90.0*Gaudi::Units::degree;
+  double   bepo_tz_e = ( M_PI / 4 )*Gaudi::Units::rad;
+  double   bepo_ty = 90.0*Gaudi::Units::degree;
+  double   bepo_Beta = 4.668*Gaudi::Units::degree;
+  double   bepo_z_e = -42.86*Gaudi::Units::cm; // 43 Gaudi::Units::cm * cos(4.668)
+  double   bepo_emec_shift = 2.5*Gaudi::Units::cm;
+  double   bepo_excluder_shift = 34.4*Gaudi::Units::cm;
+  //double   bepo_hec_shift = 63.6*Gaudi::Units::cm; // relative position of HEC versus EMEC
   //double   bepo_y_a = bcry_rlar-bepo_emec_shift-bepo_hec_shift;
   double   bepo_y_ex = bcry_rlar-bepo_excluder_shift;
-  double   bepo_y_hecshift = 6.*GeoModelKernelUnits::mm;
-  double   bepo_y_emecshift = 11.*GeoModelKernelUnits::mm;
-  double   bepo_x = -2.75*GeoModelKernelUnits::mm;
-  double   bepo_x_e = -17.*GeoModelKernelUnits::mm;
-//  double   bepo_x = 13.25*GeoModelKernelUnits::mm;
-//  double   bepo_x_e = -3.*GeoModelKernelUnits::mm;
-//  double   bepo_x = 17.25*GeoModelKernelUnits::mm;
-//  double   bepo_x_e = -3.*GeoModelKernelUnits::mm;
-  //double   bepo_z = -48.24*GeoModelKernelUnits::cm; // 48.4 GeoModelKernelUnits::cm * cos(4.668)
+  double   bepo_y_hecshift = 6.*Gaudi::Units::mm;
+  double   bepo_y_emecshift = 11.*Gaudi::Units::mm;
+  double   bepo_x = -2.75*Gaudi::Units::mm;
+  double   bepo_x_e = -17.*Gaudi::Units::mm;
+//  double   bepo_x = 13.25*Gaudi::Units::mm;
+//  double   bepo_x_e = -3.*Gaudi::Units::mm;
+//  double   bepo_x = 17.25*Gaudi::Units::mm;
+//  double   bepo_x_e = -3.*Gaudi::Units::mm;
+  //double   bepo_z = -48.24*Gaudi::Units::cm; // 48.4 Gaudi::Units::cm * cos(4.668)
   double   bepo_y_e = bcry_rlar-bepo_emec_shift;
-  double   bepo_pz = 45.0*GeoModelKernelUnits::degree;
+  double   bepo_pz = 45.0*Gaudi::Units::degree;
 
   std::string baseName = "LArGeoTB::LeakageDet::";
 
@@ -249,9 +250,9 @@ GeoVFullPhysVol* LArGeo::ModulesConstructionH62004::GetEnvelope()
   if(m_Options && m_Options->isRun1()) {
      ylen = bryr_y;
   } else {
-     ylen = bryr_y - 200.*GeoModelKernelUnits::mm;
+     ylen = bryr_y - 200.*Gaudi::Units::mm;
   }
-  GeoTubs *shapeMother = new GeoTubs( 0.0*GeoModelKernelUnits::cm, bcry_rlar, ylen, bcry_phistart,bcry_phiend);
+  GeoTubs *shapeMother = new GeoTubs( 0.0*Gaudi::Units::cm, bcry_rlar, ylen, bcry_phistart,bcry_phiend);
   GeoLogVol *logMother = new GeoLogVol(baseName + "LAr", shapeMother, LAr);
 
   m_ModulesPhys = new GeoFullPhysVol(logMother);
@@ -294,7 +295,7 @@ GeoVFullPhysVol* LArGeo::ModulesConstructionH62004::GetEnvelope()
     /*if(excluderEnvelope != 0)*/{
       GeoTrf::Transform3D rot2 = GeoTrf::RotateX3D(bepo_Beta) * GeoTrf::RotateX3D(bepo_ty) * GeoTrf::RotateZ3D(bepo_tz);
       m_ModulesPhys->add(new GeoSerialIdentifier(0));
-      m_ModulesPhys->add(new GeoTransform(GeoTrf::Translation3D(0.,bepo_y_ex,bepo_z_e+42.*GeoModelKernelUnits::mm) * rot2));
+      m_ModulesPhys->add(new GeoTransform(GeoTrf::Translation3D(0.,bepo_y_ex,bepo_z_e+42.*Gaudi::Units::mm) * rot2));
       m_ModulesPhys->add(excluderEnvelope);
     }
   }
@@ -310,8 +311,8 @@ GeoVFullPhysVol* LArGeo::ModulesConstructionH62004::GetEnvelope()
     if(fcexcluderEnvelope != 0){
       GeoTrf::Transform3D rot2 = GeoTrf::RotateX3D(0.8*bepo_Beta) * GeoTrf::RotateX3D(-bepo_ty) * GeoTrf::RotateZ3D(bepo_tx);
       m_ModulesPhys->add(new GeoSerialIdentifier(0));
-//      m_ModulesPhys->add(new GeoTransform(GeoTrf::Transform3D(rot2,GeoTrf::Vector3D(0.,bepo_y_ex-138.*GeoModelKernelUnits::mm,-477.3*GeoModelKernelUnits::mm))));
-      m_ModulesPhys->add(new GeoTransform(GeoTrf::Translation3D(0.,bepo_y_ex-146.*GeoModelKernelUnits::mm,-412.0*GeoModelKernelUnits::mm) * rot2));
+//      m_ModulesPhys->add(new GeoTransform(GeoTrf::Transform3D(rot2,GeoTrf::Vector3D(0.,bepo_y_ex-138.*Gaudi::Units::mm,-477.3*Gaudi::Units::mm))));
+      m_ModulesPhys->add(new GeoTransform(GeoTrf::Translation3D(0.,bepo_y_ex-146.*Gaudi::Units::mm,-412.0*Gaudi::Units::mm) * rot2));
       m_ModulesPhys->add(fcexcluderEnvelope);
     }
   }
@@ -324,14 +325,14 @@ GeoVFullPhysVol* LArGeo::ModulesConstructionH62004::GetEnvelope()
   /*if(frontexcluder != 0)*/{
     GeoVFullPhysVol* frontexcluderEnvelope = frontexcluder.GetEnvelope();
     if(frontexcluderEnvelope != 0){
-      GeoTrf::RotateZ3D rot2((90.)*GeoModelKernelUnits::degree);
+      GeoTrf::RotateZ3D rot2((90.)*Gaudi::Units::degree);
       m_ModulesPhys->add(new GeoSerialIdentifier(0));
-      m_ModulesPhys->add(new GeoTransform(GeoTrf::Translation3D(0.,0.,20.*GeoModelKernelUnits::mm) * rot2));
+      m_ModulesPhys->add(new GeoTransform(GeoTrf::Translation3D(0.,0.,20.*Gaudi::Units::mm) * rot2));
       m_ModulesPhys->add(frontexcluderEnvelope);
       /*
       G4VPhysicalVolume* frontexcluderPhysical =
-//	    new G4PVPlacement(GeoTrf::Transform3D(rot2,GeoTrf::Vector3D(0.,0.,220.*GeoModelKernelUnits::mm)), // Translation 
-	    new G4PVPlacement(GeoTrf::Transform3D(rot2,GeoTrf::Vector3D(0.,0.,20.*GeoModelKernelUnits::mm)), // Translation 
+//	    new G4PVPlacement(GeoTrf::Transform3D(rot2,GeoTrf::Vector3D(0.,0.,220.*Gaudi::Units::mm)), // Translation 
+	    new G4PVPlacement(GeoTrf::Transform3D(rot2,GeoTrf::Vector3D(0.,0.,20.*Gaudi::Units::mm)), // Translation 
 			      frontexcluderEnvelope,                     // Logical volume
 			      frontexcluderEnvelope->GetName(),          // Name 
 			      logMother,                        // Mother volume 
@@ -349,13 +350,13 @@ GeoVFullPhysVol* LArGeo::ModulesConstructionH62004::GetEnvelope()
   /*if(backexcluder != 0)*/{
     GeoVFullPhysVol* backexcluderEnvelope = backexcluder.GetEnvelope();
     if(backexcluderEnvelope != 0){
-      GeoTrf::RotateZ3D rot2((-90.-29.)*GeoModelKernelUnits::degree);
+      GeoTrf::RotateZ3D rot2((-90.-29.)*Gaudi::Units::degree);
       m_ModulesPhys->add(new GeoSerialIdentifier(0));
-      m_ModulesPhys->add(new GeoTransform(GeoTrf::Translation3D(0.,0.,0.*GeoModelKernelUnits::mm) * rot2));
+      m_ModulesPhys->add(new GeoTransform(GeoTrf::Translation3D(0.,0.,0.*Gaudi::Units::mm) * rot2));
       m_ModulesPhys->add(backexcluderEnvelope);
       /*
       G4VPhysicalVolume* backexcluderPhysical =
-	    new G4PVPlacement(GeoTrf::Transform3D(rot2,GeoTrf::Vector3D(0.,0.,0.*GeoModelKernelUnits::mm)), // Translation 
+	    new G4PVPlacement(GeoTrf::Transform3D(rot2,GeoTrf::Vector3D(0.,0.,0.*Gaudi::Units::mm)), // Translation 
 			      backexcluderEnvelope,                     // Logical volume
 			      backexcluderEnvelope->GetName(),          // Name 
 			      logMother,                        // Mother volume 
@@ -373,27 +374,27 @@ GeoVFullPhysVol* LArGeo::ModulesConstructionH62004::GetEnvelope()
 
   // Transformation for assembly - should be putted to each piece now.
   GeoTrf::Transform3D rota = GeoTrf::RotateX3D(bepo_Beta) * GeoTrf::RotateX3D(bepo_ty) * GeoTrf::RotateZ3D(-bepo_pz);
-  GeoTrf::Transform3D trans = GeoTrf::Translation3D(0.,bepo_y_e,bepo_z_e+65.*GeoModelKernelUnits::mm) * rota;
+  GeoTrf::Transform3D trans = GeoTrf::Translation3D(0.,bepo_y_e,bepo_z_e+65.*Gaudi::Units::mm) * rota;
   
 //positions emec
 
   // Z-positions DB values !!!!
 
-  double HECzStart         =  427.7*GeoModelKernelUnits::cm;
-  double EMECzStart         = 364.1*GeoModelKernelUnits::cm;
-  double FCALzStart         =  466.85*GeoModelKernelUnits::cm;
-  double FCALzEnd           =  588.28*GeoModelKernelUnits::cm;
+  double HECzStart         =  427.7*Gaudi::Units::cm;
+  double EMECzStart         = 364.1*Gaudi::Units::cm;
+  double FCALzStart         =  466.85*Gaudi::Units::cm;
+  double FCALzEnd           =  588.28*Gaudi::Units::cm;
 
   if((!m_Options) || m_Options->isEmec()){
     GeoTrf::RotateZ3D MrotEmec(bepo_tz_e);
      // original value:
-//     GeoTrf::Vector3D pos3Emec(    0*GeoModelKernelUnits::mm,   9.0*GeoModelKernelUnits::mm ,   55.9*GeoModelKernelUnits::mm);
-//     GeoTrf::Vector3D pos3Emec(    3.636*GeoModelKernelUnits::mm,   9.0*GeoModelKernelUnits::mm ,   55.9*GeoModelKernelUnits::mm);
-//     GeoTrf::Vector3D pos3Emec(    bepo_x_e,   9.*GeoModelKernelUnits::mm ,   61.*GeoModelKernelUnits::mm);
+//     GeoTrf::Vector3D pos3Emec(    0*Gaudi::Units::mm,   9.0*Gaudi::Units::mm ,   55.9*Gaudi::Units::mm);
+//     GeoTrf::Vector3D pos3Emec(    3.636*Gaudi::Units::mm,   9.0*Gaudi::Units::mm ,   55.9*Gaudi::Units::mm);
+//     GeoTrf::Vector3D pos3Emec(    bepo_x_e,   9.*Gaudi::Units::mm ,   61.*Gaudi::Units::mm);
     GeoTrf::Translation3D pos3Emec((bepo_x_e - bepo_y_emecshift )/2./sin(bepo_tz_e)
 				   , (bepo_x_e + bepo_y_emecshift )/2./sin(bepo_tz_e)
-				   , 61.*GeoModelKernelUnits::mm);
-//     GeoTrf::Vector3D pos3Emec(    0.*GeoModelKernelUnits::mm, bepo_x_e,   61.*GeoModelKernelUnits::mm);
+				   , 61.*Gaudi::Units::mm);
+//     GeoTrf::Vector3D pos3Emec(    0.*Gaudi::Units::mm, bepo_x_e,   61.*Gaudi::Units::mm);
 
 //     std::cout<<"ModulesConstructionH62004 calling EMECModuleConstruction....."<<std::endl;
   //use this line for physical construction of the EMEC inner wheel only:
@@ -421,12 +422,12 @@ GeoVFullPhysVol* LArGeo::ModulesConstructionH62004::GetEnvelope()
 //        rot.rotateX(bepo_Beta);
   
 //        GeoTrf::Transform3D hpos = GeoTrf::Transform3D(rot,GeoTrf::Vector3D(bepo_x,bepo_y_a,bepo_z));
-//        GeoTrf::Vector3D hecshift(0.,6.*GeoModelKernelUnits::mm,HECzStart-EMECzStart);
+//        GeoTrf::Vector3D hecshift(0.,6.*Gaudi::Units::mm,HECzStart-EMECzStart);
 //          GeoTrf::Vector3D hecshift((bepo_x - bepo_y_hecshift)/2./sin(bepo_tz_e), (bepo_x + bepo_y_hecshift)/2./sin(bepo_tz_e), HECzStart-EMECzStart);
-//        GeoTrf::Vector3D hecshift(-21.*GeoModelKernelUnits::mm, bepo_x, HECzStart-EMECzStart);
-//        GeoTrf::Vector3D hecshift(-5.*GeoModelKernelUnits::mm, bepo_x, HECzStart-EMECzStart);
-//        GeoTrf::Vector3D hecshift(0.*GeoModelKernelUnits::mm, bepo_x, HECzStart-EMECzStart);
-//       GeoModelKernelUnits::HepRotation norot;
+//        GeoTrf::Vector3D hecshift(-21.*Gaudi::Units::mm, bepo_x, HECzStart-EMECzStart);
+//        GeoTrf::Vector3D hecshift(-5.*Gaudi::Units::mm, bepo_x, HECzStart-EMECzStart);
+//        GeoTrf::Vector3D hecshift(0.*Gaudi::Units::mm, bepo_x, HECzStart-EMECzStart);
+//       Gaudi::Units::HepRotation norot;
         m_ModulesPhys->add(new GeoTransform(trans));
         m_ModulesPhys->add( new GeoTransform(GeoTrf::Translate3D((bepo_x - bepo_y_hecshift)/2./sin(bepo_tz_e)
 								 , (bepo_x + bepo_y_hecshift)/2./sin(bepo_tz_e)
@@ -444,15 +445,15 @@ GeoVFullPhysVol* LArGeo::ModulesConstructionH62004::GetEnvelope()
       fcal.setFCALVisLimit(m_fcalVisLimit); 
       GeoVPhysVol* fcalEnvelope = fcal.GetEnvelope();
       if(fcalEnvelope != 0){
-//        GeoModelKernelUnits::HepRotation rotFCal;
-       // rotFCal.rotateY(0.*GeoModelKernelUnits::deg);
+//        Gaudi::Units::HepRotation rotFCal;
+       // rotFCal.rotateY(0.*Gaudi::Units::deg);
        //  rotFCal.rotateZ(-bepo_pz);
        //  rotFCal.rotateX(bepo_ty);
        //  rotFCal.rotateX(bepo_Beta);
-//        GeoTrf::Vector3D fcalshift(0.,-7.*GeoModelKernelUnits::mm,FCALzStart-EMECzStart+(FCALzEnd-FCALzStart)/2.);
+//        GeoTrf::Vector3D fcalshift(0.,-7.*Gaudi::Units::mm,FCALzStart-EMECzStart+(FCALzEnd-FCALzStart)/2.);
         m_ModulesPhys->add(new GeoTransform(trans));
-        m_ModulesPhys->add( new GeoTransform(GeoTrf::Translate3D(9.*GeoModelKernelUnits::mm
-								 ,0.*GeoModelKernelUnits::mm
+        m_ModulesPhys->add( new GeoTransform(GeoTrf::Translate3D(9.*Gaudi::Units::mm
+								 ,0.*Gaudi::Units::mm
 								 ,FCALzStart-EMECzStart+(FCALzEnd-FCALzStart)/2.)) );
         m_ModulesPhys->add(fcalEnvelope);
       }
@@ -463,48 +464,48 @@ GeoVFullPhysVol* LArGeo::ModulesConstructionH62004::GetEnvelope()
   // Position a cold nose
   //
   
-  double box_x = (650./2.)*GeoModelKernelUnits::mm;
-  double box_y = (356./2.)*GeoModelKernelUnits::mm;
-  double box_z = (50.8/2.)*GeoModelKernelUnits::mm;
-  double btot = 494.*GeoModelKernelUnits::mm;
-  double tub_r = 452.*GeoModelKernelUnits::mm;
-  double tub1_dr = 8.*GeoModelKernelUnits::mm;
-  double tub1_z = (1320./2.)*GeoModelKernelUnits::mm;
-  double cyl_dr = 10.*GeoModelKernelUnits::mm;
-  double cyl_r1 = 262.*GeoModelKernelUnits::mm;
-  double cyl_r2 = 336.5*GeoModelKernelUnits::mm;
-  double cyl_z = (912./2.)*GeoModelKernelUnits::mm;
-  double cyl_shift = (10. + 25.)*GeoModelKernelUnits::mm; 
-//  double NoseZshift = -360.*GeoModelKernelUnits::mm;
-  double NoseZshift = -63.1*GeoModelKernelUnits::mm;
-//  double NoseYshift = 94.4*GeoModelKernelUnits::mm;
-//  double NoseYshift = 96.4*GeoModelKernelUnits::mm;
-  double NoseYshift = 98.4*GeoModelKernelUnits::mm;
-//  double NoseXshift = -195.*GeoModelKernelUnits::mm;
-  double NoseXshift = -94.4*GeoModelKernelUnits::mm;
+  double box_x = (650./2.)*Gaudi::Units::mm;
+  double box_y = (356./2.)*Gaudi::Units::mm;
+  double box_z = (50.8/2.)*Gaudi::Units::mm;
+  double btot = 494.*Gaudi::Units::mm;
+  double tub_r = 452.*Gaudi::Units::mm;
+  double tub1_dr = 8.*Gaudi::Units::mm;
+  double tub1_z = (1320./2.)*Gaudi::Units::mm;
+  double cyl_dr = 10.*Gaudi::Units::mm;
+  double cyl_r1 = 262.*Gaudi::Units::mm;
+  double cyl_r2 = 336.5*Gaudi::Units::mm;
+  double cyl_z = (912./2.)*Gaudi::Units::mm;
+  double cyl_shift = (10. + 25.)*Gaudi::Units::mm; 
+//  double NoseZshift = -360.*Gaudi::Units::mm;
+  double NoseZshift = -63.1*Gaudi::Units::mm;
+//  double NoseYshift = 94.4*Gaudi::Units::mm;
+//  double NoseYshift = 96.4*Gaudi::Units::mm;
+  double NoseYshift = 98.4*Gaudi::Units::mm;
+//  double NoseXshift = -195.*Gaudi::Units::mm;
+  double NoseXshift = -94.4*Gaudi::Units::mm;
 
   GeoBox* Box1 = new GeoBox(box_x, box_y, box_z);
   double alpha = acos(box_x/tub_r);
   double ax = M_PI - 2*alpha;
   GeoTubs* Tub= new GeoTubs(0., tub_r, box_z, alpha, ax);
 
-//  tRot.rotateX(90*GeoModelKernelUnits::degree);
+//  tRot.rotateX(90*Gaudi::Units::degree);
   GeoTrf::Translate3D TubTrans(0.,btot-box_y-tub_r,0.);
   const GeoShapeUnion &uSolid = (*Box1).add((*Tub)<<TubTrans);
 
   GeoTubs* Tub1 = new GeoTubs(tub_r, tub_r+tub1_dr, tub1_z, alpha, ax);  
 //  GeoTrf::Vector3D TubShift2(0.,btot-box_y-tub_r,-tub1_z+box_z);
 //  GeoTrf::Vector3D TubShift2(0.,0.,0.);
-//  tRot.rotateX(90*GeoModelKernelUnits::degree);
-  GeoTrf::Translate3D UnTrans(0.,-135.5*GeoModelKernelUnits::mm,-tub1_z+box_z);
+//  tRot.rotateX(90*Gaudi::Units::degree);
+  GeoTrf::Translate3D UnTrans(0.,-135.5*Gaudi::Units::mm,-tub1_z+box_z);
   const GeoShapeUnion &uSolid2 = uSolid.add((*Tub1)<<UnTrans);
 
   GeoCons* Cone = new GeoCons(cyl_r2, cyl_r1, cyl_r2+cyl_dr, cyl_r1+cyl_dr, cyl_z, M_PI/4.,M_PI/2.);
-//  GeoTrf::Vector3D CylShift(0.,-box_y+cyl_shift,cyl_z+box_z-3.*GeoModelKernelUnits::mm);
-  GeoTrf::Translation3D CylShift(0.,-box_y+cyl_shift,cyl_z+box_z-5.*GeoModelKernelUnits::mm);
+//  GeoTrf::Vector3D CylShift(0.,-box_y+cyl_shift,cyl_z+box_z-3.*Gaudi::Units::mm);
+  GeoTrf::Translation3D CylShift(0.,-box_y+cyl_shift,cyl_z+box_z-5.*Gaudi::Units::mm);
 //  GeoTrf::Vector3D CylShift(0.,0.,cyl_z+box_z);
-  GeoTrf::RotateX3D tRot(1.*GeoModelKernelUnits::degree);
-//  tRot.rotateZ(-90*GeoModelKernelUnits::degree);
+  GeoTrf::RotateX3D tRot(1.*Gaudi::Units::degree);
+//  tRot.rotateZ(-90*Gaudi::Units::degree);
   GeoTrf::Transform3D CylTrans = CylShift * tRot;
   const GeoShapeUnion &uSolid3 =  uSolid2.add((*Cone)<<CylTrans);
 
@@ -529,7 +530,7 @@ GeoVFullPhysVol* LArGeo::ModulesConstructionH62004::GetEnvelope()
   // Do an imprint of assembly:
   
   /*
-  GeoModelKernelUnits::HepRotation rota;
+  Gaudi::Units::HepRotation rota;
   rota.rotateZ(-bepo_pz);
   rota.rotateX(bepo_ty);
   rota.rotateX(bepo_Beta);
@@ -647,14 +648,14 @@ LArGeo::ModulesConstructionH62004::construct(const StoredMaterialManager* materi
 //------------------ now construct shape and logical volume ---------------
   GeoLogVol *volume_log;
   if(myID == 6 || myID == 9 || myID == 17) {
-     GeoTubs *tub = new GeoTubs(s_dX[myID-1],s_dY[myID-1],s_dZ[myID-1],-43.*GeoModelKernelUnits::degree,86.*GeoModelKernelUnits::degree);
+     GeoTubs *tub = new GeoTubs(s_dX[myID-1],s_dY[myID-1],s_dZ[myID-1],-43.*Gaudi::Units::degree,86.*Gaudi::Units::degree);
      volume_log = new GeoLogVol(name,tub,Vacuum); 
   } else if(myID == 3) {
-     GeoTubs *tub = new GeoTubs(s_dX[myID-1],s_dY[myID-1],s_dZ[myID-1],-32.*GeoModelKernelUnits::degree,64.*GeoModelKernelUnits::degree);
+     GeoTubs *tub = new GeoTubs(s_dX[myID-1],s_dY[myID-1],s_dZ[myID-1],-32.*Gaudi::Units::degree,64.*Gaudi::Units::degree);
      volume_log = new GeoLogVol(name,tub,Vacuum); 
 #if 0 // impossible case...
   } else if(myID == 19) {
-    GeoTrd *trd = new GeoTrd(s_dX[myID-1]-16.*GeoModelKernelUnits::cm,s_dX[myID-1],s_dY[myID-1],s_dY[myID-1],s_dZ[myID-1]);
+    GeoTrd *trd = new GeoTrd(s_dX[myID-1]-16.*Gaudi::Units::cm,s_dX[myID-1],s_dY[myID-1],s_dY[myID-1],s_dZ[myID-1]);
     volume_log = new GeoLogVol(name,trd,Vacuum); 
 #endif
   } else {
diff --git a/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/MovableTableConstructionH62004.cxx b/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/MovableTableConstructionH62004.cxx
index 814b178f239e..cb5d2f9a3d24 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/MovableTableConstructionH62004.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/MovableTableConstructionH62004.cxx
@@ -25,7 +25,6 @@
 #include "GeoModelKernel/GeoIdentifierTag.h"  
 #include "GeoModelKernel/GeoSerialDenominator.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
 #include "StoreGate/StoreGateSvc.h"
 #include "GeoModelInterfaces/AbsMaterialManager.h"
 #include "GeoModelInterfaces/StoredMaterialManager.h"
@@ -41,6 +40,7 @@
 
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <string>
 #include <cmath>
@@ -122,25 +122,25 @@ GeoVPhysVol* LArGeo::MovableTableConstructionH62004::GetEnvelope()
   //
   // Define dimension of Movable part & position of Front part
   //
-  double bttb_x = 15.0*GeoModelKernelUnits::cm;
-  double bttb_y = 15.0*GeoModelKernelUnits::cm;
-  double bttb_z = 120.0*GeoModelKernelUnits::cm;
-  //double bttb_pos = 833.5*GeoModelKernelUnits::cm;
+  double bttb_x = 15.0*Gaudi::Units::cm;
+  double bttb_y = 15.0*Gaudi::Units::cm;
+  double bttb_z = 120.0*Gaudi::Units::cm;
+  //double bttb_pos = 833.5*Gaudi::Units::cm;
   //
   // Define S scintilator dimension and positions
   //
-  double btas_x = 7.5*GeoModelKernelUnits::cm;
-  double btas_y = 7.5*GeoModelKernelUnits::cm;
-  double btas_z = 1.0*GeoModelKernelUnits::cm;
-  double bb2_x = 3.0*GeoModelKernelUnits::cm;
-  double btas_pos[3] = {100.*GeoModelKernelUnits::cm, 219.5*GeoModelKernelUnits::cm, 232.0*GeoModelKernelUnits::cm};
-  double bh_x = 30.0*GeoModelKernelUnits::cm;
-  double bh_d = 6.0*GeoModelKernelUnits::cm;
-  double bh_shift = 12.0*GeoModelKernelUnits::cm;
-  double bb_shift = 2.5*GeoModelKernelUnits::cm;
-
-  double mwpc_pos[4] =  {44.5*GeoModelKernelUnits::cm, 12.5*GeoModelKernelUnits::cm, 87.0*GeoModelKernelUnits::cm, 185.3*GeoModelKernelUnits::cm};
-  double bpc_pos[2] =  {140.5*GeoModelKernelUnits::cm, 130.5*GeoModelKernelUnits::cm};
+  double btas_x = 7.5*Gaudi::Units::cm;
+  double btas_y = 7.5*Gaudi::Units::cm;
+  double btas_z = 1.0*Gaudi::Units::cm;
+  double bb2_x = 3.0*Gaudi::Units::cm;
+  double btas_pos[3] = {100.*Gaudi::Units::cm, 219.5*Gaudi::Units::cm, 232.0*Gaudi::Units::cm};
+  double bh_x = 30.0*Gaudi::Units::cm;
+  double bh_d = 6.0*Gaudi::Units::cm;
+  double bh_shift = 12.0*Gaudi::Units::cm;
+  double bb_shift = 2.5*Gaudi::Units::cm;
+
+  double mwpc_pos[4] =  {44.5*Gaudi::Units::cm, 12.5*Gaudi::Units::cm, 87.0*Gaudi::Units::cm, 185.3*Gaudi::Units::cm};
+  double bpc_pos[2] =  {140.5*Gaudi::Units::cm, 130.5*Gaudi::Units::cm};
 
   GeoBox* H62004MovableShape = new GeoBox( bttb_x, bttb_y, bttb_z );   
   const GeoLogVol* H62004FrontBeamLogical = new GeoLogVol( H62004MovableName, H62004MovableShape, Air );
@@ -152,8 +152,8 @@ GeoVPhysVol* LArGeo::MovableTableConstructionH62004::GetEnvelope()
   //   In the old stand-alone code, all three were round with a radius of 5cm 
   //   and 7.5mm thickness.
   //   Logbooks in the control-room say that their xyz sizes are:
-  //   B1   : 30 x 30 x 10 GeoModelKernelUnits::mm
-  //   W1,2 : 150 x 150 x 10 GeoModelKernelUnits::mm
+  //   B1   : 30 x 30 x 10 Gaudi::Units::mm
+  //   W1,2 : 150 x 150 x 10 Gaudi::Units::mm
   // They are certainly not round, so stick with the logbook values 
   // The beam sees the instrumentation in the following order:
   // W1, W2, B1, MWPC5
@@ -162,7 +162,7 @@ GeoVPhysVol* LArGeo::MovableTableConstructionH62004::GetEnvelope()
 
   // Create scintillator S1(num=4),S2,S3(num= 6,7)
   
-  GeoBox* ScintShapeS1 = new GeoBox((btas_x-1.*GeoModelKernelUnits::cm)/2., (btas_y-1.*GeoModelKernelUnits::cm)/2., btas_z/2.);  
+  GeoBox* ScintShapeS1 = new GeoBox((btas_x-1.*Gaudi::Units::cm)/2., (btas_y-1.*Gaudi::Units::cm)/2., btas_z/2.);  
   GeoBox* ScintShapeS23 = new GeoBox(btas_x/2., btas_y/2., btas_z/2.);  
   std::string ScintName = H62004MovableName + "::Scintillator";
   GeoLogVol* S1ScintLogical = new GeoLogVol( ScintName, ScintShapeS1, Scint );
@@ -171,11 +171,11 @@ GeoVPhysVol* LArGeo::MovableTableConstructionH62004::GetEnvelope()
   GeoPhysVol* S2ScintPhysical = new GeoPhysVol( S23ScintLogical );    
 
   m_H62004MovableTablePhysical->add( new GeoIdentifierTag(4) );
-  m_H62004MovableTablePhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, btas_pos[0]-bttb_z ) ) ) ;     
+  m_H62004MovableTablePhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm, btas_pos[0]-bttb_z ) ) ) ;     
   m_H62004MovableTablePhysical->add(S1ScintPhysical);
   for ( unsigned int i = 1; i <3; ++i ) {
     m_H62004MovableTablePhysical->add( new GeoIdentifierTag(i+5) );
-    m_H62004MovableTablePhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, btas_pos[i]-bttb_z ) ) ) ; 
+    m_H62004MovableTablePhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm, btas_pos[i]-bttb_z ) ) ) ; 
     m_H62004MovableTablePhysical->add( S2ScintPhysical ); 
   }
   // Create scintilators H (copy num 5) and B2 (copy num 8)
@@ -185,14 +185,14 @@ GeoVPhysVol* LArGeo::MovableTableConstructionH62004::GetEnvelope()
   GeoLogVol* logHSc = new GeoLogVol( ScintName, &shapeHSc, Scint);
   GeoPhysVol* physHSc = new GeoPhysVol(logHSc);
   m_H62004MovableTablePhysical->add( new GeoIdentifierTag(5) );
-  m_H62004MovableTablePhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, (btas_pos[0]-bttb_z) + bh_shift) )  ) ;     
+  m_H62004MovableTablePhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm, (btas_pos[0]-bttb_z) + bh_shift) )  ) ;     
   m_H62004MovableTablePhysical->add(physHSc);
 
-  GeoBox* boxB = new GeoBox(bb2_x/2., bb2_x/2., (btas_z+2.5*GeoModelKernelUnits::cm)/2.);
+  GeoBox* boxB = new GeoBox(bb2_x/2., bb2_x/2., (btas_z+2.5*Gaudi::Units::cm)/2.);
   GeoLogVol* logBSc = new GeoLogVol( ScintName, boxB, Scint);
   GeoPhysVol* physBSc = new GeoPhysVol(logBSc);
   m_H62004MovableTablePhysical->add( new GeoIdentifierTag(8) );
-  m_H62004MovableTablePhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, (btas_pos[2]-bttb_z) + bb_shift )  ) ) ;     
+  m_H62004MovableTablePhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm, (btas_pos[2]-bttb_z) + bb_shift )  ) ) ;     
   m_H62004MovableTablePhysical->add(physBSc);
   
   //----- Done with Scintillators
@@ -200,12 +200,12 @@ GeoVPhysVol* LArGeo::MovableTableConstructionH62004::GetEnvelope()
   //------ Now create MWPC N2 & N3 & N4 
   log << MSG::INFO << " Create MWPC's " << endmsg;
   
-  MWPCConstruction MWPC(1.*GeoModelKernelUnits::mm);
+  MWPCConstruction MWPC(1.*Gaudi::Units::mm);
   GeoVPhysVol* MwpcPhysical = MWPC.GetEnvelope();
 
   for(int i = 1; i < 4; ++i){
      m_H62004MovableTablePhysical->add( new GeoIdentifierTag(i+1) );
-     m_H62004MovableTablePhysical->add( new GeoTransform(GeoTrf::Translate3D( 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, mwpc_pos[i]-bttb_z ) ) );
+     m_H62004MovableTablePhysical->add( new GeoTransform(GeoTrf::Translate3D( 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm, mwpc_pos[i]-bttb_z ) ) );
      m_H62004MovableTablePhysical->add( MwpcPhysical );
   }
   //----- Done with the MWPC
@@ -217,7 +217,7 @@ GeoVPhysVol* LArGeo::MovableTableConstructionH62004::GetEnvelope()
   GeoVPhysVol* BPCPhysical = BPC.GetEnvelope();
   for(int i=1; i<3; ++i) {
      m_H62004MovableTablePhysical->add( new GeoIdentifierTag(7-i) );
-     m_H62004MovableTablePhysical->add( new GeoTransform(GeoTrf::Translate3D( 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, bpc_pos[i-1]-bttb_z) ) );
+     m_H62004MovableTablePhysical->add( new GeoTransform(GeoTrf::Translate3D( 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm, bpc_pos[i-1]-bttb_z) ) );
      m_H62004MovableTablePhysical->add(BPCPhysical);
   }
 
diff --git a/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/WarmTCConstructionH62004.cxx b/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/WarmTCConstructionH62004.cxx
index 272988e0d7ae..ed714e4157d0 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/WarmTCConstructionH62004.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoH62004Algs/src/WarmTCConstructionH62004.cxx
@@ -41,6 +41,7 @@
 
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include "RDBAccessSvc/IRDBAccessSvc.h"
 #include "RDBAccessSvc/IRDBRecord.h"
 #include "RDBAccessSvc/IRDBRecordset.h"
@@ -80,30 +81,30 @@ GeoVFullPhysVol* LArGeo::WarmTCConstructionH62004::GetEnvelope()
 // SHOULD GO INTO DB !!!!
 
 // Muon scintilators are the first one:
-double Muon_x = 20.0*GeoModelKernelUnits::cm;
-double Muon_y = 120.0*GeoModelKernelUnits::cm;
-double Muon_z = 1.0*GeoModelKernelUnits::cm;
+double Muon_x = 20.0*Gaudi::Units::cm;
+double Muon_y = 120.0*Gaudi::Units::cm;
+double Muon_z = 1.0*Gaudi::Units::cm;
 // The extra space to accumulate muon sci. into mother:
-double Muon_dist = 120.0*GeoModelKernelUnits::mm;
+double Muon_dist = 120.0*Gaudi::Units::mm;
 //
 // WTC dimensions
-double WTC_len = 591.5*GeoModelKernelUnits::mm;
-double WTC_high = 1250.0*GeoModelKernelUnits::mm;
-double WTC_sci_z = 12.7*GeoModelKernelUnits::mm;
-double WTC_sci_x = 190.0*GeoModelKernelUnits::mm;
-double WTC_sci_y = 1160.0*GeoModelKernelUnits::mm;
+double WTC_len = 591.5*Gaudi::Units::mm;
+double WTC_high = 1250.0*Gaudi::Units::mm;
+double WTC_sci_z = 12.7*Gaudi::Units::mm;
+double WTC_sci_x = 190.0*Gaudi::Units::mm;
+double WTC_sci_y = 1160.0*Gaudi::Units::mm;
 
 //  Define dimension WTC mother
 //
 double x_m = WTC_high / 2;
 double y_m = WTC_high / 2;
-double z_m = (86.0*GeoModelKernelUnits::mm + WTC_len + WTC_sci_z + Muon_dist + Muon_z) / 2;
+double z_m = (86.0*Gaudi::Units::mm + WTC_len + WTC_sci_z + Muon_dist + Muon_z) / 2;
 //
 // Define dimension of Fe absorber
 //
 double Fe_x = WTC_high / 2;
 double Fe_y = WTC_high / 2;
-double Fe_z = (99.0 / 2)*GeoModelKernelUnits::mm;
+double Fe_z = (99.0 / 2)*Gaudi::Units::mm;
 //
 // Define dimension of X scintilator
 //
@@ -124,24 +125,24 @@ double z_s = WTC_sci_z / 2;
 //
 double z_x[3], z_y[3], z_Fe[4];
  z_x[0]  = -z_m + Muon_dist + Muon_z + z_s;                   // X scin. Layer 1
- z_y[0]  = z_x[0] + 54*GeoModelKernelUnits::mm;               // Y scin. Layer 2
- z_Fe[0] = z_x[0] + 86.0*GeoModelKernelUnits::mm + Fe_z;      // 1st Fe abs.
- z_y[1]  = z_Fe[0] + 125.5*GeoModelKernelUnits::mm - Fe_z;    // Y scin. Layer 3
- z_Fe[1] = z_Fe[0] + 2 * Fe_z + 53.0*GeoModelKernelUnits::mm; // 2nd Fe abs.
- z_x[1]  = z_Fe[0] - Fe_z + 278.5*GeoModelKernelUnits::mm;    // X scin. Layer 4
- z_Fe[2] = z_Fe[1] + 2 *Fe_z + 52.5*GeoModelKernelUnits::mm;  // 3rd Fe abs.
- z_y[2]  = z_Fe[0] - Fe_z + 433.0*GeoModelKernelUnits::mm;    // Y scin. Layer 5
- z_Fe[3] = z_Fe[2] + 2 *Fe_z + 61.5*GeoModelKernelUnits::mm;  // 4rd Fe abs.
+ z_y[0]  = z_x[0] + 54*Gaudi::Units::mm;               // Y scin. Layer 2
+ z_Fe[0] = z_x[0] + 86.0*Gaudi::Units::mm + Fe_z;      // 1st Fe abs.
+ z_y[1]  = z_Fe[0] + 125.5*Gaudi::Units::mm - Fe_z;    // Y scin. Layer 3
+ z_Fe[1] = z_Fe[0] + 2 * Fe_z + 53.0*Gaudi::Units::mm; // 2nd Fe abs.
+ z_x[1]  = z_Fe[0] - Fe_z + 278.5*Gaudi::Units::mm;    // X scin. Layer 4
+ z_Fe[2] = z_Fe[1] + 2 *Fe_z + 52.5*Gaudi::Units::mm;  // 3rd Fe abs.
+ z_y[2]  = z_Fe[0] - Fe_z + 433.0*Gaudi::Units::mm;    // Y scin. Layer 5
+ z_Fe[3] = z_Fe[2] + 2 *Fe_z + 61.5*Gaudi::Units::mm;  // 4rd Fe abs.
  z_x[2]  = z_Fe[0] - Fe_z + WTC_len;     // X scin. Layer 6
 //
 // Tilding of the TC
-//double WTC_tild = -1.1*GeoModelKernelUnits::deg;   // 24 GeoModelKernelUnits::mm tild on 1250 GeoModelKernelUnits::mm length
-//double WTC_tild = 0.*GeoModelKernelUnits::deg;   // 24 GeoModelKernelUnits::mm tild on 1250 GeoModelKernelUnits::mm length
+//double WTC_tild = -1.1*Gaudi::Units::deg;   // 24 Gaudi::Units::mm tild on 1250 Gaudi::Units::mm length
+//double WTC_tild = 0.*Gaudi::Units::deg;   // 24 Gaudi::Units::mm tild on 1250 Gaudi::Units::mm length
 // Define position in test beam line....
 //
-//double WTC_x = 0.0*GeoModelKernelUnits::mm;
-//double WTC_y = 0.0*GeoModelKernelUnits::mm;
-//double WTC_z = 460.0*GeoModelKernelUnits::mm - 120.*GeoModelKernelUnits::mm - 10.*GeoModelKernelUnits::mm;
+//double WTC_x = 0.0*Gaudi::Units::mm;
+//double WTC_y = 0.0*Gaudi::Units::mm;
+//double WTC_z = 460.0*Gaudi::Units::mm - 120.*Gaudi::Units::mm - 10.*Gaudi::Units::mm;
 
 // Some elements
  
@@ -152,7 +153,7 @@ double z_x[3], z_y[3], z_Fe[4];
     const GeoMaterial* Iron = materialManager->getMaterial("std::Iron");    
     const GeoMaterial *Air = materialManager->getMaterial("std::Air");
  // Scintillator
-    double density = 1.032*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3;
+    double density = 1.032*GeoModelKernelUnits::g/Gaudi::Units::cm3;
     GeoMaterial* Scintillator=new GeoMaterial("Scintillator",density);
     Scintillator->add(elC,0.9147);
     Scintillator->add(elH,0.0853);
@@ -181,16 +182,16 @@ double z_x[3], z_y[3], z_Fe[4];
  GeoLogVol *mu_log = new GeoLogVol(muname, mu_box, Scintillator);
  GeoPhysVol *mu_phys = new GeoPhysVol(mu_log);
  for(int i=1; i<=3; ++i) {
-    a = -5.*i*GeoModelKernelUnits::mm + (2*i-1)*Muon_x/2;
+    a = -5.*i*Gaudi::Units::mm + (2*i-1)*Muon_x/2;
     n = pow(-1,i) * Muon_z/2 - z_m + Muon_z;
-    GeoTrf::Vector3D posShift(a,0.0*GeoModelKernelUnits::mm,n);
+    GeoTrf::Vector3D posShift(a,0.0*Gaudi::Units::mm,n);
     m_WarmTCPhys->add(new GeoSerialIdentifier(6-i));
-    m_WarmTCPhys->add(new GeoTransform(GeoTrf::Translate3D(a,0.0*GeoModelKernelUnits::mm,n)));
+    m_WarmTCPhys->add(new GeoTransform(GeoTrf::Translate3D(a,0.0*Gaudi::Units::mm,n)));
     m_WarmTCPhys->add(mu_phys); 
     
     n = pow(-1,i+1) * Muon_z/2 - z_m + Muon_z;
     m_WarmTCPhys->add(new GeoSerialIdentifier(5+i));
-    m_WarmTCPhys->add(new GeoTransform(GeoTrf::Translate3D(-a,0.0*GeoModelKernelUnits::mm,n)));
+    m_WarmTCPhys->add(new GeoTransform(GeoTrf::Translate3D(-a,0.0*Gaudi::Units::mm,n)));
     m_WarmTCPhys->add(mu_phys); 
     
  }
@@ -205,7 +206,7 @@ double z_x[3], z_y[3], z_Fe[4];
  
  for(int i=0; i<4; i++) {
    m_WarmTCPhys->add(new GeoSerialIdentifier(i+1)); 
-   m_WarmTCPhys->add(new GeoTransform(GeoTrf::Translate3D(0.0*GeoModelKernelUnits::mm,0.0*GeoModelKernelUnits::mm,z_Fe[i])));
+   m_WarmTCPhys->add(new GeoTransform(GeoTrf::Translate3D(0.0*Gaudi::Units::mm,0.0*Gaudi::Units::mm,z_Fe[i])));
    m_WarmTCPhys->add(Fe_phys);
  }
  
@@ -219,7 +220,7 @@ double z_x[3], z_y[3], z_Fe[4];
  
  for(int i=0; i<3; i++) {
     m_WarmTCPhys->add(new GeoSerialIdentifier(i+1));
-    m_WarmTCPhys->add(new GeoTransform(GeoTrf::Translate3D(0.0*GeoModelKernelUnits::mm,0.0*GeoModelKernelUnits::mm,z_x[i])));
+    m_WarmTCPhys->add(new GeoTransform(GeoTrf::Translate3D(0.0*Gaudi::Units::mm,0.0*Gaudi::Units::mm,z_x[i])));
     m_WarmTCPhys->add(X_phys);
  }
  
@@ -233,7 +234,7 @@ double z_x[3], z_y[3], z_Fe[4];
  
  for(int i=0; i<3; i++) {
     m_WarmTCPhys->add(new GeoSerialIdentifier(i+1));
-    m_WarmTCPhys->add(new GeoTransform(GeoTrf::Translate3D(0.0*GeoModelKernelUnits::mm,0.0*GeoModelKernelUnits::mm,z_y[i])));
+    m_WarmTCPhys->add(new GeoTransform(GeoTrf::Translate3D(0.0*Gaudi::Units::mm,0.0*Gaudi::Units::mm,z_y[i])));
     m_WarmTCPhys->add(Y_phys);
   }
 
diff --git a/LArCalorimeter/LArGeoModel/LArGeoH6Cryostats/LArGeoH6Cryostats/MWPCConstruction.h b/LArCalorimeter/LArGeoModel/LArGeoH6Cryostats/LArGeoH6Cryostats/MWPCConstruction.h
index 14f6658bd474..0d1414271ff5 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoH6Cryostats/LArGeoH6Cryostats/MWPCConstruction.h
+++ b/LArCalorimeter/LArGeoModel/LArGeoH6Cryostats/LArGeoH6Cryostats/MWPCConstruction.h
@@ -11,7 +11,7 @@
 
 #include "GeoModelKernel/GeoPhysVol.h"
 #include "GeoModelKernel/GeoFullPhysVol.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include <memory>
 
 class IRDBAccessSvc;
diff --git a/LArCalorimeter/LArGeoModel/LArGeoH6Cryostats/src/BPCConstruction.cxx b/LArCalorimeter/LArGeoModel/LArGeoH6Cryostats/src/BPCConstruction.cxx
index 043e1e5d2248..acc19f08b194 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoH6Cryostats/src/BPCConstruction.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoH6Cryostats/src/BPCConstruction.cxx
@@ -43,6 +43,7 @@
 #include "StoreGate/StoreGateSvc.h"
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <string>
 #include <cmath>
@@ -104,7 +105,7 @@ GeoVPhysVol* LArGeo::BPCConstruction::GetEnvelope()
   std::string name;
   double density;
   const GeoElement* W=materialManager->getElement("Wolfram");
-  GeoMaterial* Tungsten = new GeoMaterial(name="Tungsten", density=19.3*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3);
+  GeoMaterial* Tungsten = new GeoMaterial(name="Tungsten", density=19.3*GeoModelKernelUnits::g/Gaudi::Units::cm3);
   Tungsten->add(W,1.);
   Tungsten->lock();
   
@@ -114,21 +115,21 @@ GeoVPhysVol* LArGeo::BPCConstruction::GetEnvelope()
   const GeoElement*  O=materialManager->getElement("Oxygen");
   const GeoElement*  H=materialManager->getElement("Hydrogen");
   const GeoElement*  Al=materialManager->getElement("Aluminium");
-  GeoMaterial* CO2 =  new GeoMaterial(name="CO2", density=1.84E-03*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3);
+  GeoMaterial* CO2 =  new GeoMaterial(name="CO2", density=1.84E-03*GeoModelKernelUnits::g/Gaudi::Units::cm3);
   CO2->add(C,0.273);
   CO2->add(O,0.727);
   CO2->lock();
-  GeoMaterial* ArCO2_1 = new GeoMaterial(name="ArCO2_1", density=(0.8*1.782e-03 + 0.2*1.84E-03)*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3);
+  GeoMaterial* ArCO2_1 = new GeoMaterial(name="ArCO2_1", density=(0.8*1.782e-03 + 0.2*1.84E-03)*GeoModelKernelUnits::g/Gaudi::Units::cm3);
   ArCO2_1->add(Ar,0.8);
   ArCO2_1->add(CO2,0.2);
   ArCO2_1->lock();
-  GeoMaterial* ArCO2_2 = new GeoMaterial(name="ArCO2_2", density=(0.9*1.782e-03 + 0.1*1.84E-03)*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3);
+  GeoMaterial* ArCO2_2 = new GeoMaterial(name="ArCO2_2", density=(0.9*1.782e-03 + 0.1*1.84E-03)*GeoModelKernelUnits::g/Gaudi::Units::cm3);
   ArCO2_2->add(Ar,0.9);
   ArCO2_2->add(CO2,0.1);
   ArCO2_2->lock();
   // AlMylar   AlC5H4O2 ??????    
-  density = 1.39*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3;
-  GeoMaterial* AlMylar=new GeoMaterial(name="AlMylar",density=1.39*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3);
+  density = 1.39*GeoModelKernelUnits::g/Gaudi::Units::cm3;
+  GeoMaterial* AlMylar=new GeoMaterial(name="AlMylar",density=1.39*GeoModelKernelUnits::g/Gaudi::Units::cm3);
   AlMylar->add(C,0.487980);
   AlMylar->add(O,0.260014);
   AlMylar->add(H,0.032761);
@@ -159,36 +160,36 @@ GeoVPhysVol* LArGeo::BPCConstruction::GetEnvelope()
   //////////////////////////////////////////////////////////////////
   // Define geometry
   //////////////////////////////////////////////////////////////////
-  double bpc_x = 15.0*GeoModelKernelUnits::cm;
-  double bpc_y = 15.0*GeoModelKernelUnits::cm;
-  double bpc_z = (8.684/2)*GeoModelKernelUnits::cm;
-  double bpc_send = (1.14/2)*GeoModelKernelUnits::cm;
-  double bpc_sen = (1.06)*GeoModelKernelUnits::cm;
-  double bpc_div = 5.06*GeoModelKernelUnits::mm;
-  //double bpc_space = 2.6*GeoModelKernelUnits::mm;
-  double bpc_ml = 0.0010*GeoModelKernelUnits::cm;
-  double bpc_alml = 0.0012*GeoModelKernelUnits::cm;
-  double bpc_frame = 12.1*GeoModelKernelUnits::mm;
-  double bpc_alframe = 8.*GeoModelKernelUnits::mm;
-  double bpc_step = 0.6*GeoModelKernelUnits::cm;
-  double bpc_cstep = 0.3*GeoModelKernelUnits::cm;
-  double bpc_wd = 0.0020*GeoModelKernelUnits::cm;
-  double bpc_cwd = 0.0100*GeoModelKernelUnits::cm;
+  double bpc_x = 15.0*Gaudi::Units::cm;
+  double bpc_y = 15.0*Gaudi::Units::cm;
+  double bpc_z = (8.684/2)*Gaudi::Units::cm;
+  double bpc_send = (1.14/2)*Gaudi::Units::cm;
+  double bpc_sen = (1.06)*Gaudi::Units::cm;
+  double bpc_div = 5.06*Gaudi::Units::mm;
+  //double bpc_space = 2.6*Gaudi::Units::mm;
+  double bpc_ml = 0.0010*Gaudi::Units::cm;
+  double bpc_alml = 0.0012*Gaudi::Units::cm;
+  double bpc_frame = 12.1*Gaudi::Units::mm;
+  double bpc_alframe = 8.*Gaudi::Units::mm;
+  double bpc_step = 0.6*Gaudi::Units::cm;
+  double bpc_cstep = 0.3*Gaudi::Units::cm;
+  double bpc_wd = 0.0020*Gaudi::Units::cm;
+  double bpc_cwd = 0.0100*Gaudi::Units::cm;
   
-  double bpc_old_x = 12.0*GeoModelKernelUnits::cm;
-  double bpc_old_y = 12.0*GeoModelKernelUnits::cm;
-  double bpc_old_z = (5.100/2)*GeoModelKernelUnits::cm;
-  double bpc_old_div = 7.6*GeoModelKernelUnits::mm;
-  double bpc_old_alml = 0.0020*GeoModelKernelUnits::cm;
-  double bpc_old_ml = 0.0050*GeoModelKernelUnits::cm;
-  double bpc_old_frame = 10.*GeoModelKernelUnits::mm;
-  double bpc_old_alframe = 2.*GeoModelKernelUnits::mm;
-  double bpc_old_alframe1 = 12.*GeoModelKernelUnits::mm;
-  double bpc_old_send = (1.7/2)*GeoModelKernelUnits::cm;
-  double bpc_old_sen = 0.5*GeoModelKernelUnits::cm;
-  double bpc_old_space = 1.*GeoModelKernelUnits::mm;
-  double bpc_old_step = 0.6*GeoModelKernelUnits::cm;
-  double bpc_old_cstep = 0.3*GeoModelKernelUnits::cm;
+  double bpc_old_x = 12.0*Gaudi::Units::cm;
+  double bpc_old_y = 12.0*Gaudi::Units::cm;
+  double bpc_old_z = (5.100/2)*Gaudi::Units::cm;
+  double bpc_old_div = 7.6*Gaudi::Units::mm;
+  double bpc_old_alml = 0.0020*Gaudi::Units::cm;
+  double bpc_old_ml = 0.0050*Gaudi::Units::cm;
+  double bpc_old_frame = 10.*Gaudi::Units::mm;
+  double bpc_old_alframe = 2.*Gaudi::Units::mm;
+  double bpc_old_alframe1 = 12.*Gaudi::Units::mm;
+  double bpc_old_send = (1.7/2)*Gaudi::Units::cm;
+  double bpc_old_sen = 0.5*Gaudi::Units::cm;
+  double bpc_old_space = 1.*Gaudi::Units::mm;
+  double bpc_old_step = 0.6*Gaudi::Units::cm;
+  double bpc_old_cstep = 0.3*Gaudi::Units::cm;
  
 
   //  Here we creat the envelope for the Moveable FrontBeam Instrumentation.  This code is repeated
@@ -307,18 +308,18 @@ GeoVPhysVol* LArGeo::BPCConstruction::GetEnvelope()
   
   // wires in each division
   GeoTubs* shape_bpc_wire;
-  if(m_oldType) shape_bpc_wire = new GeoTubs(0., bpc_wd, bpc_old_x, 0.*GeoModelKernelUnits::deg, 360.*GeoModelKernelUnits::deg);
-  else          shape_bpc_wire = new GeoTubs(0., bpc_wd, bpc_x, 0.*GeoModelKernelUnits::deg, 360.*GeoModelKernelUnits::deg);
+  if(m_oldType) shape_bpc_wire = new GeoTubs(0., bpc_wd, bpc_old_x, 0.*Gaudi::Units::deg, 360.*Gaudi::Units::deg);
+  else          shape_bpc_wire = new GeoTubs(0., bpc_wd, bpc_x, 0.*Gaudi::Units::deg, 360.*Gaudi::Units::deg);
   GeoLogVol* log_bpc_wire;
   if(m_oldType) log_bpc_wire = new GeoLogVol(BPCName + "::bpco_wire", shape_bpc_wire, Tungsten);
   else          log_bpc_wire = new GeoLogVol(BPCName + "::bpc_wire", shape_bpc_wire, Tungsten);
   GeoPhysVol* phys_bpc_wire = new GeoPhysVol(log_bpc_wire);
   phys_bpc_xdiv->add( new GeoIdentifierTag( 1 ) );
-  phys_bpc_xdiv->add( new GeoTransform( GeoTrf::RotateX3D( 90.*GeoModelKernelUnits::deg ) ) );
+  phys_bpc_xdiv->add( new GeoTransform( GeoTrf::RotateX3D( 90.*Gaudi::Units::deg ) ) );
   phys_bpc_xdiv->add(phys_bpc_wire);
   if(!m_oldType) {
      phys_bpc_ydiv->add( new GeoIdentifierTag( 1 ) );
-     phys_bpc_ydiv->add( new GeoTransform( GeoTrf::RotateY3D( 90.*GeoModelKernelUnits::deg ) ) );
+     phys_bpc_ydiv->add( new GeoTransform( GeoTrf::RotateY3D( 90.*Gaudi::Units::deg ) ) );
      phys_bpc_ydiv->add(phys_bpc_wire);
   }
 
@@ -326,20 +327,20 @@ GeoVPhysVol* LArGeo::BPCConstruction::GetEnvelope()
   if(m_oldType) Ndiv = int(2.0*bpc_old_x/bpc_cstep);
   else          Ndiv = int(2.0*bpc_x/bpc_cstep);
   GeoTubs* shape_bpc_cwire;
-  if(m_oldType) shape_bpc_cwire = new GeoTubs(0., bpc_cwd, bpc_old_x, 0.*GeoModelKernelUnits::deg, 360.*GeoModelKernelUnits::deg);
-  else          shape_bpc_cwire = new GeoTubs( 0., bpc_cwd, bpc_x, 0.*GeoModelKernelUnits::deg, 360.*GeoModelKernelUnits::deg);
+  if(m_oldType) shape_bpc_cwire = new GeoTubs(0., bpc_cwd, bpc_old_x, 0.*Gaudi::Units::deg, 360.*Gaudi::Units::deg);
+  else          shape_bpc_cwire = new GeoTubs( 0., bpc_cwd, bpc_x, 0.*Gaudi::Units::deg, 360.*Gaudi::Units::deg);
   GeoLogVol* log_bpc_cwire;
   if(m_oldType) log_bpc_cwire = new GeoLogVol(BPCName + "::bpco_cwire",shape_bpc_cwire, Tungsten);
   else          log_bpc_cwire = new GeoLogVol(BPCName + "::bpc_cwire",shape_bpc_cwire, Tungsten);
   GeoPhysVol* phys_bpc_cwire = new GeoPhysVol(log_bpc_cwire);
-//  GeoXF::TRANSFUNCTION TXXMO = GeoTrf::RotateX3D( 90.*GeoModelKernelUnits::deg ) * GeoXF::Pow(GeoTrf::TranslateX3D(1.0), -bpc_old_x+(2*Index+1)*bpc_old_cstep/2.) * GeoTrf::TranslateZ3D(-bpc_old_send-bpc_cwd+bpc_old_space);
-//  GeoXF::TRANSFUNCTION TXXPO = GeoTrf::RotateX3D( 90.*GeoModelKernelUnits::deg ) * GeoXF::Pow(GeoTrf::TranslateX3D(1.0), -bpc_old_x+(2*Index+1)*bpc_old_cstep/2.) * GeoTrf::TranslateZ3D(bpc_old_send-bpc_old_space+bpc_cwd);
-  GeoXF::TRANSFUNCTION TXXMO = GeoXF::Pow(GeoTrf::TranslateX3D(1.0), -bpc_old_x+(2*Index+1)*bpc_old_cstep/2.) * GeoTrf::TranslateZ3D(-bpc_old_send-2.*bpc_cwd+bpc_old_space) * GeoTrf::RotateX3D( 90.*GeoModelKernelUnits::deg );
-  GeoXF::TRANSFUNCTION TXXPO = GeoXF::Pow(GeoTrf::TranslateX3D(1.0), -bpc_old_x+(2*Index+1)*bpc_old_cstep/2.) * GeoTrf::TranslateZ3D(bpc_old_send-bpc_old_space+2.*bpc_cwd) * GeoTrf::RotateX3D( 90.*GeoModelKernelUnits::deg );
-//  GeoXF::TRANSFUNCTION TXXM = GeoTrf::RotateX3D( 90.*GeoModelKernelUnits::deg ) * GeoXF::Pow(GeoTrf::TranslateX3D(1.0), -bpc_x+(2*Index+1)*bpc_cstep/2.) * GeoTrf::TranslateZ3D(-bpc_div-bpc_cwd);
-//  GeoXF::TRANSFUNCTION TXXP = GeoTrf::RotateX3D( 90.*GeoModelKernelUnits::deg ) * GeoXF::Pow(GeoTrf::TranslateX3D(1.0), -bpc_x+(2*Index+1)*bpc_cstep/2.) * GeoTrf::TranslateZ3D(bpc_div+bpc_cwd);
-  GeoXF::TRANSFUNCTION TXXM = GeoXF::Pow(GeoTrf::TranslateX3D(1.0), -bpc_x+(2*Index+1)*bpc_cstep/2.) * GeoTrf::TranslateZ3D(-bpc_div-bpc_cwd) * GeoTrf::RotateX3D( 90.*GeoModelKernelUnits::deg );
-  GeoXF::TRANSFUNCTION TXXP = GeoXF::Pow(GeoTrf::TranslateX3D(1.0), -bpc_x+(2*Index+1)*bpc_cstep/2.) * GeoTrf::TranslateZ3D(bpc_div+bpc_cwd) * GeoTrf::RotateX3D( 90.*GeoModelKernelUnits::deg );
+//  GeoXF::TRANSFUNCTION TXXMO = GeoTrf::RotateX3D( 90.*Gaudi::Units::deg ) * GeoXF::Pow(GeoTrf::TranslateX3D(1.0), -bpc_old_x+(2*Index+1)*bpc_old_cstep/2.) * GeoTrf::TranslateZ3D(-bpc_old_send-bpc_cwd+bpc_old_space);
+//  GeoXF::TRANSFUNCTION TXXPO = GeoTrf::RotateX3D( 90.*Gaudi::Units::deg ) * GeoXF::Pow(GeoTrf::TranslateX3D(1.0), -bpc_old_x+(2*Index+1)*bpc_old_cstep/2.) * GeoTrf::TranslateZ3D(bpc_old_send-bpc_old_space+bpc_cwd);
+  GeoXF::TRANSFUNCTION TXXMO = GeoXF::Pow(GeoTrf::TranslateX3D(1.0), -bpc_old_x+(2*Index+1)*bpc_old_cstep/2.) * GeoTrf::TranslateZ3D(-bpc_old_send-2.*bpc_cwd+bpc_old_space) * GeoTrf::RotateX3D( 90.*Gaudi::Units::deg );
+  GeoXF::TRANSFUNCTION TXXPO = GeoXF::Pow(GeoTrf::TranslateX3D(1.0), -bpc_old_x+(2*Index+1)*bpc_old_cstep/2.) * GeoTrf::TranslateZ3D(bpc_old_send-bpc_old_space+2.*bpc_cwd) * GeoTrf::RotateX3D( 90.*Gaudi::Units::deg );
+//  GeoXF::TRANSFUNCTION TXXM = GeoTrf::RotateX3D( 90.*Gaudi::Units::deg ) * GeoXF::Pow(GeoTrf::TranslateX3D(1.0), -bpc_x+(2*Index+1)*bpc_cstep/2.) * GeoTrf::TranslateZ3D(-bpc_div-bpc_cwd);
+//  GeoXF::TRANSFUNCTION TXXP = GeoTrf::RotateX3D( 90.*Gaudi::Units::deg ) * GeoXF::Pow(GeoTrf::TranslateX3D(1.0), -bpc_x+(2*Index+1)*bpc_cstep/2.) * GeoTrf::TranslateZ3D(bpc_div+bpc_cwd);
+  GeoXF::TRANSFUNCTION TXXM = GeoXF::Pow(GeoTrf::TranslateX3D(1.0), -bpc_x+(2*Index+1)*bpc_cstep/2.) * GeoTrf::TranslateZ3D(-bpc_div-bpc_cwd) * GeoTrf::RotateX3D( 90.*Gaudi::Units::deg );
+  GeoXF::TRANSFUNCTION TXXP = GeoXF::Pow(GeoTrf::TranslateX3D(1.0), -bpc_x+(2*Index+1)*bpc_cstep/2.) * GeoTrf::TranslateZ3D(bpc_div+bpc_cwd) * GeoTrf::RotateX3D( 90.*Gaudi::Units::deg );
   phys_bpc_xplane->add( new GeoSerialIdentifier(0) );
   if(m_oldType) phys_bpc_xplane->add( new GeoSerialTransformer(phys_bpc_cwire, &TXXMO, Ndiv) );
   else          phys_bpc_xplane->add( new GeoSerialTransformer(phys_bpc_cwire, &TXXM, Ndiv) );
@@ -347,10 +348,10 @@ GeoVPhysVol* LArGeo::BPCConstruction::GetEnvelope()
   if(m_oldType) phys_bpc_xplane->add( new GeoSerialTransformer(phys_bpc_cwire, &TXXPO, Ndiv) );
   else          phys_bpc_xplane->add( new GeoSerialTransformer(phys_bpc_cwire, &TXXP, Ndiv) );
   if(!m_oldType) {
-//     GeoXF::TRANSFUNCTION TYYM = GeoTrf::RotateY3D( 90.*GeoModelKernelUnits::deg ) * GeoXF::Pow(GeoTrf::TranslateY3D(1.0), -bpc_y+(2*Index+1)*bpc_cstep/2.) * GeoTrf::TranslateZ3D(-bpc_div-bpc_cwd);
-//     GeoXF::TRANSFUNCTION TYYP = GeoTrf::RotateY3D( 90.*GeoModelKernelUnits::deg ) * GeoXF::Pow(GeoTrf::TranslateY3D(1.0), -bpc_y+(2*Index+1)*bpc_cstep/2.) * GeoTrf::TranslateZ3D(bpc_div+bpc_cwd);
-     GeoXF::TRANSFUNCTION TYYM = GeoXF::Pow(GeoTrf::TranslateY3D(1.0), -bpc_y+(2*Index+1)*bpc_cstep/2.) * GeoTrf::TranslateZ3D(-bpc_div-bpc_cwd) * GeoTrf::RotateY3D( 90.*GeoModelKernelUnits::deg );
-     GeoXF::TRANSFUNCTION TYYP = GeoXF::Pow(GeoTrf::TranslateY3D(1.0), -bpc_y+(2*Index+1)*bpc_cstep/2.) * GeoTrf::TranslateZ3D(bpc_div+bpc_cwd) * GeoTrf::RotateY3D( 90.*GeoModelKernelUnits::deg );
+//     GeoXF::TRANSFUNCTION TYYM = GeoTrf::RotateY3D( 90.*Gaudi::Units::deg ) * GeoXF::Pow(GeoTrf::TranslateY3D(1.0), -bpc_y+(2*Index+1)*bpc_cstep/2.) * GeoTrf::TranslateZ3D(-bpc_div-bpc_cwd);
+//     GeoXF::TRANSFUNCTION TYYP = GeoTrf::RotateY3D( 90.*Gaudi::Units::deg ) * GeoXF::Pow(GeoTrf::TranslateY3D(1.0), -bpc_y+(2*Index+1)*bpc_cstep/2.) * GeoTrf::TranslateZ3D(bpc_div+bpc_cwd);
+     GeoXF::TRANSFUNCTION TYYM = GeoXF::Pow(GeoTrf::TranslateY3D(1.0), -bpc_y+(2*Index+1)*bpc_cstep/2.) * GeoTrf::TranslateZ3D(-bpc_div-bpc_cwd) * GeoTrf::RotateY3D( 90.*Gaudi::Units::deg );
+     GeoXF::TRANSFUNCTION TYYP = GeoXF::Pow(GeoTrf::TranslateY3D(1.0), -bpc_y+(2*Index+1)*bpc_cstep/2.) * GeoTrf::TranslateZ3D(bpc_div+bpc_cwd) * GeoTrf::RotateY3D( 90.*Gaudi::Units::deg );
      phys_bpc_yplane->add( new GeoSerialIdentifier(0) );
      phys_bpc_yplane->add( new GeoSerialTransformer(phys_bpc_cwire, &TYYM, Ndiv) );
      phys_bpc_yplane->add( new GeoSerialIdentifier(Ndiv) );
diff --git a/LArCalorimeter/LArGeoModel/LArGeoH6Cryostats/src/H6CryostatConstruction.cxx b/LArCalorimeter/LArGeoModel/LArGeoH6Cryostats/src/H6CryostatConstruction.cxx
index a43ee7e780c3..c24e85b1d8e4 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoH6Cryostats/src/H6CryostatConstruction.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoH6Cryostats/src/H6CryostatConstruction.cxx
@@ -23,7 +23,6 @@
 #include "GeoModelKernel/GeoAlignableTransform.h"  
 #include "GeoModelKernel/GeoIdentifierTag.h"  
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
 #include "StoreGate/StoreGateSvc.h"
 #include "GeoModelInterfaces/AbsMaterialManager.h"
 #include "GeoModelInterfaces/StoredMaterialManager.h"
@@ -41,6 +40,7 @@
 #include "StoreGate/StoreGateSvc.h"
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <string>
 #include <cmath>
@@ -100,23 +100,23 @@ GeoVFullPhysVol* LArGeo::H6CryostatConstruction::GetEnvelope()
   // First attempt at creating the H6 cryostat: 
   // (values taken from  HECCommonDetectorParamDef)
   //
-  // A cylinder of half-height:   zcryo = 2000.0 *GeoModelKernelUnits::mm
-  // outer radius of warm-wall:   rwarm = 1295.5 *GeoModelKernelUnits::mm
-  // outer radius of vacuum:      rvac  = 1293.0 *GeoModelKernelUnits::mm
-  // outer radius of cold wall:   rcold = 1258.0 *GeoModelKernelUnits::mm
-  // outer radius of LAr:         rlar  = 1255.0 *GeoModelKernelUnits::mm
+  // A cylinder of half-height:   zcryo = 2000.0 *Gaudi::Units::mm
+  // outer radius of warm-wall:   rwarm = 1295.5 *Gaudi::Units::mm
+  // outer radius of vacuum:      rvac  = 1293.0 *Gaudi::Units::mm
+  // outer radius of cold wall:   rcold = 1258.0 *Gaudi::Units::mm
+  // outer radius of LAr:         rlar  = 1255.0 *Gaudi::Units::mm
 
   // needs to go into database: ---  4databa
-  double  zcryo = 2000.0 *GeoModelKernelUnits::mm;
-  double  rwarm = 1295.5 *GeoModelKernelUnits::mm;
-  double  rvac  = 1293.0 *GeoModelKernelUnits::mm;
-  double  rcold = 1258.0 *GeoModelKernelUnits::mm;
-  double  rlar  = 1255.0 *GeoModelKernelUnits::mm;
+  double  zcryo = 2000.0 *Gaudi::Units::mm;
+  double  rwarm = 1295.5 *Gaudi::Units::mm;
+  double  rvac  = 1293.0 *Gaudi::Units::mm;
+  double  rcold = 1258.0 *Gaudi::Units::mm;
+  double  rlar  = 1255.0 *Gaudi::Units::mm;
 
   std::string cryoMotherName = "LAr::H6::Cryostat::MotherVolume";
 
   // mother volume; cylinder of radius rwarm = outside of the cryostat warm wall 
-  GeoTube* cryoMotherShape = new GeoTube(0.0 , rwarm+10.0, zcryo+10.0*GeoModelKernelUnits::mm);  //  mother is a little bigger than warm wall   
+  GeoTube* cryoMotherShape = new GeoTube(0.0 , rwarm+10.0, zcryo+10.0*Gaudi::Units::mm);  //  mother is a little bigger than warm wall   
 
   const GeoLogVol* cryoMotherLogical = new GeoLogVol(cryoMotherName, cryoMotherShape, Air);
   m_cryoMotherPhysical = new GeoFullPhysVol(cryoMotherLogical);
@@ -142,13 +142,13 @@ GeoVFullPhysVol* LArGeo::H6CryostatConstruction::GetEnvelope()
   m_cryoMotherPhysical->add(cryoWarmWallPhys);
 
   // "Vacuum" gap (filled with air...)
-  GeoTube* cryoVacuumGapShape = new GeoTube(0. , rvac, zcryo-2.0*GeoModelKernelUnits::mm);   // an arbitrary 2mm shorter to avoid confilct  
+  GeoTube* cryoVacuumGapShape = new GeoTube(0. , rvac, zcryo-2.0*Gaudi::Units::mm);   // an arbitrary 2mm shorter to avoid confilct  
   const GeoLogVol* cryoVacuumGapLog = new GeoLogVol(cryoVacuumGapName, cryoVacuumGapShape, Air);
   GeoPhysVol*  cryoVacuumGapPhys = new GeoPhysVol(cryoVacuumGapLog);
   cryoWarmWallPhys->add(cryoVacuumGapPhys);
 
   // Cold Wall
-  GeoTube* cryoColdWallShape = new GeoTube(0. , rcold, zcryo-4.0*GeoModelKernelUnits::mm);  // an arbitrary 4mm shorter to avoid confilct   
+  GeoTube* cryoColdWallShape = new GeoTube(0. , rcold, zcryo-4.0*Gaudi::Units::mm);  // an arbitrary 4mm shorter to avoid confilct   
   const GeoLogVol* cryoColdWallLog = new GeoLogVol(cryoColdWallName, cryoColdWallShape, Iron);
   GeoPhysVol*  cryoColdWallPhys = new GeoPhysVol(cryoColdWallLog);
   cryoVacuumGapPhys->add(cryoColdWallPhys);
@@ -160,7 +160,7 @@ GeoVFullPhysVol* LArGeo::H6CryostatConstruction::GetEnvelope()
   // And the FCal the embedded in the LAr instead of the cryoMother!
 
   // Liquid Argon  
-  GeoTube* cryoLArShape = new GeoTube(0. , rlar, zcryo-6.0*GeoModelKernelUnits::mm);  // an arbitrary 2mm shorter to avoid confilct   
+  GeoTube* cryoLArShape = new GeoTube(0. , rlar, zcryo-6.0*Gaudi::Units::mm);  // an arbitrary 2mm shorter to avoid confilct   
   const GeoLogVol* cryoLArLog = new GeoLogVol(cryoLArName, cryoLArShape, LAr);
   m_cryoMotherPhysical->add(new GeoNameTag(std::string("Cryostat LAr Physical")));    
   // m_cryoLArPhys is a class member so that we can place Detectors inside. 
diff --git a/LArCalorimeter/LArGeoModel/LArGeoH6Cryostats/src/MWPCConstruction.cxx b/LArCalorimeter/LArGeoModel/LArGeoH6Cryostats/src/MWPCConstruction.cxx
index 2506edd52578..e829fd0b8eec 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoH6Cryostats/src/MWPCConstruction.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoH6Cryostats/src/MWPCConstruction.cxx
@@ -46,6 +46,7 @@
 #include "CxxUtils/make_unique.h"
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <string>
 #include <cmath>
@@ -106,7 +107,7 @@ GeoVPhysVol* LArGeo::MWPCConstruction::GetEnvelope()
   std::string name;
   double density;
   const GeoElement* W=materialManager->getElement("Wolfram");
-  GeoMaterial* Tungsten = new GeoMaterial(name="Tungsten", density=19.3*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3);
+  GeoMaterial* Tungsten = new GeoMaterial(name="Tungsten", density=19.3*GeoModelKernelUnits::g/Gaudi::Units::cm3);
   Tungsten->add(W,1.);
   Tungsten->lock();
   
@@ -114,11 +115,11 @@ GeoVPhysVol* LArGeo::MWPCConstruction::GetEnvelope()
   const GeoElement* Ar=materialManager->getElement("Argon");
   const GeoElement*  C=materialManager->getElement("Carbon");
   const GeoElement*  H=materialManager->getElement("Hydrogen");
-  GeoMaterial* Isobutane = new GeoMaterial(name="Isobutane", density=2.67*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3);
+  GeoMaterial* Isobutane = new GeoMaterial(name="Isobutane", density=2.67*GeoModelKernelUnits::g/Gaudi::Units::cm3);
   Isobutane->add(C,0.8266);
   Isobutane->add(H,0.1734);
   Isobutane->lock();
-  GeoMaterial* ArIso = new GeoMaterial(name="ArIso", density=0.0025*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3);
+  GeoMaterial* ArIso = new GeoMaterial(name="ArIso", density=0.0025*GeoModelKernelUnits::g/Gaudi::Units::cm3);
   ArIso->add(Ar,0.61);
   ArIso->add(Isobutane,0.39);
   ArIso->lock();
@@ -169,8 +170,8 @@ GeoVPhysVol* LArGeo::MWPCConstruction::GetEnvelope()
   std::string MWPCName = baseName + "::MWPC";
   
   // This creates a square wire-chamber: 
-  const double MWPCDxy = 64.0*GeoModelKernelUnits::mm;
-  const double MWPCDz = 16.586*GeoModelKernelUnits::mm;  
+  const double MWPCDxy = 64.0*Gaudi::Units::mm;
+  const double MWPCDz = 16.586*Gaudi::Units::mm;  
 
 
   GeoBox* MWPCShape = new GeoBox(MWPCDxy, MWPCDxy, MWPCDz);  // A generic WWPC
@@ -180,7 +181,7 @@ GeoVPhysVol* LArGeo::MWPCConstruction::GetEnvelope()
   
 
   //..... Add Mylar to MWPC:
-  const double MylarDz = 0.015*GeoModelKernelUnits::mm; 
+  const double MylarDz = 0.015*Gaudi::Units::mm; 
 
   GeoBox* MylarShape = new GeoBox(MWPCDxy, MWPCDxy, MylarDz);  // Mylar fits across the MWPC in x,y
 
@@ -193,7 +194,7 @@ GeoVPhysVol* LArGeo::MWPCConstruction::GetEnvelope()
       GeoLogVol* MylarLogical = new GeoLogVol( MylarName, MylarShape, Mylar );   
       GeoPhysVol* MylarPhysical = new GeoPhysVol( MylarLogical );
       m_MWPCPhysical->add( new GeoIdentifierTag( side ) );
-      m_MWPCPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, (MylarPos) ) ) );
+      m_MWPCPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm, (MylarPos) ) ) );
       m_MWPCPhysical->add( MylarPhysical );
     }
   // Done with the Mylar Foils 
@@ -201,10 +202,10 @@ GeoVPhysVol* LArGeo::MWPCConstruction::GetEnvelope()
 
 
   //..... Add Al walls to MWPC5:
-  const double Aluz = 0.014*GeoModelKernelUnits::mm; 
+  const double Aluz = 0.014*Gaudi::Units::mm; 
   const double AluDz = Aluz;
-  const double Alu_f = 7.*GeoModelKernelUnits::mm;   
-  const double Alu_s = 15.*GeoModelKernelUnits::mm;
+  const double Alu_f = 7.*Gaudi::Units::mm;   
+  const double Alu_s = 15.*Gaudi::Units::mm;
 
   GeoBox* AluShape = new GeoBox(MWPCDxy, MWPCDxy, AluDz);  // Al foil fits across the MWPC in x,y
   for ( int pos = 0; pos<4 ; pos++)
@@ -222,17 +223,17 @@ GeoVPhysVol* LArGeo::MWPCConstruction::GetEnvelope()
       GeoLogVol* AluLogical = new GeoLogVol( AluName, AluShape, Aluminium );  
       GeoPhysVol* AluPhysical = new GeoPhysVol( AluLogical );
       m_MWPCPhysical->add( new GeoIdentifierTag( pos ) );
-      m_MWPCPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, (AluPos) ) ) );
+      m_MWPCPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm, (AluPos) ) ) );
       m_MWPCPhysical->add( AluPhysical );
     }
   
 
 
   //..... Add a sensitive X and Y plane to MWPC5:
-  const double Senz = 4.0*GeoModelKernelUnits::mm; 
+  const double Senz = 4.0*Gaudi::Units::mm; 
   const double SenDz = Senz;  // z-Thickness of sensitive volume
-  const double SenPos = 11.*GeoModelKernelUnits::mm;  // z-Position of sensitive volume  
-  //const double Step = 2.*GeoModelKernelUnits::mm;  // wire-step size for MWPC5
+  const double SenPos = 11.*Gaudi::Units::mm;  // z-Position of sensitive volume  
+  //const double Step = 2.*Gaudi::Units::mm;  // wire-step size for MWPC5
 
   GeoBox* SenPlaneShape = new GeoBox(MWPCDxy, MWPCDxy, SenDz);  // Sensitive Volume fits across the MWPC in x,y
 
@@ -243,10 +244,10 @@ GeoVPhysVol* LArGeo::MWPCConstruction::GetEnvelope()
   GeoPhysVol* XPlanePhysical = new GeoPhysVol( XPlaneLogical );
   GeoPhysVol* YPlanePhysical = new GeoPhysVol( YPlaneLogical );
   m_MWPCPhysical->add( new GeoIdentifierTag( 0 ) );
-  m_MWPCPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, (-SenPos) ) ) );
+  m_MWPCPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm, (-SenPos) ) ) );
   m_MWPCPhysical->add( XPlanePhysical );  
   m_MWPCPhysical->add( new GeoIdentifierTag( 0 ) );
-  m_MWPCPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, (SenPos) ) ) );
+  m_MWPCPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm, (SenPos) ) ) );
   m_MWPCPhysical->add( YPlanePhysical );
   
  
@@ -276,15 +277,15 @@ GeoVPhysVol* LArGeo::MWPCConstruction::GetEnvelope()
   YPlanePhysical->add(sTSY);
 
 //.... Put wires into the X/Y "divisions"
-  const double WireDiam = 0.006*GeoModelKernelUnits::mm;
+  const double WireDiam = 0.006*Gaudi::Units::mm;
   const double WireLen = MWPCDxy;
-  GeoTubs* WireShape = new GeoTubs(0.*GeoModelKernelUnits::cm, WireDiam/2., WireLen , 0.*GeoModelKernelUnits::deg,360.*GeoModelKernelUnits::deg); 
+  GeoTubs* WireShape = new GeoTubs(0.*Gaudi::Units::cm, WireDiam/2., WireLen , 0.*Gaudi::Units::deg,360.*Gaudi::Units::deg); 
   std::string WireName = MWPCName + "::Wire";
   GeoLogVol* WireLogical = new GeoLogVol(WireName, WireShape, Tungsten);  
   GeoPhysVol* WirePhysical = new GeoPhysVol( WireLogical );
-  XDivPhysical->add(new GeoTransform(GeoTrf::RotateX3D( 90.*GeoModelKernelUnits::deg )));
+  XDivPhysical->add(new GeoTransform(GeoTrf::RotateX3D( 90.*Gaudi::Units::deg )));
   XDivPhysical->add(WirePhysical);
-  YDivPhysical->add(new GeoTransform(GeoTrf::RotateY3D( 90.*GeoModelKernelUnits::deg )));
+  YDivPhysical->add(new GeoTransform(GeoTrf::RotateY3D( 90.*Gaudi::Units::deg )));
   YDivPhysical->add(WirePhysical);
 
 
diff --git a/LArCalorimeter/LArGeoModel/LArGeoH6Cryostats/src/WallsConstruction.cxx b/LArCalorimeter/LArGeoModel/LArGeoH6Cryostats/src/WallsConstruction.cxx
index a8f7cb567bef..2a27e03f97aa 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoH6Cryostats/src/WallsConstruction.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoH6Cryostats/src/WallsConstruction.cxx
@@ -23,7 +23,6 @@
 #include "GeoModelKernel/GeoIdentifierTag.h"  
 #include "GeoModelKernel/GeoSerialDenominator.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
 #include "StoreGate/StoreGateSvc.h"
 #include "GeoModelInterfaces/AbsMaterialManager.h"
 #include "GeoModelInterfaces/StoredMaterialManager.h"
@@ -42,6 +41,7 @@
 #include "StoreGate/StoreGateSvc.h"
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <string>
 #include <cmath>
@@ -117,7 +117,7 @@ GeoVPhysVol* LArGeo::WallsConstruction::GetEnvelope()
 
   // Is this ok for the Scintillator?
   // I don't really know for sure what kind of a scintillator we have.
-  // Lots of Scintillators are PMMA (Plexiglas), which has a composition of C5 H8 O2 and density 1.18 GeoModelKernelUnits::g/GeoModelKernelUnits::cm3
+  // Lots of Scintillators are PMMA (Plexiglas), which has a composition of C5 H8 O2 and density 1.18 g/cm3
   // The Tile uses a composition of C H (density 1.032)    
   // The old Walls testbeam code uses a composition of C9 H10 (density 1.032)
   // ... because it's easiest at the moment and not all that different from the fractional
@@ -157,9 +157,9 @@ GeoVPhysVol* LArGeo::WallsConstruction::GetEnvelope()
   std::string baseName = "LAr::TBH6";
   std::string WallsName = baseName + "::Walls";
 
-  const double WallsX   = 1500.*GeoModelKernelUnits::mm;
-  const double WallsY   = 2000.*GeoModelKernelUnits::mm;
-  const double WallsZ   = 560.5*GeoModelKernelUnits::mm;
+  const double WallsX   = 1500.*Gaudi::Units::mm;
+  const double WallsY   = 2000.*Gaudi::Units::mm;
+  const double WallsZ   = 560.5*Gaudi::Units::mm;
 
 
   GeoBox* WallsShape = new GeoBox( WallsX, WallsY, WallsZ );   
@@ -176,13 +176,13 @@ GeoVPhysVol* LArGeo::WallsConstruction::GetEnvelope()
 
   (*m_msg) << "Create Iron Wall " << endmsg;
   
-  const double IronX =  1499.*GeoModelKernelUnits::mm;
-  const double IronY =  1999.*GeoModelKernelUnits::mm;
-  const double IronZ =  200.0*GeoModelKernelUnits::mm;
-  const double IronHoleX =   51.5*GeoModelKernelUnits::mm;
-  const double IronHoleY =  1999.*GeoModelKernelUnits::mm;
-  const double IronHoleZ =   200.*GeoModelKernelUnits::mm;
-  const double IronPosZ  =   270.*GeoModelKernelUnits::mm;
+  const double IronX =  1499.*Gaudi::Units::mm;
+  const double IronY =  1999.*Gaudi::Units::mm;
+  const double IronZ =  200.0*Gaudi::Units::mm;
+  const double IronHoleX =   51.5*Gaudi::Units::mm;
+  const double IronHoleY =  1999.*Gaudi::Units::mm;
+  const double IronHoleZ =   200.*Gaudi::Units::mm;
+  const double IronPosZ  =   270.*Gaudi::Units::mm;
 
   // The wall itself:
   GeoBox* IronWallShape = new GeoBox(IronX, IronY, IronZ);  
@@ -198,7 +198,7 @@ GeoVPhysVol* LArGeo::WallsConstruction::GetEnvelope()
   IronWallPhysical->add(IronHolePhysical);
 
   // Add the iron wall to the Wall mother:
-  m_WallsPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*GeoModelKernelUnits::mm, 0.*GeoModelKernelUnits::mm, (WallsZ-IronPosZ) ) ) ) ; 
+  m_WallsPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*Gaudi::Units::mm, 0.*Gaudi::Units::mm, (WallsZ-IronPosZ) ) ) ) ; 
   m_WallsPhysical->add( new GeoNameTag(IronWallName) );
   m_WallsPhysical->add( IronWallPhysical );
   
@@ -210,13 +210,13 @@ GeoVPhysVol* LArGeo::WallsConstruction::GetEnvelope()
 
   (*m_msg) << "Create Lead Wall " << endmsg;
   
-  const double LeadX =  1499.*GeoModelKernelUnits::mm;
-  const double LeadY =  1999.*GeoModelKernelUnits::mm;
-  const double LeadZ =     6.*GeoModelKernelUnits::mm;
-  const double LeadHoleX =  23.5*GeoModelKernelUnits::mm;
-  const double LeadHoleY = 1999.*GeoModelKernelUnits::mm; 
-  const double LeadHoleZ =    6.*GeoModelKernelUnits::mm;
-  const double LeadPosZ  = 1045.*GeoModelKernelUnits::mm;
+  const double LeadX =  1499.*Gaudi::Units::mm;
+  const double LeadY =  1999.*Gaudi::Units::mm;
+  const double LeadZ =     6.*Gaudi::Units::mm;
+  const double LeadHoleX =  23.5*Gaudi::Units::mm;
+  const double LeadHoleY = 1999.*Gaudi::Units::mm; 
+  const double LeadHoleZ =    6.*Gaudi::Units::mm;
+  const double LeadPosZ  = 1045.*Gaudi::Units::mm;
 
   // The wall itself:
   GeoBox* LeadWallShape = new GeoBox(LeadX, LeadY, LeadZ);  
@@ -232,7 +232,7 @@ GeoVPhysVol* LArGeo::WallsConstruction::GetEnvelope()
   LeadWallPhysical->add(LeadHolePhysical);
 
   // Add the lead wall to the Wall mother:
-  m_WallsPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*GeoModelKernelUnits::mm, 0.*GeoModelKernelUnits::mm, (WallsZ-LeadPosZ) ) ) ) ; 
+  m_WallsPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*Gaudi::Units::mm, 0.*Gaudi::Units::mm, (WallsZ-LeadPosZ) ) ) ) ; 
   m_WallsPhysical->add( new GeoNameTag(LeadWallName) );
   m_WallsPhysical->add( LeadWallPhysical );
   
@@ -243,13 +243,13 @@ GeoVPhysVol* LArGeo::WallsConstruction::GetEnvelope()
 
   (*m_msg) << "Create Scint Wall " << endmsg;
   
-  const double ScintX =  1499.*GeoModelKernelUnits::mm;
-  const double ScintY =  1999.*GeoModelKernelUnits::mm;
-  const double ScintZ =    6.5*GeoModelKernelUnits::mm;
-  const double ScintHoleX =  92.5*GeoModelKernelUnits::mm;
-  const double ScintHoleY = 1999.*GeoModelKernelUnits::mm; 
-  const double ScintHoleZ =   6.5*GeoModelKernelUnits::mm;
-  const double ScintPosZ  =  625.*GeoModelKernelUnits::mm;
+  const double ScintX =  1499.*Gaudi::Units::mm;
+  const double ScintY =  1999.*Gaudi::Units::mm;
+  const double ScintZ =    6.5*Gaudi::Units::mm;
+  const double ScintHoleX =  92.5*Gaudi::Units::mm;
+  const double ScintHoleY = 1999.*Gaudi::Units::mm; 
+  const double ScintHoleZ =   6.5*Gaudi::Units::mm;
+  const double ScintPosZ  =  625.*Gaudi::Units::mm;
 
   // The wall itself:
   GeoBox* ScintWallShape = new GeoBox(ScintX, ScintY, ScintZ);  
@@ -265,7 +265,7 @@ GeoVPhysVol* LArGeo::WallsConstruction::GetEnvelope()
   ScintWallPhysical->add(ScintHolePhysical);
 
   // Add the scintillator wall to the Wall mother:
-  m_WallsPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*GeoModelKernelUnits::mm, 0.*GeoModelKernelUnits::mm, (WallsZ-ScintPosZ) ) ) ) ; 
+  m_WallsPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*Gaudi::Units::mm, 0.*Gaudi::Units::mm, (WallsZ-ScintPosZ) ) ) ) ; 
   m_WallsPhysical->add( new GeoNameTag(ScintWallName) );
   m_WallsPhysical->add( ScintWallPhysical );
   
@@ -277,10 +277,10 @@ GeoVPhysVol* LArGeo::WallsConstruction::GetEnvelope()
 
   //(*m_msg) << "Create Iron Plate " << endmsg;
   
-  const double IronPlateX =   50.*GeoModelKernelUnits::mm;
-  const double IronPlateY =  150.*GeoModelKernelUnits::mm;
-  const double IronPlateZ =    4.*GeoModelKernelUnits::mm;
-  const double IronPlatePosZ  =  493.*GeoModelKernelUnits::mm;
+  const double IronPlateX =   50.*Gaudi::Units::mm;
+  const double IronPlateY =  150.*Gaudi::Units::mm;
+  const double IronPlateZ =    4.*Gaudi::Units::mm;
+  const double IronPlatePosZ  =  493.*Gaudi::Units::mm;
   const int nPlate = 0 ;
   const int PlatePlace = 1 ; // There were two locations used for these plates - unclear which one when and exactly 
                              //            where they were....! For the moment, sort of copy the standalone code
@@ -309,7 +309,7 @@ GeoVPhysVol* LArGeo::WallsConstruction::GetEnvelope()
     // Add the iron plate to the Plate mother:
     for (int iz=0; iz<(nPlate); iz++) {
       m_WallsPhysical->add( new GeoIdentifierTag(iz) );
-      m_WallsPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*GeoModelKernelUnits::mm, 0.*GeoModelKernelUnits::mm, double(PlatePlace)*(v_PlateZ[iz]) ) ) ) ; 
+      m_WallsPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*Gaudi::Units::mm, 0.*Gaudi::Units::mm, double(PlatePlace)*(v_PlateZ[iz]) ) ) ) ; 
       m_WallsPhysical->add( new GeoNameTag(IronPlateName) );
       m_WallsPhysical->add( IronPlatePhysical );
     }
diff --git a/LArCalorimeter/LArGeoModel/LArGeoTBBarrel/src/TBBarrelCryostatConstruction.cxx b/LArCalorimeter/LArGeoModel/LArGeoTBBarrel/src/TBBarrelCryostatConstruction.cxx
index 38752f5b5b5c..3e9aa5ea9bf2 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoTBBarrel/src/TBBarrelCryostatConstruction.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoTBBarrel/src/TBBarrelCryostatConstruction.cxx
@@ -27,6 +27,7 @@
 #include "StoreGate/StoreGateSvc.h"
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/PhysicalConstants.h"
 #include "GeoModelUtilities/StoredPhysVol.h"
 #include "GeoModelUtilities/StoredAlignX.h"
 
@@ -124,14 +125,14 @@ GeoFullPhysVol* LArGeo::TBBarrelCryostatConstruction::GetEnvelope()
     throw std::runtime_error("Error in TBBarrelCryostatConstruction, oxygen not found.");
   }
 
-  GeoMaterial *Vacuum = new GeoMaterial("Vacuum",GeoModelKernelUnits::universe_mean_density );
+  GeoMaterial *Vacuum = new GeoMaterial("Vacuum",Gaudi::Units::universe_mean_density );
   Vacuum->add(Hydrogen,1.);
   Vacuum->lock();
 
 // define material for FOAM (C5H8O2)
 // latest density value from P.Puzo (october 2003)
 //
-  double density = 0.058*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3;
+  double density = 0.058*GeoModelKernelUnits::g/Gaudi::Units::cm3;
     GeoMaterial* Foam = new GeoMaterial("Foam", density);
     double fraction=8*1.01/(5*12.01+8*1.01+2.*16.0);
     Foam->add(Hydrogen,fraction);
@@ -164,7 +165,7 @@ GeoFullPhysVol* LArGeo::TBBarrelCryostatConstruction::GetEnvelope()
      std::cout << " Plane zp/ri/ro " << zp[i] << " " << ri[i] << " " << ro[i] << std::endl;
     }
 #endif
-    GeoPcon* Em_pcone = new GeoPcon(-25.*GeoModelKernelUnits::deg,50.*GeoModelKernelUnits::deg);
+    GeoPcon* Em_pcone = new GeoPcon(-25.*Gaudi::Units::deg,50.*Gaudi::Units::deg);
     for (int i=0; i < 3; i++) Em_pcone->addPlane(zp[i],ri[i],ro[i]);
 
     const GeoLogVol* cryoMotherLogical = 
@@ -175,20 +176,20 @@ GeoFullPhysVol* LArGeo::TBBarrelCryostatConstruction::GetEnvelope()
 
 // Cryostat geometry
 
-    double  Cryo_Distz = 483.5*GeoModelKernelUnits::cm;   // total size in z
-    double  Cryo_z0 = 103.0*GeoModelKernelUnits::cm;       // eta=0 position wrt cryosta edge at z<0
+    double  Cryo_Distz = 483.5*Gaudi::Units::cm;   // total size in z
+    double  Cryo_z0 = 103.0*Gaudi::Units::cm;       // eta=0 position wrt cryosta edge at z<0
 
-    double  DeltaR_cold = 4.1*GeoModelKernelUnits::cm;    // thickness cold vessel before calo
-    double  DeltaRout_cold = 5.0*GeoModelKernelUnits::cm;    // thickness cold vessel after calo
+    double  DeltaR_cold = 4.1*Gaudi::Units::cm;    // thickness cold vessel before calo
+    double  DeltaRout_cold = 5.0*Gaudi::Units::cm;    // thickness cold vessel after calo
 
-    double  DeltaR_warm= 3.86*GeoModelKernelUnits::cm;    // thickness warm vessel before calo
-    double  DeltaRout_warm = 4.0*GeoModelKernelUnits::cm;    // thickness warm vessel after calo
+    double  DeltaR_warm= 3.86*Gaudi::Units::cm;    // thickness warm vessel before calo
+    double  DeltaRout_warm = 4.0*Gaudi::Units::cm;    // thickness warm vessel after calo
 
-    double  DeltaRout_vac = 3.0*GeoModelKernelUnits::cm;  // vacuum space cryo after calo
+    double  DeltaRout_vac = 3.0*Gaudi::Units::cm;  // vacuum space cryo after calo
 
-    double Dz_end_warm = 7.0*GeoModelKernelUnits::cm;   // thickness of end plate at high z
-    double Dz_end_vac  = 8.0*GeoModelKernelUnits::cm;   
-    double Dz_end_cold = 7.0*GeoModelKernelUnits::cm;
+    double Dz_end_warm = 7.0*Gaudi::Units::cm;   // thickness of end plate at high z
+    double Dz_end_vac  = 8.0*Gaudi::Units::cm;   
+    double Dz_end_cold = 7.0*Gaudi::Units::cm;
 
     double Dz_end_tot = Dz_end_warm + Dz_end_vac + Dz_end_cold;
 
@@ -207,13 +208,13 @@ GeoFullPhysVol* LArGeo::TBBarrelCryostatConstruction::GetEnvelope()
     double  Rmin_mother = Cryo_Xcent-Cryo_Rmax_W;
     double  Rmax_mother = 2270.;
 
-    double Phi_Min = -5.0 * GeoModelKernelUnits::deg;
-    double Phi_Span = 32.5 * GeoModelKernelUnits::deg;
+    double Phi_Min = -5.0 * Gaudi::Units::deg;
+    double Phi_Span = 32.5 * Gaudi::Units::deg;
 // GU 10/09/2004
 // For cryostat mother volume, sligthly larger phi range
 //  to avoid clash with front cryostat
-    double Phi_Min_Moth=-9.0*GeoModelKernelUnits::deg;
-    double Phi_Span_Moth=38.5*GeoModelKernelUnits::deg;
+    double Phi_Min_Moth=-9.0*Gaudi::Units::deg;
+    double Phi_Span_Moth=38.5*Gaudi::Units::deg;
 
 // -----------------------------------------------------------------
 // Mother volume for Cryostat, filled with foam
@@ -225,8 +226,8 @@ GeoFullPhysVol* LArGeo::TBBarrelCryostatConstruction::GetEnvelope()
     std::cout << "   (matter = foam) " << std::endl;
     std::cout << " Rmin/Rmax " << Rmin_mother << " " << Rmax_mother << std::endl;
     std::cout << " Dz/2 " << Cryo_Distz/2. << std::endl;
-    std::cout << " PhiMin, Span " << Phi_Min_Moth*(1./GeoModelKernelUnits::deg) << " "
-              << Phi_Span_Moth*(1./GeoModelKernelUnits::deg) << std::endl;
+    std::cout << " PhiMin, Span " << Phi_Min_Moth*(1./Gaudi::Units::deg) << " "
+              << Phi_Span_Moth*(1./Gaudi::Units::deg) << std::endl;
 #endif
 
     GeoTubs* Cent_tube = new GeoTubs(Rmin_mother,
@@ -237,7 +238,7 @@ GeoFullPhysVol* LArGeo::TBBarrelCryostatConstruction::GetEnvelope()
     GeoLogVol* Cent_log = new GeoLogVol(baseName+"Mother",Cent_tube,Foam);
 //  position in Pcon mother envelope (which has Atlas reference frame)
      double zpos = Cryo_Distz/2.-Cryo_z0;
-     double phi  = -1.*360.*GeoModelKernelUnits::deg/16/2.;   // to have x axis in middle of volume
+     double phi  = -1.*360.*Gaudi::Units::deg/16/2.;   // to have x axis in middle of volume
 
     GeoPhysVol* Cent_phys  = new GeoPhysVol(Cent_log);
     cryoMotherPhysical->add(new GeoTransform(GeoTrf::RotateZ3D(phi)));
@@ -255,7 +256,7 @@ GeoFullPhysVol* LArGeo::TBBarrelCryostatConstruction::GetEnvelope()
     std::cout << " " << std::endl;
     std::cout << " ** Cryostat before LAr (shape=Tubs)" << std::endl;
     std::cout << " center in x = " << Cryo_Xcent  << std::endl;
-    std::cout << " angle 180-11 GeoModelKernelUnits::deg, span = 14 GeoModelKernelUnits::deg" << std::endl;
+    std::cout << " angle 180-11 deg, span = 14 deg" << std::endl;
     std::cout << " R warm vessel " << Cryo_Rmin_W << " "
                                    << Cryo_Rmax_W << std::endl;
     std::cout << " R vacuum      " << Cryo_Rmax_C << " "
@@ -270,8 +271,8 @@ GeoFullPhysVol* LArGeo::TBBarrelCryostatConstruction::GetEnvelope()
                                     Cryo_Rmin_W,
                                     Cryo_Rmax_W,
                                     (Cryo_Distz-Dz_end_tot)/2.,
-                                    (180.-11.)*GeoModelKernelUnits::deg,
-                                    14.*GeoModelKernelUnits::deg);
+                                    (180.-11.)*Gaudi::Units::deg,
+                                    14.*Gaudi::Units::deg);
 
     GeoLogVol* CryoW_log = new GeoLogVol(baseName+"WarmTube",
                                                      CryoW_tube,
@@ -287,8 +288,8 @@ GeoFullPhysVol* LArGeo::TBBarrelCryostatConstruction::GetEnvelope()
                                     Cryo_Rmax_C,
                                     Cryo_Rmin_W,
                                     (Cryo_Distz-Dz_end_tot)/2.,
-                                    (180.-11.)*GeoModelKernelUnits::deg,
-                                    14.*GeoModelKernelUnits::deg);
+                                    (180.-11.)*Gaudi::Units::deg,
+                                    14.*Gaudi::Units::deg);
 
     GeoLogVol *CryoV_log = new GeoLogVol(baseName+"VacTube",
                                                CryoV_tube,
@@ -304,8 +305,8 @@ GeoFullPhysVol* LArGeo::TBBarrelCryostatConstruction::GetEnvelope()
                                     Cryo_Rmin_C,
                                     Cryo_Rmax_C,
                                     (Cryo_Distz-Dz_end_tot)/2.,
-                                    (180.-11.)*GeoModelKernelUnits::deg,
-                                    14.*GeoModelKernelUnits::deg);
+                                    (180.-11.)*Gaudi::Units::deg,
+                                    14.*Gaudi::Units::deg);
 
     GeoLogVol *CryoC_log = new GeoLogVol(baseName+"ColdTube",
                                                CryoC_tube,
@@ -324,7 +325,7 @@ GeoFullPhysVol* LArGeo::TBBarrelCryostatConstruction::GetEnvelope()
 // cold vessel of the cryostat after calo
 //-----------------------------------------------------------------------
 
-    double LAr_inner_radius=141.00*GeoModelKernelUnits::cm;   // min radius of PS
+    double LAr_inner_radius=141.00*Gaudi::Units::cm;   // min radius of PS
     double LAr_outer_radius=Rmax_mother-DeltaRout_warm-DeltaRout_cold
                                          -DeltaRout_vac;
 
@@ -335,8 +336,8 @@ GeoFullPhysVol* LArGeo::TBBarrelCryostatConstruction::GetEnvelope()
     std::cout << " *** LAr volume (tubs put in foam)" << std::endl;
     std::cout << "Rmin/Rmax " << LAr_inner_radius << " "
                               << LAr_outer_radius << std::endl;
-    std::cout << "PhiMin,Span " << Phi_Min*(1./GeoModelKernelUnits::deg) << " "
-                                << Phi_Span*(1./GeoModelKernelUnits::deg) << std::endl;
+    std::cout << "PhiMin,Span " << Phi_Min*(1./Gaudi::Units::deg) << " "
+                                << Phi_Span*(1./Gaudi::Units::deg) << std::endl;
     std::cout << "DeltaZ/2 " << LAr_z_max/2. << std::endl;
     std::cout << "Position in z in mother " << (LAr_z_max-Cryo_Distz)/2. << std::endl;
 #endif
@@ -369,27 +370,27 @@ GeoFullPhysVol* LArGeo::TBBarrelCryostatConstruction::GetEnvelope()
 //    5.5mm at mid bottom and 0.5 mm at bottom
 
 // modified 17-Aug-05
-// the measured thickness are at 0, 22.5/4, 22.5/2, 3*22.5/4 and 22.5 GeoModelKernelUnits::deg
+// the measured thickness are at 0, 22.5/4, 22.5/2, 3*22.5/4 and 22.5 deg
 // so define the regions in phi to be better centered on the measurements
 // and to cover:
 //   -  0 to 22.5/8 deg  = bottom thickness => need 9.5 - 9mm = 0.5mm Ar
 //   - 22.5/8 to 3*22.5/8 deg = mid bottom => need 7.5-2mm    = 5.5mm Ar
-//   - 3*22.5/8 to 5*22.5/8 GeoModelKernelUnits::deg = mid => need 14.5-9 = 5.5 GeoModelKernelUnits::mm Ar
+//   - 3*22.5/8 to 5*22.5/8 deg = mid => need 14.5-9 = 5.5 mm Ar
 //   - 5*22.5/8 to 7*22.5/8 deg = mid top => need 12.5-2mm = 10.5mm Ar
-//   - 7*22.5/8 to 22.5/8 GeoModelKernelUnits::deg   = top     => need 18.5-9 = 9.5 GeoModelKernelUnits::mm Ar
+//   - 7*22.5/8 to 22.5/8 deg   = top     => need 18.5-9 = 9.5 mm Ar
 
 #ifdef BUILD_LARFOAM
 
-    double delta_LAr[5]={0.5*GeoModelKernelUnits::mm,5.5*GeoModelKernelUnits::mm,5.5*GeoModelKernelUnits::mm,10.5*GeoModelKernelUnits::mm,9.5*GeoModelKernelUnits::mm};
-    double Phi1[5]={0.*GeoModelKernelUnits::deg,22.5/8.*GeoModelKernelUnits::deg,3.*22.5/8*GeoModelKernelUnits::deg,5.*22.5/8*GeoModelKernelUnits::deg,7.*22.5/8*GeoModelKernelUnits::deg};
-    double Delta_phi[5]={22.5/8*GeoModelKernelUnits::deg, 2.*22.5/8.*GeoModelKernelUnits::deg,2.*22.5/8.*GeoModelKernelUnits::deg,2.*22.5/8.*GeoModelKernelUnits::deg,22.5/8.*GeoModelKernelUnits::deg};
+    double delta_LAr[5]={0.5*Gaudi::Units::mm,5.5*Gaudi::Units::mm,5.5*Gaudi::Units::mm,10.5*Gaudi::Units::mm,9.5*Gaudi::Units::mm};
+    double Phi1[5]={0.*Gaudi::Units::deg,22.5/8.*Gaudi::Units::deg,3.*22.5/8*Gaudi::Units::deg,5.*22.5/8*Gaudi::Units::deg,7.*22.5/8*Gaudi::Units::deg};
+    double Delta_phi[5]={22.5/8*Gaudi::Units::deg, 2.*22.5/8.*Gaudi::Units::deg,2.*22.5/8.*Gaudi::Units::deg,2.*22.5/8.*Gaudi::Units::deg,22.5/8.*Gaudi::Units::deg};
 
 // GU 08-dec-2005
 // additionnal LAr fudged before presampler to get better agreement
 //  waiting for Rhoacell measurement to know if this is reasonnable or not
 //  this should be now considered as a systematics
 //  25mm LAr ~ 0.18 X0
-//    double fudge_lar_gap = 25.*GeoModelKernelUnits::mm;
+//    double fudge_lar_gap = 25.*mm;
 // GU 28--feb-2006   removed this fudge 25mm, not supported by measurements of Rohacell
 
     for (int ilar=0;ilar<5;ilar++) {
@@ -398,7 +399,7 @@ GeoFullPhysVol* LArGeo::TBBarrelCryostatConstruction::GetEnvelope()
 
 #ifdef DEBUG_GEO
       std::cout << " Ar additionnal volume before PS " << r1 << " "
-                << r2 << " " << Phi1[ilar]*(1./GeoModelKernelUnits::deg) << " " << Delta_phi[ilar]*(1./GeoModelKernelUnits::deg) << std::endl;
+                << r2 << " " << Phi1[ilar]*(1./Gaudi::Units::deg) << " " << Delta_phi[ilar]*(1./Gaudi::Units::deg) << std::endl;
 #endif
 
       GeoTubs* lar_tube = new GeoTubs(r1,
@@ -419,7 +420,7 @@ GeoFullPhysVol* LArGeo::TBBarrelCryostatConstruction::GetEnvelope()
 // Outer support rings: 6 steel rings, starting just
 //   after Barrel volume (G10 bars) (r=2003.6)
 //   DZ=80mm for DR=12mm, then DZ=10mm for DR=757mm then DZ=80mm for DR=12mm
-//   at locations z=397,805,1255,1750,2316,2868 GeoModelKernelUnits::mm
+//   at locations z=397,805,1255,1750,2316,2868 mm
 #ifdef BUILD_SUPPORTRING
 
      double R_ring = 2003.6; 
@@ -653,10 +654,10 @@ GeoFullPhysVol* LArGeo::TBBarrelCryostatConstruction::GetEnvelope()
 
 //   Zcd = 1582.5-LAr_z_max/2.+Cryo_z0;
 // new value of PS mother lenght
-//       Zcd = 1550.0*GeoModelKernelUnits::mm-LAr_z_max/2.+Cryo_z0;
+//       Zcd = 1550.0*mm-LAr_z_max/2.+Cryo_z0;
 // also the PS is shifted by 3mm to start at z=3mm in Atlas equivalent frame
-       double PresamplerMother_length=1549.*GeoModelKernelUnits::mm;
-       double presamplerShift = 3.*GeoModelKernelUnits::mm;
+       double PresamplerMother_length=1549.*Gaudi::Units::mm;
+       double presamplerShift = 3.*Gaudi::Units::mm;
        Zcd = presamplerShift+PresamplerMother_length-LAr_z_max/2.+Cryo_z0;
 
 #ifdef DEBUG_GEO
diff --git a/LArCalorimeter/LArGeoModel/LArGeoTBEC/src/CryostatConstructionTBEC.cxx b/LArCalorimeter/LArGeoModel/LArGeoTBEC/src/CryostatConstructionTBEC.cxx
index 693d4358da90..71b88f6326cd 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoTBEC/src/CryostatConstructionTBEC.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoTBEC/src/CryostatConstructionTBEC.cxx
@@ -23,7 +23,6 @@
 #include "GeoModelKernel/GeoAlignableTransform.h"  
 #include "GeoModelKernel/GeoIdentifierTag.h"  
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
 #include "StoreGate/StoreGateSvc.h"
 #include "GeoModelInterfaces/AbsMaterialManager.h"
 #include "GeoModelInterfaces/StoredMaterialManager.h"
@@ -33,6 +32,7 @@
 #include "StoreGate/StoreGateSvc.h"
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <string>
 #include <cmath>
@@ -115,7 +115,7 @@ GeoVFullPhysVol* LArGeo::CryostatConstructionTBEC::GetEnvelope()
   // accordingly.
 
   std::string cryoMotherName = baseName + "::MotherVolume";
-  GeoBox* cryoMotherShape = new GeoBox( 152.*GeoModelKernelUnits::cm, 195.*GeoModelKernelUnits::cm, 60.09*GeoModelKernelUnits::cm );
+  GeoBox* cryoMotherShape = new GeoBox( 152.*Gaudi::Units::cm, 195.*Gaudi::Units::cm, 60.09*Gaudi::Units::cm );
   const GeoLogVol* cryoMotherLogical = new GeoLogVol( cryoMotherName, cryoMotherShape, Air );
   //GeoFullPhysVol* m_cryoEnvelopePhysical = new GeoFullPhysVol( cryoMotherLogical );
   m_cryoEnvelopePhysical = new GeoFullPhysVol( cryoMotherLogical );
@@ -123,126 +123,126 @@ GeoVFullPhysVol* LArGeo::CryostatConstructionTBEC::GetEnvelope()
   // Cryostat walls
   
   std::string ExtWallName = baseName + "::ExternalWarmWall";
-  GeoBox* ExtWallShape = new GeoBox( 152.*GeoModelKernelUnits::cm, 195.*GeoModelKernelUnits::cm, 60.09*GeoModelKernelUnits::cm );
+  GeoBox* ExtWallShape = new GeoBox( 152.*Gaudi::Units::cm, 195.*Gaudi::Units::cm, 60.09*Gaudi::Units::cm );
   const GeoLogVol* ExtWallLogical = new GeoLogVol( ExtWallName, ExtWallShape, Al );
   GeoPhysVol* ExtWallPhysical = new GeoPhysVol( ExtWallLogical );
   
   std::string WallName = baseName + "::WarmWallInterval";
-  GeoBox* WallShape = new GeoBox( ( 152. - 0.8 )*GeoModelKernelUnits::cm, ( 195. - 0.8 )*GeoModelKernelUnits::cm, ( 60.09 - 0.8 )*GeoModelKernelUnits::cm );
+  GeoBox* WallShape = new GeoBox( ( 152. - 0.8 )*Gaudi::Units::cm, ( 195. - 0.8 )*Gaudi::Units::cm, ( 60.09 - 0.8 )*Gaudi::Units::cm );
   const GeoLogVol* WallLogical = new GeoLogVol( WallName, WallShape, Vacuum );
   GeoPhysVol* WallPhysical = new GeoPhysVol( WallLogical );
   
   std::string IntWallName = baseName + "::InternalWarmWall";
-  GeoBox* IntWallShape = new GeoBox( 148.4*GeoModelKernelUnits::cm, 191.6*GeoModelKernelUnits::cm, 46.8*GeoModelKernelUnits::cm );
+  GeoBox* IntWallShape = new GeoBox( 148.4*Gaudi::Units::cm, 191.6*Gaudi::Units::cm, 46.8*Gaudi::Units::cm );
   const GeoLogVol* IntWallLogical = new GeoLogVol( IntWallName, IntWallShape, Al );
   GeoPhysVol* IntWallPhysical = new GeoPhysVol( IntWallLogical );
   
   std::string VacuumName = baseName + "::Vacuum";
-  GeoBox* VacuumShape = new GeoBox( ( 148.4 - 0.8 )*GeoModelKernelUnits::cm, ( 191.6 - 0.8 )*GeoModelKernelUnits::cm, ( 46.8 - 0.8 )*GeoModelKernelUnits::cm );
+  GeoBox* VacuumShape = new GeoBox( ( 148.4 - 0.8 )*Gaudi::Units::cm, ( 191.6 - 0.8 )*Gaudi::Units::cm, ( 46.8 - 0.8 )*Gaudi::Units::cm );
   const GeoLogVol* VacuumLogical = new GeoLogVol( VacuumName, VacuumShape, Vacuum );
   GeoPhysVol* VacuumPhysical = new GeoPhysVol( VacuumLogical );
   
   std::string ColdWallName = baseName + "::ColdWall";
-  GeoBox* ColdWallShape = new GeoBox( 142.5*GeoModelKernelUnits::cm, 184.85*GeoModelKernelUnits::cm, 38.*GeoModelKernelUnits::cm );
+  GeoBox* ColdWallShape = new GeoBox( 142.5*Gaudi::Units::cm, 184.85*Gaudi::Units::cm, 38.*Gaudi::Units::cm );
   const GeoLogVol* ColdWallLogical = new GeoLogVol( ColdWallName, ColdWallShape, Iron );
   GeoPhysVol* ColdWallPhysical = new GeoPhysVol( ColdWallLogical );
   
   std::string LArName = baseName + "::LiquidArgon";
-  GeoBox* LArShape = new GeoBox( ( 142.5 - .5 )*GeoModelKernelUnits::cm, ( 184.85 - .5 )*GeoModelKernelUnits::cm, ( 38. - .5 )*GeoModelKernelUnits::cm );
+  GeoBox* LArShape = new GeoBox( ( 142.5 - .5 )*Gaudi::Units::cm, ( 184.85 - .5 )*Gaudi::Units::cm, ( 38. - .5 )*Gaudi::Units::cm );
   const GeoLogVol* LArLogical = new GeoLogVol( LArName, LArShape, LAr );
   // GeoPhysVol* m_LArPhysical = new GeoPhysVol( LArLogical );
   m_LArPhysical = new GeoPhysVol( LArLogical );
   
   ColdWallPhysical->add( new GeoIdentifierTag( 1 ) );
-  ColdWallPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm ) ) );
+  ColdWallPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm ) ) );
   ColdWallPhysical->add( m_LArPhysical );
   
   VacuumPhysical->add( new GeoIdentifierTag( 1 ) );
-  VacuumPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm ) ) );
+  VacuumPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm ) ) );
   VacuumPhysical->add( ColdWallPhysical );
   
   IntWallPhysical->add( new GeoIdentifierTag( 1 ) );
-  IntWallPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm ) ) );
+  IntWallPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm ) ) );
   IntWallPhysical->add( VacuumPhysical );
   
   WallPhysical->add( new GeoIdentifierTag( 1 ) );
-  WallPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm ) ) );
+  WallPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm ) ) );
   WallPhysical->add( IntWallPhysical );
   
   ExtWallPhysical->add( new GeoIdentifierTag( 1 ) );
-  ExtWallPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm ) ) );
+  ExtWallPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm ) ) );
   ExtWallPhysical->add( WallPhysical );
   
   m_cryoEnvelopePhysical->add( new GeoIdentifierTag( 1 ) );
-  m_cryoEnvelopePhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm ) ) );					   
+  m_cryoEnvelopePhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm ) ) );					   
   m_cryoEnvelopePhysical->add( ExtWallPhysical );
   
   // Pressure cone
   
   std::string PConeName = baseName + "::PressureCone::Mother";
-  GeoTubs* PConeShape = new GeoTubs( 0.*GeoModelKernelUnits::cm, 6.5*GeoModelKernelUnits::cm, 4.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::deg, 360.*GeoModelKernelUnits::deg );
+  GeoTubs* PConeShape = new GeoTubs( 0.*Gaudi::Units::cm, 6.5*Gaudi::Units::cm, 4.*Gaudi::Units::cm, 0.*Gaudi::Units::deg, 360.*Gaudi::Units::deg );
   const GeoLogVol* PConeLogical = new GeoLogVol( PConeName, PConeShape, Vacuum );
   GeoPhysVol* PConePhysical = new GeoPhysVol( PConeLogical );
   
   std::string IntFlangeName = baseName + "::PressureCone::InternalFlange";
-  GeoTubs* IntFlangeShape = new GeoTubs( 0.*GeoModelKernelUnits::cm, 4.9*GeoModelKernelUnits::cm, 0.4*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::deg, 360.*GeoModelKernelUnits::deg );
+  GeoTubs* IntFlangeShape = new GeoTubs( 0.*Gaudi::Units::cm, 4.9*Gaudi::Units::cm, 0.4*Gaudi::Units::cm, 0.*Gaudi::Units::deg, 360.*Gaudi::Units::deg );
   const GeoLogVol* IntFlangeLogical = new GeoLogVol( IntFlangeName, IntFlangeShape, Gten );
   GeoPhysVol* IntFlangePhysical = new GeoPhysVol( IntFlangeLogical );
   
   std::string ExtFlangeName = baseName + "::PressureCone::ExternalFlange";
-  GeoTubs* ExtFlangeShape = new GeoTubs( 5.*GeoModelKernelUnits::cm, 6.5*GeoModelKernelUnits::cm, 0.4*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::deg, 360.*GeoModelKernelUnits::deg );
+  GeoTubs* ExtFlangeShape = new GeoTubs( 5.*Gaudi::Units::cm, 6.5*Gaudi::Units::cm, 0.4*Gaudi::Units::cm, 0.*Gaudi::Units::deg, 360.*Gaudi::Units::deg );
   const GeoLogVol* ExtFlangeLogical = new GeoLogVol( ExtFlangeName, ExtFlangeShape, Gten );
   GeoPhysVol* ExtFlangePhysical = new GeoPhysVol( ExtFlangeLogical );
   
   std::string ConeName = baseName + "::PressureCone::Cone";
-  GeoCons* ConeShape = new GeoCons( 5.4*GeoModelKernelUnits::cm, 4.5*GeoModelKernelUnits::cm, 5.5*GeoModelKernelUnits::cm, 4.6*GeoModelKernelUnits::cm, 3.2*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::deg, 360.*GeoModelKernelUnits::deg );
+  GeoCons* ConeShape = new GeoCons( 5.4*Gaudi::Units::cm, 4.5*Gaudi::Units::cm, 5.5*Gaudi::Units::cm, 4.6*Gaudi::Units::cm, 3.2*Gaudi::Units::cm, 0.*Gaudi::Units::deg, 360.*Gaudi::Units::deg );
   const GeoLogVol* ConeLogical = new GeoLogVol( ConeName, ConeShape, Gten );
   GeoPhysVol* ConePhysical = new GeoPhysVol( ConeLogical );
   
   PConePhysical->add( new GeoIdentifierTag( 1 ) );
-  PConePhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, 3.6*GeoModelKernelUnits::cm ) ) );
+  PConePhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm, 3.6*Gaudi::Units::cm ) ) );
   PConePhysical->add( IntFlangePhysical );
   
   PConePhysical->add( new GeoIdentifierTag( 1 ) );
-  PConePhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, -3.6*GeoModelKernelUnits::cm ) ) );
+  PConePhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm, -3.6*Gaudi::Units::cm ) ) );
   PConePhysical->add( ExtFlangePhysical );
   
   PConePhysical->add( new GeoIdentifierTag( 1 ) );
-  PConePhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm ) ) );
+  PConePhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm ) ) );
   PConePhysical->add( ConePhysical );
   
   for ( int i  = 0; i < 3; i++ ) for ( int j = 0; j < 13; j++ ) {
-  	double x = 135.1*GeoModelKernelUnits::cm - 19.3*( j + 1 )*GeoModelKernelUnits::cm;
-	double y = 19.3*( i - 1 )*GeoModelKernelUnits::cm;
+  	double x = 135.1*Gaudi::Units::cm - 19.3*( j + 1 )*Gaudi::Units::cm;
+	double y = 19.3*( i - 1 )*Gaudi::Units::cm;
 	VacuumPhysical->add( new GeoIdentifierTag( 1 + i*13 + j ) );
-  	VacuumPhysical->add( new GeoTransform( GeoTrf::Translate3D( x, y, -42.*GeoModelKernelUnits::cm ) ) );
+  	VacuumPhysical->add( new GeoTransform( GeoTrf::Translate3D( x, y, -42.*Gaudi::Units::cm ) ) );
   	VacuumPhysical->add( PConePhysical );
   }
   
   // Zig-zag structure
   
   std::string ZigZagMotherName = baseName + "::ZigZag::Mother";
-  GeoBox* ZigZagMotherShape = new GeoBox( 130.*GeoModelKernelUnits::cm, 15.*GeoModelKernelUnits::cm, 6.45*GeoModelKernelUnits::cm );
+  GeoBox* ZigZagMotherShape = new GeoBox( 130.*Gaudi::Units::cm, 15.*Gaudi::Units::cm, 6.45*Gaudi::Units::cm );
   const GeoLogVol* ZigZagMotherLogical = new GeoLogVol( ZigZagMotherName, ZigZagMotherShape, Vacuum );
   GeoPhysVol* ZigZagMotherPhysical = new GeoPhysVol( ZigZagMotherLogical );
   
   std::string ZigZagStrAName = baseName + "::ZigZag::StrA";
-  GeoBox* ZigZagStrAShape = new GeoBox( 2.45*GeoModelKernelUnits::cm, 5.*GeoModelKernelUnits::cm, .4*GeoModelKernelUnits::cm );
+  GeoBox* ZigZagStrAShape = new GeoBox( 2.45*Gaudi::Units::cm, 5.*Gaudi::Units::cm, .4*Gaudi::Units::cm );
   const GeoLogVol* ZigZagStrALogical = new GeoLogVol( ZigZagStrAName, ZigZagStrAShape, Al );
   GeoPhysVol* ZigZagStrAPhysical = new GeoPhysVol( ZigZagStrALogical );
   
   std::string ZigZagStrBName = baseName + "::ZigZag::StrB";
-  GeoBox* ZigZagStrBShape = new GeoBox( 8.53*GeoModelKernelUnits::cm, 5.*GeoModelKernelUnits::cm, .4*GeoModelKernelUnits::cm );
+  GeoBox* ZigZagStrBShape = new GeoBox( 8.53*Gaudi::Units::cm, 5.*Gaudi::Units::cm, .4*Gaudi::Units::cm );
   const GeoLogVol* ZigZagStrBLogical = new GeoLogVol( ZigZagStrBName, ZigZagStrBShape, Al );
   GeoPhysVol* ZigZagStrBPhysical = new GeoPhysVol( ZigZagStrBLogical );
   
   std::string ZigZagStrCName = baseName + "::ZigZag::StrC";
-  GeoTrd* ZigZagStrCShape = new GeoTrd( 1.03*GeoModelKernelUnits::cm, .453*GeoModelKernelUnits::cm, 5.*GeoModelKernelUnits::cm, 5.*GeoModelKernelUnits::cm, .283*GeoModelKernelUnits::cm );
+  GeoTrd* ZigZagStrCShape = new GeoTrd( 1.03*Gaudi::Units::cm, .453*Gaudi::Units::cm, 5.*Gaudi::Units::cm, 5.*Gaudi::Units::cm, .283*Gaudi::Units::cm );
   const GeoLogVol* ZigZagStrCLogical = new GeoLogVol( ZigZagStrCName, ZigZagStrCShape, Al );
   GeoPhysVol* ZigZagStrCPhysical = new GeoPhysVol( ZigZagStrCLogical );
   
   std::string ZigZagStrDName = baseName + "::ZigZag::StrD";
-  GeoTrd* ZigZagStrDShape = new GeoTrd( .005*GeoModelKernelUnits::cm, .31*GeoModelKernelUnits::cm, 5.*GeoModelKernelUnits::cm, 5.*GeoModelKernelUnits::cm, .365*GeoModelKernelUnits::cm );
+  GeoTrd* ZigZagStrDShape = new GeoTrd( .005*Gaudi::Units::cm, .31*Gaudi::Units::cm, 5.*Gaudi::Units::cm, 5.*Gaudi::Units::cm, .365*Gaudi::Units::cm );
   const GeoLogVol* ZigZagStrDLogical = new GeoLogVol( ZigZagStrDName, ZigZagStrDShape, Al );
   GeoPhysVol* ZigZagStrDPhysical = new GeoPhysVol( ZigZagStrDLogical );
   
@@ -250,31 +250,31 @@ GeoVFullPhysVol* LArGeo::CryostatConstructionTBEC::GetEnvelope()
   
   for ( int i = 0; i < 9; i++ ) {
   	ZigZagMotherPhysical->add( new GeoIdentifierTag( StrAIdTag ) );
-  	ZigZagMotherPhysical->add( new GeoTransform( GeoTrf::Translate3D( ( 124.4 - 31.1*i )*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, 6.05*GeoModelKernelUnits::cm ) ) );
+  	ZigZagMotherPhysical->add( new GeoTransform( GeoTrf::Translate3D( ( 124.4 - 31.1*i )*Gaudi::Units::cm, 0.*Gaudi::Units::cm, 6.05*Gaudi::Units::cm ) ) );
   	ZigZagMotherPhysical->add( ZigZagStrAPhysical );
 	StrAIdTag++;
   }
   for ( int j = 0; j < 2; j++ ) for ( int i = 0; i < 8; i++ ) {
   	ZigZagMotherPhysical->add( new GeoIdentifierTag( StrAIdTag ) );
-  	ZigZagMotherPhysical->add( new GeoTransform( GeoTrf::Translate3D( ( 108.85 - 31.1*i )*GeoModelKernelUnits::cm, ( 2*j - 1 )*10.*GeoModelKernelUnits::cm, 6.05*GeoModelKernelUnits::cm ) ) );
+  	ZigZagMotherPhysical->add( new GeoTransform( GeoTrf::Translate3D( ( 108.85 - 31.1*i )*Gaudi::Units::cm, ( 2*j - 1 )*10.*Gaudi::Units::cm, 6.05*Gaudi::Units::cm ) ) );
   	ZigZagMotherPhysical->add( ZigZagStrAPhysical );
 	StrAIdTag++;
   }
   
   int StrBIdTag = 1;
-  const double xB1[ 2 ] = { ( -6.77 + 108.85 )*GeoModelKernelUnits::cm, ( 6.77 + 108.85 )*GeoModelKernelUnits::cm };
-  const double xB2[ 2 ] = { ( -6.77 + 124.4 )*GeoModelKernelUnits::cm, ( 6.77 + 93.3 )*GeoModelKernelUnits::cm  };
-  const double alpha[ 2 ] = { 45.*GeoModelKernelUnits::deg, -45.*GeoModelKernelUnits::deg };
+  const double xB1[ 2 ] = { ( -6.77 + 108.85 )*Gaudi::Units::cm, ( 6.77 + 108.85 )*Gaudi::Units::cm };
+  const double xB2[ 2 ] = { ( -6.77 + 124.4 )*Gaudi::Units::cm, ( 6.77 + 93.3 )*Gaudi::Units::cm  };
+  const double alpha[ 2 ] = { 45.*Gaudi::Units::deg, -45.*Gaudi::Units::deg };
   
   for ( int k = 0; k < 2; k++ )  for ( int i = 0; i < 8; i++ ) {
   	ZigZagMotherPhysical->add( new GeoIdentifierTag( StrBIdTag ) );
-  	ZigZagMotherPhysical->add( new GeoTransform( GeoTrf::Transform3D(GeoTrf::Translate3D( xB1[ k ] - 31.1*i*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, -.1*GeoModelKernelUnits::cm )*GeoTrf::RotateY3D( alpha[ k ] ) ) ) );
+  	ZigZagMotherPhysical->add( new GeoTransform( GeoTrf::Transform3D(GeoTrf::Translate3D( xB1[ k ] - 31.1*i*Gaudi::Units::cm, 0.*Gaudi::Units::cm, -.1*Gaudi::Units::cm )*GeoTrf::RotateY3D( alpha[ k ] ) ) ) );
   	ZigZagMotherPhysical->add( ZigZagStrBPhysical );
 	StrBIdTag++;
 	
 	for ( int j = 0; j < 2; j++ ) {
 		ZigZagMotherPhysical->add( new GeoIdentifierTag( StrBIdTag ) );
-  		ZigZagMotherPhysical->add( new GeoTransform( GeoTrf::Transform3D( GeoTrf::Translate3D( xB2[ k ] - 31.1*i*GeoModelKernelUnits::cm, ( -10. + 20.*j )*GeoModelKernelUnits::cm, -.1*GeoModelKernelUnits::cm ) *GeoTrf::RotateY3D( alpha[ k ] )) ) );
+  		ZigZagMotherPhysical->add( new GeoTransform( GeoTrf::Transform3D( GeoTrf::Translate3D( xB2[ k ] - 31.1*i*Gaudi::Units::cm, ( -10. + 20.*j )*Gaudi::Units::cm, -.1*Gaudi::Units::cm ) *GeoTrf::RotateY3D( alpha[ k ] )) ) );
   		ZigZagMotherPhysical->add( ZigZagStrBPhysical );
 		StrBIdTag++;	
 	}
@@ -285,39 +285,39 @@ GeoVFullPhysVol* LArGeo::CryostatConstructionTBEC::GetEnvelope()
   for ( int i = 0; i < 9; i++ ) {
   	if ( i < 8 ) {
   		ZigZagMotherPhysical->add( new GeoIdentifierTag( StrCIdTag ) );
-  		ZigZagMotherPhysical->add( new GeoTransform( GeoTrf::Translate3D( ( 108.85 - 31.1*i )*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, -6.15*GeoModelKernelUnits::cm ) ) );
+  		ZigZagMotherPhysical->add( new GeoTransform( GeoTrf::Translate3D( ( 108.85 - 31.1*i )*Gaudi::Units::cm, 0.*Gaudi::Units::cm, -6.15*Gaudi::Units::cm ) ) );
   		ZigZagMotherPhysical->add( ZigZagStrCPhysical );
 		StrCIdTag++;
 	}
 	for ( int j = 0; j < 2; j++ ) {
 		ZigZagMotherPhysical->add( new GeoIdentifierTag( StrCIdTag ) );
-  		ZigZagMotherPhysical->add( new GeoTransform( GeoTrf::Translate3D( ( 124.4 - 31.1*i )*GeoModelKernelUnits::cm, ( -10. + 20.*j )*GeoModelKernelUnits::cm, -6.15*GeoModelKernelUnits::cm ) ) );
+  		ZigZagMotherPhysical->add( new GeoTransform( GeoTrf::Translate3D( ( 124.4 - 31.1*i )*Gaudi::Units::cm, ( -10. + 20.*j )*Gaudi::Units::cm, -6.15*Gaudi::Units::cm ) ) );
   		ZigZagMotherPhysical->add( ZigZagStrCPhysical );
 		StrCIdTag++;
 	}
   }
   
   int StrDIdTag = 1;
-  const double xD1[ 2 ] = { ( -2.598 + 124.4 )*GeoModelKernelUnits::cm, ( 2.598 + 124.4 )*GeoModelKernelUnits::cm };
-  const double xD2[ 2 ] = { ( -2.598 + 108.85 )*GeoModelKernelUnits::cm, ( 2.598 + 108.85 )*GeoModelKernelUnits::cm };
-  const double beta[ 2 ] = { -22.5*GeoModelKernelUnits::deg, 22.5*GeoModelKernelUnits::deg };
+  const double xD1[ 2 ] = { ( -2.598 + 124.4 )*Gaudi::Units::cm, ( 2.598 + 124.4 )*Gaudi::Units::cm };
+  const double xD2[ 2 ] = { ( -2.598 + 108.85 )*Gaudi::Units::cm, ( 2.598 + 108.85 )*Gaudi::Units::cm };
+  const double beta[ 2 ] = { -22.5*Gaudi::Units::deg, 22.5*Gaudi::Units::deg };
   
   for ( int k = 0; k < 2; k++ )  for ( int i = 0; i < 9; i++ ) {
   	ZigZagMotherPhysical->add( new GeoIdentifierTag( StrDIdTag ) );
-  	ZigZagMotherPhysical->add( new GeoTransform( GeoTrf::Transform3D( GeoTrf::Translate3D( xD1[ k ] - 31.1*i*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, 5.995*GeoModelKernelUnits::cm ) *GeoTrf::RotateY3D( beta[ k ] )) ) );
+  	ZigZagMotherPhysical->add( new GeoTransform( GeoTrf::Transform3D( GeoTrf::Translate3D( xD1[ k ] - 31.1*i*Gaudi::Units::cm, 0.*Gaudi::Units::cm, 5.995*Gaudi::Units::cm ) *GeoTrf::RotateY3D( beta[ k ] )) ) );
   	ZigZagMotherPhysical->add( ZigZagStrDPhysical );
 	StrDIdTag++;
 	
 	if ( i < 8 ) for ( int j = 0; j < 2; j++ ) {
 		ZigZagMotherPhysical->add( new GeoIdentifierTag( StrDIdTag ) );
-  		ZigZagMotherPhysical->add( new GeoTransform( GeoTrf::Transform3D( GeoTrf::Translate3D( xD2[ k ] - 31.1*i*GeoModelKernelUnits::cm, ( -10. +20.*j )*GeoModelKernelUnits::cm, 5.995*GeoModelKernelUnits::cm ) *GeoTrf::RotateY3D( beta[ k ] )) ) );
+  		ZigZagMotherPhysical->add( new GeoTransform( GeoTrf::Transform3D( GeoTrf::Translate3D( xD2[ k ] - 31.1*i*Gaudi::Units::cm, ( -10. +20.*j )*Gaudi::Units::cm, 5.995*Gaudi::Units::cm ) *GeoTrf::RotateY3D( beta[ k ] )) ) );
   		ZigZagMotherPhysical->add( ZigZagStrDPhysical );
 		StrDIdTag++;	
 	}
   }
    
   WallPhysical->add( new GeoIdentifierTag( 1 ) );
-  WallPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, -53.2*GeoModelKernelUnits::cm ) ) );
+  WallPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm, -53.2*Gaudi::Units::cm ) ) );
   WallPhysical->add( ZigZagMotherPhysical );
     
 return m_cryoEnvelopePhysical;
diff --git a/LArCalorimeter/LArGeoModel/LArGeoTBEC/src/EMECModuleConstruction.cxx b/LArCalorimeter/LArGeoModel/LArGeoTBEC/src/EMECModuleConstruction.cxx
index 8027190c6edf..1dbfa6e3e745 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoTBEC/src/EMECModuleConstruction.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoTBEC/src/EMECModuleConstruction.cxx
@@ -49,6 +49,7 @@
 #include "GaudiKernel/Bootstrap.h"
 #include "GaudiKernel/IService.h"
 #include "GaudiKernel/ISvcLocator.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <string>
 #include <cmath>
@@ -112,37 +113,37 @@ GeoVFullPhysVol* LArGeo::EMECModuleConstruction::GetEnvelope()
 
   //LAr
 
-  GeoMaterial* LAr = new GeoMaterial(name="LiquidArgon", density=1.396*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3);
+  GeoMaterial* LAr = new GeoMaterial(name="LiquidArgon", density=1.396*GeoModelKernelUnits::g/Gaudi::Units::cm3);
   LAr->add(Ar,1.);
   LAr->lock();
  
   //Alu
 
-  GeoMaterial* Alu = new GeoMaterial(name="Alu", density=2.7*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3);
+  GeoMaterial* Alu = new GeoMaterial(name="Alu", density=2.7*GeoModelKernelUnits::g/Gaudi::Units::cm3);
   Alu->add(Al,1.);
   Alu->lock();
 
   //Iron
 
-  GeoMaterial* Iron = new GeoMaterial(name="Iron", density=7.87*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3);
+  GeoMaterial* Iron = new GeoMaterial(name="Iron", density=7.87*GeoModelKernelUnits::g/Gaudi::Units::cm3);
   Iron->add(Fe,1.);
   Iron->lock();
 
   //Copper
 
-  GeoMaterial* Copper = new GeoMaterial(name="Copper", density=8.96*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3);
+  GeoMaterial* Copper = new GeoMaterial(name="Copper", density=8.96*GeoModelKernelUnits::g/Gaudi::Units::cm3);
   Copper->add(Cu,1.);
   Copper->lock();
 
   //Lead
 
-  GeoMaterial* Lead = new GeoMaterial(name="Lead", density=11.35*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3);
+  GeoMaterial* Lead = new GeoMaterial(name="Lead", density=11.35*GeoModelKernelUnits::g/Gaudi::Units::cm3);
   Lead->add(Pb,1.);
   Lead->lock();
 
   // Air	,  at 20 deg C, 1 atm density=1.2931*mg/cm3
 
-  GeoMaterial* Air=new GeoMaterial(name="Air", density=1.290*GeoModelKernelUnits::mg/GeoModelKernelUnits::cm3);
+  GeoMaterial* Air=new GeoMaterial(name="Air", density=1.290*Gaudi::Units::mg/Gaudi::Units::cm3);
   Air->add(N, .8);
   Air->add(O, .2);
   Air->lock();
@@ -150,7 +151,7 @@ GeoVFullPhysVol* LArGeo::EMECModuleConstruction::GetEnvelope()
   //Prepreg glue for absorbers, composition to be checked!
   //ref:STR.CAL.01.CRB.6,(23-Jan-2003,J.T.)
 
-  GeoMaterial* Glue=new GeoMaterial(name="Glue", density=1.8*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3);
+  GeoMaterial* Glue=new GeoMaterial(name="Glue", density=1.8*GeoModelKernelUnits::g/Gaudi::Units::cm3);
   aH=8.*H->getA();
   aO=2.*O->getA();
   aC=5.*C->getA();
@@ -169,7 +170,7 @@ GeoVFullPhysVol* LArGeo::EMECModuleConstruction::GetEnvelope()
   //PermaliE730 for Front middle ring, composition to be checked!
   //                     ref.: STR.CAL.01.CRB.6,(23-Jan-2003,J.T.)
 
-  GeoMaterial* PermaliE730=new GeoMaterial(name="PermaliE730",density=1.83*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3);
+  GeoMaterial* PermaliE730=new GeoMaterial(name="PermaliE730",density=1.83*GeoModelKernelUnits::g/Gaudi::Units::cm3);
   aH=8.*H->getA();
   aO=2.*O->getA();
   aC=5.*C->getA();
@@ -187,7 +188,7 @@ GeoVFullPhysVol* LArGeo::EMECModuleConstruction::GetEnvelope()
 
   // Gten  ( C8 H14 O4 ), alias glass epoxy for long.&transv.bars
 
-  GeoMaterial* Gten = new GeoMaterial(name="Gten", density=1.8*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3);
+  GeoMaterial* Gten = new GeoMaterial(name="Gten", density=1.8*GeoModelKernelUnits::g/Gaudi::Units::cm3);
   aH=14.*H->getA();
   aO= 4.*O->getA();
   aC= 8.*C->getA();
@@ -206,7 +207,7 @@ GeoVFullPhysVol* LArGeo::EMECModuleConstruction::GetEnvelope()
   // Kapton 11-Jan-2002 ML from accbgeo.age: the Kapton_E density is 1.46g/cm3
   //        one assumes it is the same as for the Kapton_H -> C22 H10 O5 N2
  
-  GeoMaterial* Kapton= new GeoMaterial(name="Kapton",density=1.46*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3);
+  GeoMaterial* Kapton= new GeoMaterial(name="Kapton",density=1.46*GeoModelKernelUnits::g/Gaudi::Units::cm3);
   aH=10.*H->getA();
   aO= 5.*O->getA();
   aC=22.*C->getA();
@@ -227,9 +228,9 @@ GeoVFullPhysVol* LArGeo::EMECModuleConstruction::GetEnvelope()
 
   // THIN absorber: outer wheel
   //               11-Jan-2002 ML source: endegeo.age and Fig.7-3 of TDR
-  Tggl = 0.3*GeoModelKernelUnits::mm;
-  Tgfe = 0.4*GeoModelKernelUnits::mm;
-  Tgpb = 1.7*GeoModelKernelUnits::mm;
+  Tggl = 0.3*Gaudi::Units::mm;
+  Tgfe = 0.4*Gaudi::Units::mm;
+  Tgpb = 1.7*Gaudi::Units::mm;
   Totalthick=Tggl+Tgfe+Tgpb;
   m1=Tggl*Glue->getDensity();
   m2=Tgfe*Iron->getDensity();
@@ -250,9 +251,9 @@ GeoVFullPhysVol* LArGeo::EMECModuleConstruction::GetEnvelope()
 
   // THICK absorber: inner wheel
   //                 11-Jan-2002 ML source: endegeo.age and Fig.7-3 of TDR
-  Thgl = 0.3*GeoModelKernelUnits::mm;
-  Thfe = 0.4*GeoModelKernelUnits::mm;
-  Thpb = 2.2*GeoModelKernelUnits::mm;
+  Thgl = 0.3*Gaudi::Units::mm;
+  Thfe = 0.4*Gaudi::Units::mm;
+  Thpb = 2.2*Gaudi::Units::mm;
   Totalthick=Thgl+Thfe+Thpb;
   m1=Thgl*Glue->getDensity();
   m2=Thfe*Iron->getDensity();
@@ -273,8 +274,8 @@ GeoVFullPhysVol* LArGeo::EMECModuleConstruction::GetEnvelope()
 
   // Electrode,   as a mixture Kapton+Cu, 11-Jan-2002 ML
 
-  Thcu = 0.105*GeoModelKernelUnits::mm;
-  Thka = 0.170*GeoModelKernelUnits::mm;  //together with glue J.T.
+  Thcu = 0.105*Gaudi::Units::mm;
+  Thka = 0.170*Gaudi::Units::mm;  //together with glue J.T.
   Totalthicke = Thcu+Thka;
   m1=Thcu*Copper->getDensity();
   m2=Thka*Kapton->getDensity();
@@ -303,7 +304,7 @@ GeoVFullPhysVol* LArGeo::EMECModuleConstruction::GetEnvelope()
     FracC =aC*inv_Atot;
     FracAr=aAr*inv_Atot;
   }
-  GeoMaterial* Elect_LAr= new GeoMaterial(name="Elnics",density=1.28*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3);
+  GeoMaterial* Elect_LAr= new GeoMaterial(name="Elnics",density=1.28*GeoModelKernelUnits::g/Gaudi::Units::cm3);
   Elect_LAr->add(H ,FracH);
   Elect_LAr->add(C ,FracC);
   Elect_LAr->add(Ar,FracAr);
@@ -316,9 +317,9 @@ GeoVFullPhysVol* LArGeo::EMECModuleConstruction::GetEnvelope()
 
   // G10FeInner for barrette in the inner wheel(J.T.08.01.2003)
 
-  Thfe  =0.4*GeoModelKernelUnits::mm;
-  Thgl  =0.3*GeoModelKernelUnits::mm;
-  Thpb  =2.2*GeoModelKernelUnits::mm;
+  Thfe  =0.4*Gaudi::Units::mm;
+  Thgl  =0.3*Gaudi::Units::mm;
+  Thpb  =2.2*Gaudi::Units::mm;
   ThGten=Thpb;
   Totalthick =Thfe+Thgl+ThGten;
   //Totalthicki=Totalthick;
@@ -343,9 +344,9 @@ GeoVFullPhysVol* LArGeo::EMECModuleConstruction::GetEnvelope()
 
  // G10FeOuter for barrette in the outer wheel(J.T.08.01.2003)
 
-  Thfe  =0.4*GeoModelKernelUnits::mm;
-  Thgl  =0.3*GeoModelKernelUnits::mm;
-  Thpb  =1.7*GeoModelKernelUnits::mm;
+  Thfe  =0.4*Gaudi::Units::mm;
+  Thgl  =0.3*Gaudi::Units::mm;
+  Thpb  =1.7*Gaudi::Units::mm;
   ThGten=Thpb;
   Totalthick =Thfe+Thgl+ThGten;
   //Totalthicko=Totalthick;
@@ -381,13 +382,13 @@ GeoVFullPhysVol* LArGeo::EMECModuleConstruction::GetEnvelope()
 // V.N: From LarWheelSolid, to get bounding polycone. Previoulsy G4 routine. No GeoModel equivalent so far ...
 //
   
-  double zWheelFrontFace 		= 3689.5*GeoModelKernelUnits::mm;
+  double zWheelFrontFace 		= 3689.5*Gaudi::Units::mm;
   
-  double dWRPtoFrontFace 		= 11.*GeoModelKernelUnits::mm;
+  double dWRPtoFrontFace 		= 11.*Gaudi::Units::mm;
 
-  double dMechFocaltoWRP                 = 3691. *GeoModelKernelUnits::mm;  //=endg_z1*GeoModelKernelUnits::cm
+  double dMechFocaltoWRP                 = 3691. *Gaudi::Units::mm;  //=endg_z1*Gaudi::Units::cm
                                                          //"LArEMECNomLarOrig" 
-  double rOuterCutoff                    = 2034. *GeoModelKernelUnits::mm;  //=endg_rlimit*GeoModelKernelUnits::cm
+  double rOuterCutoff                    = 2034. *Gaudi::Units::mm;  //=endg_rlimit*Gaudi::Units::cm
                                               //"LArEMECMaxRadiusActivePart
 
 //*****************      
@@ -399,32 +400,32 @@ GeoVFullPhysVol* LArGeo::EMECModuleConstruction::GetEnvelope()
   double Rin1, Rin2, Rout1, Rout2;
 
   if ( m_isInnerWheel ) {
-    Rin1 = 279.*GeoModelKernelUnits::mm;
-    Rin2 = 324.*GeoModelKernelUnits::mm;
+    Rin1 = 279.*Gaudi::Units::mm;
+    Rin2 = 324.*Gaudi::Units::mm;
   }
   else {
-    Rin1 = 590.*GeoModelKernelUnits::mm;
-    Rin2 = 678.*GeoModelKernelUnits::mm; 
+    Rin1 = 590.*Gaudi::Units::mm;
+    Rin2 = 678.*Gaudi::Units::mm; 
   }
   if ( m_isOuterWheel ) {
-    Rout1 = 2070.*GeoModelKernelUnits::mm;
-    Rout2 = 2070.*GeoModelKernelUnits::mm;
+    Rout1 = 2070.*Gaudi::Units::mm;
+    Rout2 = 2070.*Gaudi::Units::mm;
   }
   else {
-    Rout1 = 647.*GeoModelKernelUnits::mm;
-    Rout2 = 732.*GeoModelKernelUnits::mm;
+    Rout1 = 647.*Gaudi::Units::mm;
+    Rout2 = 732.*Gaudi::Units::mm;
   }
 
   // --> EndOfRadiiSelection <--
    
-  double emecMotherZplan[] = { 3639.5*GeoModelKernelUnits::mm, 3639.5*GeoModelKernelUnits::mm + 630.*GeoModelKernelUnits::mm };    //cold (J.T)                               
+  double emecMotherZplan[] = { 3639.5*Gaudi::Units::mm, 3639.5*Gaudi::Units::mm + 630.*Gaudi::Units::mm };    //cold (J.T)                               
   double emecMotherRin[]   = { Rin1, Rin2 };	
   double emecMotherRout[]  = { Rout1, Rout2 }; 
   int lastPlaneEmec = ( sizeof( emecMotherZplan )/sizeof( double ) );
 
   if ( m_isTB ) { 
      for ( int i = 0; i < lastPlaneEmec; i++ ) emecMotherZplan[ i ] -= zWheelFrontFace;
-     zWheelFrontFace = 0.*GeoModelKernelUnits::mm;
+     zWheelFrontFace = 0.*Gaudi::Units::mm;
   }
 
   double phiPosition = M_PI/2;
@@ -449,8 +450,8 @@ GeoVFullPhysVol* LArGeo::EMECModuleConstruction::GetEnvelope()
   double tanThetaMid   = 2. * exp(-eta_mid) / (1. - exp(2.*-eta_mid));
   double tanThetaOuter = 2. * exp(-eta_low) / (1. - exp(2.*-eta_low));
 
-  double zWheelThickness = 514.*GeoModelKernelUnits::mm;     // endg_etot-2.*(endg_sabl*GeoModelKernelUnits::cm-2.*GeoModelKernelUnits::mm)
-  double gapBetweenWheels= 1.5*GeoModelKernelUnits::mm*2.;  // "LArEMECHalfCrack"*2.
+  double zWheelThickness = 514.*Gaudi::Units::mm;     // endg_etot-2.*(endg_sabl*Gaudi::Units::cm-2.*Gaudi::Units::mm)
+  double gapBetweenWheels= 1.5*Gaudi::Units::mm*2.;  // "LArEMECHalfCrack"*2.
 
 //J.T************
 // zWheelFrontFace for mechanical design
@@ -654,14 +655,14 @@ GeoVFullPhysVol* LArGeo::EMECModuleConstruction::GetEnvelope()
 
   // V.N. --> Support selected
 
-  z0 = zWheelFrontFace - 61.*GeoModelKernelUnits::mm;
+  z0 = zWheelFrontFace - 61.*Gaudi::Units::mm;
   EMECSupportConstruction *fsc = new EMECSupportConstruction( FrontIndx, true, "LAr::EMEC::", M_PI/2 );
   GeoPhysVol* physicalFSM = fsc->GetEnvelope();
   emecMotherPhysical->add( new GeoIdentifierTag( 1 ) );
   emecMotherPhysical->add( new GeoTransform( GeoTrf::TranslateZ3D( z0 ) ) );
   emecMotherPhysical->add( physicalFSM );
 
-  z0 = zWheelFrontFace + 514.*GeoModelKernelUnits::mm + 55.*GeoModelKernelUnits::mm;
+  z0 = zWheelFrontFace + 514.*Gaudi::Units::mm + 55.*Gaudi::Units::mm;
   EMECSupportConstruction *bsc = new EMECSupportConstruction( BackIndx, true, "LAr::EMEC::", M_PI/2 );
   GeoPhysVol *physicalBSM = bsc->GetEnvelope();
   emecMotherPhysical->add( new GeoIdentifierTag( 1 ) );
@@ -670,7 +671,7 @@ GeoVFullPhysVol* LArGeo::EMECModuleConstruction::GetEnvelope()
   emecMotherPhysical->add( physicalBSM );
 
   if ( m_isOuterWheel ) {
-    z0 = zWheelFrontFace + 514.*GeoModelKernelUnits::mm/2;
+    z0 = zWheelFrontFace + 514.*Gaudi::Units::mm/2;
     EMECSupportConstruction *osc = new EMECSupportConstruction( 2, true, "LAr::EMEC::", M_PI/2 );
     GeoPhysVol *physicalOSM = osc->GetEnvelope();
     emecMotherPhysical->add( new GeoIdentifierTag( 1 ) );
@@ -679,7 +680,7 @@ GeoVFullPhysVol* LArGeo::EMECModuleConstruction::GetEnvelope()
   }
  
   if ( m_isInnerWheel ) {
-    z0 = zWheelFrontFace + 514.*GeoModelKernelUnits::mm/2;
+    z0 = zWheelFrontFace + 514.*Gaudi::Units::mm/2;
     EMECSupportConstruction *isc = new EMECSupportConstruction( 3, true, "LAr::EMEC::", M_PI/2 );
     GeoPhysVol *physicalISM = isc->GetEnvelope();
     emecMotherPhysical->add( new GeoIdentifierTag( 1 ) );
@@ -687,7 +688,7 @@ GeoVFullPhysVol* LArGeo::EMECModuleConstruction::GetEnvelope()
     emecMotherPhysical->add( physicalISM );
   }
  
-  z0 = zWheelFrontFace + 514.*GeoModelKernelUnits::mm/2;
+  z0 = zWheelFrontFace + 514.*Gaudi::Units::mm/2;
   EMECSupportConstruction *msc = new EMECSupportConstruction( 4, true, "LAr::EMEC::", M_PI/2 );
   GeoPhysVol *physicalMSM = msc->GetEnvelope();
   emecMotherPhysical->add( new GeoIdentifierTag( 1 ) );
diff --git a/LArCalorimeter/LArGeoModel/LArGeoTBEC/src/LArDetectorConstructionTBEC.cxx b/LArCalorimeter/LArGeoModel/LArGeoTBEC/src/LArDetectorConstructionTBEC.cxx
index f0b5264d749c..820254ad36aa 100755
--- a/LArCalorimeter/LArGeoModel/LArGeoTBEC/src/LArDetectorConstructionTBEC.cxx
+++ b/LArCalorimeter/LArGeoModel/LArGeoTBEC/src/LArDetectorConstructionTBEC.cxx
@@ -22,7 +22,6 @@
 #include "GeoModelKernel/GeoAlignableTransform.h"  
 #include "GeoModelKernel/GeoIdentifierTag.h"  
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
 #include "StoreGate/StoreGateSvc.h"
 #include "GeoModelInterfaces/AbsMaterialManager.h"
 #include "GeoModelInterfaces/StoredMaterialManager.h"
@@ -39,6 +38,7 @@
 #include "StoreGate/StoreGateSvc.h"
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 // For run options :
 #include "LArG4RunControl/LArGeoTBGeometricOptions.h"
@@ -110,21 +110,9 @@ StoreGate interface");
   else if ( m_eta_cell > 43.5 ) m_eta_pos = 0.1*( m_eta_cell - 43.5 ) + 2.5; // Inner Wheel
   else m_eta_pos = 0.025*( m_eta_cell - 0.5 ) + 1.425; // Outer Wheel
 
-  if ( m_eta_cell <= 43.5 ) m_phi_pos = -( ( m_phi_cell - 16. )*1.40625 + 0.46875 )*GeoModelKernelUnits::deg; // Outer Wheel
-  else m_phi_pos = -( 4*( m_phi_cell - 4. )*1.40625 + 0.46875 )*GeoModelKernelUnits::deg; // Inner Wheel
+  if ( m_eta_cell <= 43.5 ) m_phi_pos = -( ( m_phi_cell - 16. )*1.40625 + 0.46875 )*Gaudi::Units::deg; // Outer Wheel
+  else m_phi_pos = -( 4*( m_phi_cell - 4. )*1.40625 + 0.46875 )*Gaudi::Units::deg; // Inner Wheel
     
-
-/*
-  printf( "LArDetectorConstructionTBEC\teta_cell = %6.2lf ( eta = %6.2lf     )\n", m_eta_cell, 
-m_eta_pos );
-  printf( "LArDetectorConstructionTBEC\tphi_cell = %6.2lf ( phi = %6.2lf GeoModelKernelUnits::deg )\n", m_phi_cell, 
-m_phi_pos/GeoModelKernelUnits::deg );
-*/
-
-/*
-  printf( "LArDetectorConstructionTBEC\tModuleRotation = %6.2lf GeoModelKernelUnits::deg\n", m_ModuleRotation/GeoModelKernelUnits::deg );
-  printf( "LArDetectorConstructionTBEC\tYShift = %6.1lf GeoModelKernelUnits::mm\n", m_YShift/GeoModelKernelUnits::mm );
-*/
 }
 
 LArGeo::LArDetectorConstructionTBEC::~LArDetectorConstructionTBEC() {}
@@ -166,8 +154,8 @@ GeoVPhysVol* LArGeo::LArDetectorConstructionTBEC::GetEnvelope()
   // Default values....
   m_hasLeadCompensator = false;
   m_hasPresampler = false;
-  m_ModuleRotation = 0.*GeoModelKernelUnits::deg;
-  m_YShift = 0.*GeoModelKernelUnits::mm;
+  m_ModuleRotation = 0.*Gaudi::Units::deg;
+  m_YShift = 0.*Gaudi::Units::mm;
  
   IRDBRecordset_ptr tbecGeometry   = m_pAccessSvc->getRecordsetPtr("TBECGeometry",detectorKey, detectorNode); 
   if ((*tbecGeometry).size()!=0) {
@@ -192,7 +180,7 @@ GeoVPhysVol* LArGeo::LArDetectorConstructionTBEC::GetEnvelope()
 
   std::string baseName = "LAr::TBEC::MotherVolume";
 
-  GeoBox* tbecMotherShape = new GeoBox( 5.*GeoModelKernelUnits::m, 5.*GeoModelKernelUnits::m, 15.*GeoModelKernelUnits::m );
+  GeoBox* tbecMotherShape = new GeoBox( 5.*Gaudi::Units::m, 5.*Gaudi::Units::m, 15.*Gaudi::Units::m );
 
   const GeoLogVol* tbecMotherLogical =
     new GeoLogVol(baseName, tbecMotherShape, Air);
@@ -259,25 +247,25 @@ GeoFullPhysVol* LArGeo::LArDetectorConstructionTBEC::createEnvelope()
   // accordingly.
 
   std::string tbecMotherName = baseName + "::MotherVolume";
-  GeoBox* tbecMotherShape = new GeoBox( 5.*GeoModelKernelUnits::m, 5.*GeoModelKernelUnits::m, 15.*GeoModelKernelUnits::m  );
+  GeoBox* tbecMotherShape = new GeoBox( 5.*Gaudi::Units::m, 5.*Gaudi::Units::m, 15.*Gaudi::Units::m  );
   const GeoLogVol* tbecMotherLogical = new GeoLogVol( tbecMotherName, tbecMotherShape, Air );
   GeoFullPhysVol* tbecMotherPhysical = new GeoFullPhysVol( tbecMotherLogical );
   
-  double xcent = -120.*GeoModelKernelUnits::cm, zcent = 395.7*GeoModelKernelUnits::cm;
-  double zfface = zcent - 60.09*GeoModelKernelUnits::cm;
+  double xcent = -120.*Gaudi::Units::cm, zcent = 395.7*Gaudi::Units::cm;
+  double zfface = zcent - 60.09*Gaudi::Units::cm;
   log << MSG::DEBUG << "eta = " << m_eta_pos;
   if ( m_eta_pos > 5. ) m_eta_pos = 0.;
   else m_eta_pos = 2*atan( exp( -m_eta_pos ) );
-  log << ", positioning cryostat with angle " << m_eta_pos*(1./GeoModelKernelUnits::deg) << " GeoModelKernelUnits::deg";
+  log << ", positioning cryostat with angle " << m_eta_pos*(1./Gaudi::Units::deg) << " Gaudi::Units::deg";
   log << endmsg;
   
   // Tubular axis, dummy
   
   if ( AXIS_ON ) {
   
-     double axisZHalfLength = 5*GeoModelKernelUnits::m;
+     double axisZHalfLength = 5*Gaudi::Units::m;
   
-     GeoTube* axisShape = new GeoTube( 0.*GeoModelKernelUnits::cm, 1.*GeoModelKernelUnits::cm, axisZHalfLength );
+     GeoTube* axisShape = new GeoTube( 0.*Gaudi::Units::cm, 1.*Gaudi::Units::cm, axisZHalfLength );
   
      // x-axis
      std::string XAxisName = baseName + "::XAxis";
@@ -285,7 +273,7 @@ GeoFullPhysVol* LArGeo::LArDetectorConstructionTBEC::createEnvelope()
      GeoPhysVol* XAxisPhysVol = new GeoPhysVol( XAxisLogical );
   
      tbecMotherPhysical->add( new GeoIdentifierTag( 1 ) );
-     tbecMotherPhysical->add( new GeoTransform( GeoTrf::Transform3D( GeoTrf::Translation3D( axisZHalfLength, 0.*GeoModelKernelUnits::m, 0.*GeoModelKernelUnits::m ) *GeoTrf::RotateY3D( 90.*GeoModelKernelUnits::deg )) ) );
+     tbecMotherPhysical->add( new GeoTransform( GeoTrf::Transform3D( GeoTrf::Translation3D( axisZHalfLength, 0.*Gaudi::Units::m, 0.*Gaudi::Units::m ) *GeoTrf::RotateY3D( 90.*Gaudi::Units::deg )) ) );
      tbecMotherPhysical->add( XAxisPhysVol );
   
      // y-axis
@@ -294,7 +282,7 @@ GeoFullPhysVol* LArGeo::LArDetectorConstructionTBEC::createEnvelope()
      GeoPhysVol* YAxisPhysVol = new GeoPhysVol( YAxisLogical );
   
      tbecMotherPhysical->add( new GeoIdentifierTag( 1 ) );
-     tbecMotherPhysical->add( new GeoTransform( GeoTrf::Transform3D( GeoTrf::Translation3D( 0.*GeoModelKernelUnits::m, axisZHalfLength, 0.*GeoModelKernelUnits::m )*GeoTrf::RotateX3D( -90.*GeoModelKernelUnits::deg ) ) ) );
+     tbecMotherPhysical->add( new GeoTransform( GeoTrf::Transform3D( GeoTrf::Translation3D( 0.*Gaudi::Units::m, axisZHalfLength, 0.*Gaudi::Units::m )*GeoTrf::RotateX3D( -90.*Gaudi::Units::deg ) ) ) );
      tbecMotherPhysical->add( YAxisPhysVol );
   
      //z-axis
@@ -311,13 +299,13 @@ GeoFullPhysVol* LArGeo::LArDetectorConstructionTBEC::createEnvelope()
   
   if ( m_hasLeadCompensator ) {
      std::string CompensatorName = baseName + "::LeadCompensator";
-     GeoBox* CompensatorShape = new GeoBox( 152.*GeoModelKernelUnits::cm, 195.*GeoModelKernelUnits::cm, 0.56*GeoModelKernelUnits::cm );
+     GeoBox* CompensatorShape = new GeoBox( 152.*Gaudi::Units::cm, 195.*Gaudi::Units::cm, 0.56*Gaudi::Units::cm );
      const GeoLogVol* CompensatorLogical = new GeoLogVol( CompensatorName, CompensatorShape, Lead );
      GeoPhysVol* CompensatorPhysical = new GeoPhysVol( CompensatorLogical );
 	
      tbecMotherPhysical->add( new GeoIdentifierTag( 1 ) );
 
-     GeoTrf::Vector3D tmpvec1(xcent, 0., 300.*GeoModelKernelUnits::cm);
+     GeoTrf::Vector3D tmpvec1(xcent, 0., 300.*Gaudi::Units::cm);
      GeoTrf::Vector3D tmpvec1Rotated = GeoTrf::RotateY3D(m_eta_pos)*tmpvec1;
      GeoTrf::Translate3D tmpxf1(tmpvec1Rotated.x(),tmpvec1Rotated.y(),tmpvec1Rotated.z());
      tbecMotherPhysical->add(new GeoTransform( tmpxf1 * GeoTrf::RotateY3D(m_eta_pos)));
@@ -341,8 +329,8 @@ GeoFullPhysVol* LArGeo::LArDetectorConstructionTBEC::createEnvelope()
   
   log << MSG::VERBOSE << "Creating beam chambers ..." << std::endl;
   
-  const double beamCZ[ 4 ] = { 17.9*GeoModelKernelUnits::m, 7.673*GeoModelKernelUnits::m, 1.352*GeoModelKernelUnits::m, .256*GeoModelKernelUnits::m };
-  const double beamCSize = 11.*GeoModelKernelUnits::cm, beamCTh = 28*GeoModelKernelUnits::mm; // divided by 2, for half-length
+  const double beamCZ[ 4 ] = { 17.9*Gaudi::Units::m, 7.673*Gaudi::Units::m, 1.352*Gaudi::Units::m, .256*Gaudi::Units::m };
+  const double beamCSize = 11.*Gaudi::Units::cm, beamCTh = 28*Gaudi::Units::mm; // divided by 2, for half-length
   
   GeoBox* BeamCShape = new GeoBox( beamCSize, beamCSize, beamCTh );
   for ( int i = 0; i < 4; i++ ) {
@@ -352,15 +340,15 @@ GeoFullPhysVol* LArGeo::LArDetectorConstructionTBEC::createEnvelope()
   	GeoPhysVol* BeamCPhysical = new GeoPhysVol( BeamCLogical );
 	
 	tbecMotherPhysical->add( new GeoIdentifierTag( 1 ) );
-  	tbecMotherPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*GeoModelKernelUnits::cm, 0.*GeoModelKernelUnits::cm, zfface - beamCZ[ i ] ) ) );
+  	tbecMotherPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm, zfface - beamCZ[ i ] ) ) );
   	tbecMotherPhysical->add( BeamCPhysical );
   } 
   
   // End cap module
 	log << MSG::DEBUG << std::endl
-	    << "Module deviation: " << m_ModuleRotation * (1./GeoModelKernelUnits::deg) << " GeoModelKernelUnits::deg" << std::endl
-            << "Phi position: " << m_phi_pos * (1./GeoModelKernelUnits::deg) << " GeoModelKernelUnits::deg" << std::endl
-            << "Y shift: " << m_YShift * (1./GeoModelKernelUnits::mm) << " GeoModelKernelUnits::mm"
+	    << "Module deviation: " << m_ModuleRotation * (1./Gaudi::Units::deg) << " Gaudi::Units::deg" << std::endl
+            << "Phi position: " << m_phi_pos * (1./Gaudi::Units::deg) << " Gaudi::Units::deg" << std::endl
+            << "Y shift: " << m_YShift * (1./Gaudi::Units::mm) << " Gaudi::Units::mm"
             << endmsg;
   
   // z = 0 in emecMother is at active region's front face
@@ -371,8 +359,8 @@ GeoFullPhysVol* LArGeo::LArDetectorConstructionTBEC::createEnvelope()
   StatusCode status=detStore->record(sPhysVol,"EMEC_POS");
   if(!status.isSuccess()) throw std::runtime_error ("Cannot store EMEC_POS");  
 
-  GeoTrf::Transform3D Mrot(GeoTrf::RotateZ3D( m_phi_pos + 90*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(m_ModuleRotation));
-  GeoTrf::Vector3D pos( -xcent, m_YShift, -51.4/2*GeoModelKernelUnits::cm );
+  GeoTrf::Transform3D Mrot(GeoTrf::RotateZ3D( m_phi_pos + 90*Gaudi::Units::deg)*GeoTrf::RotateY3D(m_ModuleRotation));
+  GeoTrf::Vector3D pos( -xcent, m_YShift, -51.4/2*Gaudi::Units::cm );
   
   if ( LArPhysical != 0 ) {
   
@@ -381,7 +369,7 @@ GeoFullPhysVol* LArGeo::LArDetectorConstructionTBEC::createEnvelope()
      LArPhysical->add( emecEnvelope );			  		
   }
   
-  pos-= GeoTrf::Vector3D( 0.*GeoModelKernelUnits::mm, 0.*GeoModelKernelUnits::mm, 61.*GeoModelKernelUnits::mm +2.*GeoModelKernelUnits::mm +13.5*GeoModelKernelUnits::mm );
+  pos-= GeoTrf::Vector3D( 0.*Gaudi::Units::mm, 0.*Gaudi::Units::mm, 61.*Gaudi::Units::mm +2.*Gaudi::Units::mm +13.5*Gaudi::Units::mm );
   
   if ( m_hasPresampler ) {
 
-- 
GitLab


From b484121afc3c6ad82fffd70ab0a23ba37e179cd9 Mon Sep 17 00:00:00 2001
From: Vakho Tsulaia <vakhtang.tsulaia@cern.ch>
Date: Fri, 25 Jan 2019 02:20:18 +0100
Subject: [PATCH 100/192] Migrated Tile packages from GeoModelKernelUnits to
 Gaudi::Units

All units migrated except GeoModelKernelUnits::gram/g, which is different from Gaudi::Units::gram/g
---
 .../TileDetDescr/src/CellVolumes.h            |  84 +-
 .../TileDetDescr/src/TileDetDescrManager.cxx  |  17 +-
 .../TileGeoModel/src/TileAtlasFactory.cxx     | 773 +++++++++---------
 .../TileGeoModel/src/TileDetectorFactory.cxx  | 276 +++----
 .../src/TileGeoSectionBuilder.cxx             | 661 +++++++--------
 .../TileGeoModel/src/TileTBFactory.cxx        | 278 +++----
 .../src/TileVolumeBuilder.cxx                 |   3 +-
 7 files changed, 1046 insertions(+), 1046 deletions(-)

diff --git a/TileCalorimeter/TileDetDescr/src/CellVolumes.h b/TileCalorimeter/TileDetDescr/src/CellVolumes.h
index e8f75d433ef4..e52942ffde9d 100755
--- a/TileCalorimeter/TileDetDescr/src/CellVolumes.h
+++ b/TileCalorimeter/TileDetDescr/src/CellVolumes.h
@@ -1,48 +1,48 @@
 /*
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
-const double TileDetDescrManager::vBarrelCells[23] = {17799.76*GeoModelKernelUnits::cm3,   //A1
-						      17799.76*GeoModelKernelUnits::cm3,   //A2
-						      18459.01*GeoModelKernelUnits::cm3,   //A3
-						      18459.01*GeoModelKernelUnits::cm3,   //A4
-						      19777.51*GeoModelKernelUnits::cm3,   //A5
-						      20436.76*GeoModelKernelUnits::cm3,   //A6
-						      21096.01*GeoModelKernelUnits::cm3,   //A7
-						      23073.76*GeoModelKernelUnits::cm3,   //A8
-						      24392.26*GeoModelKernelUnits::cm3,   //A9
-						      21096.01*GeoModelKernelUnits::cm3,   //A10
-						      75726.60*GeoModelKernelUnits::cm3,   //BC1
-						      77024.24*GeoModelKernelUnits::cm3,   //BC2
-						      77024.24*GeoModelKernelUnits::cm3,   //BC3
-						      81574.95*GeoModelKernelUnits::cm3,   //BC4
-						      81574.95*GeoModelKernelUnits::cm3,   //BC5
-						      88401.02*GeoModelKernelUnits::cm3,   //BC6
-						      91974.02*GeoModelKernelUnits::cm3,   //BC7
-						      91014.21*GeoModelKernelUnits::cm3,   //BC8
-						      34219.80*GeoModelKernelUnits::cm3,   //B9
-						      110000.61*GeoModelKernelUnits::cm3,  //D0
-						      111375.62*GeoModelKernelUnits::cm3,  //D1
-						      118250.66*GeoModelKernelUnits::cm3,  //D2
-						      137500.77*GeoModelKernelUnits::cm3}; //D3
+const double TileDetDescrManager::vBarrelCells[23] = {17799.76*Gaudi::Units::cm3,   //A1
+						      17799.76*Gaudi::Units::cm3,   //A2
+						      18459.01*Gaudi::Units::cm3,   //A3
+						      18459.01*Gaudi::Units::cm3,   //A4
+						      19777.51*Gaudi::Units::cm3,   //A5
+						      20436.76*Gaudi::Units::cm3,   //A6
+						      21096.01*Gaudi::Units::cm3,   //A7
+						      23073.76*Gaudi::Units::cm3,   //A8
+						      24392.26*Gaudi::Units::cm3,   //A9
+						      21096.01*Gaudi::Units::cm3,   //A10
+						      75726.60*Gaudi::Units::cm3,   //BC1
+						      77024.24*Gaudi::Units::cm3,   //BC2
+						      77024.24*Gaudi::Units::cm3,   //BC3
+						      81574.95*Gaudi::Units::cm3,   //BC4
+						      81574.95*Gaudi::Units::cm3,   //BC5
+						      88401.02*Gaudi::Units::cm3,   //BC6
+						      91974.02*Gaudi::Units::cm3,   //BC7
+						      91014.21*Gaudi::Units::cm3,   //BC8
+						      34219.80*Gaudi::Units::cm3,   //B9
+						      110000.61*Gaudi::Units::cm3,  //D0
+						      111375.62*Gaudi::Units::cm3,  //D1
+						      118250.66*Gaudi::Units::cm3,  //D2
+						      137500.77*Gaudi::Units::cm3}; //D3
 
-const double TileDetDescrManager::vExtendedCells[12] = {11863.88*GeoModelKernelUnits::cm3,   //A12
-							32955.21*GeoModelKernelUnits::cm3,   //A13
-							36909.84*GeoModelKernelUnits::cm3,   //A14
-							39546.25*GeoModelKernelUnits::cm3,   //A15
-							63274.01*GeoModelKernelUnits::cm3,   //A16
-							44472.59*GeoModelKernelUnits::cm3,   //B11
-							75047.49*GeoModelKernelUnits::cm3,   //B12
-							83386.10*GeoModelKernelUnits::cm3,   //B13
-							88945.18*GeoModelKernelUnits::cm3,   //B14
-							97283.79*GeoModelKernelUnits::cm3,   //B15
-							293772.18*GeoModelKernelUnits::cm3,  //D5
-							338967.89*GeoModelKernelUnits::cm3}; //D6
+const double TileDetDescrManager::vExtendedCells[12] = {11863.88*Gaudi::Units::cm3,   //A12
+							32955.21*Gaudi::Units::cm3,   //A13
+							36909.84*Gaudi::Units::cm3,   //A14
+							39546.25*Gaudi::Units::cm3,   //A15
+							63274.01*Gaudi::Units::cm3,   //A16
+							44472.59*Gaudi::Units::cm3,   //B11
+							75047.49*Gaudi::Units::cm3,   //B12
+							83386.10*Gaudi::Units::cm3,   //B13
+							88945.18*Gaudi::Units::cm3,   //B14
+							97283.79*Gaudi::Units::cm3,   //B15
+							293772.18*Gaudi::Units::cm3,  //D5
+							338967.89*Gaudi::Units::cm3}; //D6
 
-const double TileDetDescrManager::vItcGapCells[6] = {13461.47*GeoModelKernelUnits::cm3,  //C10
-						     46542.48*GeoModelKernelUnits::cm3,  //D4
-						     1292.80*GeoModelKernelUnits::cm3,   //E1
-						     1244.11*GeoModelKernelUnits::cm3,   //E2
-						     776.24*GeoModelKernelUnits::cm3,    //E3
-						     468.36*GeoModelKernelUnits::cm3};   //E4
+const double TileDetDescrManager::vItcGapCells[6] = {13461.47*Gaudi::Units::cm3,  //C10
+						     46542.48*Gaudi::Units::cm3,  //D4
+						     1292.80*Gaudi::Units::cm3,   //E1
+						     1244.11*Gaudi::Units::cm3,   //E2
+						     776.24*Gaudi::Units::cm3,    //E3
+						     468.36*Gaudi::Units::cm3};   //E4
diff --git a/TileCalorimeter/TileDetDescr/src/TileDetDescrManager.cxx b/TileCalorimeter/TileDetDescr/src/TileDetDescrManager.cxx
index b16acb26272a..b9aa52c52284 100755
--- a/TileCalorimeter/TileDetDescr/src/TileDetDescrManager.cxx
+++ b/TileCalorimeter/TileDetDescr/src/TileDetDescrManager.cxx
@@ -13,6 +13,7 @@
 #include "TileIdentifier/TileHWID.h"
 
 #include "GaudiKernel/MsgStream.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include "AthenaKernel/getMessageSvc.h"
 #include "boost/io/ios_state.hpp"
 
@@ -489,7 +490,7 @@ void TileDetDescrManager::create_elements()
                 // come out to ~ 1e-14, the exact value varying depending
                 // on platform.  For reproducibility, force very small
                 // numbers to 0.
-                if (std::abs(z) < 1e-8 * GeoModelKernelUnits::mm) z = 0;
+                if (std::abs(z) < 1e-8 * Gaudi::Units::mm) z = 0;
 
                 double dz = 0.5 * fabs(cell_dim->getZMax(0)     // special 
                                        -cell_dim->getZMin(0)    // calculations
@@ -570,7 +571,7 @@ void TileDetDescrManager::create_elements()
 		    m_dbManager->SetCurrentSection(TileID::EXTBAR);
 		    double epThickness = 0.0; // only used for tower == 15
 		    double epVolume    = 0.0; // only used for tower == 15
-		    if ( tower == 15 ) epThickness = m_dbManager->TILBdzend2() * GeoModelKernelUnits::cm;
+		    if ( tower == 15 ) epThickness = m_dbManager->TILBdzend2() * Gaudi::Units::cm;
 		    
 		    double volumeInRow[5];  // book large array
 		    for (int iRow = 0; iRow < 5; iRow++) volumeInRow[iRow] = 0.;
@@ -648,12 +649,12 @@ void TileDetDescrManager::create_elements()
 				  {
 				    rowVolume = radMax + radMin;
 				    rowVolume *= (radMax - radMin);
-				    rowVolume -= 0.5*radMin*(27*GeoModelKernelUnits::mm);
+				    rowVolume -= 0.5*radMin*(27*Gaudi::Units::mm);
 				    rowVolume *= Radius2HL *  ( deltaZ + epThickness ); // adding volume of cutted endplate
 				  }
 				else
 				  {
-				    rowVolume = radMax - radMin - 35*GeoModelKernelUnits::mm;
+				    rowVolume = radMax - radMin - 35*Gaudi::Units::mm;
 				    rowVolume *= (radMax + radMin);
 				    rowVolume *= Radius2HL * deltaZ;
 				  }
@@ -666,8 +667,8 @@ void TileDetDescrManager::create_elements()
 			
 			if ( (ModuleNcp == 60) || (ModuleNcp == 37) )
 			  {
-			    double deltax = 38.7*std::cos(25.3125*GeoModelKernelUnits::deg); 
-			    double pstan  = std::tan(25.3125*GeoModelKernelUnits::deg);
+			    double deltax = 38.7*std::cos(25.3125*Gaudi::Units::deg); 
+			    double pstan  = std::tan(25.3125*Gaudi::Units::deg);
                             double inv_pstan = 1. / pstan;
 			    if ( ( 15 == tower ) )
 			      {
@@ -734,7 +735,7 @@ void TileDetDescrManager::create_elements()
 		    m_dbManager->SetCurrentSection(Id4);
 		    
 		    double standardD4dz = elt->dz();
-		    double specialD4dz = m_dbManager->TILBdzmodul()*GeoModelKernelUnits::cm;
+		    double specialD4dz = m_dbManager->TILBdzmodul()*Gaudi::Units::cm;
 		    if ( Id4 == 8 ) specialD4dz = 0.;
 
 		    elt->set_dz(specialD4dz);
@@ -812,7 +813,7 @@ void TileDetDescrManager::create_elements()
 		    if ( Id4 == 8 )
 		      {
 			double standardD5dz = elt->dz();
-			double specialD4dz = m_dbManager->TILBdzmodul()*GeoModelKernelUnits::cm; 
+			double specialD4dz = m_dbManager->TILBdzmodul()*Gaudi::Units::cm; 
 			elt->set_dz(specialD4dz + standardD5dz);
 			elt->set_volume(elt->volume()* (1. + specialD4dz/standardD5dz));
 			
diff --git a/TileCalorimeter/TileGeoModel/src/TileAtlasFactory.cxx b/TileCalorimeter/TileGeoModel/src/TileAtlasFactory.cxx
index 474e46831704..8731032d12d2 100755
--- a/TileCalorimeter/TileGeoModel/src/TileAtlasFactory.cxx
+++ b/TileCalorimeter/TileGeoModel/src/TileAtlasFactory.cxx
@@ -26,10 +26,6 @@
 #include "GeoModelKernel/GeoSerialIdentifier.h"
 #include "GeoModelKernel/GeoIdentifierTag.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
-
-//#include "GeoModelKernel/GeoCutVolAction.h"
-//#include "GeoModelKernel/GeoSimplePolygonBrep.h"
 
 #include "GeoGenericFunctions/AbsFunction.h"
 #include "GeoGenericFunctions/Variable.h"
@@ -40,6 +36,7 @@
 #include "StoreGate/StoreGateSvc.h"
 
 #include "GaudiKernel/MsgStream.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <stdexcept>
 #include <iostream>
@@ -87,13 +84,13 @@ void TileAtlasFactory::create(GeoPhysVol *world)
   //int   NcpFrom = 34, NcpPlus = 29; // ext.barrel, special
 
   double deltaPhi = 360./64; // we know apriory that 64 modules makes full cylinder 
-  double AnglMin = (NcpFrom-1)*deltaPhi*GeoModelKernelUnits::deg, AnglMax = (NcpPlus+1)*deltaPhi*GeoModelKernelUnits::deg;
+  double AnglMin = (NcpFrom-1)*deltaPhi*Gaudi::Units::deg, AnglMax = (NcpPlus+1)*deltaPhi*Gaudi::Units::deg;
 
   // phi range of modules with special C10
-  // double AnglMin1 = 38. * deltaPhi*GeoModelKernelUnits::deg;
-  // double AnglMax1 = 42. * deltaPhi*GeoModelKernelUnits::deg;
-  // double AnglMin2 = 54. * deltaPhi*GeoModelKernelUnits::deg;
-  // double AnglMax2 = 58. * deltaPhi*GeoModelKernelUnits::deg;
+  // double AnglMin1 = 38. * deltaPhi*Gaudi::Units::deg;
+  // double AnglMax1 = 42. * deltaPhi*Gaudi::Units::deg;
+  // double AnglMin2 = 54. * deltaPhi*Gaudi::Units::deg;
+  // double AnglMax2 = 58. * deltaPhi*Gaudi::Units::deg;
 
   (*m_log) << MSG::INFO <<" Entering TileAtlasFactory::create()" << endmsg;
 
@@ -118,8 +115,8 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 
      dbManager->SetCurrentSaddle(0);
 
-     DzSaddleSupport = dbManager->DzSaddleSupport()*GeoModelKernelUnits::cm;
-     RadiusSaddle = dbManager->RadiusSaddle()*GeoModelKernelUnits::cm;
+     DzSaddleSupport = dbManager->DzSaddleSupport()*Gaudi::Units::cm;
+     RadiusSaddle = dbManager->RadiusSaddle()*Gaudi::Units::cm;
      if(m_log->level()<=MSG::DEBUG)
        (*m_log) << MSG::DEBUG << " DzSaddleSupport()= "<<DzSaddleSupport<<" RadiusSaddle= "<<RadiusSaddle
 		<< endmsg;
@@ -168,7 +165,7 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 
   // Barrel finger 
   dbManager->SetCurrentTifg(1);
-  BFingerLength  = BFingerLengthNeg  = BFingerLengthPos  = dbManager->TIFGdz()*GeoModelKernelUnits::cm;
+  BFingerLength  = BFingerLengthNeg  = BFingerLengthPos  = dbManager->TIFGdz()*Gaudi::Units::cm;
 
   double EBFingerLength =0;
   double EBFingerLengthNeg =0;
@@ -176,7 +173,7 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 
   // EBarrel finger 
   dbManager->SetCurrentTifg(2);
-  EBFingerLength = EBFingerLengthNeg = EBFingerLengthPos = dbManager->TIFGdz()*GeoModelKernelUnits::cm;
+  EBFingerLength = EBFingerLengthNeg = EBFingerLengthPos = dbManager->TIFGdz()*Gaudi::Units::cm;
 
   int n_env = dbManager->GetNumberOfEnv();
   
@@ -196,13 +193,13 @@ void TileAtlasFactory::create(GeoPhysVol *world)
     if (Type == 3) EBA = true;
     */
 
-    ZLength  [Type] = dbManager->GetEnvZLength()*GeoModelKernelUnits::cm;
-    EnvDZPos [Type] = dbManager->GetEnvDZ()*GeoModelKernelUnits::cm;
+    ZLength  [Type] = dbManager->GetEnvZLength()*Gaudi::Units::cm;
+    EnvDZPos [Type] = dbManager->GetEnvDZ()*Gaudi::Units::cm;
     PhiMin   [Type] = std::min(PhiMin[Type], dbManager->GetEnvDPhi());
     PhiMax   [Type] = std::max(PhiMax[Type], dbManager->GetEnvNModules()*deltaPhi + dbManager->GetEnvDPhi());
-    RInMin   [Type] = std::min(RInMin[Type], dbManager->GetEnvRin()*GeoModelKernelUnits::cm);
-    ROutMax  [Type] = std::max(ROutMax[Type],dbManager->GetEnvRout()*GeoModelKernelUnits::cm);
-    FingerRmax         = std::max(FingerRmax,dbManager->GetEnvRout()*GeoModelKernelUnits::cm);
+    RInMin   [Type] = std::min(RInMin[Type], dbManager->GetEnvRin()*Gaudi::Units::cm);
+    ROutMax  [Type] = std::max(ROutMax[Type],dbManager->GetEnvRout()*Gaudi::Units::cm);
+    FingerRmax         = std::max(FingerRmax,dbManager->GetEnvRout()*Gaudi::Units::cm);
 
     //std::cout << "# Type " <<Type<< " ZLength " <<ZLength [Type]<< " EnvDZPos "<<EnvDZPos [Type]<< "\n"; 
   }
@@ -273,9 +270,9 @@ void TileAtlasFactory::create(GeoPhysVol *world)
   /** setfinger length */
   double BFingerRmin=0, EFingerRmin=0;
   dbManager->SetCurrentSection(TileDddbManager::TILE_BARREL);
-  BFingerRmin = dbManager->TILBrmax()*GeoModelKernelUnits::cm;
+  BFingerRmin = dbManager->TILBrmax()*Gaudi::Units::cm;
   dbManager->SetCurrentSection(TileDddbManager::TILE_EBARREL);
-  EFingerRmin = dbManager->TILBrmax()*GeoModelKernelUnits::cm;
+  EFingerRmin = dbManager->TILBrmax()*Gaudi::Units::cm;
   
   /** calculation PosEnvThickness enlarge mother volume by extra distance between barrel and positive ext.barrel */
   dbManager->SetCurrentEnvByType(3);
@@ -301,7 +298,7 @@ void TileAtlasFactory::create(GeoPhysVol *world)
   // R maximal
   double rmaxTotal = ROutMax[1];
     
-  GeoPcon* tileEnvPconeBarrel = new GeoPcon(PhiMin[1]*GeoModelKernelUnits::deg, PhiMax[1]*GeoModelKernelUnits::deg);
+  GeoPcon* tileEnvPconeBarrel = new GeoPcon(PhiMin[1]*Gaudi::Units::deg, PhiMax[1]*Gaudi::Units::deg);
 
    tileEnvPconeBarrel->addPlane(-endEnvelopeNeg,                   BFingerRmin,             rmaxTotal);
    tileEnvPconeBarrel->addPlane(-endCentralBarrel-DzSaddleSupport, BFingerRmin,             rmaxTotal);
@@ -344,7 +341,7 @@ void TileAtlasFactory::create(GeoPhysVol *world)
   }
 
   dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG1);
-  double PosEndITC1 = (dbManager->TILBzoffset() + dbManager->TILEzshift() + dbManager->TILBdzmodul()/2)*GeoModelKernelUnits::cm;
+  double PosEndITC1 = (dbManager->TILBzoffset() + dbManager->TILEzshift() + dbManager->TILBdzmodul()/2)*Gaudi::Units::cm;
   double corr = PosEndITC - PosEndITC1;
   if (fabs(corr)>0.01) {
      (*m_log) << MSG::WARNING
@@ -353,19 +350,19 @@ void TileAtlasFactory::create(GeoPhysVol *world)
               <<endmsg;
   }
 
-  //double beginITC1   = corr + (dbManager->TILBzoffset() + dbManager->TILEzshift()-dbManager->TILBdzmodul()/2)*GeoModelKernelUnits::cm;
+  //double beginITC1   = corr + (dbManager->TILBzoffset() + dbManager->TILEzshift()-dbManager->TILBdzmodul()/2)*Gaudi::Units::cm;
   dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG2);
-  double PosBeginITC2  = corr + (dbManager->TILBzoffset() + dbManager->TILEzshift()-dbManager->TILBdzmodul()/2)*GeoModelKernelUnits::cm;
+  double PosBeginITC2  = corr + (dbManager->TILBzoffset() + dbManager->TILEzshift()-dbManager->TILBdzmodul()/2)*Gaudi::Units::cm;
   dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG3);
-  double PosBeginGap = corr + (dbManager->TILBzoffset() + dbManager->TILEzshift()-dbManager->TILBdzmodul()/2)*GeoModelKernelUnits::cm;
-  double PosEndGap   = corr + (dbManager->TILBzoffset() + dbManager->TILEzshift()+dbManager->TILBdzmodul()/2)*GeoModelKernelUnits::cm;
+  double PosBeginGap = corr + (dbManager->TILBzoffset() + dbManager->TILEzshift()-dbManager->TILBdzmodul()/2)*Gaudi::Units::cm;
+  double PosEndGap   = corr + (dbManager->TILBzoffset() + dbManager->TILEzshift()+dbManager->TILBdzmodul()/2)*Gaudi::Units::cm;
   dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG4);
-  double PosBeginCrack = corr + (dbManager->TILBzoffset() + dbManager->TILEzshift()-dbManager->TILBdzmodul()/2)*GeoModelKernelUnits::cm;
-  double PosEndCrack   = corr + (dbManager->TILBzoffset() + dbManager->TILEzshift()+dbManager->TILBdzmodul()/2)*GeoModelKernelUnits::cm;
+  double PosBeginCrack = corr + (dbManager->TILBzoffset() + dbManager->TILEzshift()-dbManager->TILBdzmodul()/2)*Gaudi::Units::cm;
+  double PosEndCrack   = corr + (dbManager->TILBzoffset() + dbManager->TILEzshift()+dbManager->TILBdzmodul()/2)*Gaudi::Units::cm;
 
   if (!spC10) { // recovering old (wrong) positioning of gap scintillators
     double GapWidth = PosEndGap - PosBeginGap;
-    PosBeginGap = PosBeginCrack + 0.9 * GeoModelKernelUnits::cm;
+    PosBeginGap = PosBeginCrack + 0.9 * Gaudi::Units::cm;
     PosEndGap   = PosBeginGap + GapWidth;
   }
   
@@ -379,11 +376,11 @@ void TileAtlasFactory::create(GeoPhysVol *world)
   
   // R minimals 
   dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG1);
-  double PosRminITC1  = dbManager->TILBrminimal()*GeoModelKernelUnits::cm;
+  double PosRminITC1  = dbManager->TILBrminimal()*Gaudi::Units::cm;
   dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG2);
-  double PosRminITC   = rMinC10 /* dbManager->TILBrminimal() */ *GeoModelKernelUnits::cm;
+  double PosRminITC   = rMinC10 /* dbManager->TILBrminimal() */ *Gaudi::Units::cm;
   dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG4);
-  double PosRminCrack = rMinE4pos*GeoModelKernelUnits::cm;
+  double PosRminCrack = rMinE4pos*Gaudi::Units::cm;
 
   double PosRminExt = RInMin[3];
     
@@ -399,7 +396,7 @@ void TileAtlasFactory::create(GeoPhysVol *world)
              << " PosRmaxTotal = " << PosRmaxTotal
 	     << endmsg;
 
-  GeoPcon* tileEnvPconePosEndcap = new GeoPcon(PhiMin[3]*GeoModelKernelUnits::deg, PhiMax[3]*GeoModelKernelUnits::deg);
+  GeoPcon* tileEnvPconePosEndcap = new GeoPcon(PhiMin[3]*Gaudi::Units::deg, PhiMax[3]*Gaudi::Units::deg);
 
   // Positive Endcap 
   tileEnvPconePosEndcap->addPlane(PosEndBarrelFinger,             PosRminITC1,              PosRmaxTotal);
@@ -444,7 +441,7 @@ void TileAtlasFactory::create(GeoPhysVol *world)
   }
 
   dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG1);
-  double NegEndITC1 = (dbManager->TILBzoffset() + dbManager->TILEzshift() + dbManager->TILBdzmodul()/2)*GeoModelKernelUnits::cm;
+  double NegEndITC1 = (dbManager->TILBzoffset() + dbManager->TILEzshift() + dbManager->TILBdzmodul()/2)*Gaudi::Units::cm;
   corr = NegEndITC - NegEndITC1;
 
   if (fabs(corr)>0.01) { (*m_log) << MSG::WARNING
@@ -452,19 +449,19 @@ void TileAtlasFactory::create(GeoPhysVol *world)
                                   << NegEndITC << " != " << NegEndITC1 << "; take this into account" 
                                   << endmsg;
     }
-  //double NegBeginITC1 = corr + (dbManager->TILBzoffset() + dbManager->TILEzshift()-dbManager->TILBdzmodul()/2)*GeoModelKernelUnits::cm;
+  //double NegBeginITC1 = corr + (dbManager->TILBzoffset() + dbManager->TILEzshift()-dbManager->TILBdzmodul()/2)*Gaudi::Units::cm;
   dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG2);
-  double NegBeginITC2   = corr + (dbManager->TILBzoffset() + dbManager->TILEzshift()-dbManager->TILBdzmodul()/2)*GeoModelKernelUnits::cm;
+  double NegBeginITC2   = corr + (dbManager->TILBzoffset() + dbManager->TILEzshift()-dbManager->TILBdzmodul()/2)*Gaudi::Units::cm;
   dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG3);
-  double NegBeginGap    = corr + (dbManager->TILBzoffset() + dbManager->TILEzshift()-dbManager->TILBdzmodul()/2)*GeoModelKernelUnits::cm;
-  double NegEndGap      = corr + (dbManager->TILBzoffset() + dbManager->TILEzshift()+dbManager->TILBdzmodul()/2)*GeoModelKernelUnits::cm;
+  double NegBeginGap    = corr + (dbManager->TILBzoffset() + dbManager->TILEzshift()-dbManager->TILBdzmodul()/2)*Gaudi::Units::cm;
+  double NegEndGap      = corr + (dbManager->TILBzoffset() + dbManager->TILEzshift()+dbManager->TILBdzmodul()/2)*Gaudi::Units::cm;
   dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG4);
-  double NegBeginCrack  = corr + (dbManager->TILBzoffset() + dbManager->TILEzshift()-dbManager->TILBdzmodul()/2)*GeoModelKernelUnits::cm;
-  double NegEndCrack    = corr + (dbManager->TILBzoffset() + dbManager->TILEzshift()+dbManager->TILBdzmodul()/2)*GeoModelKernelUnits::cm;
+  double NegBeginCrack  = corr + (dbManager->TILBzoffset() + dbManager->TILEzshift()-dbManager->TILBdzmodul()/2)*Gaudi::Units::cm;
+  double NegEndCrack    = corr + (dbManager->TILBzoffset() + dbManager->TILEzshift()+dbManager->TILBdzmodul()/2)*Gaudi::Units::cm;
 
   if (!spC10) { // recovering old (wrong) positioning of gap scintillators
     double GapWidth = NegEndGap - NegBeginGap;
-    NegBeginGap = NegBeginCrack + 0.9 * GeoModelKernelUnits::cm;
+    NegBeginGap = NegBeginCrack + 0.9 * Gaudi::Units::cm;
     NegEndGap = NegBeginGap + GapWidth;
   }
   
@@ -478,11 +475,11 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 
   // R minimals 
   dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG1);
-  double NegRminITC1 = dbManager->TILBrminimal()*GeoModelKernelUnits::cm;
+  double NegRminITC1 = dbManager->TILBrminimal()*Gaudi::Units::cm;
   dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG2);
-  double NegRminITC = rMinC10 /* dbManager->TILBrminimal() */ *GeoModelKernelUnits::cm;
+  double NegRminITC = rMinC10 /* dbManager->TILBrminimal() */ *Gaudi::Units::cm;
   dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG4);
-  double NegRminCrack = rMinE4neg*GeoModelKernelUnits::cm;
+  double NegRminCrack = rMinE4neg*Gaudi::Units::cm;
   dbManager->SetCurrentSection(TileDddbManager::TILE_EBARREL);
 
   double NegRminExt = RInMin[2];
@@ -499,7 +496,7 @@ void TileAtlasFactory::create(GeoPhysVol *world)
              << " NegRmaxTotal = " << NegRmaxTotal
 	     << endmsg;
 
-  GeoPcon* tileEnvPconeNegEndcap = new GeoPcon(PhiMin[2]*GeoModelKernelUnits::deg, PhiMax[2]*GeoModelKernelUnits::deg);
+  GeoPcon* tileEnvPconeNegEndcap = new GeoPcon(PhiMin[2]*Gaudi::Units::deg, PhiMax[2]*Gaudi::Units::deg);
 
   // Negative Endcap 
   tileEnvPconeNegEndcap->addPlane(-NegEndExtBarrelFinger,          EFingerRmin,              NegRmaxTotal);
@@ -529,8 +526,8 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 	      - (dbManager->TILBnperiod()*2.*(dbManager->TILBdzmast() + dbManager->TILBdzspac()) 
 		 -  dbManager->TILBdzmast()))/(2.*(2.*dbManager->TILBnperiod() - 1));
 
-    sectionBuilder->setBarrelPeriodThickness(2.*(dbManager->TILBdzmast() + dbManager->TILBdzspac() + 2.*dzGlue)*GeoModelKernelUnits::cm);
-    sectionBuilder->setBarrelGlue(dzGlue*GeoModelKernelUnits::cm);
+    sectionBuilder->setBarrelPeriodThickness(2.*(dbManager->TILBdzmast() + dbManager->TILBdzspac() + 2.*dzGlue)*Gaudi::Units::cm);
+    sectionBuilder->setBarrelGlue(dzGlue*Gaudi::Units::cm);
 
     // Ext barrel part
     dbManager->SetCurrentSectionByNumber(2);
@@ -538,7 +535,7 @@ void TileAtlasFactory::create(GeoPhysVol *world)
     dzGlue = (dbManager->TILBdzmodul() - dbManager->TILBdzend1() - dbManager->TILBdzend2() 
 	      - dbManager->TILBnperiod()*2.*(dbManager->TILBdzmast() + dbManager->TILBdzspac()))/(4.*dbManager->TILBnperiod());
 
-    sectionBuilder->setExtendedPeriodThickness(2.*(dbManager->TILBdzmast() + dbManager->TILBdzspac() + 2.*dzGlue)*GeoModelKernelUnits::cm);
+    sectionBuilder->setExtendedPeriodThickness(2.*(dbManager->TILBdzmast() + dbManager->TILBdzspac() + 2.*dzGlue)*Gaudi::Units::cm);
   }
 
   GeoPhysVol *pvBarrelMother{nullptr},     *pvFingerMotherNeg{nullptr}, *pvFingerMotherPos{nullptr}, 
@@ -774,8 +771,8 @@ void TileAtlasFactory::create(GeoPhysVol *world)
       // nominal position of end plate
       zEndSection = ZLength[1]/2 - BFingerLength;
 
-      GeoTubs* GeneralMother = new GeoTubs(dbManager->GetEnvRin()*GeoModelKernelUnits::cm,
-					   dbManager->GetEnvRout()*GeoModelKernelUnits::cm,
+      GeoTubs* GeneralMother = new GeoTubs(dbManager->GetEnvRin()*Gaudi::Units::cm,
+					   dbManager->GetEnvRout()*Gaudi::Units::cm,
 					   zEndSection,
 					   AnglMin, AnglMax);
 
@@ -786,13 +783,13 @@ void TileAtlasFactory::create(GeoPhysVol *world)
       if(m_log->level()<=MSG::DEBUG)
 	(*m_log) << MSG::DEBUG << "Barrel envelope parameters: " 
 		 << " Length=" << zEndSection
-		 << " Rmin=" << dbManager->GetEnvRin()*GeoModelKernelUnits::cm
-		 << " Rmax=" << dbManager->GetEnvRout()*GeoModelKernelUnits::cm
+		 << " Rmin=" << dbManager->GetEnvRin()*Gaudi::Units::cm
+		 << " Rmax=" << dbManager->GetEnvRout()*Gaudi::Units::cm
 		 << endmsg;
       
       // Envelopes for two barrel fingers, positive finger 
       GeoTubs* fingerMotherPos = new GeoTubs(BFingerRmin,
-                                             dbManager->GetEnvRout()*GeoModelKernelUnits::cm,
+                                             dbManager->GetEnvRout()*Gaudi::Units::cm,
                                              BFingerLengthPos/2,
                                              AnglMin, AnglMax);
 
@@ -812,7 +809,7 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 
        // Negative finger
        GeoTubs* fingerMotherNeg = new GeoTubs(BFingerRmin,
-                                              dbManager->GetEnvRout()*GeoModelKernelUnits::cm,
+                                              dbManager->GetEnvRout()*Gaudi::Units::cm,
                                               BFingerLengthNeg/2,
                                               AnglMin, AnglMax);
 
@@ -822,7 +819,7 @@ void TileAtlasFactory::create(GeoPhysVol *world)
        if(m_log->level()<=MSG::DEBUG)
 	 (*m_log) << MSG::DEBUG << "Barrel finger envelope parameters: " 
 		  << " length Pos/Neg=" << BFingerLengthPos << "/" << BFingerLengthNeg
-		  << " Rmin=" << BFingerRmin << " Rmax=" << dbManager->GetEnvRout()*GeoModelKernelUnits::cm
+		  << " Rmin=" << BFingerRmin << " Rmax=" << dbManager->GetEnvRout()*Gaudi::Units::cm
 		  << endmsg;
 
        // Envelopes for two barrel saddle supports, positive
@@ -840,15 +837,15 @@ void TileAtlasFactory::create(GeoPhysVol *world)
     if(EnvType == 3) {   
 
       if(m_log->level()<=MSG::DEBUG)
-	(*m_log) << MSG::DEBUG <<" EBarrelPos DZ "<<(dbManager->GetEnvZLength()*GeoModelKernelUnits::cm- EBFingerLengthPos)/2<< endmsg;
+	(*m_log) << MSG::DEBUG <<" EBarrelPos DZ "<<(dbManager->GetEnvZLength()*Gaudi::Units::cm- EBFingerLengthPos)/2<< endmsg;
 
       checking("EBarrel (+)", false, 0, 
-               dbManager->GetEnvRin()*GeoModelKernelUnits::cm,dbManager->GetEnvRout()*GeoModelKernelUnits::cm,
-               AnglMin,AnglMax,(dbManager->GetEnvZLength()*GeoModelKernelUnits::cm- EBFingerLengthPos)/2);
+               dbManager->GetEnvRin()*Gaudi::Units::cm,dbManager->GetEnvRout()*Gaudi::Units::cm,
+               AnglMin,AnglMax,(dbManager->GetEnvZLength()*Gaudi::Units::cm- EBFingerLengthPos)/2);
 
-      GeoTubs* GeneralMother = new GeoTubs(dbManager->GetEnvRin()*GeoModelKernelUnits::cm,
-					   dbManager->GetEnvRout()*GeoModelKernelUnits::cm,
-					   (dbManager->GetEnvZLength()*GeoModelKernelUnits::cm- EBFingerLengthPos)/2,
+      GeoTubs* GeneralMother = new GeoTubs(dbManager->GetEnvRin()*Gaudi::Units::cm,
+					   dbManager->GetEnvRout()*Gaudi::Units::cm,
+					   (dbManager->GetEnvZLength()*Gaudi::Units::cm- EBFingerLengthPos)/2,
 					   AnglMin, AnglMax);
 
       GeoTubs* ebarrelMotherPos = GeneralMother;
@@ -857,18 +854,18 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 
       if(m_log->level()<=MSG::DEBUG)
 	(*m_log) << MSG::DEBUG << "Positive ext.barrel envelope parameters: " 
-		 << " length=" << (dbManager->GetEnvZLength()*GeoModelKernelUnits::cm- EBFingerLength)
-		 << " Rmin=" << dbManager->GetEnvRin()*GeoModelKernelUnits::cm
-		 << " Rmax=" << dbManager->GetEnvRout()*GeoModelKernelUnits::cm
+		 << " length=" << (dbManager->GetEnvZLength()*Gaudi::Units::cm- EBFingerLength)
+		 << " Rmin=" << dbManager->GetEnvRin()*Gaudi::Units::cm
+		 << " Rmax=" << dbManager->GetEnvRout()*Gaudi::Units::cm
 		 << endmsg;
 
       // Envelope for finger separately
       checking("EBarrel (+)", false, 0, 
-               EFingerRmin,dbManager->GetEnvRout()*GeoModelKernelUnits::cm,
+               EFingerRmin,dbManager->GetEnvRout()*Gaudi::Units::cm,
                AnglMin,AnglMax, EBFingerLength/2);
 
       GeoTubs* fingerMother = new GeoTubs(EFingerRmin,
-					  dbManager->GetEnvRout()*GeoModelKernelUnits::cm,
+					  dbManager->GetEnvRout()*Gaudi::Units::cm,
 					  EBFingerLength/2,
 					  AnglMin, AnglMax);
 
@@ -879,7 +876,7 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 	(*m_log) << MSG::DEBUG << "Positive ext.barrel finger envelope parameters: " 
 		 << " length=" << EBFingerLength
 		 << " Rmin=" << EFingerRmin
-		 << " Rmax=" << (dbManager->GetEnvRout())*GeoModelKernelUnits::cm
+		 << " Rmax=" << (dbManager->GetEnvRout())*Gaudi::Units::cm
 		 << endmsg;
 
       if (dbManager->BoolSaddle())
@@ -900,11 +897,11 @@ void TileAtlasFactory::create(GeoPhysVol *world)
     // Negative Ext.Barrel
     if(EnvType == 2) { 
       if(m_log->level()<=MSG::DEBUG)
-	(*m_log) << MSG::DEBUG <<" EBarrelNeg DZ "<<(dbManager->GetEnvZLength()*GeoModelKernelUnits::cm- EBFingerLengthNeg)/2<< endmsg;
+	(*m_log) << MSG::DEBUG <<" EBarrelNeg DZ "<<(dbManager->GetEnvZLength()*Gaudi::Units::cm- EBFingerLengthNeg)/2<< endmsg;
 
-      GeoTubs* GeneralMother = new GeoTubs(dbManager->GetEnvRin()*GeoModelKernelUnits::cm,
-					   dbManager->GetEnvRout()*GeoModelKernelUnits::cm,
-					   (dbManager->GetEnvZLength()*GeoModelKernelUnits::cm- EBFingerLengthNeg)/2,
+      GeoTubs* GeneralMother = new GeoTubs(dbManager->GetEnvRin()*Gaudi::Units::cm,
+					   dbManager->GetEnvRout()*Gaudi::Units::cm,
+					   (dbManager->GetEnvZLength()*Gaudi::Units::cm- EBFingerLengthNeg)/2,
 					   AnglMin, AnglMax);
 
       GeoTubs* ebarrelMotherNeg = GeneralMother;
@@ -913,14 +910,14 @@ void TileAtlasFactory::create(GeoPhysVol *world)
       
       if(m_log->level()<=MSG::DEBUG)
 	(*m_log) << MSG::DEBUG << "Nevative ext.barrel envelope parameters: " 
-		 << " length=" << (dbManager->GetEnvZLength()*GeoModelKernelUnits::cm- EBFingerLength)
-		 << " Rmin=" << dbManager->GetEnvRin()*GeoModelKernelUnits::cm
-		 << " Rmax=" << dbManager->GetEnvRout()*GeoModelKernelUnits::cm
+		 << " length=" << (dbManager->GetEnvZLength()*Gaudi::Units::cm- EBFingerLength)
+		 << " Rmin=" << dbManager->GetEnvRin()*Gaudi::Units::cm
+		 << " Rmax=" << dbManager->GetEnvRout()*Gaudi::Units::cm
 		 << endmsg;
 
       // Envelope for finger separately
       GeoTubs* fingerMother = new GeoTubs(EFingerRmin,
-					  dbManager->GetEnvRout()*GeoModelKernelUnits::cm,
+					  dbManager->GetEnvRout()*Gaudi::Units::cm,
 					  EBFingerLengthNeg/2,
 					  AnglMin, AnglMax);
       
@@ -931,7 +928,7 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 	(*m_log) << MSG::DEBUG <<"Negative ext.barrel finger envelope parameters: " 
 		 << " length=" << EBFingerLengthNeg
 		 << " Rmin=" << EFingerRmin
-		 << " Rmax=" << dbManager->GetEnvRout()*GeoModelKernelUnits::cm
+		 << " Rmax=" << dbManager->GetEnvRout()*Gaudi::Units::cm
 		 << endmsg;
 
       if (dbManager->BoolSaddle())
@@ -965,27 +962,27 @@ void TileAtlasFactory::create(GeoPhysVol *world)
       dzITC1   = dbManager->TILBdzmodul();
       
       (*m_log) << MSG::INFO << " Positive ITC envelope parameters: PLUG1 " 
-               <<" Rmin= "<<rMinITC1*GeoModelKernelUnits::cm<<" Rmax= "<<rMaxITC1*GeoModelKernelUnits::cm<<" dzITC1= "<<dzITC1/2*GeoModelKernelUnits::cm<< endmsg;
+               <<" Rmin= "<<rMinITC1*Gaudi::Units::cm<<" Rmax= "<<rMaxITC1*Gaudi::Units::cm<<" dzITC1= "<<dzITC1/2*Gaudi::Units::cm<< endmsg;
       (*m_log) << MSG::INFO << "                                   PLUG2 "
-               <<" Rmin= "<<rMinITC2*GeoModelKernelUnits::cm<<" Rmax= "<<rMaxITC2*GeoModelKernelUnits::cm<<" dzITC2= "<<dzITC2/2*GeoModelKernelUnits::cm<< endmsg;
+               <<" Rmin= "<<rMinITC2*Gaudi::Units::cm<<" Rmax= "<<rMaxITC2*Gaudi::Units::cm<<" dzITC2= "<<dzITC2/2*Gaudi::Units::cm<< endmsg;
 
       checking("ITC itcWheel1 (+)", false, 0, 
-               rMinITC1*GeoModelKernelUnits::cm,rMaxITC1*GeoModelKernelUnits::cm, AnglMin,AnglMax, dzITC1/2*GeoModelKernelUnits::cm);
+               rMinITC1*Gaudi::Units::cm,rMaxITC1*Gaudi::Units::cm, AnglMin,AnglMax, dzITC1/2*Gaudi::Units::cm);
 
-      GeoTubs* itcWheel1 = new GeoTubs(rMinITC1*GeoModelKernelUnits::cm,
-                                       rMaxITC1*GeoModelKernelUnits::cm,
-                                       dzITC1/2*GeoModelKernelUnits::cm,
+      GeoTubs* itcWheel1 = new GeoTubs(rMinITC1*Gaudi::Units::cm,
+                                       rMaxITC1*Gaudi::Units::cm,
+                                       dzITC1/2*Gaudi::Units::cm,
                                        AnglMin, AnglMax);
 
       checking("ITC itcWheel2 (+)", false, 0,
-               rMinITC2*GeoModelKernelUnits::cm,rMaxITC2*GeoModelKernelUnits::cm, AnglMin,AnglMax, dzITC2/2*GeoModelKernelUnits::cm);
+               rMinITC2*Gaudi::Units::cm,rMaxITC2*Gaudi::Units::cm, AnglMin,AnglMax, dzITC2/2*Gaudi::Units::cm);
 
-      GeoTubs* itcWheel2 = new GeoTubs(rMinITC2*GeoModelKernelUnits::cm,
-                                       rMaxITC2*GeoModelKernelUnits::cm,
-                                       dzITC2/2*GeoModelKernelUnits::cm,
+      GeoTubs* itcWheel2 = new GeoTubs(rMinITC2*Gaudi::Units::cm,
+                                       rMaxITC2*Gaudi::Units::cm,
+                                       dzITC2/2*Gaudi::Units::cm,
                                        AnglMin, AnglMax);
       
-      Z = ( dzITC1 - dzITC2)/2*GeoModelKernelUnits::cm;
+      Z = ( dzITC1 - dzITC2)/2*Gaudi::Units::cm;
       GeoTrf::Translate3D itcWheel2OffsetPos(0.,0., Z);
 
       zITCStandard = Z;
@@ -999,13 +996,13 @@ void TileAtlasFactory::create(GeoPhysVol *world)
       dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG3);
 
       checking("Gap (+)", false, 0, 
-              dbManager->TILBrminimal()*GeoModelKernelUnits::cm,
-              dbManager->TILBrmaximal()*GeoModelKernelUnits::cm/cos(deltaPhi/2*GeoModelKernelUnits::deg),
-              AnglMin,AnglMax, dbManager->TILBdzmodul()/2*GeoModelKernelUnits::cm);
+              dbManager->TILBrminimal()*Gaudi::Units::cm,
+              dbManager->TILBrmaximal()*Gaudi::Units::cm/cos(deltaPhi/2*Gaudi::Units::deg),
+              AnglMin,AnglMax, dbManager->TILBdzmodul()/2*Gaudi::Units::cm);
 
-      GeoTubs* GapMotherPos = new GeoTubs(dbManager->TILBrminimal()*GeoModelKernelUnits::cm,
-	                                  dbManager->TILBrmaximal()*GeoModelKernelUnits::cm/cos(deltaPhi/2*GeoModelKernelUnits::deg),
-                                          dbManager->TILBdzmodul()/2*GeoModelKernelUnits::cm,
+      GeoTubs* GapMotherPos = new GeoTubs(dbManager->TILBrminimal()*Gaudi::Units::cm,
+	                                  dbManager->TILBrmaximal()*Gaudi::Units::cm/cos(deltaPhi/2*Gaudi::Units::deg),
+                                          dbManager->TILBdzmodul()/2*Gaudi::Units::cm,
                                           AnglMin, AnglMax);
 
       GeoLogVol* lvGapMotherPos = new GeoLogVol("Gap",GapMotherPos,matAir);
@@ -1015,13 +1012,13 @@ void TileAtlasFactory::create(GeoPhysVol *world)
       dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG4);
 
       checking("Crack (+)", spE4, 0, 
-              rMinE4pos*GeoModelKernelUnits::cm,
-              dbManager->TILBrmaximal()*GeoModelKernelUnits::cm/cos(deltaPhi/2*GeoModelKernelUnits::deg),
-              AnglMin,AnglMax, dbManager->TILBdzmodul()/2*GeoModelKernelUnits::cm);
+              rMinE4pos*Gaudi::Units::cm,
+              dbManager->TILBrmaximal()*Gaudi::Units::cm/cos(deltaPhi/2*Gaudi::Units::deg),
+              AnglMin,AnglMax, dbManager->TILBdzmodul()/2*Gaudi::Units::cm);
 
-      GeoTubs* crackMotherPos = new GeoTubs(rMinE4pos*GeoModelKernelUnits::cm,
-				            dbManager->TILBrmaximal()*GeoModelKernelUnits::cm/cos(deltaPhi/2*GeoModelKernelUnits::deg),
-				            dbManager->TILBdzmodul()/2*GeoModelKernelUnits::cm,
+      GeoTubs* crackMotherPos = new GeoTubs(rMinE4pos*Gaudi::Units::cm,
+				            dbManager->TILBrmaximal()*Gaudi::Units::cm/cos(deltaPhi/2*Gaudi::Units::deg),
+				            dbManager->TILBdzmodul()/2*Gaudi::Units::cm,
                                             AnglMin, AnglMax);
     
       GeoLogVol* lvCrackMotherPos = new GeoLogVol("Crack",crackMotherPos,matAir);
@@ -1044,27 +1041,27 @@ void TileAtlasFactory::create(GeoPhysVol *world)
       dzITC1   = dbManager->TILBdzmodul();
       
       (*m_log) << MSG::INFO << " Negative ITC envelope parameters: PLUG1 " 
-               <<" Rmin= "<<rMinITC1*GeoModelKernelUnits::cm<<" Rmax= "<<rMaxITC1*GeoModelKernelUnits::cm<<" dzITC1= "<<dzITC1/2*GeoModelKernelUnits::cm<<endmsg;
+               <<" Rmin= "<<rMinITC1*Gaudi::Units::cm<<" Rmax= "<<rMaxITC1*Gaudi::Units::cm<<" dzITC1= "<<dzITC1/2*Gaudi::Units::cm<<endmsg;
       (*m_log) << MSG::INFO << "                                   PLUG2 "
-               <<" Rmin= "<<rMinITC2*GeoModelKernelUnits::cm<<" Rmax= "<<rMaxITC2*GeoModelKernelUnits::cm<<" dzITC2= "<<dzITC2/2*GeoModelKernelUnits::cm<<endmsg;
+               <<" Rmin= "<<rMinITC2*Gaudi::Units::cm<<" Rmax= "<<rMaxITC2*Gaudi::Units::cm<<" dzITC2= "<<dzITC2/2*Gaudi::Units::cm<<endmsg;
 
       checking("ITC itcWheel1 (-)", false, 0, 
-               rMinITC1*GeoModelKernelUnits::cm,rMaxITC1*GeoModelKernelUnits::cm, AnglMin,AnglMax, dzITC1/2*GeoModelKernelUnits::cm);
+               rMinITC1*Gaudi::Units::cm,rMaxITC1*Gaudi::Units::cm, AnglMin,AnglMax, dzITC1/2*Gaudi::Units::cm);
 
-      GeoTubs* itcWheel1 = new GeoTubs(rMinITC1*GeoModelKernelUnits::cm,
-                                       rMaxITC1*GeoModelKernelUnits::cm,
-                                       dzITC1/2*GeoModelKernelUnits::cm,
+      GeoTubs* itcWheel1 = new GeoTubs(rMinITC1*Gaudi::Units::cm,
+                                       rMaxITC1*Gaudi::Units::cm,
+                                       dzITC1/2*Gaudi::Units::cm,
                                        AnglMin, AnglMax);
 
       checking("ITC itcWheel2 (-)", false, 0,
-               rMinITC2*GeoModelKernelUnits::cm,rMaxITC2*GeoModelKernelUnits::cm, AnglMin,AnglMax, dzITC2/2*GeoModelKernelUnits::cm);
+               rMinITC2*Gaudi::Units::cm,rMaxITC2*Gaudi::Units::cm, AnglMin,AnglMax, dzITC2/2*Gaudi::Units::cm);
 
-      GeoTubs* itcWheel2 = new GeoTubs(rMinITC2*GeoModelKernelUnits::cm,
-                                       rMaxITC2*GeoModelKernelUnits::cm,
-                                       dzITC2/2*GeoModelKernelUnits::cm,
+      GeoTubs* itcWheel2 = new GeoTubs(rMinITC2*Gaudi::Units::cm,
+                                       rMaxITC2*Gaudi::Units::cm,
+                                       dzITC2/2*Gaudi::Units::cm,
                                        AnglMin, AnglMax);
 
-      Z = (-dzITC1 + dzITC2)/2*GeoModelKernelUnits::cm;
+      Z = (-dzITC1 + dzITC2)/2*Gaudi::Units::cm;
       GeoTrf::Translate3D itcWheel2OffsetNeg(0.,0., Z);
 
       zITCStandard = Z;
@@ -1078,13 +1075,13 @@ void TileAtlasFactory::create(GeoPhysVol *world)
       dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG3);
 
       checking("Gap (-)", false, 1, 
-              dbManager->TILBrminimal()*GeoModelKernelUnits::cm,
-              dbManager->TILBrmaximal()*GeoModelKernelUnits::cm/cos(deltaPhi/2*GeoModelKernelUnits::deg),
-              AnglMin,AnglMax, dbManager->TILBdzmodul()/2*GeoModelKernelUnits::cm);
+              dbManager->TILBrminimal()*Gaudi::Units::cm,
+              dbManager->TILBrmaximal()*Gaudi::Units::cm/cos(deltaPhi/2*Gaudi::Units::deg),
+              AnglMin,AnglMax, dbManager->TILBdzmodul()/2*Gaudi::Units::cm);
 
-      GeoTubs* GapMotherNeg = new GeoTubs(dbManager->TILBrminimal()*GeoModelKernelUnits::cm,
-	                                  dbManager->TILBrmaximal()*GeoModelKernelUnits::cm/cos(deltaPhi/2*GeoModelKernelUnits::deg),
-                                          dbManager->TILBdzmodul()/2*GeoModelKernelUnits::cm,
+      GeoTubs* GapMotherNeg = new GeoTubs(dbManager->TILBrminimal()*Gaudi::Units::cm,
+	                                  dbManager->TILBrmaximal()*Gaudi::Units::cm/cos(deltaPhi/2*Gaudi::Units::deg),
+                                          dbManager->TILBdzmodul()/2*Gaudi::Units::cm,
                                           AnglMin, AnglMax);
 
       GeoLogVol* lvGapMotherNeg = new GeoLogVol("Gap",GapMotherNeg,matAir);
@@ -1094,13 +1091,13 @@ void TileAtlasFactory::create(GeoPhysVol *world)
       dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG4);
   
       checking("Crack (-)", spE4, 0, 
-              rMinE4neg*GeoModelKernelUnits::cm,
-              dbManager->TILBrmaximal()*GeoModelKernelUnits::cm/cos(deltaPhi/2*GeoModelKernelUnits::deg),
-              AnglMin,AnglMax, dbManager->TILBdzmodul()/2*GeoModelKernelUnits::cm);
+              rMinE4neg*Gaudi::Units::cm,
+              dbManager->TILBrmaximal()*Gaudi::Units::cm/cos(deltaPhi/2*Gaudi::Units::deg),
+              AnglMin,AnglMax, dbManager->TILBdzmodul()/2*Gaudi::Units::cm);
 
-      GeoTubs* crackMotherNeg = new GeoTubs(rMinE4neg*GeoModelKernelUnits::cm,
-				            dbManager->TILBrmaximal()*GeoModelKernelUnits::cm/cos(deltaPhi/2*GeoModelKernelUnits::deg),
-				            dbManager->TILBdzmodul()/2*GeoModelKernelUnits::cm,
+      GeoTubs* crackMotherNeg = new GeoTubs(rMinE4neg*Gaudi::Units::cm,
+				            dbManager->TILBrmaximal()*Gaudi::Units::cm/cos(deltaPhi/2*Gaudi::Units::deg),
+				            dbManager->TILBdzmodul()/2*Gaudi::Units::cm,
                                             AnglMin, AnglMax);
     
       GeoLogVol* lvCrackMotherNeg = new GeoLogVol("Crack",crackMotherNeg,matAir);
@@ -1119,9 +1116,9 @@ void TileAtlasFactory::create(GeoPhysVol *world)
     // the main loop around all phi modules position
     int ModuleNcp =0;
 
-    GeoTransform* yrotMod = new GeoTransform(GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg));
+    GeoTransform* yrotMod = new GeoTransform(GeoTrf::RotateY3D(90*Gaudi::Units::deg));
     yrotMod->ref();
-    GeoTransform* XYrtMod = new GeoTransform(GeoTrf::RotateX3D(180*GeoModelKernelUnits::deg) * GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg));
+    GeoTransform* XYrtMod = new GeoTransform(GeoTrf::RotateX3D(180*Gaudi::Units::deg) * GeoTrf::RotateY3D(90*Gaudi::Units::deg));
     XYrtMod->ref();
 
     for(int ModCounter = 0; ModCounter < NumberOfMod; ModCounter++){
@@ -1132,9 +1129,9 @@ void TileAtlasFactory::create(GeoPhysVol *world)
       double phi = (double(ModuleNcp-1) + 0.5)*deltaPhi;
       double ph1 = (double(ModuleNcp-1))*deltaPhi;
 
-      GeoTransform* zrotMod = new GeoTransform(GeoTrf::RotateZ3D(phi*GeoModelKernelUnits::deg));
+      GeoTransform* zrotMod = new GeoTransform(GeoTrf::RotateZ3D(phi*Gaudi::Units::deg));
       zrotMod->ref();
-      GeoTransform* zrotSaddle =  new GeoTransform(GeoTrf::RotateZ3D(ph1*GeoModelKernelUnits::deg));
+      GeoTransform* zrotSaddle =  new GeoTransform(GeoTrf::RotateZ3D(ph1*Gaudi::Units::deg));
       zrotSaddle->ref();
 
       dbManager->SetCurrentModuleByIndex(ModuleNcp-1);
@@ -1161,10 +1158,10 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 
 	dbManager->SetCurrentSectionByNumber(ModType);
 
-        thicknessWedgeMother = dbManager->TILBdzmodul() * GeoModelKernelUnits::cm; 
-        heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * GeoModelKernelUnits::cm;
-        dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-        dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+        thicknessWedgeMother = dbManager->TILBdzmodul() * Gaudi::Units::cm; 
+        heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * Gaudi::Units::cm;
+        dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
+        dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
        
         dzGlue = (dbManager->TILBdzmodul() - dbManager->TILBdzend1() - dbManager->TILBdzend2() 
                - (dbManager->TILBnperiod()*2.*(dbManager->TILBdzmast() + dbManager->TILBdzspac()) 
@@ -1189,7 +1186,7 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 	}
        
         GeoTransform* xtraMod = new GeoTransform(GeoTrf::TranslateX3D(
-                                    (dbManager->TILBrmaximal() + dbManager->TILBrminimal())/2 * GeoModelKernelUnits::cm));
+                                    (dbManager->TILBrmaximal() + dbManager->TILBrminimal())/2 * Gaudi::Units::cm));
 
         pvBarrelMother->add(zrotMod);
         pvBarrelMother->add(xtraMod);
@@ -1203,9 +1200,9 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 	dbManager->SetCurrentTifg(1);  // Barrel finger 
         zEndSection = dbManager->TILBzoffset() + dbManager->TILBdzmodul()/2;
 
-        heightWedgeMother = (dbManager->TILErmax() - dbManager->TILBrmax())*GeoModelKernelUnits::cm;
-        dy1WedgeMother = dbManager->TILBrmax() * tan(deltaPhi/2*GeoModelKernelUnits::deg)*GeoModelKernelUnits::cm;
-        dy2WedgeMother = dbManager->TILErmax() * tan(deltaPhi/2*GeoModelKernelUnits::deg)*GeoModelKernelUnits::cm;
+        heightWedgeMother = (dbManager->TILErmax() - dbManager->TILBrmax())*Gaudi::Units::cm;
+        dy1WedgeMother = dbManager->TILBrmax() * tan(deltaPhi/2*Gaudi::Units::deg)*Gaudi::Units::cm;
+        dy2WedgeMother = dbManager->TILErmax() * tan(deltaPhi/2*Gaudi::Units::deg)*Gaudi::Units::cm;
 
 	// Finger Positive, positioning (only Left ModFingpattern == 10) 
 	if ( ModFingpattern != 10 ) {
@@ -1225,9 +1222,9 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 				       deltaPhi,
 				       m_testbeamGeometry,
 				       ModuleNcp,
-				       BFingerLengthPos*(1./GeoModelKernelUnits::cm)); 
+				       BFingerLengthPos*(1./Gaudi::Units::cm)); 
 
-	  GeoTransform* xtraModFingerPos  = new GeoTransform(GeoTrf::TranslateX3D((dbManager->TILErmax() + dbManager->TILBrmax())/2*GeoModelKernelUnits::cm));
+	  GeoTransform* xtraModFingerPos  = new GeoTransform(GeoTrf::TranslateX3D((dbManager->TILErmax() + dbManager->TILBrmax())/2*Gaudi::Units::cm));
 
           //(*m_log) << MSG::DEBUG << "R  Index " << ModuleNcp << " Fingpattern "<< ModFingpattern << endmsg;
  
@@ -1258,9 +1255,9 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 				       deltaPhi,
 				       m_testbeamGeometry,
 				       ModuleNcp*100,
-				       BFingerLengthNeg*(1./GeoModelKernelUnits::cm));
+				       BFingerLengthNeg*(1./Gaudi::Units::cm));
 
-	  GeoTransform* xtraModFingerNeg  = new GeoTransform(GeoTrf::TranslateX3D((dbManager->TILErmax() + dbManager->TILBrmax())/2*GeoModelKernelUnits::cm));
+	  GeoTransform* xtraModFingerNeg  = new GeoTransform(GeoTrf::TranslateX3D((dbManager->TILErmax() + dbManager->TILBrmax())/2*Gaudi::Units::cm));
 
           // (*m_log) << MSG::DEBUG << "L  Index " << ModuleNcp << " Fingpattern "<< ModFingpattern << endmsg;
 
@@ -1279,7 +1276,7 @@ void TileAtlasFactory::create(GeoPhysVol *world)
             GeoTubs* SaddleModule = new GeoTubs(BFingerRmin-RadiusSaddle,
                                                 BFingerRmin,
                                                 DzSaddleSupport/2,
-                                                0.,deltaPhi*GeoModelKernelUnits::deg);
+                                                0.,deltaPhi*Gaudi::Units::deg);
      
             GeoLogVol* lvSaddleModule = new GeoLogVol("SaddleModule",SaddleModule,matIron);
             GeoPhysVol* pvSaddleModule = new GeoPhysVol(lvSaddleModule);
@@ -1302,16 +1299,16 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 	dbManager->SetCurrentSectionByNumber(ModType);
 
         // Mother module 
-        thicknessWedgeMother = dbManager->TILBdzmodul() * GeoModelKernelUnits::cm;
-        heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * GeoModelKernelUnits::cm;
-        dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-        dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+        thicknessWedgeMother = dbManager->TILBdzmodul() * Gaudi::Units::cm;
+        heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * Gaudi::Units::cm;
+        dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
+        dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
         
         dzGlue = (dbManager->TILBdzmodul() - dbManager->TILBdzend1() - dbManager->TILBdzend2() 
                 - dbManager->TILBnperiod()*2.*(dbManager->TILBdzmast() + dbManager->TILBdzspac()))/(4.*
                   dbManager->TILBnperiod());
         
-        double Radius = (dbManager->TILBrmaximal() + dbManager->TILBrminimal())/2 * GeoModelKernelUnits::cm;
+        double Radius = (dbManager->TILBrmaximal() + dbManager->TILBrminimal())/2 * Gaudi::Units::cm;
 
         checking("EBarrelModule (+)", false, 1, 
                  thicknessWedgeMother/2,thicknessWedgeMother/2,dy1WedgeMother,dy2WedgeMother,heightWedgeMother/2);
@@ -1336,18 +1333,18 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 	  if(m_log->level()<=MSG::DEBUG)
 	    (*m_log) << MSG::DEBUG << " BoolCuts YES "<< dbManager->BoolCuts() << endmsg;
  
-           double PoZ2 =0, PoZ1 =0, thicknessEndPlate =dbManager->TILBdzend1()*GeoModelKernelUnits::cm;
+           double PoZ2 =0, PoZ1 =0, thicknessEndPlate =dbManager->TILBdzend1()*Gaudi::Units::cm;
 
-           PoZ1 = thicknessEndPlate + modl_length/4 - (dbManager->GetEnvZLength()*GeoModelKernelUnits::cm- EBFingerLengthPos)/2;
+           PoZ1 = thicknessEndPlate + modl_length/4 - (dbManager->GetEnvZLength()*Gaudi::Units::cm- EBFingerLengthPos)/2;
            PoZ2 = PoZ1 + modl_length/4;
 
            if ((ModuleNcp>=35 && ModuleNcp<=37) || (ModuleNcp>=60 && ModuleNcp<=62))
-	    { GeoTrf::Transform3D  TransCut2 = GeoTrf::TranslateZ3D(-Radius) * GeoTrf::RotateX3D((90-phi)*GeoModelKernelUnits::deg) * GeoTrf::RotateY3D(180*GeoModelKernelUnits::deg)
+	    { GeoTrf::Transform3D  TransCut2 = GeoTrf::TranslateZ3D(-Radius) * GeoTrf::RotateX3D((90-phi)*Gaudi::Units::deg) * GeoTrf::RotateY3D(180*Gaudi::Units::deg)
                                         * GeoTrf::Translate3D(-PoZ2,0.,-PosY);
  
               if (ModuleNcp>=60 && ModuleNcp<=62)
 	       { GeoTrf::Transform3D TransCutL = GeoTrf::TranslateZ3D(-Radius)
-                                          * GeoTrf::RotateY3D(180*GeoModelKernelUnits::deg) * GeoTrf::RotateX3D(phi*GeoModelKernelUnits::deg)
+                                          * GeoTrf::RotateY3D(180*Gaudi::Units::deg) * GeoTrf::RotateX3D(phi*Gaudi::Units::deg)
                                           * GeoTrf::Translate3D(PoZ1,PosYcut,-PosXcut);
 
                  // Cuting of module (Left)
@@ -1358,8 +1355,8 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 
                } else if (ModuleNcp>=35 && ModuleNcp<=37) 
 	       { GeoTrf::Transform3D TransCutR = GeoTrf::TranslateZ3D(-Radius)
-                                          * GeoTrf::RotateY3D(180*GeoModelKernelUnits::deg) * GeoTrf::RotateX3D(phi*GeoModelKernelUnits::deg)
-                                          * GeoTrf::Translate3D(PoZ1,PosYcut,PosXcut) * GeoTrf::RotateY3D(180*GeoModelKernelUnits::deg);
+                                          * GeoTrf::RotateY3D(180*Gaudi::Units::deg) * GeoTrf::RotateX3D(phi*Gaudi::Units::deg)
+                                          * GeoTrf::Translate3D(PoZ1,PosYcut,PosXcut) * GeoTrf::RotateY3D(180*Gaudi::Units::deg);
 
                  // Cuting of module (Right)
                  const GeoShape& TmR_EBarrelModuleMotherPos = ebarrelModuleMotherPos->subtract((*CutA)<<TransCut2).
@@ -1405,13 +1402,13 @@ void TileAtlasFactory::create(GeoPhysVol *world)
            (*m_log) << MSG::DEBUG << " BoolCuts YES "<< dbManager->BoolCuts() << endmsg;
  
            double PoZ2 =0, PoZ1 =0;
-           double thicknessEndPlate = dbManager->TILBdzend1()*GeoModelKernelUnits::cm;
+           double thicknessEndPlate = dbManager->TILBdzend1()*Gaudi::Units::cm;
 
-           PoZ1 = thicknessEndPlate + modl_length/4 - (dbManager->GetEnvZLength()*GeoModelKernelUnits::cm- EBFingerLengthPos)/2;
+           PoZ1 = thicknessEndPlate + modl_length/4 - (dbManager->GetEnvZLength()*Gaudi::Units::cm- EBFingerLengthPos)/2;
            PoZ2 = modl_length/4 + PoZ1;
 
            if ((ModuleNcp>=35 && ModuleNcp<=37) || (ModuleNcp>=60 && ModuleNcp<=62))
-	    { GeoTrf::Transform3D  TransCut2 = GeoTrf::TranslateZ3D(-Radius) * GeoTrf::RotateX3D((90-phi)*GeoModelKernelUnits::deg) * GeoTrf::RotateY3D(180*GeoModelKernelUnits::deg)
+	    { GeoTrf::Transform3D  TransCut2 = GeoTrf::TranslateZ3D(-Radius) * GeoTrf::RotateX3D((90-phi)*Gaudi::Units::deg) * GeoTrf::RotateY3D(180*Gaudi::Units::deg)
                                         * GeoTrf::Translate3D(-PoZ2,0.,-PosY);
  
               // Cuting of pvEBarrelModuleMotherPos (-)
@@ -1422,7 +1419,7 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 
               if (ModuleNcp>=60 && ModuleNcp<=62)
 	       { GeoTrf::Transform3D TransCutL = GeoTrf::TranslateZ3D(-Radius)
-                                          * GeoTrf::RotateY3D(180*GeoModelKernelUnits::deg) * GeoTrf::RotateX3D(phi*GeoModelKernelUnits::deg)
+                                          * GeoTrf::RotateY3D(180*Gaudi::Units::deg) * GeoTrf::RotateX3D(phi*Gaudi::Units::deg)
                                           * GeoTrf::Translate3D(PoZ1,PosYcut,-PosXcut);
 
                  // Cuting of pvEBarrelModuleMotherPos (Left)
@@ -1435,8 +1432,8 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 
                } else if (ModuleNcp>=35 && ModuleNcp<=37) 
 	       { GeoTrf::Transform3D TransCutR = GeoTrf::TranslateZ3D(-Radius)
-                                          * GeoTrf::RotateY3D(180*GeoModelKernelUnits::deg) * GeoTrf::RotateX3D(phi*GeoModelKernelUnits::deg)
-                                          * GeoTrf::Translate3D(PoZ1,PosYcut,PosXcut) * GeoTrf::RotateY3D(180*GeoModelKernelUnits::deg);
+                                          * GeoTrf::RotateY3D(180*Gaudi::Units::deg) * GeoTrf::RotateX3D(phi*Gaudi::Units::deg)
+                                          * GeoTrf::Translate3D(PoZ1,PosYcut,PosXcut) * GeoTrf::RotateY3D(180*Gaudi::Units::deg);
 
                  // Cuting of pvEBarrelModuleMotherPos (Right)
                  GeoCutVolAction action3(*CutB, TransCutR);
@@ -1459,10 +1456,10 @@ void TileAtlasFactory::create(GeoPhysVol *world)
         dbManager->SetCurrentTifg(2);  //barrel efinger (small)
         
         // Trd - one finger mother
-        thicknessWedgeMother = dbManager->TIFGdz() * GeoModelKernelUnits::cm;
-        heightWedgeMother = (dbManager->TILErmax() - dbManager->TILBrmax()) * GeoModelKernelUnits::cm;
-        dy1WedgeMother = dbManager->TILBrmax() * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-        dy2WedgeMother = dbManager->TILErmax() * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+        thicknessWedgeMother = dbManager->TIFGdz() * Gaudi::Units::cm;
+        heightWedgeMother = (dbManager->TILErmax() - dbManager->TILBrmax()) * Gaudi::Units::cm;
+        dy1WedgeMother = dbManager->TILBrmax() * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
+        dy2WedgeMother = dbManager->TILErmax() * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
         
         checking("EFingerModule (+)", false,  1, 
                  thicknessWedgeMother/2,thicknessWedgeMother/2,dy1WedgeMother,dy2WedgeMother,heightWedgeMother/2);
@@ -1486,7 +1483,7 @@ void TileAtlasFactory::create(GeoPhysVol *world)
                                       ModuleNcp);
 	 }
         GeoTransform* xtraModFingerPos  = new GeoTransform(GeoTrf::TranslateX3D(
-                                              (dbManager->TILErmax() + dbManager->TILBrmax())/2*GeoModelKernelUnits::cm));
+                                              (dbManager->TILErmax() + dbManager->TILBrmax())/2*Gaudi::Units::cm));
         pvEFingerMotherPos->add(zrotMod);
         pvEFingerMotherPos->add(xtraModFingerPos);
         pvEFingerMotherPos->add(XYrtMod);
@@ -1501,7 +1498,7 @@ void TileAtlasFactory::create(GeoPhysVol *world)
             GeoTubs* SaddleModule = new GeoTubs(BFingerRmin-RadiusSaddle,
                                                 BFingerRmin,
                                                 DzSaddleSupport/2,
-                                                0.,deltaPhi*GeoModelKernelUnits::deg);
+                                                0.,deltaPhi*Gaudi::Units::deg);
      
             GeoLogVol* lvSaddleModule = new GeoLogVol("SaddleModule",SaddleModule,matIron);
             GeoPhysVol* pvSaddleModule = new GeoPhysVol(lvSaddleModule);
@@ -1521,16 +1518,16 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 	dbManager->SetCurrentSectionByNumber(ModType);
 
         // Mother module
-        thicknessWedgeMother = dbManager->TILBdzmodul() * GeoModelKernelUnits::cm;
-        heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * GeoModelKernelUnits::cm;
-        dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-        dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+        thicknessWedgeMother = dbManager->TILBdzmodul() * Gaudi::Units::cm;
+        heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * Gaudi::Units::cm;
+        dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
+        dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
         
         dzGlue = (dbManager->TILBdzmodul() - dbManager->TILBdzend1() - dbManager->TILBdzend2() 
                 - dbManager->TILBnperiod()*2.*(dbManager->TILBdzmast() 
                 + dbManager->TILBdzspac()))/(4.*dbManager->TILBnperiod());
   
-        double Radius = (dbManager->TILBrmaximal() + dbManager->TILBrminimal())/2 * GeoModelKernelUnits::cm;
+        double Radius = (dbManager->TILBrmaximal() + dbManager->TILBrminimal())/2 * Gaudi::Units::cm;
 
         checking("EBarrelModule (-)", false, 1, 
                  thicknessWedgeMother/2,thicknessWedgeMother/2,dy1WedgeMother,dy2WedgeMother,heightWedgeMother/2);
@@ -1555,19 +1552,19 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 	   if(m_log->level()<=MSG::DEBUG)
 	     (*m_log) << MSG::DEBUG << " BoolCuts YES "<< dbManager->BoolCuts() << endmsg;
  
-           double PoZ2 =0, PoZ1 =0, thicknessEndPlate = dbManager->TILBdzend1()*GeoModelKernelUnits::cm;
+           double PoZ2 =0, PoZ1 =0, thicknessEndPlate = dbManager->TILBdzend1()*Gaudi::Units::cm;
 
-           PoZ1 = thicknessEndPlate + modl_length/4 - (dbManager->GetEnvZLength()*GeoModelKernelUnits::cm- EBFingerLengthNeg)/2;
+           PoZ1 = thicknessEndPlate + modl_length/4 - (dbManager->GetEnvZLength()*Gaudi::Units::cm- EBFingerLengthNeg)/2;
            PoZ2 = PoZ1 + modl_length/4;
 
            if ((ModuleNcp>=35 && ModuleNcp<=37) || (ModuleNcp>=60 && ModuleNcp<=62))
 	    { GeoTrf::Transform3D  TransCut2 = GeoTrf::TranslateZ3D(-Radius) 
-                                        * GeoTrf::RotateX3D((phi-90)*GeoModelKernelUnits::deg) * GeoTrf::RotateY3D(180*GeoModelKernelUnits::deg)
+                                        * GeoTrf::RotateX3D((phi-90)*Gaudi::Units::deg) * GeoTrf::RotateY3D(180*Gaudi::Units::deg)
                                         * GeoTrf::Translate3D(-PoZ2,0,-PosY);
  
               if (ModuleNcp>=60 && ModuleNcp<=62)
 	       { GeoTrf::Transform3D TransCutL = GeoTrf::TranslateZ3D(-Radius)
-                                          * GeoTrf::RotateY3D(180*GeoModelKernelUnits::deg) * GeoTrf::RotateX3D(-phi*GeoModelKernelUnits::deg)
+                                          * GeoTrf::RotateY3D(180*Gaudi::Units::deg) * GeoTrf::RotateX3D(-phi*Gaudi::Units::deg)
                                           * GeoTrf::Translate3D(PoZ1,-PosYcut,-PosXcut);
 
                  // Cuting of module (Left)
@@ -1578,8 +1575,8 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 
                } else if (ModuleNcp>=35 && ModuleNcp<=37)
 	       { GeoTrf::Transform3D TransCutR = GeoTrf::TranslateZ3D(-Radius)
-                                          * GeoTrf::RotateY3D(180*GeoModelKernelUnits::deg) * GeoTrf::RotateX3D(-phi*GeoModelKernelUnits::deg)
-                                          * GeoTrf::Translate3D(PoZ1,-PosYcut,PosXcut) * GeoTrf::RotateY3D(180*GeoModelKernelUnits::deg);
+                                          * GeoTrf::RotateY3D(180*Gaudi::Units::deg) * GeoTrf::RotateX3D(-phi*Gaudi::Units::deg)
+                                          * GeoTrf::Translate3D(PoZ1,-PosYcut,PosXcut) * GeoTrf::RotateY3D(180*Gaudi::Units::deg);
 
                  // Cuting of module (Right)
                  const GeoShape& TmR_EBarrelModuleMotherNeg = ebarrelModuleMotherNeg->subtract((*CutA)<<TransCut2).
@@ -1625,14 +1622,14 @@ void TileAtlasFactory::create(GeoPhysVol *world)
            (*m_log) << MSG::DEBUG << " BoolCuts YES "<< dbManager->BoolCuts() << endmsg;
 
            double PoZ2 =0, PoZ1 =0;
-           double thicknessEndPlate = dbManager->TILBdzend1()*GeoModelKernelUnits::cm;
+           double thicknessEndPlate = dbManager->TILBdzend1()*Gaudi::Units::cm;
 
-           PoZ1 = thicknessEndPlate + modl_length/4 - (dbManager->GetEnvZLength()*GeoModelKernelUnits::cm- EBFingerLengthPos)/2;
+           PoZ1 = thicknessEndPlate + modl_length/4 - (dbManager->GetEnvZLength()*Gaudi::Units::cm- EBFingerLengthPos)/2;
            PoZ2 = modl_length/4 + PoZ1;
 
           if ((ModuleNcp>=35 && ModuleNcp<=37) || (ModuleNcp>=60 && ModuleNcp<=62))
 	   { GeoTrf::Transform3D  TransCut2 = GeoTrf::TranslateZ3D(-Radius) 
-                                       * GeoTrf::RotateX3D((phi-90)*GeoModelKernelUnits::deg) * GeoTrf::RotateY3D(180*GeoModelKernelUnits::deg)   
+                                       * GeoTrf::RotateX3D((phi-90)*Gaudi::Units::deg) * GeoTrf::RotateY3D(180*Gaudi::Units::deg)   
                                        * GeoTrf::Translate3D(-PoZ2,0.,-PosY);
 
              // Cuting of pvEBarrelModuleMotherNeg (-)
@@ -1643,7 +1640,7 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 
              if (ModuleNcp>=60 && ModuleNcp<=62)
 	      { GeoTrf::Transform3D TransCutL = GeoTrf::TranslateZ3D(-Radius)
-                                         * GeoTrf::RotateY3D(180*GeoModelKernelUnits::deg) * GeoTrf::RotateX3D(-phi*GeoModelKernelUnits::deg)
+                                         * GeoTrf::RotateY3D(180*Gaudi::Units::deg) * GeoTrf::RotateX3D(-phi*Gaudi::Units::deg)
                                          * GeoTrf::Translate3D(PoZ1,-PosYcut,-PosXcut);
 
                 // Cuting of pvEBarrelModuleMotherNeg (Left)
@@ -1656,8 +1653,8 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 
               } else if (ModuleNcp>=35 && ModuleNcp<=37) 
 	      { GeoTrf::Transform3D TransCutR = GeoTrf::TranslateZ3D(-Radius)
-                                         * GeoTrf::RotateY3D(180*GeoModelKernelUnits::deg) * GeoTrf::RotateX3D(-phi*GeoModelKernelUnits::deg)
-                                         * GeoTrf::Translate3D(PoZ1,-PosYcut,PosXcut) * GeoTrf::RotateY3D(180*GeoModelKernelUnits::deg);
+                                         * GeoTrf::RotateY3D(180*Gaudi::Units::deg) * GeoTrf::RotateX3D(-phi*Gaudi::Units::deg)
+                                         * GeoTrf::Translate3D(PoZ1,-PosYcut,PosXcut) * GeoTrf::RotateY3D(180*Gaudi::Units::deg);
 
                 // Cuting of pvEBarrelModuleMotherNeg (Right)
                 GeoCutVolAction action3(*CutB, TransCutR);
@@ -1681,10 +1678,10 @@ void TileAtlasFactory::create(GeoPhysVol *world)
         //zEndSection = extOffset + dbManager->TILBdzmodul()/2 + dbManager->TILEzshift();
 
         // Trd - one finger mother
-        thicknessWedgeMother = dbManager->TIFGdz() * GeoModelKernelUnits::cm;
-        heightWedgeMother = (dbManager->TILErmax() - dbManager->TILBrmax()) * GeoModelKernelUnits::cm;
-        dy1WedgeMother = dbManager->TILBrmax() * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-        dy2WedgeMother = dbManager->TILErmax() * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+        thicknessWedgeMother = dbManager->TIFGdz() * Gaudi::Units::cm;
+        heightWedgeMother = (dbManager->TILErmax() - dbManager->TILBrmax()) * Gaudi::Units::cm;
+        dy1WedgeMother = dbManager->TILBrmax() * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
+        dy2WedgeMother = dbManager->TILErmax() * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
         
         checking("EFingerModule (-)", false, 1, 
                  thicknessWedgeMother/2,thicknessWedgeMother/2,dy1WedgeMother,dy2WedgeMother,heightWedgeMother/2);
@@ -1708,7 +1705,7 @@ void TileAtlasFactory::create(GeoPhysVol *world)
                                       ModuleNcp*100);
          }
         GeoTransform* xtraModFingerNeg  = new GeoTransform(GeoTrf::TranslateX3D(
-                                              (dbManager->TILErmax() + dbManager->TILBrmax())/2*GeoModelKernelUnits::cm));
+                                              (dbManager->TILErmax() + dbManager->TILBrmax())/2*Gaudi::Units::cm));
         pvEFingerMotherNeg->add(zrotMod);
         pvEFingerMotherNeg->add(xtraModFingerNeg); 
         pvEFingerMotherNeg->add(yrotMod);
@@ -1723,7 +1720,7 @@ void TileAtlasFactory::create(GeoPhysVol *world)
             GeoTubs* SaddleModule = new GeoTubs(BFingerRmin-RadiusSaddle,
                                                 BFingerRmin,
                                                 DzSaddleSupport/2,
-                                                0.,deltaPhi*GeoModelKernelUnits::deg);
+                                                0.,deltaPhi*Gaudi::Units::deg);
      
             GeoLogVol* lvSaddleModule = new GeoLogVol("SaddleModule",SaddleModule,matIron);
             GeoPhysVol* pvSaddleModule = new GeoPhysVol(lvSaddleModule);
@@ -1779,7 +1776,7 @@ void TileAtlasFactory::create(GeoPhysVol *world)
            }
          } else
          { (*m_log) << MSG::INFO <<" D4 unavailable "<<endmsg;
-	   dzITC1 = 9.485; //sb [GeoModelKernelUnits::cm]
+	   dzITC1 = 9.485; //sb [Gaudi::Units::cm]
          }
 
         bool specialC10 = (Ifd4 && Ifc10 && rMaxITC2 < rMinITC1);
@@ -1794,10 +1791,10 @@ void TileAtlasFactory::create(GeoPhysVol *world)
           if (Ifd4 || Ifc10) {
 
             //  The first sub shape
-            thicknessWedgeMother = dzITC1 * GeoModelKernelUnits::cm;
-            heightWedgeMother = (rMaxITC1 - rMinITC1) * GeoModelKernelUnits::cm;
-            dy1WedgeMother = rMinITC1 * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-            dy2WedgeMother = rMaxITC1 * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+            thicknessWedgeMother = dzITC1 * Gaudi::Units::cm;
+            heightWedgeMother = (rMaxITC1 - rMinITC1) * Gaudi::Units::cm;
+            dy1WedgeMother = rMinITC1 * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
+            dy2WedgeMother = rMaxITC1 * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
 
             checking("ITCModule tcModuleSub1Neg (-) ", false, 1, 
                  thicknessWedgeMother/2,thicknessWedgeMother/2,dy1WedgeMother,dy2WedgeMother,heightWedgeMother/2);
@@ -1808,10 +1805,10 @@ void TileAtlasFactory::create(GeoPhysVol *world)
                                                   dy2WedgeMother,
                                                   heightWedgeMother/2);
             // The second sub shape
-            thicknessWedgeMother = dzITC2 * GeoModelKernelUnits::cm;
-            heightWedgeMother    = (rMaxITC2 - rMinITC2) * GeoModelKernelUnits::cm;
-            dy1WedgeMother = rMinITC2 * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-            dy2WedgeMother = rMaxITC2 * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+            thicknessWedgeMother = dzITC2 * Gaudi::Units::cm;
+            heightWedgeMother    = (rMaxITC2 - rMinITC2) * Gaudi::Units::cm;
+            dy1WedgeMother = rMinITC2 * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
+            dy2WedgeMother = rMaxITC2 * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
 
             checking("ITCModule itcModuleSub2Neg (-)", false, 1, 
                  thicknessWedgeMother/2,thicknessWedgeMother/2,dy1WedgeMother,dy2WedgeMother,heightWedgeMother/2);
@@ -1822,8 +1819,8 @@ void TileAtlasFactory::create(GeoPhysVol *world)
                                                   dy2WedgeMother,
                                                   heightWedgeMother/2 );
 
-            X = (dzITC1 - dzITC2)/2*GeoModelKernelUnits::cm; 
-            Z = ((rMinITC2+rMaxITC2)-(rMaxITC1 + rMinITC1))/2*GeoModelKernelUnits::cm;
+            X = (dzITC1 - dzITC2)/2*Gaudi::Units::cm; 
+            Z = ((rMinITC2+rMaxITC2)-(rMaxITC1 + rMinITC1))/2*Gaudi::Units::cm;
 	    if(m_log->level()<=MSG::DEBUG)
 	      (*m_log) << MSG::DEBUG <<"  ITCModule Negative, position X= "<<X<<" Z= "<<Z<< endmsg;
 
@@ -1843,10 +1840,10 @@ void TileAtlasFactory::create(GeoPhysVol *world)
             // The D4, PLUG1
             dbManager->SetCurrentSectionByNumber(Id4);
 
-            thicknessWedgeMother = dzITC1 * GeoModelKernelUnits::cm;
-            heightWedgeMother = (rMaxITC1 - dbManager->TILBrmin()) * GeoModelKernelUnits::cm;
-            dy1WedgeMother = dbManager->TILBrmin() * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-            dy2WedgeMother = rMaxITC1 * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+            thicknessWedgeMother = dzITC1 * Gaudi::Units::cm;
+            heightWedgeMother = (rMaxITC1 - dbManager->TILBrmin()) * Gaudi::Units::cm;
+            dy1WedgeMother = dbManager->TILBrmin() * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
+            dy2WedgeMother = rMaxITC1 * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
 	    // ps changes dzITC1 -> dzmodul
             Glue =  dbManager->TILBdzmodul() - dbManager->TILBdzend1() - dbManager->TILBdzend2();
             NbPeriod = dbManager->TILBnperiod();
@@ -1883,7 +1880,7 @@ void TileAtlasFactory::create(GeoPhysVol *world)
                                                    heightWedgeMother/2);
             //Second submother for frontplate
             double dzITC2Bis = (specialC10) ? 0.0 : dzITC2; // for special C10 D4 and C10 do not overlap
-            thicknessWedgeMother = (dbManager->TILBdzmodul() - dzITC2Bis) * GeoModelKernelUnits::cm;
+            thicknessWedgeMother = (dbManager->TILBdzmodul() - dzITC2Bis) * Gaudi::Units::cm;
 	    if(m_log->level()<=MSG::DEBUG)
               if (specialC10)
                 (*m_log) << MSG::DEBUG <<" Separate C10 and D4 in module " << ModuleNcp << endmsg;
@@ -1891,9 +1888,9 @@ void TileAtlasFactory::create(GeoPhysVol *world)
             GeoLogVol *lvPlug1ModuleMotherNeg=0;
             if (thicknessWedgeMother > rless)
              { 
-               heightWedgeMother = (dbManager->TILBrmin() - dbManager->TILBrminimal()) * GeoModelKernelUnits::cm;
-               dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-               dy2WedgeMother = dbManager->TILBrmin() * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+               heightWedgeMother = (dbManager->TILBrmin() - dbManager->TILBrminimal()) * Gaudi::Units::cm;
+               dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
+               dy2WedgeMother = dbManager->TILBrmin() * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
     
                checking("Plug1Module plug2SubMotherNeg (-)", false, 2, 
                    thicknessWedgeMother/2,thicknessWedgeMother/2,dy1WedgeMother,dy2WedgeMother,heightWedgeMother/2);
@@ -1904,8 +1901,8 @@ void TileAtlasFactory::create(GeoPhysVol *world)
                                                       dy2WedgeMother,
                                                       heightWedgeMother/2);
     
-               GeoTrf::Translate3D plug1SubOffsetNeg(-dzITC2Bis*GeoModelKernelUnits::cm/2, 0.,
-                                               (dbManager->TILBrminimal()-dbManager->TILBrmaximal())*GeoModelKernelUnits::cm/2);
+               GeoTrf::Translate3D plug1SubOffsetNeg(-dzITC2Bis*Gaudi::Units::cm/2, 0.,
+                                               (dbManager->TILBrminimal()-dbManager->TILBrmaximal())*Gaudi::Units::cm/2);
     
                const GeoShapeUnion& plug1ModuleMotherNeg = 
                                     plug1SubMotherNeg->add(*plug2SubMotherNeg<<plug1SubOffsetNeg);
@@ -1928,7 +1925,7 @@ void TileAtlasFactory::create(GeoPhysVol *world)
                                            dzITC2Bis); 
              }
         
-            Z = (dbManager->TILBrmin()-dbManager->TILBrminimal())*GeoModelKernelUnits::cm/2;
+            Z = (dbManager->TILBrmin()-dbManager->TILBrminimal())*Gaudi::Units::cm/2;
             GeoTransform* tfPlug1ModuleMotherNeg = new GeoTransform(GeoTrf::Translate3D(0.,0.,Z));
 
             pvITCModuleMotherNeg->add(tfPlug1ModuleMotherNeg);
@@ -1940,10 +1937,10 @@ void TileAtlasFactory::create(GeoPhysVol *world)
               // TILE_PLUG2
               dbManager->SetCurrentSectionByNumber(Ic10);
 
-              thicknessWedgeMother = dbManager->TILBdzmodul() * GeoModelKernelUnits::cm;
-              heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * GeoModelKernelUnits::cm;
-              dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-              dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+              thicknessWedgeMother = dbManager->TILBdzmodul() * Gaudi::Units::cm;
+              heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * Gaudi::Units::cm;
+              dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
+              dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
 
               if (dbManager->TILBnperiod() > 1)
                { dzGlue = (dbManager->TILBdzmodul() - dbManager->TILBdzend1() - dbManager->TILBdzend2() 
@@ -1986,12 +1983,12 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 
           double zShift = 0;
           NbPeriod = dbManager->TILBnperiod();
-	  //          Z = (dbManager->TILBdzmodul()-dzITC2)/2*GeoModelKernelUnits::cm;
+	  //          Z = (dbManager->TILBdzmodul()-dzITC2)/2*Gaudi::Units::cm;
 	  // ps Zshift calculated from length of volumes rather than modules (account for special modules) 
 	  //
-          Z = (dzITC1 - dzITC2)/2*GeoModelKernelUnits::cm;
+          Z = (dzITC1 - dzITC2)/2*Gaudi::Units::cm;
 
-          if (NbPeriod == 6 && !Ifspecialgirder && fabs(Z) < fabs(zITCStandard)) zShift = zITCStandard*(1./GeoModelKernelUnits::cm);
+          if (NbPeriod == 6 && !Ifspecialgirder && fabs(Z) < fabs(zITCStandard)) zShift = zITCStandard*(1./Gaudi::Units::cm);
 
 	  if(m_log->level()<=MSG::DEBUG)
 	    (*m_log) << MSG::DEBUG <<"  ITCModule Negative, position X= "<<X<<" Z= "<<Z
@@ -1999,8 +1996,8 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 		     <<endmsg;
 
           GeoTransform* xtraITCNeg = new GeoTransform(GeoTrf::TranslateX3D(
-                                         (dbManager->TILBrmaximal() + dbManager->TILBrminimal())/2*GeoModelKernelUnits::cm));
-	  GeoTransform* ztraITCNeg = new GeoTransform(GeoTrf::TranslateZ3D(zShift*GeoModelKernelUnits::cm));
+                                         (dbManager->TILBrmaximal() + dbManager->TILBrminimal())/2*Gaudi::Units::cm));
+	  GeoTransform* ztraITCNeg = new GeoTransform(GeoTrf::TranslateZ3D(zShift*Gaudi::Units::cm));
 
           pvITCMotherNeg->add(zrotMod);
           pvITCMotherNeg->add(xtraITCNeg);
@@ -2019,10 +2016,10 @@ void TileAtlasFactory::create(GeoPhysVol *world)
           dbManager->SetCurrentSectionByNumber(Igap); 
 
           // Trd - module mother
-          thicknessWedgeMother = dbManager->TILBdzmodul() * GeoModelKernelUnits::cm;
-          heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * GeoModelKernelUnits::cm;
-          dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-          dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+          thicknessWedgeMother = dbManager->TILBdzmodul() * Gaudi::Units::cm;
+          heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * Gaudi::Units::cm;
+          dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
+          dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
 
           dzGlue = 0.;
 
@@ -2049,7 +2046,7 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 
           // Module position inside mother
           GeoTransform* xtraGapNeg = new GeoTransform(GeoTrf::TranslateX3D(
-                                         (dbManager->TILBrmaximal() + dbManager->TILBrminimal())/2*GeoModelKernelUnits::cm));
+                                         (dbManager->TILBrmaximal() + dbManager->TILBrminimal())/2*Gaudi::Units::cm));
           pvGapMotherNeg->add(zrotMod);
           pvGapMotherNeg->add(xtraGapNeg);
           pvGapMotherNeg->add(yrotMod);
@@ -2065,10 +2062,10 @@ void TileAtlasFactory::create(GeoPhysVol *world)
           dbManager->SetCurrentSectionByNumber(Icrack);
 
           // mother
-          thicknessWedgeMother = dbManager->TILBdzmodul() * GeoModelKernelUnits::cm;
-          heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * GeoModelKernelUnits::cm;
-          dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-          dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+          thicknessWedgeMother = dbManager->TILBdzmodul() * Gaudi::Units::cm;
+          heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * Gaudi::Units::cm;
+          dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
+          dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
     
           dzGlue = 0.;
 
@@ -2094,7 +2091,7 @@ void TileAtlasFactory::create(GeoPhysVol *world)
            }
           // Module position inside mother
           GeoTransform* xtraCrackNeg = new GeoTransform(GeoTrf::TranslateX3D(
-                                           (dbManager->TILBrmaximal() + dbManager->TILBrminimal())/2*GeoModelKernelUnits::cm));
+                                           (dbManager->TILBrmaximal() + dbManager->TILBrminimal())/2*Gaudi::Units::cm));
           pvCrackMotherNeg->add(zrotMod);
           pvCrackMotherNeg->add(xtraCrackNeg);
           pvCrackMotherNeg->add(yrotMod);
@@ -2112,10 +2109,10 @@ void TileAtlasFactory::create(GeoPhysVol *world)
         if(Ifd4 || Ifc10) {
 
           // The first sub shape
-          thicknessWedgeMother = dzITC1 * GeoModelKernelUnits::cm;
-          heightWedgeMother = (rMaxITC1 - rMinITC1) * GeoModelKernelUnits::cm;
-          dy1WedgeMother = rMinITC1 * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-          dy2WedgeMother = rMaxITC1 * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+          thicknessWedgeMother = dzITC1 * Gaudi::Units::cm;
+          heightWedgeMother = (rMaxITC1 - rMinITC1) * Gaudi::Units::cm;
+          dy1WedgeMother = rMinITC1 * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
+          dy2WedgeMother = rMaxITC1 * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
 
           checking("ITCModule itcModuleSub2Pos (+)", false, 1,
 	        thicknessWedgeMother/2,thicknessWedgeMother/2,dy1WedgeMother,dy2WedgeMother,heightWedgeMother/2);
@@ -2126,10 +2123,10 @@ void TileAtlasFactory::create(GeoPhysVol *world)
                                                 dy2WedgeMother        ,
                                                 heightWedgeMother/2  );
           // The second sub shape
-          thicknessWedgeMother = dzITC2 * GeoModelKernelUnits::cm;
-          heightWedgeMother    = (rMaxITC2 - rMinITC2) * GeoModelKernelUnits::cm;
-          dy1WedgeMother = rMinITC2 * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-          dy2WedgeMother = rMaxITC2 * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+          thicknessWedgeMother = dzITC2 * Gaudi::Units::cm;
+          heightWedgeMother    = (rMaxITC2 - rMinITC2) * Gaudi::Units::cm;
+          dy1WedgeMother = rMinITC2 * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
+          dy2WedgeMother = rMaxITC2 * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
 
           checking("ITCModule itcModuleSub2Pos (+)", false, 1,
 	        thicknessWedgeMother/2,thicknessWedgeMother/2,dy1WedgeMother,dy2WedgeMother,heightWedgeMother/2);
@@ -2140,8 +2137,8 @@ void TileAtlasFactory::create(GeoPhysVol *world)
                                                 dy2WedgeMother        ,
                                                 heightWedgeMother/2  );
 
-          X = (dzITC1 - dzITC2)/2*GeoModelKernelUnits::cm; 
-          Z = ((rMinITC2+rMaxITC2)-(rMaxITC1 + rMinITC1))/2*GeoModelKernelUnits::cm;
+          X = (dzITC1 - dzITC2)/2*Gaudi::Units::cm; 
+          Z = ((rMinITC2+rMaxITC2)-(rMaxITC1 + rMinITC1))/2*Gaudi::Units::cm;
 	  if(m_log->level()<=MSG::DEBUG)
 	    (*m_log) << MSG::DEBUG <<"  ITCModule Positive, position X= "<<X<<" Z= "<<Z<< endmsg;
 
@@ -2161,10 +2158,10 @@ void TileAtlasFactory::create(GeoPhysVol *world)
           // The D4, PLUG1
           dbManager->SetCurrentSectionByNumber(Id4);
 
-          thicknessWedgeMother = dzITC1 * GeoModelKernelUnits::cm;
-          dy1WedgeMother = dbManager->TILBrmin() * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-          dy2WedgeMother = rMaxITC1 * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-          heightWedgeMother = (rMaxITC1 - dbManager->TILBrmin()) * GeoModelKernelUnits::cm;
+          thicknessWedgeMother = dzITC1 * Gaudi::Units::cm;
+          dy1WedgeMother = dbManager->TILBrmin() * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
+          dy2WedgeMother = rMaxITC1 * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
+          heightWedgeMother = (rMaxITC1 - dbManager->TILBrmin()) * Gaudi::Units::cm;
 
 	  // ps changes dzITC1 -> dzmodul
 	  Glue =  dbManager->TILBdzmodul() - dbManager->TILBdzend1() - dbManager->TILBdzend2();
@@ -2204,7 +2201,7 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 
           //Second submother C10, PLUG2
           double dzITC2Bis = (specialC10) ? 0.0 : dzITC2; // for special C10 D4 and C10 do not overlap
-          thicknessWedgeMother = (dbManager->TILBdzmodul() - dzITC2Bis) * GeoModelKernelUnits::cm;
+          thicknessWedgeMother = (dbManager->TILBdzmodul() - dzITC2Bis) * Gaudi::Units::cm;
           if(m_log->level()<=MSG::DEBUG)
             if (specialC10)
               (*m_log) << MSG::DEBUG <<" Separate C10 and D4 in module " << ModuleNcp << endmsg;
@@ -2212,9 +2209,9 @@ void TileAtlasFactory::create(GeoPhysVol *world)
           GeoLogVol *lvPlug1ModuleMotherPos=0;
           if (thicknessWedgeMother > rless)
            { 
-             heightWedgeMother = (dbManager->TILBrmin() - dbManager->TILBrminimal()) * GeoModelKernelUnits::cm;
-             dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-             dy2WedgeMother = dbManager->TILBrmin() * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+             heightWedgeMother = (dbManager->TILBrmin() - dbManager->TILBrminimal()) * Gaudi::Units::cm;
+             dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
+             dy2WedgeMother = dbManager->TILBrmin() * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
 
              checking("Plug1Module plug2SubMotherPos (+)", false, 2, 
                  thicknessWedgeMother/2,thicknessWedgeMother/2,dy1WedgeMother,dy2WedgeMother,heightWedgeMother/2);
@@ -2225,8 +2222,8 @@ void TileAtlasFactory::create(GeoPhysVol *world)
                                                     dy2WedgeMother        ,
                                                     heightWedgeMother/2   );
 
-             GeoTrf::Translate3D plug1SubOffsetPos(-dzITC2Bis/2*GeoModelKernelUnits::cm, 0.,
-                                        (dbManager->TILBrminimal()-dbManager->TILBrmaximal())/2*GeoModelKernelUnits::cm);
+             GeoTrf::Translate3D plug1SubOffsetPos(-dzITC2Bis/2*Gaudi::Units::cm, 0.,
+                                        (dbManager->TILBrminimal()-dbManager->TILBrmaximal())/2*Gaudi::Units::cm);
         
              const GeoShapeUnion& plug1ModuleMotherPos = plug1SubMotherPos->add(*plug2SubMotherPos<<plug1SubOffsetPos);
 
@@ -2248,7 +2245,7 @@ void TileAtlasFactory::create(GeoPhysVol *world)
                                          dzITC2Bis);
            }
         
-          Z = (dbManager->TILBrmin()-dbManager->TILBrminimal())*GeoModelKernelUnits::cm/2;
+          Z = (dbManager->TILBrmin()-dbManager->TILBrminimal())*Gaudi::Units::cm/2;
           GeoTransform* tfPlug1ModuleMotherPos = new GeoTransform(GeoTrf::Translate3D(0.,0.,Z));
 
           pvITCModuleMotherPos->add(tfPlug1ModuleMotherPos);
@@ -2260,10 +2257,10 @@ void TileAtlasFactory::create(GeoPhysVol *world)
             // TILE_PLUG2, C10
             dbManager->SetCurrentSectionByNumber(Ic10); 
 
-            thicknessWedgeMother = dzITC2 * GeoModelKernelUnits::cm;
-            heightWedgeMother    = (rMaxITC2 - rMinITC2) * GeoModelKernelUnits::cm;
-            dy1WedgeMother = rMinITC2 * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-            dy2WedgeMother = rMaxITC2 * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+            thicknessWedgeMother = dzITC2 * Gaudi::Units::cm;
+            heightWedgeMother    = (rMaxITC2 - rMinITC2) * Gaudi::Units::cm;
+            dy1WedgeMother = rMinITC2 * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
+            dy2WedgeMother = rMaxITC2 * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
 
             if (dbManager->TILBnperiod() > 1)
              { dzGlue = (dzITC2 - dbManager->TILBdzend1() - dbManager->TILBdzend2() 
@@ -2306,10 +2303,10 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 
           double zShift = 0;
           NbPeriod = dbManager->TILBnperiod();
-	  //ps          Z = (dbManager->TILBdzmodul()-dzITC2)/2*GeoModelKernelUnits::cm;
-          Z = (dzITC1 - dzITC2)/2*GeoModelKernelUnits::cm;
+	  //ps          Z = (dbManager->TILBdzmodul()-dzITC2)/2*Gaudi::Units::cm;
+          Z = (dzITC1 - dzITC2)/2*Gaudi::Units::cm;
 
-          if (NbPeriod == 6 && !Ifspecialgirder && fabs(Z) < fabs(zITCStandard)) zShift = zITCStandard*(1./GeoModelKernelUnits::cm);
+          if (NbPeriod == 6 && !Ifspecialgirder && fabs(Z) < fabs(zITCStandard)) zShift = zITCStandard*(1./Gaudi::Units::cm);
 
 	  if(m_log->level()<=MSG::DEBUG)
 	    (*m_log) << MSG::DEBUG <<"  ITCModule Positive, position X= "<<X<<" Z= "<<Z
@@ -2317,8 +2314,8 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 		     <<endmsg;
 
 	  GeoTransform* xtraITCPos = new GeoTransform(GeoTrf::TranslateX3D(
-                                        (dbManager->TILBrmaximal() + dbManager->TILBrminimal())/2*GeoModelKernelUnits::cm));
-	  GeoTransform* ztraITCPos = new GeoTransform(GeoTrf::TranslateZ3D(zShift*GeoModelKernelUnits::cm));
+                                        (dbManager->TILBrmaximal() + dbManager->TILBrminimal())/2*Gaudi::Units::cm));
+	  GeoTransform* ztraITCPos = new GeoTransform(GeoTrf::TranslateZ3D(zShift*Gaudi::Units::cm));
 
           pvITCMotherPos->add(zrotMod);
           pvITCMotherPos->add(xtraITCPos);
@@ -2338,10 +2335,10 @@ void TileAtlasFactory::create(GeoPhysVol *world)
           dbManager->SetCurrentSectionByNumber(Igap); 
 
           // Mother
-          thicknessWedgeMother = dbManager->TILBdzmodul() * GeoModelKernelUnits::cm;
-          heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * GeoModelKernelUnits::cm;
-          dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-          dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+          thicknessWedgeMother = dbManager->TILBdzmodul() * Gaudi::Units::cm;
+          heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * Gaudi::Units::cm;
+          dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
+          dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
 
           dzGlue = 0;
 
@@ -2368,7 +2365,7 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 
           // Module position inside mother
           GeoTransform* xtraGapPos = new GeoTransform(GeoTrf::TranslateX3D(
-                                         (dbManager->TILBrmaximal() + dbManager->TILBrminimal())/2*GeoModelKernelUnits::cm));
+                                         (dbManager->TILBrmaximal() + dbManager->TILBrminimal())/2*Gaudi::Units::cm));
           pvGapMotherPos->add(zrotMod);
           pvGapMotherPos->add(xtraGapPos);
           pvGapMotherPos->add(XYrtMod);
@@ -2384,10 +2381,10 @@ void TileAtlasFactory::create(GeoPhysVol *world)
           dbManager->SetCurrentSectionByNumber(Icrack); 
 
           // Trd - module mother
-          thicknessWedgeMother = dbManager->TILBdzmodul() * GeoModelKernelUnits::cm;
-          heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * GeoModelKernelUnits::cm;
-          dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-          dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+          thicknessWedgeMother = dbManager->TILBdzmodul() * Gaudi::Units::cm;
+          heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * Gaudi::Units::cm;
+          dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
+          dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2*Gaudi::Units::deg) * Gaudi::Units::cm;
     
           dzGlue = 0.;
     
@@ -2414,7 +2411,7 @@ void TileAtlasFactory::create(GeoPhysVol *world)
     
           // Module position inside mother
           GeoTransform* xtraCrackPos = new GeoTransform(GeoTrf::TranslateX3D(
-                                          (dbManager->TILBrmaximal() + dbManager->TILBrminimal())/2*GeoModelKernelUnits::cm));
+                                          (dbManager->TILBrmaximal() + dbManager->TILBrminimal())/2*Gaudi::Units::cm));
           pvCrackMotherPos->add(zrotMod);
           pvCrackMotherPos->add(xtraCrackPos);
           pvCrackMotherPos->add(XYrtMod);
@@ -2456,9 +2453,9 @@ void TileAtlasFactory::create(GeoPhysVol *world)
       // consider 3 options - with/without ext.barrels and take into account DZ correction
       ztrans = 0;
 
-      tfBarrelMother = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) * GeoTrf::RotateZ3D((dbManager->GetEnvDPhi())*GeoModelKernelUnits::deg));
+      tfBarrelMother = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) * GeoTrf::RotateZ3D((dbManager->GetEnvDPhi())*Gaudi::Units::deg));
 
-      (*m_log) << MSG::INFO <<" Positioning barrel with translation "<<ztrans*GeoModelKernelUnits::cm<< endmsg;
+      (*m_log) << MSG::INFO <<" Positioning barrel with translation "<<ztrans*Gaudi::Units::cm<< endmsg;
 
       GeoNameTag* ntBarrelModuleMother = new GeoNameTag("Barrel"); 
 
@@ -2468,11 +2465,11 @@ void TileAtlasFactory::create(GeoPhysVol *world)
       
       GeoTransform* tfFingerMotherPos;
 
-      ztrans = (dbManager->GetEnvZLength()*GeoModelKernelUnits::cm/2 - BFingerLengthPos/2 + PosDelta)*(1./GeoModelKernelUnits::cm);
+      ztrans = (dbManager->GetEnvZLength()*Gaudi::Units::cm/2 - BFingerLengthPos/2 + PosDelta)*(1./Gaudi::Units::cm);
 
-      tfFingerMotherPos = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm)*GeoTrf::RotateZ3D((dbManager->GetEnvDPhi())*GeoModelKernelUnits::deg));
+      tfFingerMotherPos = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm)*GeoTrf::RotateZ3D((dbManager->GetEnvDPhi())*Gaudi::Units::deg));
 
-      (*m_log) << MSG::INFO <<" Positioning positive barrel finger with translation "<<ztrans*GeoModelKernelUnits::cm<< endmsg;
+      (*m_log) << MSG::INFO <<" Positioning positive barrel finger with translation "<<ztrans*Gaudi::Units::cm<< endmsg;
 
       GeoNameTag* ntFingerMotherPos = new GeoNameTag("TileFingerPos");
 
@@ -2483,9 +2480,9 @@ void TileAtlasFactory::create(GeoPhysVol *world)
       if (dbManager->BoolSaddle())
       { GeoTransform* tfSaddleMotherPos;
 
-        ztrans = (dbManager->GetEnvZLength()*GeoModelKernelUnits::cm/2 - BFingerLengthPos + DzSaddleSupport/2 + PosDelta)*(1./GeoModelKernelUnits::cm);
+        ztrans = (dbManager->GetEnvZLength()*Gaudi::Units::cm/2 - BFingerLengthPos + DzSaddleSupport/2 + PosDelta)*(1./Gaudi::Units::cm);
 
-        tfSaddleMotherPos = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm)*GeoTrf::RotateZ3D((dbManager->GetEnvDPhi())*GeoModelKernelUnits::deg));
+        tfSaddleMotherPos = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm)*GeoTrf::RotateZ3D((dbManager->GetEnvDPhi())*Gaudi::Units::deg));
 
         GeoNameTag* ntSaddleMotherPos = new GeoNameTag("TileSaddlePos");
 
@@ -2498,11 +2495,11 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 
       GeoTransform* tfFingerMotherNeg;
 
-      ztrans = (-dbManager->GetEnvZLength()*GeoModelKernelUnits::cm/2 + BFingerLengthNeg/2 - NegDelta)*(1./GeoModelKernelUnits::cm);
+      ztrans = (-dbManager->GetEnvZLength()*Gaudi::Units::cm/2 + BFingerLengthNeg/2 - NegDelta)*(1./Gaudi::Units::cm);
 
-      tfFingerMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm)*GeoTrf::RotateZ3D((dbManager->GetEnvDPhi())*GeoModelKernelUnits::deg));
+      tfFingerMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm)*GeoTrf::RotateZ3D((dbManager->GetEnvDPhi())*Gaudi::Units::deg));
 
-      (*m_log) << MSG::INFO <<" Positioning negative barrel finger with translation "<<ztrans*GeoModelKernelUnits::cm<< endmsg;
+      (*m_log) << MSG::INFO <<" Positioning negative barrel finger with translation "<<ztrans*Gaudi::Units::cm<< endmsg;
 
       GeoNameTag* ntFingerMotherNeg = new GeoNameTag("TileFingerNeg");
       pvTileEnvelopeBarrel->add(tfFingerMotherNeg);
@@ -2512,9 +2509,9 @@ void TileAtlasFactory::create(GeoPhysVol *world)
       if (dbManager->BoolSaddle())
       { GeoTransform* tfSaddleMotherNeg;
 
-        ztrans = (-dbManager->GetEnvZLength()*GeoModelKernelUnits::cm/2 + BFingerLengthNeg - DzSaddleSupport/2 - NegDelta)*(1./GeoModelKernelUnits::cm);
+        ztrans = (-dbManager->GetEnvZLength()*Gaudi::Units::cm/2 + BFingerLengthNeg - DzSaddleSupport/2 - NegDelta)*(1./Gaudi::Units::cm);
 
-        tfSaddleMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm)*GeoTrf::RotateZ3D((dbManager->GetEnvDPhi())*GeoModelKernelUnits::deg));
+        tfSaddleMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm)*GeoTrf::RotateZ3D((dbManager->GetEnvDPhi())*Gaudi::Units::deg));
 
         GeoNameTag* ntSaddleMotherNeg = new GeoNameTag("TileSaddleNeg");
 
@@ -2530,9 +2527,9 @@ void TileAtlasFactory::create(GeoPhysVol *world)
     if(EnvType == 3) { // positive ext.barrel is always at positive boundary, after finger
 
       dbManager->SetCurrentSection(TileDddbManager::TILE_EBARREL);
-      double thicknessEndPlate = dbManager->TILBdzend1()*GeoModelKernelUnits::cm;
+      double thicknessEndPlate = dbManager->TILBdzend1()*Gaudi::Units::cm;
 
-      double PoZ1 = thicknessEndPlate + modl_length/4 - (dbManager->GetEnvZLength()*GeoModelKernelUnits::cm- EBFingerLengthPos)/2;
+      double PoZ1 = thicknessEndPlate + modl_length/4 - (dbManager->GetEnvZLength()*Gaudi::Units::cm- EBFingerLengthPos)/2;
       double PoZ2 = modl_length/4 + PoZ1;
 
       //--------------------------------------------------------------------------------------------------------------
@@ -2547,14 +2544,14 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 	if(m_log->level()<=MSG::DEBUG)
 	  (*m_log) << MSG::DEBUG << " Iron1: " << dxIron << " " << dyIron << endmsg;
 
-        GeoTransform* tfIron1 = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) * GeoTrf::Translate3D(dxIron,PosY-dyIron,PoZ2) 
-	                                       * GeoTrf::RotateX3D(90.*GeoModelKernelUnits::deg) * GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg)); // Left
+        GeoTransform* tfIron1 = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) * GeoTrf::Translate3D(dxIron,PosY-dyIron,PoZ2) 
+	                                       * GeoTrf::RotateX3D(90.*Gaudi::Units::deg) * GeoTrf::RotateZ3D(90.*Gaudi::Units::deg)); // Left
         pvEBarrelMotherPos->add(tfIron1);
         pvEBarrelMotherPos->add(new GeoIdentifierTag(1));
         pvEBarrelMotherPos->add(pvIron1);
 
-                      tfIron1 = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) * GeoTrf::Translate3D(-dxIron,PosY-dyIron,PoZ2) 
-					       * GeoTrf::RotateX3D(90.*GeoModelKernelUnits::deg) * GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg)); // Right
+                      tfIron1 = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) * GeoTrf::Translate3D(-dxIron,PosY-dyIron,PoZ2) 
+					       * GeoTrf::RotateX3D(90.*Gaudi::Units::deg) * GeoTrf::RotateZ3D(90.*Gaudi::Units::deg)); // Right
         pvEBarrelMotherPos->add(tfIron1);
         pvEBarrelMotherPos->add(pvIron1);
 
@@ -2565,14 +2562,14 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 	if(m_log->level()<=MSG::DEBUG)
 	  (*m_log) << MSG::DEBUG << " Iron2: " << dxIron << " " << dyIron << endmsg;
 
-        GeoTransform* tfIron2 = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) * GeoTrf::Translate3D(dxIron,PosY+dyIron,PoZ2) 
-	                      * GeoTrf::RotateZ3D(-84.*GeoModelKernelUnits::deg) * GeoTrf::RotateX3D(90.*GeoModelKernelUnits::deg) * GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg)); // Left
+        GeoTransform* tfIron2 = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) * GeoTrf::Translate3D(dxIron,PosY+dyIron,PoZ2) 
+	                      * GeoTrf::RotateZ3D(-84.*Gaudi::Units::deg) * GeoTrf::RotateX3D(90.*Gaudi::Units::deg) * GeoTrf::RotateZ3D(90.*Gaudi::Units::deg)); // Left
         pvEBarrelMotherPos->add(tfIron2);
         pvEBarrelMotherPos->add(new GeoIdentifierTag(2));
         pvEBarrelMotherPos->add(pvIron2);
 
-                      tfIron2 = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) * GeoTrf::Translate3D(-dxIron,PosY+dyIron,PoZ2) 
-	                      * GeoTrf::RotateZ3D(84.*GeoModelKernelUnits::deg) * GeoTrf::RotateX3D(90.*GeoModelKernelUnits::deg) * GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg)); // Left
+                      tfIron2 = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) * GeoTrf::Translate3D(-dxIron,PosY+dyIron,PoZ2) 
+	                      * GeoTrf::RotateZ3D(84.*Gaudi::Units::deg) * GeoTrf::RotateX3D(90.*Gaudi::Units::deg) * GeoTrf::RotateZ3D(90.*Gaudi::Units::deg)); // Left
         pvEBarrelMotherPos->add(tfIron2);
         pvEBarrelMotherPos->add(pvIron2);
 
@@ -2583,14 +2580,14 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 	if(m_log->level()<=MSG::DEBUG)
 	  (*m_log) << MSG::DEBUG << " Iron3: " << dxIron << " " << dyIron << endmsg;
 
-        GeoTransform* tfIron3 = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) * GeoTrf::Translate3D(dxIron,PosY+dyIron,PoZ2) 
-	                      * GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg) * GeoTrf::RotateX3D(90.*GeoModelKernelUnits::deg) * GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg)); // Left
+        GeoTransform* tfIron3 = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) * GeoTrf::Translate3D(dxIron,PosY+dyIron,PoZ2) 
+	                      * GeoTrf::RotateZ3D(90.*Gaudi::Units::deg) * GeoTrf::RotateX3D(90.*Gaudi::Units::deg) * GeoTrf::RotateZ3D(90.*Gaudi::Units::deg)); // Left
         pvEBarrelMotherPos->add(tfIron3);
         pvEBarrelMotherPos->add(new GeoIdentifierTag(3));
         pvEBarrelMotherPos->add(pvIron3);
 
-                      tfIron3 = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) * GeoTrf::Translate3D(-dxIron,PosY+dyIron,PoZ2) 
-	                      * GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg) * GeoTrf::RotateX3D(90.*GeoModelKernelUnits::deg) * GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg)); // Right
+                      tfIron3 = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) * GeoTrf::Translate3D(-dxIron,PosY+dyIron,PoZ2) 
+	                      * GeoTrf::RotateZ3D(90.*Gaudi::Units::deg) * GeoTrf::RotateX3D(90.*Gaudi::Units::deg) * GeoTrf::RotateZ3D(90.*Gaudi::Units::deg)); // Right
         pvEBarrelMotherPos->add(tfIron3);
         pvEBarrelMotherPos->add(pvIron3);
 
@@ -2599,14 +2596,14 @@ void TileAtlasFactory::create(GeoPhysVol *world)
         dxIron = dbManager->CutsXpos();
 	dyIron = dbManager->CutsYpos();
 
-        GeoTransform* tfIrBoxL = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) * GeoTrf::Translate3D(dxIron,PosY-dyIron,PoZ2) 
-					       * GeoTrf::RotateX3D(90.*GeoModelKernelUnits::deg) * GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg)); // Left
+        GeoTransform* tfIrBoxL = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) * GeoTrf::Translate3D(dxIron,PosY-dyIron,PoZ2) 
+					       * GeoTrf::RotateX3D(90.*Gaudi::Units::deg) * GeoTrf::RotateZ3D(90.*Gaudi::Units::deg)); // Left
         pvEBarrelMotherPos->add(tfIrBoxL);
         pvEBarrelMotherPos->add(new GeoIdentifierTag(4));
         pvEBarrelMotherPos->add(pvIrBox);
 
-        GeoTransform* tfIrBoxR = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) * GeoTrf::Translate3D(-dxIron,PosY-dyIron,PoZ2)
-                                                * GeoTrf::RotateX3D(90.*GeoModelKernelUnits::deg) * GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg)); // Right
+        GeoTransform* tfIrBoxR = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) * GeoTrf::Translate3D(-dxIron,PosY-dyIron,PoZ2)
+                                                * GeoTrf::RotateX3D(90.*Gaudi::Units::deg) * GeoTrf::RotateZ3D(90.*Gaudi::Units::deg)); // Right
         pvEBarrelMotherPos->add(tfIrBoxR);
         pvEBarrelMotherPos->add(pvIrBox);
 
@@ -2617,16 +2614,16 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 	if(m_log->level()<=MSG::DEBUG)
 	  (*m_log) << MSG::DEBUG << " IrUp: " <<dxIr<< " " <<dyIr<< endmsg;
 
-        GeoTransform* tfIrUp = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) 
+        GeoTransform* tfIrUp = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) 
                              * GeoTrf::Translate3D(PosXcut+dxIr,-PosYcut+dyIr,-PoZ1) 
-		             * GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg) * GeoTrf::RotateX3D(90.*GeoModelKernelUnits::deg) * GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg)); // Left
+		             * GeoTrf::RotateZ3D(90.*Gaudi::Units::deg) * GeoTrf::RotateX3D(90.*Gaudi::Units::deg) * GeoTrf::RotateZ3D(90.*Gaudi::Units::deg)); // Left
         pvEBarrelMotherPos->add(tfIrUp);
         pvEBarrelMotherPos->add(new GeoIdentifierTag(5));
         pvEBarrelMotherPos->add(pvIrUp);
 
-                      tfIrUp = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) 
+                      tfIrUp = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) 
                              * GeoTrf::Translate3D(-PosXcut-dxIr,-PosYcut+dyIr,-PoZ1) 
-		             * GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg) * GeoTrf::RotateX3D(90.*GeoModelKernelUnits::deg) * GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg)); // Right
+		             * GeoTrf::RotateZ3D(90.*Gaudi::Units::deg) * GeoTrf::RotateX3D(90.*Gaudi::Units::deg) * GeoTrf::RotateZ3D(90.*Gaudi::Units::deg)); // Right
         pvEBarrelMotherPos->add(tfIrUp);
         pvEBarrelMotherPos->add(pvIrUp);
 
@@ -2637,16 +2634,16 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 	if(m_log->level()<=MSG::DEBUG)
 	  (*m_log) << MSG::DEBUG << " IrDw: " <<dxIr<< " " <<dyIr<< endmsg;
 
-        GeoTransform* tfIrDw = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) 
+        GeoTransform* tfIrDw = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) 
                              * GeoTrf::Translate3D(PosXcut+dxIr,-PosYcut+dyIr,-PoZ1) 
-		             * GeoTrf::RotateZ3D(70.*GeoModelKernelUnits::deg) * GeoTrf::RotateX3D(90.*GeoModelKernelUnits::deg) * GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg)); // Left
+		             * GeoTrf::RotateZ3D(70.*Gaudi::Units::deg) * GeoTrf::RotateX3D(90.*Gaudi::Units::deg) * GeoTrf::RotateZ3D(90.*Gaudi::Units::deg)); // Left
         pvEBarrelMotherPos->add(tfIrDw);
         pvEBarrelMotherPos->add(new GeoIdentifierTag(6));
         pvEBarrelMotherPos->add(pvIrDw);
 
-                      tfIrDw = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) 
+                      tfIrDw = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) 
                              * GeoTrf::Translate3D(-PosXcut+dxIr,-PosYcut+dyIr,-PoZ1) 
-		             * GeoTrf::RotateZ3D(-70.*GeoModelKernelUnits::deg) * GeoTrf::RotateX3D(90.*GeoModelKernelUnits::deg) * GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg)); // Left
+		             * GeoTrf::RotateZ3D(-70.*Gaudi::Units::deg) * GeoTrf::RotateX3D(90.*Gaudi::Units::deg) * GeoTrf::RotateZ3D(90.*Gaudi::Units::deg)); // Left
 
         pvEBarrelMotherPos->add(tfIrDw);
         pvEBarrelMotherPos->add(pvIrDw);
@@ -2654,12 +2651,12 @@ void TileAtlasFactory::create(GeoPhysVol *world)
       }
       //--------------------------------------------------------------------------------------------------------------
       // Ext.Barrel
-      ztrans = (PosEndCrack + (dbManager->GetEnvZLength()*GeoModelKernelUnits::cm - EBFingerLengthPos)/2 + 19.5)*(1./GeoModelKernelUnits::cm); 
+      ztrans = (PosEndCrack + (dbManager->GetEnvZLength()*Gaudi::Units::cm - EBFingerLengthPos)/2 + 19.5)*(1./Gaudi::Units::cm); 
 
-      GeoTransform* tfEBarrelMotherPos = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) * 
-                                             GeoTrf::RotateZ3D(dbManager->GetEnvDPhi()*GeoModelKernelUnits::deg));
+      GeoTransform* tfEBarrelMotherPos = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) * 
+                                             GeoTrf::RotateZ3D(dbManager->GetEnvDPhi()*Gaudi::Units::deg));
 
-      (*m_log) << MSG::INFO <<" Positioning positive ext.barrel with translation "<< ztrans*GeoModelKernelUnits::cm << endmsg; 
+      (*m_log) << MSG::INFO <<" Positioning positive ext.barrel with translation "<< ztrans*Gaudi::Units::cm << endmsg; 
 
       //
       GeoNameTag* ntEBarrelMotherPos = new GeoNameTag("EBarrelPos");
@@ -2671,12 +2668,12 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 
       //--------------------------------------------------------------------------------------------------------------
       // Finger 
-      ztrans = (PosEndExBarrel + EBFingerLengthPos/2)*(1./GeoModelKernelUnits::cm); 
+      ztrans = (PosEndExBarrel + EBFingerLengthPos/2)*(1./Gaudi::Units::cm); 
 
-      GeoTransform* tfEFingerMotherPos = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) * 
-                                                          GeoTrf::RotateZ3D(dbManager->GetEnvDPhi() * GeoModelKernelUnits::deg));
+      GeoTransform* tfEFingerMotherPos = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) * 
+                                                          GeoTrf::RotateZ3D(dbManager->GetEnvDPhi() * Gaudi::Units::deg));
 
-      (*m_log) << MSG::INFO <<" Positioning positive ext.barrel finger with translation ztrans= "<<ztrans*GeoModelKernelUnits::cm<<endmsg;
+      (*m_log) << MSG::INFO <<" Positioning positive ext.barrel finger with translation ztrans= "<<ztrans*Gaudi::Units::cm<<endmsg;
 
       GeoNameTag* ntEFingerMotherPos = new GeoNameTag("TileEFingerPos");
 
@@ -2687,12 +2684,12 @@ void TileAtlasFactory::create(GeoPhysVol *world)
       //--------------------------------------------------------------------------------------------------------------
       // Ext. Saddle Support
       if (dbManager->BoolSaddle())
-      { ztrans = (PosEndExBarrel + DzSaddleSupport/2)*(1./GeoModelKernelUnits::cm); 
+      { ztrans = (PosEndExBarrel + DzSaddleSupport/2)*(1./Gaudi::Units::cm); 
 
-        GeoTransform* tfESaddleMotherPos = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) * 
-                                                            GeoTrf::RotateZ3D(dbManager->GetEnvDPhi() * GeoModelKernelUnits::deg));
+        GeoTransform* tfESaddleMotherPos = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) * 
+                                                            GeoTrf::RotateZ3D(dbManager->GetEnvDPhi() * Gaudi::Units::deg));
 
-        (*m_log) << MSG::INFO <<" Positioning positive ext.barrel saddle with translation ztrans= "<<ztrans*GeoModelKernelUnits::cm
+        (*m_log) << MSG::INFO <<" Positioning positive ext.barrel saddle with translation ztrans= "<<ztrans*Gaudi::Units::cm
                  << endmsg;
 
         GeoNameTag* ntESaddleMotherPos = new GeoNameTag("TileESaddlePos");
@@ -2710,9 +2707,9 @@ void TileAtlasFactory::create(GeoPhysVol *world)
     if(EnvType == 2) { // negative ext.barrel is always at negative boundary, after finger
 
       dbManager->SetCurrentSection(TileDddbManager::TILE_EBARREL);
-      double thicknessEndPlate = dbManager->TILBdzend1()*GeoModelKernelUnits::cm;
+      double thicknessEndPlate = dbManager->TILBdzend1()*Gaudi::Units::cm;
 
-      double PoZ1 = thicknessEndPlate + modl_length/4 - (dbManager->GetEnvZLength()*GeoModelKernelUnits::cm- EBFingerLengthNeg)/2;
+      double PoZ1 = thicknessEndPlate + modl_length/4 - (dbManager->GetEnvZLength()*Gaudi::Units::cm- EBFingerLengthNeg)/2;
       double PoZ2 = modl_length/4 + PoZ1;
 
       //*>------------------------------------------------------------------------------------------------------
@@ -2724,14 +2721,14 @@ void TileAtlasFactory::create(GeoPhysVol *world)
         dxIron = dbManager->CutsXpos();
 	dyIron = dbManager->CutsYpos();
 
-        GeoTransform* tfIron1 = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) * GeoTrf::Translate3D(dxIron,PosY-dyIron,-PoZ2) 
-					       * GeoTrf::RotateX3D(90.*GeoModelKernelUnits::deg) * GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg)); // Left
+        GeoTransform* tfIron1 = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) * GeoTrf::Translate3D(dxIron,PosY-dyIron,-PoZ2) 
+					       * GeoTrf::RotateX3D(90.*Gaudi::Units::deg) * GeoTrf::RotateZ3D(90.*Gaudi::Units::deg)); // Left
         pvEBarrelMotherNeg->add(tfIron1);
         pvEBarrelMotherNeg->add(new GeoIdentifierTag(1));
         pvEBarrelMotherNeg->add(pvIron1);
 
-                      tfIron1 = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) * GeoTrf::Translate3D(-dxIron,PosY-dyIron,-PoZ2)
-					       * GeoTrf::RotateX3D(90.*GeoModelKernelUnits::deg) * GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg)); // Right
+                      tfIron1 = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) * GeoTrf::Translate3D(-dxIron,PosY-dyIron,-PoZ2)
+					       * GeoTrf::RotateX3D(90.*Gaudi::Units::deg) * GeoTrf::RotateZ3D(90.*Gaudi::Units::deg)); // Right
         pvEBarrelMotherNeg->add(tfIron1);
         pvEBarrelMotherNeg->add(new GeoIdentifierTag(2));
         pvEBarrelMotherNeg->add(pvIron1);
@@ -2741,14 +2738,14 @@ void TileAtlasFactory::create(GeoPhysVol *world)
         dxIron = dbManager->CutsXpos();
 	dyIron = dbManager->CutsYpos();
 
-        GeoTransform* tfIron2 = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) * GeoTrf::Translate3D(dxIron,PosY+dyIron,-PoZ2) 
-	                      * GeoTrf::RotateZ3D(-84.*GeoModelKernelUnits::deg) * GeoTrf::RotateX3D(90.*GeoModelKernelUnits::deg) * GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg)); // Left
+        GeoTransform* tfIron2 = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) * GeoTrf::Translate3D(dxIron,PosY+dyIron,-PoZ2) 
+	                      * GeoTrf::RotateZ3D(-84.*Gaudi::Units::deg) * GeoTrf::RotateX3D(90.*Gaudi::Units::deg) * GeoTrf::RotateZ3D(90.*Gaudi::Units::deg)); // Left
         pvEBarrelMotherNeg->add(tfIron2);
         pvEBarrelMotherNeg->add(new GeoIdentifierTag(2));
         pvEBarrelMotherNeg->add(pvIron2);
 
-                      tfIron2 = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) * GeoTrf::Translate3D(-dxIron,PosY+dyIron,-PoZ2)
-                              * GeoTrf::RotateZ3D(84.*GeoModelKernelUnits::deg) * GeoTrf::RotateX3D(90.*GeoModelKernelUnits::deg) * GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg)); // Left
+                      tfIron2 = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) * GeoTrf::Translate3D(-dxIron,PosY+dyIron,-PoZ2)
+                              * GeoTrf::RotateZ3D(84.*Gaudi::Units::deg) * GeoTrf::RotateX3D(90.*Gaudi::Units::deg) * GeoTrf::RotateZ3D(90.*Gaudi::Units::deg)); // Left
         pvEBarrelMotherNeg->add(tfIron2);
         pvEBarrelMotherNeg->add(pvIron2);
 
@@ -2757,14 +2754,14 @@ void TileAtlasFactory::create(GeoPhysVol *world)
         dxIron = dbManager->CutsXpos();
 	dyIron = dbManager->CutsYpos();
 
-        GeoTransform* tfIron3 = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) * GeoTrf::Translate3D(dxIron,PosY+dyIron,-PoZ2) 
-	                      * GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg) * GeoTrf::RotateX3D(90.*GeoModelKernelUnits::deg) * GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg)); // Left
+        GeoTransform* tfIron3 = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) * GeoTrf::Translate3D(dxIron,PosY+dyIron,-PoZ2) 
+	                      * GeoTrf::RotateZ3D(90.*Gaudi::Units::deg) * GeoTrf::RotateX3D(90.*Gaudi::Units::deg) * GeoTrf::RotateZ3D(90.*Gaudi::Units::deg)); // Left
         pvEBarrelMotherNeg->add(tfIron3);
         pvEBarrelMotherNeg->add(new GeoIdentifierTag(3));
         pvEBarrelMotherNeg->add(pvIron3); 
 
-                      tfIron3 = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) * GeoTrf::Translate3D(-dxIron,PosY+dyIron,-PoZ2)
-                              * GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg) * GeoTrf::RotateX3D(90.*GeoModelKernelUnits::deg) * GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg)); // Right
+                      tfIron3 = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) * GeoTrf::Translate3D(-dxIron,PosY+dyIron,-PoZ2)
+                              * GeoTrf::RotateZ3D(90.*Gaudi::Units::deg) * GeoTrf::RotateX3D(90.*Gaudi::Units::deg) * GeoTrf::RotateZ3D(90.*Gaudi::Units::deg)); // Right
         pvEBarrelMotherNeg->add(tfIron3);
         pvEBarrelMotherNeg->add(pvIron3);
 
@@ -2772,14 +2769,14 @@ void TileAtlasFactory::create(GeoPhysVol *world)
         volname = "IrBox"; dbManager->SetCurrentCuts(volname); //>>
         dxIron = dbManager->CutsXpos();
 	dyIron = dbManager->CutsYpos();
-        GeoTransform* tfIrBoxL = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) * GeoTrf::Translate3D(dxIron,PosY-dyIron,-PoZ2)
-                               * GeoTrf::RotateX3D(90.*GeoModelKernelUnits::deg) * GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg)); // Left
+        GeoTransform* tfIrBoxL = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) * GeoTrf::Translate3D(dxIron,PosY-dyIron,-PoZ2)
+                               * GeoTrf::RotateX3D(90.*Gaudi::Units::deg) * GeoTrf::RotateZ3D(90.*Gaudi::Units::deg)); // Left
         pvEBarrelMotherNeg->add(tfIrBoxL); 
         pvEBarrelMotherNeg->add(new GeoIdentifierTag(4));
         pvEBarrelMotherNeg->add(pvIrBox); 
 
-        GeoTransform* tfIrBoxR = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) *GeoTrf::Translate3D(-dxIron,PosY-dyIron,-PoZ2)
-		               * GeoTrf::RotateX3D(90.*GeoModelKernelUnits::deg) * GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg)); // Right
+        GeoTransform* tfIrBoxR = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) *GeoTrf::Translate3D(-dxIron,PosY-dyIron,-PoZ2)
+		               * GeoTrf::RotateX3D(90.*Gaudi::Units::deg) * GeoTrf::RotateZ3D(90.*Gaudi::Units::deg)); // Right
         pvEBarrelMotherNeg->add(tfIrBoxR);
         pvEBarrelMotherNeg->add(pvIrBox);
 
@@ -2788,16 +2785,16 @@ void TileAtlasFactory::create(GeoPhysVol *world)
         dxIr = dbManager->CutsXpos();
 	dyIr = dbManager->CutsYpos();
 
-        GeoTransform* tfIrUp = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) 
+        GeoTransform* tfIrUp = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) 
                              * GeoTrf::Translate3D(PosXcut+dxIr,-PosYcut+dyIr,PoZ1) 
-		             * GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg) * GeoTrf::RotateX3D(90.*GeoModelKernelUnits::deg) * GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg)); // Left
+		             * GeoTrf::RotateZ3D(90.*Gaudi::Units::deg) * GeoTrf::RotateX3D(90.*Gaudi::Units::deg) * GeoTrf::RotateZ3D(90.*Gaudi::Units::deg)); // Left
         pvEBarrelMotherNeg->add(tfIrUp);
         pvEBarrelMotherNeg->add(new GeoIdentifierTag(5));
         pvEBarrelMotherNeg->add(pvIrUp);
 
-                      tfIrUp = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) 
+                      tfIrUp = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) 
                              * GeoTrf::Translate3D(-PosXcut-dxIr,-PosYcut+dyIr,PoZ1) 
-		             * GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg) * GeoTrf::RotateX3D(90.*GeoModelKernelUnits::deg) * GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg)); // Right
+		             * GeoTrf::RotateZ3D(90.*Gaudi::Units::deg) * GeoTrf::RotateX3D(90.*Gaudi::Units::deg) * GeoTrf::RotateZ3D(90.*Gaudi::Units::deg)); // Right
         pvEBarrelMotherNeg->add(tfIrUp);
         pvEBarrelMotherNeg->add(pvIrUp);
 
@@ -2806,16 +2803,16 @@ void TileAtlasFactory::create(GeoPhysVol *world)
         dxIr = dbManager->CutsXpos();
 	dyIr = dbManager->CutsYpos();
 
-        GeoTransform* tfIrDw = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) 
+        GeoTransform* tfIrDw = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) 
                              * GeoTrf::Translate3D(PosXcut+dxIr,-PosYcut+dyIr,PoZ1) 
-		             * GeoTrf::RotateZ3D(70.*GeoModelKernelUnits::deg) * GeoTrf::RotateX3D(90.*GeoModelKernelUnits::deg) * GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg)); // Left
+		             * GeoTrf::RotateZ3D(70.*Gaudi::Units::deg) * GeoTrf::RotateX3D(90.*Gaudi::Units::deg) * GeoTrf::RotateZ3D(90.*Gaudi::Units::deg)); // Left
         pvEBarrelMotherNeg->add(tfIrDw);
         pvEBarrelMotherNeg->add(new GeoIdentifierTag(6));
         pvEBarrelMotherNeg->add(pvIrDw);
 
-                      tfIrDw = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) 
+                      tfIrDw = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) 
                              * GeoTrf::Translate3D(-PosXcut+dxIr,-PosYcut+dyIr,PoZ1) 
-		             * GeoTrf::RotateZ3D(-70.*GeoModelKernelUnits::deg) * GeoTrf::RotateX3D(90.*GeoModelKernelUnits::deg) * GeoTrf::RotateZ3D(90.*GeoModelKernelUnits::deg)); // Left
+		             * GeoTrf::RotateZ3D(-70.*Gaudi::Units::deg) * GeoTrf::RotateX3D(90.*Gaudi::Units::deg) * GeoTrf::RotateZ3D(90.*Gaudi::Units::deg)); // Left
 
         pvEBarrelMotherNeg->add(tfIrDw);
         pvEBarrelMotherNeg->add(pvIrDw);
@@ -2824,12 +2821,12 @@ void TileAtlasFactory::create(GeoPhysVol *world)
       //
       //*>------------------------------------------------------------------------------------------------------
       // Ext.Barrel
-      ztrans = (-NegEndCrack - (dbManager->GetEnvZLength()*GeoModelKernelUnits::cm - EBFingerLengthNeg)/2 - 19.5)*(1./GeoModelKernelUnits::cm);
+      ztrans = (-NegEndCrack - (dbManager->GetEnvZLength()*Gaudi::Units::cm - EBFingerLengthNeg)/2 - 19.5)*(1./Gaudi::Units::cm);
 
-      GeoTransform* tfEBarrelMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) * 
-                                             GeoTrf::RotateZ3D(dbManager->GetEnvDPhi()*GeoModelKernelUnits::deg));
+      GeoTransform* tfEBarrelMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) * 
+                                             GeoTrf::RotateZ3D(dbManager->GetEnvDPhi()*Gaudi::Units::deg));
 
-      (*m_log) << MSG::INFO <<" Positioning negative ext.barrel with translation ztrans "<<ztrans*GeoModelKernelUnits::cm<<endmsg;
+      (*m_log) << MSG::INFO <<" Positioning negative ext.barrel with translation ztrans "<<ztrans*Gaudi::Units::cm<<endmsg;
       
       GeoNameTag* ntEBarrelMotherNeg = new GeoNameTag("EBarrelNeg");
 
@@ -2840,12 +2837,12 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 
       //*>------------------------------------------------------------------------------------------------------
       // Finger
-      ztrans = (-NegEndExBarrel - EBFingerLengthPos/2)*(1./GeoModelKernelUnits::cm); 
+      ztrans = (-NegEndExBarrel - EBFingerLengthPos/2)*(1./Gaudi::Units::cm); 
 
-      GeoTransform* tfEFingerMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) * 
-                                             GeoTrf::RotateZ3D(dbManager->GetEnvDPhi() * GeoModelKernelUnits::deg));
+      GeoTransform* tfEFingerMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) * 
+                                             GeoTrf::RotateZ3D(dbManager->GetEnvDPhi() * Gaudi::Units::deg));
 
-      (*m_log) << MSG::INFO <<" Positioning negative ext.barrel finger with translation ztrans= "<<ztrans*GeoModelKernelUnits::cm<< endmsg;
+      (*m_log) << MSG::INFO <<" Positioning negative ext.barrel finger with translation ztrans= "<<ztrans*Gaudi::Units::cm<< endmsg;
 
       GeoNameTag* ntEFingerMotherNeg = new GeoNameTag("TileEFingerNeg");
 
@@ -2856,12 +2853,12 @@ void TileAtlasFactory::create(GeoPhysVol *world)
       //*>------------------------------------------------------------------------------------------------------
       // Ext. Saddle Support
       if (dbManager->BoolSaddle())
-      { ztrans = (-NegEndExBarrel - DzSaddleSupport/2)*(1./GeoModelKernelUnits::cm); 
+      { ztrans = (-NegEndExBarrel - DzSaddleSupport/2)*(1./Gaudi::Units::cm); 
 
-        GeoTransform* tfESaddleMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) * 
-                                               GeoTrf::RotateZ3D(dbManager->GetEnvDPhi() * GeoModelKernelUnits::deg));
+        GeoTransform* tfESaddleMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) * 
+                                               GeoTrf::RotateZ3D(dbManager->GetEnvDPhi() * Gaudi::Units::deg));
 
-        (*m_log) << MSG::INFO <<" Positioning negative ext.barrel saddle with translation ztrans= "<<ztrans*GeoModelKernelUnits::cm
+        (*m_log) << MSG::INFO <<" Positioning negative ext.barrel saddle with translation ztrans= "<<ztrans*Gaudi::Units::cm
                  << endmsg;
 
         GeoNameTag* ntESaddleMotherNeg = new GeoNameTag("TileESaddleNeg");
@@ -2880,15 +2877,15 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 
       dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG1);
 
-      ztrans = PosEndBarrelFinger*(1./GeoModelKernelUnits::cm) + dbManager->TILBdzmodul()/2;
+      ztrans = PosEndBarrelFinger*(1./Gaudi::Units::cm) + dbManager->TILBdzmodul()/2;
 
-      //std::cout <<" ztrans "<<ztrans<<" PosEndBarrelFinger/GeoModelKernelUnits::cm "<<PosEndBarrelFinger/GeoModelKernelUnits::cm
-      //          <<" dbManager->TILBdzmodul()/2*GeoModelKernelUnits::cm"<<dbManager->TILBdzmodul()/2<<"\n";
+      //std::cout <<" ztrans "<<ztrans<<" PosEndBarrelFinger/Gaudi::Units::cm "<<PosEndBarrelFinger/Gaudi::Units::cm
+      //          <<" dbManager->TILBdzmodul()/2*Gaudi::Units::cm"<<dbManager->TILBdzmodul()/2<<"\n";
       
-      (*m_log) << MSG::INFO <<" Positioning positive ITC with translation "<<ztrans*GeoModelKernelUnits::cm<< endmsg;
+      (*m_log) << MSG::INFO <<" Positioning positive ITC with translation "<<ztrans*Gaudi::Units::cm<< endmsg;
 
-      GeoTransform* tfITCMotherPos = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) * 
-                                         GeoTrf::RotateZ3D(dbManager->GetEnvDPhi() * GeoModelKernelUnits::deg));
+      GeoTransform* tfITCMotherPos = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) * 
+                                         GeoTrf::RotateZ3D(dbManager->GetEnvDPhi() * Gaudi::Units::deg));
 
       GeoNameTag* ntITCMotherPos = new GeoNameTag("ITCPos");
 
@@ -2897,12 +2894,12 @@ void TileAtlasFactory::create(GeoPhysVol *world)
       pvTileEnvelopePosEndcap->add(pvITCMotherPos);
 
       dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG3);
-      ztrans = PosBeginGap*(1./GeoModelKernelUnits::cm) + dbManager->TILBdzmodul()/2;
+      ztrans = PosBeginGap*(1./Gaudi::Units::cm) + dbManager->TILBdzmodul()/2;
 
-      (*m_log) << MSG::INFO <<" Positioning positive Gap with translation "<<ztrans*GeoModelKernelUnits::cm<<endmsg;
+      (*m_log) << MSG::INFO <<" Positioning positive Gap with translation "<<ztrans*Gaudi::Units::cm<<endmsg;
 
-      GeoTransform* tfGapMotherPos = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm)* 
-                                         GeoTrf::RotateZ3D(dbManager->GetEnvDPhi()*GeoModelKernelUnits::deg));
+      GeoTransform* tfGapMotherPos = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm)* 
+                                         GeoTrf::RotateZ3D(dbManager->GetEnvDPhi()*Gaudi::Units::deg));
 
       GeoNameTag* ntGapMotherPos = new GeoNameTag("GapPos");
 
@@ -2912,12 +2909,12 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 
       // Crack
       dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG4);
-      ztrans = PosBeginCrack*(1./GeoModelKernelUnits::cm) + dbManager->TILBdzmodul()/2;
+      ztrans = PosBeginCrack*(1./Gaudi::Units::cm) + dbManager->TILBdzmodul()/2;
 
-      (*m_log) << MSG::INFO <<" Positioning positive Crack with translation "<<ztrans*GeoModelKernelUnits::cm<<endmsg;
+      (*m_log) << MSG::INFO <<" Positioning positive Crack with translation "<<ztrans*Gaudi::Units::cm<<endmsg;
 
-      GeoTransform* tfCrackMotherPos = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm)* 
-                                         GeoTrf::RotateZ3D(dbManager->GetEnvDPhi()*GeoModelKernelUnits::deg));
+      GeoTransform* tfCrackMotherPos = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm)* 
+                                         GeoTrf::RotateZ3D(dbManager->GetEnvDPhi()*Gaudi::Units::deg));
  
       GeoNameTag* ntCrackMotherPos = new GeoNameTag("CrackPos");
 
@@ -2934,12 +2931,12 @@ void TileAtlasFactory::create(GeoPhysVol *world)
     if(EnvType == 4) { 
 
       dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG1);
-      ztrans = -NegEndBarrelFinger*(1./GeoModelKernelUnits::cm) - dbManager->TILBdzmodul()/2;
+      ztrans = -NegEndBarrelFinger*(1./Gaudi::Units::cm) - dbManager->TILBdzmodul()/2;
 
-      (*m_log) << MSG::INFO <<" Positioning negative ITC with translation "<<ztrans*GeoModelKernelUnits::cm<<endmsg;
+      (*m_log) << MSG::INFO <<" Positioning negative ITC with translation "<<ztrans*Gaudi::Units::cm<<endmsg;
 
-      GeoTransform* tfITCMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm)* 
-                                         GeoTrf::RotateZ3D(dbManager->GetEnvDPhi()*GeoModelKernelUnits::deg));
+      GeoTransform* tfITCMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm)* 
+                                         GeoTrf::RotateZ3D(dbManager->GetEnvDPhi()*Gaudi::Units::deg));
 
       GeoNameTag* ntITCMotherNeg = new GeoNameTag("ITCNeg");
 
@@ -2948,12 +2945,12 @@ void TileAtlasFactory::create(GeoPhysVol *world)
       pvTileEnvelopeNegEndcap->add(pvITCMotherNeg);
 
       dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG3);
-      ztrans = -NegBeginGap*(1./GeoModelKernelUnits::cm) - dbManager->TILBdzmodul()/2;
+      ztrans = -NegBeginGap*(1./Gaudi::Units::cm) - dbManager->TILBdzmodul()/2;
 
-      (*m_log) << MSG::INFO <<" Positioning negative Gap with translation "<<ztrans*GeoModelKernelUnits::cm<<endmsg;
+      (*m_log) << MSG::INFO <<" Positioning negative Gap with translation "<<ztrans*Gaudi::Units::cm<<endmsg;
 
-      GeoTransform* tfGapMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm)* 
-                                         GeoTrf::RotateZ3D(dbManager->GetEnvDPhi()*GeoModelKernelUnits::deg));
+      GeoTransform* tfGapMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm)* 
+                                         GeoTrf::RotateZ3D(dbManager->GetEnvDPhi()*Gaudi::Units::deg));
 
       GeoNameTag* ntGapMotherNeg = new GeoNameTag("GapNeg");
 
@@ -2963,12 +2960,12 @@ void TileAtlasFactory::create(GeoPhysVol *world)
 
       // Crack
       dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG4);
-      ztrans = -NegBeginCrack*(1./GeoModelKernelUnits::cm) - dbManager->TILBdzmodul()/2;
+      ztrans = -NegBeginCrack*(1./Gaudi::Units::cm) - dbManager->TILBdzmodul()/2;
 
-      (*m_log) << MSG::INFO <<" Positioning negative Crack with translation "<<ztrans*GeoModelKernelUnits::cm<<endmsg;
+      (*m_log) << MSG::INFO <<" Positioning negative Crack with translation "<<ztrans*Gaudi::Units::cm<<endmsg;
 
-      GeoTransform* tfCrackMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm)* 
-                                           GeoTrf::RotateZ3D(dbManager->GetEnvDPhi()*GeoModelKernelUnits::deg));
+      GeoTransform* tfCrackMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm)* 
+                                           GeoTrf::RotateZ3D(dbManager->GetEnvDPhi()*Gaudi::Units::deg));
 
       GeoNameTag* ntCrackMotherNeg = new GeoNameTag("CrackNeg");
 
@@ -2994,13 +2991,13 @@ void TileAtlasFactory::create(GeoPhysVol *world)
        dbManager->SetCurrentEnvByIndex(EnvCounter);
        int EnvType = dbManager->GetEnvType();
        int NumberOfMod = dbManager->GetEnvNModules();
-       double Zshift = dbManager->GetEnvZShift()*GeoModelKernelUnits::cm;
+       double Zshift = dbManager->GetEnvZShift()*Gaudi::Units::cm;
 
        if(m_log->level()<=MSG::DEBUG)
 	 (*m_log) << MSG::DEBUG 
 		  << " EnvCounter is " << EnvCounter
 		  << " EnvType is " << EnvType
-		  << " Zshift is " << Zshift*(1./GeoModelKernelUnits::cm) << " cm"
+		  << " Zshift is " << Zshift*(1./Gaudi::Units::cm) << " cm"
 		  << endmsg;
 
        // Central barrel 
@@ -3052,13 +3049,13 @@ void TileAtlasFactory::create(GeoPhysVol *world)
     GeoTrf::Transform3D mz = GeoTrf::RotateZ3D(dbManager->GetEnvDPhi());
     GeoTrf::Transform3D my = GeoTrf::RotateY3D(dbManager->GetEnvDTheta());
     GeoTrf::Transform3D mx = GeoTrf::RotateZ3D(dbManager->GetEnvDPsi());
-    GeoTrf::Transform3D vpos = GeoTrf::Translate3D(dbManager->GetEnvDX()*GeoModelKernelUnits::cm,dbManager->GetEnvDY()*GeoModelKernelUnits::cm,dbManager->GetEnvDZ()*GeoModelKernelUnits::cm);
+    GeoTrf::Transform3D vpos = GeoTrf::Translate3D(dbManager->GetEnvDX()*Gaudi::Units::cm,dbManager->GetEnvDY()*Gaudi::Units::cm,dbManager->GetEnvDZ()*Gaudi::Units::cm);
     GeoTransform* barrelTT = new GeoTransform(GeoTrf::Transform3D(vpos*(mx*(my*(mz)))));
 
     (*m_log) << MSG::INFO << " Global positioning of barrel with rotation ("
              << dbManager->GetEnvDPhi() << "," << dbManager->GetEnvDTheta() << "," << dbManager->GetEnvDPsi() << ")"
              << ") and translation (" << dbManager->GetEnvDX() << "," << dbManager->GetEnvDY() << "," << dbManager->GetEnvDZ()
-             << ") GeoModelKernelUnits::cm" << endmsg;
+             << ") Gaudi::Units::cm" << endmsg;
 
     world->add(barrelTT);
     world->add(pvTileEnvelopeBarrel);
@@ -3074,13 +3071,13 @@ void TileAtlasFactory::create(GeoPhysVol *world)
     GeoTrf::Transform3D mz = GeoTrf::RotateZ3D(dbManager->GetEnvDPhi());
     GeoTrf::Transform3D my = GeoTrf::RotateY3D(dbManager->GetEnvDTheta());
     GeoTrf::Transform3D mx = GeoTrf::RotateZ3D(dbManager->GetEnvDPsi());
-    GeoTrf::Transform3D vpos = GeoTrf::Translate3D(dbManager->GetEnvDX()*GeoModelKernelUnits::cm,dbManager->GetEnvDY()*GeoModelKernelUnits::cm,dbManager->GetEnvDZ()*GeoModelKernelUnits::cm);
+    GeoTrf::Transform3D vpos = GeoTrf::Translate3D(dbManager->GetEnvDX()*Gaudi::Units::cm,dbManager->GetEnvDY()*Gaudi::Units::cm,dbManager->GetEnvDZ()*Gaudi::Units::cm);
     GeoTransform*  posEcTT = new GeoTransform(GeoTrf::Transform3D(vpos*(mx*(my*(mz)))));
 
     (*m_log) << MSG::INFO << " Global positioning of positive ext.barrel with rotation ("
              << dbManager->GetEnvDPhi() << "," << dbManager->GetEnvDTheta() << "," << dbManager->GetEnvDPsi() << ")"
              << ") and translation (" << dbManager->GetEnvDX() << "," << dbManager->GetEnvDY() << "," << dbManager->GetEnvDZ()
-             << ") GeoModelKernelUnits::cm" << endmsg;
+             << ") Gaudi::Units::cm" << endmsg;
 
     world->add(posEcTT);
     world->add(pvTileEnvelopePosEndcap);
@@ -3096,13 +3093,13 @@ void TileAtlasFactory::create(GeoPhysVol *world)
     GeoTrf::Transform3D mz = GeoTrf::RotateZ3D(dbManager->GetEnvDPhi());
     GeoTrf::Transform3D my = GeoTrf::RotateY3D(dbManager->GetEnvDTheta());
     GeoTrf::Transform3D mx = GeoTrf::RotateZ3D(dbManager->GetEnvDPsi());
-    GeoTrf::Transform3D vpos = GeoTrf::Translate3D(dbManager->GetEnvDX()*GeoModelKernelUnits::cm,dbManager->GetEnvDY()*GeoModelKernelUnits::cm,dbManager->GetEnvDZ()*GeoModelKernelUnits::cm);
+    GeoTrf::Transform3D vpos = GeoTrf::Translate3D(dbManager->GetEnvDX()*Gaudi::Units::cm,dbManager->GetEnvDY()*Gaudi::Units::cm,dbManager->GetEnvDZ()*Gaudi::Units::cm);
     GeoTransform* negEcTT = new GeoTransform(GeoTrf::Transform3D(vpos*(mx*(my*(mz)))));
 
     (*m_log) << MSG::INFO << " Global positioning of negative ext.barrel with rotation ("
              << dbManager->GetEnvDPhi() << "," << dbManager->GetEnvDTheta() << "," << dbManager->GetEnvDPsi() << ")"
              << ") and translation (" << dbManager->GetEnvDX() << "," << dbManager->GetEnvDY() << "," << dbManager->GetEnvDZ()
-             << ") GeoModelKernelUnits::cm" << endmsg;
+             << ") Gaudi::Units::cm" << endmsg;
 
     world->add(negEcTT);
     world->add(pvTileEnvelopeNegEndcap);
diff --git a/TileCalorimeter/TileGeoModel/src/TileDetectorFactory.cxx b/TileCalorimeter/TileGeoModel/src/TileDetectorFactory.cxx
index 4764c9b6e233..9cda8c646078 100755
--- a/TileCalorimeter/TileGeoModel/src/TileDetectorFactory.cxx
+++ b/TileCalorimeter/TileGeoModel/src/TileDetectorFactory.cxx
@@ -22,7 +22,6 @@
 #include "GeoModelKernel/GeoTransform.h"
 #include "GeoModelKernel/GeoSerialIdentifier.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
 
 #include "GeoGenericFunctions/AbsFunction.h"
 #include "GeoGenericFunctions/Variable.h"
@@ -33,6 +32,7 @@
 #include "StoreGate/StoreGateSvc.h"
 
 #include "GaudiKernel/MsgStream.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <stdexcept>
 #include <iostream>
@@ -107,20 +107,20 @@ void TileDetectorFactory::create(GeoPhysVol *world)
   {
     // Z planes
     dbManager->SetCurrentSection(TileDddbManager::TILE_BARREL);
-    double endCentralBarrel = dbManager->TILBdzmodul()/2.*GeoModelKernelUnits::cm;
+    double endCentralBarrel = dbManager->TILBdzmodul()/2.*Gaudi::Units::cm;
     dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG1);
-    //sb double beginITC1 = (dbManager->TILBzoffset() + dbManager->TILEzshift() - dbManager->TILBdzmodul()/2.)*GeoModelKernelUnits::cm;
+    //sb double beginITC1 = (dbManager->TILBzoffset() + dbManager->TILEzshift() - dbManager->TILBdzmodul()/2.)*Gaudi::Units::cm;
     dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG2);
-    double beginITC2 = (dbManager->TILBzoffset() + dbManager->TILEzshift() - dbManager->TILBdzmodul()/2.)*GeoModelKernelUnits::cm;
+    double beginITC2 = (dbManager->TILBzoffset() + dbManager->TILEzshift() - dbManager->TILBdzmodul()/2.)*Gaudi::Units::cm;
     dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG4);
-    double beginCrack = (dbManager->TILBzoffset() + dbManager->TILEzshift() - dbManager->TILBdzmodul()/2.)*GeoModelKernelUnits::cm;
-    double endCrack = (dbManager->TILBzoffset() + dbManager->TILEzshift() + dbManager->TILBdzmodul()/2.)*GeoModelKernelUnits::cm;
+    double beginCrack = (dbManager->TILBzoffset() + dbManager->TILEzshift() - dbManager->TILBdzmodul()/2.)*Gaudi::Units::cm;
+    double endCrack = (dbManager->TILBzoffset() + dbManager->TILEzshift() + dbManager->TILBdzmodul()/2.)*Gaudi::Units::cm;
     dbManager->SetCurrentSection(TileDddbManager::TILE_EBARREL);
-    double endExtendedBarrel = (dbManager->TILBzoffset() + dbManager->TILEzshift() + dbManager->TILBdzmodul()/2.)*GeoModelKernelUnits::cm;
-    double endTile = dbManager->TILEzmam()*GeoModelKernelUnits::cm;
+    double endExtendedBarrel = (dbManager->TILBzoffset() + dbManager->TILEzshift() + dbManager->TILBdzmodul()/2.)*Gaudi::Units::cm;
+    double endTile = dbManager->TILEzmam()*Gaudi::Units::cm;
 
     dbManager->SetCurrentTifg(1);
-    double endBarrelFinger = endCentralBarrel + dbManager->TIFGdz()*GeoModelKernelUnits::cm;
+    double endBarrelFinger = endCentralBarrel + dbManager->TIFGdz()*Gaudi::Units::cm;
 
     // Offsets
     /* sb
@@ -132,23 +132,23 @@ void TileDetectorFactory::create(GeoPhysVol *world)
 
     // R minimals
     dbManager->SetCurrentSection(TileDddbManager::TILE_BARREL);
-    double rminBarrel = dbManager->TILBrminimal()*GeoModelKernelUnits::cm;
+    double rminBarrel = dbManager->TILBrminimal()*Gaudi::Units::cm;
     dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG1);
-    double rminITC1 = dbManager->TILBrminimal()*GeoModelKernelUnits::cm;
+    double rminITC1 = dbManager->TILBrminimal()*Gaudi::Units::cm;
     dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG2);
-    double rminITC = dbManager->TILBrminimal()*GeoModelKernelUnits::cm;
+    double rminITC = dbManager->TILBrminimal()*Gaudi::Units::cm;
     dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG4);
-    double rminCrack = dbManager->TILBrminimal()*GeoModelKernelUnits::cm;
+    double rminCrack = dbManager->TILBrminimal()*Gaudi::Units::cm;
     dbManager->SetCurrentSection(TileDddbManager::TILE_EBARREL);
-    double rminExtended = dbManager->TILBrminimal()*GeoModelKernelUnits::cm;
-    double rminFinger = dbManager->TILBrmax()*GeoModelKernelUnits::cm;
+    double rminExtended = dbManager->TILBrminimal()*Gaudi::Units::cm;
+    double rminFinger = dbManager->TILBrmax()*Gaudi::Units::cm;
     
     // R maximal
-    double rmaxTotal = dbManager->TILErmam()*GeoModelKernelUnits::cm;
+    double rmaxTotal = dbManager->TILErmam()*Gaudi::Units::cm;
     
-    GeoPcon* tileEnvPconeBarrel    = new GeoPcon(0, 360*GeoModelKernelUnits::deg);
-    GeoPcon* tileEnvPconePosEndcap = new GeoPcon(0, 360*GeoModelKernelUnits::deg);
-    GeoPcon* tileEnvPconeNegEndcap = new GeoPcon(0, 360*GeoModelKernelUnits::deg);
+    GeoPcon* tileEnvPconeBarrel    = new GeoPcon(0, 360*Gaudi::Units::deg);
+    GeoPcon* tileEnvPconePosEndcap = new GeoPcon(0, 360*Gaudi::Units::deg);
+    GeoPcon* tileEnvPconeNegEndcap = new GeoPcon(0, 360*Gaudi::Units::deg);
 
     // Negative Endcap
     tileEnvPconeNegEndcap->addPlane(-endTile,rminFinger,rmaxTotal);
@@ -209,17 +209,17 @@ void TileDetectorFactory::create(GeoPhysVol *world)
     dbManager->SetCurrentTifg(1);
 
     // Z planes
-    double endCentralBarrel = dbManager->TILBdzmodul()/2.*GeoModelKernelUnits::cm;
-    double endEnvelope = endCentralBarrel + dbManager->TIFGdz()*GeoModelKernelUnits::cm;
+    double endCentralBarrel = dbManager->TILBdzmodul()/2.*Gaudi::Units::cm;
+    double endEnvelope = endCentralBarrel + dbManager->TIFGdz()*Gaudi::Units::cm;
 
     // R minimals
-    double rminBarrel = dbManager->TILBrminimal()*GeoModelKernelUnits::cm;
-    double rminFinger = dbManager->TILBrmax()*GeoModelKernelUnits::cm;
+    double rminBarrel = dbManager->TILBrminimal()*Gaudi::Units::cm;
+    double rminFinger = dbManager->TILBrmax()*Gaudi::Units::cm;
     
     // R maximal
-    double rmaxTotal = dbManager->TILErmam()*GeoModelKernelUnits::cm;
+    double rmaxTotal = dbManager->TILErmam()*Gaudi::Units::cm;
     
-    GeoPcon* tileEnvPconeBarrel = new GeoPcon(0, 360*GeoModelKernelUnits::deg);
+    GeoPcon* tileEnvPconeBarrel = new GeoPcon(0, 360*Gaudi::Units::deg);
     tileEnvPconeBarrel->addPlane(-endEnvelope,rminFinger,rmaxTotal);
     tileEnvPconeBarrel->addPlane(-endCentralBarrel,rminFinger,rmaxTotal);
     tileEnvPconeBarrel->addPlane(-endCentralBarrel,rminBarrel,rmaxTotal);
@@ -237,7 +237,7 @@ void TileDetectorFactory::create(GeoPhysVol *world)
   double deltaPhi = 360./dbManager->TILEnmodul();
 
   Variable varInd;
-  GENFUNCTION phiInd = deltaPhi*(varInd+0.5)*GeoModelKernelUnits::deg;
+  GENFUNCTION phiInd = deltaPhi*(varInd+0.5)*Gaudi::Units::deg;
 
   //------------------------------- B A R R E L --------------------------------------
   // Tube - barrel mother
@@ -245,18 +245,18 @@ void TileDetectorFactory::create(GeoPhysVol *world)
   if(dbManager->SetCurrentSection(TileDddbManager::TILE_BARREL))
   {
 
-    GeoTube* barrelMother = new GeoTube(dbManager->TILBrminimal()*GeoModelKernelUnits::cm,
-					dbManager->TILErmam()*GeoModelKernelUnits::cm,
-					dbManager->TILBdzmodul()/2.*GeoModelKernelUnits::cm);
+    GeoTube* barrelMother = new GeoTube(dbManager->TILBrminimal()*Gaudi::Units::cm,
+					dbManager->TILErmam()*Gaudi::Units::cm,
+					dbManager->TILBdzmodul()/2.*Gaudi::Units::cm);
 
     GeoLogVol* lvBarrelMother = new GeoLogVol("Barrel",barrelMother,matAir);
     GeoFullPhysVol* pvBarrelMother = new GeoFullPhysVol(lvBarrelMother);
 
     // Trd - module mother
-    thicknessWedgeMother = dbManager->TILBdzmodul() * GeoModelKernelUnits::cm;
-    heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * GeoModelKernelUnits::cm;
-    dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-    dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+    thicknessWedgeMother = dbManager->TILBdzmodul() * Gaudi::Units::cm;
+    heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * Gaudi::Units::cm;
+    dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
+    dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
 
     dzGlue = (dbManager->TILBdzmodul() - dbManager->TILBdzend1() - dbManager->TILBdzend2() - (dbManager->TILBnperiod()*2.*(dbManager->TILBdzmast() + dbManager->TILBdzspac()) - dbManager->TILBdzmast()))/(2.*(2.*dbManager->TILBnperiod() - 1));
 
@@ -282,9 +282,9 @@ void TileDetectorFactory::create(GeoPhysVol *world)
   {
     phi = j*deltaPhi;
 
-    GeoTransform* zrotateMod = new GeoTransform(GeoTrf::RotateZ3D(phi*GeoModelKernelUnits::deg));
+    GeoTransform* zrotateMod = new GeoTransform(GeoTrf::RotateZ3D(phi*Gaudi::Units::deg));
     GeoTransform* xtransMod = new GeoTransform(GeoTrf::TranslateX3D((dbManager->TILBrmaximal() + dbManager->TILBrminimal())/2. * cm));
-    GeoTransform* yrotateMod = new GeoTransform(GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg));
+    GeoTransform* yrotateMod = new GeoTransform(GeoTrf::RotateY3D(90*Gaudi::Units::deg));
 
     pvBarrelMother->add(zrotateMod);
     pvBarrelMother->add(xtransMod);
@@ -294,7 +294,7 @@ void TileDetectorFactory::create(GeoPhysVol *world)
 */
 
     // --- Using the parameterization -----
-    TRANSFUNCTION xfBarrelModuleMother = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILBrmaximal()+dbManager->TILBrminimal())/2.*GeoModelKernelUnits::cm)*GeoTrf::RotateX3D(180*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+    TRANSFUNCTION xfBarrelModuleMother = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILBrmaximal()+dbManager->TILBrminimal())/2.*Gaudi::Units::cm)*GeoTrf::RotateX3D(180*Gaudi::Units::deg)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
     GeoSerialTransformer* stBarrelModuleMother = new GeoSerialTransformer(pvBarrelModuleMother,
 									  &xfBarrelModuleMother,
 									  dbManager->TILEnmodul());
@@ -314,7 +314,7 @@ void TileDetectorFactory::create(GeoPhysVol *world)
   {
     dbManager->SetCurrentEnvByType(1);
     nModules=dbManager->GetEnvNModules();
-    zShift=dbManager->GetEnvZShift()*GeoModelKernelUnits::cm;
+    zShift=dbManager->GetEnvZShift()*Gaudi::Units::cm;
 
     sectionBuilder->computeCellDim(m_detectorManager, 
                                    TILE_REGION_CENTRAL,
@@ -369,19 +369,19 @@ void TileDetectorFactory::create(GeoPhysVol *world)
   if(dbManager->SetCurrentSection(TileDddbManager::TILE_EBARREL))
   {
   
-    GeoTube* ebarrelMother = new GeoTube(dbManager->TILBrminimal()*GeoModelKernelUnits::cm,
-					 dbManager->TILErmam()*GeoModelKernelUnits::cm,
-					 dbManager->TILBdzmodul()/2.*GeoModelKernelUnits::cm);
+    GeoTube* ebarrelMother = new GeoTube(dbManager->TILBrminimal()*Gaudi::Units::cm,
+					 dbManager->TILErmam()*Gaudi::Units::cm,
+					 dbManager->TILBdzmodul()/2.*Gaudi::Units::cm);
 
     GeoLogVol* lvEBarrelMother = new GeoLogVol("EBarrel",ebarrelMother,matAir);
     GeoFullPhysVol* pvEBarrelMotherPos = new GeoFullPhysVol(lvEBarrelMother);
     GeoFullPhysVol* pvEBarrelMotherNeg = new GeoFullPhysVol(lvEBarrelMother);
 
     // Trd - module mother
-    thicknessWedgeMother = dbManager->TILBdzmodul() * GeoModelKernelUnits::cm;
-    heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * GeoModelKernelUnits::cm;
-    dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-    dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+    thicknessWedgeMother = dbManager->TILBdzmodul() * Gaudi::Units::cm;
+    heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * Gaudi::Units::cm;
+    dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
+    dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
 
     dzGlue = (dbManager->TILBdzmodul() - dbManager->TILBdzend1() - dbManager->TILBdzend2() - dbManager->TILBnperiod()*2.*(dbManager->TILBdzmast() + dbManager->TILBdzspac()))/(4.*dbManager->TILBnperiod());
     
@@ -403,8 +403,8 @@ void TileDetectorFactory::create(GeoPhysVol *world)
     				deltaPhi);
 
     // --- Position N modules inside mother (positive/negative) -----
-    TRANSFUNCTION xfEBarrelModuleMotherPos = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILBrmaximal()+dbManager->TILBrminimal())/2.*GeoModelKernelUnits::cm)*GeoTrf::RotateX3D(180*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-    TRANSFUNCTION xfEBarrelModuleMotherNeg = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILBrmaximal()+dbManager->TILBrminimal())/2.*GeoModelKernelUnits::cm)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+    TRANSFUNCTION xfEBarrelModuleMotherPos = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILBrmaximal()+dbManager->TILBrminimal())/2.*Gaudi::Units::cm)*GeoTrf::RotateX3D(180*Gaudi::Units::deg)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+    TRANSFUNCTION xfEBarrelModuleMotherNeg = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILBrmaximal()+dbManager->TILBrminimal())/2.*Gaudi::Units::cm)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
 
     GeoSerialTransformer* stEBarrelModuleMotherPos = new GeoSerialTransformer(pvEBarrelModuleMother,
 									      &xfEBarrelModuleMotherPos,
@@ -422,14 +422,14 @@ void TileDetectorFactory::create(GeoPhysVol *world)
     pvEBarrelMotherNeg->add(stEBarrelModuleMotherNeg);
 
 
-    GeoTransform* tfEBarrelMotherPos = new GeoTransform(GeoTrf::TranslateZ3D((dbManager->TILBzoffset()+dbManager->TILEzshift())*GeoModelKernelUnits::cm));
+    GeoTransform* tfEBarrelMotherPos = new GeoTransform(GeoTrf::TranslateZ3D((dbManager->TILBzoffset()+dbManager->TILEzshift())*Gaudi::Units::cm));
     GeoNameTag* ntEBarrelMotherPos = new GeoNameTag("TileEBarrelPos");
     pvTileEnvelopePosEndcap->add(tfEBarrelMotherPos);
     pvTileEnvelopePosEndcap->add(ntEBarrelMotherPos);
     pvTileEnvelopePosEndcap->add(pvEBarrelMotherPos);
 
     
-    GeoTransform* tfEBarrelMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D((-dbManager->TILBzoffset()-dbManager->TILEzshift())*GeoModelKernelUnits::cm));
+    GeoTransform* tfEBarrelMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D((-dbManager->TILBzoffset()-dbManager->TILEzshift())*Gaudi::Units::cm));
     GeoNameTag* ntEBarrelMotherNeg = new GeoNameTag("TileEBarrelNeg");
     pvTileEnvelopeNegEndcap->add(tfEBarrelMotherNeg);
     pvTileEnvelopeNegEndcap->add(ntEBarrelMotherNeg);
@@ -443,10 +443,10 @@ void TileDetectorFactory::create(GeoPhysVol *world)
   {
     dbManager->SetCurrentEnvByType(2);
     nModulesNeg=dbManager->GetEnvNModules();
-    zShiftNeg=dbManager->GetEnvZShift()*GeoModelKernelUnits::cm;
+    zShiftNeg=dbManager->GetEnvZShift()*Gaudi::Units::cm;
     dbManager->SetCurrentEnvByType(3);
     nModulesPos=dbManager->GetEnvNModules();
-    zShiftPos=dbManager->GetEnvZShift()*GeoModelKernelUnits::cm;
+    zShiftPos=dbManager->GetEnvZShift()*Gaudi::Units::cm;
 
     sectionBuilder->computeCellDim(m_detectorManager,
                                    TILE_REGION_EXTENDED,
@@ -456,7 +456,7 @@ void TileDetectorFactory::create(GeoPhysVol *world)
   } else
   {
     nModulesPos=nModulesNeg=dbManager->TILEnmodul();
-    zShiftPos=zShiftNeg=dbManager->TILEzshift()*GeoModelKernelUnits::cm;
+    zShiftPos=zShiftNeg=dbManager->TILEzshift()*Gaudi::Units::cm;
     // do not compute cell volumes for old setups (before DC3), 
     // because cell-size table might be missing in DB
   }
@@ -507,13 +507,13 @@ void TileDetectorFactory::create(GeoPhysVol *world)
 
     dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG1);
 
-    GeoTube* itcWheel1 = new GeoTube(dbManager->TILBrminimal()*GeoModelKernelUnits::cm,
-				     dbManager->TILErmam()*GeoModelKernelUnits::cm,
-				     dbManager->TILBdzmodul()/2.*GeoModelKernelUnits::cm);
+    GeoTube* itcWheel1 = new GeoTube(dbManager->TILBrminimal()*Gaudi::Units::cm,
+				     dbManager->TILErmam()*Gaudi::Units::cm,
+				     dbManager->TILBdzmodul()/2.*Gaudi::Units::cm);
 
-    GeoTube* itcWheel2 = new GeoTube(rMinITC2*GeoModelKernelUnits::cm,rMaxITC2*GeoModelKernelUnits::cm,dzITC2/2.*GeoModelKernelUnits::cm);
-    GeoTrf::Translate3D itcWheel2OffsetPos(0.,0.,(dbManager->TILBdzmodul()-dzITC2)/2*GeoModelKernelUnits::cm);
-    GeoTrf::Translate3D itcWheel2OffsetNeg(0.,0.,(-dbManager->TILBdzmodul()+dzITC2)/2*GeoModelKernelUnits::cm);
+    GeoTube* itcWheel2 = new GeoTube(rMinITC2*Gaudi::Units::cm,rMaxITC2*Gaudi::Units::cm,dzITC2/2.*Gaudi::Units::cm);
+    GeoTrf::Translate3D itcWheel2OffsetPos(0.,0.,(dbManager->TILBdzmodul()-dzITC2)/2*Gaudi::Units::cm);
+    GeoTrf::Translate3D itcWheel2OffsetNeg(0.,0.,(-dbManager->TILBdzmodul()+dzITC2)/2*Gaudi::Units::cm);
 
     const GeoShapeUnion& itcMotherPos = itcWheel1->add(*itcWheel2<<itcWheel2OffsetPos);
     const GeoShapeUnion& itcMotherNeg = itcWheel1->add(*itcWheel2<<itcWheel2OffsetNeg);
@@ -527,10 +527,10 @@ void TileDetectorFactory::create(GeoPhysVol *world)
     // Common mother for ITC1/2 modules
 
     // -- first sub shape
-    thicknessWedgeMother = dbManager->TILBdzmodul() * GeoModelKernelUnits::cm;
-    heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * GeoModelKernelUnits::cm;
-    dy1WedgeMother = dbManager->TILBrminimal()* tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-    dy2WedgeMother = dbManager->TILBrmaximal()* tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+    thicknessWedgeMother = dbManager->TILBdzmodul() * Gaudi::Units::cm;
+    heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * Gaudi::Units::cm;
+    dy1WedgeMother = dbManager->TILBrminimal()* tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
+    dy2WedgeMother = dbManager->TILBrmaximal()* tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
 
     GeoTrd* itcModuleSub1 = new GeoTrd(thicknessWedgeMother/2.,
 				       thicknessWedgeMother/2.,
@@ -539,10 +539,10 @@ void TileDetectorFactory::create(GeoPhysVol *world)
 				       heightWedgeMother/2.);
 
     // -- second sub shape
-    thicknessWedgeMother = dzITC2 * GeoModelKernelUnits::cm;
-    heightWedgeMother = (rMaxITC2 - rMinITC2) * GeoModelKernelUnits::cm;
-    dy1WedgeMother = rMinITC2* tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-    dy2WedgeMother = rMaxITC2* tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+    thicknessWedgeMother = dzITC2 * Gaudi::Units::cm;
+    heightWedgeMother = (rMaxITC2 - rMinITC2) * Gaudi::Units::cm;
+    dy1WedgeMother = rMinITC2* tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
+    dy2WedgeMother = rMaxITC2* tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
 
     GeoTrd* itcModuleSub2 = new GeoTrd(thicknessWedgeMother/2.,
 				       thicknessWedgeMother/2.,
@@ -550,9 +550,9 @@ void TileDetectorFactory::create(GeoPhysVol *world)
 				       dy2WedgeMother,
 				       heightWedgeMother/2.);
 
-    GeoTrf::Translate3D itcModuleSubShift ((dbManager->TILBdzmodul()-dzITC2)/2*GeoModelKernelUnits::cm,
+    GeoTrf::Translate3D itcModuleSubShift ((dbManager->TILBdzmodul()-dzITC2)/2*Gaudi::Units::cm,
 				      0.,
-				      ((rMinITC2+rMaxITC2)-(dbManager->TILBrmaximal()+dbManager->TILBrminimal()))/2.*GeoModelKernelUnits::cm);
+				      ((rMinITC2+rMaxITC2)-(dbManager->TILBrmaximal()+dbManager->TILBrminimal()))/2.*Gaudi::Units::cm);
 
     const GeoShapeUnion& itcModuleMother = itcModuleSub1->add(*itcModuleSub2<<itcModuleSubShift);
 
@@ -565,10 +565,10 @@ void TileDetectorFactory::create(GeoPhysVol *world)
     // 2. Mother for frontplate (since it's short)
     
     //First submother
-    thicknessWedgeMother = dbManager->TILBdzmodul() * GeoModelKernelUnits::cm;
-    heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrmin()) * GeoModelKernelUnits::cm;
-    dy1WedgeMother = dbManager->TILBrmin() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-    dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+    thicknessWedgeMother = dbManager->TILBdzmodul() * Gaudi::Units::cm;
+    heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrmin()) * Gaudi::Units::cm;
+    dy1WedgeMother = dbManager->TILBrmin() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
+    dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
     
     dzGlue = (dbManager->TILBdzmodul() - dbManager->TILBdzend1() - dbManager->TILBdzend2() - dbManager->TILBnperiod()*2.*(dbManager->TILBdzmast() + dbManager->TILBdzspac()))/(4.*dbManager->TILBnperiod());
     
@@ -579,10 +579,10 @@ void TileDetectorFactory::create(GeoPhysVol *world)
 					heightWedgeMother/2.);
 
     //Second submother
-    thicknessWedgeMother = (dbManager->TILBdzmodul() - dzITC2) * GeoModelKernelUnits::cm;
-    heightWedgeMother = (dbManager->TILBrmin() - dbManager->TILBrminimal()) * GeoModelKernelUnits::cm;
-    dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-    dy2WedgeMother = dbManager->TILBrmin() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+    thicknessWedgeMother = (dbManager->TILBdzmodul() - dzITC2) * Gaudi::Units::cm;
+    heightWedgeMother = (dbManager->TILBrmin() - dbManager->TILBrminimal()) * Gaudi::Units::cm;
+    dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
+    dy2WedgeMother = dbManager->TILBrmin() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
     
     GeoTrd* plug2SubMother = new GeoTrd(thicknessWedgeMother/2.,
 					thicknessWedgeMother/2.,
@@ -590,9 +590,9 @@ void TileDetectorFactory::create(GeoPhysVol *world)
 					dy2WedgeMother,
 					heightWedgeMother/2.);
     
-    GeoTrf::Translate3D plug1SubOffset(-dzITC2*GeoModelKernelUnits::cm/2.,
+    GeoTrf::Translate3D plug1SubOffset(-dzITC2*Gaudi::Units::cm/2.,
 				  0.,
-				  (dbManager->TILBrminimal()-dbManager->TILBrmaximal())*GeoModelKernelUnits::cm/2.);
+				  (dbManager->TILBrminimal()-dbManager->TILBrmaximal())*Gaudi::Units::cm/2.);
     
     const GeoShapeUnion& plug1ModuleMother = plug1SubMother->add(*plug2SubMother<<plug1SubOffset);
     GeoLogVol* lvPlug1ModuleMother = new GeoLogVol("Plug1Module",&plug1ModuleMother,matAir);
@@ -608,7 +608,7 @@ void TileDetectorFactory::create(GeoPhysVol *world)
     
     GeoTransform* tfPlug1ModuleMother = new GeoTransform(GeoTrf::Translate3D(0.,
 									0.,
-									(dbManager->TILBrmin()-dbManager->TILBrminimal())*GeoModelKernelUnits::cm/2.));
+									(dbManager->TILBrmin()-dbManager->TILBrminimal())*Gaudi::Units::cm/2.));
     
     pvITCModuleMother->add(tfPlug1ModuleMother);
     pvITCModuleMother->add(pvPlug1ModuleMother);
@@ -616,10 +616,10 @@ void TileDetectorFactory::create(GeoPhysVol *world)
     //Mother volume for ITC2
     dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG2);
     
-    thicknessWedgeMother = dbManager->TILBdzmodul() * GeoModelKernelUnits::cm;
-    heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * GeoModelKernelUnits::cm;
-    dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-    dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+    thicknessWedgeMother = dbManager->TILBdzmodul() * Gaudi::Units::cm;
+    heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * Gaudi::Units::cm;
+    dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
+    dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
 
     dzGlue = (dbManager->TILBdzmodul() - dbManager->TILBdzend1() - dbManager->TILBdzend2() - ((dbManager->TILBnperiod()-1)*2.*(dbManager->TILBdzmast() + dbManager->TILBdzspac()) + dbManager->TILBdzspac()))/(4.*(dbManager->TILBnperiod() - 1));
     
@@ -648,8 +648,8 @@ void TileDetectorFactory::create(GeoPhysVol *world)
     pvITCModuleMother->add(pvPlug2ModuleMother);
 
     // --- Position N modules inside mother (positive/negative) -----
-    TRANSFUNCTION xfITCModuleMotherPos = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILBrmaximal()+dbManager->TILBrminimal())/2.*GeoModelKernelUnits::cm)*GeoTrf::RotateX3D(180*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-    TRANSFUNCTION xfITCModuleMotherNeg = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILBrmaximal()+dbManager->TILBrminimal())/2.*GeoModelKernelUnits::cm)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+    TRANSFUNCTION xfITCModuleMotherPos = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILBrmaximal()+dbManager->TILBrminimal())/2.*Gaudi::Units::cm)*GeoTrf::RotateX3D(180*Gaudi::Units::deg)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+    TRANSFUNCTION xfITCModuleMotherNeg = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILBrmaximal()+dbManager->TILBrminimal())/2.*Gaudi::Units::cm)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
 
     GeoSerialTransformer* stITCModuleMotherPos = new GeoSerialTransformer(pvITCModuleMother,
 									  &xfITCModuleMotherPos,
@@ -664,14 +664,14 @@ void TileDetectorFactory::create(GeoPhysVol *world)
     pvITCMotherNeg->add(stITCModuleMotherNeg);
     
     
-    GeoTransform* tfITCMotherPos = new GeoTransform(GeoTrf::TranslateZ3D((dbManager->TILBzoffset()+dbManager->TILEzshift())*GeoModelKernelUnits::cm));
+    GeoTransform* tfITCMotherPos = new GeoTransform(GeoTrf::TranslateZ3D((dbManager->TILBzoffset()+dbManager->TILEzshift())*Gaudi::Units::cm));
     GeoNameTag* ntITCMotherPos = new GeoNameTag("TileITCPos");
     pvTileEnvelopePosEndcap->add(tfITCMotherPos);
     pvTileEnvelopePosEndcap->add(ntITCMotherPos);
     pvTileEnvelopePosEndcap->add(pvITCMotherPos);
 
     
-    GeoTransform* tfITCMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D((-dbManager->TILBzoffset()-dbManager->TILEzshift())*GeoModelKernelUnits::cm));
+    GeoTransform* tfITCMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D((-dbManager->TILBzoffset()-dbManager->TILEzshift())*Gaudi::Units::cm));
     GeoNameTag* ntITCMotherNeg = new GeoNameTag("TileITCNeg");
     pvTileEnvelopeNegEndcap->add(tfITCMotherNeg);
     pvTileEnvelopeNegEndcap->add(ntITCMotherNeg);
@@ -682,19 +682,19 @@ void TileDetectorFactory::create(GeoPhysVol *world)
 
   if(dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG3))
   {
-    GeoTube* gapMother = new GeoTube(dbManager->TILBrminimal()*GeoModelKernelUnits::cm,
-				     dbManager->TILBrmaximal()*GeoModelKernelUnits::cm/cos(deltaPhi/2.*GeoModelKernelUnits::deg),
-				     dbManager->TILBdzmodul()/2.*GeoModelKernelUnits::cm);
+    GeoTube* gapMother = new GeoTube(dbManager->TILBrminimal()*Gaudi::Units::cm,
+				     dbManager->TILBrmaximal()*Gaudi::Units::cm/cos(deltaPhi/2.*Gaudi::Units::deg),
+				     dbManager->TILBdzmodul()/2.*Gaudi::Units::cm);
 
     GeoLogVol* lvGapMother = new GeoLogVol("Gap",gapMother,matAir);
     GeoFullPhysVol* pvGapMotherPos = new GeoFullPhysVol(lvGapMother);
     GeoFullPhysVol* pvGapMotherNeg = new GeoFullPhysVol(lvGapMother);
 
     // Trd - module mother
-    thicknessWedgeMother = dbManager->TILBdzmodul() * GeoModelKernelUnits::cm;
-    heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * GeoModelKernelUnits::cm;
-    dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-    dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+    thicknessWedgeMother = dbManager->TILBdzmodul() * Gaudi::Units::cm;
+    heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * Gaudi::Units::cm;
+    dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
+    dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
 
     dzGlue = 0.;
 
@@ -716,8 +716,8 @@ void TileDetectorFactory::create(GeoPhysVol *world)
     				deltaPhi);
 
     // --- Position N modules inside mother (positive/negative) -----
-    TRANSFUNCTION xfGapModuleMotherPos = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILBrmaximal()+dbManager->TILBrminimal())/2.*GeoModelKernelUnits::cm)*GeoTrf::RotateX3D(180*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-    TRANSFUNCTION xfGapModuleMotherNeg = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILBrmaximal()+dbManager->TILBrminimal())/2.*GeoModelKernelUnits::cm)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+    TRANSFUNCTION xfGapModuleMotherPos = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILBrmaximal()+dbManager->TILBrminimal())/2.*Gaudi::Units::cm)*GeoTrf::RotateX3D(180*Gaudi::Units::deg)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+    TRANSFUNCTION xfGapModuleMotherNeg = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILBrmaximal()+dbManager->TILBrminimal())/2.*Gaudi::Units::cm)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
     
     GeoSerialTransformer* stGapModuleMotherPos = new GeoSerialTransformer(pvGapModuleMother,
 									  &xfGapModuleMotherPos,
@@ -732,14 +732,14 @@ void TileDetectorFactory::create(GeoPhysVol *world)
     pvGapMotherNeg->add(stGapModuleMotherNeg);
 
     
-    GeoTransform* tfGapMotherPos = new GeoTransform(GeoTrf::TranslateZ3D((dbManager->TILBzoffset()+dbManager->TILEzshift())*GeoModelKernelUnits::cm));
+    GeoTransform* tfGapMotherPos = new GeoTransform(GeoTrf::TranslateZ3D((dbManager->TILBzoffset()+dbManager->TILEzshift())*Gaudi::Units::cm));
     GeoNameTag* ntGapMotherPos = new GeoNameTag("TileGapPos");
     pvTileEnvelopePosEndcap->add(tfGapMotherPos);
     pvTileEnvelopePosEndcap->add(ntGapMotherPos);
     pvTileEnvelopePosEndcap->add(pvGapMotherPos);
     
     
-    GeoTransform* tfGapMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D((-dbManager->TILBzoffset()-dbManager->TILEzshift())*GeoModelKernelUnits::cm));
+    GeoTransform* tfGapMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D((-dbManager->TILBzoffset()-dbManager->TILEzshift())*Gaudi::Units::cm));
     GeoNameTag* ntGapMotherNeg = new GeoNameTag("TileGapNeg");
     pvTileEnvelopeNegEndcap->add(tfGapMotherNeg);
     pvTileEnvelopeNegEndcap->add(ntGapMotherNeg);
@@ -750,10 +750,10 @@ void TileDetectorFactory::create(GeoPhysVol *world)
   {
     dbManager->SetCurrentEnvByType(4);
     nModulesNeg=dbManager->GetEnvNModules();
-    zShiftNeg=dbManager->GetEnvZShift()*GeoModelKernelUnits::cm;
+    zShiftNeg=dbManager->GetEnvZShift()*Gaudi::Units::cm;
     dbManager->SetCurrentEnvByType(5);
     nModulesPos=dbManager->GetEnvNModules();
-    zShiftPos=dbManager->GetEnvZShift()*GeoModelKernelUnits::cm;
+    zShiftPos=dbManager->GetEnvZShift()*Gaudi::Units::cm;
 
     sectionBuilder->computeCellDim(m_detectorManager,
                                    TILE_REGION_GAP,
@@ -763,7 +763,7 @@ void TileDetectorFactory::create(GeoPhysVol *world)
   } else
   {
     nModulesPos=nModulesNeg=dbManager->TILEnmodul();
-    zShiftPos=zShiftNeg=dbManager->TILEzshift()*GeoModelKernelUnits::cm;
+    zShiftPos=zShiftNeg=dbManager->TILEzshift()*Gaudi::Units::cm;
     // do not compute cell volumes for old setups (before DC3), 
     // because cell-size table might be missing in DB
   }
@@ -807,19 +807,19 @@ void TileDetectorFactory::create(GeoPhysVol *world)
   
   if(dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG4))
   {
-    GeoTube* crackMother = new GeoTube(dbManager->TILBrminimal()*GeoModelKernelUnits::cm,
-				       dbManager->TILBrmaximal()*GeoModelKernelUnits::cm/cos(deltaPhi/2.*GeoModelKernelUnits::deg),
-				       dbManager->TILBdzmodul()/2.*GeoModelKernelUnits::cm);
+    GeoTube* crackMother = new GeoTube(dbManager->TILBrminimal()*Gaudi::Units::cm,
+				       dbManager->TILBrmaximal()*Gaudi::Units::cm/cos(deltaPhi/2.*Gaudi::Units::deg),
+				       dbManager->TILBdzmodul()/2.*Gaudi::Units::cm);
     
     GeoLogVol* lvCrackMother = new GeoLogVol("Crack",crackMother,matAir);
     GeoFullPhysVol* pvCrackMotherPos = new GeoFullPhysVol(lvCrackMother);
     GeoFullPhysVol* pvCrackMotherNeg = new GeoFullPhysVol(lvCrackMother);
     
     // Trd - module mother
-    thicknessWedgeMother = dbManager->TILBdzmodul() * GeoModelKernelUnits::cm;
-    heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * GeoModelKernelUnits::cm;
-    dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-    dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+    thicknessWedgeMother = dbManager->TILBdzmodul() * Gaudi::Units::cm;
+    heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * Gaudi::Units::cm;
+    dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
+    dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
     
     dzGlue = 0.;
     
@@ -841,8 +841,8 @@ void TileDetectorFactory::create(GeoPhysVol *world)
     				deltaPhi);
     
     // --- Position N modules inside mother (positive/negative) -----
-    TRANSFUNCTION xfCrackModuleMotherPos = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILBrmaximal()+dbManager->TILBrminimal())/2.*GeoModelKernelUnits::cm)*GeoTrf::RotateX3D(180*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-    TRANSFUNCTION xfCrackModuleMotherNeg = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILBrmaximal()+dbManager->TILBrminimal())/2.*GeoModelKernelUnits::cm)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+    TRANSFUNCTION xfCrackModuleMotherPos = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILBrmaximal()+dbManager->TILBrminimal())/2.*Gaudi::Units::cm)*GeoTrf::RotateX3D(180*Gaudi::Units::deg)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+    TRANSFUNCTION xfCrackModuleMotherNeg = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILBrmaximal()+dbManager->TILBrminimal())/2.*Gaudi::Units::cm)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
     
     GeoSerialTransformer* stCrackModuleMotherPos = new GeoSerialTransformer(pvCrackModuleMother,
 									    &xfCrackModuleMotherPos,
@@ -857,14 +857,14 @@ void TileDetectorFactory::create(GeoPhysVol *world)
     pvCrackMotherNeg->add(stCrackModuleMotherNeg);
     
     
-    GeoTransform* tfCrackMotherPos = new GeoTransform(GeoTrf::TranslateZ3D((dbManager->TILBzoffset()+dbManager->TILEzshift())*GeoModelKernelUnits::cm));
+    GeoTransform* tfCrackMotherPos = new GeoTransform(GeoTrf::TranslateZ3D((dbManager->TILBzoffset()+dbManager->TILEzshift())*Gaudi::Units::cm));
     GeoNameTag* ntCrackMotherPos = new GeoNameTag("TileCrackPos");
     pvTileEnvelopePosEndcap->add(tfCrackMotherPos);
     pvTileEnvelopePosEndcap->add(ntCrackMotherPos);
     pvTileEnvelopePosEndcap->add(pvCrackMotherPos);
     
     
-    GeoTransform* tfCrackMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D((-dbManager->TILBzoffset()-dbManager->TILEzshift())*GeoModelKernelUnits::cm));
+    GeoTransform* tfCrackMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D((-dbManager->TILBzoffset()-dbManager->TILEzshift())*Gaudi::Units::cm));
     GeoNameTag* ntCrackMotherNeg = new GeoNameTag("TileCrackNeg");
     pvTileEnvelopeNegEndcap->add(tfCrackMotherNeg);
     pvTileEnvelopeNegEndcap->add(ntCrackMotherNeg);
@@ -882,9 +882,9 @@ void TileDetectorFactory::create(GeoPhysVol *world)
 
     zEndSection = dbManager->TILBzoffset() + dbManager->TILBdzmodul()/2.;
 
-    GeoTube* fingerMother = new GeoTube(dbManager->TILBrmax()*GeoModelKernelUnits::cm,
-					dbManager->TILErmam()*GeoModelKernelUnits::cm,
-					dbManager->TIFGdz()/2.*GeoModelKernelUnits::cm);
+    GeoTube* fingerMother = new GeoTube(dbManager->TILBrmax()*Gaudi::Units::cm,
+					dbManager->TILErmam()*Gaudi::Units::cm,
+					dbManager->TIFGdz()/2.*Gaudi::Units::cm);
     
     GeoLogVol* lvFingerMother = new GeoLogVol("Finger",fingerMother,matAir);
     GeoFullPhysVol* pvFingerMotherPos = new GeoFullPhysVol(lvFingerMother);
@@ -892,14 +892,14 @@ void TileDetectorFactory::create(GeoPhysVol *world)
     
     // Trd - one finger mother
     //    if(dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG1))
-    //      thicknessWedgeMother = (dbManager->TILBzoffset() - dbManager->TILBdzmodul()/2. + dbManager->TILEzshift() - zEndSection) * GeoModelKernelUnits::cm;
+    //      thicknessWedgeMother = (dbManager->TILBzoffset() - dbManager->TILBdzmodul()/2. + dbManager->TILEzshift() - zEndSection) * Gaudi::Units::cm;
     //    else
-    thicknessWedgeMother = dbManager->TIFGdz()*GeoModelKernelUnits::cm;
+    thicknessWedgeMother = dbManager->TIFGdz()*Gaudi::Units::cm;
 
     dbManager->SetCurrentSection(TileDddbManager::TILE_BARREL);
-    heightWedgeMother = (dbManager->TILErmax() - dbManager->TILBrmax()) * GeoModelKernelUnits::cm;
-    dy1WedgeMother = dbManager->TILBrmax() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-    dy2WedgeMother = dbManager->TILErmax() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+    heightWedgeMother = (dbManager->TILErmax() - dbManager->TILBrmax()) * Gaudi::Units::cm;
+    dy1WedgeMother = dbManager->TILBrmax() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
+    dy2WedgeMother = dbManager->TILErmax() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
     
     GeoTrd* fingerModuleMother = new GeoTrd(thicknessWedgeMother/2.,
 					    thicknessWedgeMother/2.,
@@ -917,11 +917,11 @@ void TileDetectorFactory::create(GeoPhysVol *world)
 			       deltaPhi,
 			       m_testbeamGeometry,
 			       ModuleNcp,
-			       thicknessWedgeMother*(1./GeoModelKernelUnits::cm));
+			       thicknessWedgeMother*(1./Gaudi::Units::cm));
     
     // --- Position N modules inside mother (positive/negative) -----
-    TRANSFUNCTION xfFingerModuleMotherPos = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILErmax()+dbManager->TILBrmax())/2.*GeoModelKernelUnits::cm)*GeoTrf::RotateX3D(180*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-    TRANSFUNCTION xfFingerModuleMotherNeg = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILErmax()+dbManager->TILBrmax())/2.*GeoModelKernelUnits::cm)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+    TRANSFUNCTION xfFingerModuleMotherPos = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILErmax()+dbManager->TILBrmax())/2.*Gaudi::Units::cm)*GeoTrf::RotateX3D(180*Gaudi::Units::deg)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+    TRANSFUNCTION xfFingerModuleMotherNeg = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILErmax()+dbManager->TILBrmax())/2.*Gaudi::Units::cm)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
 
     GeoSerialTransformer* stFingerModuleMotherPos = new GeoSerialTransformer(pvFingerModuleMother,
 									     &xfFingerModuleMotherPos,
@@ -937,14 +937,14 @@ void TileDetectorFactory::create(GeoPhysVol *world)
     pvFingerMotherNeg->add(stFingerModuleMotherNeg);
     
     
-    GeoTransform* tfFingerMotherPos = new GeoTransform(GeoTrf::TranslateZ3D((zEndSection+dbManager->TIFGdz()/2.)*GeoModelKernelUnits::cm));
+    GeoTransform* tfFingerMotherPos = new GeoTransform(GeoTrf::TranslateZ3D((zEndSection+dbManager->TIFGdz()/2.)*Gaudi::Units::cm));
     GeoNameTag* ntFingerMotherPos = new GeoNameTag("TileFingerPos");
     pvTileEnvelopeBarrel->add(tfFingerMotherPos);
     pvTileEnvelopeBarrel->add(ntFingerMotherPos);
     pvTileEnvelopeBarrel->add(pvFingerMotherPos);
 
     
-    GeoTransform* tfFingerMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D((-zEndSection-dbManager->TIFGdz()/2.)*GeoModelKernelUnits::cm));
+    GeoTransform* tfFingerMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D((-zEndSection-dbManager->TIFGdz()/2.)*Gaudi::Units::cm));
     GeoNameTag* ntFingerMotherNeg = new GeoNameTag("TileFingerNeg");
     pvTileEnvelopeBarrel->add(tfFingerMotherNeg);
     pvTileEnvelopeBarrel->add(ntFingerMotherNeg);
@@ -960,19 +960,19 @@ void TileDetectorFactory::create(GeoPhysVol *world)
 
     zEndSection = dbManager->TILBzoffset() + dbManager->TILBdzmodul()/2. + dbManager->TILEzshift();
 
-    GeoTube* efingerMother = new GeoTube(dbManager->TILBrmax()*GeoModelKernelUnits::cm,
-					 dbManager->TILErmam()*GeoModelKernelUnits::cm,
-					 dbManager->TIFGdz()/2.*GeoModelKernelUnits::cm);
+    GeoTube* efingerMother = new GeoTube(dbManager->TILBrmax()*Gaudi::Units::cm,
+					 dbManager->TILErmam()*Gaudi::Units::cm,
+					 dbManager->TIFGdz()/2.*Gaudi::Units::cm);
 
     GeoLogVol* lvEFingerMother = new GeoLogVol("EFinger",efingerMother,matAir);
     GeoFullPhysVol* pvEFingerMotherPos = new GeoFullPhysVol(lvEFingerMother);
     GeoFullPhysVol* pvEFingerMotherNeg = new GeoFullPhysVol(lvEFingerMother);
     
     // Trd - one finger mother
-    thicknessWedgeMother = dbManager->TIFGdz() * GeoModelKernelUnits::cm;
-    heightWedgeMother = (dbManager->TILErmax() - dbManager->TILBrmax()) * GeoModelKernelUnits::cm;
-    dy1WedgeMother = dbManager->TILBrmax() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-    dy2WedgeMother = dbManager->TILErmax() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+    thicknessWedgeMother = dbManager->TIFGdz() * Gaudi::Units::cm;
+    heightWedgeMother = (dbManager->TILErmax() - dbManager->TILBrmax()) * Gaudi::Units::cm;
+    dy1WedgeMother = dbManager->TILBrmax() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
+    dy2WedgeMother = dbManager->TILErmax() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
     
     GeoTrd* efingerModuleMother = new GeoTrd(thicknessWedgeMother/2.,
 					     thicknessWedgeMother/2.,
@@ -992,8 +992,8 @@ void TileDetectorFactory::create(GeoPhysVol *world)
 			       m_testbeamGeometry);
 
     // --- Position N modules inside mother (positive/negative) -----
-    TRANSFUNCTION xfEFingerModuleMotherPos = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILErmax()+dbManager->TILBrmax())/2.*GeoModelKernelUnits::cm)*GeoTrf::RotateX3D(180*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
-    TRANSFUNCTION xfEFingerModuleMotherNeg = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILErmax()+dbManager->TILBrmax())/2.*GeoModelKernelUnits::cm)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+    TRANSFUNCTION xfEFingerModuleMotherPos = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILErmax()+dbManager->TILBrmax())/2.*Gaudi::Units::cm)*GeoTrf::RotateX3D(180*Gaudi::Units::deg)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
+    TRANSFUNCTION xfEFingerModuleMotherNeg = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILErmax()+dbManager->TILBrmax())/2.*Gaudi::Units::cm)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
     
     GeoSerialTransformer* stEFingerModuleMotherPos = new GeoSerialTransformer(pvEFingerModuleMother,
 									      &xfEFingerModuleMotherPos,
@@ -1008,14 +1008,14 @@ void TileDetectorFactory::create(GeoPhysVol *world)
     pvEFingerMotherNeg->add(stEFingerModuleMotherNeg);
     
     
-    GeoTransform* tfEFingerMotherPos = new GeoTransform(GeoTrf::TranslateZ3D((zEndSection+dbManager->TIFGdz()/2.)*GeoModelKernelUnits::cm));
+    GeoTransform* tfEFingerMotherPos = new GeoTransform(GeoTrf::TranslateZ3D((zEndSection+dbManager->TIFGdz()/2.)*Gaudi::Units::cm));
     GeoNameTag* ntEFingerMotherPos = new GeoNameTag("TileEFingerPos");
     pvTileEnvelopePosEndcap->add(tfEFingerMotherPos);
     pvTileEnvelopePosEndcap->add(ntEFingerMotherPos);
     pvTileEnvelopePosEndcap->add(pvEFingerMotherPos);
 
     
-    GeoTransform* tfEFingerMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D((-zEndSection-dbManager->TIFGdz()/2.)*GeoModelKernelUnits::cm));
+    GeoTransform* tfEFingerMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D((-zEndSection-dbManager->TIFGdz()/2.)*Gaudi::Units::cm));
     GeoNameTag* ntEFingerMotherNeg = new GeoNameTag("TileEFingerNeg");
     pvTileEnvelopeNegEndcap->add(tfEFingerMotherNeg);
     pvTileEnvelopeNegEndcap->add(ntEFingerMotherNeg);
@@ -1036,7 +1036,7 @@ void TileDetectorFactory::create(GeoPhysVol *world)
       GeoTrf::Transform3D mz = GeoTrf::RotateZ3D(dbManager->GetEnvDPhi());
       GeoTrf::Transform3D my = GeoTrf::RotateY3D(dbManager->GetEnvDTheta());
       GeoTrf::Transform3D mx = GeoTrf::RotateZ3D(dbManager->GetEnvDPsi());
-      GeoTrf::Transform3D vpos = GeoTrf::Translate3D(dbManager->GetEnvDX()*GeoModelKernelUnits::cm,dbManager->GetEnvDY()*GeoModelKernelUnits::cm,dbManager->GetEnvDZ()*GeoModelKernelUnits::cm);
+      GeoTrf::Transform3D vpos = GeoTrf::Translate3D(dbManager->GetEnvDX()*Gaudi::Units::cm,dbManager->GetEnvDY()*Gaudi::Units::cm,dbManager->GetEnvDZ()*Gaudi::Units::cm);
       GeoTransform* barrelTT = new GeoTransform(GeoTrf::Transform3D(vpos*(mx*(my*(mz)))));
       world->add(barrelTT);
     }
@@ -1056,7 +1056,7 @@ void TileDetectorFactory::create(GeoPhysVol *world)
       GeoTrf::Transform3D mz = GeoTrf::RotateZ3D(dbManager->GetEnvDPhi());
       GeoTrf::Transform3D my = GeoTrf::RotateY3D(dbManager->GetEnvDTheta());
       GeoTrf::Transform3D mx = GeoTrf::RotateZ3D(dbManager->GetEnvDPsi());
-      GeoTrf::Transform3D vpos = GeoTrf::Translate3D(dbManager->GetEnvDX()*GeoModelKernelUnits::cm,dbManager->GetEnvDY()*GeoModelKernelUnits::cm,dbManager->GetEnvDZ()*GeoModelKernelUnits::cm);
+      GeoTrf::Transform3D vpos = GeoTrf::Translate3D(dbManager->GetEnvDX()*Gaudi::Units::cm,dbManager->GetEnvDY()*Gaudi::Units::cm,dbManager->GetEnvDZ()*Gaudi::Units::cm);
       GeoTransform* posEcTT = new GeoTransform(GeoTrf::Transform3D(vpos*(mx*(my*(mz)))));
       world->add(posEcTT);
     }
@@ -1076,7 +1076,7 @@ void TileDetectorFactory::create(GeoPhysVol *world)
       GeoTrf::Transform3D mz = GeoTrf::RotateZ3D(dbManager->GetEnvDPhi());
       GeoTrf::Transform3D my = GeoTrf::RotateY3D(dbManager->GetEnvDTheta());
       GeoTrf::Transform3D mx = GeoTrf::RotateZ3D(dbManager->GetEnvDPsi());
-      GeoTrf::Transform3D vpos = GeoTrf::Translate3D(dbManager->GetEnvDX()*GeoModelKernelUnits::cm,dbManager->GetEnvDY()*GeoModelKernelUnits::cm,dbManager->GetEnvDZ()*GeoModelKernelUnits::cm);
+      GeoTrf::Transform3D vpos = GeoTrf::Translate3D(dbManager->GetEnvDX()*Gaudi::Units::cm,dbManager->GetEnvDY()*Gaudi::Units::cm,dbManager->GetEnvDZ()*Gaudi::Units::cm);
       GeoTransform* negEcTT = new GeoTransform(GeoTrf::Transform3D(vpos*(mx*(my*(mz)))));
       world->add(negEcTT);
     }
diff --git a/TileCalorimeter/TileGeoModel/src/TileGeoSectionBuilder.cxx b/TileCalorimeter/TileGeoModel/src/TileGeoSectionBuilder.cxx
index d88faeba510c..623f10df95c3 100755
--- a/TileCalorimeter/TileGeoModel/src/TileGeoSectionBuilder.cxx
+++ b/TileCalorimeter/TileGeoModel/src/TileGeoSectionBuilder.cxx
@@ -35,6 +35,7 @@
 #include "GeoModelKernel/GeoSerialTransformer.h"
 
 #include "GaudiKernel/MsgStream.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include "boost/io/ios_state.hpp"
 #include <stdexcept>
@@ -86,7 +87,7 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
 {
   (*m_log) << MSG::VERBOSE <<" TileGeoSectionBuilder::fillSection ModuleNcp= "<<ModuleNcp<< endmsg;
 
-  double tan_delta_phi_2 = tan(delta_phi/2*GeoModelKernelUnits::deg);
+  double tan_delta_phi_2 = tan(delta_phi/2*Gaudi::Units::deg);
   
   // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
   // Obtain required materials - Air and Iron
@@ -125,7 +126,7 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
       volname = "CutB"; m_dbManager->SetCurrentCuts(volname); 
       PosXcut = m_dbManager->CutsXpos(); 
       PosYcut = m_dbManager->CutsYpos();
-      Rmore   = 0.8*GeoModelKernelUnits::cm;
+      Rmore   = 0.8*Gaudi::Units::cm;
 
       // Inert materials, CutB1
       dX1 = m_dbManager->CutsDX1()+Rmore; 
@@ -167,42 +168,42 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
       const GeoShapeUnion& CutA1 = Cut1up->add(*Cut1down<<yPosA);
       CutA = &CutA1;
       
-      Radius = (m_dbManager->TILBrmaximal() + m_dbManager->TILBrminimal())/2 * GeoModelKernelUnits::cm; 
+      Radius = (m_dbManager->TILBrmaximal() + m_dbManager->TILBrminimal())/2 * Gaudi::Units::cm; 
 
-      if (ModuleNcp==35||ModuleNcp==62) { YcorA = 5*GeoModelKernelUnits::cm;   YcorB = 5*GeoModelKernelUnits::cm; lenPla =0.8*GeoModelKernelUnits::cm, Blia = 17.4*GeoModelKernelUnits::cm;}  
-      if (ModuleNcp==36||ModuleNcp==61) { YcorA = 6.5*GeoModelKernelUnits::cm; YcorB = 6*GeoModelKernelUnits::cm; lenPla =1.7*GeoModelKernelUnits::cm; Blia = 16.9*GeoModelKernelUnits::cm;} 
-      if (ModuleNcp==37||ModuleNcp==60) { YcorA = 8*GeoModelKernelUnits::cm;   YcorB = 9*GeoModelKernelUnits::cm; lenPla =2.8*GeoModelKernelUnits::cm; Blia = 16.4*GeoModelKernelUnits::cm;} 
+      if (ModuleNcp==35||ModuleNcp==62) { YcorA = 5*Gaudi::Units::cm;   YcorB = 5*Gaudi::Units::cm; lenPla =0.8*Gaudi::Units::cm, Blia = 17.4*Gaudi::Units::cm;}  
+      if (ModuleNcp==36||ModuleNcp==61) { YcorA = 6.5*Gaudi::Units::cm; YcorB = 6*Gaudi::Units::cm; lenPla =1.7*Gaudi::Units::cm; Blia = 16.9*Gaudi::Units::cm;} 
+      if (ModuleNcp==37||ModuleNcp==60) { YcorA = 8*Gaudi::Units::cm;   YcorB = 9*Gaudi::Units::cm; lenPla =2.8*Gaudi::Units::cm; Blia = 16.4*Gaudi::Units::cm;} 
 
       TransCut2 = GeoTrf::TranslateZ3D(-Radius) 
-	* GeoTrf::RotateX3D((90-phi)*GeoModelKernelUnits::deg) * GeoTrf::RotateY3D(180*GeoModelKernelUnits::deg) 
-	* GeoTrf::Translate3D(0.1*GeoModelKernelUnits::cm,SideFl*17.5*GeoModelKernelUnits::cm,-PosY+YcorA); 
+	* GeoTrf::RotateX3D((90-phi)*Gaudi::Units::deg) * GeoTrf::RotateY3D(180*Gaudi::Units::deg) 
+	* GeoTrf::Translate3D(0.1*Gaudi::Units::cm,SideFl*17.5*Gaudi::Units::cm,-PosY+YcorA); 
 
       // For modules on the side C apply extra transformation
       // which implements ReflectZ(0)
       if(neg) {
 	GeoTrf::Vector3D ptTmp = TransCut2*GeoTrf::Vector3D(0.,0.,0.);
-	TransCut2 = GeoTrf::TranslateX3D(2*ptTmp.x())*GeoTrf::RotateZ3D(180*GeoModelKernelUnits::deg)*TransCut2;
+	TransCut2 = GeoTrf::TranslateX3D(2*ptTmp.x())*GeoTrf::RotateZ3D(180*Gaudi::Units::deg)*TransCut2;
       }
 
       if (ModuleNcp>=60 && ModuleNcp<=62) {   
 	TransCutL = GeoTrf::TranslateZ3D(-Radius) 
-	  * GeoTrf::RotateY3D(180*GeoModelKernelUnits::deg) * GeoTrf::RotateX3D(phi*GeoModelKernelUnits::deg) 
-	  * GeoTrf::Translate3D(-1.4*GeoModelKernelUnits::cm,PosYcut+YcorB,-PosXcut-Blia); 
+	  * GeoTrf::RotateY3D(180*Gaudi::Units::deg) * GeoTrf::RotateX3D(phi*Gaudi::Units::deg) 
+	  * GeoTrf::Translate3D(-1.4*Gaudi::Units::cm,PosYcut+YcorB,-PosXcut-Blia); 
 
 	// ReflectZ for C side
 	if(neg) {
 	  GeoTrf::Vector3D ptTmp = TransCutL*GeoTrf::Vector3D(0.,0.,0.);
-	  TransCutL = GeoTrf::TranslateX3D(2*ptTmp.x())*GeoTrf::RotateZ3D(180*GeoModelKernelUnits::deg)*TransCutL;
+	  TransCutL = GeoTrf::TranslateX3D(2*ptTmp.x())*GeoTrf::RotateZ3D(180*Gaudi::Units::deg)*TransCutL;
 	}
       } else if (ModuleNcp>=35 && ModuleNcp<=37)  { 
 	TransCutR = GeoTrf::TranslateZ3D(-Radius) 
-	  * GeoTrf::RotateY3D(180*GeoModelKernelUnits::deg) * GeoTrf::RotateX3D(phi*GeoModelKernelUnits::deg) 
-	  * GeoTrf::Translate3D(-1.4*GeoModelKernelUnits::cm,PosYcut+YcorB,PosXcut+Blia)  
-	  * GeoTrf::RotateY3D(180*GeoModelKernelUnits::deg); 
+	  * GeoTrf::RotateY3D(180*Gaudi::Units::deg) * GeoTrf::RotateX3D(phi*Gaudi::Units::deg) 
+	  * GeoTrf::Translate3D(-1.4*Gaudi::Units::cm,PosYcut+YcorB,PosXcut+Blia)  
+	  * GeoTrf::RotateY3D(180*Gaudi::Units::deg); 
 	// ReflectZ for C side
 	if(neg) {
 	  GeoTrf::Vector3D ptTmp = TransCutR*GeoTrf::Vector3D(0.,0.,0.);
-	  TransCutR = GeoTrf::TranslateX3D(2*ptTmp.x())*GeoTrf::RotateZ3D(180*GeoModelKernelUnits::deg)*TransCutR;
+	  TransCutR = GeoTrf::TranslateX3D(2*ptTmp.x())*GeoTrf::RotateZ3D(180*Gaudi::Units::deg)*TransCutR;
 	}
       }
       
@@ -219,21 +220,21 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
   if (m_dbManager->TILBngirder() > 0)
   {
     // Mother volume for girder
-    thicknessGirderMother = (m_dbManager->TILBdzmodul() - m_dbManager->TILBdzend() - m_dbManager->TILBdzend2())*GeoModelKernelUnits::cm;
+    thicknessGirderMother = (m_dbManager->TILBdzmodul() - m_dbManager->TILBdzend() - m_dbManager->TILBdzend2())*Gaudi::Units::cm;
     // special module with special girder
     if ((Id4 == 7) && (sec_number == 3))
-      thicknessGirderMother = (m_dbManager->TILBdzgir() - m_dbManager->TILBdzend() - m_dbManager->TILBdzend2())*GeoModelKernelUnits::cm;
+      thicknessGirderMother = (m_dbManager->TILBdzgir() - m_dbManager->TILBdzend() - m_dbManager->TILBdzend2())*Gaudi::Units::cm;
 
-    double heightGirderMother = (tile_rmax - m_dbManager->TILBrmax())*GeoModelKernelUnits::cm;
-    double dy1GirderMother = m_dbManager->TILBrmax() * tan_delta_phi_2 * GeoModelKernelUnits::cm;
-    double dy2GirderMother = tile_rmax * tan_delta_phi_2 * GeoModelKernelUnits::cm;
+    double heightGirderMother = (tile_rmax - m_dbManager->TILBrmax())*Gaudi::Units::cm;
+    double dy1GirderMother = m_dbManager->TILBrmax() * tan_delta_phi_2 * Gaudi::Units::cm;
+    double dy2GirderMother = tile_rmax * tan_delta_phi_2 * Gaudi::Units::cm;
     // ps test the TILB DZGIR
     //     std::cout <<"\t\t PS Girder Module = "<<ModuleNcp<< std::endl;
     //     std::cout <<"\t\t PS thicknessGirderMother = "<<thicknessGirderMother<< std::endl;
     //ps account for special ITC modules 14,15,18,19
     if  ((Id4 == 7) && (sec_number == 3))
       {
-	specialModuleZShift = 0.5*GeoModelKernelUnits::cm*(m_dbManager->TILBdzgir() - m_dbManager->TILBdzmodul());
+	specialModuleZShift = 0.5*Gaudi::Units::cm*(m_dbManager->TILBdzgir() - m_dbManager->TILBdzmodul());
       }
     //
     checking("GirderMother", false, 3, 
@@ -252,16 +253,16 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
                tile_rmax,
                m_dbManager->TILBrmax(),
                tan_delta_phi_2,
-               thicknessGirderMother*(1./GeoModelKernelUnits::cm));
+               thicknessGirderMother*(1./Gaudi::Units::cm));
 
     GeoTransform* tfGirderMother = 0;
 
     if(sec_number==3)
-      tfGirderMother = new GeoTransform(GeoTrf::Translate3D((m_dbManager->TILBdzend()-m_dbManager->TILBdzend2())*GeoModelKernelUnits::cm/2, 0.,
-						       (m_dbManager->TILBrmax()-m_dbManager->TILBrmin())*GeoModelKernelUnits::cm/2));
+      tfGirderMother = new GeoTransform(GeoTrf::Translate3D((m_dbManager->TILBdzend()-m_dbManager->TILBdzend2())*Gaudi::Units::cm/2, 0.,
+						       (m_dbManager->TILBrmax()-m_dbManager->TILBrmin())*Gaudi::Units::cm/2));
     else
-      tfGirderMother = new GeoTransform(GeoTrf::Translate3D((m_dbManager->TILBdzend()-m_dbManager->TILBdzend2())*GeoModelKernelUnits::cm/2, 0.,
-						       (m_dbManager->TILBrmax()-rminb)*GeoModelKernelUnits::cm/2));
+      tfGirderMother = new GeoTransform(GeoTrf::Translate3D((m_dbManager->TILBdzend()-m_dbManager->TILBdzend2())*Gaudi::Units::cm/2, 0.,
+						       (m_dbManager->TILBrmax()-rminb)*Gaudi::Units::cm/2));
 
     mother->add(tfGirderMother);
     mother->add(pvGirderMother); 
@@ -281,13 +282,13 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
     if(sec_number==3)
     {
       //ITC coverplate
-      thicknessFrontPlate = (m_dbManager->TILBdzmodul() - zlen_itc2)*GeoModelKernelUnits::cm;
+      thicknessFrontPlate = (m_dbManager->TILBdzmodul() - zlen_itc2)*Gaudi::Units::cm;
 
       if (thicknessFrontPlate > rless)
        {
-         heightFrontPlate = m_dbManager->TILBdrfront()*GeoModelKernelUnits::cm;
-         dy1FrontPlate = (rminb*tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*GeoModelKernelUnits::cm;
-         dy2FrontPlate = (m_dbManager->TILBrmin()*tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*GeoModelKernelUnits::cm;
+         heightFrontPlate = m_dbManager->TILBdrfront()*Gaudi::Units::cm;
+         dy1FrontPlate = (rminb*tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*Gaudi::Units::cm;
+         dy2FrontPlate = (m_dbManager->TILBrmin()*tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*Gaudi::Units::cm;
 
 	 if(m_log->level()<=MSG::DEBUG)
 	   (*m_log) << MSG::DEBUG <<"   FrontPlateSh dX1,dX2= "<<thicknessFrontPlate/2<<", "<<thicknessFrontPlate/2
@@ -303,8 +304,8 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
          GeoLogVol* lvFrontPlateSh = new GeoLogVol("FrontPlateSh",frontPlateSh,matIron);
          GeoPhysVol* pvFrontPlateSh = new GeoPhysVol(lvFrontPlateSh);
          GeoTransform* tfFrontPlateSh = new GeoTransform(GeoTrf::Translate3D(
-                    -m_dbManager->TILBdzmodul()/2*GeoModelKernelUnits::cm+thicknessFrontPlate/2, 0., 
-                    (rminb - tile_rmax)/2*GeoModelKernelUnits::cm)); 
+                    -m_dbManager->TILBdzmodul()/2*Gaudi::Units::cm+thicknessFrontPlate/2, 0., 
+                    (rminb - tile_rmax)/2*Gaudi::Units::cm)); 
 
          mother->add(tfFrontPlateSh);
          mother->add(pvFrontPlateSh);
@@ -327,10 +328,10 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
       volname = "CutB"; m_dbManager->SetCurrentCuts(volname); 
       dXCutB = m_dbManager->CutsDX1(); 
       
-      thicknessFrontPlate = (m_dbManager->TILBdzmodul() - m_dbManager->TILBdzend1() - m_dbManager->TILBdzend2())*GeoModelKernelUnits::cm;
-      heightFrontPlate = m_dbManager->TILBdrfront()*GeoModelKernelUnits::cm;
-      dy1FrontPlate = (rminb*tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*GeoModelKernelUnits::cm;
-      dy2FrontPlate = (m_dbManager->TILBrmin()*tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*GeoModelKernelUnits::cm;
+      thicknessFrontPlate = (m_dbManager->TILBdzmodul() - m_dbManager->TILBdzend1() - m_dbManager->TILBdzend2())*Gaudi::Units::cm;
+      heightFrontPlate = m_dbManager->TILBdrfront()*Gaudi::Units::cm;
+      dy1FrontPlate = (rminb*tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*Gaudi::Units::cm;
+      dy2FrontPlate = (m_dbManager->TILBrmin()*tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*Gaudi::Units::cm;
 
       GeoTrd* frontPlate = new GeoTrd(thicknessFrontPlate/2 -(dXCutA+dXCutB),
 				      thicknessFrontPlate/2 -(dXCutA+dXCutB),
@@ -340,7 +341,7 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
 
       // Cuting of Plate
       /*
-      GeoTrf::Transform3D  TCu2 = GeoTrf::RotateX3D((90-phi)*GeoModelKernelUnits::deg) * GeoTrf::RotateY3D(180*GeoModelKernelUnits::deg)
+      GeoTrf::Transform3D  TCu2 = GeoTrf::RotateX3D((90-phi)*Gaudi::Units::deg) * GeoTrf::RotateY3D(180*Gaudi::Units::deg)
                            * GeoTrf::Translate3D(thicknessFrontPlate/2-dXCutA,0,0); 
       GeoTransform* TCu = new GeoTransform(TCu2);
 
@@ -351,8 +352,8 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
       GeoLogVol* lvFrontPlate = new GeoLogVol("FrontPlate",frontPlate,matIron); 
       GeoPhysVol* pvFrontPlate = new GeoPhysVol(lvFrontPlate); 
       GeoTransform* tfFrontPlate = new GeoTransform(GeoTrf::Translate3D(
-		    (m_dbManager->TILBdzend1() - m_dbManager->TILBdzend2())/2*GeoModelKernelUnits::cm+ dXCutB, 0.,
-                    (m_dbManager->TILBrmin()-m_dbManager->TILBdrfront()/2-(tile_rmax + rminb)/2)*GeoModelKernelUnits::cm));
+		    (m_dbManager->TILBdzend1() - m_dbManager->TILBdzend2())/2*Gaudi::Units::cm+ dXCutB, 0.,
+                    (m_dbManager->TILBrmin()-m_dbManager->TILBdrfront()/2-(tile_rmax + rminb)/2)*Gaudi::Units::cm));
 
       mother->add(tfFrontPlate);
       mother->add(pvFrontPlate);
@@ -364,10 +365,10 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
     else
     {
       //Ordinary frontplate
-      thicknessFrontPlate = (m_dbManager->TILBdzmodul() - m_dbManager->TILBdzend1() - m_dbManager->TILBdzend2())*GeoModelKernelUnits::cm;
-      heightFrontPlate = m_dbManager->TILBdrfront()*GeoModelKernelUnits::cm;
-      dy1FrontPlate = (rminb*tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*GeoModelKernelUnits::cm;
-      dy2FrontPlate = (m_dbManager->TILBrmin()*tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*GeoModelKernelUnits::cm;
+      thicknessFrontPlate = (m_dbManager->TILBdzmodul() - m_dbManager->TILBdzend1() - m_dbManager->TILBdzend2())*Gaudi::Units::cm;
+      heightFrontPlate = m_dbManager->TILBdrfront()*Gaudi::Units::cm;
+      dy1FrontPlate = (rminb*tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*Gaudi::Units::cm;
+      dy2FrontPlate = (m_dbManager->TILBrmin()*tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*Gaudi::Units::cm;
 
       GeoTrd* frontPlate = new GeoTrd(thicknessFrontPlate/2,
 				      thicknessFrontPlate/2,
@@ -378,8 +379,8 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
       GeoLogVol* lvFrontPlate = new GeoLogVol("FrontPlate",frontPlate,matIron); 
       GeoPhysVol* pvFrontPlate = new GeoPhysVol(lvFrontPlate);
       GeoTransform* tfFrontPlate = new GeoTransform(GeoTrf::Translate3D(
-                    (m_dbManager->TILBdzend1() - m_dbManager->TILBdzend2())/2*GeoModelKernelUnits::cm, 0.,
-                    (m_dbManager->TILBrmin()-m_dbManager->TILBdrfront()/2-(tile_rmax + rminb)/2)*GeoModelKernelUnits::cm));
+                    (m_dbManager->TILBdzend1() - m_dbManager->TILBdzend2())/2*Gaudi::Units::cm, 0.,
+                    (m_dbManager->TILBrmin()-m_dbManager->TILBdrfront()/2-(tile_rmax + rminb)/2)*Gaudi::Units::cm));
 
       mother->add(tfFrontPlate);
       mother->add(pvFrontPlate);
@@ -390,8 +391,8 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
   double dy1EndPlate, dy2EndPlate, thicknessEndPlate, heightEndPlate;
 
   //VARIABLES FOR END PLATE HOLE  
-  double heightEPHole = m_dbManager->TILBflangex()*GeoModelKernelUnits::cm;
-  double dyEPHole = m_dbManager->TILBflangex()*GeoModelKernelUnits::cm/2;
+  double heightEPHole = m_dbManager->TILBflangex()*Gaudi::Units::cm;
+  double dyEPHole = m_dbManager->TILBflangex()*Gaudi::Units::cm/2;
 
   // ps . shifts for end plates in cutout regions 
   GeoTrf::Transform3D cutOutTransformation(GeoTrf::Transform3D::Identity()); 
@@ -404,10 +405,10 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
     {
  
       //Short endplate
-      dy1EndPlate = rminb * tan_delta_phi_2 * GeoModelKernelUnits::cm;
-      dy2EndPlate = m_dbManager->TILBrmax() * tan_delta_phi_2 * GeoModelKernelUnits::cm;
-      thicknessEndPlate = m_dbManager->TILBdzend1() * GeoModelKernelUnits::cm;
-      heightEndPlate = (m_dbManager->TILBrmax() - rminb) * GeoModelKernelUnits::cm;
+      dy1EndPlate = rminb * tan_delta_phi_2 * Gaudi::Units::cm;
+      dy2EndPlate = m_dbManager->TILBrmax() * tan_delta_phi_2 * Gaudi::Units::cm;
+      thicknessEndPlate = m_dbManager->TILBdzend1() * Gaudi::Units::cm;
+      heightEndPlate = (m_dbManager->TILBrmax() - rminb) * Gaudi::Units::cm;
       //
       // creating standart endplate. It is the same for 
       // both standard mosules and modules with cuts
@@ -442,12 +443,12 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
 
 	if ( ( ModuleNcp == 37 ) || ( ModuleNcp == 60 ) )
 	  {
-	    rotationAngle = (180.0 - 25.3125 )* GeoModelKernelUnits::deg ;  // ATLLEMS_0003 0004
-	    shiftCutPlate =  38.7 * GeoModelKernelUnits::mm;
+	    rotationAngle = (180.0 - 25.3125 )* Gaudi::Units::deg ;  // ATLLEMS_0003 0004
+	    shiftCutPlate =  38.7 * Gaudi::Units::mm;
 
 	    cutOutTransformation = 
 	      GeoTrf::Translate3D(0,0, -heightEndPlate/2.) *  
-	      GeoTrf::RotateX3D(  90 * GeoModelKernelUnits::deg ) *
+	      GeoTrf::RotateX3D(  90 * Gaudi::Units::deg ) *
 	      GeoTrf::Translate3D(0.,0., -rotationSign * (dy2EndPlate + shiftCutPlate ) ) *
 	      GeoTrf::RotateX3D( rotationSign * rotationAngle ) ;
 	    
@@ -456,12 +457,12 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
 	  }
 	else if ( ( ModuleNcp == 36 ) || ( ModuleNcp == 61 ) )
 	  {
-	    rotationAngle = - ( 116.4832 - 90. )* GeoModelKernelUnits::deg ;  // ATLLEMS_0005 0006
-	    shiftCutPlate =  ( ( m_dbManager->TILBrmax() - rminb )*GeoModelKernelUnits::cm - 1448.4 * GeoModelKernelUnits::mm);
+	    rotationAngle = - ( 116.4832 - 90. )* Gaudi::Units::deg ;  // ATLLEMS_0005 0006
+	    shiftCutPlate =  ( ( m_dbManager->TILBrmax() - rminb )*Gaudi::Units::cm - 1448.4 * Gaudi::Units::mm);
 
 	    cutOutTransformation = 
 	      GeoTrf::Translate3D( 0, 0, -heightEndPlate/2. ) *  
-	      GeoTrf::Translate3D( 0, 0,  - (dy2EndPlate  - shiftCutPlate + 0.5*dy2EndPlate*(1.- std::cos(rotationAngle*GeoModelKernelUnits::rad)))  ) *  
+	      GeoTrf::Translate3D( 0, 0,  - (dy2EndPlate  - shiftCutPlate + 0.5*dy2EndPlate*(1.- std::cos(rotationAngle*Gaudi::Units::rad)))  ) *  
 	      GeoTrf::RotateX3D( rotationSign * rotationAngle ) ;
 
 	    const GeoShape & endPlateShCutted3661 = (endPlateSh->subtract( (*endPlateShCut)<< cutOutTransformation ) ) ;	    
@@ -469,8 +470,8 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
 	  }
 	else if ( ( ModuleNcp == 35 ) || ( ModuleNcp == 62 ) )
 	  {
-	    rotationAngle = - ( 104.0625 - 90.0 )* GeoModelKernelUnits::deg ;  // ATLLEMS_0007 0008
-	    shiftCutPlate =  ( ( m_dbManager->TILBrmax() - rminb )*GeoModelKernelUnits::cm - 1534.6 * GeoModelKernelUnits::mm);
+	    rotationAngle = - ( 104.0625 - 90.0 )* Gaudi::Units::deg ;  // ATLLEMS_0007 0008
+	    shiftCutPlate =  ( ( m_dbManager->TILBrmax() - rminb )*Gaudi::Units::cm - 1534.6 * Gaudi::Units::mm);
 	    
 	    cutOutTransformation = 
 	      GeoTrf::Translate3D( 0, 0, -heightEndPlate/2. ) *  
@@ -503,8 +504,8 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
 
       tfEndPlateSh = new GeoTransform(GeoTrf::Translate3D(
 						     specialModuleZShift + 
-						     (m_dbManager->TILBdzend1() - m_dbManager->TILBdzmodul())*GeoModelKernelUnits::cm/2, 0.,
-						     (m_dbManager->TILBrmax() - tile_rmax)*GeoModelKernelUnits::cm/2));
+						     (m_dbManager->TILBdzend1() - m_dbManager->TILBdzmodul())*Gaudi::Units::cm/2, 0.,
+						     (m_dbManager->TILBrmax() - tile_rmax)*Gaudi::Units::cm/2));
       tfEndPlateSh->ref();
       
       mother->add(tfEndPlateSh);
@@ -517,10 +518,10 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
     else
     {
       //Ordinary endplate
-      dy1EndPlate = rminb * tan_delta_phi_2 * GeoModelKernelUnits::cm;
-      dy2EndPlate = tile_rmax * tan_delta_phi_2 * GeoModelKernelUnits::cm;
-      thicknessEndPlate = m_dbManager->TILBdzend1() * GeoModelKernelUnits::cm;
-      heightEndPlate = (tile_rmax-rminb)*GeoModelKernelUnits::cm; 
+      dy1EndPlate = rminb * tan_delta_phi_2 * Gaudi::Units::cm;
+      dy2EndPlate = tile_rmax * tan_delta_phi_2 * Gaudi::Units::cm;
+      thicknessEndPlate = m_dbManager->TILBdzend1() * Gaudi::Units::cm;
+      heightEndPlate = (tile_rmax-rminb)*Gaudi::Units::cm; 
 
       GeoTrd* endPlate1 = new GeoTrd(thicknessEndPlate/2,
 				     thicknessEndPlate/2,
@@ -543,13 +544,13 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
 	GeoLogVol* lvEPHole1 = new GeoLogVol("EPHole1",epHole1,matAir);
 	GeoPhysVol* pvEPHole1 = new GeoPhysVol(lvEPHole1);
 	GeoTransform* tfEPHole1 = new GeoTransform(GeoTrf::Translate3D(0.,0.,
-                                      (m_dbManager->TILBflangey()-(tile_rmax + rminb)/2)*GeoModelKernelUnits::cm));
+                                      (m_dbManager->TILBflangey()-(tile_rmax + rminb)/2)*Gaudi::Units::cm));
 	pvEndPlate1->add(tfEPHole1);
 	pvEndPlate1->add(pvEPHole1);
       }
 
       GeoTransform* tfEndPlate1 = new GeoTransform(GeoTrf::Translate3D(
-                                      (m_dbManager->TILBdzend1() - m_dbManager->TILBdzmodul())*GeoModelKernelUnits::cm/2, 0., 0.));
+                                      (m_dbManager->TILBdzend1() - m_dbManager->TILBdzmodul())*Gaudi::Units::cm/2, 0., 0.));
       mother->add(tfEndPlate1);
       mother->add(pvEndPlate1);  
 
@@ -567,10 +568,10 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
       double radShift =lenPla;
       double rminbT=rminb + radShift;
 
-      dy1EndPlate = rminb * tan_delta_phi_2 * GeoModelKernelUnits::cm;
-      dy2EndPlate = tile_rmax * tan_delta_phi_2 * GeoModelKernelUnits::cm;
-      thicknessEndPlate = m_dbManager->TILBdzend2() * GeoModelKernelUnits::cm;
-      heightEndPlate = (tile_rmax-rminb) * GeoModelKernelUnits::cm;
+      dy1EndPlate = rminb * tan_delta_phi_2 * Gaudi::Units::cm;
+      dy2EndPlate = tile_rmax * tan_delta_phi_2 * Gaudi::Units::cm;
+      thicknessEndPlate = m_dbManager->TILBdzend2() * Gaudi::Units::cm;
+      heightEndPlate = (tile_rmax-rminb) * Gaudi::Units::cm;
 
 
       GeoLogVol* lvEndPlate2 = 0;
@@ -581,7 +582,7 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
 				     heightEndPlate/2);  
       
       tfEndPlate2 = new GeoTransform(GeoTrf::Translate3D(
-						    (-m_dbManager->TILBdzend2() + m_dbManager->TILBdzmodul())*GeoModelKernelUnits::cm/2, 0., 0.));
+						    (-m_dbManager->TILBdzend2() + m_dbManager->TILBdzmodul())*Gaudi::Units::cm/2, 0., 0.));
       tfEndPlate2->ref();
       
       if (sec_number==2 && ((ModuleNcp>=35 && ModuleNcp<=37)||(ModuleNcp>=60 && ModuleNcp<=62)) ) 
@@ -600,8 +601,8 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
 	  
 	  if ( ( ModuleNcp == 37 ) || ( ModuleNcp == 60 ) )
 	    {
-	      rotationAngle = - ( 115.3125 - 90.0 )* GeoModelKernelUnits::deg ;  // ATLLEMS_0011 0012
-	      shiftCutPlate =  ( ( m_dbManager->TILBrmax() - rminb )*GeoModelKernelUnits::cm - 1364.0 * GeoModelKernelUnits::mm);
+	      rotationAngle = - ( 115.3125 - 90.0 )* Gaudi::Units::deg ;  // ATLLEMS_0011 0012
+	      shiftCutPlate =  ( ( m_dbManager->TILBrmax() - rminb )*Gaudi::Units::cm - 1364.0 * Gaudi::Units::mm);
 	      
 	      cutOutTransformation = 
 		GeoTrf::Translate3D( 0, 0, -heightEndPlate/2. ) *  
@@ -613,8 +614,8 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
 	    }
 	  else if ( ( ModuleNcp == 36 ) || ( ModuleNcp == 61 ) )
 	    {
-	      rotationAngle = - ( 109.6875 - 90.0 )* GeoModelKernelUnits::deg ;  // ATLLEMS_0009 0010
-	      shiftCutPlate =  ( ( m_dbManager->TILBrmax() - rminb )*GeoModelKernelUnits::cm - 1464.0 * GeoModelKernelUnits::mm);
+	      rotationAngle = - ( 109.6875 - 90.0 )* Gaudi::Units::deg ;  // ATLLEMS_0009 0010
+	      shiftCutPlate =  ( ( m_dbManager->TILBrmax() - rminb )*Gaudi::Units::cm - 1464.0 * Gaudi::Units::mm);
 	      
 	      cutOutTransformation = 
 		GeoTrf::Translate3D( 0, 0, -heightEndPlate/2. ) *  
@@ -626,8 +627,8 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
 	    }
 	  else if ( ( ModuleNcp == 35 ) || ( ModuleNcp == 62 ) )
 	    {
-	      rotationAngle = - ( 104.0625 - 90.0 )* GeoModelKernelUnits::deg ;  // ATLLEMS_0009 0010
-	      shiftCutPlate =  ( ( m_dbManager->TILBrmax() - rminb )*GeoModelKernelUnits::cm - ( 1915.0 -385.0 )* GeoModelKernelUnits::mm); // girder is subtracted (no drawing)
+	      rotationAngle = - ( 104.0625 - 90.0 )* Gaudi::Units::deg ;  // ATLLEMS_0009 0010
+	      shiftCutPlate =  ( ( m_dbManager->TILBrmax() - rminb )*Gaudi::Units::cm - ( 1915.0 -385.0 )* Gaudi::Units::mm); // girder is subtracted (no drawing)
 	      
 	      cutOutTransformation = 
 		GeoTrf::Translate3D( 0, 0, -heightEndPlate/2. ) *  
@@ -638,13 +639,13 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
 	      lvEndPlate2 = new GeoLogVol("EndPlate2", &(endPlate2Cutted3562) , matIron);
 	    }
 	  
-	  //         dy1EndPlate = rminbT * tan_delta_phi_2 * GeoModelKernelUnits::cm;
-	  //         dy2EndPlate = tile_rmax * tan_delta_phi_2 * GeoModelKernelUnits::cm;
-	  //         thicknessEndPlate = m_dbManager->TILBdzend2() * GeoModelKernelUnits::cm;
-	  //         heightEndPlate = (tile_rmax - rminbT) * GeoModelKernelUnits::cm;
+	  //         dy1EndPlate = rminbT * tan_delta_phi_2 * Gaudi::Units::cm;
+	  //         dy2EndPlate = tile_rmax * tan_delta_phi_2 * Gaudi::Units::cm;
+	  //         thicknessEndPlate = m_dbManager->TILBdzend2() * Gaudi::Units::cm;
+	  //         heightEndPlate = (tile_rmax - rminbT) * Gaudi::Units::cm;
 	  
 	  //         tfEndPlate2 = new GeoTransform(GeoTrf::Translate3D(
-	  //                                       (-m_dbManager->TILBdzend2() + m_dbManager->TILBdzmodul())*GeoModelKernelUnits::cm/2, 0, radShift/2*GeoModelKernelUnits::cm));
+	  //                                       (-m_dbManager->TILBdzend2() + m_dbManager->TILBdzmodul())*Gaudi::Units::cm/2, 0, radShift/2*Gaudi::Units::cm));
 	  
 	}
       else
@@ -657,7 +658,7 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
       //Position air hole
       if (m_dbManager->TILBflangex() > 0)
       {
-        dyEPHole = m_dbManager->TILBflangex()*GeoModelKernelUnits::cm/2;
+        dyEPHole = m_dbManager->TILBflangex()*Gaudi::Units::cm/2;
 
 	GeoTrd* epHole2 = new GeoTrd (thicknessEndPlate/2,
 				      thicknessEndPlate/2,
@@ -668,7 +669,7 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
 	GeoLogVol* lvEPHole2 = new GeoLogVol("EPHole2",epHole2,matAir);
 	GeoPhysVol* pvEPHole2 = new GeoPhysVol(lvEPHole2);
 	GeoTransform* tfEPHole2 = new GeoTransform(GeoTrf::Translate3D(0.,0.,
-                                      (m_dbManager->TILBflangey()-(tile_rmax + rminbT)/2)*GeoModelKernelUnits::cm));
+                                      (m_dbManager->TILBflangey()-(tile_rmax + rminbT)/2)*Gaudi::Units::cm));
 	pvEndPlate2->add(tfEPHole2);
 	pvEndPlate2->add(pvEPHole2);
       }
@@ -683,10 +684,10 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
   } // End Plates
 
   //---------------------------------------------------Absorber--------------------------------------------------------
-  double heightAbsorber = (m_dbManager->TILBrmax() - m_dbManager->TILBrmin())*GeoModelKernelUnits::cm;
-  double thicknessAbsorber = (m_dbManager->TILBdzmodul() - m_dbManager->TILBdzend1() - m_dbManager->TILBdzend2())*GeoModelKernelUnits::cm;
-  double dy1Absorber = (m_dbManager->TILBrmin()*tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*GeoModelKernelUnits::cm;
-  double dy2Absorber = (m_dbManager->TILBrmax()*tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*GeoModelKernelUnits::cm;
+  double heightAbsorber = (m_dbManager->TILBrmax() - m_dbManager->TILBrmin())*Gaudi::Units::cm;
+  double thicknessAbsorber = (m_dbManager->TILBdzmodul() - m_dbManager->TILBdzend1() - m_dbManager->TILBdzend2())*Gaudi::Units::cm;
+  double dy1Absorber = (m_dbManager->TILBrmin()*tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*Gaudi::Units::cm;
+  double dy2Absorber = (m_dbManager->TILBrmax()*tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*Gaudi::Units::cm;
 
   checking("Absorber", true, 3, 
       thicknessAbsorber/2,thicknessAbsorber/2,dy1Absorber,dy2Absorber,heightAbsorber/2);
@@ -707,7 +708,7 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
   case 2:
     {
       //Extended barrel - consists of ordinary periods of type 1 only
-      thicknessPeriod = 2.*(m_dbManager->TILBdzmast() + m_dbManager->TILBdzspac() + 2.*dzglue)*GeoModelKernelUnits::cm;
+      thicknessPeriod = 2.*(m_dbManager->TILBdzmast() + m_dbManager->TILBdzspac() + 2.*dzglue)*Gaudi::Units::cm;
 
       // The period number for middle absorber
       nA2 = m_dbManager->TILBnperiod() - (nA1+nA3);
@@ -807,10 +808,10 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
       //nrOfPeriods-1 ordinary period and second with one special period of type 2
 
       //First division
-      thicknessPeriod = 2.*(m_dbManager->TILBdzmast() + m_dbManager->TILBdzspac() + 2.*dzglue)*GeoModelKernelUnits::cm;
+      thicknessPeriod = 2.*(m_dbManager->TILBdzmast() + m_dbManager->TILBdzspac() + 2.*dzglue)*Gaudi::Units::cm;
 
       m_barrelPeriodThickness = thicknessPeriod;
-      m_barrelGlue = dzglue*GeoModelKernelUnits::cm;
+      m_barrelGlue = dzglue*Gaudi::Units::cm;
 
       checking("Period 0", false, 4, 
 	       thicknessPeriod/2,thicknessPeriod/2,dy1Absorber,dy2Absorber,heightAbsorber/2);
@@ -825,7 +826,7 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
       pvPeriod = new GeoPhysVol(lvPeriod);
 
       fillPeriod(pvPeriod,
-                 thicknessPeriod*(1./GeoModelKernelUnits::cm),
+                 thicknessPeriod*(1./Gaudi::Units::cm),
                  dzglue,
                  tan_delta_phi_2,
                  1); // 1-period type
@@ -859,7 +860,7 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
       pvAbsorber->add(pvAbsorberChild);
 
       //Second division
-      thicknessPeriod = (m_dbManager->TILBdzmast() + 2.*m_dbManager->TILBdzspac() + 2.*dzglue)*GeoModelKernelUnits::cm;
+      thicknessPeriod = (m_dbManager->TILBdzmast() + 2.*m_dbManager->TILBdzspac() + 2.*dzglue)*Gaudi::Units::cm;
 
       checking("Period 1", false, 4, 
 	       thicknessPeriod/2,thicknessPeriod/2,dy1Absorber,dy2Absorber,heightAbsorber/2);
@@ -873,7 +874,7 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
       pvPeriod = new GeoPhysVol(lvPeriod);
 
       fillPeriod(pvPeriod,
-                 thicknessPeriod*(1./GeoModelKernelUnits::cm),
+                 thicknessPeriod*(1./Gaudi::Units::cm),
                  dzglue,
                  tan_delta_phi_2,
                  2); // 2-period type
@@ -908,7 +909,7 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
   case 2:
     {
       //Extended barrel - consists of ordinary periods of type 1 only
-      thicknessPeriod = 2.*(m_dbManager->TILBdzmast() + m_dbManager->TILBdzspac() + 2.*dzglue)*GeoModelKernelUnits::cm;
+      thicknessPeriod = 2.*(m_dbManager->TILBdzmast() + m_dbManager->TILBdzspac() + 2.*dzglue)*Gaudi::Units::cm;
 
       checking("Period 2", false, 4, 
 	       thicknessPeriod/2,thicknessPeriod/2,dy1Absorber,dy2Absorber,heightAbsorber/2);
@@ -924,7 +925,7 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
       m_extendedPeriodThickness = thicknessPeriod;
 
       fillPeriod(pvPeriod,
-                 thicknessPeriod*(1./GeoModelKernelUnits::cm),
+                 thicknessPeriod*(1./Gaudi::Units::cm),
                  dzglue,
                  tan_delta_phi_2,
                  1); // 1-period type
@@ -1020,7 +1021,7 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
 	  //nrOfPeriods-1 ordinary period of type 1 and second with one special period of type 4
 	  
 	  //First division
-	  thicknessPeriod = 2.*(m_dbManager->TILBdzmast() + m_dbManager->TILBdzspac() + 2.*dzglue)*GeoModelKernelUnits::cm;
+	  thicknessPeriod = 2.*(m_dbManager->TILBdzmast() + m_dbManager->TILBdzspac() + 2.*dzglue)*Gaudi::Units::cm;
 	  
 	  checking("Period 3 (ITC1 special)", true, 4, 
 		   thicknessPeriod/2,thicknessPeriod/2,dy1Absorber,dy2Absorber,heightAbsorber/2);
@@ -1034,7 +1035,7 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
 	  pvPeriod = new GeoPhysVol(lvPeriod);
 	  
  	  fillPeriod(pvPeriod,
- 		     thicknessPeriod*(1./GeoModelKernelUnits::cm),
+ 		     thicknessPeriod*(1./Gaudi::Units::cm),
  		     dzglue,
  		     tan_delta_phi_2,
  		     1); // 1-period type
@@ -1069,7 +1070,7 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
 	  //
 	  //Second division
 	  //
-	  thicknessPeriod = m_dbManager->TILBdzspac()*GeoModelKernelUnits::cm;
+	  thicknessPeriod = m_dbManager->TILBdzspac()*Gaudi::Units::cm;
 	  
 	  checking("Period 5 (ITC1 special)", true, 4, 
 		   thicknessPeriod/2,thicknessPeriod/2,dy1Absorber,dy2Absorber,heightAbsorber/2);
@@ -1083,7 +1084,7 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
 	  pvPeriod = new GeoPhysVol(lvPeriod);
 	  
 	  fillPeriod(pvPeriod,
-		     thicknessPeriod*(1./GeoModelKernelUnits::cm),
+		     thicknessPeriod*(1./Gaudi::Units::cm),
 		     dzglue,
 		     tan_delta_phi_2,
 		     4); // 4-period type
@@ -1116,7 +1117,7 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
 	}
       else
 	{
-	  thicknessPeriod = 2.*(m_dbManager->TILBdzmast() + m_dbManager->TILBdzspac() + 2.*dzglue)*GeoModelKernelUnits::cm;
+	  thicknessPeriod = 2.*(m_dbManager->TILBdzmast() + m_dbManager->TILBdzspac() + 2.*dzglue)*Gaudi::Units::cm;
 	  
 	  checking("Period 3", true, 4, 
 		   thicknessPeriod/2,thicknessPeriod/2,dy1Absorber,dy2Absorber,heightAbsorber/2);
@@ -1130,7 +1131,7 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
 	  pvPeriod = new GeoPhysVol(lvPeriod);
 	  
 	  fillPeriod(pvPeriod,
-		     thicknessPeriod*(1./GeoModelKernelUnits::cm),
+		     thicknessPeriod*(1./Gaudi::Units::cm),
 		     dzglue,
 		     tan_delta_phi_2,
 		     3); // 3-period type
@@ -1166,7 +1167,7 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
       //nrOfPeriods-1 ordinary period of type 1 and second with one special period of type 4
 
       //First division
-      thicknessPeriod = 2.*(m_dbManager->TILBdzmast() + m_dbManager->TILBdzspac() + 2.*dzglue)*GeoModelKernelUnits::cm;
+      thicknessPeriod = 2.*(m_dbManager->TILBdzmast() + m_dbManager->TILBdzspac() + 2.*dzglue)*Gaudi::Units::cm;
 
       checking("Period 4", true, 4, 
 	       thicknessPeriod/2,thicknessPeriod/2,dy1Absorber,dy2Absorber,heightAbsorber/2);
@@ -1180,7 +1181,7 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
       pvPeriod = new GeoPhysVol(lvPeriod);
 
       fillPeriod(pvPeriod,
-                 thicknessPeriod*(1./GeoModelKernelUnits::cm),
+                 thicknessPeriod*(1./Gaudi::Units::cm),
                  dzglue,
                  tan_delta_phi_2,
                  1); // 1-period type
@@ -1214,7 +1215,7 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
       pvAbsorber->add(pvAbsorberChild);
 
       //Second division
-      thicknessPeriod = m_dbManager->TILBdzspac()*GeoModelKernelUnits::cm;
+      thicknessPeriod = m_dbManager->TILBdzspac()*Gaudi::Units::cm;
 
       checking("Period 5", true, 4, 
 	       thicknessPeriod/2,thicknessPeriod/2,dy1Absorber,dy2Absorber,heightAbsorber/2);
@@ -1228,7 +1229,7 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
       pvPeriod = new GeoPhysVol(lvPeriod);
 
       fillPeriod(pvPeriod,
-                 thicknessPeriod*(1./GeoModelKernelUnits::cm),
+                 thicknessPeriod*(1./Gaudi::Units::cm),
                  dzglue,
                  tan_delta_phi_2,
                  4); // 4-period type
@@ -1280,8 +1281,8 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
       checking("Period 6", true, 4, 
 	       thicknessPeriod/2,thicknessPeriod/2,dy1Absorber,dy2Absorber,heightAbsorber/2);
 
-      double dy1Period = m_dbManager->TILBflangex()/2.*GeoModelKernelUnits::cm; // correct size from the drawings
-      double dy2Period = m_dbManager->TILBflangey()/2.*GeoModelKernelUnits::cm; // correct size from the drawings
+      double dy1Period = m_dbManager->TILBflangex()/2.*Gaudi::Units::cm; // correct size from the drawings
+      double dy2Period = m_dbManager->TILBflangey()/2.*Gaudi::Units::cm; // correct size from the drawings
       if (dy1Period <= 0.0 || dy2Period <= 0.0 || dy1Period > dy1Absorber || dy2Period > dy2Absorber || dy1Period >= dy2Period ) {
           dy1Period = dy1Absorber;
           dy2Period = dy2Absorber;
@@ -1297,7 +1298,7 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
       pvPeriod = new GeoPhysVol(lvPeriod);
 
       fillPeriod(pvPeriod,
-                 thicknessPeriod*(1./GeoModelKernelUnits::cm),
+                 thicknessPeriod*(1./Gaudi::Units::cm),
                  dzglue,
                  tan_delta_phi_2,
                  5, period);
@@ -1325,7 +1326,7 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
   if (sec_number==3)
     { 
       // ps specialModuleZShift
-      tfAbsorber = new GeoTransform(GeoTrf::Translate3D( specialModuleZShift + dXAbsorber*GeoModelKernelUnits::cm/2, 0., dZAbsorber*GeoModelKernelUnits::cm/2));
+      tfAbsorber = new GeoTransform(GeoTrf::Translate3D( specialModuleZShift + dXAbsorber*Gaudi::Units::cm/2, 0., dZAbsorber*Gaudi::Units::cm/2));
       mother->add(tfAbsorber);
       mother->add(pvAbsorber);
     }
@@ -1334,8 +1335,8 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
       if(m_log->level()<=MSG::DEBUG)
 	(*m_log) << MSG::DEBUG << " _fillsection  Ex.barrel in "<< endmsg;
  
-     tfAbsorber1 = new GeoTransform(GeoTrf::Translate3D(dXAbsorber*GeoModelKernelUnits::cm/2 - PosAbsor1, 0.,
-                                   (dZAbsorber + m_dbManager->TILBrmin() - rminb)*GeoModelKernelUnits::cm/2)); 
+     tfAbsorber1 = new GeoTransform(GeoTrf::Translate3D(dXAbsorber*Gaudi::Units::cm/2 - PosAbsor1, 0.,
+                                   (dZAbsorber + m_dbManager->TILBrmin() - rminb)*Gaudi::Units::cm/2)); 
      mother->add(tfAbsorber1);
      if (m_dbManager->BoolCuts() && ((ModuleNcp>=35 && ModuleNcp<=37) || (ModuleNcp>=60 && ModuleNcp<=62)) ) { 
        mother->add(pvTmp_Absorber1);
@@ -1347,16 +1348,16 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
      if(m_log->level()<=MSG::DEBUG)
        (*m_log) << MSG::DEBUG << " _fillsection  ext.barrel pvAbsorber1 Ok"<< endmsg;
 
-     tfAbsorber  = new GeoTransform(GeoTrf::Translate3D(dXAbsorber*GeoModelKernelUnits::cm/2 - PosAbsor2, 0.,
-                                    (dZAbsorber + m_dbManager->TILBrmin() - rminb)*GeoModelKernelUnits::cm/2));  
+     tfAbsorber  = new GeoTransform(GeoTrf::Translate3D(dXAbsorber*Gaudi::Units::cm/2 - PosAbsor2, 0.,
+                                    (dZAbsorber + m_dbManager->TILBrmin() - rminb)*Gaudi::Units::cm/2));  
      mother->add(tfAbsorber);
      mother->add(pvAbsorber);
 
      if(m_log->level()<=MSG::DEBUG)
        (*m_log) << MSG::DEBUG << " _fillsection  ext.barrel pvAbsorber Ok"<< endmsg;
 
-     tfAbsorber3 = new GeoTransform(GeoTrf::Translate3D(dXAbsorber*GeoModelKernelUnits::cm/2 - PosAbsor3, 0.,  
-                                    (dZAbsorber + m_dbManager->TILBrmin() - rminb)*GeoModelKernelUnits::cm/2));                
+     tfAbsorber3 = new GeoTransform(GeoTrf::Translate3D(dXAbsorber*Gaudi::Units::cm/2 - PosAbsor3, 0.,  
+                                    (dZAbsorber + m_dbManager->TILBrmin() - rminb)*Gaudi::Units::cm/2));                
      mother->add(tfAbsorber3);
      if (m_dbManager->BoolCuts() && ((ModuleNcp>=35 && ModuleNcp<=37) || (ModuleNcp>=60 && ModuleNcp<=62)) ) {
        mother->add(pvTmp_Absorber3);
@@ -1370,8 +1371,8 @@ void TileGeoSectionBuilder::fillSection(GeoPhysVol*&             mother,
    }
   else                                           
    { 
-     tfAbsorber = new GeoTransform(GeoTrf::Translate3D(dXAbsorber*GeoModelKernelUnits::cm/2, 0.,
-                                   (dZAbsorber + m_dbManager->TILBrmin() - rminb)*GeoModelKernelUnits::cm/2));
+     tfAbsorber = new GeoTransform(GeoTrf::Translate3D(dXAbsorber*Gaudi::Units::cm/2, 0.,
+                                   (dZAbsorber + m_dbManager->TILBrmin() - rminb)*Gaudi::Units::cm/2));
      mother->add(tfAbsorber);
      mother->add(pvAbsorber);
      if(m_log->level()<=MSG::DEBUG)
@@ -1437,11 +1438,11 @@ void TileGeoSectionBuilder::fillGirder(GeoPhysVol*&             mother,
       dy2GirderElement = (elementRC + elementSizeInR/2) * tan_delta_phi_2;
     }
 
-    girderElement = new GeoTrd(thickness/2*GeoModelKernelUnits::cm,
-			       thickness/2*GeoModelKernelUnits::cm,
-			       dy1GirderElement*GeoModelKernelUnits::cm,
-			       dy2GirderElement*GeoModelKernelUnits::cm,
-			       elementSizeInR/2*GeoModelKernelUnits::cm);
+    girderElement = new GeoTrd(thickness/2*Gaudi::Units::cm,
+			       thickness/2*Gaudi::Units::cm,
+			       dy1GirderElement*Gaudi::Units::cm,
+			       dy2GirderElement*Gaudi::Units::cm,
+			       elementSizeInR/2*Gaudi::Units::cm);
 
     switch(m_dbManager->TIGRmaterial())
     {
@@ -1470,8 +1471,8 @@ void TileGeoSectionBuilder::fillGirder(GeoPhysVol*&             mother,
 
     pvGirderElement = new GeoPhysVol(lvGirderElement);
     tfGirderElement = new GeoTransform(GeoTrf::Translate3D(0.,
-						      elementOffsetInY*GeoModelKernelUnits::cm,
-						      (elementRC-(tilb_rmax + tile_rmax)/2)*GeoModelKernelUnits::cm));
+						      elementOffsetInY*Gaudi::Units::cm,
+						      (elementRC-(tilb_rmax + tile_rmax)/2)*Gaudi::Units::cm));
     mother->add(tfGirderElement);
     mother->add(pvGirderElement);
   }
@@ -1513,7 +1514,7 @@ void TileGeoSectionBuilder::fillFinger(GeoPhysVol*&             mother,
 
   // InDetServices
   if (m_matLArServices == 0)
-   { m_matLArServices = new GeoMaterial("LArServices", 2.5*GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3);
+   { m_matLArServices = new GeoMaterial("LArServices", 2.5*GeoModelKernelUnits::gram/Gaudi::Units::cm3);
      m_matLArServices->add(shieldSteel, 0.20);
      m_matLArServices->add(copper, 0.60);
      m_matLArServices->add(matRubber, 0.10);
@@ -1523,7 +1524,7 @@ void TileGeoSectionBuilder::fillFinger(GeoPhysVol*&             mother,
 
   // m_matIronHalfDens
   if (m_matIronHalfDens == 0)
-   { m_matIronHalfDens = new GeoMaterial("LArIronBox", 4.5*GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3);
+   { m_matIronHalfDens = new GeoMaterial("LArIronBox", 4.5*GeoModelKernelUnits::gram/Gaudi::Units::cm3);
      m_matIronHalfDens->add(shieldSteel, 0.80);
      m_matIronHalfDens->add(matRubber, 0.10);
      m_matIronHalfDens->add(copper, 0.10);
@@ -1574,7 +1575,7 @@ void TileGeoSectionBuilder::fillFinger(GeoPhysVol*&             mother,
 	  (*m_log) << MSG::DEBUG << "TileFinger: AirVolumeSize ="<< AirVolumeSize << endmsg;
 	}
       }
-      if (elementZPozition*2-AirVolumeSize<-0.01) { // compare with zero with 0.1 GeoModelKernelUnits::mm precision
+      if (elementZPozition*2-AirVolumeSize<-0.01) { // compare with zero with 0.1 Gaudi::Units::mm precision
         elementZPozition += AirVolumeShift; // shift all volumes keeping size
       } else { // resize finger cover with shims attached to it
 	if(m_log->level()<=MSG::DEBUG)
@@ -1620,26 +1621,26 @@ void TileGeoSectionBuilder::fillFinger(GeoPhysVol*&             mother,
 
     if(m_dbManager->TICGshape()==1)
     {
-      fingerElementTrd = new GeoTrd(elementDz/2*GeoModelKernelUnits::cm,
-				    elementDz/2*GeoModelKernelUnits::cm,
-				    elementDy1/2*GeoModelKernelUnits::cm,
-				    elementDy2/2*GeoModelKernelUnits::cm,
-				    elementHeight/2*GeoModelKernelUnits::cm);
+      fingerElementTrd = new GeoTrd(elementDz/2*Gaudi::Units::cm,
+				    elementDz/2*Gaudi::Units::cm,
+				    elementDy1/2*Gaudi::Units::cm,
+				    elementDy2/2*Gaudi::Units::cm,
+				    elementHeight/2*Gaudi::Units::cm);
       lvFingerElement = new GeoLogVol(currentName,fingerElementTrd,currentMaterial);
     }
     else if(m_dbManager->TICGshape()==2)
     {
  
-      fingerElementTrap = new GeoTrap(elementDz/2*GeoModelKernelUnits::cm,
+      fingerElementTrap = new GeoTrap(elementDz/2*Gaudi::Units::cm,
 				      0.,
 				      0.,
-				      elementHeight/2*GeoModelKernelUnits::cm,
-				      elementDy2/2*GeoModelKernelUnits::cm,
-				      elementDy1/2*GeoModelKernelUnits::cm,
+				      elementHeight/2*Gaudi::Units::cm,
+				      elementDy2/2*Gaudi::Units::cm,
+				      elementDy1/2*Gaudi::Units::cm,
 				      atan((elementDy1-elementDy2)/(2.*elementHeight)),
-				      elementHeight/2*GeoModelKernelUnits::cm,
-				      elementDy2/2*GeoModelKernelUnits::cm,
-				      elementDy1/2*GeoModelKernelUnits::cm,
+				      elementHeight/2*Gaudi::Units::cm,
+				      elementDy2/2*Gaudi::Units::cm,
+				      elementDy1/2*Gaudi::Units::cm,
 				      atan((elementDy1-elementDy2)/(2.*elementHeight)));
  
       lvFingerElement = new GeoLogVol(currentName,fingerElementTrap,currentMaterial);
@@ -1653,21 +1654,21 @@ void TileGeoSectionBuilder::fillFinger(GeoPhysVol*&             mother,
 
 
     pvFingerElement = new GeoPhysVol(lvFingerElement);
-    tfFingerElement = new GeoTransform(GeoTrf::Translate3D(elementZPozition*GeoModelKernelUnits::cm,
-						      elementOffset*GeoModelKernelUnits::cm,
-						      (elementRC-(tilb_rmax + tile_rmax)/2)*GeoModelKernelUnits::cm));
+    tfFingerElement = new GeoTransform(GeoTrf::Translate3D(elementZPozition*Gaudi::Units::cm,
+						      elementOffset*Gaudi::Units::cm,
+						      (elementRC-(tilb_rmax + tile_rmax)/2)*Gaudi::Units::cm));
 
     mother->add(tfFingerElement);
     if (m_dbManager->TICGshape()==2)
     {
       if(elementOffset<0)
       {
-	ZrotateMod = new GeoTransform(GeoTrf::RotateZ3D(180*GeoModelKernelUnits::deg));
+	ZrotateMod = new GeoTransform(GeoTrf::RotateZ3D(180*Gaudi::Units::deg));
 	mother->add(ZrotateMod); 
       }
 
-      zrotateMod = new GeoTransform(GeoTrf::RotateZ3D(90*GeoModelKernelUnits::deg));
-      yrotateMod = new GeoTransform(GeoTrf::RotateY3D(-90*GeoModelKernelUnits::deg));
+      zrotateMod = new GeoTransform(GeoTrf::RotateZ3D(90*Gaudi::Units::deg));
+      yrotateMod = new GeoTransform(GeoTrf::RotateY3D(-90*Gaudi::Units::deg));
       mother->add(yrotateMod);
       mother->add(zrotateMod);
     }
@@ -1737,17 +1738,17 @@ void TileGeoSectionBuilder::fillFinger(GeoPhysVol*&             mother,
 	     << " LRflag= " << LRflag <<" Neg "<< boolNeg 
 	     << endmsg;
 
-  GeoTransform *rotateY = new GeoTransform(GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg));
-  GeoTransform *rotateZ = new GeoTransform(GeoTrf::RotateZ3D(3*GeoModelKernelUnits::deg));
-  GeoTransform *rotateZm = new GeoTransform(GeoTrf::RotateZ3D(-3*GeoModelKernelUnits::deg));
+  GeoTransform *rotateY = new GeoTransform(GeoTrf::RotateY3D(90*Gaudi::Units::deg));
+  GeoTransform *rotateZ = new GeoTransform(GeoTrf::RotateZ3D(3*Gaudi::Units::deg));
+  GeoTransform *rotateZm = new GeoTransform(GeoTrf::RotateZ3D(-3*Gaudi::Units::deg));
 
   // Left (+phi)
-  fingerCablesL = new GeoBox(dXleft/2*GeoModelKernelUnits::cm, dY/2*GeoModelKernelUnits::cm, dZleft/2*GeoModelKernelUnits::cm);
+  fingerCablesL = new GeoBox(dXleft/2*Gaudi::Units::cm, dY/2*Gaudi::Units::cm, dZleft/2*Gaudi::Units::cm);
   lvFingerCablesL = new GeoLogVol(leftName,fingerCablesL,leftMaterial);
   pvFingerCablesL = new GeoPhysVol(lvFingerCablesL);
 
   // Right (-phi)
-  fingerCablesR = new GeoBox(dXright/2*GeoModelKernelUnits::cm, dY/2*GeoModelKernelUnits::cm, dZright/2*GeoModelKernelUnits::cm);
+  fingerCablesR = new GeoBox(dXright/2*Gaudi::Units::cm, dY/2*Gaudi::Units::cm, dZright/2*Gaudi::Units::cm);
   lvFingerCablesR = new GeoLogVol(rightName,fingerCablesR,rightMaterial);
   pvFingerCablesR = new GeoPhysVol(lvFingerCablesR);
 
@@ -1759,9 +1760,9 @@ void TileGeoSectionBuilder::fillFinger(GeoPhysVol*&             mother,
     { YpoFinger = elementOffset-5.4;  
     }
 
-  tfFingerCables = new GeoTransform(GeoTrf::Translate3D(elementZPozition*GeoModelKernelUnits::cm +0.5*GeoModelKernelUnits::cm -dZsaddleL*GeoModelKernelUnits::cm,
-	                                           YpoFinger*GeoModelKernelUnits::cm,
-				                   (elementRC-(tilb_rmax + tile_rmax)/2)*GeoModelKernelUnits::cm));
+  tfFingerCables = new GeoTransform(GeoTrf::Translate3D(elementZPozition*Gaudi::Units::cm +0.5*Gaudi::Units::cm -dZsaddleL*Gaudi::Units::cm,
+	                                           YpoFinger*Gaudi::Units::cm,
+				                   (elementRC-(tilb_rmax + tile_rmax)/2)*Gaudi::Units::cm));
   mother->add(tfFingerCables);
 
   // inversion for negativ fingers, Left
@@ -1782,9 +1783,9 @@ void TileGeoSectionBuilder::fillFinger(GeoPhysVol*&             mother,
     { YpoFinger = -elementOffset+5.4;
     }
 
-  tfFingerCables = new GeoTransform(GeoTrf::Translate3D(elementZPozition*GeoModelKernelUnits::cm +0.5*GeoModelKernelUnits::cm -dZsaddleR*GeoModelKernelUnits::cm,
-	                                           YpoFinger*GeoModelKernelUnits::cm,
-	                                           (elementRC-(tilb_rmax + tile_rmax)/2)*GeoModelKernelUnits::cm));
+  tfFingerCables = new GeoTransform(GeoTrf::Translate3D(elementZPozition*Gaudi::Units::cm +0.5*Gaudi::Units::cm -dZsaddleR*Gaudi::Units::cm,
+	                                           YpoFinger*Gaudi::Units::cm,
+	                                           (elementRC-(tilb_rmax + tile_rmax)/2)*Gaudi::Units::cm));
   mother->add(tfFingerCables);
 
   // inversion for negativ fingers, Right
@@ -1877,13 +1878,13 @@ void TileGeoSectionBuilder::fillPeriod(GeoPhysVol*&              mother,
   const GeoMaterial* matScin = m_theMaterialManager->getMaterial("tile::Scintillator");
 
   //Cs hole parameters
-  double csHoleR       = 0.45 * GeoModelKernelUnits::cm;
-  double csTubeOuterR  = 0.4  * GeoModelKernelUnits::cm;
-  double csTubeInnerR  = 0.3  * GeoModelKernelUnits::cm;
-  double csTubeOffCorr = 1.35 * GeoModelKernelUnits::cm;
+  double csHoleR       = 0.45 * Gaudi::Units::cm;
+  double csTubeOuterR  = 0.4  * Gaudi::Units::cm;
+  double csTubeInnerR  = 0.3  * Gaudi::Units::cm;
+  double csTubeOffCorr = 1.35 * Gaudi::Units::cm;
 
-  double thicknessMother2 = thickness/2.*GeoModelKernelUnits::cm;
-  double heightMother2    = (m_dbManager->TILBrmax() - m_dbManager->TILBrmin())*GeoModelKernelUnits::cm/2.;
+  double thicknessMother2 = thickness/2.*Gaudi::Units::cm;
+  double heightMother2    = (m_dbManager->TILBrmax() - m_dbManager->TILBrmin())*Gaudi::Units::cm/2.;
 
   const bool removeGlue = (m_glue == 0 || m_glue == 2);
 
@@ -1891,18 +1892,18 @@ void TileGeoSectionBuilder::fillPeriod(GeoPhysVol*&              mother,
   if (dzglue>0.0 && period_type<4 && !removeGlue) {
     const GeoMaterial* matGlue = m_theMaterialManager->getMaterial("tile::Glue");
 
-    double dzglue2 = dzglue/2*GeoModelKernelUnits::cm;
+    double dzglue2 = dzglue/2*Gaudi::Units::cm;
     dzglue2 = floor(dzglue2*1.0e+10)*1.0e-10;
 
     if (m_verbose) {
-      printdouble(" period thickness/2 = ",thickness/2*GeoModelKernelUnits::cm);
-      printdouble("   glue thickness/2 = ",dzglue/2*GeoModelKernelUnits::cm);
+      printdouble(" period thickness/2 = ",thickness/2*Gaudi::Units::cm);
+      printdouble("   glue thickness/2 = ",dzglue/2*Gaudi::Units::cm);
       printdouble("rounded thickness/2 = ",dzglue2);
     }
 
-    double dy1Glue = (m_dbManager->TILBrmin() * tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*GeoModelKernelUnits::cm;
-    double dy2Glue = (m_dbManager->TILBrmax() * tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*GeoModelKernelUnits::cm;
-    double heightGlue2 = (m_dbManager->TILBrmax() - m_dbManager->TILBrmin())*GeoModelKernelUnits::cm/2.;
+    double dy1Glue = (m_dbManager->TILBrmin() * tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*Gaudi::Units::cm;
+    double dy2Glue = (m_dbManager->TILBrmax() * tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*Gaudi::Units::cm;
+    double heightGlue2 = (m_dbManager->TILBrmax() - m_dbManager->TILBrmin())*Gaudi::Units::cm/2.;
 
     checking("Glue 0", false, 4, 
              dzglue2,dzglue2,dy1Glue,dy2Glue,heightGlue2);
@@ -1916,16 +1917,16 @@ void TileGeoSectionBuilder::fillPeriod(GeoPhysVol*&              mother,
       idTag = new GeoIdentifierTag(j-CurrentScin);
       m_dbManager->SetCurrentScin(j);
 
-      double off0 = m_dbManager->SCNTrc()*GeoModelKernelUnits::cm - heightMother2;
-      double off  = m_dbManager->SCNTdr()/2.*GeoModelKernelUnits::cm - csTubeOffCorr;
+      double off0 = m_dbManager->SCNTrc()*Gaudi::Units::cm - heightMother2;
+      double off  = m_dbManager->SCNTdr()/2.*Gaudi::Units::cm - csTubeOffCorr;
 
-      GeoTrf::Transform3D tfHole1 = GeoTrf::Translate3D(0.,0.,(off0-off)) * GeoTrf::RotateY3D(-90*GeoModelKernelUnits::deg);
-      GeoTrf::Transform3D tfHole2 = GeoTrf::Translate3D(0.,0.,(off0+off)) * GeoTrf::RotateY3D(-90*GeoModelKernelUnits::deg);
+      GeoTrf::Transform3D tfHole1 = GeoTrf::Translate3D(0.,0.,(off0-off)) * GeoTrf::RotateY3D(-90*Gaudi::Units::deg);
+      GeoTrf::Transform3D tfHole2 = GeoTrf::Translate3D(0.,0.,(off0+off)) * GeoTrf::RotateY3D(-90*Gaudi::Units::deg);
 
       // air around iron rod, around Cs tube and inside Cs tube
-      GeoShape *air1 = new GeoTubs(csTubeOuterR, csHoleR, thicknessMother2, 0.,360.0 * GeoModelKernelUnits::deg);
-      GeoShape *air2 = new GeoTubs(csTubeOuterR, csHoleR, thicknessMother2, 0.,360.0 * GeoModelKernelUnits::deg);
-      GeoShape *air3 = new GeoTubs(0.,      csTubeInnerR, thicknessMother2, 0.,360.0 * GeoModelKernelUnits::deg);
+      GeoShape *air1 = new GeoTubs(csTubeOuterR, csHoleR, thicknessMother2, 0.,360.0 * Gaudi::Units::deg);
+      GeoShape *air2 = new GeoTubs(csTubeOuterR, csHoleR, thicknessMother2, 0.,360.0 * Gaudi::Units::deg);
+      GeoShape *air3 = new GeoTubs(0.,      csTubeInnerR, thicknessMother2, 0.,360.0 * Gaudi::Units::deg);
 
       GeoLogVol * lvAir1 = new GeoLogVol("CsTubeAir1",air1,matAir);
       GeoLogVol * lvAir2 = new GeoLogVol("CsTubeAir2",air2,matAir);
@@ -1965,26 +1966,26 @@ void TileGeoSectionBuilder::fillPeriod(GeoPhysVol*&              mother,
       if (glue)
       {
         if (m_verbose)
-            printdouble("      glue position = ",(-3.*dzglue/2-m_dbManager->TILBdzmast())*GeoModelKernelUnits::cm);
-	tfGlue = new GeoTransform(GeoTrf::Translate3D((-3.*dzglue/2-m_dbManager->TILBdzmast())*GeoModelKernelUnits::cm,0.,0.));
+            printdouble("      glue position = ",(-3.*dzglue/2-m_dbManager->TILBdzmast())*Gaudi::Units::cm);
+	tfGlue = new GeoTransform(GeoTrf::Translate3D((-3.*dzglue/2-m_dbManager->TILBdzmast())*Gaudi::Units::cm,0.,0.));
 	mother->add(tfGlue);
 	mother->add(pvGlue);
 
         if (m_verbose)
-            printdouble("      glue position = ",-dzglue/2*GeoModelKernelUnits::cm);
-	tfGlue = new GeoTransform(GeoTrf::Translate3D(-dzglue/2*GeoModelKernelUnits::cm,0.,0.));
+            printdouble("      glue position = ",-dzglue/2*Gaudi::Units::cm);
+	tfGlue = new GeoTransform(GeoTrf::Translate3D(-dzglue/2*Gaudi::Units::cm,0.,0.));
 	mother->add(tfGlue);
 	mother->add(pvGlue);
 
         if (m_verbose)
-            printdouble("      glue position = ",(dzglue/2+m_dbManager->TILBdzspac())*GeoModelKernelUnits::cm);
-	tfGlue = new GeoTransform(GeoTrf::Translate3D((dzglue/2+m_dbManager->TILBdzspac())*GeoModelKernelUnits::cm,0.,0.));
+            printdouble("      glue position = ",(dzglue/2+m_dbManager->TILBdzspac())*Gaudi::Units::cm);
+	tfGlue = new GeoTransform(GeoTrf::Translate3D((dzglue/2+m_dbManager->TILBdzspac())*Gaudi::Units::cm,0.,0.));
 	mother->add(tfGlue);
 	mother->add(pvGlue);
 
         if (m_verbose)
-            printdouble("      glue position = ",(thickness-dzglue)/2*GeoModelKernelUnits::cm);
-	tfGlue = new GeoTransform(GeoTrf::Translate3D((thickness-dzglue)/2*GeoModelKernelUnits::cm,0.,0.));
+            printdouble("      glue position = ",(thickness-dzglue)/2*Gaudi::Units::cm);
+	tfGlue = new GeoTransform(GeoTrf::Translate3D((thickness-dzglue)/2*Gaudi::Units::cm,0.,0.));
 	mother->add(tfGlue);
 	mother->add(pvGlue);
       }
@@ -2003,15 +2004,15 @@ void TileGeoSectionBuilder::fillPeriod(GeoPhysVol*&              mother,
         scintiDeltaInPhi = (m_uShape > 0) ? 0.0 : m_dbManager->SCNTdphi();
 
         thicknessWrapper = (m_dbManager->TILBdzspac() <= (scintiThickness + 2*scintiWrapInZ)) ?
-                           (scintiThickness + 2*scintiWrapInZ)*GeoModelKernelUnits::cm: m_dbManager->TILBdzspac()*GeoModelKernelUnits::cm;
+                           (scintiThickness + 2*scintiWrapInZ)*Gaudi::Units::cm: m_dbManager->TILBdzspac()*Gaudi::Units::cm;
         if (m_glue == 2) thicknessWrapper = std::max(thicknessWrapper - m_additionalIronLayer, scintiThickness);
 
         // create wrapper
-        heightWrapper = (scintiHeight + 2*scintiWrapInR)*GeoModelKernelUnits::cm;
+        heightWrapper = (scintiHeight + 2*scintiWrapInR)*Gaudi::Units::cm;
         dy1Wrapper = ((scintiRC - scintiHeight/2 - scintiWrapInR + m_dbManager->TILBrmin()) *
-                     tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*GeoModelKernelUnits::cm;
+                     tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*Gaudi::Units::cm;
         dy2Wrapper = ((scintiRC + scintiHeight/2 + scintiWrapInR + m_dbManager->TILBrmin()) *
-                     tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*GeoModelKernelUnits::cm;
+                     tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*Gaudi::Units::cm;
 
         checking("Wrapper 0", true, 5, 
             thicknessWrapper/2,thicknessWrapper/2,dy1Wrapper,dy2Wrapper,heightWrapper/2);
@@ -2023,28 +2024,28 @@ void TileGeoSectionBuilder::fillPeriod(GeoPhysVol*&              mother,
 			     heightWrapper/2);
 
 	if (m_csTube) {
-          wrapper = makeHoles(wrapper, csHoleR, thicknessWrapper/2, scintiHeight/2.*GeoModelKernelUnits::cm - csTubeOffCorr);
+          wrapper = makeHoles(wrapper, csHoleR, thicknessWrapper/2, scintiHeight/2.*Gaudi::Units::cm - csTubeOffCorr);
         }
 	lvWrapper = new GeoLogVol("Wrapper",wrapper,matAir);
 	pvWrapper = new GeoPhysVol(lvWrapper);
 
         // create scintillator
         dy1Scintillator = ((scintiRC - scintiHeight/2 + m_dbManager->TILBrmin()) *
-                          tan_delta_phi_2 -  m_dbManager->TILBphigap()/2 - scintiDeltaInPhi)*GeoModelKernelUnits::cm;
+                          tan_delta_phi_2 -  m_dbManager->TILBphigap()/2 - scintiDeltaInPhi)*Gaudi::Units::cm;
         dy2Scintillator = ((scintiRC + scintiHeight/2 + m_dbManager->TILBrmin()) *
-                          tan_delta_phi_2 -  m_dbManager->TILBphigap()/2 - scintiDeltaInPhi)*GeoModelKernelUnits::cm;
+                          tan_delta_phi_2 -  m_dbManager->TILBphigap()/2 - scintiDeltaInPhi)*Gaudi::Units::cm;
 
         checking("Scintillator 0", true, 6, 
-                 scintiThickness/2*GeoModelKernelUnits::cm,scintiThickness/2*GeoModelKernelUnits::cm,dy1Scintillator,dy2Scintillator,scintiHeight/2*GeoModelKernelUnits::cm);
+                 scintiThickness/2*Gaudi::Units::cm,scintiThickness/2*Gaudi::Units::cm,dy1Scintillator,dy2Scintillator,scintiHeight/2*Gaudi::Units::cm);
 
-	scintillator = new GeoTrd(scintiThickness/2*GeoModelKernelUnits::cm,
-				  scintiThickness/2*GeoModelKernelUnits::cm,
+	scintillator = new GeoTrd(scintiThickness/2*Gaudi::Units::cm,
+				  scintiThickness/2*Gaudi::Units::cm,
 				  dy1Scintillator,
 				  dy2Scintillator,
-				  scintiHeight/2*GeoModelKernelUnits::cm);
+				  scintiHeight/2*Gaudi::Units::cm);
 
 	if (m_csTube) {
-          scintillator = makeHolesScint(scintillator, csHoleR, scintiThickness/2 * GeoModelKernelUnits::cm, scintiHeight/2.*GeoModelKernelUnits::cm - csTubeOffCorr);
+          scintillator = makeHolesScint(scintillator, csHoleR, scintiThickness/2 * Gaudi::Units::cm, scintiHeight/2.*Gaudi::Units::cm - csTubeOffCorr);
 	}
 	lvScintillator = new GeoLogVol("Scintillator",scintillator,matScin);
 	pvScintillator = new GeoPhysVol(lvScintillator);
@@ -2058,13 +2059,13 @@ void TileGeoSectionBuilder::fillPeriod(GeoPhysVol*&              mother,
         //place wrapper in period
         if (m_verbose) {
           (*m_log) << MSG::VERBOSE <<" X scintiZPos= "<<scintiZPos;
-          printdouble("  ==>  ",(scintiZPos*thickness+m_dbManager->TILBdzspac()/2)*GeoModelKernelUnits::cm);
+          printdouble("  ==>  ",(scintiZPos*thickness+m_dbManager->TILBdzspac()/2)*Gaudi::Units::cm);
           (*m_log) << MSG::VERBOSE <<" Y scintiRC= "<<scintiRC <<endmsg;
         }
         
-	tfWrapper = new GeoTransform(GeoTrf::Translate3D((scintiZPos*thickness+m_dbManager->TILBdzspac()/2)*GeoModelKernelUnits::cm,
+	tfWrapper = new GeoTransform(GeoTrf::Translate3D((scintiZPos*thickness+m_dbManager->TILBdzspac()/2)*Gaudi::Units::cm,
 						    0.,
-						    (scintiRC-(m_dbManager->TILBrmax()-m_dbManager->TILBrmin())/2)*GeoModelKernelUnits::cm));
+						    (scintiRC-(m_dbManager->TILBrmax()-m_dbManager->TILBrmin())/2)*Gaudi::Units::cm));
 	mother->add(idTag);
 	mother->add(tfWrapper);
 	mother->add(pvWrapper);
@@ -2079,14 +2080,14 @@ void TileGeoSectionBuilder::fillPeriod(GeoPhysVol*&              mother,
       if (glue)
       {
         if (m_verbose)
-            printdouble("      glue position = ",(dzglue + m_dbManager->TILBdzmast())*GeoModelKernelUnits::cm/2);
-	tfGlue = new GeoTransform(GeoTrf::Translate3D((dzglue + m_dbManager->TILBdzmast())*GeoModelKernelUnits::cm/2,0.,0.));
+            printdouble("      glue position = ",(dzglue + m_dbManager->TILBdzmast())*Gaudi::Units::cm/2);
+	tfGlue = new GeoTransform(GeoTrf::Translate3D((dzglue + m_dbManager->TILBdzmast())*Gaudi::Units::cm/2,0.,0.));
 	mother->add(tfGlue);
 	mother->add(pvGlue);
 
         if (m_verbose)
-            printdouble("      glue position = ",-(dzglue + m_dbManager->TILBdzmast())*GeoModelKernelUnits::cm/2);
-	tfGlue = new GeoTransform(GeoTrf::Translate3D(-(dzglue + m_dbManager->TILBdzmast())*GeoModelKernelUnits::cm/2,0.,0.));
+            printdouble("      glue position = ",-(dzglue + m_dbManager->TILBdzmast())*Gaudi::Units::cm/2);
+	tfGlue = new GeoTransform(GeoTrf::Translate3D(-(dzglue + m_dbManager->TILBdzmast())*Gaudi::Units::cm/2,0.,0.));
 	mother->add(tfGlue);
 	mother->add(pvGlue);
       }
@@ -2105,15 +2106,15 @@ void TileGeoSectionBuilder::fillPeriod(GeoPhysVol*&              mother,
         scintiDeltaInPhi = (m_uShape > 0) ? 0.0 : m_dbManager->SCNTdphi();
 
         thicknessWrapper = (m_dbManager->TILBdzspac() <= (scintiThickness + 2*scintiWrapInZ)) ?
-                           (scintiThickness + 2*scintiWrapInZ)*GeoModelKernelUnits::cm: m_dbManager->TILBdzspac()*GeoModelKernelUnits::cm;
+                           (scintiThickness + 2*scintiWrapInZ)*Gaudi::Units::cm: m_dbManager->TILBdzspac()*Gaudi::Units::cm;
         if (m_glue == 2)   thicknessWrapper = std::max(thicknessWrapper - m_additionalIronLayer, scintiThickness);
 
         // create wrapper
-        heightWrapper = (scintiHeight + 2*scintiWrapInR)*GeoModelKernelUnits::cm;
+        heightWrapper = (scintiHeight + 2*scintiWrapInR)*Gaudi::Units::cm;
         dy1Wrapper = ((scintiRC - scintiHeight/2 - scintiWrapInR + m_dbManager->TILBrmin()) *
-                     tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*GeoModelKernelUnits::cm;
+                     tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*Gaudi::Units::cm;
         dy2Wrapper = ((scintiRC + scintiHeight/2 + scintiWrapInR + m_dbManager->TILBrmin()) *
-                     tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*GeoModelKernelUnits::cm;
+                     tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*Gaudi::Units::cm;
 
         checking("Wrapper 1", true, 5, 
             thicknessWrapper/2,thicknessWrapper/2,dy1Wrapper,dy2Wrapper,heightWrapper/2);
@@ -2125,28 +2126,28 @@ void TileGeoSectionBuilder::fillPeriod(GeoPhysVol*&              mother,
 			     heightWrapper/2);
 
 	if (m_csTube) {
-          wrapper = makeHoles(wrapper, csHoleR, thicknessWrapper/2, scintiHeight/2.*GeoModelKernelUnits::cm - csTubeOffCorr);
+          wrapper = makeHoles(wrapper, csHoleR, thicknessWrapper/2, scintiHeight/2.*Gaudi::Units::cm - csTubeOffCorr);
         }
 	lvWrapper = new GeoLogVol("Wrapper",wrapper,matAir);
 	pvWrapper = new GeoPhysVol(lvWrapper);
 
         // create scintillator
         dy1Scintillator = ((scintiRC - scintiHeight/2 + m_dbManager->TILBrmin()) *
-                          tan_delta_phi_2 -  m_dbManager->TILBphigap()/2 - scintiDeltaInPhi)*GeoModelKernelUnits::cm;
+                          tan_delta_phi_2 -  m_dbManager->TILBphigap()/2 - scintiDeltaInPhi)*Gaudi::Units::cm;
         dy2Scintillator = ((scintiRC + scintiHeight/2 + m_dbManager->TILBrmin()) *
-                          tan_delta_phi_2 -  m_dbManager->TILBphigap()/2 - scintiDeltaInPhi)*GeoModelKernelUnits::cm;
+                          tan_delta_phi_2 -  m_dbManager->TILBphigap()/2 - scintiDeltaInPhi)*Gaudi::Units::cm;
 
         checking("Scintillator 1", true, 6, 
-                 scintiThickness/2*GeoModelKernelUnits::cm,scintiThickness/2*GeoModelKernelUnits::cm,dy1Scintillator,dy2Scintillator,scintiHeight/2*GeoModelKernelUnits::cm);
+                 scintiThickness/2*Gaudi::Units::cm,scintiThickness/2*Gaudi::Units::cm,dy1Scintillator,dy2Scintillator,scintiHeight/2*Gaudi::Units::cm);
 
-	scintillator = new GeoTrd(scintiThickness/2*GeoModelKernelUnits::cm,
-				  scintiThickness/2*GeoModelKernelUnits::cm,
+	scintillator = new GeoTrd(scintiThickness/2*Gaudi::Units::cm,
+				  scintiThickness/2*Gaudi::Units::cm,
 				  dy1Scintillator,
 				  dy2Scintillator,
-				  scintiHeight/2*GeoModelKernelUnits::cm);
+				  scintiHeight/2*Gaudi::Units::cm);
 
 	if (m_csTube) {
-          scintillator = makeHolesScint(scintillator, csHoleR, scintiThickness/2 * GeoModelKernelUnits::cm, scintiHeight/2.*GeoModelKernelUnits::cm - csTubeOffCorr);
+          scintillator = makeHolesScint(scintillator, csHoleR, scintiThickness/2 * Gaudi::Units::cm, scintiHeight/2.*Gaudi::Units::cm - csTubeOffCorr);
 	}
 	lvScintillator = new GeoLogVol("Scintillator",scintillator,matScin);
 	pvScintillator = new GeoPhysVol(lvScintillator);
@@ -2160,13 +2161,13 @@ void TileGeoSectionBuilder::fillPeriod(GeoPhysVol*&              mother,
         //place wrapper in period
         if (m_verbose) {
           (*m_log) << MSG::VERBOSE <<" X scintiZPos= "<<scintiZPos; 
-          printdouble("  ==>  ",(2*scintiZPos+0.5)*(thickness-m_dbManager->TILBdzspac())*GeoModelKernelUnits::cm);
+          printdouble("  ==>  ",(2*scintiZPos+0.5)*(thickness-m_dbManager->TILBdzspac())*Gaudi::Units::cm);
           (*m_log) << MSG::VERBOSE <<" Y scintiRC= "<<scintiRC <<endmsg;
         }
         
-	tfWrapper = new GeoTransform(GeoTrf::Translate3D((2*scintiZPos+0.5)*(thickness-m_dbManager->TILBdzspac())*GeoModelKernelUnits::cm,
+	tfWrapper = new GeoTransform(GeoTrf::Translate3D((2*scintiZPos+0.5)*(thickness-m_dbManager->TILBdzspac())*Gaudi::Units::cm,
 						    0.,
-						    (scintiRC-(m_dbManager->TILBrmax()-m_dbManager->TILBrmin())/2)*GeoModelKernelUnits::cm));
+						    (scintiRC-(m_dbManager->TILBrmax()-m_dbManager->TILBrmin())/2)*Gaudi::Units::cm));
 	mother->add(idTag);
 	mother->add(tfWrapper);
 	mother->add(pvWrapper);
@@ -2181,26 +2182,26 @@ void TileGeoSectionBuilder::fillPeriod(GeoPhysVol*&              mother,
       if (glue)
       {
         if (m_verbose)
-            printdouble("      glue position = ",(-thickness + dzglue)*GeoModelKernelUnits::cm/2);
-	tfGlue = new GeoTransform(GeoTrf::Translate3D((-thickness + dzglue)*GeoModelKernelUnits::cm/2,0.,0.));
+            printdouble("      glue position = ",(-thickness + dzglue)*Gaudi::Units::cm/2);
+	tfGlue = new GeoTransform(GeoTrf::Translate3D((-thickness + dzglue)*Gaudi::Units::cm/2,0.,0.));
 	mother->add(tfGlue);
 	mother->add(pvGlue);
 
         if (m_verbose)
-            printdouble("      glue position = ",((-thickness + 3*dzglue)+m_dbManager->TILBdzmast())/2*GeoModelKernelUnits::cm);
-	tfGlue = new GeoTransform(GeoTrf::Translate3D(((-thickness + 3*dzglue)+m_dbManager->TILBdzmast())/2*GeoModelKernelUnits::cm,0.,0.));
+            printdouble("      glue position = ",((-thickness + 3*dzglue)+m_dbManager->TILBdzmast())/2*Gaudi::Units::cm);
+	tfGlue = new GeoTransform(GeoTrf::Translate3D(((-thickness + 3*dzglue)+m_dbManager->TILBdzmast())/2*Gaudi::Units::cm,0.,0.));
 	mother->add(tfGlue);
 	mother->add(pvGlue);
 
         if (m_verbose)
-            printdouble("      glue position = ",dzglue/2*GeoModelKernelUnits::cm);
-	tfGlue = new GeoTransform(GeoTrf::Translate3D(dzglue/2*GeoModelKernelUnits::cm,0.,0.));
+            printdouble("      glue position = ",dzglue/2*Gaudi::Units::cm);
+	tfGlue = new GeoTransform(GeoTrf::Translate3D(dzglue/2*Gaudi::Units::cm,0.,0.));
 	mother->add(tfGlue);
 	mother->add(pvGlue);
 
         if (m_verbose)
-            printdouble("      glue position = ",(3.*dzglue/2 + m_dbManager->TILBdzmast())*GeoModelKernelUnits::cm);
-	tfGlue = new GeoTransform(GeoTrf::Translate3D((3.*dzglue/2 + m_dbManager->TILBdzmast())*GeoModelKernelUnits::cm,0.,0.));
+            printdouble("      glue position = ",(3.*dzglue/2 + m_dbManager->TILBdzmast())*Gaudi::Units::cm);
+	tfGlue = new GeoTransform(GeoTrf::Translate3D((3.*dzglue/2 + m_dbManager->TILBdzmast())*Gaudi::Units::cm,0.,0.));
 	mother->add(tfGlue);
 	mother->add(pvGlue);
       }
@@ -2219,16 +2220,16 @@ void TileGeoSectionBuilder::fillPeriod(GeoPhysVol*&              mother,
         scintiDeltaInPhi = (m_uShape > 0) ? 0. : m_dbManager->SCNTdphi();
 
         thicknessWrapper = (m_dbManager->TILBdzspac() <= (scintiThickness + 2*scintiWrapInZ)) ?
-                           (scintiThickness + 2*scintiWrapInZ)*GeoModelKernelUnits::cm: m_dbManager->TILBdzspac()*GeoModelKernelUnits::cm;
+                           (scintiThickness + 2*scintiWrapInZ)*Gaudi::Units::cm: m_dbManager->TILBdzspac()*Gaudi::Units::cm;
         if (m_glue == 2)   thicknessWrapper = std::max(thicknessWrapper - m_additionalIronLayer, scintiThickness);
 
         // create wrapper
-        heightWrapper = (scintiHeight + 2*scintiWrapInR)*GeoModelKernelUnits::cm;
+        heightWrapper = (scintiHeight + 2*scintiWrapInR)*Gaudi::Units::cm;
 
         dy1Wrapper = ((scintiRC - scintiHeight/2 - scintiWrapInR + m_dbManager->TILBrmin()) *
-                     tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*GeoModelKernelUnits::cm;
+                     tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*Gaudi::Units::cm;
         dy2Wrapper = ((scintiRC + scintiHeight/2 + scintiWrapInR + m_dbManager->TILBrmin()) *
-                     tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*GeoModelKernelUnits::cm;
+                     tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*Gaudi::Units::cm;
 
         checking("Wrapper 2", true, 5, 
             thicknessWrapper/2,thicknessWrapper/2,dy1Wrapper,dy2Wrapper,heightWrapper/2);
@@ -2240,28 +2241,28 @@ void TileGeoSectionBuilder::fillPeriod(GeoPhysVol*&              mother,
 			     heightWrapper/2);
 
 	if (m_csTube) {
-          wrapper = makeHoles(wrapper, csHoleR, thicknessWrapper/2, scintiHeight/2.*GeoModelKernelUnits::cm - csTubeOffCorr);
+          wrapper = makeHoles(wrapper, csHoleR, thicknessWrapper/2, scintiHeight/2.*Gaudi::Units::cm - csTubeOffCorr);
         }
 	lvWrapper = new GeoLogVol("Wrapper",wrapper,matAir);
 	pvWrapper = new GeoPhysVol(lvWrapper);
 
         // create scintillator
         dy1Scintillator = ((scintiRC - scintiHeight/2 + m_dbManager->TILBrmin()) *
-                          tan_delta_phi_2 -  m_dbManager->TILBphigap()/2 - scintiDeltaInPhi)*GeoModelKernelUnits::cm;
+                          tan_delta_phi_2 -  m_dbManager->TILBphigap()/2 - scintiDeltaInPhi)*Gaudi::Units::cm;
         dy2Scintillator = ((scintiRC + scintiHeight/2 + m_dbManager->TILBrmin()) *
-                          tan_delta_phi_2 -  m_dbManager->TILBphigap()/2 - scintiDeltaInPhi)*GeoModelKernelUnits::cm;
+                          tan_delta_phi_2 -  m_dbManager->TILBphigap()/2 - scintiDeltaInPhi)*Gaudi::Units::cm;
 
         checking("Scintillator 2", true, 6, 
-                 scintiThickness/2*GeoModelKernelUnits::cm,scintiThickness/2*GeoModelKernelUnits::cm,dy1Scintillator,dy2Scintillator,scintiHeight/2*GeoModelKernelUnits::cm);
+                 scintiThickness/2*Gaudi::Units::cm,scintiThickness/2*Gaudi::Units::cm,dy1Scintillator,dy2Scintillator,scintiHeight/2*Gaudi::Units::cm);
 
-	scintillator = new GeoTrd(scintiThickness/2*GeoModelKernelUnits::cm,
-				  scintiThickness/2*GeoModelKernelUnits::cm,
+	scintillator = new GeoTrd(scintiThickness/2*Gaudi::Units::cm,
+				  scintiThickness/2*Gaudi::Units::cm,
 				  dy1Scintillator,
 				  dy2Scintillator,
-				  scintiHeight/2*GeoModelKernelUnits::cm);
+				  scintiHeight/2*Gaudi::Units::cm);
 
 	if (m_csTube) {
-          scintillator = makeHolesScint(scintillator, csHoleR, scintiThickness/2 * GeoModelKernelUnits::cm, scintiHeight/2.*GeoModelKernelUnits::cm - csTubeOffCorr);
+          scintillator = makeHolesScint(scintillator, csHoleR, scintiThickness/2 * Gaudi::Units::cm, scintiHeight/2.*Gaudi::Units::cm - csTubeOffCorr);
 	}
 	lvScintillator = new GeoLogVol("Scintillator",scintillator,matScin);
 	pvScintillator = new GeoPhysVol(lvScintillator);
@@ -2275,13 +2276,13 @@ void TileGeoSectionBuilder::fillPeriod(GeoPhysVol*&              mother,
         //place wrapper in period
         if (m_verbose) {
           (*m_log) << MSG::VERBOSE <<" X scintiZPos= "<<scintiZPos; 
-          printdouble("  ==>  ",(scintiZPos*thickness-m_dbManager->TILBdzspac()/2)*GeoModelKernelUnits::cm);
+          printdouble("  ==>  ",(scintiZPos*thickness-m_dbManager->TILBdzspac()/2)*Gaudi::Units::cm);
           (*m_log) << MSG::VERBOSE <<" Y scintiRC= "<<scintiRC <<endmsg;
         }
       
-	tfWrapper = new GeoTransform(GeoTrf::Translate3D((scintiZPos*thickness-m_dbManager->TILBdzspac()/2)*GeoModelKernelUnits::cm,
+	tfWrapper = new GeoTransform(GeoTrf::Translate3D((scintiZPos*thickness-m_dbManager->TILBdzspac()/2)*Gaudi::Units::cm,
 						    0.,
-						    (scintiRC-(m_dbManager->TILBrmax()-m_dbManager->TILBrmin())/2)*GeoModelKernelUnits::cm));
+						    (scintiRC-(m_dbManager->TILBrmax()-m_dbManager->TILBrmin())/2)*Gaudi::Units::cm));
 	mother->add(idTag);
 	mother->add(tfWrapper);
 	mother->add(pvWrapper);
@@ -2305,18 +2306,18 @@ void TileGeoSectionBuilder::fillPeriod(GeoPhysVol*&              mother,
         scintiDeltaInPhi = (m_uShape > 0) ? 0.0 : m_dbManager->SCNTdphi();
 
         thicknessWrapper = (m_dbManager->TILBdzspac() <= (scintiThickness + 2*scintiWrapInZ)) ?
-                           (scintiThickness + 2*scintiWrapInZ)*GeoModelKernelUnits::cm: m_dbManager->TILBdzspac()*GeoModelKernelUnits::cm;
+                           (scintiThickness + 2*scintiWrapInZ)*Gaudi::Units::cm: m_dbManager->TILBdzspac()*Gaudi::Units::cm;
         if (m_glue == 2)   thicknessWrapper = std::max(thicknessWrapper - m_additionalIronLayer, scintiThickness);
 
 	if(scintiZPos<0)
 	{
 	  idTag = new GeoIdentifierTag(j-CurrentScin);
 	  // create wrapper
-	  heightWrapper = (scintiHeight + 2*scintiWrapInR)*GeoModelKernelUnits::cm;
+	  heightWrapper = (scintiHeight + 2*scintiWrapInR)*Gaudi::Units::cm;
 	  dy1Wrapper = ((scintiRC - scintiHeight/2 - scintiWrapInR + m_dbManager->TILBrmin()) *
-                       tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*GeoModelKernelUnits::cm;
+                       tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*Gaudi::Units::cm;
 	  dy2Wrapper = ((scintiRC + scintiHeight/2 + scintiWrapInR + m_dbManager->TILBrmin()) *
-                       tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*GeoModelKernelUnits::cm;
+                       tan_delta_phi_2 - m_dbManager->TILBphigap()/2)*Gaudi::Units::cm;
 	  
           checking("Wrapper 3", true, 5, 
               thicknessWrapper/2,thicknessWrapper/2,dy1Wrapper,dy2Wrapper,heightWrapper/2);
@@ -2328,28 +2329,28 @@ void TileGeoSectionBuilder::fillPeriod(GeoPhysVol*&              mother,
 			       heightWrapper/2);
 
           if (m_csTube) {
-            wrapper = makeHoles(wrapper, csHoleR, thicknessWrapper/2, scintiHeight/2.*GeoModelKernelUnits::cm - csTubeOffCorr);
+            wrapper = makeHoles(wrapper, csHoleR, thicknessWrapper/2, scintiHeight/2.*Gaudi::Units::cm - csTubeOffCorr);
           }
 	  lvWrapper = new GeoLogVol("Wrapper",wrapper,matAir);
 	  pvWrapper = new GeoPhysVol(lvWrapper);
 
 	  // create scintillator
 	  dy1Scintillator = ((scintiRC - scintiHeight/2 + m_dbManager->TILBrmin()) *
-                            tan_delta_phi_2 -  m_dbManager->TILBphigap()/2 - scintiDeltaInPhi)*GeoModelKernelUnits::cm;
+                            tan_delta_phi_2 -  m_dbManager->TILBphigap()/2 - scintiDeltaInPhi)*Gaudi::Units::cm;
 	  dy2Scintillator = ((scintiRC + scintiHeight/2 + m_dbManager->TILBrmin()) *
-                            tan_delta_phi_2 -  m_dbManager->TILBphigap()/2 - scintiDeltaInPhi)*GeoModelKernelUnits::cm;
+                            tan_delta_phi_2 -  m_dbManager->TILBphigap()/2 - scintiDeltaInPhi)*Gaudi::Units::cm;
 	  
           checking("Scintillator 3", true, 6, 
-                   scintiThickness/2*GeoModelKernelUnits::cm,scintiThickness/2*GeoModelKernelUnits::cm,dy1Scintillator,dy2Scintillator,scintiHeight/2*GeoModelKernelUnits::cm);
+                   scintiThickness/2*Gaudi::Units::cm,scintiThickness/2*Gaudi::Units::cm,dy1Scintillator,dy2Scintillator,scintiHeight/2*Gaudi::Units::cm);
 
-	  scintillator = new GeoTrd(scintiThickness/2*GeoModelKernelUnits::cm,
-				    scintiThickness/2*GeoModelKernelUnits::cm,
+	  scintillator = new GeoTrd(scintiThickness/2*Gaudi::Units::cm,
+				    scintiThickness/2*Gaudi::Units::cm,
 				    dy1Scintillator,
 				    dy2Scintillator,
-				    scintiHeight/2*GeoModelKernelUnits::cm);
+				    scintiHeight/2*Gaudi::Units::cm);
 
           if (m_csTube) {
-            scintillator = makeHolesScint(scintillator, csHoleR, scintiThickness/2 * GeoModelKernelUnits::cm, scintiHeight/2.*GeoModelKernelUnits::cm - csTubeOffCorr);
+            scintillator = makeHolesScint(scintillator, csHoleR, scintiThickness/2 * Gaudi::Units::cm, scintiHeight/2.*Gaudi::Units::cm - csTubeOffCorr);
           }
 	  lvScintillator = new GeoLogVol("Scintillator",scintillator,matScin);
 	  pvScintillator = new GeoPhysVol(lvScintillator);
@@ -2368,7 +2369,7 @@ void TileGeoSectionBuilder::fillPeriod(GeoPhysVol*&              mother,
           
 	  tfWrapper = new GeoTransform(GeoTrf::Translate3D(0.,
 						      0.,
-						      (scintiRC-(m_dbManager->TILBrmax()-m_dbManager->TILBrmin())/2)*GeoModelKernelUnits::cm));
+						      (scintiRC-(m_dbManager->TILBrmax()-m_dbManager->TILBrmin())/2)*Gaudi::Units::cm));
 	  mother->add(idTag);
 	  mother->add(tfWrapper);
 	  mother->add(pvWrapper);
@@ -2401,13 +2402,13 @@ void TileGeoSectionBuilder::fillPeriod(GeoPhysVol*&              mother,
         scintiDeltaInPhi = m_dbManager->SCNTdphi(); // don't need to check m_uShape for single scintillator
 
         // create wrapper
-        heightWrapper = (scintiHeight + 2*scintiWrapInR)*GeoModelKernelUnits::cm;
-        thicknessWrapper = (scintiThickness + 2*scintiWrapInZ)*GeoModelKernelUnits::cm;
+        heightWrapper = (scintiHeight + 2*scintiWrapInR)*Gaudi::Units::cm;
+        thicknessWrapper = (scintiThickness + 2*scintiWrapInZ)*Gaudi::Units::cm;
         if (m_glue == 2)   thicknessWrapper = std::max(thicknessWrapper - m_additionalIronLayer, scintiThickness);
 
-        double thicknessEnvelope = (m_dbManager->TILBdzmodul()*GeoModelKernelUnits::cm - thicknessWrapper); // along phi thickness is twice bigger than along Z 
-        dy1Wrapper = dy1Period - thicknessEnvelope + ((scintiRC - scintiHeight/2. - scintiWrapInR)*tanphi)*GeoModelKernelUnits::cm;
-        dy2Wrapper = dy1Period - thicknessEnvelope + ((scintiRC + scintiHeight/2. + scintiWrapInR)*tanphi)*GeoModelKernelUnits::cm;
+        double thicknessEnvelope = (m_dbManager->TILBdzmodul()*Gaudi::Units::cm - thicknessWrapper); // along phi thickness is twice bigger than along Z 
+        dy1Wrapper = dy1Period - thicknessEnvelope + ((scintiRC - scintiHeight/2. - scintiWrapInR)*tanphi)*Gaudi::Units::cm;
+        dy2Wrapper = dy1Period - thicknessEnvelope + ((scintiRC + scintiHeight/2. + scintiWrapInR)*tanphi)*Gaudi::Units::cm;
 
         if(m_log->level()<=MSG::DEBUG)
             (*m_log) << MSG::DEBUG <<"Envelope thickness is " << thicknessEnvelope <<endmsg;
@@ -2423,17 +2424,17 @@ void TileGeoSectionBuilder::fillPeriod(GeoPhysVol*&              mother,
 	pvWrapper = new GeoPhysVol(lvWrapper);
 
         // create scintillator
-        dy1Scintillator = dy1Period - thicknessEnvelope + ((scintiRC - scintiHeight/2.)*tanphi - scintiDeltaInPhi)*GeoModelKernelUnits::cm;
-        dy2Scintillator = dy1Period - thicknessEnvelope + ((scintiRC + scintiHeight/2.)*tanphi - scintiDeltaInPhi)*GeoModelKernelUnits::cm;
+        dy1Scintillator = dy1Period - thicknessEnvelope + ((scintiRC - scintiHeight/2.)*tanphi - scintiDeltaInPhi)*Gaudi::Units::cm;
+        dy2Scintillator = dy1Period - thicknessEnvelope + ((scintiRC + scintiHeight/2.)*tanphi - scintiDeltaInPhi)*Gaudi::Units::cm;
 
         checking("Scintillator 4", true, 6, 
-            scintiThickness/2*GeoModelKernelUnits::cm,scintiThickness/2*GeoModelKernelUnits::cm,dy1Scintillator,dy2Scintillator,scintiHeight/2*GeoModelKernelUnits::cm);
+            scintiThickness/2*Gaudi::Units::cm,scintiThickness/2*Gaudi::Units::cm,dy1Scintillator,dy2Scintillator,scintiHeight/2*Gaudi::Units::cm);
 
-	scintillator = new GeoTrd(scintiThickness/2*GeoModelKernelUnits::cm,
-				  scintiThickness/2*GeoModelKernelUnits::cm,
+	scintillator = new GeoTrd(scintiThickness/2*Gaudi::Units::cm,
+				  scintiThickness/2*Gaudi::Units::cm,
 				  dy1Scintillator,
 				  dy2Scintillator,
-				  scintiHeight/2*GeoModelKernelUnits::cm);
+				  scintiHeight/2*Gaudi::Units::cm);
 	lvScintillator = new GeoLogVol("Scintillator",scintillator,matScin);
 	pvScintillator = new GeoPhysVol(lvScintillator);
 
@@ -2451,7 +2452,7 @@ void TileGeoSectionBuilder::fillPeriod(GeoPhysVol*&              mother,
         
 	tfWrapper = new GeoTransform(GeoTrf::Translate3D(0.,
 						    0.,
-						    (scintiRC-(m_dbManager->TILBrmax()-m_dbManager->TILBrmin())/2)*GeoModelKernelUnits::cm));
+						    (scintiRC-(m_dbManager->TILBrmax()-m_dbManager->TILBrmin())/2)*Gaudi::Units::cm));
 	mother->add(idTag);
 	mother->add(tfWrapper);
 	mother->add(pvWrapper);
@@ -2538,16 +2539,16 @@ void TileGeoSectionBuilder::fillDescriptor(TileDetDescriptor*&   descriptor,
   float drGap[] = {450., 380., 313., 341., 478., 362.};
 
   if (addPlates) {
-    rBarrel[0] -= 10*GeoModelKernelUnits::mm/2;
-    rBarrel[2] += 40*GeoModelKernelUnits::mm/2;
-    drBarrel[0] += 10*GeoModelKernelUnits::mm;
-    drBarrel[2] += 40*GeoModelKernelUnits::mm;
-    rExtended[0] -= 10*GeoModelKernelUnits::mm/2;
-    rExtended[2] += 40*GeoModelKernelUnits::mm/2;
-    drExtended[0] += 10*GeoModelKernelUnits::mm;
-    drExtended[2] += 40*GeoModelKernelUnits::mm;
-    rGap[1] += 40*GeoModelKernelUnits::mm/2;
-    drGap[1] += 40*GeoModelKernelUnits::mm;
+    rBarrel[0] -= 10*Gaudi::Units::mm/2;
+    rBarrel[2] += 40*Gaudi::Units::mm/2;
+    drBarrel[0] += 10*Gaudi::Units::mm;
+    drBarrel[2] += 40*Gaudi::Units::mm;
+    rExtended[0] -= 10*Gaudi::Units::mm/2;
+    rExtended[2] += 40*Gaudi::Units::mm/2;
+    drExtended[0] += 10*Gaudi::Units::mm;
+    drExtended[2] += 40*Gaudi::Units::mm;
+    rGap[1] += 40*Gaudi::Units::mm/2;
+    drGap[1] += 40*Gaudi::Units::mm;
   }
     
   int indHardcoded = 0;
@@ -2800,10 +2801,10 @@ void TileGeoSectionBuilder::computeCellDim(TileDetDescrManager*& manager,
       dzPeriod = m_extendedPeriodThickness;
     }
 
-    rMin = m_dbManager->TILBrmin() *GeoModelKernelUnits::cm;
-    if (addPlates) rMin -= m_dbManager->TILBdrfront() *GeoModelKernelUnits::cm;
+    rMin = m_dbManager->TILBrmin() *Gaudi::Units::cm;
+    if (addPlates) rMin -= m_dbManager->TILBdrfront() *Gaudi::Units::cm;
     CurrentScin = 100*m_dbManager->TILBsection() + 1;
-    //dzMaster = m_dbManager->TILBdzmast()*GeoModelKernelUnits::cm;
+    //dzMaster = m_dbManager->TILBdzmast()*Gaudi::Units::cm;
 
     /** Initialize rMin, rMax vectors  - once per region
         Initial values for zMin - leftmost edge
@@ -2815,13 +2816,13 @@ void TileGeoSectionBuilder::computeCellDim(TileDetDescrManager*& manager,
 
       if ( (j == CurrentScin + m_dbManager->TILBnscin() - 1) && addPlates ) {
         // use end of the master as end of last cell 
-        rMax = m_dbManager->TILBrmax()*GeoModelKernelUnits::cm; 
+        rMax = m_dbManager->TILBrmax()*Gaudi::Units::cm; 
       } else {
         double tileSize=m_dbManager->SCNTdr();
         if (m_dbManager->SCNTdrw() > 0)
           // round to integer for all tiles except gap scin 
           tileSize=round(tileSize); 
-        rMax = (m_dbManager->TILBrmin() + m_dbManager->SCNTrc() + tileSize/2)*GeoModelKernelUnits::cm;
+        rMax = (m_dbManager->TILBrmin() + m_dbManager->SCNTrc() + tileSize/2)*Gaudi::Units::cm;
       }
 
       rmins.push_back(rMin);
@@ -2829,19 +2830,19 @@ void TileGeoSectionBuilder::computeCellDim(TileDetDescrManager*& manager,
       rMin = rMax;
 
       if(detector == TILE_REGION_CENTRAL) {
-	zmins.push_back((-m_dbManager->TILBdzmast()/2 - m_barrelGlue*(1./GeoModelKernelUnits::cm) 
-                         -(m_dbManager->TILBdzmodul()/2-m_dbManager->TILBdzend1()))*GeoModelKernelUnits::cm);
-        zEnd1Lim = (-m_dbManager->TILBdzmodul()/2+m_dbManager->TILBdzend1())*GeoModelKernelUnits::cm;
-        zEnd2Lim = ( m_dbManager->TILBdzmodul()/2-m_dbManager->TILBdzend2())*GeoModelKernelUnits::cm;
-        zEnd1 = (-m_dbManager->TILBdzmodul()/2)*GeoModelKernelUnits::cm;
-        zEnd2 = ( m_dbManager->TILBdzmodul()/2)*GeoModelKernelUnits::cm;
+	zmins.push_back((-m_dbManager->TILBdzmast()/2 - m_barrelGlue*(1./Gaudi::Units::cm) 
+                         -(m_dbManager->TILBdzmodul()/2-m_dbManager->TILBdzend1()))*Gaudi::Units::cm);
+        zEnd1Lim = (-m_dbManager->TILBdzmodul()/2+m_dbManager->TILBdzend1())*Gaudi::Units::cm;
+        zEnd2Lim = ( m_dbManager->TILBdzmodul()/2-m_dbManager->TILBdzend2())*Gaudi::Units::cm;
+        zEnd1 = (-m_dbManager->TILBdzmodul()/2)*Gaudi::Units::cm;
+        zEnd2 = ( m_dbManager->TILBdzmodul()/2)*Gaudi::Units::cm;
       }
       else {
-	zmins.push_back((m_dbManager->TILBzoffset() - m_dbManager->TILBdzmodul()/2 + m_dbManager->TILBdzend1())*GeoModelKernelUnits::cm);
-        zEnd1Lim = (m_dbManager->TILBzoffset() - m_dbManager->TILBdzmodul()/2+m_dbManager->TILBdzend1()+0.001)*GeoModelKernelUnits::cm;
-        zEnd2Lim = (m_dbManager->TILBzoffset() + m_dbManager->TILBdzmodul()/2-m_dbManager->TILBdzend2()-0.001)*GeoModelKernelUnits::cm;
-        zEnd1 = (m_dbManager->TILBzoffset() - m_dbManager->TILBdzmodul()/2)*GeoModelKernelUnits::cm;
-        zEnd2 = (m_dbManager->TILBzoffset() + m_dbManager->TILBdzmodul()/2)*GeoModelKernelUnits::cm;
+	zmins.push_back((m_dbManager->TILBzoffset() - m_dbManager->TILBdzmodul()/2 + m_dbManager->TILBdzend1())*Gaudi::Units::cm);
+        zEnd1Lim = (m_dbManager->TILBzoffset() - m_dbManager->TILBdzmodul()/2+m_dbManager->TILBdzend1()+0.001)*Gaudi::Units::cm;
+        zEnd2Lim = (m_dbManager->TILBzoffset() + m_dbManager->TILBdzmodul()/2-m_dbManager->TILBdzend2()-0.001)*Gaudi::Units::cm;
+        zEnd1 = (m_dbManager->TILBzoffset() - m_dbManager->TILBdzmodul()/2)*Gaudi::Units::cm;
+        zEnd2 = (m_dbManager->TILBzoffset() + m_dbManager->TILBdzmodul()/2)*Gaudi::Units::cm;
       }
       
       zmaxs.push_back(0.);
@@ -3006,7 +3007,7 @@ void TileGeoSectionBuilder::computeCellDim(TileDetDescrManager*& manager,
                         << cellDim->getRMax(jj) << " "
                         << cellDim->getZMin(jj) << " "
                         << cellDim->getZMax(jj) << "\n";
-            std::cout << " >> Cell Volume is " << cellDim->getVolume()*(1./GeoModelKernelUnits::cm3) << " cm^3\n";
+            std::cout << " >> Cell Volume is " << cellDim->getVolume()*(1./Gaudi::Units::cm3) << " cm^3\n";
 
             if(detector != TILE_REGION_CENTRAL)
             {
@@ -3016,7 +3017,7 @@ void TileGeoSectionBuilder::computeCellDim(TileDetDescrManager*& manager,
                           << cellDimNeg->getRMax(jj) << " "
                           << cellDimNeg->getZMin(jj) << " "
                           << cellDimNeg->getZMax(jj) << "\n";
-              std::cout << " >> CellNeg Volume is " << cellDimNeg->getVolume()*(1./GeoModelKernelUnits::cm3) << " cm^3\n";
+              std::cout << " >> CellNeg Volume is " << cellDimNeg->getVolume()*(1./Gaudi::Units::cm3) << " cm^3\n";
             }
           }
 	  /* ------------------------------------------------------------------------------------------------ */	  
@@ -3052,8 +3053,8 @@ void TileGeoSectionBuilder::computeCellDim(TileDetDescrManager*& manager,
         m_dbManager->SetNextTiclInDet();
       }
 
-      rMin = m_dbManager->TILBrmin()*GeoModelKernelUnits::cm;
-      if (addPlates) rMin -= m_dbManager->TILBdrfront() *GeoModelKernelUnits::cm;
+      rMin = m_dbManager->TILBrmin()*Gaudi::Units::cm;
+      if (addPlates) rMin -= m_dbManager->TILBdrfront() *Gaudi::Units::cm;
       CurrentScin = 100*m_dbManager->TILBsection() + 1;
 
       for (unsigned int j = CurrentScin; j < (CurrentScin + m_dbManager->TILBnscin()); j++)
@@ -3062,33 +3063,33 @@ void TileGeoSectionBuilder::computeCellDim(TileDetDescrManager*& manager,
 
         if ( (j == CurrentScin + m_dbManager->TILBnscin() - 1)  && addPlates ) {
           /** use end of the master as end of last cell */
-          rMax = m_dbManager->TILBrmax()*GeoModelKernelUnits::cm; 
+          rMax = m_dbManager->TILBrmax()*Gaudi::Units::cm; 
           /** subtract from C10 thickness of D4 front plate  */
           if (addPlates && sec)
-            rMax -= m_dbManager->TILBdrfront()*GeoModelKernelUnits::cm;
+            rMax -= m_dbManager->TILBdrfront()*Gaudi::Units::cm;
         } else {
           double tileSize=m_dbManager->SCNTdr();
           if (m_dbManager->SCNTdrw() > 0)
             /** round to integer for all tiles except gap scin */
             tileSize=round(tileSize); 
-          rMax = (m_dbManager->TILBrmin() + m_dbManager->SCNTrc() + tileSize/2)*GeoModelKernelUnits::cm;
+          rMax = (m_dbManager->TILBrmin() + m_dbManager->SCNTrc() + tileSize/2)*Gaudi::Units::cm;
         }
 
         rmins.push_back(rMin);
         rmaxs.push_back(rMax);
         rMin = rMax;
         
-        zEnd1Lim = (m_dbManager->TILBzoffset() - m_dbManager->TILBdzmodul()/2+m_dbManager->TILBdzend1()+0.001)*GeoModelKernelUnits::cm;
-        zEnd2Lim = (m_dbManager->TILBzoffset() + m_dbManager->TILBdzmodul()/2-m_dbManager->TILBdzend2()-0.001)*GeoModelKernelUnits::cm;
-        zEnd1 = (m_dbManager->TILBzoffset() - m_dbManager->TILBdzmodul()/2)*GeoModelKernelUnits::cm;
-        zEnd2 = (m_dbManager->TILBzoffset() + m_dbManager->TILBdzmodul()/2)*GeoModelKernelUnits::cm;
+        zEnd1Lim = (m_dbManager->TILBzoffset() - m_dbManager->TILBdzmodul()/2+m_dbManager->TILBdzend1()+0.001)*Gaudi::Units::cm;
+        zEnd2Lim = (m_dbManager->TILBzoffset() + m_dbManager->TILBdzmodul()/2-m_dbManager->TILBdzend2()-0.001)*Gaudi::Units::cm;
+        zEnd1 = (m_dbManager->TILBzoffset() - m_dbManager->TILBdzmodul()/2)*Gaudi::Units::cm;
+        zEnd2 = (m_dbManager->TILBzoffset() + m_dbManager->TILBdzmodul()/2)*Gaudi::Units::cm;
 
         if ( addPlates ) {
-          zmins.push_back((m_dbManager->TILBzoffset() - m_dbManager->TILBdzmodul()/2)*GeoModelKernelUnits::cm);
-          zmaxs.push_back((m_dbManager->TILBzoffset() + m_dbManager->TILBdzmodul()/2)*GeoModelKernelUnits::cm);
+          zmins.push_back((m_dbManager->TILBzoffset() - m_dbManager->TILBdzmodul()/2)*Gaudi::Units::cm);
+          zmaxs.push_back((m_dbManager->TILBzoffset() + m_dbManager->TILBdzmodul()/2)*Gaudi::Units::cm);
         } else {
-          zmins.push_back((m_dbManager->TILBzoffset() - m_dbManager->TILBdzmodul()/2 + m_dbManager->TILBdzend1())*GeoModelKernelUnits::cm);
-          zmaxs.push_back((m_dbManager->TILBzoffset() + m_dbManager->TILBdzmodul()/2 - m_dbManager->TILBdzend2())*GeoModelKernelUnits::cm);
+          zmins.push_back((m_dbManager->TILBzoffset() - m_dbManager->TILBdzmodul()/2 + m_dbManager->TILBdzend1())*Gaudi::Units::cm);
+          zmaxs.push_back((m_dbManager->TILBzoffset() + m_dbManager->TILBdzmodul()/2 - m_dbManager->TILBdzend2())*Gaudi::Units::cm);
         }
       }
 
@@ -3138,7 +3139,7 @@ void TileGeoSectionBuilder::computeCellDim(TileDetDescrManager*& manager,
                     << cellDim->getRMax(jj) << " "
                     << cellDim->getZMin(jj) << " "
                     << cellDim->getZMax(jj) << "\n";
-        std::cout<< " >> Cell Volume is " << cellDim->getVolume()*(1./GeoModelKernelUnits::cm3) << " cm^3\n";
+        std::cout<< " >> Cell Volume is " << cellDim->getVolume()*(1./Gaudi::Units::cm3) << " cm^3\n";
     
         std::cout << " >> CellDimNeg contains " << cellDimNeg->getNRows() << " rows\n";
         for(unsigned int jj=0; jj<cellDimNeg->getNRows(); jj++)
@@ -3146,7 +3147,7 @@ void TileGeoSectionBuilder::computeCellDim(TileDetDescrManager*& manager,
                     << cellDimNeg->getRMax(jj) << " "
                     << cellDimNeg->getZMin(jj) << " "
                     << cellDimNeg->getZMax(jj) << "\n";
-        std::cout << " >> CellNeg Volume is " << cellDimNeg->getVolume()*(1./GeoModelKernelUnits::cm3) << " cm^3\n";
+        std::cout << " >> CellNeg Volume is " << cellDimNeg->getVolume()*(1./Gaudi::Units::cm3) << " cm^3\n";
       }
 /* -------------------------------------------- */
     }
@@ -3169,20 +3170,20 @@ void TileGeoSectionBuilder::computeCellDim(TileDetDescrManager*& manager,
 	CurrentScin = 100*m_dbManager->TILBsection()+1;
       }
 
-      rMin = m_dbManager->TILBrmin()*GeoModelKernelUnits::cm;
+      rMin = m_dbManager->TILBrmin()*Gaudi::Units::cm;
 
       // Initialize rMin, rMax, zMin, zMax vectors
       for (unsigned int j = CurrentScin; j < (CurrentScin + m_dbManager->TILBnscin()); j++)
       {
 	m_dbManager->SetCurrentScin(j);
-	rMax = rMin + m_dbManager->SCNTdr()*GeoModelKernelUnits::cm;
+	rMax = rMin + m_dbManager->SCNTdr()*Gaudi::Units::cm;
 	
 	rmins.push_back(rMin);
 	rmaxs.push_back(rMax);
 	rMin = rMax;
 	
-	zmins.push_back((m_dbManager->TILBzoffset() - m_dbManager->TILBdzmodul()/2)*GeoModelKernelUnits::cm);
-	zmaxs.push_back((m_dbManager->TILBzoffset() + m_dbManager->TILBdzmodul()/2)*GeoModelKernelUnits::cm);
+	zmins.push_back((m_dbManager->TILBzoffset() - m_dbManager->TILBdzmodul()/2)*Gaudi::Units::cm);
+	zmaxs.push_back((m_dbManager->TILBzoffset() + m_dbManager->TILBdzmodul()/2)*Gaudi::Units::cm);
       }
 
       // Iterate through scintillators and create corresponding TileCellDim objects (+/-)
@@ -3230,7 +3231,7 @@ void TileGeoSectionBuilder::computeCellDim(TileDetDescrManager*& manager,
                       << cellDim->getRMax(jj) << " "
                       << cellDim->getZMin(jj) << " "
                       << cellDim->getZMax(jj) << "\n";
-          std::cout << " >> Cell Volume is " << cellDim->getVolume()*(1./GeoModelKernelUnits::cm3) << " cm^3\n";
+          std::cout << " >> Cell Volume is " << cellDim->getVolume()*(1./Gaudi::Units::cm3) << " cm^3\n";
     
           std::cout << " >> CellDimNeg contains " << cellDimNeg->getNRows() << " rows\n";
           for(unsigned int jj=0; jj<cellDimNeg->getNRows(); jj++)
@@ -3238,7 +3239,7 @@ void TileGeoSectionBuilder::computeCellDim(TileDetDescrManager*& manager,
                       << cellDimNeg->getRMax(jj) << " "
                       << cellDimNeg->getZMin(jj) << " "
                       << cellDimNeg->getZMax(jj) << "\n";
-          std::cout << " >> CellNeg Volume is " << cellDimNeg->getVolume()*(1./GeoModelKernelUnits::cm3) << " cm^3\n";
+          std::cout << " >> CellNeg Volume is " << cellDimNeg->getVolume()*(1./Gaudi::Units::cm3) << " cm^3\n";
         }
 /* -------------------------------------------- */
       }
@@ -3280,10 +3281,10 @@ void TileGeoSectionBuilder::calculateZ(int detector,
   // first - find position in ideal world before Z-shift and misalignment
   if (detector == TILE_REGION_CENTRAL) {
     // need to split one cylinder in pos/neg halves
-    float zmin=m_dbManager->TILBzoffset()/2 * GeoModelKernelUnits::cm ;
-    float zmax=zmin+m_dbManager->TILBdzmodul()/2 * GeoModelKernelUnits::cm ;
+    float zmin=m_dbManager->TILBzoffset()/2 * Gaudi::Units::cm ;
+    float zmax=zmin+m_dbManager->TILBdzmodul()/2 * Gaudi::Units::cm ;
     if (sample==3) { // fix for D0 cell 
-      float D0size = 560.58/307*40 * GeoModelKernelUnits::cm; // size of D0 along Z in GeoModelKernelUnits::cm
+      float D0size = 560.58/307*40 * Gaudi::Units::cm; // size of D0 along Z in Gaudi::Units::cm
                                   // FIXME:: should be taken from DB
       if (side>0) // positive
         zmin = - D0size/2;
@@ -3293,13 +3294,13 @@ void TileGeoSectionBuilder::calculateZ(int detector,
     zcenter = (zmin+zmax)/2;
     dz = (zmax-zmin);
   } else if (detector == TILE_REGION_GAP && (sample > 9) ){
-    zcenter=m_dbManager->TILBzoffset() * GeoModelKernelUnits::cm ;
+    zcenter=m_dbManager->TILBzoffset() * Gaudi::Units::cm ;
     m_dbManager->SetCurrentScin(100*m_dbManager->TILBsection() + 1 );
-    dz =  m_dbManager->SCNTdt()*GeoModelKernelUnits::cm;
+    dz =  m_dbManager->SCNTdt()*Gaudi::Units::cm;
   }
   else {
-    zcenter=m_dbManager->TILBzoffset() * GeoModelKernelUnits::cm ;
-    dz=m_dbManager->TILBdzmodul() * GeoModelKernelUnits::cm ;
+    zcenter=m_dbManager->TILBzoffset() * Gaudi::Units::cm ;
+    dz=m_dbManager->TILBdzmodul() * Gaudi::Units::cm ;
   }
 
   // apply zshift from ideal pseudo-projective eta (which includes alignment also!)
@@ -3425,18 +3426,18 @@ void TileGeoSectionBuilder::printdouble(const char * name, double val)
 }
 
 const GeoShape * TileGeoSectionBuilder::makeHolesScint(const GeoShape * mother, double R, double H2, double off, double off0) {
-    GeoShape *hole = new GeoTubs(0., R, H2, 0., 360.0 * GeoModelKernelUnits::deg);
+    GeoShape *hole = new GeoTubs(0., R, H2, 0., 360.0 * Gaudi::Units::deg);
     const  GeoShapeUnion& scintUnion = hole->add( *hole << GeoTrf::Translate3D((off0-off*2.0),0.,0.));
-    GeoTrf::Transform3D tfHole = GeoTrf::Translate3D(0.,0.,(off0-off)) * GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+    GeoTrf::Transform3D tfHole = GeoTrf::Translate3D(0.,0.,(off0-off)) * GeoTrf::RotateY3D(90*Gaudi::Units::deg);
     const GeoShape & motherWithHoles = (mother->subtract(scintUnion<<tfHole));
     return &motherWithHoles;
 }
 
 const GeoShape * TileGeoSectionBuilder::makeHoles(const GeoShape * mother, double R, double H2, double off, double off0) {
-  GeoShape *hole1 = new GeoTubs(0., R, H2, 0., 360.0 * GeoModelKernelUnits::deg);
-  GeoShape *hole2 = new GeoTubs(0., R, H2, 0., 360.0 * GeoModelKernelUnits::deg);
-  GeoTrf::Transform3D tfHole1 = GeoTrf::Translate3D(0.,0.,(off0-off)) * GeoTrf::RotateY3D(-90*GeoModelKernelUnits::deg);
-  GeoTrf::Transform3D tfHole2 = GeoTrf::Translate3D(0.,0.,(off0+off)) * GeoTrf::RotateY3D(-90*GeoModelKernelUnits::deg);
+  GeoShape *hole1 = new GeoTubs(0., R, H2, 0., 360.0 * Gaudi::Units::deg);
+  GeoShape *hole2 = new GeoTubs(0., R, H2, 0., 360.0 * Gaudi::Units::deg);
+  GeoTrf::Transform3D tfHole1 = GeoTrf::Translate3D(0.,0.,(off0-off)) * GeoTrf::RotateY3D(-90*Gaudi::Units::deg);
+  GeoTrf::Transform3D tfHole2 = GeoTrf::Translate3D(0.,0.,(off0+off)) * GeoTrf::RotateY3D(-90*Gaudi::Units::deg);
   const GeoShape & motherWithHoles = (mother->subtract((*hole1)<<tfHole1).subtract((*hole2)<<tfHole2));
   return &motherWithHoles;
 }
diff --git a/TileCalorimeter/TileGeoModel/src/TileTBFactory.cxx b/TileCalorimeter/TileGeoModel/src/TileTBFactory.cxx
index 8a25b3f8affb..99656aa20219 100755
--- a/TileCalorimeter/TileGeoModel/src/TileTBFactory.cxx
+++ b/TileCalorimeter/TileGeoModel/src/TileTBFactory.cxx
@@ -20,7 +20,6 @@
 #include "GeoModelKernel/GeoShapeUnion.h"
 #include "GeoModelKernel/GeoShapeShift.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
 
 #include "GeoGenericFunctions/AbsFunction.h"
 #include "GeoGenericFunctions/Variable.h"
@@ -33,6 +32,7 @@
 #include "StoreGate/StoreGateSvc.h"
 
 #include "GaudiKernel/MsgStream.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <stdexcept>
 #include <iostream>
@@ -181,11 +181,11 @@ void TileTBFactory::create(GeoPhysVol *world)
   //int EnvNumLayer = 64;
   //dbManager->SetCurrentSection(TileDddbManager::TILE_BARREL);
   //double deltaPhi = 360./dbManager->TILEnmodul();
-  GeoTubs* tileTBEnv = new GeoTubs(RInMin * GeoModelKernelUnits::cm,
-				   ROutMax * GeoModelKernelUnits::cm,
-				   tileTBEnvThickness/2.0 * GeoModelKernelUnits::cm,
-				   PhiMin*GeoModelKernelUnits::deg,
-				   (PhiMax - PhiMin)*GeoModelKernelUnits::deg);
+  GeoTubs* tileTBEnv = new GeoTubs(RInMin * Gaudi::Units::cm,
+				   ROutMax * Gaudi::Units::cm,
+				   tileTBEnvThickness/2.0 * Gaudi::Units::cm,
+				   PhiMin*Gaudi::Units::deg,
+				   (PhiMax - PhiMin)*Gaudi::Units::deg);
   
   (*m_log) << MSG::DEBUG << "TileTB envelope parameters: " 
       << " length=" << tileTBEnvThickness << " cm"
@@ -213,19 +213,19 @@ void TileTBFactory::create(GeoPhysVol *world)
     //----------------------- BUILDING ENVELOPES------------------------
     
     // It may be usful on the way of universalization
-    //    GeoTubs* GeneralMother = new GeoTubs((dbManager->GetEnvRin()) * GeoModelKernelUnits::cm,
-    //					 (dbManager->GetEnvRout()) * GeoModelKernelUnits::cm,
-    //				 (dbManager->GetEnvZLength())/2.0 * GeoModelKernelUnits::cm,
-    //				 0.0 * deltaPhi * GeoModelKernelUnits::deg,
-    //				 (NumberOfMod)*deltaPhi*GeoModelKernelUnits::deg);
+    //    GeoTubs* GeneralMother = new GeoTubs((dbManager->GetEnvRin()) * Gaudi::Units::cm,
+    //					 (dbManager->GetEnvRout()) * Gaudi::Units::cm,
+    //				 (dbManager->GetEnvZLength())/2.0 * Gaudi::Units::cm,
+    //				 0.0 * deltaPhi * Gaudi::Units::deg,
+    //				 (NumberOfMod)*deltaPhi*Gaudi::Units::deg);
   
     if(EnvType == 1) {
 
-      GeoTubs* GeneralMother = new GeoTubs((dbManager->GetEnvRin()) * GeoModelKernelUnits::cm,
-					   (dbManager->GetEnvRout()) * GeoModelKernelUnits::cm,
-					   (dbManager->GetEnvZLength() - 2 * BFingerLength)/2.0 * GeoModelKernelUnits::cm,
-					   0.0 * GeoModelKernelUnits::deg,
-					   NumberOfMod*deltaPhi*GeoModelKernelUnits::deg);
+      GeoTubs* GeneralMother = new GeoTubs((dbManager->GetEnvRin()) * Gaudi::Units::cm,
+					   (dbManager->GetEnvRout()) * Gaudi::Units::cm,
+					   (dbManager->GetEnvZLength() - 2 * BFingerLength)/2.0 * Gaudi::Units::cm,
+					   0.0 * Gaudi::Units::deg,
+					   NumberOfMod*deltaPhi*Gaudi::Units::deg);
 
       GeoTubs* barrelMother = GeneralMother;      
       GeoLogVol* lvBarrelMother = new GeoLogVol("Barrel",barrelMother,matAir);
@@ -241,11 +241,11 @@ void TileTBFactory::create(GeoPhysVol *world)
       //Envelopes for two barrel fingers
       dbManager->SetCurrentTifg(2);  //use small size for barrel finger !
 
-      GeoTubs* fingerMother = new GeoTubs(FingerRmin*GeoModelKernelUnits::cm,
-      					  dbManager->GetEnvRout()*GeoModelKernelUnits::cm,
-      					  BFingerLength/2.*GeoModelKernelUnits::cm,
-      					  0.0 * GeoModelKernelUnits::deg,
-      					  NumberOfMod*deltaPhi*GeoModelKernelUnits::deg);
+      GeoTubs* fingerMother = new GeoTubs(FingerRmin*Gaudi::Units::cm,
+      					  dbManager->GetEnvRout()*Gaudi::Units::cm,
+      					  BFingerLength/2.*Gaudi::Units::cm,
+      					  0.0 * Gaudi::Units::deg,
+      					  NumberOfMod*deltaPhi*Gaudi::Units::deg);
 
       GeoLogVol* lvFingerMother = new GeoLogVol("Finger",fingerMother,matAir);
       pvFingerMotherPos = new GeoFullPhysVol(lvFingerMother);
@@ -260,11 +260,11 @@ void TileTBFactory::create(GeoPhysVol *world)
     }
     
     if(EnvType == 3) {   
-      GeoTubs* GeneralMother = new GeoTubs((dbManager->GetEnvRin()) * GeoModelKernelUnits::cm,
-					   (dbManager->GetEnvRout()) * GeoModelKernelUnits::cm,
-					   (dbManager->GetEnvZLength() - EBFingerLength)/2.0 * GeoModelKernelUnits::cm,
-					   0.0 * GeoModelKernelUnits::deg,
-					   NumberOfMod*deltaPhi*GeoModelKernelUnits::deg);
+      GeoTubs* GeneralMother = new GeoTubs((dbManager->GetEnvRin()) * Gaudi::Units::cm,
+					   (dbManager->GetEnvRout()) * Gaudi::Units::cm,
+					   (dbManager->GetEnvZLength() - EBFingerLength)/2.0 * Gaudi::Units::cm,
+					   0.0 * Gaudi::Units::deg,
+					   NumberOfMod*deltaPhi*Gaudi::Units::deg);
 
       GeoTubs* ebarrelMotherPos = GeneralMother;
       GeoLogVol* lvEBarrelMotherPos = new GeoLogVol("EBarrel",ebarrelMotherPos,matAir);
@@ -278,11 +278,11 @@ void TileTBFactory::create(GeoPhysVol *world)
           << endmsg;
 
       //Envelope for finger separately
-      GeoTubs* fingerMother = new GeoTubs(FingerRmin*GeoModelKernelUnits::cm,
-					  dbManager->GetEnvRout()*GeoModelKernelUnits::cm,
-					  EBFingerLength/2.*GeoModelKernelUnits::cm,
-					  0.0 * GeoModelKernelUnits::deg,
-					  NumberOfMod*deltaPhi*GeoModelKernelUnits::deg);
+      GeoTubs* fingerMother = new GeoTubs(FingerRmin*Gaudi::Units::cm,
+					  dbManager->GetEnvRout()*Gaudi::Units::cm,
+					  EBFingerLength/2.*Gaudi::Units::cm,
+					  0.0 * Gaudi::Units::deg,
+					  NumberOfMod*deltaPhi*Gaudi::Units::deg);
 
       GeoLogVol* lvEFingerMother = new GeoLogVol("EFinger",fingerMother,matAir);
       pvEFingerMotherPos = new GeoFullPhysVol(lvEFingerMother);
@@ -296,11 +296,11 @@ void TileTBFactory::create(GeoPhysVol *world)
     }
     
     if(EnvType == 2) {    
-      GeoTubs* GeneralMother = new GeoTubs((dbManager->GetEnvRin()) * GeoModelKernelUnits::cm,
-					   (dbManager->GetEnvRout()) * GeoModelKernelUnits::cm,
-					   (dbManager->GetEnvZLength() - EBFingerLength)/2.0 * GeoModelKernelUnits::cm,
-					   0.0 * GeoModelKernelUnits::deg,
-					   NumberOfMod*deltaPhi*GeoModelKernelUnits::deg);
+      GeoTubs* GeneralMother = new GeoTubs((dbManager->GetEnvRin()) * Gaudi::Units::cm,
+					   (dbManager->GetEnvRout()) * Gaudi::Units::cm,
+					   (dbManager->GetEnvZLength() - EBFingerLength)/2.0 * Gaudi::Units::cm,
+					   0.0 * Gaudi::Units::deg,
+					   NumberOfMod*deltaPhi*Gaudi::Units::deg);
       GeoTubs* ebarrelMotherNeg = GeneralMother;
       GeoLogVol* lvEBarrelMotherNeg = new GeoLogVol("EBarrel",ebarrelMotherNeg,matAir);  
       pvEBarrelMotherNeg = new GeoFullPhysVol(lvEBarrelMotherNeg);
@@ -313,11 +313,11 @@ void TileTBFactory::create(GeoPhysVol *world)
           << endmsg;
 
       //Envelope for finger separately
-      GeoTubs* fingerMother = new GeoTubs(FingerRmin*GeoModelKernelUnits::cm,
-					  dbManager->GetEnvRout()*GeoModelKernelUnits::cm,
-					  EBFingerLength/2.*GeoModelKernelUnits::cm,
-					  0.0 * GeoModelKernelUnits::deg,
-					  NumberOfMod*deltaPhi*GeoModelKernelUnits::deg);
+      GeoTubs* fingerMother = new GeoTubs(FingerRmin*Gaudi::Units::cm,
+					  dbManager->GetEnvRout()*Gaudi::Units::cm,
+					  EBFingerLength/2.*Gaudi::Units::cm,
+					  0.0 * Gaudi::Units::deg,
+					  NumberOfMod*deltaPhi*Gaudi::Units::deg);
       
       GeoLogVol* lvEFingerMother = new GeoLogVol("EFinger",fingerMother,matAir);
       pvEFingerMotherNeg = new GeoFullPhysVol(lvEFingerMother);
@@ -331,11 +331,11 @@ void TileTBFactory::create(GeoPhysVol *world)
     }
     
     if(EnvType == 5) {
-      GeoTubs* GeneralMother = new GeoTubs((dbManager->GetEnvRin()) * GeoModelKernelUnits::cm,
-					   (dbManager->GetEnvRout()) * GeoModelKernelUnits::cm,
-					   (dbManager->GetEnvZLength())/2.0 * GeoModelKernelUnits::cm,
-					   0.0 * GeoModelKernelUnits::deg,
-					   NumberOfMod*deltaPhi*GeoModelKernelUnits::deg);
+      GeoTubs* GeneralMother = new GeoTubs((dbManager->GetEnvRin()) * Gaudi::Units::cm,
+					   (dbManager->GetEnvRout()) * Gaudi::Units::cm,
+					   (dbManager->GetEnvZLength())/2.0 * Gaudi::Units::cm,
+					   0.0 * Gaudi::Units::deg,
+					   NumberOfMod*deltaPhi*Gaudi::Units::deg);
       
       GeoTubs* itcMother = GeneralMother;
       GeoLogVol* lvITCMother = new GeoLogVol("ITC",itcMother,matAir);
@@ -350,11 +350,11 @@ void TileTBFactory::create(GeoPhysVol *world)
     }
     
     if(EnvType == 4) {
-      GeoTubs* GeneralMother = new GeoTubs((dbManager->GetEnvRin()) * GeoModelKernelUnits::cm,
-					   (dbManager->GetEnvRout()) * GeoModelKernelUnits::cm,
-					   (dbManager->GetEnvZLength())/2.0 * GeoModelKernelUnits::cm,
-					   0.0 * GeoModelKernelUnits::deg,
-					   NumberOfMod*deltaPhi*GeoModelKernelUnits::deg);
+      GeoTubs* GeneralMother = new GeoTubs((dbManager->GetEnvRin()) * Gaudi::Units::cm,
+					   (dbManager->GetEnvRout()) * Gaudi::Units::cm,
+					   (dbManager->GetEnvZLength())/2.0 * Gaudi::Units::cm,
+					   0.0 * Gaudi::Units::deg,
+					   NumberOfMod*deltaPhi*Gaudi::Units::deg);
 
       GeoTubs* itcMotherNeg = GeneralMother;
       GeoLogVol* lvITCMotherNeg = new GeoLogVol("ITC",itcMotherNeg,matAir);
@@ -386,17 +386,17 @@ void TileTBFactory::create(GeoPhysVol *world)
           << endmsg;
           
       Variable varInd;
-      GENFUNCTION phiInd = deltaPhi*(varInd + ModCounter + 0.5) * GeoModelKernelUnits::deg; 
+      GENFUNCTION phiInd = deltaPhi*(varInd + ModCounter + 0.5) * Gaudi::Units::deg; 
 
 
       //------------------- BARREL BLOCKS -------------------------------------
      
       if( EnvType == 1 || EnvType == 0 ) { // normal barrel module or module zero
         dbManager->SetCurrentSectionByNumber(ModType);	  
-        thicknessWedgeMother = dbManager->TILBdzmodul() * GeoModelKernelUnits::cm;
-        heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * GeoModelKernelUnits::cm;
-        dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-        dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+        thicknessWedgeMother = dbManager->TILBdzmodul() * Gaudi::Units::cm;
+        heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * Gaudi::Units::cm;
+        dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
+        dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
        
         dzGlue = (dbManager->TILBdzmodul() - dbManager->TILBdzend1() - dbManager->TILBdzend2() - (dbManager->TILBnperiod()*2.*(dbManager->TILBdzmast() + dbManager->TILBdzspac()) - dbManager->TILBdzmast()))/(2.*(2.*dbManager->TILBnperiod() - 1));
        
@@ -417,7 +417,7 @@ void TileTBFactory::create(GeoPhysVol *world)
                                     dzGlue,
                                     deltaPhi); 
        
-        TRANSFUNCTION xfBarrelModuleMother = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILBrmaximal()+dbManager->TILBrminimal())/2.*GeoModelKernelUnits::cm)*GeoTrf::RotateX3D(180*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+        TRANSFUNCTION xfBarrelModuleMother = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILBrmaximal()+dbManager->TILBrminimal())/2.*Gaudi::Units::cm)*GeoTrf::RotateX3D(180*Gaudi::Units::deg)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
 
         GeoSerialTransformer* stBarrelModuleMother = new GeoSerialTransformer(pvBarrelModuleMother,
                                                                               &xfBarrelModuleMother,
@@ -433,10 +433,10 @@ void TileTBFactory::create(GeoPhysVol *world)
 
         // Trd - one finger mother
 
-        thicknessWedgeMother = dbManager->TIFGdz() * GeoModelKernelUnits::cm;
-        heightWedgeMother = (dbManager->TILErmax() - dbManager->TILBrmax()) * GeoModelKernelUnits::cm;
-        dy1WedgeMother = dbManager->TILBrmax() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-        dy2WedgeMother = dbManager->TILErmax() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+        thicknessWedgeMother = dbManager->TIFGdz() * Gaudi::Units::cm;
+        heightWedgeMother = (dbManager->TILErmax() - dbManager->TILBrmax()) * Gaudi::Units::cm;
+        dy1WedgeMother = dbManager->TILBrmax() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
+        dy2WedgeMother = dbManager->TILErmax() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
        
         GeoTrd* fingerModuleMother = new GeoTrd(thicknessWedgeMother/2.,
                                                 thicknessWedgeMother/2.,
@@ -454,10 +454,10 @@ void TileTBFactory::create(GeoPhysVol *world)
                                    deltaPhi,
                                    m_testbeamGeometry,
                                    ModuleNcp,
-                                   thicknessWedgeMother*(1./GeoModelKernelUnits::cm));
+                                   thicknessWedgeMother*(1./Gaudi::Units::cm));
        
         // --- Position N modules inside mother (positive/negative) -----
-        TRANSFUNCTION xfFingerModuleMotherPos = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILErmax()+dbManager->TILBrmax())/2.*GeoModelKernelUnits::cm)*GeoTrf::RotateX3D(180*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+        TRANSFUNCTION xfFingerModuleMotherPos = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILErmax()+dbManager->TILBrmax())/2.*Gaudi::Units::cm)*GeoTrf::RotateX3D(180*Gaudi::Units::deg)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
         
         GeoSerialTransformer* stFingerModuleMotherPos = new GeoSerialTransformer(pvFingerModuleMother,
                                                                                  &xfFingerModuleMotherPos,
@@ -465,7 +465,7 @@ void TileTBFactory::create(GeoPhysVol *world)
         pvFingerMotherPos->add(new GeoSerialIdentifier(ModPositionNumber));
         pvFingerMotherPos->add(stFingerModuleMotherPos);
        
-        TRANSFUNCTION xfFingerModuleMotherNeg = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILErmax()+dbManager->TILBrmax())/2.*GeoModelKernelUnits::cm)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+        TRANSFUNCTION xfFingerModuleMotherNeg = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILErmax()+dbManager->TILBrmax())/2.*Gaudi::Units::cm)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
 
         GeoSerialTransformer* stFingerModuleMotherNeg = new GeoSerialTransformer(pvFingerModuleMother,
                                                                                  &xfFingerModuleMotherNeg,
@@ -480,10 +480,10 @@ void TileTBFactory::create(GeoPhysVol *world)
       if((ModType == 2)&&(EnvType == 3)){
         dbManager->SetCurrentSectionByNumber(ModType);
         // Trd - module mother 
-        thicknessWedgeMother = dbManager->TILBdzmodul() * GeoModelKernelUnits::cm;
-        heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * GeoModelKernelUnits::cm;
-        dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-        dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+        thicknessWedgeMother = dbManager->TILBdzmodul() * Gaudi::Units::cm;
+        heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * Gaudi::Units::cm;
+        dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
+        dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
         
         dzGlue = (dbManager->TILBdzmodul() - dbManager->TILBdzend1() - dbManager->TILBdzend2() - dbManager->TILBnperiod()*2.*(dbManager->TILBdzmast() + dbManager->TILBdzspac()))/(4.*dbManager->TILBnperiod());
         
@@ -504,7 +504,7 @@ void TileTBFactory::create(GeoPhysVol *world)
                                     dzGlue,
                                     deltaPhi);
              
-        TRANSFUNCTION xfEBarrelModuleMotherPos = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILBrmaximal()+dbManager->TILBrminimal())/2.*GeoModelKernelUnits::cm)*GeoTrf::RotateX3D(180*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+        TRANSFUNCTION xfEBarrelModuleMotherPos = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILBrmaximal()+dbManager->TILBrminimal())/2.*Gaudi::Units::cm)*GeoTrf::RotateX3D(180*Gaudi::Units::deg)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
         
         GeoSerialTransformer* stEBarrelModuleMotherPos = new GeoSerialTransformer(pvEBarrelModuleMotherPos,
                                                                                   &xfEBarrelModuleMotherPos,
@@ -518,10 +518,10 @@ void TileTBFactory::create(GeoPhysVol *world)
         dbManager->SetCurrentTifg(2);  //barrel efinger (small)
         
         // Trd - one finger mother
-        thicknessWedgeMother = dbManager->TIFGdz() * GeoModelKernelUnits::cm;
-        heightWedgeMother = (dbManager->TILErmax() - dbManager->TILBrmax()) * GeoModelKernelUnits::cm;
-        dy1WedgeMother = dbManager->TILBrmax() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-        dy2WedgeMother = dbManager->TILErmax() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+        thicknessWedgeMother = dbManager->TIFGdz() * Gaudi::Units::cm;
+        heightWedgeMother = (dbManager->TILErmax() - dbManager->TILBrmax()) * Gaudi::Units::cm;
+        dy1WedgeMother = dbManager->TILBrmax() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
+        dy2WedgeMother = dbManager->TILErmax() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
         
         GeoTrd* efingerModuleMother = new GeoTrd(thicknessWedgeMother/2.,
                                                  thicknessWedgeMother/2.,
@@ -542,7 +542,7 @@ void TileTBFactory::create(GeoPhysVol *world)
         
         // --- Position N modules inside mother (positive/negative) -----
   
-        TRANSFUNCTION xfEFingerModuleMotherPos = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILErmax()+dbManager->TILBrmax())/2.*GeoModelKernelUnits::cm)*GeoTrf::RotateX3D(180*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+        TRANSFUNCTION xfEFingerModuleMotherPos = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILErmax()+dbManager->TILBrmax())/2.*Gaudi::Units::cm)*GeoTrf::RotateX3D(180*Gaudi::Units::deg)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
         
         GeoSerialTransformer* stEFingerModuleMotherPos = new GeoSerialTransformer(pvEFingerModuleMother,
                                                                                   &xfEFingerModuleMotherPos,
@@ -557,10 +557,10 @@ void TileTBFactory::create(GeoPhysVol *world)
       if((ModType == 2)&&(EnvType == 2)){
         dbManager->SetCurrentSectionByNumber(ModType);
         // Trd - module mother 
-        thicknessWedgeMother = dbManager->TILBdzmodul() * GeoModelKernelUnits::cm;
-        heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * GeoModelKernelUnits::cm;
-        dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-        dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+        thicknessWedgeMother = dbManager->TILBdzmodul() * Gaudi::Units::cm;
+        heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * Gaudi::Units::cm;
+        dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
+        dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
         
         dzGlue = (dbManager->TILBdzmodul() - dbManager->TILBdzend1() - dbManager->TILBdzend2() - dbManager->TILBnperiod()*2.*(dbManager->TILBdzmast() + dbManager->TILBdzspac()))/(4.*dbManager->TILBnperiod());
   
@@ -581,7 +581,7 @@ void TileTBFactory::create(GeoPhysVol *world)
                                     dzGlue,
                                     deltaPhi);
       
-        TRANSFUNCTION xfEBarrelModuleMotherNeg = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILBrmaximal()+dbManager->TILBrminimal())/2.*GeoModelKernelUnits::cm)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+        TRANSFUNCTION xfEBarrelModuleMotherNeg = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILBrmaximal()+dbManager->TILBrminimal())/2.*Gaudi::Units::cm)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
 
         GeoSerialTransformer* stEBarrelModuleMotherNeg = new GeoSerialTransformer(pvEBarrelModuleMotherNeg,
                                                                                   &xfEBarrelModuleMotherNeg,
@@ -596,10 +596,10 @@ void TileTBFactory::create(GeoPhysVol *world)
         
         //zEndSection = extOffset + dbManager->TILBdzmodul()/2. + dbManager->TILEzshift();
         // Trd - one finger mother
-        thicknessWedgeMother = dbManager->TIFGdz() * GeoModelKernelUnits::cm;
-        heightWedgeMother = (dbManager->TILErmax() - dbManager->TILBrmax()) * GeoModelKernelUnits::cm;
-        dy1WedgeMother = dbManager->TILBrmax() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-        dy2WedgeMother = dbManager->TILErmax() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+        thicknessWedgeMother = dbManager->TIFGdz() * Gaudi::Units::cm;
+        heightWedgeMother = (dbManager->TILErmax() - dbManager->TILBrmax()) * Gaudi::Units::cm;
+        dy1WedgeMother = dbManager->TILBrmax() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
+        dy2WedgeMother = dbManager->TILErmax() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
         
         GeoTrd* efingerModuleMother = new GeoTrd(thicknessWedgeMother/2.,
                                                  thicknessWedgeMother/2.,
@@ -618,7 +618,7 @@ void TileTBFactory::create(GeoPhysVol *world)
                                    deltaPhi,
                                    m_testbeamGeometry);
           
-        TRANSFUNCTION xfEFingerModuleMotherNeg = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILErmax()+dbManager->TILBrmax())/2.*GeoModelKernelUnits::cm)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+        TRANSFUNCTION xfEFingerModuleMotherNeg = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILErmax()+dbManager->TILBrmax())/2.*Gaudi::Units::cm)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
 
         GeoSerialTransformer* stEFingerModuleMotherNeg = new GeoSerialTransformer(pvEFingerModuleMother,
                                                                                   &xfEFingerModuleMotherNeg,
@@ -638,10 +638,10 @@ void TileTBFactory::create(GeoPhysVol *world)
         dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG1);
         
         // Common mother for ITC1/2 modules
-        thicknessWedgeMother = dbManager->TILBdzmodul() * GeoModelKernelUnits::cm;
-        heightWedgeMother = (dbManager->TILBrmaximal() - rMinITC) * GeoModelKernelUnits::cm;
-        dy1WedgeMother = rMinITC * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-        dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+        thicknessWedgeMother = dbManager->TILBdzmodul() * Gaudi::Units::cm;
+        heightWedgeMother = (dbManager->TILBrmaximal() - rMinITC) * Gaudi::Units::cm;
+        dy1WedgeMother = rMinITC * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
+        dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
         
         GeoTrd* itcModuleMotherPos = new GeoTrd(thicknessWedgeMother/2.,
                                                 thicknessWedgeMother/2.,
@@ -658,10 +658,10 @@ void TileTBFactory::create(GeoPhysVol *world)
         // 2. Mother for frontplate (since it's short)
         
         //First submother
-        thicknessWedgeMother = dbManager->TILBdzmodul() * GeoModelKernelUnits::cm;
-        heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrmin()) * GeoModelKernelUnits::cm;
-        dy1WedgeMother = dbManager->TILBrmin() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-        dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+        thicknessWedgeMother = dbManager->TILBdzmodul() * Gaudi::Units::cm;
+        heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrmin()) * Gaudi::Units::cm;
+        dy1WedgeMother = dbManager->TILBrmin() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
+        dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
         
         dzGlue = (dbManager->TILBdzmodul() - dbManager->TILBdzend1() - dbManager->TILBdzend2() - dbManager->TILBnperiod()*2.*(dbManager->TILBdzmast() + dbManager->TILBdzspac()))/(4.*dbManager->TILBnperiod());
         
@@ -672,19 +672,19 @@ void TileTBFactory::create(GeoPhysVol *world)
                                             heightWedgeMother/2.);
         
         //Second submother
-        thicknessWedgeMother = (dbManager->TILBdzmodul() - dzITC2) * GeoModelKernelUnits::cm;
-        heightWedgeMother = (dbManager->TILBrmin() - dbManager->TILBrminimal()) * GeoModelKernelUnits::cm;
-        dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-        dy2WedgeMother = dbManager->TILBrmin() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+        thicknessWedgeMother = (dbManager->TILBdzmodul() - dzITC2) * Gaudi::Units::cm;
+        heightWedgeMother = (dbManager->TILBrmin() - dbManager->TILBrminimal()) * Gaudi::Units::cm;
+        dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
+        dy2WedgeMother = dbManager->TILBrmin() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
         GeoTrd* plug2SubMother = new GeoTrd(thicknessWedgeMother/2.,
                                             thicknessWedgeMother/2.,
                                             dy1WedgeMother,
                                             dy2WedgeMother,
                                             heightWedgeMother/2.);
         
-        GeoTrf::Translate3D plug1SubOffset(-dzITC2*GeoModelKernelUnits::cm/2.,
+        GeoTrf::Translate3D plug1SubOffset(-dzITC2*Gaudi::Units::cm/2.,
                                       0.,
-                                      (dbManager->TILBrminimal()-dbManager->TILBrmaximal())*GeoModelKernelUnits::cm/2.);
+                                      (dbManager->TILBrminimal()-dbManager->TILBrmaximal())*Gaudi::Units::cm/2.);
         
         const GeoShapeUnion& plug1ModuleMother = plug1SubMother->add(*plug2SubMother<<plug1SubOffset);
         GeoLogVol* lvPlug1ModuleMother = new GeoLogVol("Plug1Module",&plug1ModuleMother,matAir);
@@ -701,7 +701,7 @@ void TileTBFactory::create(GeoPhysVol *world)
         
         GeoTransform* tfPlug1ModuleMother = new GeoTransform(GeoTrf::Translate3D(0.,
                                                                             0.,
-                                                                            (dbManager->TILBrmin()-rMinITC)*GeoModelKernelUnits::cm/2.));
+                                                                            (dbManager->TILBrmin()-rMinITC)*Gaudi::Units::cm/2.));
         
         
         pvITCModuleMotherPos->add(tfPlug1ModuleMother);
@@ -709,10 +709,10 @@ void TileTBFactory::create(GeoPhysVol *world)
         	 
         //Mother volume for ITC2
         dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG2);
-        thicknessWedgeMother = dbManager->TILBdzmodul() * GeoModelKernelUnits::cm;
-        heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * GeoModelKernelUnits::cm;
-        dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-        dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+        thicknessWedgeMother = dbManager->TILBdzmodul() * Gaudi::Units::cm;
+        heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * Gaudi::Units::cm;
+        dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
+        dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
         dzGlue = (dbManager->TILBdzmodul() - dbManager->TILBdzend1() - dbManager->TILBdzend2() - ((dbManager->TILBnperiod()-1)*2.*(dbManager->TILBdzmast() + dbManager->TILBdzspac()) + dbManager->TILBdzspac()))/(4.*(dbManager->TILBnperiod() - 1));
         
         GeoTrd* plug2ModuleMother = new GeoTrd(thicknessWedgeMother/2.,
@@ -734,13 +734,13 @@ void TileTBFactory::create(GeoPhysVol *world)
         
         
         dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG1);
-        GeoTransform* tfPlug2ModuleMother = new GeoTransform(GeoTrf::Translate3D((dbManager->TILBdzmodul() - dzITC2)*GeoModelKernelUnits::cm/2.,
+        GeoTransform* tfPlug2ModuleMother = new GeoTransform(GeoTrf::Translate3D((dbManager->TILBdzmodul() - dzITC2)*Gaudi::Units::cm/2.,
                                                                             0.,
-                                                                            (dbManager->TILBrmin() - dbManager->TILBrmaximal())*GeoModelKernelUnits::cm/2.));
+                                                                            (dbManager->TILBrmin() - dbManager->TILBrmaximal())*Gaudi::Units::cm/2.));
         pvITCModuleMotherPos->add(tfPlug2ModuleMother);
         pvITCModuleMotherPos->add(pvPlug2ModuleMother);
         
-        TRANSFUNCTION xfITCModuleMotherPos = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILBrmaximal()+rMinITC)/2.*GeoModelKernelUnits::cm)*GeoTrf::RotateX3D(180*GeoModelKernelUnits::deg)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+        TRANSFUNCTION xfITCModuleMotherPos = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILBrmaximal()+rMinITC)/2.*Gaudi::Units::cm)*GeoTrf::RotateX3D(180*Gaudi::Units::deg)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
         
         GeoSerialTransformer* stITCModuleMotherPos = new GeoSerialTransformer(pvITCModuleMotherPos,
                                                                               &xfITCModuleMotherPos,
@@ -760,10 +760,10 @@ void TileTBFactory::create(GeoPhysVol *world)
         dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG1);
           
         // Common mother for ITC1/2 modules
-        thicknessWedgeMother = dbManager->TILBdzmodul() * GeoModelKernelUnits::cm;
-        heightWedgeMother = (dbManager->TILBrmaximal() - rMinITC) * GeoModelKernelUnits::cm;
-        dy1WedgeMother = rMinITC * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-        dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+        thicknessWedgeMother = dbManager->TILBdzmodul() * Gaudi::Units::cm;
+        heightWedgeMother = (dbManager->TILBrmaximal() - rMinITC) * Gaudi::Units::cm;
+        dy1WedgeMother = rMinITC * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
+        dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
           
         GeoTrd* itcModuleMotherNeg = new GeoTrd(thicknessWedgeMother/2.,
                                                 thicknessWedgeMother/2.,
@@ -780,10 +780,10 @@ void TileTBFactory::create(GeoPhysVol *world)
         // 2. Mother for frontplate (since it's short)
           
         //First submother
-        thicknessWedgeMother = dbManager->TILBdzmodul() * GeoModelKernelUnits::cm;
-        heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrmin()) * GeoModelKernelUnits::cm;
-        dy1WedgeMother = dbManager->TILBrmin() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-        dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+        thicknessWedgeMother = dbManager->TILBdzmodul() * Gaudi::Units::cm;
+        heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrmin()) * Gaudi::Units::cm;
+        dy1WedgeMother = dbManager->TILBrmin() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
+        dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
           
         dzGlue = (dbManager->TILBdzmodul() - dbManager->TILBdzend1() - dbManager->TILBdzend2() - dbManager->TILBnperiod()*2.*(dbManager->TILBdzmast() + dbManager->TILBdzspac()))/(4.*dbManager->TILBnperiod());
           
@@ -794,19 +794,19 @@ void TileTBFactory::create(GeoPhysVol *world)
                                             heightWedgeMother/2.);
           
         //Second submother
-        thicknessWedgeMother = (dbManager->TILBdzmodul() - dzITC2) * GeoModelKernelUnits::cm;
-        heightWedgeMother = (dbManager->TILBrmin() - dbManager->TILBrminimal()) * GeoModelKernelUnits::cm;
-        dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-        dy2WedgeMother = dbManager->TILBrmin() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+        thicknessWedgeMother = (dbManager->TILBdzmodul() - dzITC2) * Gaudi::Units::cm;
+        heightWedgeMother = (dbManager->TILBrmin() - dbManager->TILBrminimal()) * Gaudi::Units::cm;
+        dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
+        dy2WedgeMother = dbManager->TILBrmin() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
         GeoTrd* plug2SubMother = new GeoTrd(thicknessWedgeMother/2.,
                                             thicknessWedgeMother/2.,
                                             dy1WedgeMother,
                                             dy2WedgeMother,
                                             heightWedgeMother/2.);
           
-        GeoTrf::Translate3D plug1SubOffset(-dzITC2*GeoModelKernelUnits::cm/2.,
+        GeoTrf::Translate3D plug1SubOffset(-dzITC2*Gaudi::Units::cm/2.,
                                       0.,
-                                      (dbManager->TILBrminimal()-dbManager->TILBrmaximal())*GeoModelKernelUnits::cm/2.);
+                                      (dbManager->TILBrminimal()-dbManager->TILBrmaximal())*Gaudi::Units::cm/2.);
           
         const GeoShapeUnion& plug1ModuleMother = plug1SubMother->add(*plug2SubMother<<plug1SubOffset);
         GeoLogVol* lvPlug1ModuleMother = new GeoLogVol("Plug1Module",&plug1ModuleMother,matAir);
@@ -824,7 +824,7 @@ void TileTBFactory::create(GeoPhysVol *world)
         
         GeoTransform* tfPlug1ModuleMother = new GeoTransform(GeoTrf::Translate3D(0.,
                                                                             0.,
-                                                                            (dbManager->TILBrmin()-rMinITC)*GeoModelKernelUnits::cm/2.));
+                                                                            (dbManager->TILBrmin()-rMinITC)*Gaudi::Units::cm/2.));
           
           
         pvITCModuleMotherNeg->add(tfPlug1ModuleMother);
@@ -832,10 +832,10 @@ void TileTBFactory::create(GeoPhysVol *world)
           	 
         //Mother volume for ITC2
         dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG2);
-        thicknessWedgeMother = dbManager->TILBdzmodul() * GeoModelKernelUnits::cm;
-        heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * GeoModelKernelUnits::cm;
-        dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
-        dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2.*GeoModelKernelUnits::deg) * GeoModelKernelUnits::cm;
+        thicknessWedgeMother = dbManager->TILBdzmodul() * Gaudi::Units::cm;
+        heightWedgeMother = (dbManager->TILBrmaximal() - dbManager->TILBrminimal()) * Gaudi::Units::cm;
+        dy1WedgeMother = dbManager->TILBrminimal() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
+        dy2WedgeMother = dbManager->TILBrmaximal() * tan(deltaPhi/2.*Gaudi::Units::deg) * Gaudi::Units::cm;
         dzGlue = (dbManager->TILBdzmodul() - dbManager->TILBdzend1() - dbManager->TILBdzend2() - ((dbManager->TILBnperiod()-1)*2.*(dbManager->TILBdzmast() + dbManager->TILBdzspac()) + dbManager->TILBdzspac()))/(4.*(dbManager->TILBnperiod() - 1));
           
         GeoTrd* plug2ModuleMother = new GeoTrd(thicknessWedgeMother/2.,
@@ -857,13 +857,13 @@ void TileTBFactory::create(GeoPhysVol *world)
         
           
         dbManager->SetCurrentSection(TileDddbManager::TILE_PLUG1);
-        GeoTransform* tfPlug2ModuleMother = new GeoTransform(GeoTrf::Translate3D((dbManager->TILBdzmodul() - dzITC2)*GeoModelKernelUnits::cm/2.,
+        GeoTransform* tfPlug2ModuleMother = new GeoTransform(GeoTrf::Translate3D((dbManager->TILBdzmodul() - dzITC2)*Gaudi::Units::cm/2.,
                                                                             0.,
-                                                                            (dbManager->TILBrmin() - dbManager->TILBrmaximal())*GeoModelKernelUnits::cm/2.));
+                                                                            (dbManager->TILBrmin() - dbManager->TILBrmaximal())*Gaudi::Units::cm/2.));
         pvITCModuleMotherNeg->add(tfPlug2ModuleMother);
         pvITCModuleMotherNeg->add(pvPlug2ModuleMother);
           
-        TRANSFUNCTION xfITCModuleMotherNeg = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILBrmaximal()+rMinITC)/2.*GeoModelKernelUnits::cm)*GeoTrf::RotateY3D(90*GeoModelKernelUnits::deg);
+        TRANSFUNCTION xfITCModuleMotherNeg = Pow(GeoTrf::RotateZ3D(1.0),phiInd)*GeoTrf::TranslateX3D((dbManager->TILBrmaximal()+rMinITC)/2.*Gaudi::Units::cm)*GeoTrf::RotateY3D(90*Gaudi::Units::deg);
           
         GeoSerialTransformer* stITCModuleMotherNeg = new GeoSerialTransformer(pvITCModuleMotherNeg,
                                                                               &xfITCModuleMotherNeg,
@@ -890,7 +890,7 @@ void TileTBFactory::create(GeoPhysVol *world)
       else {
         ztrans = 0;
       }
-      tfBarrelMother = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) * GeoTrf::RotateZ3D((dbManager->GetEnvDPhi())*GeoModelKernelUnits::deg));
+      tfBarrelMother = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) * GeoTrf::RotateZ3D((dbManager->GetEnvDPhi())*Gaudi::Units::deg));
       (*m_log) << MSG::DEBUG << "Positioning barrel with translation " << ztrans << " cm" << endmsg;
       GeoNameTag* ntBarrelModuleMother = new GeoNameTag("Barrel"); 
 
@@ -912,7 +912,7 @@ void TileTBFactory::create(GeoPhysVol *world)
       else {
         ztrans = 0;
       }
-      tfFingerMotherPos = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) * GeoTrf::RotateZ3D((dbManager->GetEnvDPhi())*GeoModelKernelUnits::deg));
+      tfFingerMotherPos = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) * GeoTrf::RotateZ3D((dbManager->GetEnvDPhi())*Gaudi::Units::deg));
       (*m_log) << MSG::DEBUG << "Positioning positive barrel finger with translation " << ztrans
           << " cm and rotation " << dbManager->GetEnvDPhi() << " deg " << endmsg;
       GeoNameTag* ntFingerMotherPos = new GeoNameTag("TileFingerPos");
@@ -934,7 +934,7 @@ void TileTBFactory::create(GeoPhysVol *world)
       else {
         ztrans = 0;
       }
-      tfFingerMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) * GeoTrf::RotateZ3D((dbManager->GetEnvDPhi())*GeoModelKernelUnits::deg));
+      tfFingerMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) * GeoTrf::RotateZ3D((dbManager->GetEnvDPhi())*Gaudi::Units::deg));
       (*m_log) << MSG::DEBUG << "Positioning negative barrel finger with translation " << ztrans 
           << " cm and rotation " << dbManager->GetEnvDPhi() << " deg " << endmsg;
       GeoNameTag* ntFingerMotherNeg = new GeoNameTag("TileFingerNeg");
@@ -947,7 +947,7 @@ void TileTBFactory::create(GeoPhysVol *world)
 
     if(EnvType == 3) { // positive ext.barrel is always at positive boundary, after finger
       ztrans = (tileTBEnvThickness/2. - dbManager->GetEnvZLength()/2. - EBFingerLength/2.);
-      GeoTransform* tfEBarrelMotherPos = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) * GeoTrf::RotateZ3D(dbManager->GetEnvDPhi() * GeoModelKernelUnits::deg));
+      GeoTransform* tfEBarrelMotherPos = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) * GeoTrf::RotateZ3D(dbManager->GetEnvDPhi() * Gaudi::Units::deg));
       (*m_log) << MSG::DEBUG << "Positioning positive ext.barrel with translation " << ztrans
           << " cm and rotation " << dbManager->GetEnvDPhi() << " deg " << endmsg;
       
@@ -957,7 +957,7 @@ void TileTBFactory::create(GeoPhysVol *world)
       pvTileTBEnv->add(pvEBarrelMotherPos);
       
       ztrans = (tileTBEnvThickness/2. - EBFingerLength/2.);
-      GeoTransform* tfEFingerMotherPos = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) * GeoTrf::RotateZ3D(dbManager->GetEnvDPhi() * GeoModelKernelUnits::deg));
+      GeoTransform* tfEFingerMotherPos = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) * GeoTrf::RotateZ3D(dbManager->GetEnvDPhi() * Gaudi::Units::deg));
       (*m_log) << MSG::DEBUG << "Positioning positive ext.barrel finger with translation " << ztrans
           << " cm and rotation " << dbManager->GetEnvDPhi() << " deg " << endmsg;
 
@@ -970,7 +970,7 @@ void TileTBFactory::create(GeoPhysVol *world)
    
     if(EnvType == 2) { // negative ext.barrel is always at negative boundary, after finger
       ztrans = (-tileTBEnvThickness/2. + dbManager->GetEnvZLength()/2. + EBFingerLength/2.);
-      GeoTransform* tfEBarrelMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) * GeoTrf::RotateZ3D(dbManager->GetEnvDPhi() * GeoModelKernelUnits::deg));
+      GeoTransform* tfEBarrelMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) * GeoTrf::RotateZ3D(dbManager->GetEnvDPhi() * Gaudi::Units::deg));
       (*m_log) << MSG::DEBUG << "Positioning negative ext.barrel with translation " << ztrans
           << " cm and rotation " << dbManager->GetEnvDPhi() << " deg " << endmsg;
       
@@ -980,7 +980,7 @@ void TileTBFactory::create(GeoPhysVol *world)
       pvTileTBEnv->add(pvEBarrelMotherNeg);
       
       ztrans = (-tileTBEnvThickness/2. + EBFingerLength/2.);
-      GeoTransform* tfEFingerMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) * GeoTrf::RotateZ3D(dbManager->GetEnvDPhi() * GeoModelKernelUnits::deg));
+      GeoTransform* tfEFingerMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) * GeoTrf::RotateZ3D(dbManager->GetEnvDPhi() * Gaudi::Units::deg));
       (*m_log) << MSG::DEBUG << "Positioning negative ext.barrel finger with translation " << ztrans
           << " cm and rotation " << dbManager->GetEnvDPhi() << " deg " << endmsg;
 
@@ -993,7 +993,7 @@ void TileTBFactory::create(GeoPhysVol *world)
 
     if(EnvType == 5) { // positive ITC attached to positive ext.barrel
       ztrans = (tileTBEnvThickness/2. - ZLengthEBarrelPos - dbManager->GetEnvZLength()/2.);
-      GeoTransform* tfITCMotherPos = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) * GeoTrf::RotateZ3D(dbManager->GetEnvDPhi() * GeoModelKernelUnits::deg));
+      GeoTransform* tfITCMotherPos = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) * GeoTrf::RotateZ3D(dbManager->GetEnvDPhi() * Gaudi::Units::deg));
       (*m_log) << MSG::DEBUG << "Positioning positive ITC with translation " << ztrans
           << " cm and rotation " << dbManager->GetEnvDPhi() << " deg " << endmsg;
 
@@ -1005,7 +1005,7 @@ void TileTBFactory::create(GeoPhysVol *world)
 
     if(EnvType == 4) { // negative ITC attached to negative ext.barrel
       ztrans = (-tileTBEnvThickness/2. + ZLengthEBarrelNeg + dbManager->GetEnvZLength()/2.);
-      GeoTransform* tfITCMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*GeoModelKernelUnits::cm) * GeoTrf::RotateZ3D(dbManager->GetEnvDPhi() * GeoModelKernelUnits::deg));
+      GeoTransform* tfITCMotherNeg = new GeoTransform(GeoTrf::TranslateZ3D(ztrans*Gaudi::Units::cm) * GeoTrf::RotateZ3D(dbManager->GetEnvDPhi() * Gaudi::Units::deg));
       (*m_log) << MSG::DEBUG << "Positioning negative ITC with translation " << ztrans
           << " cm and rotation " << dbManager->GetEnvDPhi() << " deg " << endmsg;
 
@@ -1026,12 +1026,12 @@ void TileTBFactory::create(GeoPhysVol *world)
     dbManager->SetCurrentEnvByIndex(EnvCounter);
     int EnvType = dbManager->GetEnvType();
     int NumberOfMod = dbManager->GetEnvNModules();
-    float Zshift = dbManager->GetEnvZShift() * GeoModelKernelUnits::cm;
+    float Zshift = dbManager->GetEnvZShift() * Gaudi::Units::cm;
     (*m_log) << MSG::DEBUG 
         << "EnvCounter is " << EnvCounter
         << " EnvType is " << EnvType
         << " Nmodules is " << NumberOfMod
-        << " Zshift is " << Zshift*(1./GeoModelKernelUnits::cm) << " cm"
+        << " Zshift is " << Zshift*(1./Gaudi::Units::cm) << " cm"
         << endmsg;
 
     if(EnvType == 1 || EnvType == 0) { // central barrel
diff --git a/TileCalorimeter/TileTrackingGeometry/src/TileVolumeBuilder.cxx b/TileCalorimeter/TileTrackingGeometry/src/TileVolumeBuilder.cxx
index 17da0de67111..52d0e521ea52 100755
--- a/TileCalorimeter/TileTrackingGeometry/src/TileVolumeBuilder.cxx
+++ b/TileCalorimeter/TileTrackingGeometry/src/TileVolumeBuilder.cxx
@@ -50,11 +50,12 @@
 #include "TrkSurfaces/DiscBounds.h"
 // Gaudi
 #include "GaudiKernel/MsgStream.h"
+#include "GaudiKernel/SystemOfUnits.h"
 // StoreGate
 #include "StoreGate/StoreGateSvc.h"
 #include "CxxUtils/make_unique.h"
 
-using GeoModelKernelUnits::mm;
+using Gaudi::Units::mm;
 using CxxUtils::make_unique;
 
 // constructor
-- 
GitLab


From 997f658fc35cfa8bcd02ebde196bbb3eaf9be04e Mon Sep 17 00:00:00 2001
From: Vakho Tsulaia <vakhtang.tsulaia@cern.ch>
Date: Fri, 25 Jan 2019 02:58:28 +0100
Subject: [PATCH 101/192] Migrated several packages from GeoModelKernelUnits to
 Gaudi::Units

All units migrated except GeoModelKernelUnits::gram/g, which is different from Gaudi::Units::gram/g
---
 .../src/ForwardRegionGeoModelElements.cxx     | 129 +++---
 .../src/ForwardRegionGeoModelFactory.cxx      | 136 +++----
 .../src/ForwardRegionGeoModelTool.cxx         |  38 +-
 .../LUCID/LUCID_GeoModel/src/GetRefIndex.cxx  |   9 +-
 .../src/LUCID_DetectorFactory.cxx             |  69 ++--
 .../LUCID_GeoModel/src/LUCID_RDBAaccess.cxx   |  98 ++---
 .../ZDC/ZDC_GeoM/src/ZDC_DetFactory.cxx       |  77 ++--
 .../InDetDiMuonMonitoring/src/DiMuMon.cxx     |  24 +-
 .../LArDetDescr/src/LArNumberHelper.cxx       | 374 +++++++++---------
 .../LArDetDescr/src/LArRecoMaterialTool.cxx   |   1 +
 .../LArDetDescr/src/LArRecoSimpleGeomTool.cxx | 202 +++++-----
 .../src/LArVolumeBuilder.cxx                  |   4 +-
 .../src/MuonTrackingGeometryBuilder.cxx       |   4 +-
 .../MuonGeoModel/MuonGeoModel/DBReader.h      | 254 ++++++------
 MuonSpectrometer/MuonGeoModel/src/Cutout.cxx  |  16 +-
 .../MuonGeoModel/src/DriftTube.cxx            | 107 +++--
 .../MuonGeoModel/src/MultiLayer.cxx           |  38 +-
 .../MuonGeoModel/src/MuonChamber.cxx          |  56 +--
 .../src/MuonDetectorFactory001.cxx            |  24 +-
 .../MuonGeoModel/src/RDBReaderAtlas.cxx       |  11 +-
 MuonSpectrometer/MuonGeoModel/src/Rpc.cxx     |   4 +-
 MuonSpectrometer/MuonGeoModel/src/Spacer.cxx  |   4 +-
 MuonSpectrometer/MuonGeoModel/src/Station.cxx |  96 ++---
 MuonSpectrometer/MuonGeoModel/src/Tgc.cxx     |  13 +-
 .../src/GeoShapeConverter.cxx                 |   4 +-
 .../VP1CaloSystems/VP1CaloCellController.h    |   4 +-
 .../VP1CaloSystems/VP1CaloCells.h             |   4 +-
 .../src/VP1CaloCellController.cxx             |   6 +-
 .../VP1/VP1Utils/src/SoVisualizeAction.cxx    |  16 +-
 29 files changed, 906 insertions(+), 916 deletions(-)

diff --git a/ForwardDetectors/ForwardSimulation/ForwardRegionGeoModel/src/ForwardRegionGeoModelElements.cxx b/ForwardDetectors/ForwardSimulation/ForwardRegionGeoModel/src/ForwardRegionGeoModelElements.cxx
index 2e884a193a86..76149d365272 100644
--- a/ForwardDetectors/ForwardSimulation/ForwardRegionGeoModel/src/ForwardRegionGeoModelElements.cxx
+++ b/ForwardDetectors/ForwardSimulation/ForwardRegionGeoModel/src/ForwardRegionGeoModelElements.cxx
@@ -18,11 +18,10 @@
 #include "GeoModelKernel/GeoTransform.h"
 #include "GeoModelKernel/GeoAlignableTransform.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
 #include "GeoGenericFunctions/AbsFunction.h"
 #include "GeoGenericFunctions/Sin.h"
 #include "GeoGenericFunctions/Cos.h"
-
+#include "GaudiKernel/SystemOfUnits.h"
 
 GeoPhysVol* ForwardRegionGeoModelFactory::insertMagnetEnvelope(std::string name, double x, double y, double z, double rotationAngle, double diameter, double halfL, double dL, GeoPhysVol* fwrPhys)
 {
@@ -30,7 +29,7 @@ GeoPhysVol* ForwardRegionGeoModelFactory::insertMagnetEnvelope(std::string name,
 
     GeoTrf::Transform3D shift = GeoTrf::Translate3D(x,y,z);
     GeoTrf::Transform3D rotate = GeoTrf::RotateY3D(rotationAngle);
-//    Transform3D rotateX180 = GeoTrf::RotateX3D(180*GeoModelKernelUnits::deg);
+//    Transform3D rotateX180 = GeoTrf::RotateX3D(180*Gaudi::Units::deg);
 
     const GeoShapeShift& magTube0 = (*tube)<<rotate<<shift;
 //    const GeoShapeUnion& magTube = magTube0.add((*tube)<<rotate<<shift<<rotateX180);
@@ -49,7 +48,7 @@ GeoPhysVol* ForwardRegionGeoModelFactory::insertMagnetEnvelope(std::string name,
 
 void ForwardRegionGeoModelFactory::insertCircularElement(std::string name, double x, double y, double z, double rotationAngle, double xAperture, double yAperture, double halfL, double dL, double tubeThickness, GeoPhysVol* fwrPhys)
 {
-    double r0 = std::max(xAperture,yAperture)*GeoModelKernelUnits::mm/2;
+    double r0 = std::max(xAperture,yAperture)*Gaudi::Units::mm/2;
 
     const GeoTube     *ringTube  = new GeoTube(r0, r0+tubeThickness, halfL-dL);
 
@@ -69,7 +68,7 @@ void ForwardRegionGeoModelFactory::insertCircularElement(std::string name, doubl
     fwrPhys->add(ringPhys);
 
 //    // The other side of the forward region may be obtained by rotation
-//    GeoTransform *rotateX180  = new GeoTransform(GeoTrf::RotateX3D(180*GeoModelKernelUnits::deg));
+//    GeoTransform *rotateX180  = new GeoTransform(GeoTrf::RotateX3D(180*Gaudi::Units::deg));
 
 //    // the other side
 //    fwrPhys->add(rotateX180);
@@ -87,12 +86,12 @@ void ForwardRegionGeoModelFactory::insertEllipticalElement(std::string name, dou
 
     // GeoEllipticalTube causes VP1 to fall, so for visualization GeoBox is used
     if(!m_Config.vp1Compatibility) {
-        ringTube0  = new GeoEllipticalTube(xAperture*GeoModelKernelUnits::mm/2+tubeThickness, yAperture*GeoModelKernelUnits::mm/2+tubeThickness, halfL-dL);
-        ringTube2  = new GeoEllipticalTube(xAperture*GeoModelKernelUnits::mm/2, yAperture*GeoModelKernelUnits::mm/2, halfL-dL);
+        ringTube0  = new GeoEllipticalTube(xAperture*Gaudi::Units::mm/2+tubeThickness, yAperture*Gaudi::Units::mm/2+tubeThickness, halfL-dL);
+        ringTube2  = new GeoEllipticalTube(xAperture*Gaudi::Units::mm/2, yAperture*Gaudi::Units::mm/2, halfL-dL);
     }
     else {
-        ringTube0  = new GeoBox(xAperture*GeoModelKernelUnits::mm/2+tubeThickness, yAperture*GeoModelKernelUnits::mm/2+tubeThickness, halfL-dL);
-        ringTube2  = new GeoBox(xAperture*GeoModelKernelUnits::mm/2, yAperture*GeoModelKernelUnits::mm/2, halfL-dL);
+        ringTube0  = new GeoBox(xAperture*Gaudi::Units::mm/2+tubeThickness, yAperture*Gaudi::Units::mm/2+tubeThickness, halfL-dL);
+        ringTube2  = new GeoBox(xAperture*Gaudi::Units::mm/2, yAperture*Gaudi::Units::mm/2, halfL-dL);
     }
     GeoShapeSubtraction * ringTube = new GeoShapeSubtraction(ringTube0, ringTube2);
 
@@ -112,7 +111,7 @@ void ForwardRegionGeoModelFactory::insertEllipticalElement(std::string name, dou
     fwrPhys->add(ringPhys);
 
 //    // The other side of the forward region may be obtained by rotation
-//    GeoTransform *rotateX180  = new GeoTransform(GeoTrf::RotateX3D(180*GeoModelKernelUnits::deg));
+//    GeoTransform *rotateX180  = new GeoTransform(GeoTrf::RotateX3D(180*Gaudi::Units::deg));
 
 //    // the other side
 //    fwrPhys->add(rotateX180);
@@ -125,22 +124,22 @@ void ForwardRegionGeoModelFactory::insertEllipticalElement(std::string name, dou
 
 void ForwardRegionGeoModelFactory::insertXRecticircularElement(std::string name, double x, double y, double z, double rotationAngle, double xAperture, double yAperture, double halfL, double dL, double tubeThickness, GeoPhysVol* fwrPhys)
 {
-    double beamScreenSeparation = 1.5*GeoModelKernelUnits::mm;
-    double beamScreenCuThick = 0.05*GeoModelKernelUnits::mm;
-    double beamScreenSteelThick = 1*GeoModelKernelUnits::mm;
+    double beamScreenSeparation = 1.5*Gaudi::Units::mm;
+    double beamScreenCuThick = 0.05*Gaudi::Units::mm;
+    double beamScreenSteelThick = 1*Gaudi::Units::mm;
 
-    const GeoTube     *ringTube  = new GeoTube(yAperture*GeoModelKernelUnits::mm/2+beamScreenCuThick+beamScreenSteelThick+beamScreenSeparation, yAperture*GeoModelKernelUnits::mm/2+beamScreenCuThick+beamScreenSteelThick+beamScreenSeparation+tubeThickness, halfL-dL);
-    const GeoTube     *circ  = new GeoTube(0, yAperture*GeoModelKernelUnits::mm/2, halfL-dL);
-    const GeoBox      *rect  = new GeoBox(xAperture*GeoModelKernelUnits::mm/2, yAperture*GeoModelKernelUnits::mm/2, halfL-dL);
+    const GeoTube     *ringTube  = new GeoTube(yAperture*Gaudi::Units::mm/2+beamScreenCuThick+beamScreenSteelThick+beamScreenSeparation, yAperture*Gaudi::Units::mm/2+beamScreenCuThick+beamScreenSteelThick+beamScreenSeparation+tubeThickness, halfL-dL);
+    const GeoTube     *circ  = new GeoTube(0, yAperture*Gaudi::Units::mm/2, halfL-dL);
+    const GeoBox      *rect  = new GeoBox(xAperture*Gaudi::Units::mm/2, yAperture*Gaudi::Units::mm/2, halfL-dL);
     GeoShapeIntersection *innerVac = new GeoShapeIntersection(rect,circ);
 
-    const GeoTube     *circ2  = new GeoTube(0, yAperture*GeoModelKernelUnits::mm/2+beamScreenCuThick, halfL-dL);
-    const GeoBox      *rect2  = new GeoBox(xAperture*GeoModelKernelUnits::mm/2+beamScreenCuThick, yAperture*GeoModelKernelUnits::mm/2+beamScreenCuThick, halfL-dL);
+    const GeoTube     *circ2  = new GeoTube(0, yAperture*Gaudi::Units::mm/2+beamScreenCuThick, halfL-dL);
+    const GeoBox      *rect2  = new GeoBox(xAperture*Gaudi::Units::mm/2+beamScreenCuThick, yAperture*Gaudi::Units::mm/2+beamScreenCuThick, halfL-dL);
     GeoShapeIntersection *beamScreenCu0 = new GeoShapeIntersection(rect2,circ2);
     GeoShapeSubtraction *beamScreenCu = new GeoShapeSubtraction(beamScreenCu0, innerVac);
 
-    const GeoTube     *circ3  = new GeoTube(0, yAperture*GeoModelKernelUnits::mm/2+beamScreenCuThick+beamScreenSteelThick, halfL-dL);
-    const GeoBox      *rect3  = new GeoBox(xAperture*GeoModelKernelUnits::mm/2+beamScreenCuThick+beamScreenSteelThick, yAperture*GeoModelKernelUnits::mm/2+beamScreenCuThick+beamScreenSteelThick, halfL-dL);
+    const GeoTube     *circ3  = new GeoTube(0, yAperture*Gaudi::Units::mm/2+beamScreenCuThick+beamScreenSteelThick, halfL-dL);
+    const GeoBox      *rect3  = new GeoBox(xAperture*Gaudi::Units::mm/2+beamScreenCuThick+beamScreenSteelThick, yAperture*Gaudi::Units::mm/2+beamScreenCuThick+beamScreenSteelThick, halfL-dL);
     GeoShapeIntersection *beamScreenSteel01 = new GeoShapeIntersection(rect3,circ3);
     GeoShapeSubtraction *beamScreenSteel02 = new GeoShapeSubtraction(beamScreenSteel01, innerVac);
     GeoShapeSubtraction *beamScreenSteel = new GeoShapeSubtraction(beamScreenSteel02, beamScreenCu);
@@ -179,7 +178,7 @@ void ForwardRegionGeoModelFactory::insertXRecticircularElement(std::string name,
 
 
 //    // The other side of the forward region may be obtain by rotation
-//    GeoTransform *rotateX180  = new GeoTransform(GeoTrf::RotateX3D(180*GeoModelKernelUnits::deg));
+//    GeoTransform *rotateX180  = new GeoTransform(GeoTrf::RotateX3D(180*Gaudi::Units::deg));
 
 //    // the other side
 //    fwrPhys->add(rotateX180);
@@ -206,22 +205,22 @@ void ForwardRegionGeoModelFactory::insertXRecticircularElement(std::string name,
 
 void ForwardRegionGeoModelFactory::insertYRecticircularElement(std::string name, double x, double y, double z, double rotationAngle, double xAperture, double yAperture, double halfL, double dL, double tubeThickness, GeoPhysVol* fwrPhys)
 {
-    double beamScreenSeparation = 1.5*GeoModelKernelUnits::mm;
-    double beamScreenCuThick = 0.05*GeoModelKernelUnits::mm;
-    double beamScreenSteelThick = 1*GeoModelKernelUnits::mm;
+    double beamScreenSeparation = 1.5*Gaudi::Units::mm;
+    double beamScreenCuThick = 0.05*Gaudi::Units::mm;
+    double beamScreenSteelThick = 1*Gaudi::Units::mm;
 
-    const GeoTube     *ringTube  = new GeoTube(xAperture*GeoModelKernelUnits::mm/2+beamScreenCuThick+beamScreenSteelThick+beamScreenSeparation, xAperture*GeoModelKernelUnits::mm/2+beamScreenCuThick+beamScreenSteelThick+beamScreenSeparation+tubeThickness, halfL-dL);
-    const GeoTube     *circ  = new GeoTube(0, xAperture*GeoModelKernelUnits::mm/2, halfL-dL);
-    const GeoBox      *rect  = new GeoBox(xAperture*GeoModelKernelUnits::mm/2, yAperture*GeoModelKernelUnits::mm/2, halfL-dL);
+    const GeoTube     *ringTube  = new GeoTube(xAperture*Gaudi::Units::mm/2+beamScreenCuThick+beamScreenSteelThick+beamScreenSeparation, xAperture*Gaudi::Units::mm/2+beamScreenCuThick+beamScreenSteelThick+beamScreenSeparation+tubeThickness, halfL-dL);
+    const GeoTube     *circ  = new GeoTube(0, xAperture*Gaudi::Units::mm/2, halfL-dL);
+    const GeoBox      *rect  = new GeoBox(xAperture*Gaudi::Units::mm/2, yAperture*Gaudi::Units::mm/2, halfL-dL);
     GeoShapeIntersection *innerVac = new GeoShapeIntersection(rect,circ);
 
-    const GeoTube     *circ2  = new GeoTube(0, xAperture*GeoModelKernelUnits::mm/2+beamScreenCuThick, halfL-dL);
-    const GeoBox      *rect2  = new GeoBox(xAperture*GeoModelKernelUnits::mm/2+beamScreenCuThick, yAperture*GeoModelKernelUnits::mm/2+beamScreenCuThick, halfL-dL);
+    const GeoTube     *circ2  = new GeoTube(0, xAperture*Gaudi::Units::mm/2+beamScreenCuThick, halfL-dL);
+    const GeoBox      *rect2  = new GeoBox(xAperture*Gaudi::Units::mm/2+beamScreenCuThick, yAperture*Gaudi::Units::mm/2+beamScreenCuThick, halfL-dL);
     GeoShapeIntersection *beamScreenCu0 = new GeoShapeIntersection(rect2,circ2);
     GeoShapeSubtraction *beamScreenCu = new GeoShapeSubtraction(beamScreenCu0, innerVac);
 
-    const GeoTube     *circ3  = new GeoTube(0, xAperture*GeoModelKernelUnits::mm/2+beamScreenCuThick+beamScreenSteelThick, halfL-dL);
-    const GeoBox      *rect3  = new GeoBox(xAperture*GeoModelKernelUnits::mm/2+beamScreenCuThick+beamScreenSteelThick, yAperture*GeoModelKernelUnits::mm/2+beamScreenCuThick+beamScreenSteelThick, halfL-dL);
+    const GeoTube     *circ3  = new GeoTube(0, xAperture*Gaudi::Units::mm/2+beamScreenCuThick+beamScreenSteelThick, halfL-dL);
+    const GeoBox      *rect3  = new GeoBox(xAperture*Gaudi::Units::mm/2+beamScreenCuThick+beamScreenSteelThick, yAperture*Gaudi::Units::mm/2+beamScreenCuThick+beamScreenSteelThick, halfL-dL);
     GeoShapeIntersection *beamScreenSteel01 = new GeoShapeIntersection(rect3,circ3);
     GeoShapeSubtraction *beamScreenSteel02 = new GeoShapeSubtraction(beamScreenSteel01, innerVac);
     GeoShapeSubtraction *beamScreenSteel = new GeoShapeSubtraction(beamScreenSteel02, beamScreenCu);
@@ -258,7 +257,7 @@ void ForwardRegionGeoModelFactory::insertYRecticircularElement(std::string name,
     fwrPhys->add(ringPhysSteel);
 
 //    // The other side of the forward region may be obtain by rotation
-//    GeoTransform *rotateX180  = new GeoTransform(GeoTrf::RotateX3D(180*GeoModelKernelUnits::deg));
+//    GeoTransform *rotateX180  = new GeoTransform(GeoTrf::RotateX3D(180*Gaudi::Units::deg));
 
 //    // the other side
 //    fwrPhys->add(rotateX180);
@@ -290,13 +289,13 @@ void ForwardRegionGeoModelFactory::insertTrousersElement(std::string name, doubl
 
     // CONSTANTS
     double TAN_A, TAN_B, TAN_C, TAN_Dsmall, TAN_Dbig, TAN_thick1, TAN_xseparation;
-    TAN_A = 700*GeoModelKernelUnits::mm;
-    TAN_B = 500*GeoModelKernelUnits::mm;
-    TAN_C = 3700*GeoModelKernelUnits::mm;
-    TAN_Dsmall = 52*GeoModelKernelUnits::mm;
-    TAN_Dbig = 212*GeoModelKernelUnits::mm;
-    TAN_thick1 = 4.5*GeoModelKernelUnits::mm;
-    TAN_xseparation = 80*GeoModelKernelUnits::mm;
+    TAN_A = 700*Gaudi::Units::mm;
+    TAN_B = 500*Gaudi::Units::mm;
+    TAN_C = 3700*Gaudi::Units::mm;
+    TAN_Dsmall = 52*Gaudi::Units::mm;
+    TAN_Dbig = 212*Gaudi::Units::mm;
+    TAN_thick1 = 4.5*Gaudi::Units::mm;
+    TAN_xseparation = 80*Gaudi::Units::mm;
 
     // Derived constants
     double TAN_Rsmall, TAN_Rbig, TAN_coneZh, TAN_coneR, TAN_coneXh;//, TAN_halflength;
@@ -310,12 +309,12 @@ void ForwardRegionGeoModelFactory::insertTrousersElement(std::string name, doubl
     // volume construction
 
     // inner part
-    GeoPcon *TANi_cone0 = new GeoPcon(0,360*GeoModelKernelUnits::deg);
+    GeoPcon *TANi_cone0 = new GeoPcon(0,360*Gaudi::Units::deg);
     TANi_cone0->addPlane(2*TAN_coneZh, TAN_Rsmall, 2*TAN_Rbig);
     TANi_cone0->addPlane(TAN_coneZh, TAN_Rsmall, 2*TAN_Rbig);
     TANi_cone0->addPlane(-TAN_coneZh, TAN_coneR, 2*TAN_Rbig);
     GeoTrf::Transform3D TAN_moveCone = GeoTrf::Translate3D(TAN_coneXh,0,0.5*(TAN_A-TAN_B));
-    GeoTrf::Transform3D TAN_rotateCone = GeoTrf::RotateY3D(5*GeoModelKernelUnits::deg);
+    GeoTrf::Transform3D TAN_rotateCone = GeoTrf::RotateY3D(5*Gaudi::Units::deg);
     const GeoShapeShift& TANi_cone = (*TANi_cone0)<<TAN_rotateCone<<TAN_moveCone;
 
     const GeoBox *TAN_box0 = new GeoBox(2*TAN_Rbig,2*TAN_Rbig,TAN_A+TAN_B);
@@ -328,13 +327,13 @@ void ForwardRegionGeoModelFactory::insertTrousersElement(std::string name, doubl
 
     GeoShapeSubtraction *TANi_h = new GeoShapeSubtraction(TANi_hcyl, &TANi_cone);
     GeoTrf::Transform3D TAN_moveH = GeoTrf::Translate3D(0,0,-0.5*TAN_C);
-    GeoTrf::Transform3D TAN_rotateH = GeoTrf::RotateZ3D(180*GeoModelKernelUnits::deg);
+    GeoTrf::Transform3D TAN_rotateH = GeoTrf::RotateZ3D(180*Gaudi::Units::deg);
 
     GeoTrf::Transform3D TAN_moveTube1 = GeoTrf::Translate3D(TAN_xseparation,0,0.5*(TAN_A+TAN_B));
     GeoTrf::Transform3D TAN_moveTube2 = GeoTrf::Translate3D(-TAN_xseparation,0,0.5*(TAN_A+TAN_B));
 
     // outer part
-    GeoPcon *TANo_cone0 = new GeoPcon(0,360*GeoModelKernelUnits::deg);
+    GeoPcon *TANo_cone0 = new GeoPcon(0,360*Gaudi::Units::deg);
     TANo_cone0->addPlane(2*TAN_coneZh, TAN_Rsmall+TAN_thick1, 2*TAN_Rbig);
     TANo_cone0->addPlane(TAN_coneZh, TAN_Rsmall+TAN_thick1, 2*TAN_Rbig);
     TANo_cone0->addPlane(-TAN_coneZh, TAN_coneR+TAN_thick1, 2*TAN_Rbig);
@@ -355,7 +354,7 @@ void ForwardRegionGeoModelFactory::insertTrousersElement(std::string name, doubl
     const GeoShapeShift& TAN_shape1 = (*TAN_shape)<<TAN_moveH;
     const GeoShapeShift& TAN_shape2 = (*TAN_shape)<<TAN_moveH<<TAN_rotateH;
 
-    const GeoTube *TANo_ftube = new GeoTube(TAN_Rsmall,TAN_Rsmall+TAN_thick1,0.5*TAN_C-0.1*GeoModelKernelUnits::mm);
+    const GeoTube *TANo_ftube = new GeoTube(TAN_Rsmall,TAN_Rsmall+TAN_thick1,0.5*TAN_C-0.1*Gaudi::Units::mm);
     const GeoShapeShift& TANo_ftube1 = (*TANo_ftube)<<TAN_moveTube1;
     const GeoShapeShift& TANo_ftube2 = (*TANo_ftube)<<TAN_moveTube2;
 
@@ -380,7 +379,7 @@ void ForwardRegionGeoModelFactory::insertTrousersElement(std::string name, doubl
     fwrPhys->add(ringPhys);
 
 //    // The other side of the forward region may be obtained by rotation
-//    GeoTransform *rotateX180  = new GeoTransform(GeoTrf::RotateX3D(180*GeoModelKernelUnits::deg));
+//    GeoTransform *rotateX180  = new GeoTransform(GeoTrf::RotateX3D(180*Gaudi::Units::deg));
 
 //    // the other side
 //    fwrPhys->add(rotateX180);
@@ -395,43 +394,43 @@ void ForwardRegionGeoModelFactory::insertTCLElement(std::string name, double x,
 {
     // Constants
     double TCL_BOX_halflength, TCL_BOX_halfwidth, TCL_BOX_halfheight, TCL_BOX_sideThickness, TCL_BOX_topBottomThickness, TCL_BOX_endThickness, TCL_TUBE_halflength, TCL_TUBE_halfapperture, TCL_TUBE_thickness;
-    TCL_BOX_sideThickness = 6*GeoModelKernelUnits::mm;
-    TCL_BOX_topBottomThickness = 18*GeoModelKernelUnits::mm;
-    TCL_BOX_endThickness = 18*GeoModelKernelUnits::mm;
+    TCL_BOX_sideThickness = 6*Gaudi::Units::mm;
+    TCL_BOX_topBottomThickness = 18*Gaudi::Units::mm;
+    TCL_BOX_endThickness = 18*Gaudi::Units::mm;
 
-    TCL_BOX_halflength = 621*GeoModelKernelUnits::mm;
-    TCL_BOX_halfwidth = 132*GeoModelKernelUnits::mm;
+    TCL_BOX_halflength = 621*Gaudi::Units::mm;
+    TCL_BOX_halfwidth = 132*Gaudi::Units::mm;
     TCL_BOX_halfheight = 60+TCL_BOX_topBottomThickness;
 
-    TCL_TUBE_halflength = 59.5*GeoModelKernelUnits::mm;
-    TCL_TUBE_halfapperture = 53*GeoModelKernelUnits::mm;
-    TCL_TUBE_thickness = 2*GeoModelKernelUnits::mm;
+    TCL_TUBE_halflength = 59.5*Gaudi::Units::mm;
+    TCL_TUBE_halfapperture = 53*Gaudi::Units::mm;
+    TCL_TUBE_thickness = 2*Gaudi::Units::mm;
 
     double TCL_CuBlock_halflength, TCL_CuBlock_halfwidth, TCL_CuBlock_halfheight, TCL_CuBlockCylCut_zDepth, TCL_CuBlockCylCut_angle, TCL_CuBlockCylCut_cylR, TCL_CuBlockCylCut_cylHalflength, TCL_CuBlockCylCut_xDepth, TCL_CuBlockCylCut_xShift;
-    TCL_CuBlock_halflength = 597*GeoModelKernelUnits::mm;
-    TCL_CuBlock_halfwidth = 14.5*GeoModelKernelUnits::mm;
-    TCL_CuBlock_halfheight = 40*GeoModelKernelUnits::mm;
+    TCL_CuBlock_halflength = 597*Gaudi::Units::mm;
+    TCL_CuBlock_halfwidth = 14.5*Gaudi::Units::mm;
+    TCL_CuBlock_halfheight = 40*Gaudi::Units::mm;
 
-    TCL_CuBlockCylCut_zDepth = 90*GeoModelKernelUnits::mm;
-    TCL_CuBlockCylCut_angle = 12*GeoModelKernelUnits::deg;
-    TCL_CuBlockCylCut_cylR = 40*GeoModelKernelUnits::mm;
+    TCL_CuBlockCylCut_zDepth = 90*Gaudi::Units::mm;
+    TCL_CuBlockCylCut_angle = 12*Gaudi::Units::deg;
+    TCL_CuBlockCylCut_cylR = 40*Gaudi::Units::mm;
 
     TCL_CuBlockCylCut_cylHalflength = TCL_CuBlockCylCut_zDepth/cos(TCL_CuBlockCylCut_angle);
     TCL_CuBlockCylCut_xDepth = TCL_CuBlockCylCut_zDepth*tan(TCL_CuBlockCylCut_angle);
     TCL_CuBlockCylCut_xShift = -TCL_CuBlock_halfwidth-TCL_CuBlockCylCut_cylR/cos(TCL_CuBlockCylCut_angle)+TCL_CuBlockCylCut_xDepth;
 
     double TCL_CuBeam_halflength, TCL_CuBeam_halfwidth, TCL_CuBeam_halfheight, TCL_Cooling_width;
-    TCL_CuBeam_halflength = 530*GeoModelKernelUnits::mm;
-    TCL_CuBeam_halfwidth = 15*GeoModelKernelUnits::mm;
-    TCL_CuBeam_halfheight = 40*GeoModelKernelUnits::mm;
+    TCL_CuBeam_halflength = 530*Gaudi::Units::mm;
+    TCL_CuBeam_halfwidth = 15*Gaudi::Units::mm;
+    TCL_CuBeam_halfheight = 40*Gaudi::Units::mm;
 
-    TCL_Cooling_width = 9*GeoModelKernelUnits::mm;
+    TCL_Cooling_width = 9*Gaudi::Units::mm;
 
 
 
     // rotate by 180 deg around X and Y
-    GeoTrf::Transform3D rotateX180 = GeoTrf::RotateX3D(180*GeoModelKernelUnits::deg);
-    GeoTrf::Transform3D rotateY180 = GeoTrf::RotateY3D(180*GeoModelKernelUnits::deg);
+    GeoTrf::Transform3D rotateX180 = GeoTrf::RotateX3D(180*Gaudi::Units::deg);
+    GeoTrf::Transform3D rotateY180 = GeoTrf::RotateY3D(180*Gaudi::Units::deg);
 
     // inner vacuum volume solid
     const GeoBox * boxIn = new GeoBox(TCL_BOX_halfwidth-TCL_BOX_sideThickness, TCL_BOX_halfheight-TCL_BOX_topBottomThickness, TCL_BOX_halflength-TCL_BOX_endThickness);
diff --git a/ForwardDetectors/ForwardSimulation/ForwardRegionGeoModel/src/ForwardRegionGeoModelFactory.cxx b/ForwardDetectors/ForwardSimulation/ForwardRegionGeoModel/src/ForwardRegionGeoModelFactory.cxx
index 8108bb3b019b..f15e5106eb89 100755
--- a/ForwardDetectors/ForwardSimulation/ForwardRegionGeoModel/src/ForwardRegionGeoModelFactory.cxx
+++ b/ForwardDetectors/ForwardSimulation/ForwardRegionGeoModel/src/ForwardRegionGeoModelFactory.cxx
@@ -24,7 +24,7 @@
 #include "GeoGenericFunctions/Cos.h"
 #include "CLHEP/Geometry/Point3D.h"
 #include "StoreGate/StoreGateSvc.h"
-#include "CLHEP/Units/SystemOfUnits.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include "GeoModelInterfaces/StoredMaterialManager.h"
 
@@ -46,28 +46,28 @@
 
 void FWD_CONFIGURATION::clear()
 {
-    TCL4JawDistB1I = 57*GeoModelKernelUnits::mm;
-    TCL5JawDistB1I = 57*GeoModelKernelUnits::mm;
-    TCL6JawDistB1I = 57*GeoModelKernelUnits::mm;
-    TCL4JawDistB2I = 57*GeoModelKernelUnits::mm;
-    TCL5JawDistB2I = 57*GeoModelKernelUnits::mm;
-    TCL6JawDistB2I = 57*GeoModelKernelUnits::mm;
-    TCL4JawDistB1O = 57*GeoModelKernelUnits::mm;
-    TCL5JawDistB1O = 57*GeoModelKernelUnits::mm;
-    TCL6JawDistB1O = 57*GeoModelKernelUnits::mm;
-    TCL4JawDistB2O = 57*GeoModelKernelUnits::mm;
-    TCL5JawDistB2O = 57*GeoModelKernelUnits::mm;
-    TCL6JawDistB2O = 57*GeoModelKernelUnits::mm;
+    TCL4JawDistB1I = 57*Gaudi::Units::mm;
+    TCL5JawDistB1I = 57*Gaudi::Units::mm;
+    TCL6JawDistB1I = 57*Gaudi::Units::mm;
+    TCL4JawDistB2I = 57*Gaudi::Units::mm;
+    TCL5JawDistB2I = 57*Gaudi::Units::mm;
+    TCL6JawDistB2I = 57*Gaudi::Units::mm;
+    TCL4JawDistB1O = 57*Gaudi::Units::mm;
+    TCL5JawDistB1O = 57*Gaudi::Units::mm;
+    TCL6JawDistB1O = 57*Gaudi::Units::mm;
+    TCL4JawDistB2O = 57*Gaudi::Units::mm;
+    TCL5JawDistB2O = 57*Gaudi::Units::mm;
+    TCL6JawDistB2O = 57*Gaudi::Units::mm;
     vp1Compatibility = false;
     buildTCL4 = false;
     buildTCL6 = false;
     ALFAInNewPosition = false;
-    newPosB7L1 = 245656.77*GeoModelKernelUnits::mm;
-    newPosB7R1 = -245656.11*GeoModelKernelUnits::mm;
-    posAFPL1 = 204500*GeoModelKernelUnits::mm;
-    posAFPL2 = 212675*GeoModelKernelUnits::mm;
-    posAFPR1 = -204500*GeoModelKernelUnits::mm;
-    posAFPL2 = -212675*GeoModelKernelUnits::mm;
+    newPosB7L1 = 245656.77*Gaudi::Units::mm;
+    newPosB7R1 = -245656.11*Gaudi::Units::mm;
+    posAFPL1 = 204500*Gaudi::Units::mm;
+    posAFPL2 = 212675*Gaudi::Units::mm;
+    posAFPR1 = -204500*Gaudi::Units::mm;
+    posAFPL2 = -212675*Gaudi::Units::mm;
 }
 
 
@@ -116,7 +116,7 @@ void ForwardRegionGeoModelFactory::DefineMaterials()
 
     // water
     matName = "water";
-    GeoMaterial *water = new GeoMaterial("H20", 1.0*GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3);
+    GeoMaterial *water = new GeoMaterial("H20", 1.0*GeoModelKernelUnits::gram/Gaudi::Units::cm3);
     GeoElement *hydrogen = new GeoElement("Hydrogen","H",1.0, 1.010);
     GeoElement *oxygen   = new GeoElement("Oxygen",  "O", 8.0, 16.0);
     water->add(hydrogen,0.11);
@@ -144,7 +144,7 @@ void ForwardRegionGeoModelFactory::DefineMaterials()
 
     // Copper for beam screens
     matName = "Copper";
-    GeoMaterial *copper = new GeoMaterial("Copper", 8.94*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3);
+    GeoMaterial *copper = new GeoMaterial("Copper", 8.94*GeoModelKernelUnits::g/Gaudi::Units::cm3);
     copper->add(const_cast<GeoElement*> (Cu),1.0);
     copper->lock();
     m_MapMaterials.insert(std::pair<std::string,GeoMaterial*>(matName,copper));
@@ -152,7 +152,7 @@ void ForwardRegionGeoModelFactory::DefineMaterials()
     // Tungsten for TCL6
     matName = "Tungsten";
     const GeoElement* W = materialManager->getElement("Wolfram");
-    GeoMaterial *tungsten = new GeoMaterial("Tungsten", 19.25*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3);
+    GeoMaterial *tungsten = new GeoMaterial("Tungsten", 19.25*GeoModelKernelUnits::g/Gaudi::Units::cm3);
     tungsten->add(const_cast<GeoElement*> (W),1.0);
     tungsten->lock();
     m_MapMaterials.insert(std::pair<std::string,GeoMaterial*>(matName,tungsten));
@@ -160,14 +160,14 @@ void ForwardRegionGeoModelFactory::DefineMaterials()
     // GlidCop AL15 copper -- aproximate composition (trace impurities (< 0.01 wt. %) not included)
     // source: http://www-ferp.ucsd.edu/LIB/PROPS/compcu15.html
     matName = "GlidCopAL15";
-    GeoMaterial *glidcop=new GeoMaterial("GlidCopAL15", 8.90*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3);
+    GeoMaterial *glidcop=new GeoMaterial("GlidCopAL15", 8.90*GeoModelKernelUnits::g/Gaudi::Units::cm3);
 
     double aCu, aAl, aO, aB, aTot;
 
-    aCu=99.7*Cu->getA()/(GeoModelKernelUnits::g/GeoModelKernelUnits::mole);
-    aAl=0.15*Al->getA()/(GeoModelKernelUnits::g/GeoModelKernelUnits::mole);
-    aO=0.13*O->getA()/(GeoModelKernelUnits::g/GeoModelKernelUnits::mole);
-    aB=0.02*B->getA()/(GeoModelKernelUnits::g/GeoModelKernelUnits::mole);
+    aCu=99.7*Cu->getA()/(GeoModelKernelUnits::g/Gaudi::Units::mole);
+    aAl=0.15*Al->getA()/(GeoModelKernelUnits::g/Gaudi::Units::mole);
+    aO=0.13*O->getA()/(GeoModelKernelUnits::g/Gaudi::Units::mole);
+    aB=0.02*B->getA()/(GeoModelKernelUnits::g/Gaudi::Units::mole);
     aTot=aCu+aAl+aO+aB;
 
     glidcop->add(const_cast<GeoElement*> (Cu), aCu/aTot);
@@ -179,20 +179,20 @@ void ForwardRegionGeoModelFactory::DefineMaterials()
 
     // Steel Grade 316L (Roman Pot)
     matName = "Steel";
-    GeoMaterial *steel=new GeoMaterial("Steel", 8*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3);
+    GeoMaterial *steel=new GeoMaterial("Steel", 8*GeoModelKernelUnits::g/Gaudi::Units::cm3);
 
     double aC,aN,aSi,aP,aS,aCr,aMn,aFe,aNi,aMo,Atot;
 
-    aFe=62.045*Fe->getA()/(GeoModelKernelUnits::g/GeoModelKernelUnits::mole);
-    aC =0.03*C ->getA()/(GeoModelKernelUnits::g/GeoModelKernelUnits::mole);
-    aMn=2.0*Mn ->getA()/(GeoModelKernelUnits::g/GeoModelKernelUnits::mole);
-    aSi=0.75*Si->getA()/(GeoModelKernelUnits::g/GeoModelKernelUnits::mole);
-    aP =0.045*P->getA()/(GeoModelKernelUnits::g/GeoModelKernelUnits::mole);
-    aS =0.03*S ->getA()/(GeoModelKernelUnits::g/GeoModelKernelUnits::mole);
-    aCr=18.0*Cr->getA()/(GeoModelKernelUnits::g/GeoModelKernelUnits::mole);
-    aMo=3.0*Mo ->getA()/(GeoModelKernelUnits::g/GeoModelKernelUnits::mole);
-    aNi=14.0*Ni->getA()/(GeoModelKernelUnits::g/GeoModelKernelUnits::mole);
-    aN =0.10*N ->getA()/(GeoModelKernelUnits::g/GeoModelKernelUnits::mole);
+    aFe=62.045*Fe->getA()/(GeoModelKernelUnits::g/Gaudi::Units::mole);
+    aC =0.03*C ->getA()/(GeoModelKernelUnits::g/Gaudi::Units::mole);
+    aMn=2.0*Mn ->getA()/(GeoModelKernelUnits::g/Gaudi::Units::mole);
+    aSi=0.75*Si->getA()/(GeoModelKernelUnits::g/Gaudi::Units::mole);
+    aP =0.045*P->getA()/(GeoModelKernelUnits::g/Gaudi::Units::mole);
+    aS =0.03*S ->getA()/(GeoModelKernelUnits::g/Gaudi::Units::mole);
+    aCr=18.0*Cr->getA()/(GeoModelKernelUnits::g/Gaudi::Units::mole);
+    aMo=3.0*Mo ->getA()/(GeoModelKernelUnits::g/Gaudi::Units::mole);
+    aNi=14.0*Ni->getA()/(GeoModelKernelUnits::g/Gaudi::Units::mole);
+    aN =0.10*N ->getA()/(GeoModelKernelUnits::g/Gaudi::Units::mole);
     Atot=aFe+aC+aMn+aSi+aP+aS+aCr+aMo+aNi+aN;
 
     steel->add(const_cast<GeoElement*> (Fe),aFe/Atot);
@@ -262,8 +262,8 @@ void ForwardRegionGeoModelFactory::constructElements(GeoPhysVol *fwrPhys,std::ve
             double startX = pointMagStart[0];
             double endX   = pointMagEnd[0];
             double rotationAngle = atan2(endX - startX,endZ - startZ);
-            double r = atof(loadedDataFile[i][xAperture].c_str())*GeoModelKernelUnits::mm/2;
-            double dL = abs(r*tan(rotationAngle))+0.2*GeoModelKernelUnits::mm;
+            double r = atof(loadedDataFile[i][xAperture].c_str())*Gaudi::Units::mm/2;
+            double dL = abs(r*tan(rotationAngle))+0.2*Gaudi::Units::mm;
 
 
             // move start and end points of the magnet element and neighbour elemens accordingly
@@ -288,12 +288,12 @@ void ForwardRegionGeoModelFactory::constructElements(GeoPhysVol *fwrPhys,std::ve
     // --------------- elements cycle -----------------
     for(int i=0; i < lDFSize; i++)
     {
-        startZ = atof(loadedDataFile[i][zStart].c_str())*GeoModelKernelUnits::m;
-        endZ   = atof(loadedDataFile[i][zEnd].c_str())*GeoModelKernelUnits::m;
-        startX = atof(loadedDataFile[i][xStart].c_str())*GeoModelKernelUnits::m;
-        endX   = atof(loadedDataFile[i][xEnd].c_str())*GeoModelKernelUnits::m;
-        startY = atof(loadedDataFile[i][yStart].c_str())*GeoModelKernelUnits::m;
-        endY   = atof(loadedDataFile[i][yEnd].c_str())*GeoModelKernelUnits::m;
+        startZ = atof(loadedDataFile[i][zStart].c_str())*Gaudi::Units::m;
+        endZ   = atof(loadedDataFile[i][zEnd].c_str())*Gaudi::Units::m;
+        startX = atof(loadedDataFile[i][xStart].c_str())*Gaudi::Units::m;
+        endX   = atof(loadedDataFile[i][xEnd].c_str())*Gaudi::Units::m;
+        startY = atof(loadedDataFile[i][yStart].c_str())*Gaudi::Units::m;
+        endY   = atof(loadedDataFile[i][yEnd].c_str())*Gaudi::Units::m;
 
         // translation of element
         x = (startX + endX)/2;
@@ -307,10 +307,10 @@ void ForwardRegionGeoModelFactory::constructElements(GeoPhysVol *fwrPhys,std::ve
         // half-length of element
         halfL = sqrt((endX - startX)*(endX - startX) + (endZ - startZ)*(endZ - startZ))/2;
 
-        r = atof(loadedDataFile[i][xAperture].c_str())*GeoModelKernelUnits::mm/2;
+        r = atof(loadedDataFile[i][xAperture].c_str())*Gaudi::Units::mm/2;
 
         // overlap correction
-        dL = abs(r*tan(rotationAngle))+0.2*GeoModelKernelUnits::mm;
+        dL = abs(r*tan(rotationAngle))+0.2*Gaudi::Units::mm;
 
         // do not shorten magnetic volumes
         if(loadedDataFile[i][name].find("Mag") != std::string::npos)
@@ -322,7 +322,7 @@ void ForwardRegionGeoModelFactory::constructElements(GeoPhysVol *fwrPhys,std::ve
         if(atoi(loadedDataFile[i][type].c_str()) == 0){
             // envelope to allow tracking with G4TrackAction
             if(loadedDataFile[i][name] == "VCDBP.7R1.B"){
-                GeoPhysVol* trackEnv = insertMagnetEnvelope(loadedDataFile[i][name], x, y, z, rotationAngle, 100*GeoModelKernelUnits::mm, halfL, dL, fwrPhys);
+                GeoPhysVol* trackEnv = insertMagnetEnvelope(loadedDataFile[i][name], x, y, z, rotationAngle, 100*Gaudi::Units::mm, halfL, dL, fwrPhys);
                 insertCircularElement(loadedDataFile[i][name], x, y, z, rotationAngle, atof(loadedDataFile[i][xAperture].c_str()), atof(loadedDataFile[i][yAperture].c_str()), halfL, dL, atof(loadedDataFile[i][tubeThickness].c_str()), trackEnv);
             }
             else
@@ -349,20 +349,20 @@ void ForwardRegionGeoModelFactory::constructElements(GeoPhysVol *fwrPhys,std::ve
 
         // elliptical aperture
         if(atoi(loadedDataFile[i][type].c_str()) == 1) {
-            magEnv = insertMagnetEnvelope(loadedDataFile[i][name], x, y, z, rotationAngle, 20*GeoModelKernelUnits::cm, halfL, dL, fwrPhys);
+            magEnv = insertMagnetEnvelope(loadedDataFile[i][name], x, y, z, rotationAngle, 20*Gaudi::Units::cm, halfL, dL, fwrPhys);
             insertEllipticalElement(loadedDataFile[i][name], x, y, z, rotationAngle, atof(loadedDataFile[i][xAperture].c_str()), atof(loadedDataFile[i][yAperture].c_str()), halfL, dL, atof(loadedDataFile[i][tubeThickness].c_str()), magEnv);
         }
 
 
-        double magDiam = 19.4*GeoModelKernelUnits::cm;
+        double magDiam = 19.4*Gaudi::Units::cm;
         if(loadedDataFile[i][name].find("Mag") != std::string::npos)
-            magDiam= 19.4*GeoModelKernelUnits::cm;
+            magDiam= 19.4*Gaudi::Units::cm;
         if(loadedDataFile[i][name] == "LQXAA.1R1MagQ1" || loadedDataFile[i][name] == "LQXAG.3R1MagQ3")
-            magDiam = 48*GeoModelKernelUnits::cm;
+            magDiam = 48*Gaudi::Units::cm;
         if(loadedDataFile[i][name] == "LQXBA.2R1MagQ2a" || loadedDataFile[i][name] == "LQXBA.2R1MagQ2b")
-            magDiam = 52*GeoModelKernelUnits::cm;
+            magDiam = 52*Gaudi::Units::cm;
         //else magDiam = std::max(atof(loadedDataFile[i][xAperture].c_str()), atof(loadedDataFile[i][yAperture].c_str()))+2*atof(loadedDataFile[i][tubeThickness].c_str());
-        //else magDiam = 19.4*GeoModelKernelUnits::cm;
+        //else magDiam = 19.4*Gaudi::Units::cm;
 
         // rectcircular aperture with flats in x
         if(atoi(loadedDataFile[i][type].c_str()) == 2) {
@@ -396,16 +396,16 @@ void ForwardRegionGeoModelFactory::create(GeoPhysVol *world)
 
   double startZ,endZ;
 
-  if(m_Config.vp1Compatibility) startZ = 19.0*GeoModelKernelUnits::m;
-  else startZ = 22.0*GeoModelKernelUnits::m;
-  endZ = 268.904*GeoModelKernelUnits::m;
+  if(m_Config.vp1Compatibility) startZ = 19.0*Gaudi::Units::m;
+  else startZ = 22.0*Gaudi::Units::m;
+  endZ = 268.904*Gaudi::Units::m;
 
   //rotationAngle_old = 0;
 
   // mother volume -- union of tubes, one for each side
-  //const GeoBox      *fwrBox    = new GeoBox(2*GeoModelKernelUnits::m,0.5*GeoModelKernelUnits::m,(endZ-startZ)/2);
-  const GeoTube     *fwrTubeL    = new GeoTube(0,2*GeoModelKernelUnits::m,(endZ-startZ)/2);
-  GeoTube     *fwrTubeR    = new GeoTube(0,2*GeoModelKernelUnits::m,(endZ-startZ)/2);
+  //const GeoBox      *fwrBox    = new GeoBox(2*Gaudi::Units::m,0.5*Gaudi::Units::m,(endZ-startZ)/2);
+  const GeoTube     *fwrTubeL    = new GeoTube(0,2*Gaudi::Units::m,(endZ-startZ)/2);
+  GeoTube     *fwrTubeR    = new GeoTube(0,2*Gaudi::Units::m,(endZ-startZ)/2);
   GeoTrf::Transform3D shiftL = GeoTrf::Translate3D(0,0,(endZ+startZ)/2);
   GeoTrf::Transform3D shiftR = GeoTrf::Translate3D(0,0,-(endZ+startZ)/2);
 
@@ -413,16 +413,16 @@ void ForwardRegionGeoModelFactory::create(GeoPhysVol *world)
   const GeoShapeUnion& fwrTube1 = fwrTube0.add((*fwrTubeR)<<shiftR);
 
   // cut out slots for ALFA
-  const GeoTube     *alfa    = new GeoTube(0, 2*GeoModelKernelUnits::m, 500*GeoModelKernelUnits::mm);
-  GeoTrf::Transform3D shiftAlfaL1 = GeoTrf::Translate3D(0,0,237388*GeoModelKernelUnits::mm);
-  GeoTrf::Transform3D shiftAlfaR1 = GeoTrf::Translate3D(0,0,-237408*GeoModelKernelUnits::mm);
-  GeoTrf::Transform3D shiftAlfaL2 = GeoTrf::Translate3D(0,0,(m_Config.ALFAInNewPosition ? m_Config.newPosB7L1 : 241528*GeoModelKernelUnits::mm));
-  GeoTrf::Transform3D shiftAlfaR2 = GeoTrf::Translate3D(0,0,(m_Config.ALFAInNewPosition ? m_Config.newPosB7R1 :-241548*GeoModelKernelUnits::mm));
+  const GeoTube     *alfa    = new GeoTube(0, 2*Gaudi::Units::m, 500*Gaudi::Units::mm);
+  GeoTrf::Transform3D shiftAlfaL1 = GeoTrf::Translate3D(0,0,237388*Gaudi::Units::mm);
+  GeoTrf::Transform3D shiftAlfaR1 = GeoTrf::Translate3D(0,0,-237408*Gaudi::Units::mm);
+  GeoTrf::Transform3D shiftAlfaL2 = GeoTrf::Translate3D(0,0,(m_Config.ALFAInNewPosition ? m_Config.newPosB7L1 : 241528*Gaudi::Units::mm));
+  GeoTrf::Transform3D shiftAlfaR2 = GeoTrf::Translate3D(0,0,(m_Config.ALFAInNewPosition ? m_Config.newPosB7R1 :-241548*Gaudi::Units::mm));
   const GeoShapeSubtraction& fwrTube2 = fwrTube1.subtract((*alfa)<<shiftAlfaL1).subtract((*alfa)<<shiftAlfaL2).subtract((*alfa)<<shiftAlfaR1).subtract((*alfa)<<shiftAlfaR2);
 
   // cut out slots for AFP
-  const GeoTube     *afp    = new GeoTube(0, 2.5*GeoModelKernelUnits::m, 280*GeoModelKernelUnits::mm);
-  const GeoTube     *afp2    = new GeoTube(0, 2.5*GeoModelKernelUnits::m, 580*GeoModelKernelUnits::mm);
+  const GeoTube     *afp    = new GeoTube(0, 2.5*Gaudi::Units::m, 280*Gaudi::Units::mm);
+  const GeoTube     *afp2    = new GeoTube(0, 2.5*Gaudi::Units::m, 580*Gaudi::Units::mm);
   GeoTrf::Transform3D shiftAfpL1 = GeoTrf::Translate3D(0,0,m_Config.posAFPL1);
   GeoTrf::Transform3D shiftAfpR1 = GeoTrf::Translate3D(0,0,m_Config.posAFPR1);
   GeoTrf::Transform3D shiftAfpL2 = GeoTrf::Translate3D(0,0,m_Config.posAFPL2);
diff --git a/ForwardDetectors/ForwardSimulation/ForwardRegionGeoModel/src/ForwardRegionGeoModelTool.cxx b/ForwardDetectors/ForwardSimulation/ForwardRegionGeoModel/src/ForwardRegionGeoModelTool.cxx
index b30c4f3aa758..3817b0114a79 100755
--- a/ForwardDetectors/ForwardSimulation/ForwardRegionGeoModel/src/ForwardRegionGeoModelTool.cxx
+++ b/ForwardDetectors/ForwardSimulation/ForwardRegionGeoModel/src/ForwardRegionGeoModelTool.cxx
@@ -9,8 +9,8 @@
 #include "GaudiKernel/IService.h"
 #include "GaudiKernel/ISvcLocator.h"
 #include "GaudiKernel/MsgStream.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include "StoreGate/StoreGateSvc.h"
-#include "GeoModelKernel/Units.h"
 
 /**
  ** Constructor(s)
@@ -19,28 +19,28 @@ ForwardRegionGeoModelTool::ForwardRegionGeoModelTool( const std::string& type, c
 : GeoModelTool( type, name, parent )
 {
     m_Config.clear();
-    declareProperty("TCL4JawDistB1I",m_Config.TCL4JawDistB1I=57*GeoModelKernelUnits::mm);
-    declareProperty("TCL4JawDistB2I",m_Config.TCL4JawDistB2I=57*GeoModelKernelUnits::mm);
-    declareProperty("TCL5JawDistB1I",m_Config.TCL5JawDistB1I=57*GeoModelKernelUnits::mm);
-    declareProperty("TCL5JawDistB2I",m_Config.TCL5JawDistB2I=57*GeoModelKernelUnits::mm);
-    declareProperty("TCL6JawDistB1I",m_Config.TCL6JawDistB1I=57*GeoModelKernelUnits::mm);
-    declareProperty("TCL6JawDistB2I",m_Config.TCL6JawDistB2I=57*GeoModelKernelUnits::mm);
-    declareProperty("TCL4JawDistB1O",m_Config.TCL4JawDistB1O=57*GeoModelKernelUnits::mm);
-    declareProperty("TCL4JawDistB2O",m_Config.TCL4JawDistB2O=57*GeoModelKernelUnits::mm);
-    declareProperty("TCL5JawDistB1O",m_Config.TCL5JawDistB1O=57*GeoModelKernelUnits::mm);
-    declareProperty("TCL5JawDistB2O",m_Config.TCL5JawDistB2O=57*GeoModelKernelUnits::mm);
-    declareProperty("TCL6JawDistB1O",m_Config.TCL6JawDistB1O=57*GeoModelKernelUnits::mm);
-    declareProperty("TCL6JawDistB2O",m_Config.TCL6JawDistB2O=57*GeoModelKernelUnits::mm);
+    declareProperty("TCL4JawDistB1I",m_Config.TCL4JawDistB1I=57*Gaudi::Units::mm);
+    declareProperty("TCL4JawDistB2I",m_Config.TCL4JawDistB2I=57*Gaudi::Units::mm);
+    declareProperty("TCL5JawDistB1I",m_Config.TCL5JawDistB1I=57*Gaudi::Units::mm);
+    declareProperty("TCL5JawDistB2I",m_Config.TCL5JawDistB2I=57*Gaudi::Units::mm);
+    declareProperty("TCL6JawDistB1I",m_Config.TCL6JawDistB1I=57*Gaudi::Units::mm);
+    declareProperty("TCL6JawDistB2I",m_Config.TCL6JawDistB2I=57*Gaudi::Units::mm);
+    declareProperty("TCL4JawDistB1O",m_Config.TCL4JawDistB1O=57*Gaudi::Units::mm);
+    declareProperty("TCL4JawDistB2O",m_Config.TCL4JawDistB2O=57*Gaudi::Units::mm);
+    declareProperty("TCL5JawDistB1O",m_Config.TCL5JawDistB1O=57*Gaudi::Units::mm);
+    declareProperty("TCL5JawDistB2O",m_Config.TCL5JawDistB2O=57*Gaudi::Units::mm);
+    declareProperty("TCL6JawDistB1O",m_Config.TCL6JawDistB1O=57*Gaudi::Units::mm);
+    declareProperty("TCL6JawDistB2O",m_Config.TCL6JawDistB2O=57*Gaudi::Units::mm);
     declareProperty("vp1Compatibility", m_Config.vp1Compatibility=false);
     declareProperty("buildTCL4",m_Config.buildTCL4=false);
     declareProperty("buildTCL6",m_Config.buildTCL6=false);
     declareProperty("ALFAInNewPosition",m_Config.ALFAInNewPosition=false);
-    declareProperty("newPosB7L1",m_Config.newPosB7L1=245656.77*GeoModelKernelUnits::mm);
-    declareProperty("newPosB7R1",m_Config.newPosB7R1=-245656.11*GeoModelKernelUnits::mm);
-    declareProperty("posAFPL1",m_Config.posAFPL1=204500*GeoModelKernelUnits::mm);
-    declareProperty("posAFPR1",m_Config.posAFPR1=-204500*GeoModelKernelUnits::mm);
-    declareProperty("posAFPL2",m_Config.posAFPL2=212675*GeoModelKernelUnits::mm);
-    declareProperty("posAFPR2",m_Config.posAFPR2=-212675*GeoModelKernelUnits::mm);
+    declareProperty("newPosB7L1",m_Config.newPosB7L1=245656.77*Gaudi::Units::mm);
+    declareProperty("newPosB7R1",m_Config.newPosB7R1=-245656.11*Gaudi::Units::mm);
+    declareProperty("posAFPL1",m_Config.posAFPL1=204500*Gaudi::Units::mm);
+    declareProperty("posAFPR1",m_Config.posAFPR1=-204500*Gaudi::Units::mm);
+    declareProperty("posAFPL2",m_Config.posAFPL2=212675*Gaudi::Units::mm);
+    declareProperty("posAFPR2",m_Config.posAFPR2=-212675*Gaudi::Units::mm);
 }
 
 /**
diff --git a/ForwardDetectors/LUCID/LUCID_GeoModel/src/GetRefIndex.cxx b/ForwardDetectors/LUCID/LUCID_GeoModel/src/GetRefIndex.cxx
index 518c44509c22..632835ea871e 100644
--- a/ForwardDetectors/LUCID/LUCID_GeoModel/src/GetRefIndex.cxx
+++ b/ForwardDetectors/LUCID/LUCID_GeoModel/src/GetRefIndex.cxx
@@ -7,16 +7,13 @@
 #include <iomanip>
 #include <math.h>
 
-//#include "CLHEP/Units/PhysicalConstants.h"
-//#include "CLHEP/Units/SystemOfUnits.h"
-
 #include "LUCID_DetectorFactory.h"
 #include "GetRefIndex.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/PhysicalConstants.h"
 
 double GetRefIndexGas(double lambda, double pressure, double temperature) {
     
-  double e  = 2.*M_PI*GeoModelKernelUnits::hbarc/(GeoModelKernelUnits::eV*GeoModelKernelUnits::nm)/lambda;
+  double e  = 2.*M_PI*Gaudi::Units::hbarc/(Gaudi::Units::eV*Gaudi::Units::nm)/lambda;
   double e0 = 17;
   double k  = 0.25938;
   double x  = k*pressure/temperature/(1 - pow(e/e0, 2));
@@ -29,7 +26,7 @@ double GetRefIndexQuartz(double lambda) {
   double const SellCoeu[] = {46.41,  228.71, 0.014};
   double const SellCoed[] = {10.666, 18.125, 0.125};
   
-  double e = 2.*M_PI*GeoModelKernelUnits::hbarc/(GeoModelKernelUnits::eV*GeoModelKernelUnits::nm)/lambda;
+  double e = 2.*M_PI*Gaudi::Units::hbarc/(Gaudi::Units::eV*Gaudi::Units::nm)/lambda;
   double r = 1.;
   
   for(int i=0; i<3; i++) r += SellCoeu[i]/(SellCoed[i]*SellCoed[i] - e*e);
diff --git a/ForwardDetectors/LUCID/LUCID_GeoModel/src/LUCID_DetectorFactory.cxx b/ForwardDetectors/LUCID/LUCID_GeoModel/src/LUCID_DetectorFactory.cxx
index eaae2ee41532..45ce8be3bb3e 100755
--- a/ForwardDetectors/LUCID/LUCID_GeoModel/src/LUCID_DetectorFactory.cxx
+++ b/ForwardDetectors/LUCID/LUCID_GeoModel/src/LUCID_DetectorFactory.cxx
@@ -25,6 +25,7 @@
 
 #include "StoreGate/StoreGateSvc.h"
 #include "GaudiKernel/MsgStream.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include "AthenaKernel/getMessageSvc.h"
 #include "RDBAccessSvc/IRDBAccessSvc.h"
 
@@ -80,7 +81,7 @@ void LUCID_DetectorFactory::create(GeoPhysVol* world) {
   
   log << MSG::DEBUG << " Build LUCID side A " << endmsg;
 
-  GeoPcon* aShape = new GeoPcon(0, 360*GeoModelKernelUnits::deg); 
+  GeoPcon* aShape = new GeoPcon(0, 360*Gaudi::Units::deg); 
   
   aShape->addPlane(                 0, m_lp->coolingRadius, m_lp->VJconeRadiusFront);
   aShape->addPlane(m_lp->VJconelength, m_lp->coolingRadius, m_lp->VJconeRadiusBack);
@@ -102,7 +103,7 @@ void LUCID_DetectorFactory::create(GeoPhysVol* world) {
   
   GeoFullPhysVol* phyVolC = phyVolA->clone();
     
-  world->add(new GeoAlignableTransform(GeoTrf::Translate3D(0, 0, -m_lp->VJdistanceToIP )*GeoTrf::RotateY3D(180*GeoModelKernelUnits::degree)*GeoTrf::RotateZ3D(180*GeoModelKernelUnits::degree)));
+  world->add(new GeoAlignableTransform(GeoTrf::Translate3D(0, 0, -m_lp->VJdistanceToIP )*GeoTrf::RotateY3D(180*Gaudi::Units::degree)*GeoTrf::RotateZ3D(180*Gaudi::Units::degree)));
   world->add(new GeoNameTag("LucidSideC"));
   world->add(phyVolC);
   
@@ -123,7 +124,7 @@ void LUCID_DetectorFactory::buildMaterials()  {
 
   m_alu = m_materialManager->getMaterial("std::Aluminium");
   
-  log << MSG::DEBUG << " Aluminium density[g/cm3]: " << m_alu->getDensity()/(GeoModelKernelUnits::g/GeoModelKernelUnits::cm3) << endmsg;
+  log << MSG::DEBUG << " Aluminium density[g/cm3]: " << m_alu->getDensity()/(GeoModelKernelUnits::g/Gaudi::Units::cm3) << endmsg;
 
   log << MSG::DEBUG << " Build Cherenkov Gas " << endmsg;
   
@@ -136,9 +137,9 @@ void LUCID_DetectorFactory::buildMaterials()  {
   m_gas->add(const_cast<GeoElement*>(fluorine), 10*fluorine->getA()/(4*carbon->getA() + 10*fluorine->getA()));
   
   log << MSG::DEBUG << " gasState              : " << m_gas->getState()              << endmsg;
-  log << MSG::DEBUG << " gasTemperature[kelvin]: " << m_gas->getTemperature()/GeoModelKernelUnits::kelvin << endmsg;
-  log << MSG::DEBUG << " gasPressure      [bar]: " << m_gas->getPressure()/GeoModelKernelUnits::bar       << endmsg;
-  log << MSG::DEBUG << " gasDensity     [g/cm3]: " << m_gas->getDensity()/(GeoModelKernelUnits::g/GeoModelKernelUnits::cm3)    << endmsg;
+  log << MSG::DEBUG << " gasTemperature[kelvin]: " << m_gas->getTemperature()/Gaudi::Units::kelvin << endmsg;
+  log << MSG::DEBUG << " gasPressure      [bar]: " << m_gas->getPressure()/Gaudi::Units::bar       << endmsg;
+  log << MSG::DEBUG << " gasDensity     [g/cm3]: " << m_gas->getDensity()/(GeoModelKernelUnits::g/Gaudi::Units::cm3)    << endmsg;
 
   log << MSG::DEBUG << " Wavelength dependent properties " << endmsg;
   
@@ -151,16 +152,16 @@ void LUCID_DetectorFactory::buildMaterials()  {
   double* gasAbsLength     = new double[waveLengthNum];
   double* tubeReflectivity = new double[waveLengthNum];
   
-  double absLengthScale = (m_lp->gasPressure) ? (m_lp->gasPressure/GeoModelKernelUnits::bar) : 1;
+  double absLengthScale = (m_lp->gasPressure) ? (m_lp->gasPressure/Gaudi::Units::bar) : 1;
   
   for(int i=0; i<waveLengthNum; i++) {
     
-    photonWaveLength[i] = (m_lp->waveLengthMin + i*m_lp->waveLengthStep)*GeoModelKernelUnits::nm;
-    photonEnergy    [i] = 2.*M_PI*(GeoModelKernelUnits::hbarc/(GeoModelKernelUnits::eV*GeoModelKernelUnits::nm))/(photonWaveLength[i]/GeoModelKernelUnits::nm)*GeoModelKernelUnits::eV;
-    quartzRefIndex  [i] = GetRefIndexQuartz (photonWaveLength[i]/GeoModelKernelUnits::nm);
-    gasRefIndex     [i] = GetRefIndexGas    (photonWaveLength[i]/GeoModelKernelUnits::nm, m_lp->gasPressure/GeoModelKernelUnits::bar, m_lp->gasTemperature/GeoModelKernelUnits::kelvin);
-    gasAbsLength    [i] = GetAbsLengthGas   (photonWaveLength[i]/GeoModelKernelUnits::nm)*GeoModelKernelUnits::m/absLengthScale;
-    tubeReflectivity[i] = GetReflectivity   (photonWaveLength[i]/GeoModelKernelUnits::nm);
+    photonWaveLength[i] = (m_lp->waveLengthMin + i*m_lp->waveLengthStep)*Gaudi::Units::nm;
+    photonEnergy    [i] = 2.*M_PI*(Gaudi::Units::hbarc/(Gaudi::Units::eV*Gaudi::Units::nm))/(photonWaveLength[i]/Gaudi::Units::nm)*Gaudi::Units::eV;
+    quartzRefIndex  [i] = GetRefIndexQuartz (photonWaveLength[i]/Gaudi::Units::nm);
+    gasRefIndex     [i] = GetRefIndexGas    (photonWaveLength[i]/Gaudi::Units::nm, m_lp->gasPressure/Gaudi::Units::bar, m_lp->gasTemperature/Gaudi::Units::kelvin);
+    gasAbsLength    [i] = GetAbsLengthGas   (photonWaveLength[i]/Gaudi::Units::nm)*Gaudi::Units::m/absLengthScale;
+    tubeReflectivity[i] = GetReflectivity   (photonWaveLength[i]/Gaudi::Units::nm);
   }
   
   log << MSG::DEBUG << " **************************************************************************************************** " << endmsg;
@@ -169,11 +170,11 @@ void LUCID_DetectorFactory::buildMaterials()  {
   for(int i=0; i<waveLengthNum; i++) {
     
     log << MSG::DEBUG 
-	<< std::setw(11) << photonWaveLength[i]/GeoModelKernelUnits::nm
-	<< std::setw(11) << photonEnergy    [i]/GeoModelKernelUnits::eV
+	<< std::setw(11) << photonWaveLength[i]/Gaudi::Units::nm
+	<< std::setw(11) << photonEnergy    [i]/Gaudi::Units::eV
 	<< std::setw(13) << quartzRefIndex  [i]
 	<< std::setw(10) << gasRefIndex     [i]
-	<< std::setw(16) << gasAbsLength    [i]/GeoModelKernelUnits::m
+	<< std::setw(16) << gasAbsLength    [i]/Gaudi::Units::m
 	<< std::setw(17) << tubeReflectivity[i]
 	<< endmsg;
   }
@@ -192,7 +193,7 @@ void LUCID_DetectorFactory::buildMaterials()  {
   
   log << MSG::DEBUG << " Build Quartz for PMT windows" << endmsg; 
   
-  m_quartz = new GeoExtendedMaterial("SiO2", m_lp->quartzDensity, stateSolid, GeoModelKernelUnits::STP_Temperature);
+  m_quartz = new GeoExtendedMaterial("SiO2", m_lp->quartzDensity, stateSolid, Gaudi::Units::STP_Temperature);
   
   const GeoElement* oxygen  = m_materialManager->getElement("Oxygen");
   const GeoElement* silicon = m_materialManager->getElement("Silicon");
@@ -213,7 +214,7 @@ void LUCID_DetectorFactory::buildMaterials()  {
   
   m_cop = m_materialManager->getMaterial("std::Copper");
   
-  log << MSG::DEBUG << " Copper density[g/cm3]: " << m_cop->getDensity()/(GeoModelKernelUnits::g/GeoModelKernelUnits::cm3) << endmsg;
+  log << MSG::DEBUG << " Copper density[g/cm3]: " << m_cop->getDensity()/(GeoModelKernelUnits::g/Gaudi::Units::cm3) << endmsg;
     
   log << MSG::DEBUG << " Build Reflective Tube Optical Surfaces " << endmsg; 
   
@@ -251,17 +252,17 @@ void LUCID_DetectorFactory::calcTubeParams() {
   
   for (int i=0; i<nLayers; i++) {
     
-    m_tubeTheta  [i] = atan(layerRadius[i]/m_lp->distanceToIP)*GeoModelKernelUnits::rad;
-    tubePhiOffset[i] = (i==0)*M_PI/8*GeoModelKernelUnits::rad;
+    m_tubeTheta  [i] = atan(layerRadius[i]/m_lp->distanceToIP)*Gaudi::Units::rad;
+    tubePhiOffset[i] = (i==0)*M_PI/8*Gaudi::Units::rad;
     
     for (int j=0; j<nPmtTubesPerLayer; j++) {
       
-      tubePhiAngle[i][j] = 2*M_PI*j/nPmtTubesPerLayer*GeoModelKernelUnits::rad + tubePhiOffset[i];
+      tubePhiAngle[i][j] = 2*M_PI*j/nPmtTubesPerLayer*Gaudi::Units::rad + tubePhiOffset[i];
       
-      double tubeDistance = layerRadius[i] + m_lp->tubeLength/2*sin(m_tubeTheta[i]/GeoModelKernelUnits::rad);
+      double tubeDistance = layerRadius[i] + m_lp->tubeLength/2*sin(m_tubeTheta[i]/Gaudi::Units::rad);
       
-      m_tubePosition[i][j][0] = tubeDistance*cos(tubePhiAngle[i][j]/GeoModelKernelUnits::rad); if (fabs(m_tubePosition[i][j][0]) < 1e-10) m_tubePosition[i][j][0] = 0;
-      m_tubePosition[i][j][1] = tubeDistance*sin(tubePhiAngle[i][j]/GeoModelKernelUnits::rad); if (fabs(m_tubePosition[i][j][1]) < 1e-10) m_tubePosition[i][j][1] = 0;
+      m_tubePosition[i][j][0] = tubeDistance*cos(tubePhiAngle[i][j]/Gaudi::Units::rad); if (fabs(m_tubePosition[i][j][0]) < 1e-10) m_tubePosition[i][j][0] = 0;
+      m_tubePosition[i][j][1] = tubeDistance*sin(tubePhiAngle[i][j]/Gaudi::Units::rad); if (fabs(m_tubePosition[i][j][1]) < 1e-10) m_tubePosition[i][j][1] = 0;
     }
   }
   
@@ -276,13 +277,13 @@ void LUCID_DetectorFactory::calcTubeParams() {
       log << MSG::DEBUG << setiosflags(std::ios::right)
 	  << std::setw( 6) << lay
 	  << std::setw( 5) << tub
-	  << std::setw(11) << m_lp->tubeRadius/GeoModelKernelUnits::mm
-	  << std::setw(16) << layerRadius   [lay]/GeoModelKernelUnits::mm
-	  << std::setw(14) << m_tubeTheta   [lay]/GeoModelKernelUnits::degree
-	  << std::setw(19) << tubePhiOffset [lay]/GeoModelKernelUnits::degree
-	  << std::setw(18) << tubePhiAngle  [lay][tub]/GeoModelKernelUnits::degree
-	  << std::setw(19) << m_tubePosition[lay][tub][0]/GeoModelKernelUnits::mm
-	  << std::setw(18) << m_tubePosition[lay][tub][1]/GeoModelKernelUnits::mm
+	  << std::setw(11) << m_lp->tubeRadius/Gaudi::Units::mm
+	  << std::setw(16) << layerRadius   [lay]/Gaudi::Units::mm
+	  << std::setw(14) << m_tubeTheta   [lay]/Gaudi::Units::degree
+	  << std::setw(19) << tubePhiOffset [lay]/Gaudi::Units::degree
+	  << std::setw(18) << tubePhiAngle  [lay][tub]/Gaudi::Units::degree
+	  << std::setw(19) << m_tubePosition[lay][tub][0]/Gaudi::Units::mm
+	  << std::setw(18) << m_tubePosition[lay][tub][1]/Gaudi::Units::mm
 	  << endmsg;
   
   log << MSG::DEBUG << " ********************************************************************************************************************************* " << endmsg;
@@ -298,7 +299,7 @@ void LUCID_DetectorFactory::addVJcone(GeoFullPhysVol* parent) {
 				     m_lp->VJconeRadiusBack  - m_lp->VJconeThickness,
 				     m_lp->VJconeRadiusFront, 
 				     m_lp->VJconeRadiusBack, 
-				     (m_lp->VJconelength - (m_lp->VJconeFrontRingLength - m_lp->VJconeFrontRingOverlap))/2, 0*GeoModelKernelUnits::deg,360*GeoModelKernelUnits::deg);
+				     (m_lp->VJconelength - (m_lp->VJconeFrontRingLength - m_lp->VJconeFrontRingOverlap))/2, 0*Gaudi::Units::deg,360*Gaudi::Units::deg);
   
   GeoLogVol*  logVol0 = new GeoLogVol("lvVJcone", aShape0, m_alu);
   GeoPhysVol* phyVol0 = new GeoPhysVol(logVol0); 
@@ -338,7 +339,7 @@ void LUCID_DetectorFactory::addVessel(GeoFullPhysVol* parent) {
   MsgStream log(Athena::getMessageSvc(), "LUCID_DetectorFactory::addVessel");
   log << MSG::INFO << " LUCID_DetectorFactory::addVessel " << endmsg;
   
-  GeoPcon* aShape = new GeoPcon(0, 360*GeoModelKernelUnits::deg); 
+  GeoPcon* aShape = new GeoPcon(0, 360*Gaudi::Units::deg); 
   aShape->addPlane(                 0, m_lp->vesselInnerRadius, m_lp->vesselOuterRadMin + m_lp->vesselOuterThickness);
   aShape->addPlane(m_lp->vesselLength, m_lp->vesselInnerRadius, m_lp->vesselOuterRadMax + m_lp->vesselOuterThickness);
   
@@ -360,7 +361,7 @@ void LUCID_DetectorFactory::addVesselGas(GeoPhysVol* parent) {
 
   log << MSG::INFO << " LUCID_DetectorFactory::addVesselGas " << endmsg;
   
-  GeoPcon* aShape = new GeoPcon(0, 360*GeoModelKernelUnits::deg); 
+  GeoPcon* aShape = new GeoPcon(0, 360*Gaudi::Units::deg); 
   aShape->addPlane(                 0, m_lp->vesselInnerRadius + m_lp->vesselInnerThickness, m_lp->vesselOuterRadMin);
   aShape->addPlane(m_lp->vesselLength, m_lp->vesselInnerRadius + m_lp->vesselInnerThickness, m_lp->vesselOuterRadMax);
 
diff --git a/ForwardDetectors/LUCID/LUCID_GeoModel/src/LUCID_RDBAaccess.cxx b/ForwardDetectors/LUCID/LUCID_GeoModel/src/LUCID_RDBAaccess.cxx
index f301f7289172..77eb30005aa8 100755
--- a/ForwardDetectors/LUCID/LUCID_GeoModel/src/LUCID_RDBAaccess.cxx
+++ b/ForwardDetectors/LUCID/LUCID_GeoModel/src/LUCID_RDBAaccess.cxx
@@ -4,7 +4,6 @@
 
 #include "LUCID_RDBAaccess.h"
 
-//#include "CLHEP/Units/SystemOfUnits.h"
 #include "GeoModelKernel/Units.h"
 
 #include "GeoModelUtilities/DecodeVersionKey.h"
@@ -15,6 +14,7 @@
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/GaudiException.h"
 #include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include "AthenaKernel/getMessageSvc.h"
 
@@ -73,34 +73,34 @@ void LUCID_RDBAccess::SetParameters() {
   
   for(AccessSvc_iter = m_lucidParams->begin(); AccessSvc_iter != m_lucidParams->end(); AccessSvc_iter++) {
     
-    distanceToIP                  = (*AccessSvc_iter)->getDouble("DISTANCETOIP")*GeoModelKernelUnits::mm;
-    VJdistanceToIP                = (*AccessSvc_iter)->getDouble("VJDISTANCETOIP")*GeoModelKernelUnits::mm;
-    VJconelength                  = (*AccessSvc_iter)->getDouble("VJCONELENGTH")*GeoModelKernelUnits::mm;
-    VJconeRadiusFront             = (*AccessSvc_iter)->getDouble("VJCONERADIUSFRONT")*GeoModelKernelUnits::mm;
-    VJconeRadiusBack              = (*AccessSvc_iter)->getDouble("VJCONERADIUSBACK")*GeoModelKernelUnits::mm;
-    VJconeThickness               = (*AccessSvc_iter)->getDouble("VJCONETHICKNESS")*GeoModelKernelUnits::mm;
-    VJconeFrontRingThickness      = (*AccessSvc_iter)->getDouble("VJCONEFRONTRINGTHICKNESS")*GeoModelKernelUnits::mm;
-    VJconeFrontRingLength         = (*AccessSvc_iter)->getDouble("VJCONEFRONTRINGLENGTH")*GeoModelKernelUnits::mm;
-    VJconeFrontRingOverlap        = (*AccessSvc_iter)->getDouble("VJCONEFRONTRINGOVERLAP")*GeoModelKernelUnits::mm;
-    vesselInnerRadius             = (*AccessSvc_iter)->getDouble("VESSELINNERRADIUS")*GeoModelKernelUnits::mm;
-    vesselInnerThickness          = (*AccessSvc_iter)->getDouble("VESSELINNERTHICKNESS")*GeoModelKernelUnits::mm;
-    vesselOuterRadMin             = (*AccessSvc_iter)->getDouble("VESSELOUTERRADMIN")*GeoModelKernelUnits::mm + 3*GeoModelKernelUnits::mm;
-    vesselOuterRadMax             = (*AccessSvc_iter)->getDouble("VESSELOUTERRADMAX")*GeoModelKernelUnits::mm + 3*GeoModelKernelUnits::mm;
-    vesselOuterThickness          = (*AccessSvc_iter)->getDouble("VESSELOUTERTHICKNESS")*GeoModelKernelUnits::mm;
-    vesselLength                  = (*AccessSvc_iter)->getDouble("VESSELLENGTH")*GeoModelKernelUnits::mm;
-    bulkheadThickness             = (*AccessSvc_iter)->getDouble("BULKHEADTHICKNESS")*GeoModelKernelUnits::mm;
-    coolingRadius                 = (*AccessSvc_iter)->getDouble("COOLINGRADIUS")*GeoModelKernelUnits::mm;
-    coolingThickness              = (*AccessSvc_iter)->getDouble("COOLINGTHICKNESS")*GeoModelKernelUnits::mm;
-    layerRadius1                  = (*AccessSvc_iter)->getDouble("LAYERRADIUS1")*GeoModelKernelUnits::mm;
-    layerRadius2                  = (*AccessSvc_iter)->getDouble("LAYERRADIUS2")*GeoModelKernelUnits::mm;
-    tubeRadius                    = (*AccessSvc_iter)->getDouble("TUBERADIUS")*GeoModelKernelUnits::mm;
-    tubeThickness                 = (*AccessSvc_iter)->getDouble("TUBETHICKNESS")*GeoModelKernelUnits::mm;
-    tubeLength                    = (*AccessSvc_iter)->getDouble("TUBELENGTH")*GeoModelKernelUnits::mm;
-    pmtThickness                  = (*AccessSvc_iter)->getDouble("PMTTHICKNESS")*GeoModelKernelUnits::mm;
-    gasPressure                   = (*AccessSvc_iter)->getDouble("GASPRESSURE")*GeoModelKernelUnits::bar;
-    gasDensity                    = (*AccessSvc_iter)->getDouble("GASDENSITY")*GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3;
-    gasTemperature                = (*AccessSvc_iter)->getDouble("GASTEMPERATURE")*GeoModelKernelUnits::kelvin;
-    quartzDensity                 = (*AccessSvc_iter)->getDouble("QUARTZDENSITY")*GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3;
+    distanceToIP                  = (*AccessSvc_iter)->getDouble("DISTANCETOIP")*Gaudi::Units::mm;
+    VJdistanceToIP                = (*AccessSvc_iter)->getDouble("VJDISTANCETOIP")*Gaudi::Units::mm;
+    VJconelength                  = (*AccessSvc_iter)->getDouble("VJCONELENGTH")*Gaudi::Units::mm;
+    VJconeRadiusFront             = (*AccessSvc_iter)->getDouble("VJCONERADIUSFRONT")*Gaudi::Units::mm;
+    VJconeRadiusBack              = (*AccessSvc_iter)->getDouble("VJCONERADIUSBACK")*Gaudi::Units::mm;
+    VJconeThickness               = (*AccessSvc_iter)->getDouble("VJCONETHICKNESS")*Gaudi::Units::mm;
+    VJconeFrontRingThickness      = (*AccessSvc_iter)->getDouble("VJCONEFRONTRINGTHICKNESS")*Gaudi::Units::mm;
+    VJconeFrontRingLength         = (*AccessSvc_iter)->getDouble("VJCONEFRONTRINGLENGTH")*Gaudi::Units::mm;
+    VJconeFrontRingOverlap        = (*AccessSvc_iter)->getDouble("VJCONEFRONTRINGOVERLAP")*Gaudi::Units::mm;
+    vesselInnerRadius             = (*AccessSvc_iter)->getDouble("VESSELINNERRADIUS")*Gaudi::Units::mm;
+    vesselInnerThickness          = (*AccessSvc_iter)->getDouble("VESSELINNERTHICKNESS")*Gaudi::Units::mm;
+    vesselOuterRadMin             = (*AccessSvc_iter)->getDouble("VESSELOUTERRADMIN")*Gaudi::Units::mm + 3*Gaudi::Units::mm;
+    vesselOuterRadMax             = (*AccessSvc_iter)->getDouble("VESSELOUTERRADMAX")*Gaudi::Units::mm + 3*Gaudi::Units::mm;
+    vesselOuterThickness          = (*AccessSvc_iter)->getDouble("VESSELOUTERTHICKNESS")*Gaudi::Units::mm;
+    vesselLength                  = (*AccessSvc_iter)->getDouble("VESSELLENGTH")*Gaudi::Units::mm;
+    bulkheadThickness             = (*AccessSvc_iter)->getDouble("BULKHEADTHICKNESS")*Gaudi::Units::mm;
+    coolingRadius                 = (*AccessSvc_iter)->getDouble("COOLINGRADIUS")*Gaudi::Units::mm;
+    coolingThickness              = (*AccessSvc_iter)->getDouble("COOLINGTHICKNESS")*Gaudi::Units::mm;
+    layerRadius1                  = (*AccessSvc_iter)->getDouble("LAYERRADIUS1")*Gaudi::Units::mm;
+    layerRadius2                  = (*AccessSvc_iter)->getDouble("LAYERRADIUS2")*Gaudi::Units::mm;
+    tubeRadius                    = (*AccessSvc_iter)->getDouble("TUBERADIUS")*Gaudi::Units::mm;
+    tubeThickness                 = (*AccessSvc_iter)->getDouble("TUBETHICKNESS")*Gaudi::Units::mm;
+    tubeLength                    = (*AccessSvc_iter)->getDouble("TUBELENGTH")*Gaudi::Units::mm;
+    pmtThickness                  = (*AccessSvc_iter)->getDouble("PMTTHICKNESS")*Gaudi::Units::mm;
+    gasPressure                   = (*AccessSvc_iter)->getDouble("GASPRESSURE")*Gaudi::Units::bar;
+    gasDensity                    = (*AccessSvc_iter)->getDouble("GASDENSITY")*GeoModelKernelUnits::gram/Gaudi::Units::cm3;
+    gasTemperature                = (*AccessSvc_iter)->getDouble("GASTEMPERATURE")*Gaudi::Units::kelvin;
+    quartzDensity                 = (*AccessSvc_iter)->getDouble("QUARTZDENSITY")*GeoModelKernelUnits::gram/Gaudi::Units::cm3;
     tubePolish                    = (*AccessSvc_iter)->getDouble("TUBEPOLISH");
     waveLengthStep                = (*AccessSvc_iter)->getDouble("WAVELENGTHSTEP");
     waveLengthMin                 = (*AccessSvc_iter)->getDouble("WAVELENGTHMIN");
@@ -112,26 +112,26 @@ void LUCID_RDBAccess::Print() {
   
   MsgStream log(Athena::getMessageSvc(), "LUCID_GeoModel::LUCID_RDBAaccess");
 
-  log << MSG::DEBUG << " distanceToIP         [mm]: " << distanceToIP/GeoModelKernelUnits::mm           << endmsg;
-  log << MSG::DEBUG << " vesselInnerRadius    [mm]: " << vesselInnerRadius/GeoModelKernelUnits::mm      << endmsg;
-  log << MSG::DEBUG << " vesselInnerThickness [mm]: " << vesselInnerThickness/GeoModelKernelUnits::mm   << endmsg;
-  log << MSG::DEBUG << " vesselOuterRadMin    [mm]: " << vesselOuterRadMin /GeoModelKernelUnits::mm     << endmsg;
-  log << MSG::DEBUG << " vesselOuterRadMax    [mm]: " << vesselOuterRadMax/GeoModelKernelUnits::mm      << endmsg;
-  log << MSG::DEBUG << " vesselOuterThickness [mm]: " << vesselOuterThickness/GeoModelKernelUnits::mm   << endmsg;
-  log << MSG::DEBUG << " vesselLength         [mm]: " << vesselLength /GeoModelKernelUnits::mm          << endmsg;
-  log << MSG::DEBUG << " bulkheadThickness    [mm]: " << bulkheadThickness/GeoModelKernelUnits::mm      << endmsg;
-  log << MSG::DEBUG << " coolingRadius        [mm]: " << coolingRadius/GeoModelKernelUnits::mm          << endmsg;
-  log << MSG::DEBUG << " coolingThickness     [mm]: " << coolingThickness/GeoModelKernelUnits::mm       << endmsg;
-  log << MSG::DEBUG << " layerRadius1         [mm]: " << layerRadius1/GeoModelKernelUnits::mm           << endmsg;
-  log << MSG::DEBUG << " layerRadius2         [mm]: " << layerRadius2/GeoModelKernelUnits::mm           << endmsg;
-  log << MSG::DEBUG << " tubeRadius           [mm]: " << tubeRadius/GeoModelKernelUnits::mm             << endmsg;
-  log << MSG::DEBUG << " tubeThickness        [mm]: " << tubeThickness/GeoModelKernelUnits::mm          << endmsg;
-  log << MSG::DEBUG << " tubeLength           [mm]: " << tubeLength/GeoModelKernelUnits::mm             << endmsg;
-  log << MSG::DEBUG << " pmtThickness         [mm]: " << pmtThickness/GeoModelKernelUnits::mm           << endmsg;
-  log << MSG::DEBUG << " gasPressure         [bar]: " << gasPressure/GeoModelKernelUnits::bar           << endmsg;
-  log << MSG::DEBUG << " gasDensity        [g/cm3]: " << gasDensity/(GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3)     << endmsg;
-  log << MSG::DEBUG << " gasTempearture   [kelvin]: " << gasTemperature/GeoModelKernelUnits::kelvin     << endmsg;
-  log << MSG::DEBUG << " quartzDensity     [g/cm3]: " << quartzDensity/(GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3)  << endmsg;  
+  log << MSG::DEBUG << " distanceToIP         [mm]: " << distanceToIP/Gaudi::Units::mm           << endmsg;
+  log << MSG::DEBUG << " vesselInnerRadius    [mm]: " << vesselInnerRadius/Gaudi::Units::mm      << endmsg;
+  log << MSG::DEBUG << " vesselInnerThickness [mm]: " << vesselInnerThickness/Gaudi::Units::mm   << endmsg;
+  log << MSG::DEBUG << " vesselOuterRadMin    [mm]: " << vesselOuterRadMin /Gaudi::Units::mm     << endmsg;
+  log << MSG::DEBUG << " vesselOuterRadMax    [mm]: " << vesselOuterRadMax/Gaudi::Units::mm      << endmsg;
+  log << MSG::DEBUG << " vesselOuterThickness [mm]: " << vesselOuterThickness/Gaudi::Units::mm   << endmsg;
+  log << MSG::DEBUG << " vesselLength         [mm]: " << vesselLength /Gaudi::Units::mm          << endmsg;
+  log << MSG::DEBUG << " bulkheadThickness    [mm]: " << bulkheadThickness/Gaudi::Units::mm      << endmsg;
+  log << MSG::DEBUG << " coolingRadius        [mm]: " << coolingRadius/Gaudi::Units::mm          << endmsg;
+  log << MSG::DEBUG << " coolingThickness     [mm]: " << coolingThickness/Gaudi::Units::mm       << endmsg;
+  log << MSG::DEBUG << " layerRadius1         [mm]: " << layerRadius1/Gaudi::Units::mm           << endmsg;
+  log << MSG::DEBUG << " layerRadius2         [mm]: " << layerRadius2/Gaudi::Units::mm           << endmsg;
+  log << MSG::DEBUG << " tubeRadius           [mm]: " << tubeRadius/Gaudi::Units::mm             << endmsg;
+  log << MSG::DEBUG << " tubeThickness        [mm]: " << tubeThickness/Gaudi::Units::mm          << endmsg;
+  log << MSG::DEBUG << " tubeLength           [mm]: " << tubeLength/Gaudi::Units::mm             << endmsg;
+  log << MSG::DEBUG << " pmtThickness         [mm]: " << pmtThickness/Gaudi::Units::mm           << endmsg;
+  log << MSG::DEBUG << " gasPressure         [bar]: " << gasPressure/Gaudi::Units::bar           << endmsg;
+  log << MSG::DEBUG << " gasDensity        [g/cm3]: " << gasDensity/(GeoModelKernelUnits::gram/Gaudi::Units::cm3)     << endmsg;
+  log << MSG::DEBUG << " gasTempearture   [kelvin]: " << gasTemperature/Gaudi::Units::kelvin     << endmsg;
+  log << MSG::DEBUG << " quartzDensity     [g/cm3]: " << quartzDensity/(GeoModelKernelUnits::gram/Gaudi::Units::cm3)  << endmsg;  
   log << MSG::DEBUG << " tubePolish               : " << tubePolish                << endmsg;
   log << MSG::DEBUG << " waveLengthStep           : " << waveLengthStep            << endmsg;
   log << MSG::DEBUG << " waveLengthMin            : " << waveLengthMin             << endmsg;
diff --git a/ForwardDetectors/ZDC/ZDC_GeoM/src/ZDC_DetFactory.cxx b/ForwardDetectors/ZDC/ZDC_GeoM/src/ZDC_DetFactory.cxx
index 89a9a75de05c..ad61d0752847 100644
--- a/ForwardDetectors/ZDC/ZDC_GeoM/src/ZDC_DetFactory.cxx
+++ b/ForwardDetectors/ZDC/ZDC_GeoM/src/ZDC_DetFactory.cxx
@@ -21,6 +21,7 @@
 #include "GeoModelKernel/GeoDefinitions.h"
 #include "GeoModelKernel/Units.h"
 #include "StoreGate/StoreGateSvc.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include "GeoModelInterfaces/StoredMaterialManager.h"
 
@@ -55,27 +56,27 @@ void ZDC_DetFactory::create(GeoPhysVol* world)
 
   const GeoMaterial* air = materialManager->getMaterial("std::Air");
 
-  GeoElement*  Oxygen   = new GeoElement ("Oxygen"  ,"O"  ,  8.0 ,  16.0*GeoModelKernelUnits::g/GeoModelKernelUnits::mole);
-  GeoElement*  Sillicon = new GeoElement ("Sillicon","Si" , 14.0 ,  28.085*GeoModelKernelUnits::g/GeoModelKernelUnits::mole);
-  GeoElement*  Tung     = new GeoElement ("Tungsten","W"  , 74.0 , 183.84*GeoModelKernelUnits::g/GeoModelKernelUnits::mole);
-  GeoElement*  Iron     = new GeoElement ("Iron"    ,"Fe" , 26.0 ,  55.845 *GeoModelKernelUnits::g/GeoModelKernelUnits::mole);
-  GeoElement*  Carbon   = new GeoElement ("Carbon"  ,"C"  ,  6.0 ,  12.0107*GeoModelKernelUnits::g/GeoModelKernelUnits::mole);
-  GeoElement*  Nickel   = new GeoElement ("Nickel"  ,"Ni" , 28.0 ,  58.6934*GeoModelKernelUnits::g/GeoModelKernelUnits::mole);
+  GeoElement*  Oxygen   = new GeoElement ("Oxygen"  ,"O"  ,  8.0 ,  16.0*GeoModelKernelUnits::g/Gaudi::Units::mole);
+  GeoElement*  Sillicon = new GeoElement ("Sillicon","Si" , 14.0 ,  28.085*GeoModelKernelUnits::g/Gaudi::Units::mole);
+  GeoElement*  Tung     = new GeoElement ("Tungsten","W"  , 74.0 , 183.84*GeoModelKernelUnits::g/Gaudi::Units::mole);
+  GeoElement*  Iron     = new GeoElement ("Iron"    ,"Fe" , 26.0 ,  55.845 *GeoModelKernelUnits::g/Gaudi::Units::mole);
+  GeoElement*  Carbon   = new GeoElement ("Carbon"  ,"C"  ,  6.0 ,  12.0107*GeoModelKernelUnits::g/Gaudi::Units::mole);
+  GeoElement*  Nickel   = new GeoElement ("Nickel"  ,"Ni" , 28.0 ,  58.6934*GeoModelKernelUnits::g/Gaudi::Units::mole);
 
 
-  GeoMaterial* Quartz   = new GeoMaterial("Quartz",2.20*GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3);
+  GeoMaterial* Quartz   = new GeoMaterial("Quartz",2.20*GeoModelKernelUnits::gram/Gaudi::Units::cm3);
   Quartz->add(Sillicon,0.467);
   Quartz->add(Oxygen,0.533);
   Quartz->lock();
   
   // Absorber composition:  savannah.cern.ch/task/download.php?file_id=22925
-  GeoMaterial* Tungsten = new GeoMaterial("Tungsten",18.155*GeoModelKernelUnits::g/GeoModelKernelUnits::cm3);
+  GeoMaterial* Tungsten = new GeoMaterial("Tungsten",18.155*GeoModelKernelUnits::g/Gaudi::Units::cm3);
   Tungsten->add(Tung,   0.948);
   Tungsten->add(Nickel, 0.037);
   Tungsten->add(Iron,   0.015);
   Tungsten->lock();
 
-  GeoMaterial* Steel  = new GeoMaterial("Steel", 7.9*GeoModelKernelUnits::gram/GeoModelKernelUnits::cm3);
+  GeoMaterial* Steel  = new GeoMaterial("Steel", 7.9*GeoModelKernelUnits::gram/Gaudi::Units::cm3);
   Steel->add(Iron  , 0.98);
   Steel->add(Carbon, 0.02);
   Steel->lock();
@@ -84,11 +85,11 @@ void ZDC_DetFactory::create(GeoPhysVol* world)
   //List of shapes and logical volumes
   //https://atlasop.cern.ch/atlas-point1/twiki/pub/Main/ZDCOperationManualShifter/zdc_layout.png
 
-  GeoBox*  Envelope_Box    = new GeoBox (10.0*GeoModelKernelUnits::cm/2.0 ,20.0*GeoModelKernelUnits::cm/2.0  ,100.0*GeoModelKernelUnits::cm/2.0);
-  GeoBox*  Module_Box      = new GeoBox ( 9.0*GeoModelKernelUnits::cm/2.0 ,18.0*GeoModelKernelUnits::cm/2.0  , 13.4*GeoModelKernelUnits::cm/2.0);
-  GeoBox*  Steel_Plate_Box = new GeoBox ( 9.0*GeoModelKernelUnits::cm/2.0 ,18.0*GeoModelKernelUnits::cm/2.0  ,  1.0*GeoModelKernelUnits::cm/2.0); 
-  GeoTube* Pixel_Tube      = new GeoTube( 0.0*GeoModelKernelUnits::mm     , 1.0*GeoModelKernelUnits::mm/2.0  , 13.4*GeoModelKernelUnits::cm/2.0);
-  GeoTube* Strip_Tube      = new GeoTube( 0.0*GeoModelKernelUnits::mm     , 1.5*GeoModelKernelUnits::mm/2.0  , 18.0*GeoModelKernelUnits::cm/2.0);
+  GeoBox*  Envelope_Box    = new GeoBox (10.0*Gaudi::Units::cm/2.0 ,20.0*Gaudi::Units::cm/2.0  ,100.0*Gaudi::Units::cm/2.0);
+  GeoBox*  Module_Box      = new GeoBox ( 9.0*Gaudi::Units::cm/2.0 ,18.0*Gaudi::Units::cm/2.0  , 13.4*Gaudi::Units::cm/2.0);
+  GeoBox*  Steel_Plate_Box = new GeoBox ( 9.0*Gaudi::Units::cm/2.0 ,18.0*Gaudi::Units::cm/2.0  ,  1.0*Gaudi::Units::cm/2.0); 
+  GeoTube* Pixel_Tube      = new GeoTube( 0.0*Gaudi::Units::mm     , 1.0*Gaudi::Units::mm/2.0  , 13.4*Gaudi::Units::cm/2.0);
+  GeoTube* Strip_Tube      = new GeoTube( 0.0*Gaudi::Units::mm     , 1.5*Gaudi::Units::mm/2.0  , 18.0*Gaudi::Units::cm/2.0);
 
   GeoLogVol* Envelope_Logical    = new GeoLogVol("Envelope_Logical"   ,Envelope_Box    ,air);
   GeoLogVol* Steel_Plate_Logical = new GeoLogVol("Steel_Plate_Logical",Steel_Plate_Box ,Steel);
@@ -124,8 +125,8 @@ void ZDC_DetFactory::create(GeoPhysVol* world)
     GeoIdentifierTag* Pixel_ID       = new GeoIdentifierTag( 11000+L1*8+K1);  
     GeoFullPhysVol*   Pixel_Physical = new GeoFullPhysVol(Pixel_Logical);
 
-    ShiftX = new GeoAlignableTransform(GeoTrf::TranslateX3D((4.5-K)*GeoModelKernelUnits::cm));
-    ShiftY = new GeoAlignableTransform(GeoTrf::TranslateY3D((4.5-L)*GeoModelKernelUnits::cm));
+    ShiftX = new GeoAlignableTransform(GeoTrf::TranslateX3D((4.5-K)*Gaudi::Units::cm));
+    ShiftY = new GeoAlignableTransform(GeoTrf::TranslateY3D((4.5-L)*Gaudi::Units::cm));
 	
     Module_Physical[0][0]->add(Pixel_ID);
     Module_Physical[0][0]->add(ShiftX);
@@ -151,8 +152,8 @@ void ZDC_DetFactory::create(GeoPhysVol* world)
 	GeoIdentifierTag* Pixel_ID       = new GeoIdentifierTag( I*10000+2000+ Pix_id);
 	GeoFullPhysVol*   Pixel_Physical = new GeoFullPhysVol(Pixel_Logical);
 
-	ShiftX = new GeoAlignableTransform(GeoTrf::TranslateX3D( (4.5-K)*GeoModelKernelUnits::cm ));
-	ShiftY = new GeoAlignableTransform(GeoTrf::TranslateY3D( (5.5-L)*GeoModelKernelUnits::cm ));
+	ShiftX = new GeoAlignableTransform(GeoTrf::TranslateX3D( (4.5-K)*Gaudi::Units::cm ));
+	ShiftY = new GeoAlignableTransform(GeoTrf::TranslateY3D( (5.5-L)*Gaudi::Units::cm ));
 	
 	Module_Physical[I-1][1]->add(Pixel_ID);
 	Module_Physical[I-1][1]->add(ShiftX);
@@ -171,9 +172,9 @@ void ZDC_DetFactory::create(GeoPhysVol* world)
 	    GeoFullPhysVol*   Strip_Physical = new GeoFullPhysVol  (Strip_Logical);
 	    GeoIdentifierTag* Strip_ID       = new GeoIdentifierTag(I*10000+J*1000+K*12+L*10+M);
 	    
-	    RotateX = new GeoAlignableTransform(GeoTrf::RotateX3D   (90*GeoModelKernelUnits::deg));
-	    ShiftX  = new GeoAlignableTransform(GeoTrf::TranslateX3D((L-5.5)*GeoModelKernelUnits::cm + (M-0.75)*1.5*GeoModelKernelUnits::mm +0.75*GeoModelKernelUnits::mm));
-	    ShiftZ  = new GeoAlignableTransform(GeoTrf::TranslateZ3D((K*1.2 - 7.8)*GeoModelKernelUnits::cm));
+	    RotateX = new GeoAlignableTransform(GeoTrf::RotateX3D   (90*Gaudi::Units::deg));
+	    ShiftX  = new GeoAlignableTransform(GeoTrf::TranslateX3D((L-5.5)*Gaudi::Units::cm + (M-0.75)*1.5*Gaudi::Units::mm +0.75*Gaudi::Units::mm));
+	    ShiftZ  = new GeoAlignableTransform(GeoTrf::TranslateZ3D((K*1.2 - 7.8)*Gaudi::Units::cm));
 	
 	    Module_Physical[I-1][J-1]->add(Strip_ID);
 	    Module_Physical[I-1][J-1]->add(ShiftZ);
@@ -196,9 +197,9 @@ void ZDC_DetFactory::create(GeoPhysVol* world)
 	    GeoFullPhysVol*   Strip_Physical = new GeoFullPhysVol(Strip_Logical);
 	    GeoIdentifierTag* Strip_ID       = new GeoIdentifierTag(I*10000 + J*1000 + K*12 + L*10 + M);
 
-	    RotateX = new GeoAlignableTransform(GeoTrf::RotateX3D   (90*GeoModelKernelUnits::deg));
-	    ShiftX  = new GeoAlignableTransform(GeoTrf::TranslateX3D((L-5.5)*GeoModelKernelUnits::cm + (M-0.75)*1.5*GeoModelKernelUnits::mm + 0.75*GeoModelKernelUnits::mm));
-	    ShiftZ  = new GeoAlignableTransform(GeoTrf::TranslateZ3D((K*1.2-7.8)*GeoModelKernelUnits::cm ));
+	    RotateX = new GeoAlignableTransform(GeoTrf::RotateX3D   (90*Gaudi::Units::deg));
+	    ShiftX  = new GeoAlignableTransform(GeoTrf::TranslateX3D((L-5.5)*Gaudi::Units::cm + (M-0.75)*1.5*Gaudi::Units::mm + 0.75*Gaudi::Units::mm));
+	    ShiftZ  = new GeoAlignableTransform(GeoTrf::TranslateZ3D((K*1.2-7.8)*Gaudi::Units::cm ));
 	
 	    Module_Physical[I-1][J-1]->add(Strip_ID);
 	    Module_Physical[I-1][J-1]->add(ShiftZ);
@@ -228,13 +229,13 @@ void ZDC_DetFactory::create(GeoPhysVol* world)
     Envelope_Physical[I] = new GeoFullPhysVol(Envelope_Logical);
     Steel_Plate_Physical = new GeoFullPhysVol(Steel_Plate_Logical);
 
-    ShiftZ  = new GeoAlignableTransform(GeoTrf::TranslateZ3D((-47.2 + 0.5)*GeoModelKernelUnits::cm*sgn));
+    ShiftZ  = new GeoAlignableTransform(GeoTrf::TranslateZ3D((-47.2 + 0.5)*Gaudi::Units::cm*sgn));
     Envelope_Physical[I]->add(ShiftZ);
     Envelope_Physical[I]->add(Steel_Plate_Physical);
 
     Vol_Name = "EM_XY"; Vol_Name = Vol_Name + Vol_Name_append;
 
-    ShiftZ = new GeoAlignableTransform(GeoTrf::TranslateZ3D ((-47.2 + 1 + 6.7)*GeoModelKernelUnits::cm*sgn));
+    ShiftZ = new GeoAlignableTransform(GeoTrf::TranslateZ3D ((-47.2 + 1 + 6.7)*Gaudi::Units::cm*sgn));
 
     tag = new GeoNameTag(Vol_Name.c_str());
     Envelope_Physical[I]->add(tag);
@@ -242,58 +243,58 @@ void ZDC_DetFactory::create(GeoPhysVol* world)
     Envelope_Physical[I]->add(Module_Physical[I][0]);
 
     Steel_Plate_Physical = new GeoFullPhysVol(Steel_Plate_Logical);
-    ShiftZ = new GeoAlignableTransform(GeoTrf::TranslateZ3D((-47.2 + 1 + 13.4 +.5)*GeoModelKernelUnits::cm*sgn));
+    ShiftZ = new GeoAlignableTransform(GeoTrf::TranslateZ3D((-47.2 + 1 + 13.4 +.5)*Gaudi::Units::cm*sgn));
     Envelope_Physical[I]->add(ShiftZ);
     Envelope_Physical[I]->add(Steel_Plate_Physical);
   
     Steel_Plate_Physical = new GeoFullPhysVol(Steel_Plate_Logical);
-    ShiftZ = new GeoAlignableTransform(GeoTrf::TranslateZ3D((-47.2 + 1 + 13.4 + 1 + 6 + 10 + .5)*GeoModelKernelUnits::cm*sgn));
+    ShiftZ = new GeoAlignableTransform(GeoTrf::TranslateZ3D((-47.2 + 1 + 13.4 + 1 + 6 + 10 + .5)*Gaudi::Units::cm*sgn));
     Envelope_Physical[I]->add(ShiftZ);
     Envelope_Physical[I]->add(Steel_Plate_Physical);
 
     Vol_Name = "HM_XY"; Vol_Name = Vol_Name + Vol_Name_append;
-    ShiftZ = new GeoAlignableTransform(GeoTrf::TranslateZ3D((-47.2 + 1 + 13.4 + 1 + 6 + 10 + 1 + 6.7)*GeoModelKernelUnits::cm*sgn));
+    ShiftZ = new GeoAlignableTransform(GeoTrf::TranslateZ3D((-47.2 + 1 + 13.4 + 1 + 6 + 10 + 1 + 6.7)*Gaudi::Units::cm*sgn));
     tag = new GeoNameTag(Vol_Name.c_str());
     Envelope_Physical[I]->add(tag);
     Envelope_Physical[I]->add(ShiftZ);
     Envelope_Physical[I]->add(Module_Physical[I][1]);
   
     Steel_Plate_Physical = new GeoFullPhysVol(Steel_Plate_Logical);
-    ShiftZ = new GeoAlignableTransform(GeoTrf::TranslateZ3D((-47.2 + 1 + 13.4 + 1 + 6 + 10 + 1 + 13.4 + .5)*GeoModelKernelUnits::cm*sgn));
+    ShiftZ = new GeoAlignableTransform(GeoTrf::TranslateZ3D((-47.2 + 1 + 13.4 + 1 + 6 + 10 + 1 + 13.4 + .5)*Gaudi::Units::cm*sgn));
     Envelope_Physical[I]->add(ShiftZ);
     Envelope_Physical[I]->add(Steel_Plate_Physical);
  
     Steel_Plate_Physical = new GeoFullPhysVol(Steel_Plate_Logical);
-    ShiftZ = new GeoAlignableTransform(GeoTrf::TranslateZ3D((-47.2 + 1 + 13.4 + 1 + 6 + 10 + 1 + 13.4 + 1 + 3 +.5)*GeoModelKernelUnits::cm*sgn));
+    ShiftZ = new GeoAlignableTransform(GeoTrf::TranslateZ3D((-47.2 + 1 + 13.4 + 1 + 6 + 10 + 1 + 13.4 + 1 + 3 +.5)*Gaudi::Units::cm*sgn));
     Envelope_Physical[I]->add(ShiftZ);
     Envelope_Physical[I]->add(Steel_Plate_Physical);
 
     Vol_Name = "HM_01"; Vol_Name = Vol_Name + Vol_Name_append;
-    ShiftZ = new GeoAlignableTransform(GeoTrf::TranslateZ3D((-47.2 + 1 + 13.4 + 1 + 6 + 10 + 1 + 13.4 + 1 + 3 + 1 + 6.7)*GeoModelKernelUnits::cm*sgn ));
+    ShiftZ = new GeoAlignableTransform(GeoTrf::TranslateZ3D((-47.2 + 1 + 13.4 + 1 + 6 + 10 + 1 + 13.4 + 1 + 3 + 1 + 6.7)*Gaudi::Units::cm*sgn ));
     tag = new GeoNameTag(Vol_Name.c_str());
     Envelope_Physical[I]->add(tag);
     Envelope_Physical[I]->add(ShiftZ);
     Envelope_Physical[I]->add(Module_Physical[I][2]);
   
     Steel_Plate_Physical = new GeoFullPhysVol(Steel_Plate_Logical);
-    ShiftZ = new GeoAlignableTransform(GeoTrf::TranslateZ3D((-47.2 + 1 + 13.4 + 1 + 6 + 10 + 1 + 13.4 + 1 + 3 + 1 + 13.4 + .5)*GeoModelKernelUnits::cm*sgn));
+    ShiftZ = new GeoAlignableTransform(GeoTrf::TranslateZ3D((-47.2 + 1 + 13.4 + 1 + 6 + 10 + 1 + 13.4 + 1 + 3 + 1 + 13.4 + .5)*Gaudi::Units::cm*sgn));
     Envelope_Physical[I]->add(ShiftZ);
     Envelope_Physical[I]->add(Steel_Plate_Physical);
 
     Steel_Plate_Physical = new GeoFullPhysVol(Steel_Plate_Logical);
-    ShiftZ = new GeoAlignableTransform(GeoTrf::TranslateZ3D((-47.2 + 1 + 13.4 + 1 + 6 + 10 + 1 + 13.4 + 1 + 3 + 1 + 13.4 + 1 + .5)*GeoModelKernelUnits::cm*sgn));
+    ShiftZ = new GeoAlignableTransform(GeoTrf::TranslateZ3D((-47.2 + 1 + 13.4 + 1 + 6 + 10 + 1 + 13.4 + 1 + 3 + 1 + 13.4 + 1 + .5)*Gaudi::Units::cm*sgn));
     Envelope_Physical[I]->add(ShiftZ);
     Envelope_Physical[I]->add(Steel_Plate_Physical);
 
     Vol_Name = "HM_02"; Vol_Name = Vol_Name + Vol_Name_append;
-    ShiftZ = new GeoAlignableTransform(GeoTrf::TranslateZ3D((-47.2 + 1 + 13.4 + 1 + 6 + 10 + 1 + 13.4 + 1 + 3 + 1 + 13.4 + 1 + 1 + 6.7)*GeoModelKernelUnits::cm*sgn ));
+    ShiftZ = new GeoAlignableTransform(GeoTrf::TranslateZ3D((-47.2 + 1 + 13.4 + 1 + 6 + 10 + 1 + 13.4 + 1 + 3 + 1 + 13.4 + 1 + 1 + 6.7)*Gaudi::Units::cm*sgn ));
     tag = new GeoNameTag(Vol_Name.c_str());
     Envelope_Physical[I]->add(tag);
     Envelope_Physical[I]->add(ShiftZ);
     Envelope_Physical[I]->add(Module_Physical[I][3]);
   
     Steel_Plate_Physical = new GeoFullPhysVol(Steel_Plate_Logical);
-    ShiftZ = new GeoAlignableTransform(GeoTrf::TranslateZ3D((-47.2 + 1 + 13.4 + 1 + 6 + 10 + 1 + 13.4 + 1 + 3 + 1 + 13.4 + 1 + 1 + 13.4 + .5)*GeoModelKernelUnits::cm*sgn));
+    ShiftZ = new GeoAlignableTransform(GeoTrf::TranslateZ3D((-47.2 + 1 + 13.4 + 1 + 6 + 10 + 1 + 13.4 + 1 + 3 + 1 + 13.4 + 1 + 1 + 13.4 + .5)*Gaudi::Units::cm*sgn));
     Envelope_Physical[I]->add(ShiftZ);
     Envelope_Physical[I]->add(Steel_Plate_Physical);
   }
@@ -305,7 +306,7 @@ void ZDC_DetFactory::create(GeoPhysVol* world)
 
   world->add(tag);
 
-  ShiftZ = new GeoAlignableTransform(GeoTrf::TranslateZ3D(-141.580*GeoModelKernelUnits::m));
+  ShiftZ = new GeoAlignableTransform(GeoTrf::TranslateZ3D(-141.580*Gaudi::Units::m));
 
   world->add(ShiftZ);
   world->add(Envelope_Physical[0]);
@@ -320,7 +321,7 @@ void ZDC_DetFactory::create(GeoPhysVol* world)
   
   world->add(tag);
   
-  ShiftZ = new GeoAlignableTransform(GeoTrf::TranslateZ3D(141.580 *GeoModelKernelUnits::m));
+  ShiftZ = new GeoAlignableTransform(GeoTrf::TranslateZ3D(141.580 *Gaudi::Units::m));
 
   world->add(ShiftZ);
   world->add(Envelope_Physical[1]);
diff --git a/InnerDetector/InDetMonitoring/InDetDiMuonMonitoring/src/DiMuMon.cxx b/InnerDetector/InDetMonitoring/InDetDiMuonMonitoring/src/DiMuMon.cxx
index 56e829944baa..23633d5762ea 100644
--- a/InnerDetector/InDetMonitoring/InDetDiMuonMonitoring/src/DiMuMon.cxx
+++ b/InnerDetector/InDetMonitoring/InDetDiMuonMonitoring/src/DiMuMon.cxx
@@ -6,7 +6,7 @@
 #include "GaudiKernel/IJobOptionsSvc.h"
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/StatusCode.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/PhysicalConstants.h"
 
 #include "StoreGate/StoreGateSvc.h"
 #include "InDetDiMuonMonitoring/DiMuMon.h"
@@ -103,10 +103,10 @@ StatusCode DiMuMon::initialize(){
 
   //resonance independent
   // for eta these are filled as the histograms are declared due to the dependence between region and eta
-  m_varRanges["phi"] = std::make_pair(-GeoModelKernelUnits::pi,GeoModelKernelUnits::pi);
-  m_varRanges["phiAll"] = std::make_pair(-GeoModelKernelUnits::pi,GeoModelKernelUnits::pi);
-  m_varRanges["phiPos"] = std::make_pair(-GeoModelKernelUnits::pi,GeoModelKernelUnits::pi);
-  m_varRanges["phiNeg"] = std::make_pair(-GeoModelKernelUnits::pi,GeoModelKernelUnits::pi);
+  m_varRanges["phi"] = std::make_pair(-Gaudi::Units::pi,Gaudi::Units::pi);
+  m_varRanges["phiAll"] = std::make_pair(-Gaudi::Units::pi,Gaudi::Units::pi);
+  m_varRanges["phiPos"] = std::make_pair(-Gaudi::Units::pi,Gaudi::Units::pi);
+  m_varRanges["phiNeg"] = std::make_pair(-Gaudi::Units::pi,Gaudi::Units::pi);
   m_varRanges["etaSumm"] = std::make_pair(-5.,5.);
 
   //resonance dependent
@@ -121,7 +121,7 @@ StatusCode DiMuMon::initialize(){
     ptMax = 18.;
   } else if (m_resonName=="Zmumu") {
     m_varRanges["eta"] = std::make_pair(-5.,5.);
-    m_varRanges["phiDiff"] = std::make_pair(0.,GeoModelKernelUnits::pi);
+    m_varRanges["phiDiff"] = std::make_pair(0.,Gaudi::Units::pi);
     m_varRanges["etaDiff"] = std::make_pair(-3.,3.);
     m_varRanges["crtDiff"] = std::make_pair(-0.03,0.03);
     m_varRanges["phiSumm"] = std::make_pair(-3.5,3.5);
@@ -262,7 +262,7 @@ StatusCode DiMuMon::fillHistograms()
 
   //  if (m_lumiBlockNum<402 || m_lumiBlockNum>1330) return StatusCode::SUCCESS;
 
-  double muonMass = 105.66*GeoModelKernelUnits::MeV;
+  double muonMass = 105.66*Gaudi::Units::MeV;
   //retrieve all muons
   const xAOD::MuonContainer* muons(0);
   StatusCode sc = evtStore()->retrieve(muons, m_muonCollection);
@@ -357,15 +357,15 @@ StatusCode DiMuMon::fillHistograms()
 	double phiNeg = idNeg->phi();
 	m_varValues["phiNeg"] = phiNeg;
 	m_varValues["pt"] = getPt(idPos,idNeg);
-	double ptPos = idPos->pt()/GeoModelKernelUnits::GeV;
+	double ptPos = idPos->pt()/Gaudi::Units::GeV;
 	m_varValues["ptPos"] = ptPos;
-	double ptNeg = idNeg->pt()/GeoModelKernelUnits::GeV;
+	double ptNeg = idNeg->pt()/Gaudi::Units::GeV;
 	m_varValues["ptNeg"] = ptNeg;
 
 	m_varValues["crtDiff"] = getCrtDiff(idPos,idNeg);
 	m_varValues["etaDiff"] = etaPos - etaNeg;
 	double phiDiff = fabs(phiPos - phiNeg);
-	if (phiDiff>GeoModelKernelUnits::pi) phiDiff = 2*(GeoModelKernelUnits::pi) - phiDiff;
+	if (phiDiff>Gaudi::Units::pi) phiDiff = 2*(Gaudi::Units::pi) - phiDiff;
 	m_varValues["phiDiff"] = phiDiff;
 	m_varValues["etaSumm"] = etaPos + etaNeg;
 	m_varValues["phiSumm"] = phiPos + phiNeg;
@@ -662,7 +662,7 @@ double DiMuMon::getInvmass(const xAOD::TrackParticle* id1, const xAOD::TrackPart
   particle1.SetPtEtaPhiE(id1->pt(),id1->eta(),id1->phi(),sqrt(pow(Mass,2)+pow(id1->p4().Px(),2)+pow(id1->p4().Py(),2)+pow(id1->p4().Pz(),2)));
   particle2.SetPtEtaPhiE(id2->pt(),id2->eta(),id2->phi(),sqrt(pow(Mass,2)+pow(id2->p4().Px(),2)+pow(id2->p4().Py(),2)+pow(id2->p4().Pz(),2)));
   v=particle1+particle2;
-  double invmass = v.Mag()/GeoModelKernelUnits::GeV;
+  double invmass = v.Mag()/Gaudi::Units::GeV;
   return invmass;
 }
 
@@ -671,7 +671,7 @@ double DiMuMon::getPt(const xAOD::TrackParticle* id1, const xAOD::TrackParticle*
   double px = id1->p4().Px()+id2->p4().Px();
   double py = id1->p4().Py()+id2->p4().Py();
   transmom=sqrt(px*px+py*py);
-  return transmom/GeoModelKernelUnits::GeV;  //Gev
+  return transmom/Gaudi::Units::GeV;  //Gev
 }
 
 double DiMuMon::getEta(const xAOD::TrackParticle* id1, const xAOD::TrackParticle* id2 ) const {
diff --git a/LArCalorimeter/LArDetDescr/src/LArNumberHelper.cxx b/LArCalorimeter/LArDetDescr/src/LArNumberHelper.cxx
index b2df85629c45..c983e296b92e 100755
--- a/LArCalorimeter/LArDetDescr/src/LArNumberHelper.cxx
+++ b/LArCalorimeter/LArDetDescr/src/LArNumberHelper.cxx
@@ -23,7 +23,7 @@
 #include "LArDetDescr/LArCellVolumes.h"
 #include "GeoModelInterfaces/IGeoModelSvc.h"
 #include "GeoModelUtilities/DecodeVersionKey.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 LArNumberHelper::LArNumberHelper(const std::string geometry) :
   m_geometry(geometry),
@@ -495,49 +495,49 @@ LArNumberHelper::db_nb_em()
   //std::cout << " ----- in db_nb_em tags are : " << m_tag << " " << m_node << std::endl;
 
   // PS
-  // m_emb_psin = 141.23*GeoModelKernelUnits::cm;    // this is the TDR number 1385 mm + 27.3 mm   
+  // m_emb_psin = 141.23*Gaudi::Units::cm;    // this is the TDR number 1385 mm + 27.3 mm   
   //  ----> overwritten
 
   m_lar = m_iAccessSvc->getRecordsetPtr("PresamplerGeometry","ATLAS-00","ATLAS");
 
   if (m_lar->size()) {
     m_rec = (*m_lar)[0];
-    m_emb_psin = m_rec->getDouble("RACTIVE")*GeoModelKernelUnits::cm;
+    m_emb_psin = m_rec->getDouble("RACTIVE")*Gaudi::Units::cm;
   }
 
   // ACCG :
-  // m_accg_rin_ac = 144.73*GeoModelKernelUnits::cm; // 1385mm + 27.3mm + 35mm
-  // m_accg_rout_ac = 200.35*GeoModelKernelUnits::cm; // end of active material
+  // m_accg_rin_ac = 144.73*Gaudi::Units::cm; // 1385mm + 27.3mm + 35mm
+  // m_accg_rout_ac = 200.35*Gaudi::Units::cm; // end of active material
   //  ----> overwritten
   m_lar = m_iAccessSvc->getRecordsetPtr("BarrelGeometry",m_tag,m_node);
   if (m_lar->size()) {
     m_rec = (*m_lar)[0];  
-    m_accg_rin_ac = m_rec->getDouble("RMIN") *GeoModelKernelUnits::cm;
-    m_accg_rout_ac = m_rec->getDouble("RMAX") *GeoModelKernelUnits::cm;
+    m_accg_rin_ac = m_rec->getDouble("RMIN") *Gaudi::Units::cm;
+    m_accg_rout_ac = m_rec->getDouble("RMAX") *Gaudi::Units::cm;
   }
 
   // ACCO :
   m_acco_rmx12.resize (8,(double) 0.); 
-  // m_acco_rmx12[0] = 158.6*GeoModelKernelUnits::cm;
-  // m_acco_rmx12[1] = 158.6*GeoModelKernelUnits::cm;
-  // m_acco_rmx12[2] = 157.07*GeoModelKernelUnits::cm;
-  // m_acco_rmx12[3] = 157.07*GeoModelKernelUnits::cm;
-  // m_acco_rmx12[4] = 154.83*GeoModelKernelUnits::cm;
-  // m_acco_rmx12[5] = 154.83*GeoModelKernelUnits::cm;
-  // m_acco_rmx12[6] = 153.23*GeoModelKernelUnits::cm;
-  // m_acco_rmx12[7] = 153.23*GeoModelKernelUnits::cm;
+  // m_acco_rmx12[0] = 158.6*Gaudi::Units::cm;
+  // m_acco_rmx12[1] = 158.6*Gaudi::Units::cm;
+  // m_acco_rmx12[2] = 157.07*Gaudi::Units::cm;
+  // m_acco_rmx12[3] = 157.07*Gaudi::Units::cm;
+  // m_acco_rmx12[4] = 154.83*Gaudi::Units::cm;
+  // m_acco_rmx12[5] = 154.83*Gaudi::Units::cm;
+  // m_acco_rmx12[6] = 153.23*Gaudi::Units::cm;
+  // m_acco_rmx12[7] = 153.23*Gaudi::Units::cm;
   //  ----> overwritten
   m_lar = m_iAccessSvc->getRecordsetPtr("BarrelLongDiv",m_tag,m_node);
   if (m_lar->size()) {
     m_rec = (*m_lar)[0];  
-    m_acco_rmx12[0] = m_rec->getDouble("RMX12_0")*GeoModelKernelUnits::cm;
-    m_acco_rmx12[1] = m_rec->getDouble("RMX12_1")*GeoModelKernelUnits::cm;
-    m_acco_rmx12[2] = m_rec->getDouble("RMX12_2")*GeoModelKernelUnits::cm;
-    m_acco_rmx12[3] = m_rec->getDouble("RMX12_3")*GeoModelKernelUnits::cm;
-    m_acco_rmx12[4] = m_rec->getDouble("RMX12_4")*GeoModelKernelUnits::cm;
-    m_acco_rmx12[5] = m_rec->getDouble("RMX12_5")*GeoModelKernelUnits::cm;
-    m_acco_rmx12[6] = m_rec->getDouble("RMX12_6")*GeoModelKernelUnits::cm;
-    m_acco_rmx12[7] = m_rec->getDouble("RMX12_7")*GeoModelKernelUnits::cm;
+    m_acco_rmx12[0] = m_rec->getDouble("RMX12_0")*Gaudi::Units::cm;
+    m_acco_rmx12[1] = m_rec->getDouble("RMX12_1")*Gaudi::Units::cm;
+    m_acco_rmx12[2] = m_rec->getDouble("RMX12_2")*Gaudi::Units::cm;
+    m_acco_rmx12[3] = m_rec->getDouble("RMX12_3")*Gaudi::Units::cm;
+    m_acco_rmx12[4] = m_rec->getDouble("RMX12_4")*Gaudi::Units::cm;
+    m_acco_rmx12[5] = m_rec->getDouble("RMX12_5")*Gaudi::Units::cm;
+    m_acco_rmx12[6] = m_rec->getDouble("RMX12_6")*Gaudi::Units::cm;
+    m_acco_rmx12[7] = m_rec->getDouble("RMX12_7")*Gaudi::Units::cm;
   }
 
   m_acco_ee12.resize (8,(double) 0.); 
@@ -565,84 +565,84 @@ LArNumberHelper::db_nb_em()
 
   m_acco_rmx23.resize (53,(double) 0.); 
   /*
-    m_acco_rmx23[0] = 192.83*GeoModelKernelUnits::cm;  ... up to :
-    m_acco_rmx23[52] = 178.89*GeoModelKernelUnits::cm;
+    m_acco_rmx23[0] = 192.83*Gaudi::Units::cm;  ... up to :
+    m_acco_rmx23[52] = 178.89*Gaudi::Units::cm;
   */
   //  ----> overwritten
   m_lar = m_iAccessSvc->getRecordsetPtr("BarrelLongDiv",m_tag,m_node);
   if (m_lar->size()) {
     m_rec = (*m_lar)[0];  
-    m_acco_rmx23[0] = m_rec->getDouble("RMX23_0")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[1] = m_rec->getDouble("RMX23_1")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[2] = m_rec->getDouble("RMX23_2")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[3] = m_rec->getDouble("RMX23_3")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[4] = m_rec->getDouble("RMX23_4")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[5] = m_rec->getDouble("RMX23_5")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[6] = m_rec->getDouble("RMX23_6")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[7] = m_rec->getDouble("RMX23_7")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[8] = m_rec->getDouble("RMX23_8")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[9] = m_rec->getDouble("RMX23_9")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[10] = m_rec->getDouble("RMX23_10")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[11] = m_rec->getDouble("RMX23_11")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[12] = m_rec->getDouble("RMX23_12")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[13] = m_rec->getDouble("RMX23_13")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[14] = m_rec->getDouble("RMX23_14")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[15] = m_rec->getDouble("RMX23_15")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[16] = m_rec->getDouble("RMX23_16")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[17] = m_rec->getDouble("RMX23_17")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[18] = m_rec->getDouble("RMX23_18")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[19] = m_rec->getDouble("RMX23_19")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[20] = m_rec->getDouble("RMX23_20")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[21] = m_rec->getDouble("RMX23_21")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[22] = m_rec->getDouble("RMX23_22")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[23] = m_rec->getDouble("RMX23_23")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[24] = m_rec->getDouble("RMX23_24")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[25] = m_rec->getDouble("RMX23_25")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[26] = m_rec->getDouble("RMX23_26")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[27] = m_rec->getDouble("RMX23_27")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[28] = m_rec->getDouble("RMX23_28")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[29] = m_rec->getDouble("RMX23_29")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[30] = m_rec->getDouble("RMX23_30")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[31] = m_rec->getDouble("RMX23_31")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[32] = m_rec->getDouble("RMX23_32")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[33] = m_rec->getDouble("RMX23_33")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[34] = m_rec->getDouble("RMX23_34")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[35] = m_rec->getDouble("RMX23_35")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[36] = m_rec->getDouble("RMX23_36")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[37] = m_rec->getDouble("RMX23_37")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[38] = m_rec->getDouble("RMX23_38")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[39] = m_rec->getDouble("RMX23_39")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[40] = m_rec->getDouble("RMX23_40")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[41] = m_rec->getDouble("RMX23_41")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[42] = m_rec->getDouble("RMX23_42")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[43] = m_rec->getDouble("RMX23_43")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[44] = m_rec->getDouble("RMX23_44")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[45] = m_rec->getDouble("RMX23_45")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[46] = m_rec->getDouble("RMX23_46")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[47] = m_rec->getDouble("RMX23_47")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[48] = m_rec->getDouble("RMX23_48")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[49] = m_rec->getDouble("RMX23_49")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[50] = m_rec->getDouble("RMX23_50")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[51] = m_rec->getDouble("RMX23_51")*GeoModelKernelUnits::cm;
-    m_acco_rmx23[52] = m_rec->getDouble("RMX23_52")*GeoModelKernelUnits::cm;
+    m_acco_rmx23[0] = m_rec->getDouble("RMX23_0")*Gaudi::Units::cm;
+    m_acco_rmx23[1] = m_rec->getDouble("RMX23_1")*Gaudi::Units::cm;
+    m_acco_rmx23[2] = m_rec->getDouble("RMX23_2")*Gaudi::Units::cm;
+    m_acco_rmx23[3] = m_rec->getDouble("RMX23_3")*Gaudi::Units::cm;
+    m_acco_rmx23[4] = m_rec->getDouble("RMX23_4")*Gaudi::Units::cm;
+    m_acco_rmx23[5] = m_rec->getDouble("RMX23_5")*Gaudi::Units::cm;
+    m_acco_rmx23[6] = m_rec->getDouble("RMX23_6")*Gaudi::Units::cm;
+    m_acco_rmx23[7] = m_rec->getDouble("RMX23_7")*Gaudi::Units::cm;
+    m_acco_rmx23[8] = m_rec->getDouble("RMX23_8")*Gaudi::Units::cm;
+    m_acco_rmx23[9] = m_rec->getDouble("RMX23_9")*Gaudi::Units::cm;
+    m_acco_rmx23[10] = m_rec->getDouble("RMX23_10")*Gaudi::Units::cm;
+    m_acco_rmx23[11] = m_rec->getDouble("RMX23_11")*Gaudi::Units::cm;
+    m_acco_rmx23[12] = m_rec->getDouble("RMX23_12")*Gaudi::Units::cm;
+    m_acco_rmx23[13] = m_rec->getDouble("RMX23_13")*Gaudi::Units::cm;
+    m_acco_rmx23[14] = m_rec->getDouble("RMX23_14")*Gaudi::Units::cm;
+    m_acco_rmx23[15] = m_rec->getDouble("RMX23_15")*Gaudi::Units::cm;
+    m_acco_rmx23[16] = m_rec->getDouble("RMX23_16")*Gaudi::Units::cm;
+    m_acco_rmx23[17] = m_rec->getDouble("RMX23_17")*Gaudi::Units::cm;
+    m_acco_rmx23[18] = m_rec->getDouble("RMX23_18")*Gaudi::Units::cm;
+    m_acco_rmx23[19] = m_rec->getDouble("RMX23_19")*Gaudi::Units::cm;
+    m_acco_rmx23[20] = m_rec->getDouble("RMX23_20")*Gaudi::Units::cm;
+    m_acco_rmx23[21] = m_rec->getDouble("RMX23_21")*Gaudi::Units::cm;
+    m_acco_rmx23[22] = m_rec->getDouble("RMX23_22")*Gaudi::Units::cm;
+    m_acco_rmx23[23] = m_rec->getDouble("RMX23_23")*Gaudi::Units::cm;
+    m_acco_rmx23[24] = m_rec->getDouble("RMX23_24")*Gaudi::Units::cm;
+    m_acco_rmx23[25] = m_rec->getDouble("RMX23_25")*Gaudi::Units::cm;
+    m_acco_rmx23[26] = m_rec->getDouble("RMX23_26")*Gaudi::Units::cm;
+    m_acco_rmx23[27] = m_rec->getDouble("RMX23_27")*Gaudi::Units::cm;
+    m_acco_rmx23[28] = m_rec->getDouble("RMX23_28")*Gaudi::Units::cm;
+    m_acco_rmx23[29] = m_rec->getDouble("RMX23_29")*Gaudi::Units::cm;
+    m_acco_rmx23[30] = m_rec->getDouble("RMX23_30")*Gaudi::Units::cm;
+    m_acco_rmx23[31] = m_rec->getDouble("RMX23_31")*Gaudi::Units::cm;
+    m_acco_rmx23[32] = m_rec->getDouble("RMX23_32")*Gaudi::Units::cm;
+    m_acco_rmx23[33] = m_rec->getDouble("RMX23_33")*Gaudi::Units::cm;
+    m_acco_rmx23[34] = m_rec->getDouble("RMX23_34")*Gaudi::Units::cm;
+    m_acco_rmx23[35] = m_rec->getDouble("RMX23_35")*Gaudi::Units::cm;
+    m_acco_rmx23[36] = m_rec->getDouble("RMX23_36")*Gaudi::Units::cm;
+    m_acco_rmx23[37] = m_rec->getDouble("RMX23_37")*Gaudi::Units::cm;
+    m_acco_rmx23[38] = m_rec->getDouble("RMX23_38")*Gaudi::Units::cm;
+    m_acco_rmx23[39] = m_rec->getDouble("RMX23_39")*Gaudi::Units::cm;
+    m_acco_rmx23[40] = m_rec->getDouble("RMX23_40")*Gaudi::Units::cm;
+    m_acco_rmx23[41] = m_rec->getDouble("RMX23_41")*Gaudi::Units::cm;
+    m_acco_rmx23[42] = m_rec->getDouble("RMX23_42")*Gaudi::Units::cm;
+    m_acco_rmx23[43] = m_rec->getDouble("RMX23_43")*Gaudi::Units::cm;
+    m_acco_rmx23[44] = m_rec->getDouble("RMX23_44")*Gaudi::Units::cm;
+    m_acco_rmx23[45] = m_rec->getDouble("RMX23_45")*Gaudi::Units::cm;
+    m_acco_rmx23[46] = m_rec->getDouble("RMX23_46")*Gaudi::Units::cm;
+    m_acco_rmx23[47] = m_rec->getDouble("RMX23_47")*Gaudi::Units::cm;
+    m_acco_rmx23[48] = m_rec->getDouble("RMX23_48")*Gaudi::Units::cm;
+    m_acco_rmx23[49] = m_rec->getDouble("RMX23_49")*Gaudi::Units::cm;
+    m_acco_rmx23[50] = m_rec->getDouble("RMX23_50")*Gaudi::Units::cm;
+    m_acco_rmx23[51] = m_rec->getDouble("RMX23_51")*Gaudi::Units::cm;
+    m_acco_rmx23[52] = m_rec->getDouble("RMX23_52")*Gaudi::Units::cm;
   }
 
   // ENDG
-  // m_endg_zorig = 369.1*GeoModelKernelUnits::cm; // this is the NOVA/Oracle number
-  // m_emb_iwout = 422.7*GeoModelKernelUnits::cm;  // 369.1*GeoModelKernelUnits::cm + 53.6*GeoModelKernelUnits::cm is the end of the active part
-  // m_emec_out = 422.7*GeoModelKernelUnits::cm;  // 369.1*GeoModelKernelUnits::cm + 53.6*GeoModelKernelUnits::cm is the end of the active part
+  // m_endg_zorig = 369.1*Gaudi::Units::cm; // this is the NOVA/Oracle number
+  // m_emb_iwout = 422.7*Gaudi::Units::cm;  // 369.1*Gaudi::Units::cm + 53.6*Gaudi::Units::cm is the end of the active part
+  // m_emec_out = 422.7*Gaudi::Units::cm;  // 369.1*Gaudi::Units::cm + 53.6*Gaudi::Units::cm is the end of the active part
   m_lar = m_iAccessSvc->getRecordsetPtr("EmecGeometry",m_tag,m_node);
   if (m_lar->size()) {
     m_rec = (*m_lar)[0];
-    m_endg_zorig = m_rec->getDouble("Z1")*GeoModelKernelUnits::cm;
-    double epaisseurTotale =  m_rec->getDouble("ETOT")*GeoModelKernelUnits::cm;
+    m_endg_zorig = m_rec->getDouble("Z1")*Gaudi::Units::cm;
+    double epaisseurTotale =  m_rec->getDouble("ETOT")*Gaudi::Units::cm;
     m_emb_iwout = m_endg_zorig + epaisseurTotale;
     m_emec_out  = m_endg_zorig + epaisseurTotale;
 
   } 
 
   // Cryostat
-  // m_emec_psin = 362.5*GeoModelKernelUnits::cm; // notch in cold wall of cryostat
+  // m_emec_psin = 362.5*Gaudi::Units::cm; // notch in cold wall of cryostat
   if ( m_geometry == "Atlas" ) {
     DecodeVersionKey detectorKeyAtl = DecodeVersionKey(m_geoModelSvc, "ATLAS");
     m_lar = m_iAccessSvc->getRecordsetPtr("PresamplerPosition",detectorKeyAtl.tag(),detectorKeyAtl.node());
@@ -652,74 +652,74 @@ LArNumberHelper::db_nb_em()
   }
   if (m_lar->size()) {
     m_rec = (*m_lar)[0];
-    m_emec_psin = m_rec->getDouble("ZPOS")*GeoModelKernelUnits::cm;
+    m_emec_psin = m_rec->getDouble("ZPOS")*Gaudi::Units::cm;
   } 
 
   // ESEP
   m_esep_iw23.resize(7, (double) 0.); 
-  // m_esep_iw23[0] = 413.934*GeoModelKernelUnits::cm;
-  // m_esep_iw23[1] = 412.518*GeoModelKernelUnits::cm;
-  // m_esep_iw23[2] = 411.792*GeoModelKernelUnits::cm;
-  // m_esep_iw23[3] = 409.545*GeoModelKernelUnits::cm;
-  // m_esep_iw23[4] = 407.987*GeoModelKernelUnits::cm;
-  // m_esep_iw23[5] = 407.510*GeoModelKernelUnits::cm;
-  // m_esep_iw23[6] = 404.730*GeoModelKernelUnits::cm;
+  // m_esep_iw23[0] = 413.934*Gaudi::Units::cm;
+  // m_esep_iw23[1] = 412.518*Gaudi::Units::cm;
+  // m_esep_iw23[2] = 411.792*Gaudi::Units::cm;
+  // m_esep_iw23[3] = 409.545*Gaudi::Units::cm;
+  // m_esep_iw23[4] = 407.987*Gaudi::Units::cm;
+  // m_esep_iw23[5] = 407.510*Gaudi::Units::cm;
+  // m_esep_iw23[6] = 404.730*Gaudi::Units::cm;
   //  ----> overwritten
   m_lar = m_iAccessSvc->getRecordsetPtr("EmecSamplingSep",m_tag,m_node);
   if (m_lar->size()) {
     m_rec = (*m_lar)[0];  
-    m_esep_iw23[0] = m_rec->getDouble("ZIW_0")*GeoModelKernelUnits::cm;
-    m_esep_iw23[1] = m_rec->getDouble("ZIW_1")*GeoModelKernelUnits::cm;
-    m_esep_iw23[2] = m_rec->getDouble("ZIW_2")*GeoModelKernelUnits::cm;
-    m_esep_iw23[3] = m_rec->getDouble("ZIW_3")*GeoModelKernelUnits::cm;
-    m_esep_iw23[4] = m_rec->getDouble("ZIW_4")*GeoModelKernelUnits::cm;
-    m_esep_iw23[5] = m_rec->getDouble("ZIW_5")*GeoModelKernelUnits::cm;
-    m_esep_iw23[6] = m_rec->getDouble("ZIW_6")*GeoModelKernelUnits::cm;
+    m_esep_iw23[0] = m_rec->getDouble("ZIW_0")*Gaudi::Units::cm;
+    m_esep_iw23[1] = m_rec->getDouble("ZIW_1")*Gaudi::Units::cm;
+    m_esep_iw23[2] = m_rec->getDouble("ZIW_2")*Gaudi::Units::cm;
+    m_esep_iw23[3] = m_rec->getDouble("ZIW_3")*Gaudi::Units::cm;
+    m_esep_iw23[4] = m_rec->getDouble("ZIW_4")*Gaudi::Units::cm;
+    m_esep_iw23[5] = m_rec->getDouble("ZIW_5")*Gaudi::Units::cm;
+    m_esep_iw23[6] = m_rec->getDouble("ZIW_6")*Gaudi::Units::cm;
 }
 
-  // m_esep_zsep12 = 378.398*GeoModelKernelUnits::cm;   
+  // m_esep_zsep12 = 378.398*Gaudi::Units::cm;   
   // Note that in the gometryDB this is an array, but
   // of very similar numbers -> Zebra was using 1rst value only
   //  ----> overwritten
   m_lar = m_iAccessSvc->getRecordsetPtr("EmecSamplingSep",m_tag,m_node);
   if (m_lar->size()) {
     m_rec = (*m_lar)[0];  
-    m_esep_zsep12 = m_rec->getDouble("ZSEP12_0")*GeoModelKernelUnits::cm;
+    m_esep_zsep12 = m_rec->getDouble("ZSEP12_0")*Gaudi::Units::cm;
   }
 
   m_esep_zsep23.resize(22, (double) 0.); 
   /*
-  m_esep_zsep23 [0] = 999.999*GeoModelKernelUnits::cm;       // inheritance from Zebra.
-  m_esep_zsep23 [1] = 999.999*GeoModelKernelUnits::cm;       // will be skipped in hard_em
-  m_esep_zsep23 [2] = 413.205*GeoModelKernelUnits::cm;   ... up to :
-  m_esep_zsep23 [21] = 401.153*GeoModelKernelUnits::cm;
+  m_esep_zsep23 [0] = 999.999*Gaudi::Units::cm;       // inheritance from Zebra.
+  m_esep_zsep23 [1] = 999.999*Gaudi::Units::cm;       // will be skipped in hard_em
+  m_esep_zsep23 [2] = 413.205*Gaudi::Units::cm;   ... up to :
+  m_esep_zsep23 [21] = 401.153*Gaudi::Units::cm;
   */
   //  ----> overwritten
   m_lar = m_iAccessSvc->getRecordsetPtr("EmecSamplingSep",m_tag,m_node);
   if (m_lar->size()) {
     m_rec = (*m_lar)[0];  
-    m_esep_zsep23 [0] = m_rec->getDouble("ZSEP23_0")*GeoModelKernelUnits::cm;
-    m_esep_zsep23 [1] = m_rec->getDouble("ZSEP23_1")*GeoModelKernelUnits::cm;
-    m_esep_zsep23 [2] = m_rec->getDouble("ZSEP23_2")*GeoModelKernelUnits::cm;
-    m_esep_zsep23 [3] = m_rec->getDouble("ZSEP23_3")*GeoModelKernelUnits::cm;
-    m_esep_zsep23 [4] = m_rec->getDouble("ZSEP23_4")*GeoModelKernelUnits::cm;
-    m_esep_zsep23 [5] = m_rec->getDouble("ZSEP23_5")*GeoModelKernelUnits::cm;
-    m_esep_zsep23 [6] = m_rec->getDouble("ZSEP23_6")*GeoModelKernelUnits::cm;
-    m_esep_zsep23 [7] = m_rec->getDouble("ZSEP23_7")*GeoModelKernelUnits::cm;
-    m_esep_zsep23 [8] = m_rec->getDouble("ZSEP23_8")*GeoModelKernelUnits::cm;
-    m_esep_zsep23 [9] = m_rec->getDouble("ZSEP23_9")*GeoModelKernelUnits::cm;
-    m_esep_zsep23 [10] = m_rec->getDouble("ZSEP23_10")*GeoModelKernelUnits::cm;
-    m_esep_zsep23 [11] = m_rec->getDouble("ZSEP23_11")*GeoModelKernelUnits::cm;
-    m_esep_zsep23 [12] = m_rec->getDouble("ZSEP23_12")*GeoModelKernelUnits::cm;
-    m_esep_zsep23 [13] = m_rec->getDouble("ZSEP23_13")*GeoModelKernelUnits::cm;
-    m_esep_zsep23 [14] = m_rec->getDouble("ZSEP23_14")*GeoModelKernelUnits::cm;
-    m_esep_zsep23 [15] = m_rec->getDouble("ZSEP23_15")*GeoModelKernelUnits::cm;
-    m_esep_zsep23 [16] = m_rec->getDouble("ZSEP23_16")*GeoModelKernelUnits::cm;
-    m_esep_zsep23 [17] = m_rec->getDouble("ZSEP23_17")*GeoModelKernelUnits::cm;
-    m_esep_zsep23 [18] = m_rec->getDouble("ZSEP23_18")*GeoModelKernelUnits::cm;
-    m_esep_zsep23 [19] = m_rec->getDouble("ZSEP23_19")*GeoModelKernelUnits::cm;
-    m_esep_zsep23 [20] = m_rec->getDouble("ZSEP23_20")*GeoModelKernelUnits::cm;
-    m_esep_zsep23 [21] = m_rec->getDouble("ZSEP23_21")*GeoModelKernelUnits::cm;
+    m_esep_zsep23 [0] = m_rec->getDouble("ZSEP23_0")*Gaudi::Units::cm;
+    m_esep_zsep23 [1] = m_rec->getDouble("ZSEP23_1")*Gaudi::Units::cm;
+    m_esep_zsep23 [2] = m_rec->getDouble("ZSEP23_2")*Gaudi::Units::cm;
+    m_esep_zsep23 [3] = m_rec->getDouble("ZSEP23_3")*Gaudi::Units::cm;
+    m_esep_zsep23 [4] = m_rec->getDouble("ZSEP23_4")*Gaudi::Units::cm;
+    m_esep_zsep23 [5] = m_rec->getDouble("ZSEP23_5")*Gaudi::Units::cm;
+    m_esep_zsep23 [6] = m_rec->getDouble("ZSEP23_6")*Gaudi::Units::cm;
+    m_esep_zsep23 [7] = m_rec->getDouble("ZSEP23_7")*Gaudi::Units::cm;
+    m_esep_zsep23 [8] = m_rec->getDouble("ZSEP23_8")*Gaudi::Units::cm;
+    m_esep_zsep23 [9] = m_rec->getDouble("ZSEP23_9")*Gaudi::Units::cm;
+    m_esep_zsep23 [10] = m_rec->getDouble("ZSEP23_10")*Gaudi::Units::cm;
+    m_esep_zsep23 [11] = m_rec->getDouble("ZSEP23_11")*Gaudi::Units::cm;
+    m_esep_zsep23 [12] = m_rec->getDouble("ZSEP23_12")*Gaudi::Units::cm;
+    m_esep_zsep23 [13] = m_rec->getDouble("ZSEP23_13")*Gaudi::Units::cm;
+    m_esep_zsep23 [14] = m_rec->getDouble("ZSEP23_14")*Gaudi::Units::cm;
+    m_esep_zsep23 [15] = m_rec->getDouble("ZSEP23_15")*Gaudi::Units::cm;
+    m_esep_zsep23 [16] = m_rec->getDouble("ZSEP23_16")*Gaudi::Units::cm;
+    m_esep_zsep23 [17] = m_rec->getDouble("ZSEP23_17")*Gaudi::Units::cm;
+    m_esep_zsep23 [18] = m_rec->getDouble("ZSEP23_18")*Gaudi::Units::cm;
+    m_esep_zsep23 [19] = m_rec->getDouble("ZSEP23_19")*Gaudi::Units::cm;
+    m_esep_zsep23 [20] = m_rec->getDouble("ZSEP23_20")*Gaudi::Units::cm;
+    m_esep_zsep23 [21] = m_rec->getDouble("ZSEP23_21")*Gaudi::Units::cm;
   }
 
 }
@@ -730,17 +730,17 @@ LArNumberHelper::db_nb_hec()
   
   // ---- Set default :
   /*  
-  m_hec_in0 = 427.70*GeoModelKernelUnits::cm;  // z_start
-  m_hec_in1 = 455.75*GeoModelKernelUnits::cm;  // z_start+ 28.05*GeoModelKernelUnits::cm
-  m_hec_in2 = 513.40*GeoModelKernelUnits::cm;  // z_start + 28.05*GeoModelKernelUnits::cm + 26.8*GeoModelKernelUnits::cm + 26.8*GeoModelKernelUnits::cm + 4.05*GeoModelKernelUnits::cm
-  m_hec_in3 = 562.70*GeoModelKernelUnits::cm;  // z_start + 28.05*GeoModelKernelUnits::cm + 26.8*GeoModelKernelUnits::cm + 26.8*GeoModelKernelUnits::cm + 4.05*GeoModelKernelUnits::cm 
-                          //        + 25.9*GeoModelKernelUnits::cm + 23.4*GeoModelKernelUnits::cm
-  m_hec_gap = 4.05*GeoModelKernelUnits::cm;    // gap between the two HEC wheels  
+  m_hec_in0 = 427.70*Gaudi::Units::cm;  // z_start
+  m_hec_in1 = 455.75*Gaudi::Units::cm;  // z_start+ 28.05*Gaudi::Units::cm
+  m_hec_in2 = 513.40*Gaudi::Units::cm;  // z_start + 28.05*Gaudi::Units::cm + 26.8*Gaudi::Units::cm + 26.8*Gaudi::Units::cm + 4.05*Gaudi::Units::cm
+  m_hec_in3 = 562.70*Gaudi::Units::cm;  // z_start + 28.05*Gaudi::Units::cm + 26.8*Gaudi::Units::cm + 26.8*Gaudi::Units::cm + 4.05*Gaudi::Units::cm 
+                          //        + 25.9*Gaudi::Units::cm + 23.4*Gaudi::Units::cm
+  m_hec_gap = 4.05*Gaudi::Units::cm;    // gap between the two HEC wheels  
   
   // Comment from Sven Menke :
   // I don't know why the the Nova Z_end is 2.5cm more, but the active
   // volume must be the sum of all blocks plus the gap - thus it's 609.5*cm
-  m_hec_out = 609.5*GeoModelKernelUnits::cm;  // z_end - 2.5*GeoModelKernelUnits::cm (or z_orig + all blocks)
+  m_hec_out = 609.5*Gaudi::Units::cm;  // z_end - 2.5*Gaudi::Units::cm (or z_orig + all blocks)
   */
 
   //std::cout << " ----- in db_nb_hec tags are : " << m_tag << " " << m_node << std::endl;
@@ -757,31 +757,31 @@ LArNumberHelper::db_nb_hec()
     // Block0 = 1.25 cm Front Plate + 
     //          8 times (0.85 cm LAr gap + 2.50 cm Plate) = 28.05 cm 
     double Block0 = ( m_rec->getDouble("PLATE_0")/2. 
-		      + 8*(m_rec->getDouble("LARG") + m_rec->getDouble("PLATE_0")))*GeoModelKernelUnits::cm;
+		      + 8*(m_rec->getDouble("LARG") + m_rec->getDouble("PLATE_0")))*Gaudi::Units::cm;
     
     // HEC1 is Block1 + Block2
     // Block1 = 8 times (0.85 cm LAr gap + 2.50 cm Plate) 
     //         = 26.80 cm
-    double Block1 = 8*(m_rec->getDouble("LARG") + m_rec->getDouble("PLATE_0"))*GeoModelKernelUnits::cm;
+    double Block1 = 8*(m_rec->getDouble("LARG") + m_rec->getDouble("PLATE_0"))*Gaudi::Units::cm;
     double Block2 = Block1 ;
 
     // Gap     = 4.05 cm
-    m_hec_gap = m_rec->getDouble("GAPWHL") *GeoModelKernelUnits::cm;
+    m_hec_gap = m_rec->getDouble("GAPWHL") *Gaudi::Units::cm;
     
     // HEC2 is  Block 3 + Block 4
     // Block3 = 2.5 cm Front Plate + 
     //      4 times (0.85 cm LAr gap + 5.00 cm Plate) = 25.90 cm 
     double Block3 =  ( m_rec->getDouble("PLATE_1")/2. 
-		       + 4*(m_rec->getDouble("LARG") + m_rec->getDouble("PLATE_1")))*GeoModelKernelUnits::cm;
+		       + 4*(m_rec->getDouble("LARG") + m_rec->getDouble("PLATE_1")))*Gaudi::Units::cm;
     
     // Block4 = 4 times (0.85 cm LAr gap + 5.00 cm Plate) = 23.40 cm 
-    double Block4 = 4*(m_rec->getDouble("LARG") + m_rec->getDouble("PLATE_1"))*GeoModelKernelUnits::cm;
+    double Block4 = 4*(m_rec->getDouble("LARG") + m_rec->getDouble("PLATE_1"))*Gaudi::Units::cm;
     
     // HEC3 is  Block 5 + Block 6
     double Block5 = Block4 ;
     double Block6 = Block4;
     
-    double zstart =  m_rec->getDouble("ZSTART") *GeoModelKernelUnits::cm;
+    double zstart =  m_rec->getDouble("ZSTART") *Gaudi::Units::cm;
     
     m_hec_in0 = zstart;
     m_hec_in1 = m_hec_in0 + Block0  ;
@@ -1056,10 +1056,10 @@ LArNumberHelper::hard_fcal()
 
   // x and y are taken from drawings in the TDR
   for ( unsigned int i=0; i < m_fcal_id->module_hash_max(); i++ ) {
-    m_x_min_fcal [i] = 8.6*GeoModelKernelUnits::cm;
-    m_x_max_fcal [i] = 47.5*GeoModelKernelUnits::cm;
+    m_x_min_fcal [i] = 8.6*Gaudi::Units::cm;
+    m_x_max_fcal [i] = 47.5*Gaudi::Units::cm;
     m_y_min_fcal [i] = 8.6;
-    m_y_max_fcal [i] = 47.5*GeoModelKernelUnits::cm;
+    m_y_max_fcal [i] = 47.5*Gaudi::Units::cm;
     m_phi_min_fcal[i] = 0.;
     m_phi_max_fcal[i] = 6.28;   // when too close to 2pi pb
 
@@ -1069,35 +1069,35 @@ LArNumberHelper::hard_fcal()
     //int pos_neg = m_fcal_id->pos_neg (m_region_id_fcal[i]);
     
     if ( mod == 1 ) {
-      m_dx_fcal [i] = 3.*GeoModelKernelUnits::cm;
-      m_dy_fcal [i] = 2.598*GeoModelKernelUnits::cm;
-      z_loc_in [0] = 466.85*GeoModelKernelUnits::cm;
-      z_loc_out [0] = z_loc_in [0]+45.*GeoModelKernelUnits::cm;
+      m_dx_fcal [i] = 3.*Gaudi::Units::cm;
+      m_dy_fcal [i] = 2.598*Gaudi::Units::cm;
+      z_loc_in [0] = 466.85*Gaudi::Units::cm;
+      z_loc_out [0] = z_loc_in [0]+45.*Gaudi::Units::cm;
 
     }
     else if ( mod == 2 ) {
-      m_dx_fcal [i] = 3.272*GeoModelKernelUnits::cm;
-      m_dy_fcal [i] = 4.25*GeoModelKernelUnits::cm;
-      z_loc_in [0] = 512.3*GeoModelKernelUnits::cm;
-      z_loc_out [0] = z_loc_in [0]+45.*GeoModelKernelUnits::cm;
+      m_dx_fcal [i] = 3.272*Gaudi::Units::cm;
+      m_dy_fcal [i] = 4.25*Gaudi::Units::cm;
+      z_loc_in [0] = 512.3*Gaudi::Units::cm;
+      z_loc_out [0] = z_loc_in [0]+45.*Gaudi::Units::cm;
 
     }
     else if ( mod == 3 ) {
-      m_dx_fcal [i] = 5.4*GeoModelKernelUnits::cm;
-      m_dy_fcal [i] = 4.677*GeoModelKernelUnits::cm;
-      z_loc_in [0] = 559.75*GeoModelKernelUnits::cm;
-      z_loc_out [0] = z_loc_in [0]+45.*GeoModelKernelUnits::cm;
+      m_dx_fcal [i] = 5.4*Gaudi::Units::cm;
+      m_dy_fcal [i] = 4.677*Gaudi::Units::cm;
+      z_loc_in [0] = 559.75*Gaudi::Units::cm;
+      z_loc_out [0] = z_loc_in [0]+45.*Gaudi::Units::cm;
 
     }
     else  {
       m_dx_fcal [i] = 0.;
       m_dy_fcal [i] = 0.;
       z_loc_in [0] = 0.;
-      z_loc_out [0] = z_loc_in [0]+45.*GeoModelKernelUnits::cm;
+      z_loc_out [0] = z_loc_in [0]+45.*Gaudi::Units::cm;
     }
 
     m_z_min_fcal [i] = z_loc_in [0];
-    m_z_max_fcal [i] = m_z_min_fcal [i] + 45.*GeoModelKernelUnits::cm ;
+    m_z_max_fcal [i] = m_z_min_fcal [i] + 45.*Gaudi::Units::cm ;
 
     double z = m_z_min_fcal [i];
     double r = m_x_max_fcal [i];
@@ -1124,21 +1124,21 @@ LArNumberHelper::sagging_param( std::vector<double>& Rhocen, std::vector<double>
   if (m_lar->size()) {
     m_rec = (*m_lar)[0];
 
-    Rhocen.push_back(m_rec->getDouble("RHOCEN_0")*GeoModelKernelUnits::cm);
-    Rhocen.push_back(m_rec->getDouble("RHOCEN_1")*GeoModelKernelUnits::cm);
-    Rhocen.push_back(m_rec->getDouble("RHOCEN_2")*GeoModelKernelUnits::cm);
-    Rhocen.push_back(m_rec->getDouble("RHOCEN_3")*GeoModelKernelUnits::cm);
-    Rhocen.push_back(m_rec->getDouble("RHOCEN_4")*GeoModelKernelUnits::cm);
-    Rhocen.push_back(m_rec->getDouble("RHOCEN_5")*GeoModelKernelUnits::cm);
-    Rhocen.push_back(m_rec->getDouble("RHOCEN_6")*GeoModelKernelUnits::cm);
-    Rhocen.push_back(m_rec->getDouble("RHOCEN_7")*GeoModelKernelUnits::cm);
-    Rhocen.push_back(m_rec->getDouble("RHOCEN_8")*GeoModelKernelUnits::cm);
-    Rhocen.push_back(m_rec->getDouble("RHOCEN_9")*GeoModelKernelUnits::cm);
-    Rhocen.push_back(m_rec->getDouble("RHOCEN_10")*GeoModelKernelUnits::cm);
-    Rhocen.push_back(m_rec->getDouble("RHOCEN_11")*GeoModelKernelUnits::cm);
-    Rhocen.push_back(m_rec->getDouble("RHOCEN_12")*GeoModelKernelUnits::cm);
-    Rhocen.push_back(m_rec->getDouble("RHOCEN_13")*GeoModelKernelUnits::cm);
-    Rhocen.push_back(m_rec->getDouble("RHOCEN_14")*GeoModelKernelUnits::cm);
+    Rhocen.push_back(m_rec->getDouble("RHOCEN_0")*Gaudi::Units::cm);
+    Rhocen.push_back(m_rec->getDouble("RHOCEN_1")*Gaudi::Units::cm);
+    Rhocen.push_back(m_rec->getDouble("RHOCEN_2")*Gaudi::Units::cm);
+    Rhocen.push_back(m_rec->getDouble("RHOCEN_3")*Gaudi::Units::cm);
+    Rhocen.push_back(m_rec->getDouble("RHOCEN_4")*Gaudi::Units::cm);
+    Rhocen.push_back(m_rec->getDouble("RHOCEN_5")*Gaudi::Units::cm);
+    Rhocen.push_back(m_rec->getDouble("RHOCEN_6")*Gaudi::Units::cm);
+    Rhocen.push_back(m_rec->getDouble("RHOCEN_7")*Gaudi::Units::cm);
+    Rhocen.push_back(m_rec->getDouble("RHOCEN_8")*Gaudi::Units::cm);
+    Rhocen.push_back(m_rec->getDouble("RHOCEN_9")*Gaudi::Units::cm);
+    Rhocen.push_back(m_rec->getDouble("RHOCEN_10")*Gaudi::Units::cm);
+    Rhocen.push_back(m_rec->getDouble("RHOCEN_11")*Gaudi::Units::cm);
+    Rhocen.push_back(m_rec->getDouble("RHOCEN_12")*Gaudi::Units::cm);
+    Rhocen.push_back(m_rec->getDouble("RHOCEN_13")*Gaudi::Units::cm);
+    Rhocen.push_back(m_rec->getDouble("RHOCEN_14")*Gaudi::Units::cm);
   }
  
   m_lar = m_iAccessSvc->getRecordsetPtr("BarrelSagging",m_tag,m_node);
@@ -1146,21 +1146,21 @@ LArNumberHelper::sagging_param( std::vector<double>& Rhocen, std::vector<double>
   if (m_lar->size()) {
     m_rec = (*m_lar)[0];
 
-    Sag.push_back(m_rec->getDouble("SAG_0")*GeoModelKernelUnits::cm);
-    Sag.push_back(m_rec->getDouble("SAG_1")*GeoModelKernelUnits::cm);
-    Sag.push_back(m_rec->getDouble("SAG_2")*GeoModelKernelUnits::cm);
-    Sag.push_back(m_rec->getDouble("SAG_3")*GeoModelKernelUnits::cm);
-    Sag.push_back(m_rec->getDouble("SAG_4")*GeoModelKernelUnits::cm);
-    Sag.push_back(m_rec->getDouble("SAG_5")*GeoModelKernelUnits::cm);
-    Sag.push_back(m_rec->getDouble("SAG_6")*GeoModelKernelUnits::cm);
-    Sag.push_back(m_rec->getDouble("SAG_7")*GeoModelKernelUnits::cm);
-    Sag.push_back(m_rec->getDouble("SAG_8")*GeoModelKernelUnits::cm);
-    Sag.push_back(m_rec->getDouble("SAG_9")*GeoModelKernelUnits::cm);
-    Sag.push_back(m_rec->getDouble("SAG_10")*GeoModelKernelUnits::cm);
-    Sag.push_back(m_rec->getDouble("SAG_11")*GeoModelKernelUnits::cm);
-    Sag.push_back(m_rec->getDouble("SAG_12")*GeoModelKernelUnits::cm);
-    Sag.push_back(m_rec->getDouble("SAG_13")*GeoModelKernelUnits::cm);
-    Sag.push_back(m_rec->getDouble("SAG_14")*GeoModelKernelUnits::cm);
+    Sag.push_back(m_rec->getDouble("SAG_0")*Gaudi::Units::cm);
+    Sag.push_back(m_rec->getDouble("SAG_1")*Gaudi::Units::cm);
+    Sag.push_back(m_rec->getDouble("SAG_2")*Gaudi::Units::cm);
+    Sag.push_back(m_rec->getDouble("SAG_3")*Gaudi::Units::cm);
+    Sag.push_back(m_rec->getDouble("SAG_4")*Gaudi::Units::cm);
+    Sag.push_back(m_rec->getDouble("SAG_5")*Gaudi::Units::cm);
+    Sag.push_back(m_rec->getDouble("SAG_6")*Gaudi::Units::cm);
+    Sag.push_back(m_rec->getDouble("SAG_7")*Gaudi::Units::cm);
+    Sag.push_back(m_rec->getDouble("SAG_8")*Gaudi::Units::cm);
+    Sag.push_back(m_rec->getDouble("SAG_9")*Gaudi::Units::cm);
+    Sag.push_back(m_rec->getDouble("SAG_10")*Gaudi::Units::cm);
+    Sag.push_back(m_rec->getDouble("SAG_11")*Gaudi::Units::cm);
+    Sag.push_back(m_rec->getDouble("SAG_12")*Gaudi::Units::cm);
+    Sag.push_back(m_rec->getDouble("SAG_13")*Gaudi::Units::cm);
+    Sag.push_back(m_rec->getDouble("SAG_14")*Gaudi::Units::cm);
 
   }
 
diff --git a/LArCalorimeter/LArDetDescr/src/LArRecoMaterialTool.cxx b/LArCalorimeter/LArDetDescr/src/LArRecoMaterialTool.cxx
index c2ce91bbfa01..94b6277869a7 100755
--- a/LArCalorimeter/LArDetDescr/src/LArRecoMaterialTool.cxx
+++ b/LArCalorimeter/LArDetDescr/src/LArRecoMaterialTool.cxx
@@ -20,6 +20,7 @@
 #include "GeoModelUtilities/StoredPhysVol.h"
 #include "GeoModelKernel/GeoFullPhysVol.h"
 #include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include "CaloIdentifier/CaloIdManager.h"
 #include "CaloIdentifier/CaloCell_ID.h"
diff --git a/LArCalorimeter/LArDetDescr/src/LArRecoSimpleGeomTool.cxx b/LArCalorimeter/LArDetDescr/src/LArRecoSimpleGeomTool.cxx
index 7019b56fcf54..7fd73c48e248 100755
--- a/LArCalorimeter/LArDetDescr/src/LArRecoSimpleGeomTool.cxx
+++ b/LArCalorimeter/LArDetDescr/src/LArRecoSimpleGeomTool.cxx
@@ -28,7 +28,7 @@
 #include "GeoModelUtilities/StoredPhysVol.h"
 #include "GeoModelKernel/GeoFullPhysVol.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include "GeoPrimitives/CLHEPtoEigenConverter.h"
 
@@ -170,17 +170,17 @@ LArRecoSimpleGeomTool::get_cylinder_surface (CaloSubdetNames::ALIGNVOL alvol,
     if (lar->size()<14) return false;
 
     const IRDBRecord* rec = (*lar)[11];
-    rad =  rec->getDouble("RMIN")*GeoModelKernelUnits::cm;
-    len =  rec->getDouble("DZ")*GeoModelKernelUnits::cm /2.;
-    dep =  rec->getDouble("DR")*GeoModelKernelUnits::cm;
+    rad =  rec->getDouble("RMIN")*Gaudi::Units::cm;
+    len =  rec->getDouble("DZ")*Gaudi::Units::cm /2.;
+    dep =  rec->getDouble("DR")*Gaudi::Units::cm;
     rec = (*lar)[12];
-    dep =  dep +rec->getDouble("DR")*GeoModelKernelUnits::cm;
+    dep =  dep +rec->getDouble("DR")*Gaudi::Units::cm;
     rec = (*lar)[13];
-    dep =  dep +rec->getDouble("DR")*GeoModelKernelUnits::cm;
+    dep =  dep +rec->getDouble("DR")*Gaudi::Units::cm;
 
-    //rad = 124.18*GeoModelKernelUnits::cm;
-    //dep = (.305 + 1.38 + .47 )*GeoModelKernelUnits::cm;
-    //len = 270.*GeoModelKernelUnits::cm;
+    //rad = 124.18*Gaudi::Units::cm;
+    //dep = (.305 + 1.38 + .47 )*Gaudi::Units::cm;
+    //len = 270.*Gaudi::Units::cm;
     
     radius.push_back( rad + dep/2.);
     depth.push_back( dep/2. );
@@ -197,13 +197,13 @@ LArRecoSimpleGeomTool::get_cylinder_surface (CaloSubdetNames::ALIGNVOL alvol,
 
     //  CryoMother nb 10
     const IRDBRecord* rec = (*lar)[10];
-    rad =  rec->getDouble("RMIN")*GeoModelKernelUnits::cm;
-    len =  rec->getDouble("DZ")*GeoModelKernelUnits::cm /2.;
-    dep =  rec->getDouble("DR")*GeoModelKernelUnits::cm;
+    rad =  rec->getDouble("RMIN")*Gaudi::Units::cm;
+    len =  rec->getDouble("DZ")*Gaudi::Units::cm /2.;
+    dep =  rec->getDouble("DR")*Gaudi::Units::cm;
 
-    //rad = 122.9*GeoModelKernelUnits::cm;
-    //dep = 1.28*GeoModelKernelUnits::cm;
-    //len = 270.*GeoModelKernelUnits::cm;
+    //rad = 122.9*Gaudi::Units::cm;
+    //dep = 1.28*Gaudi::Units::cm;
+    //len = 270.*Gaudi::Units::cm;
 
     radius.push_back( rad + dep/2. );
     depth.push_back( dep /2.);
@@ -211,13 +211,13 @@ LArRecoSimpleGeomTool::get_cylinder_surface (CaloSubdetNames::ALIGNVOL alvol,
 
     //  CryoMother nb 14
     rec = (*lar)[14];
-    rad =  rec->getDouble("RMIN")*GeoModelKernelUnits::cm;
-    len =  rec->getDouble("DZ")*GeoModelKernelUnits::cm /2.;
-    dep =  rec->getDouble("DR")*GeoModelKernelUnits::cm;
+    rad =  rec->getDouble("RMIN")*Gaudi::Units::cm;
+    len =  rec->getDouble("DZ")*Gaudi::Units::cm /2.;
+    dep =  rec->getDouble("DR")*Gaudi::Units::cm;
 
-    //rad = 126.335*GeoModelKernelUnits::cm;
-    //dep = 1.2*GeoModelKernelUnits::cm;
-    //len = 284.*GeoModelKernelUnits::cm;
+    //rad = 126.335*Gaudi::Units::cm;
+    //dep = 1.2*Gaudi::Units::cm;
+    //len = 284.*Gaudi::Units::cm;
 
     radius.push_back( rad  + dep/2.);
     depth.push_back( dep /2.);
@@ -225,13 +225,13 @@ LArRecoSimpleGeomTool::get_cylinder_surface (CaloSubdetNames::ALIGNVOL alvol,
 
     // CryoMother nb 0
     rec = (*lar)[0];
-    rad =  rec->getDouble("RMIN")*GeoModelKernelUnits::cm;
-    len =  rec->getDouble("DZ")*GeoModelKernelUnits::cm /2.;
-    dep =  rec->getDouble("DR")*GeoModelKernelUnits::cm;
+    rad =  rec->getDouble("RMIN")*Gaudi::Units::cm;
+    len =  rec->getDouble("DZ")*Gaudi::Units::cm /2.;
+    dep =  rec->getDouble("DR")*Gaudi::Units::cm;
 
     //rad = 2140*mm;
     //dep = 30*mm;
-    //len = 299.6*GeoModelKernelUnits::cm;
+    //len = 299.6*Gaudi::Units::cm;
 
     radius.push_back( rad + dep/2. );
     depth.push_back( dep /2.);
@@ -239,13 +239,13 @@ LArRecoSimpleGeomTool::get_cylinder_surface (CaloSubdetNames::ALIGNVOL alvol,
 
     //  CryoMother nb 5
     rec = (*lar)[5];
-    rad =  rec->getDouble("RMIN")*GeoModelKernelUnits::cm;
-    len =  rec->getDouble("DZ")*GeoModelKernelUnits::cm /2.;
-    dep =  rec->getDouble("DR")*GeoModelKernelUnits::cm;
+    rad =  rec->getDouble("RMIN")*Gaudi::Units::cm;
+    len =  rec->getDouble("DZ")*Gaudi::Units::cm /2.;
+    dep =  rec->getDouble("DR")*Gaudi::Units::cm;
 
     //rad = 2220*mm;
     //dep = 30*mm;
-    //len = 285*GeoModelKernelUnits::cm;
+    //len = 285*Gaudi::Units::cm;
 
     radius.push_back( rad + dep/2. );
     depth.push_back( dep /2.);
@@ -262,18 +262,18 @@ LArRecoSimpleGeomTool::get_cylinder_surface (CaloSubdetNames::ALIGNVOL alvol,
     if (lar->size()==0) return false;
     
     const IRDBRecord* rec = (*lar)[0];
-    rad =  rec->getDouble("RMIN")*GeoModelKernelUnits::cm;
-    dep =  rec->getDouble("RMAX")*GeoModelKernelUnits::cm - rad;
+    rad =  rec->getDouble("RMIN")*Gaudi::Units::cm;
+    dep =  rec->getDouble("RMAX")*Gaudi::Units::cm - rad;
 	
     lar = m_recBarrGeo;
     if ( !lar || lar->size()==0) return false;
 
     rec = (*lar)[0];
-    len =  rec->getDouble("ZMAX")*GeoModelKernelUnits::cm;
+    len =  rec->getDouble("ZMAX")*Gaudi::Units::cm;
 
-    //rad = 138.5*GeoModelKernelUnits::cm;
-    //dep = (144.7 - 138.5)*GeoModelKernelUnits::cm;
-    //len = 316.5*GeoModelKernelUnits::cm;
+    //rad = 138.5*Gaudi::Units::cm;
+    //dep = (144.7 - 138.5)*Gaudi::Units::cm;
+    //len = 316.5*Gaudi::Units::cm;
 
     radius.push_back( rad  + dep/2.);
     depth.push_back( dep /2.);
@@ -290,13 +290,13 @@ LArRecoSimpleGeomTool::get_cylinder_surface (CaloSubdetNames::ALIGNVOL alvol,
     if (lar->size()==0) return false;
 
     const IRDBRecord* rec = (*lar)[0];
-    rad =  rec->getDouble("RMIN")*GeoModelKernelUnits::cm;
-    dep =  rec->getDouble("RMAX")*GeoModelKernelUnits::cm - rad;
-    len =  rec->getDouble("ZMAX")*GeoModelKernelUnits::cm;
+    rad =  rec->getDouble("RMIN")*Gaudi::Units::cm;
+    dep =  rec->getDouble("RMAX")*Gaudi::Units::cm - rad;
+    len =  rec->getDouble("ZMAX")*Gaudi::Units::cm;
 
-    //rad = 1447.3*GeoModelKernelUnits::cm;
-    //dep = (2003.35 - 1447.3)*GeoModelKernelUnits::cm;
-    //len = 316.5*GeoModelKernelUnits::cm;
+    //rad = 1447.3*Gaudi::Units::cm;
+    //dep = (2003.35 - 1447.3)*Gaudi::Units::cm;
+    //len = 316.5*Gaudi::Units::cm;
 
     radius.push_back( rad  + dep/2.);
     depth.push_back( dep /2.);
@@ -353,16 +353,16 @@ LArRecoSimpleGeomTool::get_disk_surface (CaloSubdetNames::ALIGNVOL alvol,
 
     const IRDBRecord* rec = (*lar)[49];
 
-    ri = rec->getDouble("RMIN")*GeoModelKernelUnits::cm;
-    ra = ri + rec->getDouble("DR")*GeoModelKernelUnits::cm;
-    dep = rec->getDouble("DZ")*GeoModelKernelUnits::cm;
-    zcent = rec->getDouble("ZMIN")*GeoModelKernelUnits::cm + dep/2.;
+    ri = rec->getDouble("RMIN")*Gaudi::Units::cm;
+    ra = ri + rec->getDouble("DR")*Gaudi::Units::cm;
+    dep = rec->getDouble("DZ")*Gaudi::Units::cm;
+    zcent = rec->getDouble("ZMIN")*Gaudi::Units::cm + dep/2.;
     if (alvol == CaloSubdetNames::LARCRYO_EC_NEG) zcent = -1. * zcent;
 
-    //ri = 22.1*GeoModelKernelUnits::cm;
-    //ra = (22.1 + 194.4)*GeoModelKernelUnits::cm;
-    //dep = 6.5*GeoModelKernelUnits::cm;
-    //zcent = (356.1 + dep/2.)*GeoModelKernelUnits::cm;
+    //ri = 22.1*Gaudi::Units::cm;
+    //ra = (22.1 + 194.4)*Gaudi::Units::cm;
+    //dep = 6.5*Gaudi::Units::cm;
+    //zcent = (356.1 + dep/2.)*Gaudi::Units::cm;
 
     rmin.push_back( ri );
     rmax.push_back( ra );
@@ -372,16 +372,16 @@ LArRecoSimpleGeomTool::get_disk_surface (CaloSubdetNames::ALIGNVOL alvol,
     // DDDb : LAr / CryoCylinders / Endcap nb 6
     rec = (*lar)[44];
 
-    ri = rec->getDouble("RMIN")*GeoModelKernelUnits::cm;
-    ra = ri + rec->getDouble("DR")*GeoModelKernelUnits::cm;
-    dep = rec->getDouble("DZ")*GeoModelKernelUnits::cm;
-    zcent = rec->getDouble("ZMIN")*GeoModelKernelUnits::cm + dep/2.;
+    ri = rec->getDouble("RMIN")*Gaudi::Units::cm;
+    ra = ri + rec->getDouble("DR")*Gaudi::Units::cm;
+    dep = rec->getDouble("DZ")*Gaudi::Units::cm;
+    zcent = rec->getDouble("ZMIN")*Gaudi::Units::cm + dep/2.;
     if (alvol == CaloSubdetNames::LARCRYO_EC_NEG) zcent = -1. * zcent;
 
-    //ri = 79.*GeoModelKernelUnits::cm;
-    //ra = (ri + 173.)*GeoModelKernelUnits::cm;
-    //dep = 6.*GeoModelKernelUnits::cm;
-    //zcent = (660.5 + dep/2.)*GeoModelKernelUnits::cm;
+    //ri = 79.*Gaudi::Units::cm;
+    //ra = (ri + 173.)*Gaudi::Units::cm;
+    //dep = 6.*Gaudi::Units::cm;
+    //zcent = (660.5 + dep/2.)*Gaudi::Units::cm;
 
     rmin.push_back( ri );
     rmax.push_back( ra );
@@ -399,16 +399,16 @@ LArRecoSimpleGeomTool::get_disk_surface (CaloSubdetNames::ALIGNVOL alvol,
 
     const IRDBRecord* rec = (*lar)[0];
 
-    ri = rec->getDouble("RMIN")*GeoModelKernelUnits::cm;
-    ra = rec->getDouble("RMAX")*GeoModelKernelUnits::cm;
-    dep = rec->getDouble("TCK")*GeoModelKernelUnits::cm;
-    zcent = rec->getDouble("ZPOS")*GeoModelKernelUnits::cm + dep/2.;
+    ri = rec->getDouble("RMIN")*Gaudi::Units::cm;
+    ra = rec->getDouble("RMAX")*Gaudi::Units::cm;
+    dep = rec->getDouble("TCK")*Gaudi::Units::cm;
+    zcent = rec->getDouble("ZPOS")*Gaudi::Units::cm + dep/2.;
     if (alvol == CaloSubdetNames::PRESAMPLER_EC_NEG) zcent = -1. * zcent;
 
-    //ri = 123.174*GeoModelKernelUnits::cm;
-    //ra = 170.2*GeoModelKernelUnits::cm;
-    //dep = 0.4*GeoModelKernelUnits::cm;
-    //zcent = (362.4 + dep/2.)*GeoModelKernelUnits::cm;
+    //ri = 123.174*Gaudi::Units::cm;
+    //ra = 170.2*Gaudi::Units::cm;
+    //dep = 0.4*Gaudi::Units::cm;
+    //zcent = (362.4 + dep/2.)*Gaudi::Units::cm;
 
     rmin.push_back( ri );
     rmax.push_back( ra );
@@ -426,16 +426,16 @@ LArRecoSimpleGeomTool::get_disk_surface (CaloSubdetNames::ALIGNVOL alvol,
 
     const IRDBRecord* rec = (*lar)[0];
 
-    ri = rec->getDouble("RMIN")*GeoModelKernelUnits::cm;
-    ra = rec->getDouble("RMAX")*GeoModelKernelUnits::cm;
-    dep = rec->getDouble("ETOT")*GeoModelKernelUnits::cm;
-    zcent = rec->getDouble("Z1")*GeoModelKernelUnits::cm + dep/2.;
+    ri = rec->getDouble("RMIN")*Gaudi::Units::cm;
+    ra = rec->getDouble("RMAX")*Gaudi::Units::cm;
+    dep = rec->getDouble("ETOT")*Gaudi::Units::cm;
+    zcent = rec->getDouble("Z1")*Gaudi::Units::cm + dep/2.;
     if (alvol == CaloSubdetNames::EMEC_NEG) zcent = -1. * zcent;
 
-    //ri = 29.*GeoModelKernelUnits::cm;
-    //ra = 210.*GeoModelKernelUnits::cm;
-    //dep = 53.6*GeoModelKernelUnits::cm;
-    //zcent = (369.1 + dep/2.)*GeoModelKernelUnits::cm;
+    //ri = 29.*Gaudi::Units::cm;
+    //ra = 210.*Gaudi::Units::cm;
+    //dep = 53.6*Gaudi::Units::cm;
+    //zcent = (369.1 + dep/2.)*Gaudi::Units::cm;
 
     rmin.push_back( ri );
     rmax.push_back( ra );
@@ -454,19 +454,19 @@ LArRecoSimpleGeomTool::get_disk_surface (CaloSubdetNames::ALIGNVOL alvol,
 
     const IRDBRecord* rec = (*lar)[0];
 
-    ri = rec->getDouble("ROORIG")*GeoModelKernelUnits::cm;
-    ra = rec->getDouble("REND")*GeoModelKernelUnits::cm;
+    ri = rec->getDouble("ROORIG")*Gaudi::Units::cm;
+    ra = rec->getDouble("REND")*Gaudi::Units::cm;
     // Block0+Block1+Block2
     dep = rec->getDouble("PLATE_0")/2. 
       + 3*8*(rec->getDouble("LARG") + rec->getDouble("PLATE_0"));
-    dep = dep*GeoModelKernelUnits::cm;
-    zcent = rec->getDouble("ZSTART")*GeoModelKernelUnits::cm + dep/2.;
+    dep = dep*Gaudi::Units::cm;
+    zcent = rec->getDouble("ZSTART")*Gaudi::Units::cm + dep/2.;
     if (alvol == CaloSubdetNames::HEC1_NEG) zcent = -1. * zcent;
 
-    //ri = 37.2*GeoModelKernelUnits::cm;
-    //ra = 213.0*GeoModelKernelUnits::cm;
-    //dep = (513.4 - 4.05 - 427.7)*GeoModelKernelUnits::cm;
-    //zcent = 427.7*GeoModelKernelUnits::cm;
+    //ri = 37.2*Gaudi::Units::cm;
+    //ra = 213.0*Gaudi::Units::cm;
+    //dep = (513.4 - 4.05 - 427.7)*Gaudi::Units::cm;
+    //zcent = 427.7*Gaudi::Units::cm;
 
     rmin.push_back( ri );
     rmax.push_back( ra );
@@ -486,24 +486,24 @@ LArRecoSimpleGeomTool::get_disk_surface (CaloSubdetNames::ALIGNVOL alvol,
 
     const IRDBRecord* rec = (*lar)[0];
 
-    ri = rec->getDouble("ROORIG")*GeoModelKernelUnits::cm;
-    ra = rec->getDouble("REND")*GeoModelKernelUnits::cm;
+    ri = rec->getDouble("ROORIG")*Gaudi::Units::cm;
+    ra = rec->getDouble("REND")*Gaudi::Units::cm;
     // Block 3 + Block 4 + Block 5 + Block 6
     dep =  rec->getDouble("PLATE_1")/2. 
       + 4*4*(rec->getDouble("LARG") + rec->getDouble("PLATE_1"));
-    dep = dep*GeoModelKernelUnits::cm;
+    dep = dep*Gaudi::Units::cm;
     // start+depth of HEC1 + gap
     zcent =  rec->getDouble("ZSTART") 
       + rec->getDouble("PLATE_0")/2. 
       + 3*8*(rec->getDouble("LARG") + rec->getDouble("PLATE_0"))
       +  rec->getDouble("GAPWHL") ;
-    zcent = zcent*GeoModelKernelUnits::cm + dep/2.;
+    zcent = zcent*Gaudi::Units::cm + dep/2.;
     if (alvol == CaloSubdetNames::HEC2_NEG) zcent = -1. * zcent;
 
-    //ri = 37.2*GeoModelKernelUnits::cm;
-    //ra = 213.0*GeoModelKernelUnits::cm;
-    //dep = (609.5 - 513.4)*GeoModelKernelUnits::cm;
-    //zcent = (513.4 + dep/2.)*GeoModelKernelUnits::cm;
+    //ri = 37.2*Gaudi::Units::cm;
+    //ra = 213.0*Gaudi::Units::cm;
+    //dep = (609.5 - 513.4)*Gaudi::Units::cm;
+    //zcent = (513.4 + dep/2.)*Gaudi::Units::cm;
 
     rmin.push_back( ri );
     rmax.push_back( ra );
@@ -517,15 +517,15 @@ LArRecoSimpleGeomTool::get_disk_surface (CaloSubdetNames::ALIGNVOL alvol,
     
     // see LArNumberHelper
 
-    nb = 8.6*GeoModelKernelUnits::cm;
+    nb = 8.6*Gaudi::Units::cm;
     rmin.push_back( nb );
-    nb = 47.5*GeoModelKernelUnits::cm;
+    nb = 47.5*Gaudi::Units::cm;
     rmax.push_back( nb );
 
-    nb = 45.*GeoModelKernelUnits::cm;
+    nb = 45.*Gaudi::Units::cm;
     depth.push_back( nb/2. );
 
-    nb = (466.85 + nb/2. )*GeoModelKernelUnits::cm;
+    nb = (466.85 + nb/2. )*Gaudi::Units::cm;
     if (alvol == CaloSubdetNames::FCAL1_NEG) nb = -1. * nb;
     z.push_back( nb );
 
@@ -536,15 +536,15 @@ LArRecoSimpleGeomTool::get_disk_surface (CaloSubdetNames::ALIGNVOL alvol,
     
     // see LArNumberHelper
 
-    nb = 8.6*GeoModelKernelUnits::cm;
+    nb = 8.6*Gaudi::Units::cm;
     rmin.push_back( nb );
-    nb = 47.5*GeoModelKernelUnits::cm;
+    nb = 47.5*Gaudi::Units::cm;
     rmax.push_back( nb );
 
-    nb = 45.*GeoModelKernelUnits::cm;
+    nb = 45.*Gaudi::Units::cm;
     depth.push_back( nb/2. );
 
-    nb = (512.3 + nb/2. )*GeoModelKernelUnits::cm;
+    nb = (512.3 + nb/2. )*Gaudi::Units::cm;
     if (alvol == CaloSubdetNames::FCAL2_NEG) nb = -1. * nb;
     z.push_back( nb );
 
@@ -555,15 +555,15 @@ LArRecoSimpleGeomTool::get_disk_surface (CaloSubdetNames::ALIGNVOL alvol,
     
     // see LArNumberHelper
 
-    nb = 8.6*GeoModelKernelUnits::cm;
+    nb = 8.6*Gaudi::Units::cm;
     rmin.push_back( nb );
-    nb = 47.5*GeoModelKernelUnits::cm;
+    nb = 47.5*Gaudi::Units::cm;
     rmax.push_back( nb );
 
-    nb = 45.*GeoModelKernelUnits::cm;
+    nb = 45.*Gaudi::Units::cm;
     depth.push_back( nb/2. );
 
-    nb = (559.75 + nb/2. )*GeoModelKernelUnits::cm;
+    nb = (559.75 + nb/2. )*Gaudi::Units::cm;
     if (alvol == CaloSubdetNames::FCAL3_NEG) nb = -1. * nb;
     z.push_back( nb );
 
diff --git a/LArCalorimeter/LArTrackingGeometry/src/LArVolumeBuilder.cxx b/LArCalorimeter/LArTrackingGeometry/src/LArVolumeBuilder.cxx
index 89cb49713f73..4dec62b4abea 100755
--- a/LArCalorimeter/LArTrackingGeometry/src/LArVolumeBuilder.cxx
+++ b/LArCalorimeter/LArTrackingGeometry/src/LArVolumeBuilder.cxx
@@ -22,7 +22,6 @@
 #include "GeoModelKernel/GeoTrd.h"
 #include "GeoModelKernel/GeoMaterial.h"
 #include "GeoModelKernel/GeoPVConstLink.h"
-#include "GeoModelKernel/Units.h"
 #include "GeoModelUtilities/StoredPhysVol.h"
 // Trk
 #include "TrkDetDescrInterfaces/ITrackingVolumeHelper.h"
@@ -49,8 +48,9 @@
 #include "TrkGeometrySurfaces/SlidingDiscSurface.h"
 // StoreGate
 #include "StoreGate/StoreGateSvc.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
-using GeoModelKernelUnits::mm;
+using Gaudi::Units::mm;
 
 // constructor
 LAr::LArVolumeBuilder::LArVolumeBuilder(const std::string& t, const std::string& n, const IInterface* p) :
diff --git a/MuonSpectrometer/MuonDetDescr/MuonTrackingGeometry/src/MuonTrackingGeometryBuilder.cxx b/MuonSpectrometer/MuonDetDescr/MuonTrackingGeometry/src/MuonTrackingGeometryBuilder.cxx
index 3ca351d08f0b..c324beb236a6 100644
--- a/MuonSpectrometer/MuonDetDescr/MuonTrackingGeometry/src/MuonTrackingGeometryBuilder.cxx
+++ b/MuonSpectrometer/MuonDetDescr/MuonTrackingGeometry/src/MuonTrackingGeometryBuilder.cxx
@@ -14,7 +14,7 @@
 // Amg
 #include "GeoPrimitives/GeoPrimitives.h"
 // Units
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 // Trk
 #include "TrkDetDescrInterfaces/ITrackingVolumeArrayCreator.h"
 #include "TrkDetDescrInterfaces/ITrackingVolumeHelper.h"
@@ -222,7 +222,7 @@ const Trk::TrackingGeometry* Muon::MuonTrackingGeometryBuilder::trackingGeometry
   }
   
   // find object's span with tolerance for the alignment 
-  if (!m_stationSpan) m_stationSpan = findVolumesSpan(m_stations, 100.*m_alignTolerance, m_alignTolerance*GeoModelKernelUnits::deg);
+  if (!m_stationSpan) m_stationSpan = findVolumesSpan(m_stations, 100.*m_alignTolerance, m_alignTolerance*Gaudi::Units::deg);
   if (!m_inertSpan)   m_inertSpan = findVolumesSpan(m_inertObjs,0.,0.);
  
   // 0) Preparation //////////////////////////////////////////////////////////////////////////////////////
diff --git a/MuonSpectrometer/MuonGeoModel/MuonGeoModel/DBReader.h b/MuonSpectrometer/MuonGeoModel/MuonGeoModel/DBReader.h
index fa27ec620feb..0c0fee583a1d 100755
--- a/MuonSpectrometer/MuonGeoModel/MuonGeoModel/DBReader.h
+++ b/MuonSpectrometer/MuonGeoModel/MuonGeoModel/DBReader.h
@@ -15,7 +15,7 @@
 
 //<<<<<< INCLUDES                                                       >>>>>>
 #include "StoreGate/StoreGateSvc.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include "AthenaKernel/getMessageSvc.h"
 #include <string>
 #include <iostream>
@@ -176,19 +176,19 @@ namespace MuonGM {
                 //std::cout<<" ProcessMDT "<<s<<" index "<<i<<" jsta ="<<wmdt[i].iw<<std::endl;
                 
                 mdt->numOfLayers=wmdt[i].laymdt;
-                mdt->innerRadius=wmdt[i].tubrad*GeoModelKernelUnits::cm;
-                mdt->totalThickness=wmdt[i].tubsta*GeoModelKernelUnits::cm;
-                mdt->pitch=wmdt[i].tubpit*GeoModelKernelUnits::cm;
+                mdt->innerRadius=wmdt[i].tubrad*Gaudi::Units::cm;
+                mdt->totalThickness=wmdt[i].tubsta*Gaudi::Units::cm;
+                mdt->pitch=wmdt[i].tubpit*Gaudi::Units::cm;
                 mdt->thickness=mdt->totalThickness;
                 mdt->tubeDeadLength = 0; // cannot be defined here (it depends on chamber size)
                 //mdt->endPlugLength  is not OK in p03
-                //mdt->endPlugLength = wmdt[i].tubdea*GeoModelKernelUnits::cm;
-                mdt->tubeEndPlugLength = wmdt[i].tubdea*GeoModelKernelUnits::cm;
+                //mdt->endPlugLength = wmdt[i].tubdea*Gaudi::Units::cm;
+                mdt->tubeEndPlugLength = wmdt[i].tubdea*Gaudi::Units::cm;
                                 
-                mdt->tubeWallThickness = wmdt[i].tubwal*GeoModelKernelUnits::cm;
+                mdt->tubeWallThickness = wmdt[i].tubwal*Gaudi::Units::cm;
                 
-                for(unsigned int k=0; k<4;k++) mdt->y[k]=wmdt[i].tubyco[k]*GeoModelKernelUnits::cm;
-                for(unsigned int j=0; j<4;j++) mdt->x[j]=wmdt[i].tubxco[j]*GeoModelKernelUnits::cm;
+                for(unsigned int k=0; k<4;k++) mdt->y[k]=wmdt[i].tubyco[k]*Gaudi::Units::cm;
+                for(unsigned int j=0; j<4;j++) mdt->x[j]=wmdt[i].tubxco[j]*Gaudi::Units::cm;
                 //std::cout << mdt->numOfLayers << std::endl;
             }
             //std::cout<<" nstruct in processMDT "<< nStruct<<" at iter "<<i<<std::endl;
@@ -214,17 +214,17 @@ namespace MuonGM {
         //std::cout << " TECH. A new RPC named " <<s<<" nrpc = "<<nrpc<<std::endl;
         //std::cout<<" Creating a RPC at "<<rpc<<" named "<<s<<std::endl;
     
-        rpc->centralSupPanelThickness          = (wrpcall->tckfsp)*GeoModelKernelUnits::cm;
-        rpc->centralAlSupPanelThickness        = (wrpcall->ackfsp)*GeoModelKernelUnits::cm;
+        rpc->centralSupPanelThickness          = (wrpcall->tckfsp)*Gaudi::Units::cm;
+        rpc->centralAlSupPanelThickness        = (wrpcall->ackfsp)*Gaudi::Units::cm;
         if (RPCprint)
             std::cout<<"ProcessRPC:: RPC central sup panel: tot & Al "<<rpc->centralSupPanelThickness<<" "
                      <<rpc->centralAlSupPanelThickness<<std::endl;
 
-        rpc->bakeliteThickness                  =(wrpcall->tckbak)*GeoModelKernelUnits::cm;
-        rpc->bakeliteframesize                  =0.5*(wrpcall->sdedmi)*GeoModelKernelUnits::cm;
-        rpc->gasThickness                       =(wrpcall->tckgas)*GeoModelKernelUnits::cm;
-        rpc->bakelitePetThickness               =0.190*GeoModelKernelUnits::mm; // TBM same as Amdb, why hardwired? Not in DblQ00Wrpc!
-        rpc->totalAirThickness = 0.52*GeoModelKernelUnits::mm;                  // TBM added
+        rpc->bakeliteThickness                  =(wrpcall->tckbak)*Gaudi::Units::cm;
+        rpc->bakeliteframesize                  =0.5*(wrpcall->sdedmi)*Gaudi::Units::cm;
+        rpc->gasThickness                       =(wrpcall->tckgas)*Gaudi::Units::cm;
+        rpc->bakelitePetThickness               =0.190*Gaudi::Units::mm; // TBM same as Amdb, why hardwired? Not in DblQ00Wrpc!
+        rpc->totalAirThickness = 0.52*Gaudi::Units::mm;                  // TBM added
         rpc->GasGapThickness=2.*rpc->bakeliteThickness+
                              rpc->gasThickness        +
                              2.*rpc->bakelitePetThickness +
@@ -242,26 +242,26 @@ namespace MuonGM {
         if (RPCprint)
             std::cout<<"ProcessRPC::WARNING redefining RPC::bakeliteThickness to include pet "
                      <<rpc->bakeliteThickness<<std::endl;    
-        rpc->spacerDiameter                     =(wrpcall->spdiam)*GeoModelKernelUnits::cm;
-        rpc->spacerPitch                        =(wrpcall->sppitc)*GeoModelKernelUnits::cm;
+        rpc->spacerDiameter                     =(wrpcall->spdiam)*Gaudi::Units::cm;
+        rpc->spacerPitch                        =(wrpcall->sppitc)*Gaudi::Units::cm;
         rpc->MidChamberDeadRegion_in_s          =2.*rpc->bakeliteframesize;
-        rpc->MidChamberDeadRegion_in_z          =(wrpcall->zdedmi)*GeoModelKernelUnits::cm;
+        rpc->MidChamberDeadRegion_in_z          =(wrpcall->zdedmi)*Gaudi::Units::cm;
         if (RPCprint)
             std::cout<<" ProcessRPC:: spacerDiam, pitch, MidChamberDeadRegion_in_s, MidChamberDeadRegion_in_z "
                      <<rpc->spacerDiameter<<" "<<rpc->spacerPitch<<" "
                      <<rpc->MidChamberDeadRegion_in_s<<" "<<rpc->MidChamberDeadRegion_in_z<<std::endl;
 
-        rpc->petFoilThickness    =0.190*GeoModelKernelUnits::mm; //TBM this is the same as bakelite PET thickness?
+        rpc->petFoilThickness    =0.190*Gaudi::Units::mm; //TBM this is the same as bakelite PET thickness?
         if (RPCprint) std::cout
             <<"ProcessRPC:: defining RPC::petfoilThickness = "<<rpc->petFoilThickness
             <<std::endl;    
     
-        rpc->stripPanelFoamThickness            =(wrpcall->tckssu)*GeoModelKernelUnits::cm;
-        rpc->stripPanelCopperSkinThickness      =(wrpcall->tckstr)*GeoModelKernelUnits::cm;
-        rpc->stripPanelStripSidePetThickness    =0.25*GeoModelKernelUnits::mm; //missing in AmdbNova
-        rpc->stripPanelGroundSidePetThickness   =0.07*GeoModelKernelUnits::mm; //missing in AmdbNova
-        rpc->frontendBoardWidth = 36.*GeoModelKernelUnits::mm;
-        rpc->backendBoardWidth  = 21.*GeoModelKernelUnits::mm;
+        rpc->stripPanelFoamThickness            =(wrpcall->tckssu)*Gaudi::Units::cm;
+        rpc->stripPanelCopperSkinThickness      =(wrpcall->tckstr)*Gaudi::Units::cm;
+        rpc->stripPanelStripSidePetThickness    =0.25*Gaudi::Units::mm; //missing in AmdbNova
+        rpc->stripPanelGroundSidePetThickness   =0.07*Gaudi::Units::mm; //missing in AmdbNova
+        rpc->frontendBoardWidth = 36.*Gaudi::Units::mm;
+        rpc->backendBoardWidth  = 21.*Gaudi::Units::mm;
         if (RPCprint) std::cout
             <<"ProcessRPC:: stp panel: foam, 2*copper, petg, pets, fe, be "
             <<rpc->stripPanelFoamThickness<<" "
@@ -283,7 +283,7 @@ namespace MuonGM {
             <<"ProcessRPC::WARNING redefining RPC::stripPanelFoamThickness to include pet on both sides "
             <<rpc->stripPanelFoamThickness <<std::endl;    
         
-        rpc->rpcLayerThickness                  =(wrpcall->tckrla)*GeoModelKernelUnits::cm;
+        rpc->rpcLayerThickness                  =(wrpcall->tckrla)*Gaudi::Units::cm;
         double rpcLayerComputedTck = rpc->GasGapThickness +
                                      2*rpc->stripPanelThickness + rpc->petFoilThickness;    
         if (RPCprint) std::cout<<"ProcessRPC:: rpcLayerComputedTck =  "<<rpcLayerComputedTck
@@ -308,8 +308,8 @@ namespace MuonGM {
                 done = true;
                 //std::cout<<" done for jtech, wrpc[i].jsta = "<<jtech<<" "<<wrpc[i].jsta<<std::endl;
             
-                rpc->externalSupPanelThickness           =(wrpcall->tlohcb)*GeoModelKernelUnits::cm; //TBM
-                rpc->externalAlSupPanelThickness         =(wrpcall->alohcb)*GeoModelKernelUnits::cm; //TBM
+                rpc->externalSupPanelThickness           =(wrpcall->tlohcb)*Gaudi::Units::cm; //TBM
+                rpc->externalAlSupPanelThickness         =(wrpcall->alohcb)*Gaudi::Units::cm; //TBM
                 if (RPCprint) std::cout<<"ProcessRPC:: RPC external sup panel: tot & Al "
                                        <<rpc->centralSupPanelThickness<<" "
                                        <<rpc->centralAlSupPanelThickness<<std::endl;
@@ -323,13 +323,13 @@ namespace MuonGM {
                                                           rpc->externalSupPanelThickness;
                 if (RPCprint) std::cout<<"ProcessRPC:: (computed) Total RPC thickness = "
                                        <<rpc->TotalThickness<<std::endl;
-                rpc->maxThickness = 46.*GeoModelKernelUnits::mm;  // TBM same as (wrpcall->tottck)*GeoModelKernelUnits::cm;
+                rpc->maxThickness = 46.*Gaudi::Units::mm;  // TBM same as (wrpcall->tottck)*Gaudi::Units::cm;
                 rpc->thickness = rpc->maxThickness;
                 if (RPCprint) std::cout<<"ProcessRPC:: RPC max thickness "<<rpc->maxThickness <<std::endl;
                         
-                rpc->stripPitchS                        =(wrpc[i].spitch)*GeoModelKernelUnits::cm;
-                rpc->stripPitchZ                        =(wrpc[i].zpitch)*GeoModelKernelUnits::cm;
-                rpc->stripSeparation                    =(wrpc[i].dedstr)*GeoModelKernelUnits::cm;
+                rpc->stripPitchS                        =(wrpc[i].spitch)*Gaudi::Units::cm;
+                rpc->stripPitchZ                        =(wrpc[i].zpitch)*Gaudi::Units::cm;
+                rpc->stripSeparation                    =(wrpc[i].dedstr)*Gaudi::Units::cm;
                 if (RPCprint) std::cout<<"ProcessRPC:: s_pitch, z_pitch "
                                        <<rpc->stripPitchS <<" "<<rpc->stripPitchZ<<std::endl;
             
@@ -375,11 +375,11 @@ namespace MuonGM {
             if( s.substr(3,s.size()-3) == MuonGM::buildString(wtgcall[i].jsta,2) )
             {
                 tgc->nlayers  =wtgcall[i].nbevol;
-                tgc->thickness=wtgcall[i].widchb*GeoModelKernelUnits::cm;
+                tgc->thickness=wtgcall[i].widchb*Gaudi::Units::cm;
                 //std::cout<<" ProcessTGC accepted "<<s<<" index "<<i<<" jsta ="<<wtgcall[i].jsta
                 //         <<" internal struct has "<<tgc->nlayers<<" layers; thickness is "<<tgc->thickness<<std::endl;
-                tgc->frame_h  =wtgcall[i].fwirch*GeoModelKernelUnits::cm;
-                tgc->frame_ab =wtgcall[i].fwixch*GeoModelKernelUnits::cm;
+                tgc->frame_h  =wtgcall[i].fwirch*Gaudi::Units::cm;
+                tgc->frame_ab =wtgcall[i].fwixch*Gaudi::Units::cm;
                 //int subtype = wtgcall[i].jsta;
                 //             std::cout<<" thick, frame_h, frame_ab "<< tgc->thickness
                 //                      <<" "<<tgc->frame_h<<" "<<tgc->frame_ab<<std::endl;
@@ -394,8 +394,8 @@ namespace MuonGM {
                     n++;
                     //std::cout<<" select this by jsta = "<<wtgc[j].jsta<<" until now "<<n<<" selected"<<std::endl;
                     mat=(int)wtgc[j].icovol;
-                    p=wtgc[j].zpovol*GeoModelKernelUnits::cm;
-                    t=wtgc[j].widvol*GeoModelKernelUnits::cm;
+                    p=wtgc[j].zpovol*Gaudi::Units::cm;
+                    t=wtgc[j].widvol*Gaudi::Units::cm;
                     tgc->materials.push_back(v[mat-1]);
                     //std::cerr<<" Processing TGC iw = "<<s<<" mat = "<<mat<<" v[mat-1] "<<v[mat-1]<<std::endl;
                     tgc->positions.push_back(p);
@@ -454,25 +454,25 @@ namespace MuonGM {
                     //                    std::cout<<" ProcessCSC "<<s<<" index "<<i<<" jsta ="<<wcsc[i].jsta<<std::endl;
                     
                     csc->numOfLayers=wcsc[i].laycsc;
-                    csc->totalThickness=wcsc[i].ttotal*GeoModelKernelUnits::cm;
+                    csc->totalThickness=wcsc[i].ttotal*Gaudi::Units::cm;
                     csc->thickness=csc->totalThickness;
-                    csc->honeycombthick=wcsc[i].tnomex*GeoModelKernelUnits::cm;
+                    csc->honeycombthick=wcsc[i].tnomex*Gaudi::Units::cm;
                     
-                    csc->g10thick=wcsc[i].tlag10*GeoModelKernelUnits::cm;  //csc->g10thick=0.0820*GeoModelKernelUnits::cm;
+                    csc->g10thick=wcsc[i].tlag10*Gaudi::Units::cm;  //csc->g10thick=0.0820*Gaudi::Units::cm;
 
                     // wire spacing 
-                    csc->wirespacing =wcsc[i].wispa*GeoModelKernelUnits::cm;
+                    csc->wirespacing =wcsc[i].wispa*Gaudi::Units::cm;
                     // anode-cathode distance
-                    csc->anocathodist=wcsc[i].dancat*GeoModelKernelUnits::cm;
+                    csc->anocathodist=wcsc[i].dancat*Gaudi::Units::cm;
                     // gapbetwcathstrips
-                    csc->gapbetwcathstrips=wcsc[i].gstrip*GeoModelKernelUnits::cm;
+                    csc->gapbetwcathstrips=wcsc[i].gstrip*Gaudi::Units::cm;
 
                     // precision (Radial) strip pitch
-                    csc->cathreadoutpitch=wcsc[i].pcatre*GeoModelKernelUnits::cm; // it was not used before but set by hand in CscReadoutEl.
+                    csc->cathreadoutpitch=wcsc[i].pcatre*Gaudi::Units::cm; // it was not used before but set by hand in CscReadoutEl.
                     // Azimuthal strip pitch
 
-                    //csc->phireadoutpitch = wcsc[i].psndco*GeoModelKernelUnits::cm;
-                    csc->phireadoutpitch = wcsc[i].azcat*GeoModelKernelUnits::cm;
+                    //csc->phireadoutpitch = wcsc[i].psndco*Gaudi::Units::cm;
+                    csc->phireadoutpitch = wcsc[i].azcat*Gaudi::Units::cm;
                     //std::cerr<<" do we come here ??? csc->phireadoutpitch = "<<csc->phireadoutpitch<<std::endl;
 
                     //std::cerr<<" csc->phireadoutpitch = "<<csc->phireadoutpitch<<"  csc->cathreadoutpitch "<< csc->cathreadoutpitch<<std::endl;
@@ -485,20 +485,20 @@ namespace MuonGM {
                     csc->nPhistrips = 48;
 
                     // precision (Radial) strip width
-                    csc->readoutstripswidth=wcsc[i].wrestr*GeoModelKernelUnits::cm;
+                    csc->readoutstripswidth=wcsc[i].wrestr*Gaudi::Units::cm;
                     // Azimuthal strip width
                     csc->floatingstripswidth =0.;
-                    csc->phistripwidth      = wcsc[i].wflstr*GeoModelKernelUnits::cm; // CTB and layout Q interpretation
+                    csc->phistripwidth      = wcsc[i].wflstr*Gaudi::Units::cm; // CTB and layout Q interpretation
 
                     // dead materials 
-                    csc->rectwasherthick=wcsc[i].trrwas*GeoModelKernelUnits::cm;
-                    csc->roxacellwith = 54.96*GeoModelKernelUnits::mm; //  CTB, layout Q, R, etc: must be computed
-                    csc->roxwirebargap=wcsc[i].groxwi*GeoModelKernelUnits::cm;
-                    csc->fullgasgapwirewidth=wcsc[i].wgasba*GeoModelKernelUnits::cm;
-                    csc->fullwirefixbarwidth=wcsc[i].wfixwi*GeoModelKernelUnits::cm;
-                    csc->wirebarposx=wcsc[i].pba1wi*GeoModelKernelUnits::cm;
-                    csc->wirebarposy=wcsc[i].pba2wi*GeoModelKernelUnits::cm;
-                    csc->wirebarposz=wcsc[i].pba3wi*GeoModelKernelUnits::cm;
+                    csc->rectwasherthick=wcsc[i].trrwas*Gaudi::Units::cm;
+                    csc->roxacellwith = 54.96*Gaudi::Units::mm; //  CTB, layout Q, R, etc: must be computed
+                    csc->roxwirebargap=wcsc[i].groxwi*Gaudi::Units::cm;
+                    csc->fullgasgapwirewidth=wcsc[i].wgasba*Gaudi::Units::cm;
+                    csc->fullwirefixbarwidth=wcsc[i].wfixwi*Gaudi::Units::cm;
+                    csc->wirebarposx=wcsc[i].pba1wi*Gaudi::Units::cm;
+                    csc->wirebarposy=wcsc[i].pba2wi*Gaudi::Units::cm;
+                    csc->wirebarposz=wcsc[i].pba3wi*Gaudi::Units::cm;
 //                    std::cerr<<"A) tname, s, csc->numOfLayers "<<tname<<" "<<s<<" "<<csc->numOfLayers<<std::endl;
                     if (tname == s) return;
                     
@@ -524,14 +524,14 @@ namespace MuonGM {
                 log<<MSG::WARNING<<" update by hand a few numbers for the current technology sub-type "<<s
                    <<" // Layout = "<<mysql->getGeometryVersion()<<" OK if layout is Q02, Q02_initial"<<endmsg;
                 // precision (Radial) strip pitch
-                csc->cathreadoutpitch  =5.31*GeoModelKernelUnits::mm;
+                csc->cathreadoutpitch  =5.31*Gaudi::Units::mm;
                 // Azimuthal strip pitch
-                csc->phireadoutpitch   =21.0*GeoModelKernelUnits::mm;
+                csc->phireadoutpitch   =21.0*Gaudi::Units::mm;
                 // precision (Radial) strip width
-                csc->readoutstripswidth=1.52*GeoModelKernelUnits::mm;
+                csc->readoutstripswidth=1.52*Gaudi::Units::mm;
                 // Azimuthal strip width
                 csc->floatingstripswidth = 0; // layout P interpretation
-                csc->phistripwidth    =20.60*GeoModelKernelUnits::mm;
+                csc->phistripwidth    =20.60*Gaudi::Units::mm;
                 return;
             }
         }
@@ -552,9 +552,9 @@ namespace MuonGM {
         //std::cerr << " TECH. A new SPA named " <<s<<" nspa = "<<nspa<<std::endl;
         for (unsigned int i=0; i<dhwspa->size(); i++) {
             //        sprintf(ind,"%i",wspa[i].type);
-            //if(s[3]==ind[0]) spa->thickness=wspa[i].tckspa*GeoModelKernelUnits::cm;
+            //if(s[3]==ind[0]) spa->thickness=wspa[i].tckspa*Gaudi::Units::cm;
             if( s.substr(3,s.size()-3) == MuonGM::buildString(wspa[i].jsta,2) )
-                spa->thickness=wspa[i].tckspa*GeoModelKernelUnits::cm;
+                spa->thickness=wspa[i].tckspa*Gaudi::Units::cm;
         }
     } // end of ProcessSPA
     
@@ -576,17 +576,17 @@ namespace MuonGM {
             //        sprintf(ind,"%i",wsup[i].type);
             if( s.substr(3,s.size()-3) == MuonGM::buildString(wsup[i].jsta,2) )
             {
-                sup->alFlangeThickness=wsup[i].xxsup[0]*GeoModelKernelUnits::cm;
+                sup->alFlangeThickness=wsup[i].xxsup[0]*Gaudi::Units::cm;
                 //if (s[3]=='3') //SUP3
                 if( s.substr(3,s.size()-3) == "03" )
                 {
-                    sup->alHorFlangeLength=(fabs)(wsup[i].zzsup[1])*GeoModelKernelUnits::cm;
-                    sup->alVerFlangeLength=wsup[i].xxsup[1]*GeoModelKernelUnits::cm - wsup[i].xxsup[0]*GeoModelKernelUnits::cm;
-                    sup->alVerProfileThickness=wsup[i].zzsup[3]*GeoModelKernelUnits::cm;
-                    sup->alHorProfileThickness=wsup[i].xxsup[3]*GeoModelKernelUnits::cm - wsup[i].xxsup[2]*GeoModelKernelUnits::cm;
-                    sup->largeVerClearance=wsup[i].xxsup[3]*GeoModelKernelUnits::cm;
-                    sup->smallVerClearance=wsup[i].xxsup[2]*GeoModelKernelUnits::cm;
-                    sup->HorClearance=wsup[i].zzsup[2]*GeoModelKernelUnits::cm;
+                    sup->alHorFlangeLength=(fabs)(wsup[i].zzsup[1])*Gaudi::Units::cm;
+                    sup->alVerFlangeLength=wsup[i].xxsup[1]*Gaudi::Units::cm - wsup[i].xxsup[0]*Gaudi::Units::cm;
+                    sup->alVerProfileThickness=wsup[i].zzsup[3]*Gaudi::Units::cm;
+                    sup->alHorProfileThickness=wsup[i].xxsup[3]*Gaudi::Units::cm - wsup[i].xxsup[2]*Gaudi::Units::cm;
+                    sup->largeVerClearance=wsup[i].xxsup[3]*Gaudi::Units::cm;
+                    sup->smallVerClearance=wsup[i].xxsup[2]*Gaudi::Units::cm;
+                    sup->HorClearance=wsup[i].zzsup[2]*Gaudi::Units::cm;
                     sup->xAMDB0 = -sup->largeVerClearance -sup->alHorProfileThickness/2.;
                     sup->yAMDB0 = 0.;
                     sup->zAMDB0 = - sup->alVerProfileThickness
@@ -596,11 +596,11 @@ namespace MuonGM {
                 }
                 else //SUP1 and SUP2
                 {
-                    sup->alHorFlangeLength=wsup[i].zzsup[0]*GeoModelKernelUnits::cm;
+                    sup->alHorFlangeLength=wsup[i].zzsup[0]*Gaudi::Units::cm;
                     sup->alVerFlangeLength=0.;
-                    sup->alVerProfileThickness=wsup[i].xxsup[0]*GeoModelKernelUnits::cm;
+                    sup->alVerProfileThickness=wsup[i].xxsup[0]*Gaudi::Units::cm;
                     sup->alHorProfileThickness=0.;
-                    sup->largeVerClearance=wsup[i].xxsup[1]*GeoModelKernelUnits::cm;
+                    sup->largeVerClearance=wsup[i].xxsup[1]*Gaudi::Units::cm;
                     sup->smallVerClearance=0.;
                     sup->HorClearance=0.;
                     double totzgm = 2.*sup->alHorFlangeLength+sup->alVerProfileThickness+sup->HorClearance;
@@ -643,11 +643,11 @@ namespace MuonGM {
         for (unsigned int i=0; i<dhwded->size(); i++) {
             if( s.substr(3,s.size()-3) == MuonGM::buildString(wded[i].jsta,2) )
             {
-//                 ded->AlThickness=(wded[i].tckded)*GeoModelKernelUnits::cm;
-//                 ded->AlThickness = ded->AlThickness * GeoModelKernelUnits::cm;
+//                 ded->AlThickness=(wded[i].tckded)*Gaudi::Units::cm;
+//                 ded->AlThickness = ded->AlThickness * Gaudi::Units::cm;
 // a lot of confusion in the various versions of the geometry in nova
-                ded->AlThickness=0.3*GeoModelKernelUnits::mm;
-                ded->thickness=(wded[i].auphcb)*GeoModelKernelUnits::cm;
+                ded->AlThickness=0.3*Gaudi::Units::mm;
+                ded->thickness=(wded[i].auphcb)*Gaudi::Units::cm;
                 ded->HoneyCombThickness=ded->thickness-2.*ded->AlThickness;
                 break;
             }
@@ -670,9 +670,9 @@ namespace MuonGM {
         for (int i=0; i<nStruct; i++) {
             if( s.substr(3,s.size()-3) == MuonGM::buildString(wchv[i].jsta,2) )
             {
-                chv->thickness=wchv[i].thickness*GeoModelKernelUnits::cm;
-                chv->largeness=wchv[i].largeness*GeoModelKernelUnits::cm;
-                chv->height=wchv[i].heightness*GeoModelKernelUnits::cm;
+                chv->thickness=wchv[i].thickness*Gaudi::Units::cm;
+                chv->largeness=wchv[i].largeness*Gaudi::Units::cm;
+                chv->height=wchv[i].heightness*Gaudi::Units::cm;
             }
         }
     }// end of ProcessCHV
@@ -694,9 +694,9 @@ namespace MuonGM {
         for (int i=0; i<nStruct; i++) {
             if( s.substr(3,s.size()-3) == MuonGM::buildString(wcro[i].jsta,2) )
             {
-                cro->thickness=wcro[i].thickness*GeoModelKernelUnits::cm;
-                cro->largeness=wcro[i].largeness*GeoModelKernelUnits::cm;
-                cro->height=wcro[i].heightness*GeoModelKernelUnits::cm;
+                cro->thickness=wcro[i].thickness*Gaudi::Units::cm;
+                cro->largeness=wcro[i].largeness*Gaudi::Units::cm;
+                cro->height=wcro[i].heightness*Gaudi::Units::cm;
                 //std::cerr<<" thick, width, height "<<cro->thickness<<" "<<cro->largeness<<" "<<cro->height<<std::endl;
             }
         }
@@ -719,9 +719,9 @@ namespace MuonGM {
         for (int i=0; i<nStruct; i++) {
             if( s.substr(3,s.size()-3) == MuonGM::buildString(wcmi[i].jsta,2) )
             {
-                cmi->thickness=wcmi[i].thickness*GeoModelKernelUnits::cm;
-                cmi->largeness=wcmi[i].largeness*GeoModelKernelUnits::cm;
-                cmi->height=wcmi[i].heightness*GeoModelKernelUnits::cm;
+                cmi->thickness=wcmi[i].thickness*Gaudi::Units::cm;
+                cmi->largeness=wcmi[i].largeness*Gaudi::Units::cm;
+                cmi->height=wcmi[i].heightness*Gaudi::Units::cm;
             }
         }
     }// end of ProcessCMI
@@ -743,10 +743,10 @@ namespace MuonGM {
         for (int i=0; i<nStruct; i++) {
             if( s.substr(2,s.size()-2) == MuonGM::buildString(wlbi[i].jsta,2) )
             {
-                lbi->thickness=wlbi[i].thickness*GeoModelKernelUnits::cm;
-                lbi->height=wlbi[i].height*GeoModelKernelUnits::cm;
-                lbi->lowerThickness=wlbi[i].lowerThickness*GeoModelKernelUnits::cm;
-                lbi->yShift=wlbi[i].yShift*GeoModelKernelUnits::cm;
+                lbi->thickness=wlbi[i].thickness*Gaudi::Units::cm;
+                lbi->height=wlbi[i].height*Gaudi::Units::cm;
+                lbi->lowerThickness=wlbi[i].lowerThickness*Gaudi::Units::cm;
+                lbi->yShift=wlbi[i].yShift*Gaudi::Units::cm;
             }
         }
     } // end of ProcessLBI
@@ -860,13 +860,13 @@ namespace MuonGM {
                 //std::cout<<" ---- iz,fi  "<<p.zindex<<", "<<p.phiindex;
                 p.phi      = aptp[ipos].dphi+double(phiindex)*45.;
                 //std::cout<<" phi is "<<p.phi;
-                p.radius   = aptp[ipos].r*GeoModelKernelUnits::cm;
+                p.radius   = aptp[ipos].r*Gaudi::Units::cm;
                 //std::cout<<"  r  is "<<p.radius<<std::endl;
-                p.z        = aptp[ipos].z*GeoModelKernelUnits::cm;
+                p.z        = aptp[ipos].z*Gaudi::Units::cm;
                 if (p.zindex<0 && name.substr(0,1) == "B" && hasMdts) p.z = p.z-halfpitch;
             
                 //std::cout<<"  z  is "<<p.z<<std::endl;
-                p.shift    = aptp[ipos].s*GeoModelKernelUnits::cm;
+                p.shift    = aptp[ipos].s*Gaudi::Units::cm;
                 if (verbose_posmap) std::cout<<"p.zindex,p.phi "<<p.zindex<<" "<<p.phiindex<<" shift is "<<p.shift<<std::endl;
                 // amdb seems to follow the opposite convention about the sign
                 // of rotation around the azimuthal axis (foro them it is a rotation
@@ -1045,9 +1045,9 @@ namespace MuonGM {
                             //                       std::cout << "FindPosition found the match for " << stname
                             //                                 << std::endl;
                             AlignPos ap;
-                            ap.tras=0.*GeoModelKernelUnits::cm; // in cm from NOVA...
-                            ap.traz=0.*GeoModelKernelUnits::cm; // in cm
-                            ap.trat=0.*GeoModelKernelUnits::cm; // in cm
+                            ap.tras=0.*Gaudi::Units::cm; // in cm from NOVA...
+                            ap.traz=0.*Gaudi::Units::cm; // in cm
+                            ap.trat=0.*Gaudi::Units::cm; // in cm
                             ap.rots=0.; // in radians
                             ap.rotz=0.; // in radians
                             ap.rott=0.; // in radians             
@@ -1055,9 +1055,9 @@ namespace MuonGM {
 			    
                             if (controlAlines >= 111111) 
                             {
-                                ap.tras=aszt[ipos].tras*GeoModelKernelUnits::cm; // in cm from NOVA...
-                                ap.traz=aszt[ipos].traz*GeoModelKernelUnits::cm; // in cm
-                                ap.trat=aszt[ipos].trat*GeoModelKernelUnits::cm; // in cm
+                                ap.tras=aszt[ipos].tras*Gaudi::Units::cm; // in cm from NOVA...
+                                ap.traz=aszt[ipos].traz*Gaudi::Units::cm; // in cm
+                                ap.trat=aszt[ipos].trat*Gaudi::Units::cm; // in cm
                                 ap.rots=aszt[ipos].rots; // in radians
                                 ap.rotz=aszt[ipos].rotz; // in radians
                                 ap.rott=aszt[ipos].rott; // in radians
@@ -1083,17 +1083,17 @@ namespace MuonGM {
                                 }
                                 if  (int(controlAlines/1000)%10 != 0)
                                 {
-                                    ap.trat=aszt[ipos].trat*GeoModelKernelUnits::cm;
+                                    ap.trat=aszt[ipos].trat*Gaudi::Units::cm;
                                     //std::cout<<" setting up t-translation "<<ap.trat<<endl;
                                 }
                                 if  (int(controlAlines/10000)%10 != 0)
                                 {
-                                    ap.traz=aszt[ipos].traz*GeoModelKernelUnits::cm;
+                                    ap.traz=aszt[ipos].traz*Gaudi::Units::cm;
                                     //std::cout<<" setting up z-translation "<<ap.traz<<endl;
                                 }
                                 if  (int(controlAlines/100000)%10 != 0)
                                 {
-                                    ap.tras=aszt[ipos].tras*GeoModelKernelUnits::cm;
+                                    ap.tras=aszt[ipos].tras*Gaudi::Units::cm;
                                     //std::cout<<" setting up s-translation "<<ap.tras<<endl;
                                 }
                             }
@@ -1153,7 +1153,7 @@ namespace MuonGM {
 
         // that doesn't seem right for BME/BMG chambers - no idea if has an impact at the end
         // in any case it was wrong since every and would have been wrong also in previous code
-        double default_halfpitch = 15.0175*GeoModelKernelUnits::mm;
+        double default_halfpitch = 15.0175*Gaudi::Units::mm;
 	double halfpitch = default_halfpitch;
 	
         // loop over the banks of station components: ALMN
@@ -1220,7 +1220,7 @@ namespace MuonGM {
 			<< " for " << name << std::endl;
 		      continue;
 		    }
-		    halfpitch = 0.5*wmdt[jtech-1].tubpit*GeoModelKernelUnits::cm;
+		    halfpitch = 0.5*wmdt[jtech-1].tubpit*Gaudi::Units::cm;
 		    log << MSG::DEBUG
 		      << "Found new halfpitch: " << halfpitch
 		      << " for " << name << std::endl;
@@ -1268,19 +1268,19 @@ namespace MuonGM {
             }
 
             // define here common properties
-            c->posx=almn[icomp].dx*GeoModelKernelUnits::cm;
-            c->posy=almn[icomp].dy*GeoModelKernelUnits::cm;
-            c->posz=almn[icomp].dz*GeoModelKernelUnits::cm;
+            c->posx=almn[icomp].dx*Gaudi::Units::cm;
+            c->posy=almn[icomp].dy*Gaudi::Units::cm;
+            c->posz=almn[icomp].dz*Gaudi::Units::cm;
             c->index=almn[icomp].job;
             c->name=cartec+MuonGM::buildString(almn[icomp].iw, 2);
             c->iswap=almn[icomp].ishape;
-            c->dx1=almn[icomp].width_xs*GeoModelKernelUnits::cm;
-            c->dx2=almn[icomp].width_xl*GeoModelKernelUnits::cm;
-            c->dy=almn[icomp].length_y*GeoModelKernelUnits::cm;
-            c->excent=almn[icomp].excent*GeoModelKernelUnits::cm;
-            c->deadx=almn[icomp].dead1*GeoModelKernelUnits::cm;
-            c->deady=almn[icomp].dead2*GeoModelKernelUnits::cm;
-            c->dead3=almn[icomp].dead3*GeoModelKernelUnits::cm;
+            c->dx1=almn[icomp].width_xs*Gaudi::Units::cm;
+            c->dx2=almn[icomp].width_xl*Gaudi::Units::cm;
+            c->dy=almn[icomp].length_y*Gaudi::Units::cm;
+            c->excent=almn[icomp].excent*Gaudi::Units::cm;
+            c->deadx=almn[icomp].dead1*Gaudi::Units::cm;
+            c->deady=almn[icomp].dead2*Gaudi::Units::cm;
+            c->dead3=almn[icomp].dead3*Gaudi::Units::cm;
 
             //std::cout<<" This component of station "<<name<<" is a "<<c->name<<std::endl;
             if (cartec == "CSC")
@@ -1289,10 +1289,10 @@ namespace MuonGM {
                 if (derc == NULL) std::cout<<" There is a problem"<<std::endl;
                 if (name[2] == 'L'){
                     //std::cout<<" here is a CSL ..."<<std::endl;
-                    derc->dy = 1129.20*GeoModelKernelUnits::mm;  // AMDB-Q and CTB
+                    derc->dy = 1129.20*Gaudi::Units::mm;  // AMDB-Q and CTB
                     // DHW: fix values from AMDB
-                    //else derc->dy = 1111.5*GeoModelKernelUnits::mm;
-                    derc->maxwdy = almn[icomp].length_y*GeoModelKernelUnits::cm;
+                    //else derc->dy = 1111.5*Gaudi::Units::mm;
+                    derc->maxwdy = almn[icomp].length_y*Gaudi::Units::cm;
                 }
                 else  derc->maxwdy = c->dy;
                 //ProcessCSC(derc->name);
@@ -1302,7 +1302,7 @@ namespace MuonGM {
                 derc->maxwdy = derc->dy;
                 if (jtech == 6 && name.substr(0,3) == "CSL") 
                 {
-                    derc->dy     = 1129.20*GeoModelKernelUnits::mm; // AMDB-Q and CTB
+                    derc->dy     = 1129.20*Gaudi::Units::mm; // AMDB-Q and CTB
                 }
                 //ProcessSPA(derc->name);
             }
@@ -1409,10 +1409,10 @@ template <class TYPEdnacut, class TYPEacut, class TYPEdnalin, class TYPEalin,
 		     << " component with subcut i="<<alin[ialin].i
 		     << endmsg;
 		  Cutout *c = new Cutout();
-		  c->dx = alin[ialin].dx*GeoModelKernelUnits::cm;
-		  c->dy = alin[ialin].dy*GeoModelKernelUnits::cm;
-		  c->widthXs = alin[ialin].width_xs*GeoModelKernelUnits::cm;
-		  c->widthXl = alin[ialin].width_xl*GeoModelKernelUnits::cm;
+		  c->dx = alin[ialin].dx*Gaudi::Units::cm;
+		  c->dy = alin[ialin].dy*Gaudi::Units::cm;
+		  c->widthXs = alin[ialin].width_xs*Gaudi::Units::cm;
+		  c->widthXl = alin[ialin].width_xl*Gaudi::Units::cm;
                   //std::string::size_type locmystr = mysql->get_DBMuonVersion().find("Egg");
                   //if ( locmystr != std::string::npos )
                   //{                      
@@ -1425,19 +1425,19 @@ template <class TYPEdnacut, class TYPEacut, class TYPEdnalin, class TYPEalin,
                   //    if (alin[ialin].jtyp == 11 && c->dy>0.1)
                   //    {
                   //        std::cout<<"DBREADER redefining dy of the cutout from "<<c->dy;
-                  //        c->dy = 1021.2000*GeoModelKernelUnits::mm;
+                  //        c->dy = 1021.2000*Gaudi::Units::mm;
                   //        std::cout<<" to "<<c->dy<<std::endl;
                   //    }
                   //    else if (alin[ialin].jtyp == 11 && c->dy>0.0001)
                   if (alin[ialin].jtyp == 11 && (c->dy>0.0001 && c->dy<1.))
                   {
                     std::cout<<"DBREADER redefining dy of the cutout from "<<c->dy;
-                    c->dy = 0.000*GeoModelKernelUnits::mm;
+                    c->dy = 0.000*Gaudi::Units::mm;
                     std::cout<<" to "<<c->dy<<std::endl;
                   }
                   //}
-		  c->lengthY = alin[ialin].length_y*GeoModelKernelUnits::cm;
-		  c->excent = alin[ialin].excent*GeoModelKernelUnits::cm;
+		  c->lengthY = alin[ialin].length_y*Gaudi::Units::cm;
+		  c->excent = alin[ialin].excent*Gaudi::Units::cm;
                   c->dead1 = alin[ialin].dead1;
 		  // temporary fix for bug in Nova/Oracle: 18/05/2006 I don't think this is needed anymore 
 		  // c->dead1 = 10.*alin[ialin].dead1;
diff --git a/MuonSpectrometer/MuonGeoModel/src/Cutout.cxx b/MuonSpectrometer/MuonGeoModel/src/Cutout.cxx
index cc232c572336..7844e3848879 100755
--- a/MuonSpectrometer/MuonGeoModel/src/Cutout.cxx
+++ b/MuonSpectrometer/MuonGeoModel/src/Cutout.cxx
@@ -10,7 +10,7 @@
 #include "GeoModelKernel/GeoTransform.h"
 #include "GeoModelKernel/GeoShapeShift.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 namespace MuonGM {
 
@@ -79,15 +79,15 @@ const GeoShape* Cutout::build()
       double alpha = atan(2.*excent/lengthY);
       // polar and azimuthal angles of vector describing offset of
       //   cutout planes:
-      double theta = -dead1*GeoModelKernelUnits::degree;
-      double phi = -90.*GeoModelKernelUnits::degree;
+      double theta = -dead1*Gaudi::Units::degree;
+      double phi = -90.*Gaudi::Units::degree;
       // GeoPara requires the +/- z faces be parallel to the x-y plane,
       //   so choose x = width, y=length, z=thickness:
       GeoPara *cutoutpara = new GeoPara(widthXs/2.,lengthY/2.,thickness/2.,
 					alpha,theta,phi);
       // now rotate it so thickness is x-axis, width is y-axis, length z-axis:
-      GeoTrf::Transform3D xRot = GeoTrf::RotateX3D(-90.*GeoModelKernelUnits::degree)*
-	GeoTrf::RotateY3D(-90.*GeoModelKernelUnits::degree);
+      GeoTrf::Transform3D xRot = GeoTrf::RotateX3D(-90.*Gaudi::Units::degree)*
+	GeoTrf::RotateY3D(-90.*Gaudi::Units::degree);
       xfTemp = xfTemp * xRot;
       sCutout = & ( (*cutoutpara) <<xfTemp);
       cutoutpara->ref();
@@ -95,7 +95,7 @@ const GeoShape* Cutout::build()
     }
   else  
     {
-      GeoTrap *cutouttrap = new GeoTrap(thickness/2.,dead1*GeoModelKernelUnits::degree,90.*GeoModelKernelUnits::degree,
+      GeoTrap *cutouttrap = new GeoTrap(thickness/2.,dead1*Gaudi::Units::degree,90.*Gaudi::Units::degree,
 					excent,widthXs/2.,widthXl/2.,
 					atan((2.*excent+(widthXl-widthXs)/2.)/
 					     lengthY),
@@ -104,8 +104,8 @@ const GeoShape* Cutout::build()
 					     lengthY)
 					);
       // now rotate it so thickness is x-axis, width is y-axis, length z-axis:
-      GeoTrf::Transform3D xRot = GeoTrf::RotateX3D(-90.*GeoModelKernelUnits::degree)*
-	GeoTrf::RotateY3D(-90.*GeoModelKernelUnits::degree);
+      GeoTrf::Transform3D xRot = GeoTrf::RotateX3D(-90.*Gaudi::Units::degree)*
+	GeoTrf::RotateY3D(-90.*Gaudi::Units::degree);
       xfTemp = xfTemp * xRot;
       sCutout = & ( (*cutouttrap) <<xfTemp);
       cutouttrap->ref();
diff --git a/MuonSpectrometer/MuonGeoModel/src/DriftTube.cxx b/MuonSpectrometer/MuonGeoModel/src/DriftTube.cxx
index f891c4973945..8372afc9b2cb 100755
--- a/MuonSpectrometer/MuonGeoModel/src/DriftTube.cxx
+++ b/MuonSpectrometer/MuonGeoModel/src/DriftTube.cxx
@@ -18,70 +18,63 @@
 
 namespace MuonGM {
 
-DriftTube::DriftTube(std::string n): DetectorElement(n),
-  length(0.) // length is set in MultiLayer.cxx
+DriftTube::DriftTube(std::string n)
+  : DetectorElement(n)
+  , length(0.) // length is set in MultiLayer.cxx
 {
-    //    std::cout<<" drift tube is in "<<name<<" "<<n<<std::endl;
-    gasMaterial="muo::ArCO2";
-    tubeMaterial="std::Aluminium";
-    plugMaterial="std::Bakelite";
-    wireMaterial="std::Aluminium";
-    MYSQL *amdb=MYSQL::GetPointer();	
-    MDT *md=(MDT *)amdb->GetTechnology(name.substr(0,5));
-    gasRadius   = md->innerRadius;
-    outerRadius = gasRadius+md->tubeWallThickness;
-    plugLength  = md->tubeEndPlugLength;
-    
-//    std::cout<<" drift tube gasR, outerR, plugL "<<gasRadius<<" "<<outerRadius<<" "<<plugLength<<std::endl;
-// 	outerRadius=1.5*GeoModelKernelUnits::cm;
-// 	gasRadius=1.46*GeoModelKernelUnits::cm;
-// 	plugLength=7*GeoModelKernelUnits::cm;
+  gasMaterial="muo::ArCO2";
+  tubeMaterial="std::Aluminium";
+  plugMaterial="std::Bakelite";
+  wireMaterial="std::Aluminium";
+  MYSQL *amdb=MYSQL::GetPointer();	
+  MDT *md=(MDT *)amdb->GetTechnology(name.substr(0,5));
+  gasRadius   = md->innerRadius;
+  outerRadius = gasRadius+md->tubeWallThickness;
+  plugLength  = md->tubeEndPlugLength;    
 }
-
+  
 GeoVPhysVol *DriftTube::build()
 {
-    const GeoTube     *stube   = new GeoTube(0.0, outerRadius, length/2.0);
-	const GeoMaterial *mtube   = matManager->getMaterial(tubeMaterial);
-	const GeoLogVol   *ltube   = new GeoLogVol("MDTDriftWall", stube, mtube);
-          GeoPhysVol  *ptube   = new GeoPhysVol(ltube);
-
-	const GeoTube     *splug   = new GeoTube(0.0, outerRadius, plugLength/2.0);
-	const GeoMaterial *mplug   = matManager->getMaterial(plugMaterial);
-	const GeoLogVol   *lplug   = new GeoLogVol("Endplug",splug, mplug);
-          GeoPhysVol  *pplug   = new GeoPhysVol(lplug);
-
-	const GeoTube     *sgas    = new GeoTube(0, gasRadius, length/2.0-plugLength);
-	const GeoMaterial *mgas    = matManager->getMaterial(gasMaterial);
-	const GeoLogVol   *lgas    = new GeoLogVol("SensitiveGas",sgas,mgas);
-	      GeoPhysVol  *pgas    = new GeoPhysVol(lgas);
-
-    GeoSerialDenominator *plugDenominator= new GeoSerialDenominator("Tube Endplug");
-	GeoTransform *ec0X = new GeoTransform(GeoTrf::TranslateZ3D(+(length-plugLength)/2));
-	GeoTransform *ec1X = new GeoTransform(GeoTrf::TranslateZ3D(-(length-plugLength)/2));
-        std::string sGasName = "SensitiveGas";
-	GeoNameTag           *gasDenominator = new GeoNameTag(sGasName);
-
-	ptube->add(plugDenominator);
-        ptube->add(ec0X);
-	ptube->add(pplug);
-	ptube->add(ec1X);
-	ptube->add(pplug);
-	ptube->add(gasDenominator);
-	ptube->add(pgas);
-
-    return ptube;
-
-
+  const GeoTube     *stube   = new GeoTube(0.0, outerRadius, length/2.0);
+  const GeoMaterial *mtube   = matManager->getMaterial(tubeMaterial);
+  const GeoLogVol   *ltube   = new GeoLogVol("MDTDriftWall", stube, mtube);
+  GeoPhysVol  *ptube   = new GeoPhysVol(ltube);
+  
+  const GeoTube     *splug   = new GeoTube(0.0, outerRadius, plugLength/2.0);
+  const GeoMaterial *mplug   = matManager->getMaterial(plugMaterial);
+  const GeoLogVol   *lplug   = new GeoLogVol("Endplug",splug, mplug);
+  GeoPhysVol  *pplug   = new GeoPhysVol(lplug);
+  
+  const GeoTube     *sgas    = new GeoTube(0, gasRadius, length/2.0-plugLength);
+  const GeoMaterial *mgas    = matManager->getMaterial(gasMaterial);
+  const GeoLogVol   *lgas    = new GeoLogVol("SensitiveGas",sgas,mgas);
+  GeoPhysVol  *pgas    = new GeoPhysVol(lgas);
+  
+  GeoSerialDenominator *plugDenominator= new GeoSerialDenominator("Tube Endplug");
+  GeoTransform *ec0X = new GeoTransform(GeoTrf::TranslateZ3D(+(length-plugLength)/2));
+  GeoTransform *ec1X = new GeoTransform(GeoTrf::TranslateZ3D(-(length-plugLength)/2));
+  std::string sGasName = "SensitiveGas";
+  GeoNameTag           *gasDenominator = new GeoNameTag(sGasName);
+  
+  ptube->add(plugDenominator);
+  ptube->add(ec0X);
+  ptube->add(pplug);
+  ptube->add(ec1X);
+  ptube->add(pplug);
+  ptube->add(gasDenominator);
+  ptube->add(pgas);
+  
+  return ptube;
 }
 
 void DriftTube::print()
 {
-	std::cout << "Drift tube " << name.c_str() << " :" << std::endl;
-	std::cout << "		Tube material 	: " << tubeMaterial.c_str() << std::endl;
-	std::cout << "		Radius		: " << outerRadius << std::endl;
-	std::cout << "		Length		: " << length;
-	std::cout << "		Thickness	: " << outerRadius-gasRadius << " mm" << std::endl;
-	std::cout << "		Gas material	: " << gasMaterial.c_str() << std::endl;
-	std::cout << "		EP length	: " << plugLength << std::endl;
+  std::cout << "Drift tube " << name.c_str() << " :" << std::endl;
+  std::cout << "		Tube material 	: " << tubeMaterial.c_str() << std::endl;
+  std::cout << "		Radius		: " << outerRadius << std::endl;
+  std::cout << "		Length		: " << length;
+  std::cout << "		Thickness	: " << outerRadius-gasRadius << " mm" << std::endl;
+  std::cout << "		Gas material	: " << gasMaterial.c_str() << std::endl;
+  std::cout << "		EP length	: " << plugLength << std::endl;
 }
 } // namespace MuonGM
diff --git a/MuonSpectrometer/MuonGeoModel/src/MultiLayer.cxx b/MuonSpectrometer/MuonGeoModel/src/MultiLayer.cxx
index d928e6b937ba..f627916c1090 100755
--- a/MuonSpectrometer/MuonGeoModel/src/MultiLayer.cxx
+++ b/MuonSpectrometer/MuonGeoModel/src/MultiLayer.cxx
@@ -20,7 +20,6 @@
 #include "GeoModelKernel/GeoIdentifierTag.h"
 #include "GeoModelKernel/GeoSerialIdentifier.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
 #include "GeoGenericFunctions/Variable.h"
 // for cutouts
 #include "GeoModelKernel/GeoShape.h"
@@ -28,6 +27,7 @@
 #include "GeoModelKernel/GeoShapeUnion.h"
 #include "GeoModelKernel/GeoShapeSubtraction.h"
 #include "GeoModelKernel/GeoTube.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <vector>
 #include <cassert>
@@ -88,11 +88,11 @@ GeoFullPhysVol* MultiLayer::build()
 
     if (foamthicknessup > foamthicknesslow) {
       foamthicknesslow = 0.;
-      if (fabs(foamthicknessup - 15*GeoModelKernelUnits::mm) < 0.1) foamthicknessup = 15*GeoModelKernelUnits::mm;
-      else if (fabs(foamthicknessup - 30.75*GeoModelKernelUnits::mm) < 0.1) foamthicknessup = 30.75*GeoModelKernelUnits::mm;
-      else if (fabs(foamthicknessup - 30.00*GeoModelKernelUnits::mm) < 0.1) foamthicknessup = 30.00*GeoModelKernelUnits::mm;
-      else if (fabs(foamthicknessup - 10.00*GeoModelKernelUnits::mm) < 0.1
-               && logVolName.find("BMG") != std::string::npos ) foamthicknessup = 10.00*GeoModelKernelUnits::mm;
+      if (fabs(foamthicknessup - 15*Gaudi::Units::mm) < 0.1) foamthicknessup = 15*Gaudi::Units::mm;
+      else if (fabs(foamthicknessup - 30.75*Gaudi::Units::mm) < 0.1) foamthicknessup = 30.75*Gaudi::Units::mm;
+      else if (fabs(foamthicknessup - 30.00*Gaudi::Units::mm) < 0.1) foamthicknessup = 30.00*Gaudi::Units::mm;
+      else if (fabs(foamthicknessup - 10.00*Gaudi::Units::mm) < 0.1
+               && logVolName.find("BMG") != std::string::npos ) foamthicknessup = 10.00*Gaudi::Units::mm;
       else if ( logVolName == "BME1MDT09" || logVolName == "BME2MDT09" ) { //@@
 	foamthicknesslow = 0.;
 	foamthicknessup  = 0.;
@@ -103,11 +103,11 @@ GeoFullPhysVol* MultiLayer::build()
 
     } else {
       foamthicknessup = 0.;
-      if (fabs(foamthicknesslow - 15*GeoModelKernelUnits::mm) < 0.1) foamthicknesslow = 15*GeoModelKernelUnits::mm;
-      else if (fabs(foamthicknesslow - 30.75*GeoModelKernelUnits::mm) < 0.1) foamthicknesslow = 30.75*GeoModelKernelUnits::mm;
-      else if (fabs(foamthicknesslow - 30.00*GeoModelKernelUnits::mm) < 0.1) foamthicknesslow = 30.00*GeoModelKernelUnits::mm;
-      else if (fabs(foamthicknesslow - 10.00*GeoModelKernelUnits::mm) < 0.1
-               && logVolName.find("BMG") != std::string::npos ) foamthicknesslow = 10.00*GeoModelKernelUnits::mm;
+      if (fabs(foamthicknesslow - 15*Gaudi::Units::mm) < 0.1) foamthicknesslow = 15*Gaudi::Units::mm;
+      else if (fabs(foamthicknesslow - 30.75*Gaudi::Units::mm) < 0.1) foamthicknesslow = 30.75*Gaudi::Units::mm;
+      else if (fabs(foamthicknesslow - 30.00*Gaudi::Units::mm) < 0.1) foamthicknesslow = 30.00*Gaudi::Units::mm;
+      else if (fabs(foamthicknesslow - 10.00*Gaudi::Units::mm) < 0.1
+               && logVolName.find("BMG") != std::string::npos ) foamthicknesslow = 10.00*Gaudi::Units::mm;
       else if ( logVolName == "BME1MDT09" || logVolName == "BME2MDT09" ) { //@@
 	foamthicknesslow = 0.;
 	foamthicknessup  = 0.;
@@ -239,23 +239,23 @@ GeoFullPhysVol* MultiLayer::build()
     const GeoShape* stube = NULL;
     double tL = longWidth/2.0 - (tubePitch/2.)*TrdDwoverL;
     stube = new GeoTube(0.0, tubePitch/2., tL);
-    stube = & ( (*stube) << GeoTrf::RotateX3D(90.*GeoModelKernelUnits::deg) );
+    stube = & ( (*stube) << GeoTrf::RotateX3D(90.*Gaudi::Units::deg) );
     const GeoShape* stubewithcut = NULL;
     if (cutoutNsteps > 1) {
       double toptubelength = cutoutTubeLength[cutoutNsteps-1];
       if (cutoutFullLength[cutoutNsteps-1]) toptubelength = longWidth;
       stubewithcut = new GeoTube(0.0, tubePitch/2., toptubelength/2.0);
-      stubewithcut = & ( (*stubewithcut) << GeoTrf::RotateX3D(90.*GeoModelKernelUnits::deg) );
+      stubewithcut = & ( (*stubewithcut) << GeoTrf::RotateX3D(90.*Gaudi::Units::deg) );
     }
 
     GeoShape* sbox = new GeoTrd(mdtthickness, mdtthickness, longWidth, 
                                 longWidth, tubePitch/2.);
     GeoShape* sboxf = new GeoTrd(mdtthickness, mdtthickness, longWidth, 
-                                 longWidth, tubePitch/4.+1*GeoModelKernelUnits::mm);
+                                 longWidth, tubePitch/4.+1*Gaudi::Units::mm);
     slay = &(slay->subtract( (*sbox)<<GeoTrf::Translate3D(0.,0.,length/2.)));
 
     for (int i = 0; i < nrOfLayers; i++) {
-      if (xx[i] > tubePitch/2. + 10.*GeoModelKernelUnits::mm) {
+      if (xx[i] > tubePitch/2. + 10.*Gaudi::Units::mm) {
         // subtract tube at the start
         if (verbose_multilayer) std::cout << " Cutting tube at xx = " << yy[i]
                                           << " z = " << -length/2. << std::endl;
@@ -533,7 +533,7 @@ GeoFullPhysVol* MultiLayer::build()
             lstart = loffset - length/2. + xx[i];
             GeoGenfun::Variable K;
             GeoGenfun::GENFUNCTION f = tubePitch*K + lstart;
-            TRANSFUNCTION t = GeoTrf::TranslateY3D(0.)*GeoTrf::RotateX3D(90*GeoModelKernelUnits::deg)*
+            TRANSFUNCTION t = GeoTrf::TranslateY3D(0.)*GeoTrf::RotateX3D(90*Gaudi::Units::deg)*
                               GeoTrf::TranslateX3D(tstart)*Pow(GeoTrf::TranslateY3D(1.0),f);
             GeoSerialTransformer* s = new GeoSerialTransformer(tV,&t,nt);
             play->add(new GeoSerialIdentifier(100*(i+1)+nttot + 1));
@@ -595,7 +595,7 @@ GeoFullPhysVol* MultiLayer::build()
             lstart = loffset - length/2. + xx[i];
             GeoGenfun::Variable K;
             GeoGenfun::GENFUNCTION f = tubePitch*K + lstart;
-            TRANSFUNCTION t = GeoTrf::TranslateY3D(dy)*GeoTrf::RotateX3D(90*GeoModelKernelUnits::deg)*
+            TRANSFUNCTION t = GeoTrf::TranslateY3D(dy)*GeoTrf::RotateX3D(90*Gaudi::Units::deg)*
                               GeoTrf::TranslateX3D(tstart)*Pow(GeoTrf::TranslateY3D(1.0),f);
             GeoSerialTransformer* s = new GeoSerialTransformer(tV,&t,nt);
             play->add(new GeoSerialIdentifier(100*(i+1)+nttot + 1));
@@ -620,7 +620,7 @@ GeoFullPhysVol* MultiLayer::build()
 //                  << std::endl;
         GeoGenfun::Variable K;
         GeoGenfun::GENFUNCTION f = tubePitch*K + lstart;
-        TRANSFUNCTION t = GeoTrf::RotateX3D(90*GeoModelKernelUnits::deg)*GeoTrf::TranslateX3D(tstart)*
+        TRANSFUNCTION t = GeoTrf::RotateX3D(90*Gaudi::Units::deg)*GeoTrf::TranslateX3D(tstart)*
                           Pow(GeoTrf::TranslateY3D(1.0),f);
         GeoVPhysVol* tV = tubeVector[0];	
         GeoSerialTransformer* s = new GeoSerialTransformer(tV,&t,nrOfTubes);
@@ -639,7 +639,7 @@ GeoFullPhysVol* MultiLayer::build()
           lstart = loffset - length/2. + xx[i]; 
           GeoGenfun::Variable K;
           GeoGenfun::GENFUNCTION f = tubePitch*K + lstart;
-          TRANSFUNCTION t = GeoTrf::RotateX3D(90*GeoModelKernelUnits::deg)*GeoTrf::TranslateX3D(tstart)*
+          TRANSFUNCTION t = GeoTrf::RotateX3D(90*Gaudi::Units::deg)*GeoTrf::TranslateX3D(tstart)*
                             Pow(GeoTrf::TranslateY3D(1.0),f);
           GeoSerialTransformer* s = new GeoSerialTransformer(tV,&t,nrTubesPerStep);
           play->add(new GeoSerialIdentifier(100*(i+1)+j*nrTubesPerStep + 1));
diff --git a/MuonSpectrometer/MuonGeoModel/src/MuonChamber.cxx b/MuonSpectrometer/MuonGeoModel/src/MuonChamber.cxx
index 9b7ed80bb265..76c7bfe10c2f 100755
--- a/MuonSpectrometer/MuonGeoModel/src/MuonChamber.cxx
+++ b/MuonSpectrometer/MuonGeoModel/src/MuonChamber.cxx
@@ -64,7 +64,7 @@
 #include "GeoModelKernel/GeoShapeIntersection.h"   
 #include "GeoModelKernel/GeoIdentifierTag.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include <vector>
 #include <fstream>
 #include <iomanip>
@@ -227,10 +227,10 @@ MuonChamber::build(MuonDetectorManager* manager, int zi,
       GeoShape* box = new GeoBox((totthick+2.)/2., (longWidth+2.)/2., halfpitch);
       box->ref();
       const GeoShape* frontcyl = new GeoTube(0.0, halfpitch+0.001, longWidth/2.);
-      frontcyl = &( (*frontcyl) << GeoTrf::RotateX3D(90.*GeoModelKernelUnits::deg) );
+      frontcyl = &( (*frontcyl) << GeoTrf::RotateX3D(90.*Gaudi::Units::deg) );
       frontcyl->ref();
       const GeoShape* backcyl = new GeoTube(0.0, halfpitch-0.001, (longWidth+2.)/2.);
-      backcyl = &( (*backcyl) << GeoTrf::RotateX3D(90.*GeoModelKernelUnits::deg) );
+      backcyl = &( (*backcyl) << GeoTrf::RotateX3D(90.*Gaudi::Units::deg) );
       backcyl->ref();
 
       if (index > 0) {
@@ -256,7 +256,7 @@ MuonChamber::build(MuonDetectorManager* manager, int zi,
         }
       }
       if (stname != "EIL") {
-        if (zi < 0 && !is_mirrored) strd = &( (*strd) << GeoTrf::RotateX3D(180.*GeoModelKernelUnits::deg) );
+        if (zi < 0 && !is_mirrored) strd = &( (*strd) << GeoTrf::RotateX3D(180.*Gaudi::Units::deg) );
       }
 
       box->unref();
@@ -319,21 +319,21 @@ MuonChamber::build(MuonDetectorManager* manager, int zi,
             //  of the cutouts wrt mother volume:
             if ( fabs(cut->dx-600.7)<0.1 )
             {
-                cut->dx      = cut->dx + 10.*GeoModelKernelUnits::mm;
-                cut->widthXs = cut->widthXs + 20.*GeoModelKernelUnits::mm;
-                cut->widthXl = cut->widthXl + 20.*GeoModelKernelUnits::mm;
+                cut->dx      = cut->dx + 10.*Gaudi::Units::mm;
+                cut->widthXs = cut->widthXs + 20.*Gaudi::Units::mm;
+                cut->widthXl = cut->widthXl + 20.*Gaudi::Units::mm;
                 //std::cout<<" redefining par.s for BOG1 cutouts "
                 //<<std::endl;
             }
             if ( fabs(cut->dx+600.7)<0.1 )
             {
-                cut->dx      = cut->dx - 10.*GeoModelKernelUnits::mm;
-                cut->widthXs = cut->widthXs + 20.*GeoModelKernelUnits::mm;
-                cut->widthXl = cut->widthXl + 20.*GeoModelKernelUnits::mm;
+                cut->dx      = cut->dx - 10.*Gaudi::Units::mm;
+                cut->widthXs = cut->widthXs + 20.*Gaudi::Units::mm;
+                cut->widthXl = cut->widthXl + 20.*Gaudi::Units::mm;
             }
             if (fabs(cut->lengthY-180.2)<0.001)
             {
-                cut->lengthY = cut->lengthY+(0.010)*GeoModelKernelUnits::mm;
+                cut->lengthY = cut->lengthY+(0.010)*Gaudi::Units::mm;
                 //imt	    std::cout<<"Redefining "<<stName<<" cut lengthY to "
                 //imt		     <<cut->lengthY
                 //imt		     <<std::endl;
@@ -559,7 +559,7 @@ MuonChamber::build(MuonDetectorManager* manager, int zi,
         cut->dx = tempdx;
         cut->dy = tempdy;
 
-	if (fabs(cut->dead1) > 1. && techname=="MDT03") cut->dy = cut->dy+15.0*cos(cut->dead1*GeoModelKernelUnits::deg);
+	if (fabs(cut->dead1) > 1. && techname=="MDT03") cut->dy = cut->dy+15.0*cos(cut->dead1*Gaudi::Units::deg);
 	// should compensate for the dy position defined in amdb at the bottom of the foam in ML 1 of EMS1,3 and BOS 6
 	// can be applied only for layout >=r.04.04 in rel 15.6.X.Y due to the frozen Tier0 policy
 
@@ -609,7 +609,7 @@ MuonChamber::build(MuonDetectorManager* manager, int zi,
         if (stName.substr(0,3) == "BOS" && zi == -6 && type == "MDT") {
           cut->dy = c->dy - cut->dy - cut->lengthY - halfpitch;
 	  cut->dead1 = 30.; // why this is not 30. or -30. already ?????
-	  if (techname=="MDT03") cut->dy = cut->dy + 30.0; // *cos(cut->dead1*GeoModelKernelUnits::deg);
+	  if (techname=="MDT03") cut->dy = cut->dy + 30.0; // *cos(cut->dead1*Gaudi::Units::deg);
 	  if (verbose) log <<MSG::VERBOSE <<"Cut dead1 for BOS 6 on C side is "<< cut->dead1<<endmsg;
         }
 
@@ -623,7 +623,7 @@ MuonChamber::build(MuonDetectorManager* manager, int zi,
           // reverse the position (x amdb) of the cutout if the m_station is mirrored
           Cutout* cutmirr = new Cutout(*cut);
           cutmirr->dx = - cutmirr->dx;
-          // this way, after the rotation by 180 GeoModelKernelUnits::deg, the cut will be at the same global phi
+          // this way, after the rotation by 180 Gaudi::Units::deg, the cut will be at the same global phi
           // it has for the m_station at z>0
           vcutdef.push_back(cutmirr);
           vcutdef_todel.push_back(cutmirr);
@@ -689,19 +689,19 @@ MuonChamber::build(MuonDetectorManager* manager, int zi,
       htcomponent = GeoTrf::TranslateX3D(ypos)*GeoTrf::TranslateZ3D(zpos)*GeoTrf::TranslateY3D(xpos);
       if (zi < 0 && !is_mirrored && stName[0] == 'B') { 
         // this (rotation +  shift of halfpitch) will mirror the tube structure w.r.t. the chamber at z>0
-         htcomponent = htcomponent*GeoTrf::RotateX3D(180.*GeoModelKernelUnits::deg);
+         htcomponent = htcomponent*GeoTrf::RotateX3D(180.*Gaudi::Units::deg);
          htcomponent = htcomponent*GeoTrf::TranslateZ3D(halfpitch);
       }
           
       // ss - 24-05-2006 I don't really understand if this is needed at all
       //      it was introduced by Isabel T.
       if (zi < 0 && stName.substr(0,3) == "BOG" && is_mirrored) {
-        //	      htcomponent = htcomponent*GeoTrf::RotateX3D(180.*GeoModelKernelUnits::deg);
+        //	      htcomponent = htcomponent*GeoTrf::RotateX3D(180.*Gaudi::Units::deg);
         //      tubes OK but chambers wrong
-        //	      htcomponent = GeoTrf::RotateX3D(180.*GeoModelKernelUnits::deg)*htcomponent;
+        //	      htcomponent = GeoTrf::RotateX3D(180.*Gaudi::Units::deg)*htcomponent;
         //      chambers OK but tubes wrong
-        htcomponent = GeoTrf::RotateX3D(180.*GeoModelKernelUnits::deg)*htcomponent*
-                      GeoTrf::RotateX3D(180.*GeoModelKernelUnits::deg);  // turn chambers but go back for tubes
+        htcomponent = GeoTrf::RotateX3D(180.*Gaudi::Units::deg)*htcomponent*
+                      GeoTrf::RotateX3D(180.*Gaudi::Units::deg);  // turn chambers but go back for tubes
       } // ss - 24-05-2006 I don't really understand if this is needed at all
           
       xfaligncomponent = new GeoAlignableTransform(htcomponent);
@@ -926,7 +926,7 @@ MuonChamber::build(MuonDetectorManager* manager, int zi,
                       GeoTrf::TranslateY3D(xpos)*GeoTrf::TranslateZ3D(zpos);
         if (rp->iswap == -1) // this is like amdb iswap 
         {
-          htcomponent = htcomponent*GeoTrf::RotateY3D(180*GeoModelKernelUnits::deg);
+          htcomponent = htcomponent*GeoTrf::RotateY3D(180*Gaudi::Units::deg);
         }
         xfaligncomponent = new GeoAlignableTransform(htcomponent);
         //xfrpccomponent.push_back(xfcomponent);
@@ -986,7 +986,7 @@ MuonChamber::build(MuonDetectorManager* manager, int zi,
       if (is_mirrored) xpos = -xpos;
       htcomponent = GeoTrf::TranslateX3D(ypos)*GeoTrf::TranslateY3D(xpos)*GeoTrf::TranslateZ3D(zpos);
       //if (stname == "BMS" && (zi == -2 || zi == -4) && c->name == "DED03") 
-      //   htcomponent = htcomponent*GeoTrf::RotateY3D(180*GeoModelKernelUnits::deg);
+      //   htcomponent = htcomponent*GeoTrf::RotateY3D(180*Gaudi::Units::deg);
       xfcomponent = new GeoTransform(htcomponent);
 
       bool dedCutoutFlag = (stname == "BOS" && std::abs(zi) == 6) ||
@@ -1450,25 +1450,25 @@ MuonChamber::build(MuonDetectorManager* manager, int zi,
           if    (zi <= 0 && !is_mirrored) {
             // the special cases 
             doubletZ = 1;
-            if (zpos<-zdivision*GeoModelKernelUnits::mm)    doubletZ=2;
-            if (fabs(xpos) > 100.*GeoModelKernelUnits::mm && ndbz[doubletR-1] > 2) {
+            if (zpos<-zdivision*Gaudi::Units::mm)    doubletZ=2;
+            if (fabs(xpos) > 100.*Gaudi::Units::mm && ndbz[doubletR-1] > 2) {
               doubletZ = 3;
               nfields++;
             }
-            if (fabs(xpos) > 100.*GeoModelKernelUnits::mm ) ndbz[doubletR-1]--;
+            if (fabs(xpos) > 100.*Gaudi::Units::mm ) ndbz[doubletR-1]--;
           } else {
             doubletZ = 1;
-            if (zpos > zdivision*GeoModelKernelUnits::mm) doubletZ=2;
-            if (fabs(xpos) > 100.*GeoModelKernelUnits::mm && ndbz[doubletR-1] > 2) {
+            if (zpos > zdivision*Gaudi::Units::mm) doubletZ=2;
+            if (fabs(xpos) > 100.*Gaudi::Units::mm && ndbz[doubletR-1] > 2) {
               doubletZ = 3;
               nfields++;
             }
-            if (fabs(xpos) > 100.*GeoModelKernelUnits::mm ) ndbz[doubletR-1]--;
+            if (fabs(xpos) > 100.*Gaudi::Units::mm ) ndbz[doubletR-1]--;
           }
 
           int dbphi = 1;
 	  //std::cout<<stName<<" ----------------------------------- dbphi = "<<dbphi<<std::endl;
-          if (xpos > 400.*GeoModelKernelUnits::mm) dbphi = 2; // this special patch is needed for BMS in the ribs where xpos is ~950mm; the theshold to 100mm (too low) caused a bug
+          if (xpos > 400.*Gaudi::Units::mm) dbphi = 2; // this special patch is needed for BMS in the ribs where xpos is ~950mm; the theshold to 100mm (too low) caused a bug
 	  // in BOG at eta +/-4 and stationEta 7 (not 6) ==>> 28 Jan 2016 raising the threshold to 400.mm 
           // doublet phi not aware of pos. in space !!!
 	  //std::cout<<" dbphi reset to  "<<dbphi<<" due to xpos "<< xpos <<" >10cm "<<std::endl;
diff --git a/MuonSpectrometer/MuonGeoModel/src/MuonDetectorFactory001.cxx b/MuonSpectrometer/MuonGeoModel/src/MuonDetectorFactory001.cxx
index 5748ed1644d9..1831ad3eb060 100755
--- a/MuonSpectrometer/MuonGeoModel/src/MuonDetectorFactory001.cxx
+++ b/MuonSpectrometer/MuonGeoModel/src/MuonDetectorFactory001.cxx
@@ -52,11 +52,11 @@
 #include "GeoModelKernel/GeoIdentifierTag.h"
 #include "GeoModelKernel/GeoPerfUtils.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
 #include "GeoPrimitives/CLHEPtoEigenConverter.h"
 #include "GeoModelInterfaces/StoredMaterialManager.h"
 
 #include "StoreGate/StoreGateSvc.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include "GeoGenericFunctions/Variable.h"
 
@@ -95,15 +95,15 @@ namespace MuonGM {
   {
     MsgStream log(Athena::getMessageSvc(), "MuonGeoModel");
     m_muon = new MuonSystemDescription( "MuonSystem" );
-    m_muon->barrelInnerRadius =  4.30*GeoModelKernelUnits::m;
-    m_muon->innerRadius       =  0.07*GeoModelKernelUnits::m;
-    m_muon->outerRadius       = 13.00*GeoModelKernelUnits::m;
-    m_muon->endcapFrontFace   =  6.74*GeoModelKernelUnits::m;
-    m_muon->length            = 22.03*GeoModelKernelUnits::m;
-    m_muon->barreLength       =  6.53*GeoModelKernelUnits::m; 
-    m_muon->barrelInterRadius =  3.83*GeoModelKernelUnits::m;
-    m_muon->extraZ = 12.9*GeoModelKernelUnits::m;
-    m_muon->extraR = 12.5*GeoModelKernelUnits::m;
+    m_muon->barrelInnerRadius =  4.30*Gaudi::Units::m;
+    m_muon->innerRadius       =  0.07*Gaudi::Units::m;
+    m_muon->outerRadius       = 13.00*Gaudi::Units::m;
+    m_muon->endcapFrontFace   =  6.74*Gaudi::Units::m;
+    m_muon->length            = 22.03*Gaudi::Units::m;
+    m_muon->barreLength       =  6.53*Gaudi::Units::m; 
+    m_muon->barrelInterRadius =  3.83*Gaudi::Units::m;
+    m_muon->extraZ = 12.9*Gaudi::Units::m;
+    m_muon->extraR = 12.5*Gaudi::Units::m;
 
     m_selectedStations = std::vector<std::string>(0);
     m_selectedStEta    = std::vector<int>(0);
@@ -470,7 +470,7 @@ namespace MuonGM {
   
     const GeoMaterial* m4 = theMaterialManager->getMaterial( "std::Air" );
     GeoLogVol*  l4;
-    GeoPcon* c4 = new GeoPcon( 0, 360*GeoModelKernelUnits::deg );
+    GeoPcon* c4 = new GeoPcon( 0, 360*Gaudi::Units::deg );
     //--- --- --- CREATE ENVELOPE --- --- ---
     // First try to get data from the GeomDB
     IRDBRecordset_ptr muonSysRec = m_pRDBAccess->getRecordsetPtr("MuonSystem",OracleTag,OracleNode);
@@ -552,7 +552,7 @@ namespace MuonGM {
   
     // Cannot (yet) cope with this:
     // G4UserLimits *ul=new G4UserLimits;
-    // ul->SetMaxAllowedStep(5*GeoModelKernelUnits::cm);
+    // ul->SetMaxAllowedStep(5*Gaudi::Units::cm);
     // lv->GetLogicalVolume()->SetUserLimits(ul);
   
     m_manager->addTreeTop(p4); // This is the top!
diff --git a/MuonSpectrometer/MuonGeoModel/src/RDBReaderAtlas.cxx b/MuonSpectrometer/MuonGeoModel/src/RDBReaderAtlas.cxx
index 4597fc40b033..cf2325b57b16 100755
--- a/MuonSpectrometer/MuonGeoModel/src/RDBReaderAtlas.cxx
+++ b/MuonSpectrometer/MuonGeoModel/src/RDBReaderAtlas.cxx
@@ -13,8 +13,7 @@
 #include "RDBAccessSvc/IRDBRecordset.h"
 #include "RDBAccessSvc/IRDBQuery.h"
 #include "MuonReadoutGeometry/TgcReadoutParams.h"
-#include "GeoModelKernel/Units.h"
-
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include "MuonGeoModel/TGC_Technology.h"
 
@@ -421,7 +420,7 @@ void RDBReaderAtlas::ProcessTGCreadout () {
 
     
         int version = (int) (*ggsd)[0]->getDouble("VERS");
-        float wirespacing = (*ggsd)[0]->getDouble("WIRESP")*GeoModelKernelUnits::cm;
+        float wirespacing = (*ggsd)[0]->getDouble("WIRESP")*Gaudi::Units::cm;
         log<<MSG::INFO
            <<" ProcessTGCreadout - version "<<version<<" wirespacing "<<wirespacing<<endmsg;
     
@@ -519,7 +518,7 @@ void RDBReaderAtlas::ProcessTGCreadout () {
         IRDBRecordset_ptr ggln = m_pRDBAccess->getRecordsetPtr("GGLN",m_geoTag,m_geoNode);
 
         int version = (int) (*ggln)[0]->getInt("VERS");
-        float wirespacing = (*ggln)[0]->getFloat("WIRESP")*GeoModelKernelUnits::mm;
+        float wirespacing = (*ggln)[0]->getFloat("WIRESP")*Gaudi::Units::mm;
         log<<MSG::INFO
            <<" ProcessTGCreadout - version "<<version<<" wirespacing "<<wirespacing<<endmsg;
 
@@ -618,11 +617,11 @@ void RDBReaderAtlas::ProcessTGCreadout () {
 	    tgc->offsetWireSupport[0] = (*ggln)[ich]->getFloat("SP1WI");
 	    tgc->offsetWireSupport[1] = (*ggln)[ich]->getFloat("SP2WI");
 	    tgc->offsetWireSupport[2] = (*ggln)[ich]->getFloat("SP3WI");
-	    tgc->angleTilt            = (*ggln)[ich]->getFloat("TILT")*GeoModelKernelUnits::deg;
+	    tgc->angleTilt            = (*ggln)[ich]->getFloat("TILT")*Gaudi::Units::deg;
 	    tgc->radiusButton         = (*ggln)[ich]->getFloat("SP1BU");
 	    tgc->pitchButton[0]       = (*ggln)[ich]->getFloat("SP2BU");
 	    tgc->pitchButton[1]       = (*ggln)[ich]->getFloat("SP3BU");
-	    tgc->angleButton          = (*ggln)[ich]->getFloat("SP4BU")*GeoModelKernelUnits::deg;
+	    tgc->angleButton          = (*ggln)[ich]->getFloat("SP4BU")*Gaudi::Units::deg;
 
         }
     }
diff --git a/MuonSpectrometer/MuonGeoModel/src/Rpc.cxx b/MuonSpectrometer/MuonGeoModel/src/Rpc.cxx
index d447b0c90376..050fe4aa697d 100755
--- a/MuonSpectrometer/MuonGeoModel/src/Rpc.cxx
+++ b/MuonSpectrometer/MuonGeoModel/src/Rpc.cxx
@@ -20,7 +20,7 @@
 #include "GeoModelKernel/GeoShapeSubtraction.h"
 #include "GeoModelKernel/GeoShapeIntersection.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <iomanip>
 #include <cassert>
@@ -281,7 +281,7 @@ GeoFullPhysVol* Rpc::build(int minimalgeo, int cutoutson,
      GeoTransform* tugg = new GeoTransform(GeoTrf::TranslateX3D(newpos) );
      if (RPCprint) std::cout<< " Rpc:: put upper RPC layer at " << newpos
                             << " from centre " << std::endl;
-     GeoTransform* rugg = new GeoTransform(GeoTrf::RotateY3D(180*GeoModelKernelUnits::deg) );
+     GeoTransform* rugg = new GeoTransform(GeoTrf::RotateY3D(180*Gaudi::Units::deg) );
      if (!skip_rpc) {
        prpc->add(new GeoIdentifierTag(2));
        prpc->add(tugg);
diff --git a/MuonSpectrometer/MuonGeoModel/src/Spacer.cxx b/MuonSpectrometer/MuonGeoModel/src/Spacer.cxx
index df585ef77964..7de91280b119 100755
--- a/MuonSpectrometer/MuonGeoModel/src/Spacer.cxx
+++ b/MuonSpectrometer/MuonGeoModel/src/Spacer.cxx
@@ -20,7 +20,7 @@
 #include "GeoModelKernel/GeoShapeShift.h"
 #include "GeoModelKernel/GeoSerialIdentifier.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 // for cutouts:
 #include "GeoModelKernel/GeoShapeSubtraction.h"
 
@@ -135,7 +135,7 @@ GeoVPhysVol * Spacer::build(int /*cutoutson*/)
 
     for (int k1 = 0; k1 < 2; k1++){
       for (int k = 0; k < 2; k++){
-        GeoTransform* ttube = new GeoTransform(GeoTrf::RotateX3D(-90*GeoModelKernelUnits::deg)* GeoTrf::Translate3D(
+        GeoTransform* ttube = new GeoTransform(GeoTrf::RotateX3D(-90*Gaudi::Units::deg)* GeoTrf::Translate3D(
                                                0.,
                                                -(vtubl+tckibeam)/2.-(k-1)*(vtubl+tckibeam),
                                                -length/4.-(k1-1)*length/2));
diff --git a/MuonSpectrometer/MuonGeoModel/src/Station.cxx b/MuonSpectrometer/MuonGeoModel/src/Station.cxx
index d15abe247282..309c8e8bd25e 100755
--- a/MuonSpectrometer/MuonGeoModel/src/Station.cxx
+++ b/MuonSpectrometer/MuonGeoModel/src/Station.cxx
@@ -8,8 +8,8 @@
 #include "MuonGeoModel/StandardComponent.h"
 #include "MuonGeoModel/SupComponent.h"
 #include "MuonGeoModel/TgcComponent.h"
-#include "GeoModelKernel/Units.h"
 #include "GaudiKernel/MsgStream.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include "AthenaKernel/getMessageSvc.h"
 #include <iostream>
 #include <algorithm>
@@ -687,7 +687,7 @@ GeoTrf::Transform3D Station::native_to_tsz_frame( const Position & p ) const {
     {
         if (m_name[0]=='B' )
         {
-            mirrsym = GeoTrf::RotateX3D(180.*GeoModelKernelUnits::deg);
+            mirrsym = GeoTrf::RotateX3D(180.*Gaudi::Units::deg);
         }
     }
 
@@ -732,10 +732,10 @@ GeoTrf::Transform3D Station::native_to_tsz_frame( const Position & p ) const {
     }
 
     // // define the rotations by alpha, beta, gamma
-    // GeoTrf::Rotate3D ralpha = GeoTrf::RotateX3D(p.alpha*GeoModelKernelUnits::deg);
-    // GeoTrf::Rotate3D rbeta  = GeoTrf::RotateZ3D(p.beta*GeoModelKernelUnits::deg);
+    // GeoTrf::Rotate3D ralpha = GeoTrf::RotateX3D(p.alpha*Gaudi::Units::deg);
+    // GeoTrf::Rotate3D rbeta  = GeoTrf::RotateZ3D(p.beta*Gaudi::Units::deg);
     // GeoTrf::Rotate3D rgamma;
-    // rgamma = GeoTrf::RotateY3D(p.gamma*GeoModelKernelUnits::deg);
+    // rgamma = GeoTrf::RotateY3D(p.gamma*Gaudi::Units::deg);
     // log<<MSG::VERBOSE<<" gamma is not changing sign - original "<<p.gamma<<" new one "<<p.gamma<<endmsg;
     // log<<MSG::VERBOSE<<" alpha / beta "<<p.alpha<<" "<<p.beta<<endmsg;
 
@@ -768,10 +768,10 @@ GeoTrf::Transform3D Station::tsz_to_global_frame( const Position & p ) const {
       }
     else
         RAD=p.radius;
-    vec.x() = RAD*cos(p.phi*GeoModelKernelUnits::deg);
-    vec.x() = vec.x()-p.shift*sin((p.phi)*GeoModelKernelUnits::deg);
-    vec.y() = RAD*sin(p.phi*GeoModelKernelUnits::deg);
-    vec.y() = vec.y()+p.shift*cos((p.phi)*GeoModelKernelUnits::deg);
+    vec.x() = RAD*cos(p.phi*Gaudi::Units::deg);
+    vec.x() = vec.x()-p.shift*sin((p.phi)*Gaudi::Units::deg);
+    vec.y() = RAD*sin(p.phi*Gaudi::Units::deg);
+    vec.y() = vec.y()+p.shift*cos((p.phi)*Gaudi::Units::deg);
     // 
     if (p.isMirrored)
         if ( (p.isBarrelLike) || (m_name[0]=='B') )
@@ -805,9 +805,9 @@ GeoTrf::Transform3D Station::tsz_to_global_frame( const Position & p ) const {
 
     /////// NEWEWEWWEWEWEWEWEWEWEWEWEW
     // // define the rotations by alpha, beta, gamma
-    GeoTrf::RotateX3D ralpha(p.alpha*GeoModelKernelUnits::deg);
-    GeoTrf::RotateZ3D rbeta(p.beta*GeoModelKernelUnits::deg);
-    GeoTrf::RotateY3D rgamma(p.gamma*GeoModelKernelUnits::deg);
+    GeoTrf::RotateX3D ralpha(p.alpha*Gaudi::Units::deg);
+    GeoTrf::RotateZ3D rbeta(p.beta*Gaudi::Units::deg);
+    GeoTrf::RotateY3D rgamma(p.gamma*Gaudi::Units::deg);
     if (pLvl) {
       log<<MSG::VERBOSE<<" gamma is not changing sign - original "<<p.gamma<<" new one "<<p.gamma<<endmsg;
       log<<MSG::VERBOSE<<" alpha / beta "<<p.alpha<<" "<<p.beta<<endmsg;
@@ -824,29 +824,29 @@ GeoTrf::Transform3D Station::tsz_to_global_frame( const Position & p ) const {
     if ( m_name[0]=='B' || p.isBarrelLike )
     {    
         // here all Barrel chambers 
-        nominalTransf =  GeoTrf::RotateZ3D(p.phi*GeoModelKernelUnits::deg);
+        nominalTransf =  GeoTrf::RotateZ3D(p.phi*Gaudi::Units::deg);
     }
     else
     {
 // replace this with the folowing lines 8/06/2006 SS because, EC not mirrored chambers have anyway to be rotated
 // by 180deg around z to mov ecoherently their local reference frame and the tube-layer numbering
 //         if ( p.z>=0 || ( p.z<0 && !(p.isMirrored) ) ){
-//             nominalTransf =  GeoTrf::Transform3D(GeoTrf::RotateY3D(-90*GeoModelKernelUnits::deg)*
-// 					    GeoTrf::RotateX3D(p.phi*GeoModelKernelUnits::deg-180*GeoModelKernelUnits::deg));
+//             nominalTransf =  GeoTrf::Transform3D(GeoTrf::RotateY3D(-90*Gaudi::Units::deg)*
+// 					    GeoTrf::RotateX3D(p.phi*Gaudi::Units::deg-180*Gaudi::Units::deg));
 //         }
 //         else if (p.z<0 && p.isMirrored){
-//             nominalTransf =  GeoTrf::Transform3D(GeoTrf::RotateY3D(-90*GeoModelKernelUnits::deg)*
-//                                             GeoTrf::RotateX3D(p.phi*GeoModelKernelUnits::deg-180*GeoModelKernelUnits::deg)*
-//                                             GeoTrf::RotateZ3D(180*GeoModelKernelUnits::deg));
+//             nominalTransf =  GeoTrf::Transform3D(GeoTrf::RotateY3D(-90*Gaudi::Units::deg)*
+//                                             GeoTrf::RotateX3D(p.phi*Gaudi::Units::deg-180*Gaudi::Units::deg)*
+//                                             GeoTrf::RotateZ3D(180*Gaudi::Units::deg));
 //         }
         if ( p.z>=0 ){
-            nominalTransf =  GeoTrf::Transform3D(GeoTrf::RotateY3D(-90*GeoModelKernelUnits::deg)*
-					    GeoTrf::RotateX3D(p.phi*GeoModelKernelUnits::deg-180*GeoModelKernelUnits::deg));
+            nominalTransf =  GeoTrf::Transform3D(GeoTrf::RotateY3D(-90*Gaudi::Units::deg)*
+					    GeoTrf::RotateX3D(p.phi*Gaudi::Units::deg-180*Gaudi::Units::deg));
         }
         else if ( p.z<0 ){
-            nominalTransf =  GeoTrf::Transform3D(GeoTrf::RotateY3D(-90*GeoModelKernelUnits::deg)*
-                                            GeoTrf::RotateX3D(p.phi*GeoModelKernelUnits::deg-180*GeoModelKernelUnits::deg)*
-                                            GeoTrf::RotateZ3D(180*GeoModelKernelUnits::deg));
+            nominalTransf =  GeoTrf::Transform3D(GeoTrf::RotateY3D(-90*Gaudi::Units::deg)*
+                                            GeoTrf::RotateX3D(p.phi*Gaudi::Units::deg-180*Gaudi::Units::deg)*
+                                            GeoTrf::RotateZ3D(180*Gaudi::Units::deg));
         }
 	else log << MSG::WARNING<<" AAAAAA problem here p.z, mirrored "
 		    <<p.z<<" "<<p.isMirrored<<endmsg;
@@ -1038,13 +1038,13 @@ double Station::getAmdbOrigine_along_thickness() const
 //     if (m_name[0]=='B') {
 //         // defining the position of the centre of any station
 //         // here using the stations in DBSC (described in amdb + the ones at z<0)
-//         vec.setX((p.radius+GetThickness()/2.)*cos(p.phi*GeoModelKernelUnits::deg));
-//         vec.setX(vec.x()-p.shift*sin((p.phi)*GeoModelKernelUnits::deg));
-//         vec.setY((p.radius+GetThickness()/2.)*sin(p.phi*GeoModelKernelUnits::deg));
-//         vec.setY(vec.y()+p.shift*cos((p.phi)*GeoModelKernelUnits::deg));
+//         vec.setX((p.radius+GetThickness()/2.)*cos(p.phi*Gaudi::Units::deg));
+//         vec.setX(vec.x()-p.shift*sin((p.phi)*Gaudi::Units::deg));
+//         vec.setY((p.radius+GetThickness()/2.)*sin(p.phi*Gaudi::Units::deg));
+//         vec.setY(vec.y()+p.shift*cos((p.phi)*Gaudi::Units::deg));
 //         vec.setZ(p.z+GetLength()/2.);
-//         AMDBorgTranslation = GeoTrf::Translate3D(GetThickness()*cos(p.phi*GeoModelKernelUnits::deg)/2.,
-//                                             GetThickness()*sin(p.phi*GeoModelKernelUnits::deg)/2.,
+//         AMDBorgTranslation = GeoTrf::Translate3D(GetThickness()*cos(p.phi*Gaudi::Units::deg)/2.,
+//                                             GetThickness()*sin(p.phi*Gaudi::Units::deg)/2.,
 //                                             GetLength()/2.);
 //     }
 //     else {      // if (m_name[0]=='T')
@@ -1057,18 +1057,18 @@ double Station::getAmdbOrigine_along_thickness() const
 //             RAD=p.radius;
 //         if (m_name[0]!='C')
 //         {
-//             vec.setX((RAD+GetLength()/2.)*cos(p.phi*GeoModelKernelUnits::deg));
-//             vec.setX(vec.x()-p.shift*sin((p.phi)*GeoModelKernelUnits::deg));
-//             vec.setY((RAD+GetLength()/2.)*sin(p.phi*GeoModelKernelUnits::deg));
-//             vec.setY(vec.y()+p.shift*cos((p.phi)*GeoModelKernelUnits::deg));
+//             vec.setX((RAD+GetLength()/2.)*cos(p.phi*Gaudi::Units::deg));
+//             vec.setX(vec.x()-p.shift*sin((p.phi)*Gaudi::Units::deg));
+//             vec.setY((RAD+GetLength()/2.)*sin(p.phi*Gaudi::Units::deg));
+//             vec.setY(vec.y()+p.shift*cos((p.phi)*Gaudi::Units::deg));
 //             vec.setZ(p.z+GetThickness()/2.);
 //         }
 //         else
 //         {
-//             vec.setX(RAD*cos(p.phi*GeoModelKernelUnits::deg));
-//             vec.setX(vec.x()-p.shift*sin((p.phi)*GeoModelKernelUnits::deg));
-//             vec.setY(RAD*sin(p.phi*GeoModelKernelUnits::deg));
-//             vec.setY(vec.y()+p.shift*cos((p.phi)*GeoModelKernelUnits::deg));
+//             vec.setX(RAD*cos(p.phi*Gaudi::Units::deg));
+//             vec.setX(vec.x()-p.shift*sin((p.phi)*Gaudi::Units::deg));
+//             vec.setY(RAD*sin(p.phi*Gaudi::Units::deg));
+//             vec.setY(vec.y()+p.shift*cos((p.phi)*Gaudi::Units::deg));
 //             if (p.z>0) vec.setZ(p.z);
 //             else vec.setZ(p.z+GetThickness());
 //         }
@@ -1082,31 +1082,31 @@ double Station::getAmdbOrigine_along_thickness() const
 //     const HepVector3D phiaxis = HepVector3D(-raxis.y(), raxis.x(), 0.); // phi = z cross r
 //     // order of extra rotations is alpha(r), then beta(z), then gamma(phi)
 //     GeoTrf::Rotate3D ralpha, rbeta, rgamma;
-//     ralpha = GeoTrf::Rotate3D(p.alpha*GeoModelKernelUnits::deg, raxis);
-//     rbeta  = GeoTrf::Rotate3D(p.beta*GeoModelKernelUnits::deg,  zaxis);
+//     ralpha = GeoTrf::Rotate3D(p.alpha*Gaudi::Units::deg, raxis);
+//     rbeta  = GeoTrf::Rotate3D(p.beta*Gaudi::Units::deg,  zaxis);
 //     if ( p.zindex<0 && !(m_name[0] == 'B') ) {
-//         rgamma = GeoTrf::Rotate3D(p.gamma*GeoModelKernelUnits::deg, phiaxis);
+//         rgamma = GeoTrf::Rotate3D(p.gamma*Gaudi::Units::deg, phiaxis);
 //         //            if (m_name[0]=='C') log << MSG::DEBUG <<"zi,fi  gamma applied "<<m_name<<" "<<p.zindex<<" "<<p.phiindex<<" "<<p.gamma<<endmsg;
 //     }
 //     else {
-//         rgamma = GeoTrf::Rotate3D(-p.gamma*GeoModelKernelUnits::deg, phiaxis);
+//         rgamma = GeoTrf::Rotate3D(-p.gamma*Gaudi::Units::deg, phiaxis);
 //         //            if (m_name[0]=='C') log << MSG::DEBUG<<"zi,fi  gamma applied "<<m_name<<" "<<p.zindex<<" "<<p.phiindex<<" "<<-p.gamma<<endmsg;
 //     }
 //     if (m_name[0]=='B' || p.isBarrelLike)
 //     {
 //         // here all Barrel chambers
-//         if (p.isMirrored) nominalTransf = GeoTrf::RotateZ3D(p.phi*GeoModelKernelUnits::deg)*GeoTrf::RotateX3D(180.*GeoModelKernelUnits::deg);
-//         else nominalTransf =  GeoTrf::RotateZ3D(p.phi*GeoModelKernelUnits::deg);
+//         if (p.isMirrored) nominalTransf = GeoTrf::RotateZ3D(p.phi*Gaudi::Units::deg)*GeoTrf::RotateX3D(180.*Gaudi::Units::deg);
+//         else nominalTransf =  GeoTrf::RotateZ3D(p.phi*Gaudi::Units::deg);
 //     }
 //     else
 //     {
 //         if ( p.z>=0 || ( p.z<0 && !(p.isMirrored) ) ){
-//             nominalTransf =  GeoTrf::Transform3D(GeoTrf::RotateY3D(-90*GeoModelKernelUnits::deg)*GeoTrf::RotateX3D(p.phi*GeoModelKernelUnits::deg-180*GeoModelKernelUnits::deg));
+//             nominalTransf =  GeoTrf::Transform3D(GeoTrf::RotateY3D(-90*Gaudi::Units::deg)*GeoTrf::RotateX3D(p.phi*Gaudi::Units::deg-180*Gaudi::Units::deg));
 //         }
 //         else if (p.z<0 && p.isMirrored){
-//             nominalTransf =  GeoTrf::Transform3D(GeoTrf::RotateY3D(-90*GeoModelKernelUnits::deg)*
-//                                             GeoTrf::RotateX3D(p.phi*GeoModelKernelUnits::deg-180*GeoModelKernelUnits::deg)*
-//                                             GeoTrf::RotateZ3D(180*GeoModelKernelUnits::deg));
+//             nominalTransf =  GeoTrf::Transform3D(GeoTrf::RotateY3D(-90*Gaudi::Units::deg)*
+//                                             GeoTrf::RotateX3D(p.phi*Gaudi::Units::deg-180*Gaudi::Units::deg)*
+//                                             GeoTrf::RotateZ3D(180*Gaudi::Units::deg));
 //         }
 //         else log << MSG::WARNING<<" AAAAAA problem here p.z, mirrored "
 // 	        <<p.z<<" "<<p.isMirrored<<endmsg;
@@ -1114,7 +1114,7 @@ double Station::getAmdbOrigine_along_thickness() const
 //     GeoTrf::Transform3D transf;
 //     if (m_name[0]!='C') transf = GeoTrf::Translate3D(vec)*rgamma*rbeta*ralpha*nominalTransf;
 //     else transf = GeoTrf::Translate3D(vec)*nominalTransf*
-//                   GeoTrf::RotateY3D(p.gamma*GeoModelKernelUnits::deg)*
+//                   GeoTrf::RotateY3D(p.gamma*Gaudi::Units::deg)*
 //                   GeoTrf::Translate3D(GetThickness()/2.,0.,GetLength()/2.);
 //     return transf;
 // }
diff --git a/MuonSpectrometer/MuonGeoModel/src/Tgc.cxx b/MuonSpectrometer/MuonGeoModel/src/Tgc.cxx
index 3abfde6a635a..e8871b044301 100755
--- a/MuonSpectrometer/MuonGeoModel/src/Tgc.cxx
+++ b/MuonSpectrometer/MuonGeoModel/src/Tgc.cxx
@@ -24,6 +24,7 @@
 #include "GeoModelKernel/GeoShapeSubtraction.h"
 #include "GeoModelKernel/GeoShapeIntersection.h"
 #include "GeoModelKernel/GeoShapeShift.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #define skip_tgc false
 
@@ -119,11 +120,11 @@ Tgc::build(int minimalgeo, int cutoutson, std::vector<Cutout*> vcutdef)
 
 	// wire supports
 	GeoTrd* strdsup = new GeoTrd(t->tck[i]/2, t->tck[i]/2, t->widthWireSupport/2,
-                                     t->widthWireSupport/2, lengthActive/2-0.1*GeoModelKernelUnits::mm);
+                                     t->widthWireSupport/2, lengthActive/2-0.1*Gaudi::Units::mm);
 	// button supports
 	GeoTube* stubesup = new GeoTube(0., t->radiusButton,
-					    t->tck[i]/2.+0.005*GeoModelKernelUnits::mm);
-	GeoTrf::RotateY3D rotY(3.14159264/2.*GeoModelKernelUnits::rad);
+					    t->tck[i]/2.+0.005*Gaudi::Units::mm);
+	GeoTrf::RotateY3D rotY(3.14159264/2.*Gaudi::Units::rad);
 	  
 	int iymin = int( -(widthActive/2. + lengthActive*tan(t->angleTilt) - t->widthWireSupport/2.
 			  + t->offsetWireSupport[iSenLyr])/t->distanceWireSupport );
@@ -188,7 +189,7 @@ Tgc::build(int minimalgeo, int cutoutson, std::vector<Cutout*> vcutdef)
                 GeoTrd* strdsupex = new GeoTrd(t->tck[i]/2, t->tck[i]/2,
                                                t->widthWireSupport/2,
                                                t->widthWireSupport/2,
-                                               lengthWireSupportEx/2-0.1*GeoModelKernelUnits::mm);
+                                               lengthWireSupportEx/2-0.1*Gaudi::Units::mm);
                 GeoTrf::Translate3D vtrans(0.,
 					   t->offsetWireSupport[iSenLyr]+t->distanceWireSupport*isupy + lengthActive/2.*tan(sign*t->angleTilt),
 					   (lengthActive-lengthWireSupportEx)/2.);
@@ -202,7 +203,7 @@ Tgc::build(int minimalgeo, int cutoutson, std::vector<Cutout*> vcutdef)
 	  			 + t->offsetWireSupport[iSenLyr]
 				       +lengthActive*tan( t->angleTilt))
 		                      -(-widthActive/2.);
-            if (widthLeftTrd > 8.*GeoModelKernelUnits::cm) {
+            if (widthLeftTrd > 8.*Gaudi::Units::cm) {
               double yLongBase;
               if ((name == "TGC01" || name == "TGC06" || name == "TGC12") &&
 	   	      t->distanceWireSupport*(iymin-1)+t->offsetWireSupport[iSenLyr]
@@ -230,7 +231,7 @@ Tgc::build(int minimalgeo, int cutoutson, std::vector<Cutout*> vcutdef)
 					+t->offsetWireSupport[iSenLyr]
 					+lengthActive*tan(-t->angleTilt));
 	      
-            if (widthRightTrd > 8.*GeoModelKernelUnits::cm) {
+            if (widthRightTrd > 8.*Gaudi::Units::cm) {
               double yLongBase;
               if ((name == "TGC01" || name == "TGC06" || name == "TGC12") &&
 		      t->distanceWireSupport*(iymax+1)+t->offsetWireSupport[iSenLyr]
diff --git a/Tracking/TrkDetDescr/TrkDetDescrGeoModelCnv/src/GeoShapeConverter.cxx b/Tracking/TrkDetDescr/TrkDetDescrGeoModelCnv/src/GeoShapeConverter.cxx
index 0533d79f2ecb..e62ddccfe22e 100755
--- a/Tracking/TrkDetDescr/TrkDetDescrGeoModelCnv/src/GeoShapeConverter.cxx
+++ b/Tracking/TrkDetDescr/TrkDetDescrGeoModelCnv/src/GeoShapeConverter.cxx
@@ -36,7 +36,7 @@
 #include "GeoModelKernel/GeoPara.h"
 #include "GeoModelKernel/GeoVolumeCursor.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 // #define DEBUG
 #ifdef DEBUG
@@ -50,7 +50,7 @@ namespace {
 	//commonly used axes
 	const Amg::Vector3D gXAxis(1.0, 0.0, 0.0), gYAxis(0.0, 1.0, 0.0), gZAxis(0.0, 0.0, 1.0);
 	//commonly used angles, ±90°, 180°
-	const double p90deg(90.0 * GeoModelKernelUnits::deg), m90deg(-90.0 * GeoModelKernelUnits::deg), p180deg(180.0 * GeoModelKernelUnits::deg);
+	const double p90deg(90.0 * Gaudi::Units::deg), m90deg(-90.0 * Gaudi::Units::deg), p180deg(180.0 * Gaudi::Units::deg);
 }
 
 
diff --git a/graphics/VP1/VP1Systems/VP1CaloSystems/VP1CaloSystems/VP1CaloCellController.h b/graphics/VP1/VP1Systems/VP1CaloSystems/VP1CaloSystems/VP1CaloCellController.h
index b61bbc46678f..14de776de45e 100644
--- a/graphics/VP1/VP1Systems/VP1CaloSystems/VP1CaloSystems/VP1CaloCellController.h
+++ b/graphics/VP1/VP1Systems/VP1CaloSystems/VP1CaloSystems/VP1CaloCellController.h
@@ -7,7 +7,7 @@
 
 #include "VP1Base/VP1Controller.h"
 #include "VP1CaloSystems/VP1CaloCells.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 #include <QByteArray>
 #include <QString>
 #include <map>
@@ -114,7 +114,7 @@ class VP1CaloCellController : public VP1Controller
   //For verbose output:
   template <class T> static QString toString( const T& t ) { return VP1Controller::toString(t); }//unhide base methods
   static QString toString(const VP1CCIntervalMap& m) { return "VP1CCIntervalMap of size "+QString::number(m.count()); }
-  static QString toString(const QPair<bool,double>& par) { return "<"+QString(par.first?"log":"linear")+", "+QString::number(par.second/(GeoModelKernelUnits::cm/GeoModelKernelUnits::GeV))+" cm/GeV>"; }
+  static QString toString(const QPair<bool,double>& par) { return "<"+QString(par.first?"log":"linear")+", "+QString::number(par.second/(Gaudi::Units::cm/Gaudi::Units::GeV))+" cm/GeV>"; }
   static QString toString(const VP1CC_GlobalCuts& cuts) { return "VP1CC global cuts: sideA=" + QString(cuts.sideA?"True":"False") + ", sideC=" + QString(cuts.sideC?"True":"False") + ", allowedEta=" + VP1Controller::toString(cuts.allowedEta) + ", allowedPhi="  + VP1Controller::toString(cuts.allowedEta); }
 
 //  // FIXME:You have to compile Qwt with Qt5. LCG's Qwt is compiled with Qt4 only...
diff --git a/graphics/VP1/VP1Systems/VP1CaloSystems/VP1CaloSystems/VP1CaloCells.h b/graphics/VP1/VP1Systems/VP1CaloSystems/VP1CaloSystems/VP1CaloCells.h
index 7b00191e1d95..b6afc456c7bf 100644
--- a/graphics/VP1/VP1Systems/VP1CaloSystems/VP1CaloSystems/VP1CaloCells.h
+++ b/graphics/VP1/VP1Systems/VP1CaloSystems/VP1CaloSystems/VP1CaloCells.h
@@ -12,7 +12,7 @@
 
 #include "GeoPrimitives/GeoPrimitives.h"
 #include "GeoModelKernel/GeoDefinitions.h"
-#include "GeoModelKernel/Units.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <map>
 #include <set>
@@ -187,7 +187,7 @@ class VP1CaloCell
             const VP1CC_GlobalCuts& ) = 0;
 
   double cellDepth(const QPair<bool,double>& scale, const double& energy)
-  { return std::max(1.0*GeoModelKernelUnits::mm,scale.second*(scale.first?log(1+fabs(energy)):fabs(energy))); }
+  { return std::max(1.0*Gaudi::Units::mm,scale.second*(scale.first?log(1+fabs(energy)):fabs(energy))); }
 
   virtual bool isInsideClipVolume(const VP1CC_GlobalCuts&  globalCuts) ; // by default uses radius to determine this
   
diff --git a/graphics/VP1/VP1Systems/VP1CaloSystems/src/VP1CaloCellController.cxx b/graphics/VP1/VP1Systems/VP1CaloSystems/src/VP1CaloCellController.cxx
index c275a81ab16e..52655ba56dfd 100644
--- a/graphics/VP1/VP1Systems/VP1CaloSystems/src/VP1CaloCellController.cxx
+++ b/graphics/VP1/VP1Systems/VP1CaloSystems/src/VP1CaloCellController.cxx
@@ -39,9 +39,7 @@
 */
 
 #include <QVector>
-
-#include "CLHEP/Units/SystemOfUnits.h"
-
+#include "GaudiKernel/SystemOfUnits.h"
 #include <map>
 
 // -------------------- Imp -------------------------------
@@ -1137,7 +1135,7 @@ VP1CCIntervalMap VP1CaloCellController::selectionIntervals() const
 
 QPair<bool,double> VP1CaloCellController::scale() const
 {
-	double scl = m_d->ui_visopts.chbxLogscale->isChecked() ? m_d->ui_visopts.dspbxScale->value()*GeoModelKernelUnits::m/log(1+10*GeoModelKernelUnits::GeV) : m_d->ui_visopts.dspbxScale->value()*GeoModelKernelUnits::m/(10*GeoModelKernelUnits::GeV);
+	double scl = m_d->ui_visopts.chbxLogscale->isChecked() ? m_d->ui_visopts.dspbxScale->value()*Gaudi::Units::m/log(1+10*Gaudi::Units::GeV) : m_d->ui_visopts.dspbxScale->value()*Gaudi::Units::m/(10*Gaudi::Units::GeV);
 	return QPair<bool,double>(m_d->ui_visopts.chbxLogscale->isChecked(),scl);
 }
 
diff --git a/graphics/VP1/VP1Utils/src/SoVisualizeAction.cxx b/graphics/VP1/VP1Utils/src/SoVisualizeAction.cxx
index dec8091d1fe4..7a1985019af7 100644
--- a/graphics/VP1/VP1Utils/src/SoVisualizeAction.cxx
+++ b/graphics/VP1/VP1Utils/src/SoVisualizeAction.cxx
@@ -14,7 +14,6 @@
 #include "GeoModelKernel/GeoTessellatedSolid.h"
 #include "GeoModelKernel/GeoFacet.h"
 #include "GeoModelKernel/GeoGenericTrap.h"
-#include "GeoModelKernel/Units.h"
 #include "GeoSpecialShapes/LArCustomShape.h"
 #include "GeoSpecialShapes/LArWheelCalculator.h"
 #include "VP1HEPVis/nodes/SoTubs.h"
@@ -27,6 +26,7 @@
 #include "VP1HEPVis/nodes/SoPolyhedron.h"
 #include "VP1HEPVis/VP1HEPVisUtils.h"
 #include "VP1Utils/SbPolyhedrizeAction.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 SoVisualizeAction::SoVisualizeAction()
   : m_shape(0)
@@ -155,11 +155,11 @@ void SoVisualizeAction::handleLArCustom(const LArCustomShape *custom)
   static const double eta_low = 1.375;
 
 
-  //  static const double zWheelRefPoint       = 3689.5*GeoModelKernelUnits::mm;  //=endg_z0
-  static const double dMechFocaltoWRP      = 3691. *GeoModelKernelUnits::mm;  //=endg_z1
-  //  static const double dElecFocaltoWRP      = 3689. *GeoModelKernelUnits::mm;  //=endg_dcf
-  static const double dWRPtoFrontFace      =   11. *GeoModelKernelUnits::mm;
-  static const double rOuterCutoff         = 2034. *GeoModelKernelUnits::mm;  //=endg_rlimit
+  //  static const double zWheelRefPoint       = 3689.5*Gaudi::Units::mm;  //=endg_z0
+  static const double dMechFocaltoWRP      = 3691. *Gaudi::Units::mm;  //=endg_z1
+  //  static const double dElecFocaltoWRP      = 3689. *Gaudi::Units::mm;  //=endg_dcf
+  static const double dWRPtoFrontFace      =   11. *Gaudi::Units::mm;
+  static const double rOuterCutoff         = 2034. *Gaudi::Units::mm;  //=endg_rlimit
 
 
   SoLAr::initClass();
@@ -182,7 +182,7 @@ void SoVisualizeAction::handleLArCustom(const LArCustomShape *custom)
     rInner[1] = zWheelBackFace  * tanThetaInner;
     // Note that there is a 3mm gap between the outer surface of the
     // inner wheel and the inner surface of the outer wheel.
-    double HalfGapBetweenWheels = 0.15*GeoModelKernelUnits::cm;  // In DB EMECGEOMETRY.DCRACK
+    double HalfGapBetweenWheels = 0.15*Gaudi::Units::cm;  // In DB EMECGEOMETRY.DCRACK
     rOuter[0] = zWheelFrontFace * tanThetaMid - HalfGapBetweenWheels;
     rOuter[1] = zWheelBackFace  * tanThetaMid - HalfGapBetweenWheels;
     solar->fRmin.setValues(0,2,rInner);
@@ -202,7 +202,7 @@ void SoVisualizeAction::handleLArCustom(const LArCustomShape *custom)
     double zWheelBackFace = zWheelFrontFace + calc->GetWheelThickness();
     // Note that there is a 3mm gap between the outer surface of the
     // inner wheel and the inner surface of the outer wheel.
-    double HalfGapBetweenWheels = 0.15*GeoModelKernelUnits::cm;  // In DB! (EMECGEOMETRY.DCRACK);
+    double HalfGapBetweenWheels = 0.15*Gaudi::Units::cm;  // In DB! (EMECGEOMETRY.DCRACK);
     rInner[0] = zWheelFrontFace * tanThetaMid + HalfGapBetweenWheels;
     rInner[2] = zWheelBackFace  * tanThetaMid + HalfGapBetweenWheels;
     rOuter[0] = zWheelFrontFace * tanThetaOuter;
-- 
GitLab


From c490188a5619169d8ceaae263b1f2c4587720736 Mon Sep 17 00:00:00 2001
From: John Kenneth Anders <john.kenneth.anders@cern.ch>
Date: Thu, 24 Jan 2019 14:08:56 +0000
Subject: [PATCH 102/192] Merge branch 'tilecal-for-21.0' into '21.0'

additional plotting option added

See merge request atlas/athena!20022

(cherry picked from commit 45b0480b53a190574840ab389345d011447e7561)

cbb1d2f3 additional plotting option added
---
 .../CxxUtils/ATLAS_CHECK_THREAD_SAFETY        |   0
 .../share/PlotCalibFromCool.py                | 269 +++++++++++++-----
 2 files changed, 192 insertions(+), 77 deletions(-)
 mode change 100755 => 100644 Control/CxxUtils/CxxUtils/ATLAS_CHECK_THREAD_SAFETY

diff --git a/Control/CxxUtils/CxxUtils/ATLAS_CHECK_THREAD_SAFETY b/Control/CxxUtils/CxxUtils/ATLAS_CHECK_THREAD_SAFETY
old mode 100755
new mode 100644
diff --git a/TileCalorimeter/TileCalib/TileCalibBlobPython/share/PlotCalibFromCool.py b/TileCalorimeter/TileCalib/TileCalibBlobPython/share/PlotCalibFromCool.py
index 28502519ed69..beb29e9eefc7 100755
--- a/TileCalorimeter/TileCalib/TileCalibBlobPython/share/PlotCalibFromCool.py
+++ b/TileCalorimeter/TileCalib/TileCalibBlobPython/share/PlotCalibFromCool.py
@@ -9,7 +9,7 @@
 
 
 import getopt,sys,os,string,math,re
-os.environ['TERM'] = 'linux' 
+os.environ['TERM'] = 'linux'
 
 def usage():
     print "How to use: ",sys.argv[0]," [OPTION] ... "
@@ -37,11 +37,12 @@ def usage():
     print "-c, --chan=     specify channel to use for 1D plots, default is 0"
     print "-g, --gain=, -a, --adc=  specify adc(gain) to use, default is 0 (low gain)"
     print "-v, --val=,  -i, --ind=  specify index of value to use, default is 0 "
+    print "-C, --cut=      specify additional cut on displayed values"
     print "-s, --schema=   specify schema to use, like 'COOLONL_TILE/CONDBR2' or 'sqlite://;schema=tileSqlite.db;dbname=CONDBR2' or tileSqlite.db"
 
 
-letters = "hr:l:s:t:f:a:g:b:e:o:Pp:Tv:i:m:c:I:A:N:X:Y:Z:n"
-words = ["help","run=","lumi=","schema=","tag=","folder=","adc=","gain=","print","module=","opt=","chan=","begin=","end=","tree","val=","ind=","part=","modmin=","modmax=","chmin=","chmax=","gmin=","gmax=","norm"]
+letters = "hr:l:s:t:f:a:g:b:e:o:Pp:Tv:i:m:c:I:A:N:X:Y:Z:C:n"
+words = ["help","run=","lumi=","schema=","tag=","folder=","adc=","gain=","print","module=","opt=","chan=","begin=","end=","tree","val=","ind=","part=","modmin=","modmax=","chmin=","chmax=","gmin=","gmax=","cut=","norm"]
 try:
     options,args = getopt.getopt(sys.argv[1:],letters,words)
 except getopt.GetoptError, err:
@@ -53,7 +54,7 @@ except getopt.GetoptError, err:
 
 
 
-# defaults 
+# defaults
 schema = 'COOLOFL_TILE/CONDBR2'
 folderPath =  "/TILE/OFL02/CALIB/CIS/LIN"
 tag = "UPD4"
@@ -63,7 +64,7 @@ vsbin = False
 plotopt= "dist"
 save_tree = False
 print_msg = False
-opt2d = False 
+opt2d = False
 partname = "LBA"
 modulename = "LBA01"
 modmin=0
@@ -71,7 +72,7 @@ modmax=9999
 chanmin=0
 chanmax=9999
 gainmin=0
-gainmax=1
+gainmax=0
 mod_n = 0
 chan_n = 0
 gain_n = 0
@@ -83,6 +84,7 @@ lumiNum = 0
 one_run = False
 multi = False
 norm = False
+cut = None
 
 for o, a in options:
     if o in ("-f","--folder"):
@@ -114,30 +116,34 @@ for o, a in options:
         val_n = int(a)
     elif o in ("-p","--part"):
         partname = a
-        opt2d = True
+        modulename = partname+"00"
     elif o in ("-I","--modmin"):
         modmin = int(a)
     elif o in ("-A","--modmax"):
         modmax = int(a)
     elif o in ("-N","--chmin"):
         chanmin = int(a)
+        chan_n = chanmin
     elif o in ("-X","--chmax"):
         chanmax = int(a)
     elif o in ("-Y","--gmin"):
         gainmin = int(a)
+        gain_n = gainmin
     elif o in ("-Z","--gmax"):
         gainmax = int(a)
     elif o in ("-o","--opt"):
         plotopt = a
+    elif o in ("-C","--cut"):
+        cut = a
     elif o in ("-T","--tree"):
-        save_tree = True 
+        save_tree = True
     elif o in ("-P","--print"):
-        print_msg = True 
+        print_msg = True
     elif o in ("-n","--norm"):
-        norm = True 
+        norm = True
     elif o in ("-h","--help"):
         usage()
-        sys.exit(2) 
+        sys.exit(2)
     else:
         assert False, "unhandeled option"
 
@@ -152,15 +158,18 @@ elif plotopt == "2d": opt2d = True; one_run = True
 chan_n=max(0,chan_n)
 gain_n=max(0,gain_n)
 val_n=max(0,val_n)
-
-if opt2d: 
+modmin=max(1,modmin)
+modmax=min(64,modmax)
+chanmin=max(0,chanmin)
+chanmax=min(47,chanmax)
+gainmin=max(0,gainmin)
+gainmax=min(5,gainmax) # up to 6 gains for integrators
+nval=1
+
+if opt2d:
     partname=partname[:3]
     modulename=partname+"00"
-    modmin=max(1,modmin)
-    modmax=min(64,modmax)
-    chanmin=max(0,chanmin)
-    chanmax=min(47,chanmax)
-else: 
+else:
     if len(modulename) < 5 or len(modulename) > 5:
         print "Wrong module name:",modulename
         sys.exit(2)
@@ -168,20 +177,15 @@ else:
     modnum=modulename[3:]
     if modnum.isdigit():
         mod_n=int(modnum)
-        if mod_n<1 or mod_n>64:
+        if mod_n<0 or mod_n>64:
             print "Wrong module name:",modulename
             sys.exit(2)
-        modmin=mod_n
-        modmax=mod_n
+        elif mod_n>0:
+            modmin=mod_n
+            modmax=mod_n
     else:
         print "Wrong module name:",modulename
         sys.exit(2)
-    if plotopt != "print":
-        chanmin=chan_n
-        chanmax=chan_n
-if plotopt != "print":
-    gainmin=gain_n
-    gainmax=gain_n
 
 part_dict = {'AUX':0,'LBA':1,'LBC':2,'EBA':3,'EBC':4,'ALL':5}
 if partname in part_dict:
@@ -193,14 +197,49 @@ else:
     else: print "Wrong module name:",modulename
     sys.exit(2)
 
+many=False
+if modmin!=modmax:
+    many=True
+    modulename="%s%2.2d-%s%2.2d" % (partname,modmin,partname,modmax)
+else:
+    mod_n=modmin
+    modulename="%s%2.2d" % (partname,mod_n)
+
+if chanmin!=chanmax:
+    many=True
+    channame="%2.2d-%2.2d" % (chanmin,chanmax)
+else:
+    chan_n=chanmin
+    channame="%2.2d" % (chan_n)
+
+if gainmin!=gainmax:
+    many=True
+    gain_n = -1
+
 if one_run and plotopt == "dist":
     print "Switching to noline mode"
     noline = True
     plotopt = "noline"
 
+if many:
+    many=(line or noline)
+
+if not many and gain_n==-1:
+    gain_n=gainmin
+
+if gain_n == -1:
+    gainname = "AllG"
+elif gain_n == 0:
+    gainname = "LG"
+elif gain_n == 1:
+    gainname = "HG"
+else:
+    gainname = "G"+str(gain_n)
+if val_n>0: gainname += " val[%d]" % (val_n)
+
 
 import ROOT
-from ROOT import TCanvas, TH1D, TH2D, TGraph, TTree
+from ROOT import TCanvas, TH1D, TH2D, TGraph, TTree, TLegend
 from ROOT import gROOT
 from ROOT import kTRUE
 from array import array
@@ -225,6 +264,10 @@ for fp in folderPath:
     log.info("Initializing folder %s with tag %s" % (fp, ft))
     folderTag += [ft]
 multi=(len(folderPath)>1)
+if multi and many:
+    print "Can not calculate product of "+" ".join(folderPath)+" in multi-channel mode"
+    sys.exit(2)
+
 
 #=== Get list of IOVs for given drawer or for comments record
 if ros!=-1:
@@ -331,7 +374,7 @@ if begin != be or end != en:
         end=en
     iovList=iovList[ib:ie]
 
-if one_run: 
+if one_run:
     if opt2d and not (line or noline):
         iovList=iovList[:1]
         print "Plotting values for (Run,Lumi) = (%i,%i) " % (runNum,lumiNum)
@@ -348,8 +391,8 @@ if one_run:
         print iovList
         if not line and runNum!=iovList[-1][0][0]:
             iovList=iovList[:-1]
-            
-if not one_run: 
+
+if not one_run:
     print "Plotting Runs: %i to %i" % (begin, end)
     print len(iovList),"different IOVs in total"
     if iovList[0][0][0]!=begin or iovList[-1][0][0]!=end:
@@ -370,13 +413,14 @@ titsuff=""
 if one_run or opt2d:
     if lumiNum<=0:
         titsuff=" Run " + str(runNum)
-    else: 
+    else:
         titsuff=" Run " + str(runNum) + " LB " + str(lumiNum)
 titsuff+=" Tag " + " ".join(folderTag)
 rlt=titsuff.replace(" ","_").replace("_Tag","")
+gtitle = modulename +" " + " Channel" +("s " if (chanmin!=chanmax) else " ") + channame +" " + gainname + titsuff
 
 if opt2d: fname="%s_g%d_v%d%s_%s" % ( partname,gain_n,val_n,rlt,plotopt)
-else: fname="%s_ch%2.2d_g%d_v%d%s_%s" % ( modulename,chan_n,gain_n,val_n,rlt,plotopt) 
+else: fname="%s_ch%s_g%d_v%d%s_%s" % ( modulename,channame,gain_n,val_n,rlt,plotopt)
 
 if save_tree: tree_file = ROOT.TFile(fname+".root","RECREATE")
 
@@ -385,6 +429,7 @@ run_n = np.zeros(1, dtype = float)
 lumi_n = np.zeros(1, dtype = float)
 channel_n = np.zeros(1, dtype = float)
 module_n = np.zeros(1, dtype = int)
+ros_n = np.zeros(1, dtype = int)
 value = np.zeros(1, dtype = float)
 scale = np.zeros(1, dtype = float)
 
@@ -392,6 +437,7 @@ tree.Branch("runnumber",run_n,'runnumber/D')
 tree.Branch("luminum",lumi_n,'luminum/D')
 tree.Branch("channel",channel_n,'channel/D')
 tree.Branch("module",module_n,'module/I')
+tree.Branch("ros",ros_n,'ros/I')
 tree.Branch("labels", labels)
 tree.Branch("vals", vals)
 if multi: tree.Branch("value", value,'value/D')
@@ -407,7 +453,7 @@ labels.clear()
 one_iov = (len(iovList)<2)
 
 for iovs in iovList:
-        
+
     if one_iov:
         run = runNum
         lumi = lumiNum
@@ -431,8 +477,9 @@ for iovs in iovList:
         labels.clear()
         vals.clear()
         value[0]=1.
-    
+
     for ros in xrange(rosmin,rosmax):
+        ros_n[0] = ros
         for mod in xrange(modmin-1, min(modmax,TileCalibUtils.getMaxDrawer(ros))):
             module_n[0] = mod
             modName = TileCalibUtils.getDrawerString(ros,mod)
@@ -453,7 +500,7 @@ for iovs in iovList:
                                   vals.push_back(flt.getData(chn, adc, val))
                                   if val==0:
                                       value[0] *= flt.getData(chn, adc, val)
-                              if print_msg: 
+                              if print_msg:
                                   if multi:
                                       print fp,msg
                                   else:
@@ -467,7 +514,7 @@ for iovs in iovList:
                                       scale[0]=vals[val_n]
                                   first=False
                               tree.Fill()
-                              if not line:
+                              if not line or many:
                                   labels.clear()
                                   vals.clear()
                                   value[0] = 1.
@@ -513,23 +560,22 @@ ROOT.gStyle.SetOptStat(0)
 if one_run:
     cut_cond = "runnumber == " + str(runNum)
 else:
-    cut_cond = "runnumber >= " + str(begin) + " && " + "runnumber <= " + str(veryEnd) 
-
-##### Which gain to choose
-if gain_n == 0:
-    gainvalue = "LG"
-elif gain_n == 1:
-    gainvalue = "HG"
-else:
-    gainvalue = "G"+str(gain_n)
+    cut_cond = "runnumber >= " + str(begin) + " && " + "runnumber <= " + str(veryEnd)
 
 ##### Which value to choose
 if multi:
-  data = "value"
+    data = "value"
+elif many:
+    data = "vals[%d]"
 else:
-  data = "vals[" + str(val_n) + "]"
+    data = "vals[" + str(val_n) + "]"
+
+if cut:
+    if not "val" in cut: cut = data + cut
+    cut_cond = "(" + cut_cond + ") && (" + cut + ")"
+
 if norm:
-  data += "/scale"
+    data += "/scale"
 
 if (line or noline) and not one_run:
     data += ":runnumber"
@@ -543,43 +589,112 @@ elif one_run:
 
 canv = TCanvas("PlotCalib","plotCalib",0,0,1600,800)
 
-if opt2d: 
+if opt2d:
     hhh = TH2D("hhh","hhh",modmax-modmin+1,modmin-0.5,modmax+0.5,chanmax-chanmin+1,chanmin-0.5,chanmax+0.5)
 
-if vsbin: tree.Draw(data,cut_cond,"goff",15)
-else: tree.Draw(data,cut_cond,"goff")
-
-if (not opt2d and tree.GetSelectedRows() <= 1) or tree.GetSelectedRows() <= 0:
-    print "Not enough points to plot"
-    sys.exit(2)
+if not many and not opt2d:
+    print "Plotting",data
+    print "With cut",cut_cond
+    if vsbin: tree.Draw(data,cut_cond,"goff",15)
+    else: tree.Draw(data,cut_cond,"goff")
 
-if vsbin:
-    if tree.GetSelectedRows() >= 15:
-        print "Maximum number of bins is 15"
+    if tree.GetSelectedRows() <= 0:
+        print "Not enough points to plot"
+        sys.exit(2)
 
+    if vsbin:
+        if tree.GetSelectedRows() >= 15:
+            print "Maximum number of bins is 15"
 
 if line or noline:
-    gr = TGraph(tree.GetSelectedRows(),tree.GetV2(),tree.GetV1())
-    gr.SetTitle(modulename +" " + " Channel "+ str(chan_n) +" " + gainvalue + titsuff)
-    gr.SetMarkerStyle(20)
-    gr.SetMarkerSize(1.3)
-    gr.SetMarkerColor(2)
-    gr.SetLineColor(2)
-    gr.GetXaxis().SetNoExponent(kTRUE)
-    if one_run: gr.GetXaxis().SetTitle("Lumi")
-    else: gr.GetXaxis().SetTitle("Runs")
-    if noline: gr.Draw("ap")
-    else: gr.Draw("apl")
+    if many:
+        first=True
+        color=1
+        grall=[]
+        vmin=1.e+38
+        vmax=-1.e+38
+        cut0 = cut_cond
+        data1 = data
+        leg = TLegend(0.7,0.7,0.9,0.9)
+        for ros in xrange(rosmin,rosmax):
+            for mod in xrange(modmin-1, modmax):
+                for chn in xrange(chanmin,chanmax+1):
+                    for adc in xrange(gainmin,gainmax+1):
+                        if "%d" in data:
+                            data1 = data.replace("%d",str((adc-gainmin)*nval+val_n))
+                        if "%d" in cut_cond:
+                            cut0 = cut_cond.replace("%d",str((adc-gainmin)*nval+val_n))
+                        cut1 = "(ros == %d && module == %d && channel == %d) && %s" % (ros,mod,chn,cut0)
+                        tree.Project("htemp",data1,cut1)
+                        if tree.GetSelectedRows() > 0:
+                            color = color + 1
+                            gr = TGraph(tree.GetSelectedRows(),tree.GetV2(),tree.GetV1())
+                            yy=gr.GetY()
+                            for ii in xrange(len(yy)):
+                                vv=yy[ii]
+                                if vv<vmin: vmin=vv
+                                if vv>vmax: vmax=vv
+                            grall += [gr]
+                            leg.AddEntry(gr,"%s%2.2d ch %2.2d" % ( part_dict.keys()[part_dict.values().index(ros)],mod+1,chn),"lep")
+                            gr.SetMarkerStyle(20)
+                            gr.SetMarkerSize(1.3)
+                            gr.SetMarkerColor(color)
+                            gr.SetLineColor(color)
+                            if first:
+                                print "First plot:"
+                                print "Plotting",data1
+                                print "With cut",cut1
+                                print "Note that in TTree module number starts from 0"
+                                gr.SetTitle(gtitle)
+                                gr.GetXaxis().SetNoExponent(kTRUE)
+                                if one_run: gr.GetXaxis().SetTitle("Lumi")
+                                else: gr.GetXaxis().SetTitle("Runs")
+                                if noline: gr.Draw("ap")
+                                else: gr.Draw("apl")
+                                first=False
+                            else:
+                                if noline: gr.Draw("p")
+                                else: gr.Draw("pl")
+        lg=len(grall)
+        if lg==0:
+            print "Plotting",data
+            print "With cut",cut_cond
+            print "Not enough points to plot"
+            sys.exit(2)
+        if lg>400: nc=20
+        elif lg>144: nc=int(math.sqrt(lg))
+        else: nc=int((lg-1)/12+1)
+        leg.SetNColumns(nc)
+        extra = (2+0.4*int(lg/nc+1))
+        dv=(vmax-vmin)/10.
+        grall[0].SetMinimum(vmin-dv)
+        grall[0].SetMaximum(vmax+dv*extra)
+        if nc>8: nc=8
+        leg.SetX1(0.9-0.1*nc)
+        leg.SetY1(0.9-0.8*(extra-1)/(11+extra))
+        leg.Draw()
+    else:
+        gr = TGraph(tree.GetSelectedRows(),tree.GetV2(),tree.GetV1())
+        gr.SetTitle(gtitle)
+        gr.SetMarkerStyle(20)
+        gr.SetMarkerSize(1.3)
+        gr.SetMarkerColor(2)
+        gr.SetLineColor(2)
+        gr.GetXaxis().SetNoExponent(kTRUE)
+        if one_run: gr.GetXaxis().SetTitle("Lumi")
+        else: gr.GetXaxis().SetTitle("Runs")
+        if noline: gr.Draw("ap")
+        else: gr.Draw("apl")
 
 elif opt2d:
     nentries = tree.GetEntries()
     hhh.SetName(modulename)
-    hhh.SetTitle(partname +" " + gainvalue + titsuff)
+    hhh.SetTitle(gtitle)
     hhh.GetYaxis().SetTitle("Channels")
     hhh.GetXaxis().SetTitle("Modules")
 
     if multi:
-        Matrix = [[1 for y in range(48)] for x in range(64)] 
+        Matrix = [[1 for y in range(48)] for x in range(64)]
         for i in xrange(nentries):
             tree.GetEntry(i)
             if vals.size()>0:
@@ -604,7 +719,7 @@ elif opt2d:
 else:
     h = ROOT.gDirectory.Get("htemp")
     h.SetName(modulename)
-    h.SetTitle(modulename +" " + " Channel "+str(chan_n)  + " " + gainvalue + titsuff)
+    h.SetTitle(gtitle)
     h.SetLineColor(2)
     h.SetLineWidth(2)
     h.GetXaxis().SetTitle("Value")
@@ -613,7 +728,7 @@ else:
         h.SetMarkerSize(1.4)
         h.SetMarkerColor(2)
         h.GetXaxis().SetTitle("Run")
-        if one_run: h.GetXaxis().SetTitle("Lumi");  h.SetTitle(modulename +" " + " Channel "+str(chan_n) +" " + gainvalue + titsuff)
+        if one_run: h.GetXaxis().SetTitle("Lumi");  h.SetTitle(gtitle)
         h.GetYaxis().SetTitle("")
         h.GetYaxis().SetTitleOffset(1.35)
     try:
@@ -631,13 +746,13 @@ canv.Update()
 canv.Print(fname+".eps")
 canv.Print(fname+".png")
 
-if save_tree: 
+if save_tree:
     tree_file.Write()
     tree_file.Close()
 
 
-        #=== display plot
-os.system("display "+fname+".png") 
+#=== display plot
+os.system("display "+fname+".png")
 
 
 #
-- 
GitLab


From 5d712cb2db77bd8f574bb4dffcd7902a4a0c4fb2 Mon Sep 17 00:00:00 2001
From: John Kenneth Anders <john.kenneth.anders@cern.ch>
Date: Thu, 24 Jan 2019 14:11:42 +0000
Subject: [PATCH 103/192] Merge branch '21.0-fix_nightly_test_file' into '21.0'

Remove non-existing input file from HI build test

See merge request atlas/athena!20323

(cherry picked from commit 2a6d5c30be6e450a5b66fa3f1f9998c31068d2a2)

67246961 Remove non-existing input file from HI build test
---
 Control/CxxUtils/CxxUtils/ATLAS_CHECK_THREAD_SAFETY             | 0
 .../TriggerTest/test/exec_athena_art_trigger_validation.sh      | 2 +-
 2 files changed, 1 insertion(+), 1 deletion(-)
 mode change 100755 => 100644 Control/CxxUtils/CxxUtils/ATLAS_CHECK_THREAD_SAFETY

diff --git a/Control/CxxUtils/CxxUtils/ATLAS_CHECK_THREAD_SAFETY b/Control/CxxUtils/CxxUtils/ATLAS_CHECK_THREAD_SAFETY
old mode 100755
new mode 100644
diff --git a/Trigger/TrigValidation/TriggerTest/test/exec_athena_art_trigger_validation.sh b/Trigger/TrigValidation/TriggerTest/test/exec_athena_art_trigger_validation.sh
index 01e24f2c124a..457f96fc52c8 100755
--- a/Trigger/TrigValidation/TriggerTest/test/exec_athena_art_trigger_validation.sh
+++ b/Trigger/TrigValidation/TriggerTest/test/exec_athena_art_trigger_validation.sh
@@ -35,7 +35,7 @@ fi
 ###
 
 if [[ $INPUT == "pbpb" ]]; then
-  export DS='["/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TriggerTest/mc15_5TeV.420000.Hijing_PbPb_5p02TeV_MinBias_Flow_JJFV6.recon.RDO.e3754_s2633_r7161/RDO.06677682._000001.pool.root.1","/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TriggerTest/mc15_5TeV.420000.Hijing_PbPb_5p02TeV_MinBias_Flow_JJFV6.recon.RDO.e3754_s2633_r7161/RDO.06677682._000002.pool.root.1","/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TriggerTest/mc15_5TeV.420000.Hijing_PbPb_5p02TeV_MinBias_Flow_JJFV6.recon.RDO.e3754_s2633_r7161/RDO.06677682._000003.pool.root.1"]'
+  export DS='["/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TriggerTest/mc15_5TeV.420000.Hijing_PbPb_5p02TeV_MinBias_Flow_JJFV6.recon.RDO.e3754_s2633_r7161/RDO.06677682._000002.pool.root.1","/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TriggerTest/mc15_5TeV.420000.Hijing_PbPb_5p02TeV_MinBias_Flow_JJFV6.recon.RDO.e3754_s2633_r7161/RDO.06677682._000003.pool.root.1"]'
 
 elif [[ $INPUT == "ftk" ]]; then
   export DS='["/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TriggerTest/mc16_13TeV.410470.PhPy8EG_A14_ttbar_hdamp258p75_nonallhad.digit.RDO_FTK.e6337_e5984_s3126_d1480_d1471_tid15265974_00/RDO_FTK.15265974._004440.pool.root.1"]'
-- 
GitLab


From 53347be1b480595b864acbf8bd95a4fd47e75b01 Mon Sep 17 00:00:00 2001
From: scott snyder <snyder@bnl.gov>
Date: Thu, 24 Jan 2019 16:03:55 +0100
Subject: [PATCH 104/192] PROCTools: Fix import of RunTier0TestsTools.

Need to include package in the import.
---
 Tools/PROCTools/python/RunTier0Tests.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Tools/PROCTools/python/RunTier0Tests.py b/Tools/PROCTools/python/RunTier0Tests.py
index 6c3318693282..04dbf6e8797a 100755
--- a/Tools/PROCTools/python/RunTier0Tests.py
+++ b/Tools/PROCTools/python/RunTier0Tests.py
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 ## RunTier0Tests.py - Brief description of the purpose of this script (Has to be in PROC tools)
 # $Id$
@@ -12,7 +12,7 @@ import time
 import uuid
 import logging
 import glob
-from RunTier0TestsTools import ciRefFileMap
+from PROCTools.RunTier0TestsTools import ciRefFileMap
 
 ### Setup global logging
 logging.basicConfig(level=logging.INFO,
-- 
GitLab


From ab14566bbf6b5d8c7f2eca43ae81d29bb0e2d909 Mon Sep 17 00:00:00 2001
From: scott snyder <sss@karma>
Date: Fri, 25 Jan 2019 04:52:08 +0100
Subject: [PATCH 105/192] xAODEventInfo: Thread-safety fixes.

Fix issues found by the thread-safety static checker.
---
 .../xAOD/xAODEventInfo/Root/EventInfo_v1.cxx  | 254 +++++++++---------
 .../test/ut_xaodeventinfo_evtstore_test.cxx   |   5 +-
 .../xAODEventInfo/ATLAS_CHECK_THREAD_SAFETY   |   1 +
 .../xAODEventInfo/versions/EventInfo_v1.h     |  16 +-
 4 files changed, 142 insertions(+), 134 deletions(-)
 create mode 100644 Event/xAOD/xAODEventInfo/xAODEventInfo/ATLAS_CHECK_THREAD_SAFETY

diff --git a/Event/xAOD/xAODEventInfo/Root/EventInfo_v1.cxx b/Event/xAOD/xAODEventInfo/Root/EventInfo_v1.cxx
index 96e21f730351..3c431bbba8ed 100644
--- a/Event/xAOD/xAODEventInfo/Root/EventInfo_v1.cxx
+++ b/Event/xAOD/xAODEventInfo/Root/EventInfo_v1.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2017, 2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // $Id: EventInfo_v1.cxx 729717 2016-03-14 18:52:01Z ssnyder $
@@ -54,14 +54,14 @@ namespace xAOD {
    using xAODEventInfoPrivate::operator<<;
 
    EventInfo_v1::EventInfo_v1()
-      : SG::AuxElement(), m_streamTags(), m_updateStreamTags( false ),
-        m_subEvents(), m_updateSubEvents( false ), m_evtStore( 0 ) {
+      : SG::AuxElement(), m_streamTags(),
+        m_subEvents(), m_evtStore( 0 ) {
 
    }
 
    EventInfo_v1::EventInfo_v1( const EventInfo_v1& parent )
       : SG::AuxElement(), m_streamTags(),
-        m_updateStreamTags( true ), m_subEvents(), m_updateSubEvents( true ),
+        m_subEvents(),
         m_evtStore( parent.m_evtStore ) {
 
       makePrivateStore( parent );
@@ -71,8 +71,10 @@ namespace xAOD {
 
       if (&rhs != this) {
         // Clear out the caches:
-        m_streamTags.clear(); m_updateStreamTags = true;
-        m_subEvents.clear(); m_updateSubEvents = true;
+        m_streamTags.store (std::vector< StreamTag >());
+        m_streamTags.reset();
+        m_subEvents.store (std::vector< SubEvent >());
+        m_subEvents.reset();
 
         // Copy the event store pointer:
         m_evtStore = rhs.m_evtStore;
@@ -240,24 +242,24 @@ namespace xAOD {
    //
    // Accessor objects for the stream properties:
    //
-   static EventInfo_v1::Accessor< std::vector< std::string > >
+   static const EventInfo_v1::Accessor< std::vector< std::string > >
       names( "streamTagNames" );
-   static EventInfo_v1::Accessor< std::vector< std::string > >
+   static const EventInfo_v1::Accessor< std::vector< std::string > >
       types( "streamTagTypes" );
-   static EventInfo_v1::Accessor< std::vector< char > >
+   static const EventInfo_v1::Accessor< std::vector< char > >
       olb( "streamTagObeysLumiblock" );
-   static EventInfo_v1::Accessor< std::vector< std::set< uint32_t > > >
+   static const EventInfo_v1::Accessor< std::vector< std::set< uint32_t > > >
       robsets( "streamTagRobs" );
-   static EventInfo_v1::Accessor< std::vector< std::set< uint32_t > > >
+   static const EventInfo_v1::Accessor< std::vector< std::set< uint32_t > > >
       detsets( "streamTagDets" );
 
    const std::vector< EventInfo_v1::StreamTag >&
    EventInfo_v1::streamTags() const {
 
       // Cache the new information if necessary:
-      if( m_updateStreamTags ) {
-         // The cache will be up to date after this:
-         m_updateStreamTags = false;
+      if( !m_streamTags.isValid() ) {
+         std::vector< StreamTag > tags;
+
          // A little sanity check:
          if( ( names( *this ).size() != types( *this ).size() ) ||
              ( names( *this ).size() != olb( *this ).size() ) ||
@@ -285,33 +287,36 @@ namespace xAOD {
             } else {
                std::cerr << detsets( *this ) << std::endl;
             }
-            return m_streamTags;
          }
-         // Clear the current cache:
-         m_streamTags.clear();
-         // Fill up the cache:
-         for( size_t i = 0; i < names( *this ).size(); ++i ) {
-            static const std::set< uint32_t > dummySet;
-            m_streamTags.push_back( StreamTag( names( *this )[ i ],
-                                               types( *this )[ i ],
-                                               olb( *this )[ i ],
-                                               ( robsets.isAvailable( *this ) ?
-                                                 robsets( *this )[ i ] :
-                                                 dummySet ),
-                                               ( detsets.isAvailable( *this ) ?
-                                                 detsets( *this )[ i ] :
-                                                 dummySet ) ) );
+
+         else {
+           // Fill the tags.
+           for( size_t i = 0; i < names( *this ).size(); ++i ) {
+             static const std::set< uint32_t > dummySet;
+             tags.emplace_back( names( *this )[ i ],
+                                types( *this )[ i ],
+                                olb( *this )[ i ],
+                                ( robsets.isAvailable( *this ) ?
+                                  robsets( *this )[ i ] :
+                                  dummySet ),
+                                ( detsets.isAvailable( *this ) ?
+                                  detsets( *this )[ i ] :
+                                  dummySet ) );
+           }
          }
+
+         // Set the cache.
+         m_streamTags.set (std::move (tags));
       }
 
       // Return the cached object:
-      return m_streamTags;
+      return *m_streamTags.ptr();
    }
 
    void EventInfo_v1::setStreamTags( const std::vector< StreamTag >& value ) {
 
       // Update the cached information:
-      m_streamTags = value;
+      m_streamTags.store (value);
 
       // Clear the persistent information:
       names( *this ).clear(); types( *this ).clear(); olb( *this ).clear();
@@ -328,9 +333,6 @@ namespace xAOD {
          detsets( *this ).push_back( itr->dets() );
       }
 
-      // The cache is now up to date:
-      m_updateStreamTags = false;
-
       return;
    }
 
@@ -416,97 +418,104 @@ namespace xAOD {
    //
    // Accessor objects for the sub-event properties:
    //
-   static SG::AuxElement::Accessor< std::vector< int16_t > >
+   static const SG::AuxElement::Accessor< std::vector< int16_t > >
       timeAcc( "subEventTime" );
-   static SG::AuxElement::Accessor< std::vector< uint16_t > >
+   static const SG::AuxElement::Accessor< std::vector< uint16_t > >
       indexAcc( "subEventIndex" );
-   static SG::AuxElement::Accessor< std::vector< ElementLink< EventInfoContainer_v1 > > >
+   static const SG::AuxElement::Accessor< std::vector< ElementLink< EventInfoContainer_v1 > > >
       linkAcc( "subEventLink" );
-   static SG::AuxElement::Accessor< std::vector< uint16_t > >
+   static const SG::AuxElement::Accessor< std::vector< uint16_t > >
       typeAcc( "subEventType" );
 
+   std::vector< EventInfo_v1::SubEvent >
+   EventInfo_v1::makeSubEvents() const
+   {
+     std::vector< SubEvent > subEvents;
+
+     // Check if any of the information is available:
+     if( ( ! timeAcc.isAvailable( *this ) ) &&
+         ( ! indexAcc.isAvailable( *this ) ) &&
+         ( ! linkAcc.isAvailable( *this ) ) &&
+         ( ! typeAcc.isAvailable( *this ) ) )
+     {
+       // If not, return right away:
+       return subEvents;
+     }
+     // A little sanity check:
+     size_t size = 0;
+     if( timeAcc.isAvailable( *this ) ) {
+       size = timeAcc( *this ).size();
+     } else if( indexAcc.isAvailable( *this ) ) {
+       size = indexAcc( *this ).size();
+     } else if( linkAcc.isAvailable( *this ) ) {
+       size = linkAcc( *this ).size();
+     } else if( typeAcc.isAvailable( *this ) ) {
+       size = typeAcc( *this ).size();
+     } else {
+       std::cerr << "xAOD::EventInfo_v1 ERROR Logic error in subEvents()"
+                 << std::endl;
+       return subEvents;
+     }
+     if( ( timeAcc.isAvailable( *this ) &&
+           ( size != timeAcc( *this ).size() ) ) ||
+         ( indexAcc.isAvailable( *this ) &&
+           ( size != indexAcc( *this ).size() ) ) ||
+         ( linkAcc.isAvailable( *this ) &&
+           ( size != linkAcc( *this ).size() ) ) ||
+         ( typeAcc.isAvailable( *this ) &&
+           ( size != typeAcc( *this ).size() ) ) ) {
+       std::cerr << "xAOD::EventInfo_v1 ERROR Data corruption found in "
+                 << "the sub-event information" << std::endl;
+       std::cerr << "subEventTime  = "
+                 << ( timeAcc.isAvailable( *this ) ? timeAcc( *this ) :
+                      std::vector< int16_t >() ) << std::endl;
+       std::cerr << "subEventIndex  = "
+                 << ( indexAcc.isAvailable( *this ) ? indexAcc( *this ) :
+                      std::vector< uint16_t >() ) << std::endl;
+       std::cerr << "subEventLink = "
+                 << ( linkAcc.isAvailable( *this ) ? linkAcc( *this ) :
+                      std::vector< ElementLink< EventInfoContainer_v1 > >() )
+                 << std::endl;
+       std::cerr << "subEventType  = "
+                 << ( typeAcc.isAvailable( *this ) ? typeAcc( *this ) :
+                      std::vector< uint16_t >() ) << std::endl;
+       return subEvents;
+     }
+     // Fill up the cache:
+     for( size_t i = 0; i < size; ++i ) {
+       const int16_t time =
+         timeAcc.isAvailable( *this ) ? timeAcc( *this )[ i ] : 0;
+       const uint16_t index =
+         indexAcc.isAvailable( *this ) ? indexAcc( *this )[ i ] : 0;
+       const ElementLink< EventInfoContainer_v1 > link =
+         linkAcc.isAvailable( *this ) ? linkAcc( *this )[ i ] :
+         ElementLink< EventInfoContainer_v1 >();
+       const PileUpType type =
+         ( typeAcc.isAvailable( *this ) ?
+           static_cast< PileUpType >( typeAcc( *this )[ i ] ) :
+           Unknown );
+       subEvents.emplace_back( time, index, type, link );
+     }
+
+     return subEvents;
+   }
+
    const std::vector< EventInfo_v1::SubEvent >&
    EventInfo_v1::subEvents() const {
 
       // Cache the new information if necessary:
-      if( m_updateSubEvents ) {
-         // The cache will be up to date after this:
-         m_updateSubEvents = false;
-         // Clear the current cache:
-         m_subEvents.clear();
-         // Check if any of the information is available:
-         if( ( ! timeAcc.isAvailable( *this ) ) &&
-             ( ! indexAcc.isAvailable( *this ) ) &&
-             ( ! linkAcc.isAvailable( *this ) ) &&
-             ( ! typeAcc.isAvailable( *this ) ) ) {
-            // If not, return right away:
-            return m_subEvents;
-         }
-         // A little sanity check:
-         size_t size = 0;
-         if( timeAcc.isAvailable( *this ) ) {
-            size = timeAcc( *this ).size();
-         } else if( indexAcc.isAvailable( *this ) ) {
-            size = indexAcc( *this ).size();
-         } else if( linkAcc.isAvailable( *this ) ) {
-            size = linkAcc( *this ).size();
-         } else if( typeAcc.isAvailable( *this ) ) {
-            size = typeAcc( *this ).size();
-         } else {
-            std::cerr << "xAOD::EventInfo_v1 ERROR Logic error in subEvents()"
-                      << std::endl;
-            return m_subEvents;
-         }
-         if( ( timeAcc.isAvailable( *this ) &&
-               ( size != timeAcc( *this ).size() ) ) ||
-             ( indexAcc.isAvailable( *this ) &&
-               ( size != indexAcc( *this ).size() ) ) ||
-             ( linkAcc.isAvailable( *this ) &&
-               ( size != linkAcc( *this ).size() ) ) ||
-             ( typeAcc.isAvailable( *this ) &&
-               ( size != typeAcc( *this ).size() ) ) ) {
-            std::cerr << "xAOD::EventInfo_v1 ERROR Data corruption found in "
-                      << "the sub-event information" << std::endl;
-            std::cerr << "subEventTime  = "
-                      << ( timeAcc.isAvailable( *this ) ? timeAcc( *this ) :
-                           std::vector< int16_t >() ) << std::endl;
-            std::cerr << "subEventIndex  = "
-                      << ( indexAcc.isAvailable( *this ) ? indexAcc( *this ) :
-                           std::vector< uint16_t >() ) << std::endl;
-            std::cerr << "subEventLink = "
-                      << ( linkAcc.isAvailable( *this ) ? linkAcc( *this ) :
-                           std::vector< ElementLink< EventInfoContainer_v1 > >() )
-                      << std::endl;
-            std::cerr << "subEventType  = "
-                      << ( typeAcc.isAvailable( *this ) ? typeAcc( *this ) :
-                           std::vector< uint16_t >() ) << std::endl;
-            return m_subEvents;
-         }
-         // Fill up the cache:
-         for( size_t i = 0; i < size; ++i ) {
-            const int16_t time =
-               timeAcc.isAvailable( *this ) ? timeAcc( *this )[ i ] : 0;
-            const uint16_t index =
-               indexAcc.isAvailable( *this ) ? indexAcc( *this )[ i ] : 0;
-            const ElementLink< EventInfoContainer_v1 > link =
-               linkAcc.isAvailable( *this ) ? linkAcc( *this )[ i ] :
-               ElementLink< EventInfoContainer_v1 >();
-            const PileUpType type =
-               ( typeAcc.isAvailable( *this ) ?
-                 static_cast< PileUpType >( typeAcc( *this )[ i ] ) :
-                 Unknown );
-            m_subEvents.push_back( SubEvent( time, index, type, link ) );
-         }
+      if( !m_subEvents.isValid() ) {
+        m_subEvents.set (makeSubEvents());
       }
 
       // Return the cached vector:
-      return m_subEvents;
+      return *m_subEvents.ptr();
    }
 
    void EventInfo_v1::setSubEvents( const std::vector< SubEvent >& value ) {
 
       // Update the cached information:
-      m_subEvents = value;
+      m_subEvents.store (value);
 
       // Clear the persistent information:
       timeAcc( *this ).clear(); indexAcc( *this ).clear();
@@ -522,9 +531,6 @@ namespace xAOD {
          linkAcc( *this ).push_back( itr->link() );
       }
 
-      // The cache is now up to date:
-      m_updateSubEvents = false;
-
       return;
    }
 
@@ -535,7 +541,9 @@ namespace xAOD {
       subEvents();
 
       // Now, add the new sub-event:
-      m_subEvents.push_back( subEvent );
+      std::vector<SubEvent> subEvents = *m_subEvents.ptr();
+      subEvents.push_back( subEvent );
+      m_subEvents.store (std::move (subEvents));
       timeAcc( *this ).push_back( subEvent.time() );
       indexAcc( *this ).push_back( subEvent.index() );
       typeAcc( *this ).push_back( static_cast< uint16_t >( subEvent.type() ) );
@@ -547,13 +555,11 @@ namespace xAOD {
    void EventInfo_v1::clearSubEvents() {
 
       // Clear both the transient and persistent variables:
-      m_subEvents.clear();
+      m_subEvents.store (std::vector<SubEvent>());
+      m_subEvents.reset();
       timeAcc( *this ).clear(); indexAcc( *this ).clear();
       typeAcc( *this ).clear(); linkAcc( *this ).clear();
 
-      // Things are definitely in sync right now:
-      m_updateSubEvents = false;
-
       return;
    }
 
@@ -775,9 +781,9 @@ namespace xAOD {
    void EventInfo_v1::setBeamPos( float x, float y, float z ) {
 
       // The accessor objects:
-      static Accessor< float > accX( "beamPosX" );
-      static Accessor< float > accY( "beamPosY" );
-      static Accessor< float > accZ( "beamPosZ" );
+      static const Accessor< float > accX( "beamPosX" );
+      static const Accessor< float > accY( "beamPosY" );
+      static const Accessor< float > accZ( "beamPosZ" );
 
       // Set the variables:
       accX( *this ) = x;
@@ -794,9 +800,9 @@ namespace xAOD {
    void EventInfo_v1::setBeamPosSigma( float x, float y, float z ) {
 
       // The accessor objects:
-      static Accessor< float > accX( "beamPosSigmaX" );
-      static Accessor< float > accY( "beamPosSigmaY" );
-      static Accessor< float > accZ( "beamPosSigmaZ" );
+      static const Accessor< float > accX( "beamPosSigmaX" );
+      static const Accessor< float > accY( "beamPosSigmaY" );
+      static const Accessor< float > accZ( "beamPosSigmaZ" );
 
       // Set the variables:
       accX( *this ) = x;
@@ -855,8 +861,8 @@ namespace xAOD {
    ///
    void EventInfo_v1::toTransient() {
 
-      m_updateStreamTags = true;
-      m_updateSubEvents = true;
+      m_streamTags.reset();
+      m_subEvents.reset();
       m_evtStore = 0;
 
       if( usingStandaloneStore() ) {
diff --git a/Event/xAOD/xAODEventInfo/test/ut_xaodeventinfo_evtstore_test.cxx b/Event/xAOD/xAODEventInfo/test/ut_xaodeventinfo_evtstore_test.cxx
index 0c1b9419d7ff..7695803a6a05 100644
--- a/Event/xAOD/xAODEventInfo/test/ut_xaodeventinfo_evtstore_test.cxx
+++ b/Event/xAOD/xAODEventInfo/test/ut_xaodeventinfo_evtstore_test.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // $Id: ut_xaodeventinfo_evtstore_test.cxx 727083 2016-03-01 15:20:50Z krasznaa $
@@ -7,6 +7,7 @@
 // System include(s):
 #include <memory>
 #include <iostream>
+#include <unistd.h>
 
 // ROOT include(s):
 #include <TFile.h>
@@ -162,7 +163,7 @@ int main() {
 
    // Close and delete the file:
    ifile->Close();
-   SIMPLE_ASSERT( gSystem->Unlink( "eiTest.root" ) == 0 );
+   SIMPLE_ASSERT( unlink( "eiTest.root" ) == 0 );
 
    // Return gracefully:
    return 0;
diff --git a/Event/xAOD/xAODEventInfo/xAODEventInfo/ATLAS_CHECK_THREAD_SAFETY b/Event/xAOD/xAODEventInfo/xAODEventInfo/ATLAS_CHECK_THREAD_SAFETY
new file mode 100644
index 000000000000..15feeb732f84
--- /dev/null
+++ b/Event/xAOD/xAODEventInfo/xAODEventInfo/ATLAS_CHECK_THREAD_SAFETY
@@ -0,0 +1 @@
+Event/xAOD/xAODEventInfo
diff --git a/Event/xAOD/xAODEventInfo/xAODEventInfo/versions/EventInfo_v1.h b/Event/xAOD/xAODEventInfo/xAODEventInfo/versions/EventInfo_v1.h
index 4ccede2cf6da..03485d7f53e1 100644
--- a/Event/xAOD/xAODEventInfo/xAODEventInfo/versions/EventInfo_v1.h
+++ b/Event/xAOD/xAODEventInfo/xAODEventInfo/versions/EventInfo_v1.h
@@ -1,7 +1,7 @@
 // Dear emacs, this is -*- c++ -*-
 
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // $Id: EventInfo_v1.h 727083 2016-03-01 15:20:50Z krasznaa $
@@ -21,6 +21,8 @@ extern "C" {
 #include "AthContainers/AuxElement.h"
 #include "AthContainers/DataVector.h"
 #include "AthLinks/ElementLink.h"
+#include "CxxUtils/CachedValue.h"
+#include "CxxUtils/checker_macros.h"
 
 // Forward declaration(s):
 class StoreGateSvc;
@@ -460,7 +462,7 @@ namespace xAOD {
 
 #if not defined(__GCCXML__) and not defined(__ROOTCLING__)
       /// Get the pointer to the event store associated with this event
-      StoreGateSvc* evtStore() const;
+      StoreGateSvc* evtStore ATLAS_NOT_CONST_THREAD_SAFE () const;
       /// Set the pointer to the event store associated with this event
       void setEvtStore( StoreGateSvc* svc );
 #endif // not genreflex or rootcint/rootcling
@@ -473,14 +475,12 @@ namespace xAOD {
       void toTransient();
 
    private:
+      std::vector< EventInfo_v1::SubEvent > makeSubEvents() const;
+
       /// Cached stream tag objects
-      mutable std::vector< StreamTag > m_streamTags;
-      /// Flag for updating the cached stream tags if necessary
-      mutable bool m_updateStreamTags;
+      CxxUtils::CachedValue<std::vector< StreamTag > > m_streamTags;
       /// Cached sub-event objects
-      mutable std::vector< SubEvent > m_subEvents;
-      /// Flag for updating the cached sub-events if necessary
-      mutable bool m_updateSubEvents;
+      CxxUtils::CachedValue<std::vector< SubEvent>  > m_subEvents;
 
 #ifndef __GCCXML__
       /// Transient pointer to the StoreGateSvc instance associated with the
-- 
GitLab


From 7f1ec86ff07f138e32ab4a138d69ff3cd9b56099 Mon Sep 17 00:00:00 2001
From: scott snyder <snyder@bnl.gov>
Date: Thu, 24 Jan 2019 19:52:48 +0100
Subject: [PATCH 106/192] TileRecUtils: Make TileCellBuilder const-compatible.

Rework TileCellBuilder so that the process() method can be made const.

Working to make calo system reconstruction reentrant.
---
 .../TileRecUtils/TileCellBuilder.h            | 196 ++++++------
 .../share/TileCellBuilder_test.ref            | 137 ++++----
 .../TileRecUtils/src/TileCellBuilder.cxx      | 302 ++++++++++--------
 3 files changed, 330 insertions(+), 305 deletions(-)

diff --git a/TileCalorimeter/TileRecUtils/TileRecUtils/TileCellBuilder.h b/TileCalorimeter/TileRecUtils/TileRecUtils/TileCellBuilder.h
index 06b97d359411..f029d4832686 100644
--- a/TileCalorimeter/TileRecUtils/TileRecUtils/TileCellBuilder.h
+++ b/TileCalorimeter/TileRecUtils/TileRecUtils/TileCellBuilder.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef TILERECUTILS_TILECELLBUILDER_H
@@ -77,12 +77,12 @@ class TileDQstatus;
  */
 class TileDrawerEvtStatus {
   public:
-    int nChannels;
-    int nMaskedChannels;
-    int nBadQuality;
-    int nOverflow;
-    int nUnderflow;
-    int nSomeSignal;
+    int nChannels = 0;
+    int nMaskedChannels = 0;
+    int nBadQuality = 0;
+    int nOverflow = 0;
+    int nUnderflow = 0;
+    int nSomeSignal = 0;
 };
 
 /**
@@ -102,48 +102,33 @@ class TileDrawerRunStatus {
  @brief This class creates Cells from RawChannels and stores them in a container
  
  */
-class TileCellBuilder: public AthAlgTool, virtual public ICaloCellMakerTool {
-    friend class DoubleVectorIterator;
+class TileCellBuilder
+  : public extends<AthAlgTool, ICaloCellMakerTool>
+{
   public:
     TileCellBuilder(const std::string& type, const std::string& name, const IInterface* parent); //!< Contructor
 
     virtual ~TileCellBuilder(); //!< Destructor
 
-    virtual StatusCode initialize();                     //!< initialize mehtod
+    virtual StatusCode initialize() override;
 
-    void reset(bool fullSizeCont, bool printReset = true); //!< Method to reset the options of the TileCellContainer
-
-    /**
-     This method sets the type and unit for the TileRAwChannels. It
-     might be called from TileROD_Decoder
-     otherwise it isn't needed - type and unit are available from 
-     TileRawChannelContainer itself (see TileCellBuilder::process() below)
-     */
-    void set_type_and_unit(TileFragHash::TYPE type = TileFragHash::Default
-        , TileRawChannelUnit::UNIT unit = TileRawChannelUnit::ADCcounts);
-
-    virtual StatusCode finalize(); //!< finalize method
+    virtual StatusCode finalize() override;
 
-    virtual StatusCode process(CaloCellContainer* theCellContainer); // method to process all raw channels and store them in container
+    /// method to process all raw channels and store them in container
+    virtual StatusCode process(CaloCellContainer* theCellContainer) override;
 
-    template<class ITERATOR, class COLLECTION>
-    void build(const EventContext& ctx,
-               const ITERATOR & begin, const ITERATOR & end, COLLECTION * coll); //!< method to process raw channels from a given vector and store them in collection
-
-    /** method to check if channels are good or bad. Puts zero if both channels are bad
-     or recovers from single-channel failure. It returns true if cell was changed, false otherwise
-     */
-    bool maskBadChannel(TileCell* pCell, HWIdentifier hwid);
-    bool maskBadChannels(TileCell* pCell);
+    void reset(bool fullSizeCont, bool printReset = true); //!< Method to reset the options of the TileCellContainer
 
     //AlgTool InterfaceID
     static const InterfaceID& interfaceID();
-    //static const InterfaceID& interfaceID() { return ICaloCellMakerTool; };
 
-  protected:
+private:
     // FIXME: Get rid of this abomination.
     friend class TileHid2RESrcID;
 
+    /// status of every drawer
+    typedef TileDrawerEvtStatus TileDrawerEvtStatusArray[5][64];
+
     // properties
     SG::ReadHandleKey<TileRawChannelContainer> m_rawChannelContainerKey{this, "TileRawChannelContainer", 
                                                                         "TileRawChannelCnt", 
@@ -153,8 +138,11 @@ class TileCellBuilder: public AthAlgTool, virtual public ICaloCellMakerTool {
                                                                            "TileRawChannelCnt", 
                                                                            "Input Tile DSP raw channel container key"};
 
-    SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey{this, "EventInfo",
-                                                      "EventInfo", "Input Event info key"};
+    SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey{this, "EventInfo", 
+                                                      "EventInfo", 
+                                                      "EventInfo key"};
+
+
 
     SG::ReadHandleKey<TileDQstatus> m_DQstatusKey{this, "TileDQstatus", 
                                                   "TileDQstatus", 
@@ -205,7 +193,6 @@ class TileCellBuilder: public AthAlgTool, virtual public ICaloCellMakerTool {
     const TileTBID* m_tileTBID; //!< Pointer to TileTBID
     const TileHWID* m_tileHWID; //!< Pointer to TileHWID
     const TileCablingService* m_cabling; //!< TileCabling instance
-    const TileDQstatus* m_DQstatus;
 
     ToolHandle<ITileBadChanTool> m_tileBadChanTool{this,
         "TileBadChanTool", "TileBadChanTool", "Tile bad channel tool"};
@@ -224,63 +211,104 @@ class TileCellBuilder: public AthAlgTool, virtual public ICaloCellMakerTool {
     const TileDetDescrManager* m_tileMgr; //!< Pointer to TileDetDescrManager
     const MbtsDetDescrManager* m_mbtsMgr; //!< Pointer to MbtsDetDescrManager
 
-    std::vector<TileCell*> m_allCells;  //!< vector to of pointers to TielCells
-    std::unique_ptr<TileCellContainer> m_MBTSCells;     //!< Pointer to MBTS cell container
-    std::unique_ptr<TileCellContainer> m_E4prCells;     //!< Pointer to E4'  cell container
-
-    TileFragHash::TYPE m_RChType;        //!< Type of TileRawChannels (Fit, OF2, etc.)
-    TileRawChannelUnit::UNIT m_RChUnit;  //!< Unit for TileRawChannels (ADC, pCb, etc.)
     //unsigned int m_bsflags;              //!< other flags stored in TileRawChannelContainer
-    float m_maxTimeCorr;                 //!< max possible time when time correction is applied
 
-    TileDrawerEvtStatus m_drawerEvtStatus[5][64]; //!< status of every drawer in every event
-    TileDrawerRunStatus m_drawerRunStatus[5][64]; //!< overall status of drawer in whole run
-    int m_eventErrorCounter[4]; //!< number of events with no errors(0), warnings(1), error(2), total(3)
+    // These were accumulated, but never actually used.
+    // They also spoil reentrancy, so leave them commented-out for now.
+    // If this information is needed in the future, these can be changed
+    // to use atomics.
+    //TileDrawerRunStatus m_drawerRunStatus[5][64]; //!< overall status of drawer in whole run
+    //int m_eventErrorCounter[4]; //!< number of events with no errors(0), warnings(1), error(2), total(3)
 
     std::vector<CaloAffectedRegionInfo> m_affectedRegionInfo_global;
     std::vector<CaloAffectedRegionInfo> m_affectedRegionInfo_current_run;
 
+   
+    struct VecParams
+    {
+      // Type of TileRawChannels (Fit, OF2, etc.)
+      TileFragHash::TYPE m_RChType;      
+ 
+      // Unit for TileRawChannels (ADC, pCb, etc.)
+      TileRawChannelUnit::UNIT m_RChUnit;
+
+      // max possible time when time correction is applied
+      float m_maxTimeCorr = 75.0;
+
+      // If true, amplitude is corrected by parabolic function (needed for OF without iterations)
+      bool m_correctAmplitude; 
+
+      // should time be corrected (deltat added from CondDB)
+      bool m_correctTime;          
+
+      // If true, assume OF2 method for amplitude correction, otherwise - OF1
+      bool m_of2;
+    };
+ 
+    /// < method to process raw channels from a given vector and store them in collection
+    template<class ITERATOR, class COLLECTION>
+    void build (const EventContext& ctx,
+                TileDrawerEvtStatusArray& drawerEvtStatus,
+                VecParams& params,
+                const ITERATOR & begin,
+                const ITERATOR & end,
+                COLLECTION* coll,
+                TileCellContainer* MBTSCells,
+                TileCellContainer* E4prCells) const;
+
+    /** method to check if channels are good or bad. Puts zero if both channels are bad
+     or recovers from single-channel failure. It returns true if cell was changed, false otherwise
+     */
+    bool maskBadChannel (TileDrawerEvtStatusArray& drawerEvtStatus,
+                         const TileDQstatus* DQstatus,
+                         TileCell* pCell, HWIdentifier hwid) const;
+    bool maskBadChannels (TileDrawerEvtStatusArray& drawerEvtStatus,
+                          const TileDQstatus* DQstatus,
+                          TileCell* pCell) const;
+
     void correctCell(TileCell* pCell, int correction, int pmt, int gain, float ener, float time,
-        unsigned char iqual, unsigned char qbit, int ch_type); //!< Compute calibrated energy, time, etc. for TileCell and adjust it.
+        unsigned char iqual, unsigned char qbit, int ch_type) const; //!< Compute calibrated energy, time, etc. for TileCell and adjust it.
 
-    unsigned char iquality(float qual)  {//!< method to compute the cell quality
+    unsigned char iquality(float qual) const {//!< method to compute the cell quality
          return std::min(255, abs((int) qual));
     } // keep quality within 8 bits make it "unsigned char"
 
-    unsigned char qbits(int ros, int drawer, bool count_over, bool good_time, bool good_ener,
-        bool overflow, bool underflow, bool good_overflowfit); //!< method to compute the cell quality bits
+
+    /// method to compute the cell quality bits
+    unsigned char qbits (TileDrawerEvtStatusArray& drawerEvtStatus,
+                         TileFragHash::TYPE RChType,
+                         int ros, int drawer,
+                         bool count_over, bool good_time, bool good_ener,
+                         bool overflow, bool underflow,
+                         bool good_overflowfit) const;
 
     bool isChanDCSgood (int ros, int drawer, int channel) const;
 
     template<typename T, typename V>
     class DoubleVectorIterator {
+        VecParams& m_params;
         T* m_first;
-        TileFragHash::TYPE m_typ1;
-        TileRawChannelUnit::UNIT m_uni1;
-        float m_cut1;
-        bool m_amp1;
-        bool m_tim1;
-        bool m_of21;
+        const VecParams& m_params1;
         T* m_second;
-        TileFragHash::TYPE m_typ2;
-        TileRawChannelUnit::UNIT m_uni2;
-        float m_cut2;
-        bool m_amp2;
-        bool m_tim2;
-        bool m_of22;
-        TileCellBuilder* m_ptr;
+        const VecParams& m_params2;
         int m_pos;
         typedef typename T::iterator itr_type;
         itr_type m_itr;
 
       public:
 
-        DoubleVectorIterator(T* f, TileFragHash::TYPE y1, TileRawChannelUnit::UNIT u1, float c1, bool a1, bool t1, bool o1
-                           , T* s, TileFragHash::TYPE y2, TileRawChannelUnit::UNIT u2, float c2, bool a2, bool t2, bool o2
-                           , TileCellBuilder* b, int p)
-            : m_first(f), m_typ1(y1), m_uni1(u1), m_cut1(c1), m_amp1(a1), m_tim1(t1), m_of21(o1)
-            , m_second(s), m_typ2(y2), m_uni2(u2), m_cut2(c2), m_amp2(a2), m_tim2(t2), m_of22(o2)
-            , m_ptr(b), m_pos(p) {
+        DoubleVectorIterator(VecParams& params,
+                             T* f,
+                             const VecParams& params1,
+                             T* s,
+                             const VecParams& params2,
+                             int p)
+          : m_params(params),
+            m_first(f),
+              m_params1(params1),
+              m_second(s),
+              m_params2(params2),
+              m_pos(p) {
 
           if (m_first->begin() != m_first->end() && m_pos < 1) {
             m_pos = 0;
@@ -289,12 +317,7 @@ class TileCellBuilder: public AthAlgTool, virtual public ICaloCellMakerTool {
             m_pos = 1;
             m_itr = m_second->begin();
             // set parameters for second vector
-            m_ptr->m_RChType = m_typ2;
-            m_ptr->m_RChUnit = m_uni2;
-            m_ptr->m_maxTimeCorr = m_cut2;
-            m_ptr->m_correctAmplitude = m_amp2;
-            m_ptr->m_correctTime = m_tim2;
-            m_ptr->m_of2 = m_of22;
+            m_params = m_params2;
           } else {
             m_pos = 2;
             m_itr = m_second->end();
@@ -321,33 +344,18 @@ class TileCellBuilder: public AthAlgTool, virtual public ICaloCellMakerTool {
               m_itr = m_second->begin();
               m_pos = 1;
               // set parameters for second vector
-              m_ptr->m_RChType = m_typ2;
-              m_ptr->m_RChUnit = m_uni2;
-              m_ptr->m_maxTimeCorr = m_cut2;
-              m_ptr->m_correctAmplitude = m_amp2;
-              m_ptr->m_correctTime = m_tim2;
-              m_ptr->m_of2 = m_of22;
+              m_params = m_params2;
               if (m_itr != m_second->end()) break;
               m_pos = 2;
               // recover parameters for first vector
-              m_ptr->m_RChType = m_typ1;
-              m_ptr->m_RChUnit = m_uni1;
-              m_ptr->m_maxTimeCorr = m_cut1;
-              m_ptr->m_correctAmplitude = m_amp1;
-              m_ptr->m_correctTime = m_tim1;
-              m_ptr->m_of2 = m_of21;
+              m_params = m_params1;
               break;
             case 1:
               if (m_itr != m_second->end()) ++m_itr;
               if (m_itr != m_second->end()) break;
               m_pos = 2;
               // recover parameters for first vector
-              m_ptr->m_RChType = m_typ1;
-              m_ptr->m_RChUnit = m_uni1;
-              m_ptr->m_maxTimeCorr = m_cut1;
-              m_ptr->m_correctAmplitude = m_amp1;
-              m_ptr->m_correctTime = m_tim1;
-              m_ptr->m_of2 = m_of21;
+              m_params = m_params1;
               break;
             default:
               break;
diff --git a/TileCalorimeter/TileRecUtils/share/TileCellBuilder_test.ref b/TileCalorimeter/TileRecUtils/share/TileCellBuilder_test.ref
index 7d40749d01d5..60fbec87eb51 100644
--- a/TileCalorimeter/TileRecUtils/share/TileCellBuilder_test.ref
+++ b/TileCalorimeter/TileRecUtils/share/TileCellBuilder_test.ref
@@ -1,16 +1,15 @@
-Thu Jan  3 16:18:39 CET 2019
-Preloading tcmalloc_minimal.so
+Thu Jan 10 12:55:28 EST 2019
 Py:Athena            INFO including file "AthenaCommon/Preparation.py"
-Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-opt] [atlas-work3g/be87ec46e65] -- built on [2019-01-03T1609]
+Py:Athena            INFO using release [?-21.0.0] [i686-slc5-gcc43-dbg] [?/?] -- built on [?]
 Py:Athena            INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
 Py:Athena            INFO executing ROOT6Setup
 Py:Athena            INFO including file "AthenaCommon/Execution.py"
 Py:Athena            INFO including file "TileRecUtils/TileCellBuilder_test.py"
-[?1034hSetGeometryVersion.py obtained major release version 22
+SetGeometryVersion.py obtained major release version 21
 Py:Athena            INFO including file "IdDictDetDescrCnv/IdDictDetDescrCnv_joboptions.py"
-Py:ConfigurableDb    INFO Read module info for 5435 configurables from 6 genConfDb files
+Py:ConfigurableDb    INFO Read module info for 3089 configurables from 2 genConfDb files
 Py:ConfigurableDb    INFO No duplicates have been found: that's good !
-EventInfoMgtInit: Got release version  Athena-22.0.1
+EventInfoMgtInit: Got release version  sss-rel_0
 Py:IOVDbSvc.CondDB    INFO Setting up conditions DB access to instance OFLP200
 Py:Athena            INFO including file "TileConditions/TileConditions_jobOptions.py"
 Py:TileInfoConf.     INFO Adding TileCablingSvc to ServiceMgr
@@ -23,12 +22,13 @@ Py:TileInfoConf.     INFO Changing default TileCondToolNoiseSample configuration
 Py:TileInfoConf.     INFO Changing default TileCondToolTiming configuration to COOL source
 Py:TileConditions_jobOptions.py    INFO Adjusting TileInfo to return cell noise for Opt.Filter without iterations
 Py:Athena            INFO including file "AthenaCommon/runbatch.py"
+# setting LC_ALL to "C"
 ApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0
 ApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0
 ApplicationMgr    SUCCESS 
 ====================================================================================================================================
-                                                   Welcome to ApplicationMgr (GaudiCoreSvc v30r5)
-                                          running on lxplus064.cern.ch on Thu Jan  3 16:18:56 2019
+                                                   Welcome to ApplicationMgr (GaudiCoreSvc v27r1p99)
+                                          running on karma on Thu Jan 10 12:55:33 2019
 ====================================================================================================================================
 ApplicationMgr       INFO Successfully loaded modules : AthenaServices
 ApplicationMgr       INFO Application Manager Configured successfully
@@ -36,7 +36,7 @@ ApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to leve
 StatusCodeSvc        INFO initialize
 AthDictLoaderSvc     INFO in initialize...
 AthDictLoaderSvc     INFO acquired Dso-registry
-ClassIDSvc           INFO  getRegistryEntries: read 6912 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 7303 CLIDRegistry entries for module ALL
 CoreDumpSvc          INFO install f-a-t-a-l handler... (flag = -1)
 CoreDumpSvc          INFO Handling signals: 11(Segmentation fault) 7(Bus error) 4(Illegal instruction) 8(Floating point exception) 
 MetaDataSvc          INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00
@@ -44,21 +44,20 @@ AthenaPoolCnvSvc     INFO Initializing AthenaPoolCnvSvc - package version Athena
 PoolSvc              INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.xml) [ok]
 PoolSvc              INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
 PoolSvc              INFO Frontier compression level set to 5
-DBReplicaSvc         INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data
-DBReplicaSvc         INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-02T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config
-DBReplicaSvc         INFO Total of 10 servers found for host lxplus064.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
+DBReplicaSvc         INFO Read replica configuration from /home/sss/atlas/rootaccess/build/share/dbreplica.config
+DBReplicaSvc         INFO No specific match for domain found - use default fallback
+DBReplicaSvc         INFO Total of 1 servers found for host karma [atlas_dd ]
 PoolSvc              INFO Successfully setup replica sorting algorithm
 PoolSvc              INFO Setting up APR FileCatalog and Streams
-PoolSvc           WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables
-PoolSvc           WARNING Unable to locate catalog for apcfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables
-PoolSvc              INFO Resolved path (via ATLAS_POOLCOND_PATH) is /cvmfs/atlas-condb.cern.ch/repo/conditions/poolcond/PoolFileCatalog.xml
+PoolSvc              INFO Resolved path (via DATAPATH) is /home/sss/atlas/DBRelease/current/poolcond/PoolCat_oflcond.xml
+PoolSvc              INFO Resolved path (via DATAPATH) is /home/sss/atlas/DBRelease/current/poolcond/PoolCat_oflcond.xml
+PoolSvc           WARNING Unable to locate catalog for apcfile:poolcond/PoolFileCatalog.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables
 PoolSvc              INFO POOL WriteCatalog is xmlcatalog_file:PoolFileCatalog.xml
 DbSession            INFO     Open     DbSession    
 Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
 MetaDataSvc          INFO Found MetaDataTools = PublicToolHandleArray([])
 IOVDbSvc             INFO Opened read transaction for POOL PersistencySvc
 IOVDbSvc             INFO Only 5 POOL conditions files will be open at once
-IOVDbSvc             INFO Cache alignment will be done in 3 slices
 IOVDbSvc             INFO Global tag: OFLCOND-RUN12-SDR-35 set from joboptions
 IOVDbFolder          INFO Read from meta data only for folder /TagInfo
 IOVDbSvc             INFO Initialised with 3 connections and 14 folders
@@ -83,7 +82,7 @@ IOVDbSvc             INFO Added taginfo remove for /TILE/OFL02/STATUS/ADC
 IOVDbSvc             INFO Added taginfo remove for /TILE/OFL02/TIME/CHANNELOFFSET/PHY
 IOVDbSvc             INFO Added taginfo remove for /TILE/ONL01/STATUS/ADC
 IOVDbSvc             INFO Added taginfo remove for /LAR/LArCellPositionShift
-ClassIDSvc           INFO  getRegistryEntries: read 1871 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 1590 CLIDRegistry entries for module ALL
 ClassIDSvc           INFO  getRegistryEntries: read 17 CLIDRegistry entries for module ALL
 DetDescrCnvSvc       INFO  initializing 
 DetDescrCnvSvc       INFO Found DetectorStore service
@@ -137,7 +136,7 @@ BarrelConstruction   INFO   Use sagging in geometry  ? 0
   multi-layered version of absorbers activated, mlabs == 1
 ================================================
 EventPersistenc...   INFO Added successfully Conversion service:DetDescrCnvSvc
-ClassIDSvc           INFO  getRegistryEntries: read 2398 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 2389 CLIDRegistry entries for module ALL
 CaloIDHelper_ID...   INFO in createObj: creating a TileTBID helper object in the detector store
 IdDictDetDescrCnv    INFO in initialize
 IdDictDetDescrCnv    INFO in createObj: creating a IdDictManager object in the detector store
@@ -176,7 +175,7 @@ TileDddbManager      INFO n_tileSwitches = 1
 ClassIDSvc           INFO  getRegistryEntries: read 213 CLIDRegistry entries for module ALL
 CaloIDHelper_ID...   INFO in createObj: creating a TileID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-02T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileNeighbour_reduced.txt
+TileNeighbour        INFO Reading file  /home/sss/atlas/rootaccess/build/share/TileNeighbour_reduced.txt
 TileHWIDDetDesc...   INFO in createObj: creating a TileHWID helper object in the detector store
 TileHWID             INFO initialize_from_dictionary 
 AtlasDetectorID      INFO initialize_from_dictionary - OK
@@ -188,9 +187,9 @@ CaloIDHelper_ID...   INFO in createObj: creating a LArHEC_ID helper object in th
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIDHelper_ID...   INFO in createObj: creating a LArFCAL_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-02T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal2DNeighbors-April2011.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-02T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsNext-April2011.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-02T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsPrev-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /home/sss/atlas/rootaccess/build/share/FCal2DNeighbors-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /home/sss/atlas/rootaccess/build/share/FCal3DNeighborsNext-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /home/sss/atlas/rootaccess/build/share/FCal3DNeighborsPrev-April2011.txt
 CaloIDHelper_ID...   INFO in createObj: creating a LArMiniFCAL_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 LArMiniFCAL_ID       INFO  initialize_from_dict - LArCalorimeter dictionary does NOT contain miniFCAL description. Unable to initialize LArMiniFCAL_ID.
@@ -217,11 +216,11 @@ TileInfoLoader       INFO Sampling fraction for E2 cells 1/107
 TileInfoLoader       INFO Sampling fraction for E3 cells 1/97
 TileInfoLoader       INFO Sampling fraction for E4 cells 1/75
 TileInfoLoader       INFO Sampling fraction for E4' cells 1/75
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-02T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulsehi_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-02T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulselo_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-02T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_tower_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-02T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muonRcv_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-02T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muon_physics.dat
+TileInfoLoader       INFO Reading file  /home/sss/atlas/rootaccess/build/share/pulsehi_physics.dat
+TileInfoLoader       INFO Reading file  /home/sss/atlas/rootaccess/build/share/pulselo_physics.dat
+TileInfoLoader       INFO Reading file  /home/sss/atlas/rootaccess/build/share/pulse_adder_tower_physics.dat
+TileInfoLoader       INFO Reading file  /home/sss/atlas/rootaccess/build/share/pulse_adder_muonRcv_physics.dat
+TileInfoLoader       INFO Reading file  /home/sss/atlas/rootaccess/build/share/pulse_adder_muon_physics.dat
 CaloIDHelper_ID...   INFO in createObj: creating a CaloLVL1_ID helper object in the detector store
 CaloLVL1_ID          INFO initialize_from_dictionary
 AtlasDetectorID      INFO initialize_from_dictionary - OK
@@ -276,8 +275,8 @@ TileSampleNoise...   INFO Creating TileCondProxyCool(TileSampleNoiseCondAlg.Tile
 TileTimingCondA...   INFO Creating TileCondProxyCool(TileTimingCondAlg.TileCondProxyCool_AdcOffset) for folder: "/TILE/OFL02/TIME/CHANNELOFFSET/PHY"
 tilecellbuilder...   INFO ProxyOnlBch and ProxyOflBch will be used for bad channel status
 tilecellbuilder...   INFO ProxyOnlBch and ProxyOflBch will be used for bad channel status
-ClassIDSvc           INFO  getRegistryEntries: read 504 CLIDRegistry entries for module ALL
-ClassIDSvc           INFO  getRegistryEntries: read 4846 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 1435 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 7021 CLIDRegistry entries for module ALL
 xAODMaker::Even...   INFO Initializing - Package version: xAODEventInfoCnv-00-00-00
 xAODMaker::Even...   INFO Initializing - Package version: xAODEventInfoCnv-00-00-00
 xAODMaker::Even...WARNING Beam conditions service not available
@@ -287,22 +286,19 @@ xAODMaker::Even...   INFO Will take information from the EventInfo object
 PyComponentMgr       INFO Initializing PyComponentMgr...
 prepalg1             INFO Initializing prepalg1...
 testalg1             INFO Initializing testalg1...
-ClassIDSvc           INFO  getRegistryEntries: read 389 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 314 CLIDRegistry entries for module ALL
 ToolSvc.tool1        INFO Storing MBTS cells in MBTSContainer
 ToolSvc.tool1        INFO none of thresholds set, all RawChannels will be converted to Cells
-ToolSvc.tool1        INFO size of temp vector set to 5184
 ToolSvc.tool1        INFO taking RawChannels from 'TileRawChannelCnt'
 ToolSvc.tool1        INFO Storing E4'  cells in E4prContainer
 ToolSvc.tool1        INFO TileCellBuilder initialization completed
 ToolSvc.tool2        INFO Storing MBTS cells in MBTSContainer
 ToolSvc.tool2        INFO none of thresholds set, all RawChannels will be converted to Cells
-ToolSvc.tool2        INFO size of temp vector set to 5184
 ToolSvc.tool2        INFO taking RawChannels from 'TileRawChannelCnt'
 ToolSvc.tool2        INFO Storing E4'  cells in E4prContainer
 ToolSvc.tool2        INFO TileCellBuilder initialization completed
 ToolSvc.tool5        INFO Storing MBTS cells in MBTSContainer
 ToolSvc.tool5        INFO none of thresholds set, all RawChannels will be converted to Cells
-ToolSvc.tool5        INFO size of temp vector set to 5184
 ToolSvc.tool5        INFO taking RawChannels from 'TileRawChannelCnt'
 ToolSvc.tool5        INFO Storing E4'  cells in E4prContainer
 ToolSvc.tool5        INFO TileCellBuilder initialization completed
@@ -313,39 +309,33 @@ ToolSvc.tool6        INFO max time thr  100000 ns
 ToolSvc.tool6        INFO min time thr  -100000 ns
 ToolSvc.tool6        INFO max qual thr  100000
 ToolSvc.tool6        INFO min qual thr  -100000
-ToolSvc.tool6        INFO size of temp vector set to 5184
 ToolSvc.tool6        INFO taking RawChannels from 'TileRawChannelCnt'
 ToolSvc.tool6        INFO Storing E4'  cells in E4prContainer
 ToolSvc.tool6        INFO TileCellBuilder initialization completed
 ToolSvc.tool7        INFO Storing MBTS cells in MBTSContainer
 ToolSvc.tool7        INFO none of thresholds set, all RawChannels will be converted to Cells
-ToolSvc.tool7        INFO size of temp vector set to 5184
 ToolSvc.tool7        INFO taking RawChannels from 'TileRawChannelCnt'
 ToolSvc.tool7        INFO Storing E4'  cells in E4prContainer
 ToolSvc.tool7        INFO TileCellBuilder initialization completed
 ToolSvc.tool8        INFO Storing MBTS cells in MBTSContainer
 ToolSvc.tool8.n...   INFO Initializing...
 ToolSvc.tool8        INFO none of thresholds set, all RawChannels will be converted to Cells
-ToolSvc.tool8        INFO size of temp vector set to 5184
 ToolSvc.tool8        INFO taking RawChannels from 'TileRawChannelCnt'
 ToolSvc.tool8        INFO Storing E4'  cells in E4prContainer
 ToolSvc.tool8        INFO TileCellBuilder initialization completed
 ToolSvc.tool9        INFO Storing MBTS cells in MBTSContainer
 ToolSvc.tool9        INFO none of thresholds set, all RawChannels will be converted to Cells
-ToolSvc.tool9        INFO size of temp vector set to 5184
 ToolSvc.tool9        INFO taking RawChannels from 'TileRawChannelCnt'
 ToolSvc.tool9        INFO Storing E4'  cells in E4prContainer
 ToolSvc.tool9        INFO TileCellBuilder initialization completed
 ToolSvc.tool10       INFO Storing MBTS cells in MBTSContainer
 ToolSvc.tool10       INFO none of thresholds set, all RawChannels will be converted to Cells
-ToolSvc.tool10       INFO size of temp vector set to 5184
 ToolSvc.tool10       INFO taking RawChannels from 'TileRawChannelCnt'
 ToolSvc.tool10       INFO Storing E4'  cells in E4prContainer
 ToolSvc.tool10       INFO TileCellBuilder initialization completed
 ToolSvc.tool11       INFO Storing MBTS cells in MBTSContainer
 ToolSvc.tool11....   INFO Initializing...
 ToolSvc.tool11       INFO none of thresholds set, all RawChannels will be converted to Cells
-ToolSvc.tool11       INFO size of temp vector set to 5184
 ToolSvc.tool11       INFO taking RawChannels from 'TileRawChannelCnt'
 ToolSvc.tool11       INFO Storing E4'  cells in E4prContainer
 ToolSvc.tool11       INFO TileCellBuilder initialization completed
@@ -372,8 +362,8 @@ IOVDbFolder          INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to LARAlign-IOVD
 IOVDbFolder          INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to LArCellPositionShift-ideal for folder /LAR/LArCellPositionShift
 IOVDbSvc             INFO Disconnecting from COOLOFL_LAR/OFLP200
 Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] EACFEBD4-9BD2-E211-848A-02163E006B20
-Domain[ROOT_All]     INFO                           /cvmfs/atlas-condb.cern.ch/repo/conditions/cond09/cond09_mc.000057.gen.COND/cond09_mc.000057.gen.COND._0001.pool.root
-RootDatabase.open    INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond09/cond09_mc.000057.gen.COND/cond09_mc.000057.gen.COND._0001.pool.root File version:52200
+Domain[ROOT_All]     INFO                           /home/sss/atlas/DBRelease/current/poolcond/cond09_mc.000057.gen.COND/cond09_mc.000057.gen.COND._0001.pool.root
+RootDatabase.open    INFO /home/sss/atlas/DBRelease/current/poolcond/cond09_mc.000057.gen.COND/cond09_mc.000057.gen.COND._0001.pool.root File version:52200
 CaloMgrDetDescrCnv   INFO in createObj: creating a Calo Detector Manager object in the detector store
 CaloIdMgrDetDes...   INFO in createObj: creating a CaloDescrManager object in the detector store
 ClassIDSvc           INFO  getRegistryEntries: read 193 CLIDRegistry entries for module ALL
@@ -390,18 +380,18 @@ CaloIDHelper_ID...   INFO in createObj: creating a LArHEC_SuperCell_ID helper ob
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIDHelper_ID...   INFO in createObj: creating a LArFCAL_SuperCell_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-02T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells2DNeighborsNew-April2014.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-02T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-02T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /home/sss/atlas/rootaccess/build/share/FCalSuperCells2DNeighborsNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /home/sss/atlas/rootaccess/build/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /home/sss/atlas/rootaccess/build/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
 CaloIDHelper_ID...   INFO in createObj: creating a Tile_SuperCell_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-02T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileSuperCellNeighbour.txt
+TileNeighbour        INFO Reading file  /home/sss/atlas/rootaccess/build/share/TileSuperCellNeighbour.txt
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIdMgrDetDes...   INFO  Finished 
 CaloIdMgrDetDes...   INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv 
 Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] 8667C6F2-1559-DE11-A611-000423D9A21A
-Domain[ROOT_All]     INFO                           /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root
-RootDatabase.open    INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root File version:52200
+Domain[ROOT_All]     INFO                           /home/sss/atlas/DBRelease/current/poolcond/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root
+RootDatabase.open    INFO /home/sss/atlas/DBRelease/current/poolcond/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root File version:52200
 xAODMaker::Even...WARNING Algorithm::BeginRun is deprecated. Use Start instead
 AthenaEventLoopMgr   INFO   ===>>>  start processing event #1, run #1 0 events processed so far  <<<===
 IOVDbSvc             INFO Opening COOL connection for COOLOFL_TILE/OFLP200
@@ -425,8 +415,8 @@ TileBadChannels...   INFO TileBchStatus::isNoisy() is defined by: Large HF noise
 TileBadChannels...   INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; 
 TileBadChannels...   INFO TileBchStatus::isBadTiming() is defined by: Bad timing; Online bad timing; 
 TileBadChannels...   INFO No drawer trips probabilities found in DB
-tilecellbuilder...   INFO Creating TileCondProxyFile(tilecellbuilder_bct1Cond.tilecellbuilder_bct1_onl) for ASCII file name: "/cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-02T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileNoBad.oflBch"
-tilecellbuilder...   INFO Creating TileCondProxyFile(tilecellbuilder_bct1Cond.tilecellbuilder_bct1_ofl) for ASCII file name: "/cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-02T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileNoBad.oflBch"
+tilecellbuilder...   INFO Creating TileCondProxyFile(tilecellbuilder_bct1Cond.tilecellbuilder_bct1_onl) for ASCII file name: "/home/sss/atlas/rootaccess/build/share/TileNoBad.oflBch"
+tilecellbuilder...   INFO Creating TileCondProxyFile(tilecellbuilder_bct1Cond.tilecellbuilder_bct1_ofl) for ASCII file name: "/home/sss/atlas/rootaccess/build/share/TileNoBad.oflBch"
 tilecellbuilder...   INFO No TileBchStatus::isBad() definition found in DB, using defaults
 tilecellbuilder...   INFO No TileBchStatus::isNoisy() definition found in DB, using defaults
 tilecellbuilder...   INFO No TileBchStatus::isNoGainL1() definition found in DB, using defaults
@@ -436,8 +426,8 @@ tilecellbuilder...   INFO TileBchStatus::isNoisy() is defined by: Large HF noise
 tilecellbuilder...   INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; 
 tilecellbuilder...   INFO TileBchStatus::isBadTiming() is defined by: Bad timing; Online bad timing; 
 tilecellbuilder...   INFO No drawer trips probabilities found in DB
-tilecellbuilder...   INFO Creating TileCondProxyFile(tilecellbuilder_bct2Cond.tilecellbuilder_bct2_onl) for ASCII file name: "/cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-02T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileNoBad.oflBch"
-tilecellbuilder...   INFO Creating TileCondProxyFile(tilecellbuilder_bct2Cond.tilecellbuilder_bct2_ofl) for ASCII file name: "/afs/cern.ch/work/s/ssnyder/builds/atlas-work3g/build-x86_64-slc6-gcc62-opt/TileCalorimeter/TileRecUtils/unitTestRun/tilecellbuilder_bct2.bch"
+tilecellbuilder...   INFO Creating TileCondProxyFile(tilecellbuilder_bct2Cond.tilecellbuilder_bct2_onl) for ASCII file name: "/home/sss/atlas/rootaccess/build/share/TileNoBad.oflBch"
+tilecellbuilder...   INFO Creating TileCondProxyFile(tilecellbuilder_bct2Cond.tilecellbuilder_bct2_ofl) for ASCII file name: "/home/sss/nobackup/atlas/build/../tests/tilecellbuilder_bct2.bch"
 tilecellbuilder...   INFO No TileBchStatus::isBad() definition found in DB, using defaults
 tilecellbuilder...   INFO No TileBchStatus::isNoisy() definition found in DB, using defaults
 tilecellbuilder...   INFO No TileBchStatus::isNoGainL1() definition found in DB, using defaults
@@ -447,10 +437,9 @@ tilecellbuilder...   INFO TileBchStatus::isNoisy() is defined by: Large HF noise
 tilecellbuilder...   INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; 
 tilecellbuilder...   INFO TileBchStatus::isBadTiming() is defined by: Bad timing; Online bad timing; 
 tilecellbuilder...   INFO No drawer trips probabilities found in DB
-ClassIDSvc           INFO  getRegistryEntries: read 650 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 654 CLIDRegistry entries for module ALL
 ClassIDSvc           INFO  getRegistryEntries: read 187 CLIDRegistry entries for module ALL
 ClassIDSvc           INFO  getRegistryEntries: read 8 CLIDRegistry entries for module ALL
-ClassIDSvc           INFO  getRegistryEntries: read 37 CLIDRegistry entries for module ALL
 AthenaEventLoopMgr   INFO   ===>>>  done processing event #1, run #1 1 events processed so far  <<<===
 AthenaEventLoopMgr   INFO   ===>>>  start processing event #2, run #1 1 events processed so far  <<<===
 ClassIDSvc           INFO  getRegistryEntries: read 15 CLIDRegistry entries for module ALL
@@ -477,9 +466,9 @@ AthenaEventLoopMgr   INFO   ===>>>  start processing event #12, run #1 11 events
 AthenaEventLoopMgr   INFO   ===>>>  done processing event #12, run #1 12 events processed so far  <<<===
 TileInfoLoader       INFO Handling EndRun incident
 TileInfoLoader       INFO Removed TileInfo object from detector store.
-/cvmfs/atlas-co...   INFO Database being retired...
+/home/sss/atlas...   INFO Database being retired...
 Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] EACFEBD4-9BD2-E211-848A-02163E006B20
-/cvmfs/atlas-co...   INFO Database being retired...
+/home/sss/atlas...   INFO Database being retired...
 Domain[ROOT_All]     INFO ->  Deaccess DbDatabase   READ      [ROOT_All] 8667C6F2-1559-DE11-A611-000423D9A21A
 Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
 ApplicationMgr       INFO Application Manager Stopped successfully
@@ -490,23 +479,23 @@ testalg1             INFO Finalizing testalg1...
 IncidentProcAlg2     INFO Finalize
 PyComponentMgr       INFO Finalizing PyComponentMgr...
 IdDictDetDescrCnv    INFO in finalize
-IOVDbFolder          INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/170 ((     0.18 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/103344 ((     0.16 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 ((     0.05 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 ((     0.04 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/92 ((     0.03 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/940 ((     0.04 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/72 ((     0.03 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/76 ((     0.04 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/641476 ((     0.13 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/97884 ((     0.83 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 ((     0.59 ))s
-IOVDbFolder          INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/76 ((     0.06 ))s
-IOVDbFolder          INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/195 ((     0.03 ))s
-IOVDbSvc             INFO  bytes in ((      2.21 ))s
+IOVDbFolder          INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/170 ((     0.09 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/103344 ((     0.11 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 ((     0.01 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 ((     0.01 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/92 ((     0.01 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/940 ((     0.01 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/72 ((     0.01 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/76 ((     0.01 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/641476 ((     0.01 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/97884 ((     0.01 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 ((     0.01 ))s
+IOVDbFolder          INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/76 ((     0.00 ))s
+IOVDbFolder          INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/195 ((     0.00 ))s
+IOVDbSvc             INFO  bytes in ((      0.26 ))s
 IOVDbSvc             INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: ((     0.00 ))s
-IOVDbSvc             INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     0.21 ))s
-IOVDbSvc             INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: ((     2.00 ))s
+IOVDbSvc             INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     0.09 ))s
+IOVDbSvc             INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: ((     0.17 ))s
 TileInfoLoader       INFO TileInfoLoader::finalize()
 AthDictLoaderSvc     INFO in finalize...
 ToolSvc              INFO Removing all tools created by ToolSvc
@@ -522,9 +511,9 @@ ToolSvc.tool1        INFO Finalizing
 *****Chrono*****     INFO ****************************************************************************************************
 *****Chrono*****     INFO  The Final CPU consumption ( Chrono ) Table (ordered)
 *****Chrono*****     INFO ****************************************************************************************************
-cObjR_ALL            INFO Time User   : Tot=  470 [ms] Ave/Min/Max=  235(+-  235)/    0/  470 [ms] #=  2
-cObj_ALL             INFO Time User   : Tot= 0.57  [s] Ave/Min/Max=0.0438(+-0.136)/    0/ 0.51  [s] #= 13
-ChronoStatSvc        INFO Time User   : Tot= 46.6  [s]                                             #=  1
+cObjR_ALL            INFO Time User   : Tot=  340 [ms] Ave/Min/Max=  170(+-  160)/   10/  330 [ms] #=  2
+cObj_ALL             INFO Time User   : Tot=  420 [ms] Ave/Min/Max= 32.3(+- 95.9)/    0/  360 [ms] #= 13
+ChronoStatSvc        INFO Time User   : Tot= 34.2  [s]                                             #=  1
 *****Chrono*****     INFO ****************************************************************************************************
 ChronoStatSvc.f...   INFO  Service finalized successfully 
 ApplicationMgr       INFO Application Manager Finalized successfully
diff --git a/TileCalorimeter/TileRecUtils/src/TileCellBuilder.cxx b/TileCalorimeter/TileRecUtils/src/TileCellBuilder.cxx
index ce788cf8b64d..ee8d28b9e08b 100644
--- a/TileCalorimeter/TileRecUtils/src/TileCellBuilder.cxx
+++ b/TileCalorimeter/TileRecUtils/src/TileCellBuilder.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 /*
  */
@@ -48,7 +48,7 @@ const InterfaceID& TileCellBuilder::interfaceID( ) {
 //Constructor
 TileCellBuilder::TileCellBuilder(const std::string& type, const std::string& name,
     const IInterface* parent)
-  : AthAlgTool(type, name, parent)
+  : base_class(type, name, parent)
   , m_eneForTimeCut(35. * MeV) // keep time only for cells above 70 MeV (more than 35 MeV in at least one PMT to be precise)
   , m_eneForTimeCutMBTS(0.03675) // the same cut for MBTS, but in pC, corresponds to 3 ADC counts or 35 MeV
   , m_qualityCut(254) // cut on overflow in quality (if quality is 255 - assume that channel is bad)
@@ -66,22 +66,16 @@ TileCellBuilder::TileCellBuilder(const std::string& type, const std::string& nam
   , m_tileTBID(0)
   , m_tileHWID(0)
   , m_cabling(0)
-  , m_DQstatus(0)
   , m_tileDCS("TileDCSTool")
   , m_tileMgr(0)
   , m_mbtsMgr(0)
-  , m_RChType(TileFragHash::Default)
-  , m_RChUnit(TileRawChannelUnit::ADCcounts)
-  , m_maxTimeCorr(75.0)
   , m_notUpgradeCabling(true)
   , m_run2(false)
 {
-  declareInterface<ICaloCellMakerTool>( this );
   declareInterface<TileCellBuilder>( this );
 
-  memset(m_drawerEvtStatus, 0, sizeof(m_drawerEvtStatus));
-  memset(m_drawerRunStatus, 0, sizeof(m_drawerRunStatus));
-  memset(m_eventErrorCounter, 0, sizeof(m_eventErrorCounter));
+  //memset(m_drawerRunStatus, 0, sizeof(m_drawerRunStatus));
+  //memset(m_eventErrorCounter, 0, sizeof(m_eventErrorCounter));
 
   // never set energy to zero, but set it to some small number
   // this will help TopoCluster to assign proper weight to the cell if needed
@@ -231,6 +225,7 @@ StatusCode TileCellBuilder::initialize() {
   }
 
   ATH_CHECK( m_dspRawChannelContainerKey.initialize(m_mergeChannels) );
+  ATH_CHECK( m_eventInfoKey.initialize() );
 
   ATH_MSG_INFO( "TileCellBuilder initialization completed" );
 
@@ -262,29 +257,10 @@ void TileCellBuilder::reset(bool /* fullSizeCont */, bool printReset) {
   
   // prepare empty vector for all cell pointers
   m_fullSizeCont = true;
-  m_allCells.resize(m_tileID->cell_hash_max(), 0);
   
-  m_MBTSCells = NULL;
-  m_E4prCells = NULL;
-
-  ATH_MSG_INFO( "size of temp vector set to " << m_allCells.size() );
   ATH_MSG_INFO( "taking RawChannels from '" << m_rawChannelContainerKey.key() << "'" );
 }
 
-void TileCellBuilder::set_type_and_unit(TileFragHash::TYPE type
-    , TileRawChannelUnit::UNIT unit) {
-
-  // this method might be called from TileROD_Decoder
-  // otherwise it's not needed - type and unit are available from 
-  // TileRawChannelContainer itself (see TileCellBuilder::process() below)
-
-  m_RChType = type;
-  m_RChUnit = unit;
-
-  ATH_MSG_INFO( "type of container is '" << m_RChType << "'" );
-  ATH_MSG_INFO( "RawChannel unit [0=ADC, 1=pCb, 2=CspCb, 3=MeV] are '" << m_RChUnit << "'" );
-}
-
 StatusCode TileCellBuilder::finalize() {
 
   ATH_MSG_INFO( "Finalizing" );
@@ -299,9 +275,9 @@ StatusCode TileCellBuilder::process(CaloCellContainer * theCellContainer) {
   //* Get TileRawChannels
   //**
 
-  memset(m_drawerEvtStatus, 0, sizeof(m_drawerEvtStatus));
+  TileDrawerEvtStatusArray drawerEvtStatus;
 
-  SG::ReadHandle<TileRawChannelContainer> rawChannelContainer(m_rawChannelContainerKey);
+  SG::ReadHandle<TileRawChannelContainer> rawChannelContainer(m_rawChannelContainerKey, ctx);
 
   if (!rawChannelContainer.isValid()) {
     ATH_MSG_WARNING( " Could not find container " << m_rawChannelContainerKey.key() );
@@ -311,45 +287,52 @@ StatusCode TileCellBuilder::process(CaloCellContainer * theCellContainer) {
     
     ATH_MSG_DEBUG( "Container " << m_rawChannelContainerKey.key() << " with TileRawChannels found ");
 
-    m_RChType = rawChannelContainer->get_type();
-    m_RChUnit = rawChannelContainer->get_unit();
+
+    VecParams params;
+    params.m_RChType = rawChannelContainer->get_type();
+    params.m_RChUnit = rawChannelContainer->get_unit();
+    params.m_correctAmplitude = m_correctAmplitude;
+    params.m_correctTime = m_correctTime;
+    params.m_of2 = m_of2;
     unsigned int bsflags = rawChannelContainer->get_bsflags();
-    if (m_correctAmplitude || m_correctTime) {
+    if (params.m_correctAmplitude || params.m_correctTime) {
       int DataType = (bsflags & 0x30000000) >> 28;
       if (DataType < 3) { // real data
         bool of2 = ((bsflags & 0x4000000) != 0);
-        if (of2 != m_of2) {
-          m_of2 = of2;
-          ATH_MSG_WARNING( "OF2 flag in data is " << ((m_of2)?"True":"False"));
+        if (of2 != params.m_of2) {
+          params.m_of2 = of2;
+          ATH_MSG_WARNING( "OF2 flag in data is " << ((params.m_of2)?"True":"False"));
         }
-        m_maxTimeCorr = 63.9375; // 64-1/16 ns is hard limit in DSP
-        if (m_correctAmplitude && ((bsflags & 0x3000000) != 0)) {
+        params.m_maxTimeCorr = 63.9375; // 64-1/16 ns is hard limit in DSP
+        if (params.m_correctAmplitude && ((bsflags & 0x3000000) != 0)) {
           ATH_MSG_WARNING( "Using results of Opt filter with interations from DSP, disabling amplitude correction" );
-          m_correctAmplitude = false;
+          params.m_correctAmplitude = false;
         }
-        if (m_correctTime && ((bsflags & 0x3000000) == 0)) {
+        if (params.m_correctTime && ((bsflags & 0x3000000) == 0)) {
           ATH_MSG_WARNING( "Using results of Opt filter without interations from DSP, disabling time correction" );
-          m_correctTime = false;
+          params.m_correctTime = false;
         }
       } else {
-        m_maxTimeCorr = ((bsflags >> 27) & 1) ? 100.0 : 75.0; // 100 or 75 ns is the limit for 9 or 7 samples
-        if (m_correctAmplitude && ((bsflags & 0x6000) != 0)) {
+        params.m_maxTimeCorr = ((bsflags >> 27) & 1) ? 100.0 : 75.0; // 100 or 75 ns is the limit for 9 or 7 samples
+        if (params.m_correctAmplitude && ((bsflags & 0x6000) != 0)) {
           ATH_MSG_WARNING( "Amplitude correction was done already in optimal filter, disabling it here" );
-          m_correctAmplitude = false;
+          params.m_correctAmplitude = false;
         }
-        if (m_correctTime && ((bsflags & 0x9000) != 0)) {
+        if (params.m_correctTime && ((bsflags & 0x9000) != 0)) {
           ATH_MSG_WARNING( "Time correction was done already in optimal filter or best phase is used, disabling it here" );
-          m_correctTime = false;
+          params.m_correctTime = false;
         }
       }
     }
 
+    std::unique_ptr<TileCellContainer> MBTSCells;
     if (!m_MBTSContainerKey.key().empty()) {
-      m_MBTSCells = std::make_unique<TileCellContainer>(SG::VIEW_ELEMENTS);
+      MBTSCells = std::make_unique<TileCellContainer>(SG::VIEW_ELEMENTS);
     }
 
+    std::unique_ptr<TileCellContainer> E4prCells;
     if (!m_E4prContainerKey.key().empty()) {
-      m_E4prCells = std::make_unique<TileCellContainer>(SG::VIEW_ELEMENTS);
+      E4prCells = std::make_unique<TileCellContainer>(SG::VIEW_ELEMENTS);
     }
 
     SelectAllObject<TileRawChannelContainer> selAll(rawChannelContainer.cptr());
@@ -363,7 +346,7 @@ StatusCode TileCellBuilder::process(CaloCellContainer * theCellContainer) {
       ATH_MSG_DEBUG( "Merging " << m_rawChannelContainerKey.key()
                      << " and " << m_dspRawChannelContainerKey.key() );
 
-      SG::ReadHandle<TileRawChannelContainer> dspRawChannelContainer(m_dspRawChannelContainerKey);
+      SG::ReadHandle<TileRawChannelContainer> dspRawChannelContainer(m_dspRawChannelContainerKey, ctx);
 
       if (!dspRawChannelContainer.isValid()) {
         // no DSP channels, build cells from primary container
@@ -392,11 +375,11 @@ StatusCode TileCellBuilder::process(CaloCellContainer * theCellContainer) {
         TileRawChannelUnit::UNIT dspUnit = dspContainer->get_unit();
         unsigned int dspFlags = dspContainer->get_bsflags();
         int DataType = (dspFlags & 0x30000000) >> 28;
-        float dspTimeCut = m_maxTimeCorr;
+        float dspTimeCut = params.m_maxTimeCorr;
         bool dspCorrectAmplitude = false, dspCorrectTime = false, dspOf2 = true;
         if (DataType < 3) { // real data
           dspOf2 = ((dspFlags & 0x4000000) != 0);
-          if (dspOf2 != m_of2) ATH_MSG_DEBUG( "OF2 flag in DSPcontainer is " << ((dspOf2)?"True":"False"));
+          if (dspOf2 != params.m_of2) ATH_MSG_DEBUG( "OF2 flag in DSPcontainer is " << ((dspOf2)?"True":"False"));
           dspTimeCut = 63.9375; // 64-1/16 ns is hard limit in DSP
           dspCorrectAmplitude = ((dspFlags & 0x3000000) == 0);
           dspCorrectTime = ((dspFlags & 0x3000000) != 0);
@@ -463,19 +446,31 @@ StatusCode TileCellBuilder::process(CaloCellContainer * theCellContainer) {
           dspVec.push_back(*dspItr);
         }
 
+        VecParams params1 = params;
+        VecParams params2;
+        params2.m_RChType = dspType;
+        params2.m_RChUnit = dspUnit;
+        params2.m_maxTimeCorr = dspTimeCut;
+        params2.m_correctAmplitude = dspCorrectAmplitude;
+        params2.m_correctTime = dspCorrectTime;
+        params2.m_of2 = dspOf2;
+
         // build here with special iterator over 2 vectors
         DoubleVectorIterator<std::vector<const TileRawChannel *>, const TileRawChannel *> vecBeg(
-            &oflVec, m_RChType, m_RChUnit, m_maxTimeCorr, m_correctAmplitude, m_correctTime, m_of2,
-            &dspVec, dspType, dspUnit, dspTimeCut, dspCorrectAmplitude, dspCorrectTime, dspOf2, this, 0);
+            params,
+            &oflVec, params1,
+            &dspVec, params2, 0);
         DoubleVectorIterator<std::vector<const TileRawChannel *>, const TileRawChannel *> vecEnd(
-            &oflVec, m_RChType, m_RChUnit, m_maxTimeCorr, m_correctAmplitude, m_correctTime, m_of2,
-            &dspVec, dspType, dspUnit, dspTimeCut, dspCorrectAmplitude, dspCorrectTime, dspOf2, this, 2);
+            params,
+            &oflVec, params1,
+            &dspVec, params2, 2);
 
         ATH_MSG_DEBUG("Build raw channels from two vectors:"
                       << " offline vector size = " << oflVec.size()
                       << ", dsp vector size = " << dspVec.size() );
 
-        build(ctx, vecBeg, vecEnd, theCellContainer);
+        build (ctx, drawerEvtStatus, params, vecBeg, vecEnd, theCellContainer,
+               MBTSCells.get(), E4prCells.get());
         begin = end;
       }
 
@@ -503,17 +498,18 @@ StatusCode TileCellBuilder::process(CaloCellContainer * theCellContainer) {
       }
       
       ATH_MSG_DEBUG( " Calling build() method for rawChannels from " << m_rawChannelContainerKey.key() );
-      build(ctx, begin, end, theCellContainer);
+      build (ctx, drawerEvtStatus, params, begin, end, theCellContainer,
+             MBTSCells.get(), E4prCells.get());
     }
     
     if (!m_MBTSContainerKey.key().empty()) {
-      SG::WriteHandle<TileCellContainer> MBTSContainer(m_MBTSContainerKey);
-      ATH_CHECK( MBTSContainer.record(std::move(m_MBTSCells)) );
+      SG::WriteHandle<TileCellContainer> MBTSContainer(m_MBTSContainerKey, ctx);
+      ATH_CHECK( MBTSContainer.record(std::move(MBTSCells)) );
     }
     
     if (!m_E4prContainerKey.key().empty()) {
-      SG::WriteHandle<TileCellContainer> E4prContainer(m_E4prContainerKey);
-      ATH_CHECK( E4prContainer.record(std::move(m_E4prCells)) );
+      SG::WriteHandle<TileCellContainer> E4prContainer(m_E4prContainerKey, ctx);
+      ATH_CHECK( E4prContainer.record(std::move(E4prCells)) );
     }
     
     CaloCell_ID::SUBCALO caloNum = CaloCell_ID::TILE;
@@ -542,8 +538,8 @@ StatusCode TileCellBuilder::process(CaloCellContainer * theCellContainer) {
   int drConsecNum = 0;
 
   for (int p = 1; p < 5; ++p) {
-    TileDrawerEvtStatus * evt = m_drawerEvtStatus[p];
-    TileDrawerRunStatus * run = m_drawerRunStatus[p];
+    TileDrawerEvtStatus * evt = drawerEvtStatus[p];
+    //TileDrawerRunStatus * run = m_drawerRunStatus[p];
     int drAbsent = 0;
     int drMasked = 0;
     int drConsec = 0;
@@ -556,11 +552,11 @@ StatusCode TileCellBuilder::process(CaloCellContainer * theCellContainer) {
       if (evt[d].nChannels == 0) {
         ++drConsec;
         ++drAbsent;
-        ++(run[d].drawerAbsent);
+        //++(run[d].drawerAbsent);
       } else if (evt[d].nMaskedChannels >= evt[d].nChannels) {
         ++drConsec;
         ++drMasked;
-        ++(run[d].drawerMasked);
+        //++(run[d].drawerMasked);
       } else {
         if (drConsec > drConsecMax) {
           drConsecMax = drConsec;
@@ -571,7 +567,7 @@ StatusCode TileCellBuilder::process(CaloCellContainer * theCellContainer) {
         }
         drConsec = 0;
         if (evt[d].nMaskedChannels > 0) {
-          ++(run[d].channelsMasked);
+          //++(run[d].channelsMasked);
         }
         if (evt[d].nBadQuality) ++hasBadQ;
         if (evt[d].nOverflow) ++hasOver;
@@ -613,7 +609,7 @@ StatusCode TileCellBuilder::process(CaloCellContainer * theCellContainer) {
     flag |= fl << (p - 1);
   }
 
-  // number of cosecutively masked modules (if it's > 15 we have error already set)
+  // number of consecutively masked modules (if it's > 15 we have error already set)
   flag |= (std::min(15, drConsecMaxMax) << 16);
 
   if (drConsecMaxMax > 1 && error < xAOD::EventInfo::Warning) {
@@ -632,12 +628,12 @@ StatusCode TileCellBuilder::process(CaloCellContainer * theCellContainer) {
   std::cout<<"partition flag 0x0"<<std::hex<<flag<<std::dec<<" error "<<error<<std::endl;
 #endif
 
-  ++m_eventErrorCounter[error]; // error index is 0 or 1 or 2 here
-  ++m_eventErrorCounter[3]; // count separately total number of events
+  //++m_eventErrorCounter[error]; // error index is 0 or 1 or 2 here
+  //++m_eventErrorCounter[3]; // count separately total number of events
   
 
   // retrieve EventInfo
-  SG::ReadHandle<xAOD::EventInfo> eventInfo(m_eventInfoKey);
+  SG::ReadHandle<xAOD::EventInfo> eventInfo(m_eventInfoKey, ctx);
 
   if (eventInfo.isValid()) {
 
@@ -655,7 +651,8 @@ StatusCode TileCellBuilder::process(CaloCellContainer * theCellContainer) {
       }
     }
 
-  } else {
+  }
+  else {
     ATH_MSG_WARNING( " cannot retrieve EventInfo, will not set Tile information " );
   }
   
@@ -667,7 +664,7 @@ StatusCode TileCellBuilder::process(CaloCellContainer * theCellContainer) {
 
 //************************************************************************
 void TileCellBuilder::correctCell(TileCell* pCell, int correction, int pmt, int gain
-    , float ener, float time, unsigned char iqual, unsigned char qbit, int ch_type) {
+    , float ener, float time, unsigned char iqual, unsigned char qbit, int ch_type) const {
 //************************************************************************
 
 // Merge two pmts in one cell if needed
@@ -696,14 +693,22 @@ void TileCellBuilder::correctCell(TileCell* pCell, int correction, int pmt, int
   }
 }
 
-unsigned char TileCellBuilder::qbits(int ros, int drawer, bool count_over
-    , bool good_time, bool good_ener, bool overflow, bool underflow, bool overfit) {
-
-  ++m_drawerEvtStatus[ros][drawer].nChannels;
+unsigned char TileCellBuilder::qbits (TileDrawerEvtStatusArray& drawerEvtStatus,
+                                      TileFragHash::TYPE RChType,
+                                      int ros,
+                                      int drawer,
+                                      bool count_over,
+                                      bool good_time,
+                                      bool good_ener,
+                                      bool overflow,
+                                      bool underflow,
+                                      bool overfit) const
+{
+  ++drawerEvtStatus[ros][drawer].nChannels;
   // new feature in rel 17.2.7 - count underflows and overflows
   if (count_over) {
-    if (overflow) ++m_drawerEvtStatus[ros][drawer].nOverflow;
-    if (underflow) ++m_drawerEvtStatus[ros][drawer].nUnderflow;
+    if (overflow) ++drawerEvtStatus[ros][drawer].nOverflow;
+    if (underflow) ++drawerEvtStatus[ros][drawer].nUnderflow;
   }
 #ifdef ALLOW_DEBUG_COUT
   if (overflow)  std::cout << "channel with overflow " << ((count_over)?"":"MBTS") << std::endl;
@@ -712,14 +717,14 @@ unsigned char TileCellBuilder::qbits(int ros, int drawer, bool count_over
 #endif
 
   unsigned char qbit = (overfit) ? (TileFragHash::FitFilter & TileCell::MASK_ALGO)
-                                 : (m_RChType & TileCell::MASK_ALGO);
+                                 : (RChType & TileCell::MASK_ALGO);
   if (good_time) qbit |= TileCell::MASK_TIME;
   if (overflow || underflow) qbit |= TileCell::MASK_OVER;
       
   if (good_ener) {
     qbit |= TileCell::MASK_AMPL;
     if (count_over) {
-      ++m_drawerEvtStatus[ros][drawer].nSomeSignal;
+      ++drawerEvtStatus[ros][drawer].nSomeSignal;
     }
   }
 
@@ -727,7 +732,11 @@ unsigned char TileCellBuilder::qbits(int ros, int drawer, bool count_over
 }
 
 // masking for MBTS with single channel
-bool TileCellBuilder::maskBadChannel(TileCell* pCell, HWIdentifier hwid) {
+bool
+TileCellBuilder::maskBadChannel (TileDrawerEvtStatusArray& drawerEvtStatus,
+                                 const TileDQstatus* DQstatus,
+                                 TileCell* pCell, HWIdentifier hwid) const
+{
   int ros = m_tileHWID->ros(hwid);
   int drawer = m_tileHWID->drawer(hwid);
   int chan = m_tileHWID->channel(hwid);
@@ -738,22 +747,22 @@ bool TileCellBuilder::maskBadChannel(TileCell* pCell, HWIdentifier hwid) {
   // check quality first
   bool bad = ((int) pCell->qual1() > m_qualityCut);
   if (bad) {
-    ++m_drawerEvtStatus[ros][drawer].nBadQuality;
+    ++drawerEvtStatus[ros][drawer].nBadQuality;
 
   } else {
     // check bad status in DB
     bad = chStatus.isBad();
 
     // Now checking the DQ status
-    if (!bad && m_notUpgradeCabling) {
-      bad = !(m_DQstatus->isAdcDQgood(ros, drawer, chan, gain)
+    if (!bad && m_notUpgradeCabling && DQstatus) {
+      bad = !(DQstatus->isAdcDQgood(ros, drawer, chan, gain)
             && isChanDCSgood(ros, drawer, chan));
     }
   }
 
   if (bad) {
     // only one channel in this cell and it is bad
-    ++m_drawerEvtStatus[ros][drawer].nMaskedChannels;
+    ++drawerEvtStatus[ros][drawer].nMaskedChannels;
 
     //pCell->setEnergy(m_zeroEnergy,0.0,TileID::LOWGAIN,CaloGain::INVALIDGAIN); // reset energy completely, indicate problem putting low gain
     //pCell->setTime(0.0); // reset time completely
@@ -781,7 +790,10 @@ bool TileCellBuilder::maskBadChannel(TileCell* pCell, HWIdentifier hwid) {
   
 
 // masking for normal cells
-bool TileCellBuilder::maskBadChannels(TileCell* pCell) {
+bool TileCellBuilder::maskBadChannels (TileDrawerEvtStatusArray& drawerEvtStatus,
+                                       const TileDQstatus* DQstatus,
+                                       TileCell* pCell) const
+{
   bool single_PMT_C10 = false;
 
   const CaloDetDescrElement* caloDDE = pCell->caloDDE();
@@ -802,15 +814,15 @@ bool TileCellBuilder::maskBadChannels(TileCell* pCell) {
   // check quality first
   bool bad1 = ((int) pCell->qual1() > m_qualityCut);
   if (bad1) {
-    ++m_drawerEvtStatus[ros1][drawer1].nBadQuality;
+    ++drawerEvtStatus[ros1][drawer1].nBadQuality;
 
   } else {
     // check bad status in DB
     bad1 = (gain1 < 0) || chStatus1.isBad();
 
     // Now checking the DQ status
-    if (!bad1 && m_notUpgradeCabling) {
-      bad1 = !(m_DQstatus->isAdcDQgood(ros1, drawer1, chan1, gain1)
+    if (!bad1 && m_notUpgradeCabling && DQstatus) {
+      bad1 = !(DQstatus->isAdcDQgood(ros1, drawer1, chan1, gain1)
               && isChanDCSgood(ros1, drawer1, chan1));
     }
   }
@@ -820,7 +832,7 @@ bool TileCellBuilder::maskBadChannels(TileCell* pCell) {
 
     if (bad1) {
       // only one channel in this cell and it is bad
-      ++m_drawerEvtStatus[ros1][drawer1].nMaskedChannels;
+      ++drawerEvtStatus[ros1][drawer1].nMaskedChannels;
 
       if (gain1 == CaloGain::INVALIDGAIN) {
         pCell->setEnergy(m_zeroEnergy, 0.0, TileID::LOWGAIN, CaloGain::INVALIDGAIN); // reset energy completely, indicate problem putting low gain
@@ -854,15 +866,15 @@ bool TileCellBuilder::maskBadChannels(TileCell* pCell) {
     // check quality first
     bool bad2 = ((int) pCell->qual2() > m_qualityCut);
     if (bad2) {
-      ++m_drawerEvtStatus[ros2][drawer2].nBadQuality;
+      ++drawerEvtStatus[ros2][drawer2].nBadQuality;
 
     } else {
       // check bad status in DB
       bad2 = (gain2 < 0) || chStatus2.isBad();
 
       // Now checking the DQ status
-      if (!bad2 && m_notUpgradeCabling) {
-        bad2 = !(m_DQstatus->isAdcDQgood(ros2, drawer2, chan2, gain2)
+      if (!bad2 && m_notUpgradeCabling && DQstatus) {
+        bad2 = !(DQstatus->isAdcDQgood(ros2, drawer2, chan2, gain2)
                 && isChanDCSgood(ros2, drawer2, chan2));
       }
     }
@@ -898,7 +910,7 @@ bool TileCellBuilder::maskBadChannels(TileCell* pCell) {
           pCell->setEnergy(pCell->ene2()/2., pCell->ene2()/2., gain2, gain2);
           //bad1 = bad2;
           bad1 = true;
-          --m_drawerEvtStatus[ros1][drawer1].nMaskedChannels; // since it's fake masking, decrease counter by 1 in advance
+          --drawerEvtStatus[ros1][drawer1].nMaskedChannels; // since it's fake masking, decrease counter by 1 in advance
         }
       } else {
         if (m_run2 || !chStatus2.isBad()) {
@@ -911,14 +923,14 @@ bool TileCellBuilder::maskBadChannels(TileCell* pCell) {
           pCell->setEnergy(pCell->ene1()/2., pCell->ene1()/2., gain1, gain1);
           //bad2 = bad1;
           bad2 = true;
-          --m_drawerEvtStatus[ros2][drawer2].nMaskedChannels; // since it's fake masking, decrease counter by 1 in advance
+          --drawerEvtStatus[ros2][drawer2].nMaskedChannels; // since it's fake masking, decrease counter by 1 in advance
         }
       }
     }
     if (bad1 && bad2) {
       // both channels are bad
-      ++m_drawerEvtStatus[ros1][drawer1].nMaskedChannels;
-      ++m_drawerEvtStatus[ros2][drawer2].nMaskedChannels;
+      ++drawerEvtStatus[ros1][drawer1].nMaskedChannels;
+      ++drawerEvtStatus[ros2][drawer2].nMaskedChannels;
 
       if (gain1 == CaloGain::INVALIDGAIN || gain2 == CaloGain::INVALIDGAIN) {
         if (gain1 == CaloGain::INVALIDGAIN) gain1 = 0; // this is TileID::LOWGAIN; - commented out to make Coverity happy
@@ -935,7 +947,7 @@ bool TileCellBuilder::maskBadChannels(TileCell* pCell) {
 
     } else if (bad1 && !bad2) {
       // first channel is bad
-      ++m_drawerEvtStatus[ros1][drawer1].nMaskedChannels;
+      ++drawerEvtStatus[ros1][drawer1].nMaskedChannels;
 
       float ene2 = pCell->ene2();
       pCell->setEnergy(ene2, ene2, gain2, gain2); // use energy/gain from second pmt for both pmts
@@ -958,7 +970,7 @@ bool TileCellBuilder::maskBadChannels(TileCell* pCell) {
 
     } else if (!bad1 && bad2) {
       // second channel is bad
-      ++m_drawerEvtStatus[ros2][drawer2].nMaskedChannels;
+      ++drawerEvtStatus[ros2][drawer2].nMaskedChannels;
 
       float ene1 = pCell->ene1();
       pCell->setEnergy(ene1, ene1, gain1, gain1);  // use energy/gain from first pmt for both pmts
@@ -1008,11 +1020,19 @@ bool TileCellBuilder::maskBadChannels(TileCell* pCell) {
 
 
 template<class ITERATOR, class COLLECTION>
-void TileCellBuilder::build(const EventContext& ctx,
-                            const ITERATOR & begin, const ITERATOR & end, COLLECTION * coll) {
-
+void TileCellBuilder::build (const EventContext& ctx,
+                             TileDrawerEvtStatusArray& drawerEvtStatus,
+                             VecParams& params,
+                             const ITERATOR & begin,
+                             const ITERATOR & end,
+                             COLLECTION* coll,
+                             TileCellContainer* MBTSCells,
+                             TileCellContainer* E4prCells) const
+{
+  // Now retrieve the TileDQstatus
+  const TileDQstatus* DQstatus = nullptr;
   if(m_notUpgradeCabling) {
-    m_DQstatus = SG::makeHandle (m_DQstatusKey, ctx).get();
+    DQstatus = SG::makeHandle (m_DQstatusKey, ctx).get();
   }
 
   /* zero all counters and sums */
@@ -1034,6 +1054,8 @@ void TileCellBuilder::build(const EventContext& ctx,
   //* existing ones). Add each new TileCell to the output collection
   //**
 
+  std::vector<TileCell*> allCells (m_tileID->cell_hash_max(), nullptr);
+
   for (ITERATOR rawItr = begin; rawItr != end; ++rawItr) {
 
     const TileRawChannel* pChannel = (*rawItr);
@@ -1052,19 +1074,19 @@ void TileCellBuilder::build(const EventContext& ctx,
     float time = pChannel->uncorrTime(); // take uncorrected time (if available)
     float amp = pChannel->amplitude();
 
-    TileRawChannelUnit::UNIT oldUnit = m_RChUnit;
-    if (m_correctAmplitude && time > m_timeMinThresh && time < m_timeMaxThresh) { // parabolic correction
-      if (m_RChUnit > TileRawChannelUnit::OnlineADCcounts) { // convert from online units to ADC counts
+    TileRawChannelUnit::UNIT oldUnit = params.m_RChUnit;
+    if (params.m_correctAmplitude && time > m_timeMinThresh && time < m_timeMaxThresh) { // parabolic correction
+      if (params.m_RChUnit > TileRawChannelUnit::OnlineADCcounts) { // convert from online units to ADC counts
         oldUnit = TileRawChannelUnit::ADCcounts;
-        amp = m_tileToolEmscale->undoOnlCalib(drawerIdx, channel, gain, amp, m_RChUnit);
+        amp = m_tileToolEmscale->undoOnlCalib(drawerIdx, channel, gain, amp, params.m_RChUnit);
         if (amp > m_ampMinThresh) // amp cut in ADC counts
-          amp *= TileRawChannelBuilder::correctAmp(time,m_of2);
-      } else if (m_RChUnit == TileRawChannelUnit::ADCcounts
-                 || m_RChUnit == TileRawChannelUnit::OnlineADCcounts) {
+          amp *= TileRawChannelBuilder::correctAmp(time,params.m_of2);
+      } else if (params.m_RChUnit == TileRawChannelUnit::ADCcounts
+                 || params.m_RChUnit == TileRawChannelUnit::OnlineADCcounts) {
         if (amp > m_ampMinThresh)
-          amp *= TileRawChannelBuilder::correctAmp(time,m_of2);
+          amp *= TileRawChannelBuilder::correctAmp(time,params.m_of2);
       } else {
-        ATH_MSG_ERROR( "Units in raw channel container is " << m_RChUnit );
+        ATH_MSG_ERROR( "Units in raw channel container is " << params.m_RChUnit );
         ATH_MSG_ERROR( "But amplitude correction works only with ADC counts " );
         ATH_MSG_ERROR( "Please, disable CIS calibration in optimal filter " );
       }
@@ -1073,10 +1095,10 @@ void TileCellBuilder::build(const EventContext& ctx,
     float qual = pChannel->quality();
 
     // check that time was really reconstructed
-    bool good_time = (fabs(time) < m_maxTimeCorr);
-    bool non_zero_time = (m_RChType == TileFragHash::OptFilterDspCompressed)
+    bool good_time = (fabs(time) < params.m_maxTimeCorr);
+    bool non_zero_time = (params.m_RChType == TileFragHash::OptFilterDspCompressed)
                           ? ((qual > 2.99 && qual < 4.01))
-                          : ((qual > 0.0 || m_RChType == TileFragHash::OptFilterDsp));
+                          : ((qual > 0.0 || params.m_RChType == TileFragHash::OptFilterDsp));
 
     // new feature in rel 17.2.7 - pedestal keeps information about overflow and underflow
     // if there is an underflow, 10000 is added to pedestal value
@@ -1112,7 +1134,7 @@ void TileCellBuilder::build(const EventContext& ctx,
     }
 
     // apply time correction if needed
-    if (m_correctTime && good_time && non_zero_time)
+    if (params.m_correctTime && good_time && non_zero_time)
       time -= m_tileToolTiming->getSignalPhase(drawerIdx, channel, gain);
     else
       time = pChannel->time();
@@ -1140,7 +1162,7 @@ void TileCellBuilder::build(const EventContext& ctx,
 
     if (index == -3) { // E4' cells
 
-      if (m_E4prCells) { // do something with them only if container exists
+      if (E4prCells) { // do something with them only if the container exists
         ++nE4pr;
 
         // convert ADC counts to MeV. like for normal cells
@@ -1150,7 +1172,8 @@ void TileCellBuilder::build(const EventContext& ctx,
         eE4prTot += ener;
         unsigned char iqual = iquality(qual);
         // for E4' cell qbit use only non_zero_time flag and check that energy is above standatd energy threshold in MeV
-        unsigned char qbit = qbits(ros, drawer, true, non_zero_time, (fabs(ener) > m_eneForTimeCut)
+        unsigned char qbit = qbits(drawerEvtStatus, params.m_RChType,
+                                   ros, drawer, true, non_zero_time, (fabs(ener) > m_eneForTimeCut)
                                    , overflow, underflow, overfit);
         CaloGain::CaloGain cgain = (gain == TileID::HIGHGAIN)
                                    ? CaloGain::TILEONEHIGH
@@ -1183,17 +1206,18 @@ void TileCellBuilder::build(const EventContext& ctx,
             msg(MSG::VERBOSE) << endmsg;
         }
 
-        if (m_maskBadChannels && maskBadChannel(pCell, adc_id))
+        if (m_maskBadChannels && maskBadChannel(drawerEvtStatus, DQstatus,
+                                                pCell, adc_id))
           ATH_MSG_VERBOSE ( "cell with id=" << m_tileTBID->to_string(cell_id)
                              << " bad channel masked, new energy=" << pCell->energy() );
 
-        m_E4prCells->push_back(pCell); // store cell in container
+        E4prCells->push_back(pCell); // store cell in container
 
       }
 
     } else if (index == -2) { // MBTS cells
 
-      if (m_MBTSCells) { // do something with them only if contaier existst
+      if (MBTSCells) { // do something with them only if contaier existst
         ++nMBTS;
 
         // convert ADC counts to pCb and not to MeV
@@ -1203,7 +1227,8 @@ void TileCellBuilder::build(const EventContext& ctx,
         eMBTSTot += ener;
         unsigned char iqual = iquality(qual);
         // for MBTS qbit use AND of good_time and non_zero_time and check that energy is above MBTS energy threshold in pC
-        unsigned char qbit = qbits(ros, drawer, false, (good_time && non_zero_time)
+        unsigned char qbit = qbits(drawerEvtStatus, params.m_RChType,
+                                   ros, drawer, false, (good_time && non_zero_time)
            , (fabs(ener) > m_eneForTimeCutMBTS), overflow, underflow, overfit);
         CaloGain::CaloGain cgain = (gain == TileID::HIGHGAIN)
                                    ? CaloGain::TILEONEHIGH
@@ -1236,11 +1261,12 @@ void TileCellBuilder::build(const EventContext& ctx,
             msg(MSG::VERBOSE) << endmsg;
         }
 
-        if (m_maskBadChannels && maskBadChannel(pCell, adc_id))
+        if (m_maskBadChannels && maskBadChannel(drawerEvtStatus, DQstatus,
+                                                pCell, adc_id))
           ATH_MSG_VERBOSE ( "cell with id=" << m_tileTBID->to_string(cell_id)
                              << " bad channel masked, new energy=" << pCell->energy() );
 
-        m_MBTSCells->push_back(pCell); // store cell in container
+        MBTSCells->push_back(pCell); // store cell in container
 
       }
     } else if (index != -1) { // connected channel
@@ -1252,7 +1278,8 @@ void TileCellBuilder::build(const EventContext& ctx,
 
       unsigned char iqual = iquality(qual);
       // for normal cell qbit use only non_zero_time flag and check that energy is above standatd energy threshold in MeV
-      unsigned char qbit = qbits(ros, drawer, true, non_zero_time, (fabs(ener) > m_eneForTimeCut)
+      unsigned char qbit = qbits(drawerEvtStatus, params.m_RChType,
+                                 ros, drawer, true, non_zero_time, (fabs(ener) > m_eneForTimeCut)
           , overflow, underflow, overfit);
 
 
@@ -1265,7 +1292,7 @@ void TileCellBuilder::build(const EventContext& ctx,
          int index2 = m_tileID->cell_hash(cell_id2);
          TileCell* pCell2 = tileCellsP.nextElementPtr();
          ++nCell;
-         m_allCells[index2] = pCell2;
+         allCells[index2] = pCell2;
          const CaloDetDescrElement* dde2 = m_tileMgr->get_cell_element(index2);
          pCell2->set(dde2, cell_id2);
          pCell2->setEnergy_nonvirt(0, 0, CaloGain::INVALIDGAIN, CaloGain::INVALIDGAIN);
@@ -1281,13 +1308,13 @@ void TileCellBuilder::build(const EventContext& ctx,
 
      }
 
-      TileCell* pCell = m_allCells[index];
+      TileCell* pCell = allCells[index];
       if (pCell) {
         ++nTwo;
         correctCell(pCell, 2, pmt, gain, ener, time, iqual, qbit, 0); // correct & merge 2 PMTs in one cell
       } else {
         ++nCell;
-        m_allCells[index] = pCell = tileCellsP.nextElementPtr();
+        allCells[index] = pCell = tileCellsP.nextElementPtr();
         const CaloDetDescrElement* dde = m_tileMgr->get_cell_element(index);
         pCell->set(dde, cell_id);
         pCell->setEnergy_nonvirt(0, 0, CaloGain::INVALIDGAIN, CaloGain::INVALIDGAIN);
@@ -1320,7 +1347,8 @@ void TileCellBuilder::build(const EventContext& ctx,
       if (msgLvl(MSG::VERBOSE)) {
 
         unsigned char iqual = iquality(qual);
-        unsigned char qbit = qbits(0, drawer, false, non_zero_time, false, overflow, underflow, overfit); //fake ros number here
+        unsigned char qbit = qbits(drawerEvtStatus, params.m_RChType,
+                                   0, drawer, false, non_zero_time, false, overflow, underflow, overfit); //fake ros number here
 
         msg(MSG::VERBOSE) << " channel with adc_id=" << m_tileHWID->to_string(adc_id)
                           << " is not connected" << endmsg;
@@ -1338,7 +1366,7 @@ void TileCellBuilder::build(const EventContext& ctx,
       }
     }
     if (msgLvl(MSG::VERBOSE)) {
-      if ((m_correctTime && good_time && non_zero_time) || pChannel->sizeTime() > 1) {
+      if ((params.m_correctTime && good_time && non_zero_time) || pChannel->sizeTime() > 1) {
         msg(MSG::VERBOSE) << " OF_time = " << pChannel->uncorrTime()
                           << " corr_time = " << time << endmsg;
       }
@@ -1348,14 +1376,14 @@ void TileCellBuilder::build(const EventContext& ctx,
   //**
   // Now store all TileCells
   //**
-  for (unsigned int index = 0; index < m_allCells.size(); ++index) {
+  for (unsigned int index = 0; index < allCells.size(); ++index) {
 
-    TileCell * pCell = m_allCells[index];
+    TileCell * pCell = allCells[index];
 
     if (pCell) {      // cell exists
 
       if (m_maskBadChannels)
-        if (maskBadChannels(pCell))
+        if (maskBadChannels (drawerEvtStatus, DQstatus, pCell))
           ATH_MSG_VERBOSE ( "cell with id=" << m_tileID->to_string(pCell->ID(), -2)
                            << " bad channels masked, new energy=" << pCell->energy() );
 
@@ -1375,7 +1403,7 @@ void TileCellBuilder::build(const EventContext& ctx,
 
       }
 
-      m_allCells[index] = 0;             // clear pointer for next event
+      allCells[index] = 0;             // clear pointer for next event
     } else if (m_fakeCrackCells) { // can be true only for full-size container
 
       pCell = tileCellsP.nextElementPtr();
@@ -1416,10 +1444,10 @@ void TileCellBuilder::build(const EventContext& ctx,
                     << " nFake=" << nFake
                     << " eneTot=" << eCellTot;
 
-    if (m_MBTSCells)
+    if (MBTSCells)
       msg(MSG::DEBUG) << " nMBTS=" << nMBTS
                       << " eMBTS=" << eMBTSTot;
-    if (m_E4prCells)
+    if (E4prCells)
       msg(MSG::DEBUG) << " nE4pr=" << nE4pr
                       << " eE4pr=" << eE4prTot;
 
-- 
GitLab


From 5dbe85eb6fb1d75e7e60085c430e182f65b9c5dc Mon Sep 17 00:00:00 2001
From: scott snyder <sss@karma>
Date: Thu, 24 Jan 2019 16:29:47 +0100
Subject: [PATCH 107/192] FastCaloSim: Making FastShowerCellBuilderTool const.

Change from IAtRndmGenSvc to IAthRNGSvc for MT-compatibility.
Remove uses of gRandom.

Results change due to differences in how RNGs are seeded.
---
 .../FastCaloSim/FastShowerCellBuilderTool.h   |   8 +-
 .../share/FastShowerCellBuilderTool_test.py   | 134 +++++++++---------
 .../share/FastShowerCellBuilderTool_test.ref  |  27 ++--
 .../src/FastShowerCellBuilderTool.cxx         |  21 +--
 .../src/ParticleEnergyParametrization.cxx     |  11 +-
 5 files changed, 99 insertions(+), 102 deletions(-)

diff --git a/Simulation/FastShower/FastCaloSim/FastCaloSim/FastShowerCellBuilderTool.h b/Simulation/FastShower/FastCaloSim/FastCaloSim/FastShowerCellBuilderTool.h
index d0219ddee68b..9e6a05ff2dd6 100755
--- a/Simulation/FastShower/FastCaloSim/FastCaloSim/FastShowerCellBuilderTool.h
+++ b/Simulation/FastShower/FastCaloSim/FastCaloSim/FastShowerCellBuilderTool.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef FASTSHOWER_CELLBUILDERTOOL_H
@@ -12,7 +12,7 @@
 
 #include "GaudiKernel/ToolHandle.h"
 #include "GaudiKernel/IIncidentListener.h"
-#include "AthenaKernel/IAtRndmGenSvc.h"
+#include "AthenaKernel/IAthRNGSvc.h"
 #include "FastCaloSim/BasicCellBuilderTool.h"
 //#include "TruthHelper/GenAccessIO.h"
 #include "FastSimulationEvent/GenParticleEnergyDepositMap.h"
@@ -148,8 +148,8 @@ private:
     FastShower::LongitudinalShape* m_longshape;
   */
   ServiceHandle<IPartPropSvc>    m_partPropSvc;
-  ServiceHandle<IAtRndmGenSvc>   m_rndmSvc;
-  CLHEP::HepRandomEngine*        m_randomEngine{};
+  ServiceHandle<IAthRNGSvc>      m_rndmSvc;
+  ATHRNG::RNGWrapper*            m_randomEngine = nullptr;
   std::string                    m_randomEngineName{"FastCaloSimRnd"};         //!< Name of the random number stream
 
   //CaloDepthTool*                 m_calodepth;
diff --git a/Simulation/FastShower/FastCaloSim/share/FastShowerCellBuilderTool_test.py b/Simulation/FastShower/FastCaloSim/share/FastShowerCellBuilderTool_test.py
index bc0583c43992..98021ba93a52 100644
--- a/Simulation/FastShower/FastCaloSim/share/FastShowerCellBuilderTool_test.py
+++ b/Simulation/FastShower/FastCaloSim/share/FastShowerCellBuilderTool_test.py
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration.
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration.
 #
 # File: FastCaloSim/share/FastShowerCellBuilderTool_test.py
 # Author: scott snyder
@@ -44,74 +44,74 @@ topSequence = AlgSequence()
 
 theApp.EvtMax=1
 
+
 exp_cells = {
-    (0, -3,  1,  0,  2,  29) :  1082.3,
+    (0, -3,  1,  0,  2,  29) :   873.8,
     (0, -3,  1,  0,  2,  30) :   593.1,
-    (0, -3,  1,  0,  3,  28) :  2893.1,
-    (0, -3,  1,  0,  3,  29) : 85573.6,
-    (0, -3,  1,  0,  3,  30) : 19897.8,
-    (0, -3,  1,  0,  4,  28) :  1775.3,
-    (0, -3,  1,  0,  4,  29) : 13901.8,
-    (0, -3,  1,  0,  4,  30) :  4405.1,
-    (0, -3,  1,  0,  5,  29) :   650.2,
-    (0, -3,  1,  0,  5,  30) :   508.4,
-    (0, -3,  2,  0,  3,  29) :   557.1,
-    (0, -2,  0,  0,  0,  28) :   765.0,
-    (0, -2,  1,  1,  2,  28) :  5965.7,
-    (0, -2,  2,  1,  2, 113) :  1617.0,
-    (0, -2,  2,  1,  2, 114) :  2100.8,
-    (0, -1,  0,  0, 59,  28) :   871.8,
-    (0, -1,  0,  0, 60,  28) :  1184.4,
-    (0,  1,  0,  0, 59,  25) :   282.9,
-    (0,  1,  0,  0, 60,  25) :   208.4,
-    (0,  2,  0,  0,  0,  24) :   567.1,
-    (0,  2,  0,  0,  0,  25) :  4319.5,
-    (0,  2,  0,  0,  1,  25) :   810.2,
-    (0,  2,  1,  1,  1,  25) :   745.2,
-    (0,  2,  1,  1,  2,  25) : 13066.6,
-    (0,  2,  1,  4, 28,  37) :   540.0,
-    (0,  2,  1,  4, 29,  37) :   910.3,
-    (0,  2,  1,  4, 30,  37) :   788.2,
-    (0,  2,  1,  4, 31,  37) :   610.1,
-    (0,  2,  1,  4, 32,  37) :   266.0,
-    (0,  2,  2,  1,  1, 101) :   324.4,
-    (0,  2,  2,  1,  2, 100) :  1023.7,
-    (0,  2,  2,  1,  2, 101) :  6262.3,
-    (0,  2,  2,  1,  2, 102) :   636.3,
-    (0,  2,  2,  1,  3, 101) :   428.5,
-    (0,  2,  2,  1, 29, 149) :   683.1,
-    (0,  2,  2,  1, 29, 150) :  1136.9,
-    (0,  2,  2,  1, 29, 151) :   265.4,
-    (0,  2,  2,  1, 30, 148) :   410.7,
-    (0,  2,  2,  1, 30, 149) :  6159.1,
-    (0,  2,  2,  1, 30, 150) :  9094.0,
-    (0,  2,  2,  1, 30, 151) :   757.1,
-    (0,  2,  2,  1, 31, 148) :   248.7,
-    (0,  2,  2,  1, 31, 149) :  1078.7,
-    (0,  2,  2,  1, 31, 150) :  1348.1,
-    (0,  2,  2,  1, 31, 151) :   396.7,
-    (0,  2,  2,  1, 32, 150) :   165.0,
-    (0,  2,  3,  0, 13, 149) :  6118.8,
-    (0,  2,  3,  0, 13, 150) : 12741.9,
-    (0,  2,  3,  0, 13, 151) :  1333.6,
-    (0,  2,  3,  0, 14, 149) :   853.6,
-    (0,  2,  3,  0, 14, 150) :  1421.6,
-    (0,  2,  3,  0, 14, 151) :   617.1,
-    (1,  2,  0,  0,  6,  36) :   191.8,
-    (1,  2,  0,  0,  6,  37) :  2026.1,
-    (1,  2,  0,  0,  6,  38) :   103.9,
-    (1,  2,  0,  0,  7,  37) :   432.4,
-    (1,  2,  1,  0,  6,  36) :  1347.2,
-    (1,  2,  1,  0,  6,  37) : 13680.3,
-    (1,  2,  1,  0,  6,  38) :  1055.9,
-    (1,  2,  1,  0,  7,  36) :   568.6,
-    (1,  2,  1,  0,  7,  37) :  9250.3,
-    (1,  2,  1,  0,  7,  38) :   589.0,
-    (1,  2,  2,  0,  6,  37) :  1702.3,
-    (1,  2,  2,  0,  7,  37) :  1321.2,
-    (3,  3, -1, 28, 15,   3) :  2566.1,
-    (3,  3,  1, 24, 15,   3) :   690.3,
-    (3,  3,  1, 25, 15,   3) :  9414.4,
+    (0, -3,  1,  0,  3,  28) :  3003.6,
+    (0, -3,  1,  0,  3,  29) : 83002.8,
+    (0, -3,  1,  0,  3,  30) : 19794.6,
+    (0, -3,  1,  0,  4,  28) :  1847.6,
+    (0, -3,  1,  0,  4,  29) : 14195.6,
+    (0, -3,  1,  0,  4,  30) :  4444.7,
+    (0, -3,  1,  0,  5,  29) :   382.2,
+    (0, -3,  1,  0,  5,  30) :   321.8,
+    (0, -3,  2,  0,  3,  29) :   260.3,
+    (0, -2,  0,  0,  0,  28) :   787.8,
+    (0, -2,  1,  1,  1,  28) :   546.6,
+    (0, -2,  1,  1,  2,  28) :  5108.6,
+    (0, -2,  2,  1,  2, 113) :  1382.2,
+    (0, -2,  2,  1,  2, 114) :  1784.3,
+    (0, -1,  0,  0, 59,  28) :   515.6,
+    (0, -1,  0,  0, 60,  28) :   520.8,
+    (0,  1,  0,  0, 59,  25) :    69.6,
+    (0,  1,  0,  0, 60,  25) :    22.92,
+    (0,  2,  0,  0,  0,  24) :    34.7,
+    (0,  2,  0,  0,  0,  25) :   191.5,
+    (0,  2,  0,  0,  1,  25) :    30.1,
+    (0,  2,  1,  1,  1,  25) :   572.2,
+    (0,  2,  1,  1,  2,  25) : 12659.3,
+    (0,  2,  2,  1,  1, 101) :   581.2,
+    (0,  2,  2,  1,  2, 100) :  1557.3,
+    (0,  2,  2,  1,  2, 101) :  9685.9,
+    (0,  2,  2,  1,  2, 102) :  1053.7,
+    (0,  2,  2,  1,  3, 101) :   716.1,
+    (0,  2,  2,  1, 29, 149) :  1217.4,
+    (0,  2,  2,  1, 29, 150) :  2093.2,
+    (0,  2,  2,  1, 29, 151) :   461.8,
+    (0,  2,  2,  1, 30, 148) :   492.0,
+    (0,  2,  2,  1, 30, 149) :  6877.1,
+    (0,  2,  2,  1, 30, 150) : 12497.6,
+    (0,  2,  2,  1, 30, 151) :  1600.2,
+    (0,  2,  2,  1, 31, 148) :   378.3,
+    (0,  2,  2,  1, 31, 149) :  1359.0,
+    (0,  2,  2,  1, 31, 150) :  2037.2,
+    (0,  2,  2,  1, 31, 151) :   651.7,
+    (0,  2,  2,  1, 32, 150) :   294.3,
+    (0,  2,  3,  0, 13, 148) :   859.8,
+    (0,  2,  3,  0, 13, 149) :  6645.7,
+    (0,  2,  3,  0, 13, 150) : 13592.1,
+    (0,  2,  3,  0, 13, 151) :  2535.4,
+    (0,  2,  3,  0, 14, 148) :   561.8,
+    (0,  2,  3,  0, 14, 149) :  2037.4,
+    (0,  2,  3,  0, 14, 150) :  3168.5,
+    (0,  2,  3,  0, 14, 151) :   982.9,
+    (1,  2,  0,  0,  6,  36) :  1028.7,
+    (1,  2,  0,  0,  6,  37) : 10040.6,
+    (1,  2,  0,  0,  6,  38) :  1319.7,
+    (1,  2,  0,  0,  7,  36) :  1187.8,
+    (1,  2,  0,  0,  7,  37) :  5799.3,
+    (1,  2,  0,  0,  8,  37) :  1021.9,
+    (1,  2,  1,  0,  6,  36) :   288.7,
+    (1,  2,  1,  0,  6,  37) :  1598.3,
+    (1,  2,  1,  0,  6,  38) :    94.8,
+    (1,  2,  1,  0,  7,  36) :   330.9,
+    (1,  2,  1,  0,  7,  37) :   887.8,
+    (1,  2,  1,  0,  7,  38) :   525.4,
+    (3,  3, -1, 28, 15,   3) :  4606.0,
+    (3,  3, -1, 29, 15,   3) :   623.9,
+    (3,  3,  1, 24, 15,   3) :  1149.3,
+    (3,  3,  1, 25, 15,   3) :  5667.7,
     }
 
 
diff --git a/Simulation/FastShower/FastCaloSim/share/FastShowerCellBuilderTool_test.ref b/Simulation/FastShower/FastCaloSim/share/FastShowerCellBuilderTool_test.ref
index 980c6beba375..287f1ae08c5a 100644
--- a/Simulation/FastShower/FastCaloSim/share/FastShowerCellBuilderTool_test.ref
+++ b/Simulation/FastShower/FastCaloSim/share/FastShowerCellBuilderTool_test.ref
@@ -1,4 +1,4 @@
-Fri Dec 28 15:03:54 EST 2018
+Thu Jan  3 00:21:53 EST 2019
 Py:Athena            INFO including file "AthenaCommon/Preparation.py"
 Py:Athena            INFO using release [?-21.0.0] [i686-slc5-gcc43-dbg] [?/?] -- built on [?]
 Py:Athena            INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
@@ -70,7 +70,7 @@ Py:FastCaloSimFactory::configure:    INFO all values:
 |-PartPropSvc                                = ServiceHandle('PartPropSvc')
 |-ParticleParametrizationFileName            = '/home/sss/nobackup/atlas/ReleaseData/v20/FastCaloSim/v1/ParticleEnergyParametrization.root'
 |                                            (default: '')
-|-RandomService                              = ServiceHandle('AtDSFMTGenSvc')
+|-RandomService                              = ServiceHandle('AthRNGSvc')
 |-RandomStreamName                           = 'FastCaloSimRnd'
 |-StoreFastShowerInfo                        = False
 |-phi0_em                                    = -1000.0
@@ -86,7 +86,7 @@ ApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to leve
 ApplicationMgr    SUCCESS 
 ====================================================================================================================================
                                                    Welcome to ApplicationMgr (GaudiCoreSvc v27r1p99)
-                                          running on karma on Fri Dec 28 15:03:57 2018
+                                          running on karma on Thu Jan  3 00:21:56 2019
 ====================================================================================================================================
 ApplicationMgr       INFO Successfully loaded modules : AthenaServices
 ApplicationMgr       INFO Application Manager Configured successfully
@@ -374,10 +374,7 @@ CaloIdMgrDetDes...   INFO  Finished
 CaloIdMgrDetDes...   INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv 
 PartPropSvc          INFO No table format type specified for "PDGTABLE.MeV". Assuming PDG
 found 298 particles
-AtDSFMTGenSvc        INFO Initializing AtDSFMTGenSvc - package version RngComps-00-00-00
- INITIALISING RANDOM NUMBER STREAMS. 
-AtDSFMTGenSvc        INFO will be reseeded for every event
-AtDSFMTGenSvc     WARNING  INITIALISING FastCaloSimRnd stream with DEFAULT seeds 3591  2309736
+AthRNGSvc            INFO Creating engine ToolSvc.tool1/FastCaloSimRnd
 AtlasFieldSvc        INFO initialize() ...
 AtlasFieldSvc        INFO maps will be chosen reading COOL folder /GLOBAL/BField/Maps
 ClassIDSvc           INFO  getRegistryEntries: read 1128 CLIDRegistry entries for module ALL
@@ -555,6 +552,7 @@ TileBadChannels...   INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; N
 TileBadChannels...   INFO TileBchStatus::isBadTiming() is defined by: Bad timing; Online bad timing; 
 TileBadChannels...   INFO No drawer trips probabilities found in DB
 ClassIDSvc           INFO  getRegistryEntries: read 1104 CLIDRegistry entries for module ALL
+AthRNGSvc         SUCCESS ToolSvc.tool1/FastCaloSimRnd 3630501711 90 3261692434 1073680638 823030377 1073723668 1868930291 1073677174 911996003 1073290479 3711715511 1072694548 2140068716 1072735951 539460630 1073178241 2282305494 1072708986 1641530683 1073202302 2631242835 1073321911 3961765294 1073467950 2626127931 1073272628 2396189536 1073590622 2374465580 1073564482 3416006862 1072800960 1352814095 1073333945 1932808853 1073111336 2004821113 1072722654 164197198 1072846416 751909680 1073721900 808721476 1073468761 690859097 1073483009 418699027 1073306662 1789296916 1073624469 2971093188 1072984953 2555298921 1072770453 3853840956 1073055738 3487439144 1073639698 1894545311 1072884286 626513571 1073631692 3421835136 1073307636 3985124064 1073729249 2607246495 1073094204 4090506844 1073695039 2410441688 1073487241 1069374412 1073423736 1760407317 1072765560 2827875924 1072827462 4146416168 1073037450 3197924302 1073718189 3551167333 1073676036 4115234429 1073230966 98903944 1073088578 4282482954 1073314928 2143692400 1073136393 3296550475 1072843872 3558803953 1073270281 3103842852 1073235469 1882909869 1073459859 916240561 1073339674 536539632 1073614296 1409495660 1073448151 358001842 1073483642 739667300 1073521338 3746187847 1072960505 2594847495 1073654670 3231825006 1073250176 3554125300 1073441586 889397564 1073010193 3102313462 1073424387 912563430 1073190059 2833054885 1073176909 2869107047 1073201355 4064975915 1073425934 3842344805 1073237417 2249570334 1073294265 933655068 1073661856 2823826967 1072983053 3187935985 1073666738 2012177277 1073511885 3705303978 1073354273 2263991526 1072860629 714897335 1073409664 3791090286 1072885706 3668090129 1072928433 4177473366 1073400077 4103000642 1072762422 1446170605 1072828225 2626904048 1073096349 787048638 1073597594 911588237 1072953144 271870086 1073290978 1047360370 1073346157 1872092527 1072822122 2841293698 1073002754 365773320 1073623173 3533126773 1073023548 1827082166 1073011537 769948162 1072741453 716869697 1073421964 950558058 1073688175 3654654741 1073077866 2148938756 1073636271 4042145415 1073729005 2295127568 1073051710 2538781685 1073500775 1382221002 1073134056 84184398 1072699157 1424487447 1073581512 419336873 1073657082 3569483343 1073003194 4070398286 1073300428 4070981007 1072944187 756286778 1073738055 2998212970 1073014133 462886270 1072731246 3544532359 1073371748 3720216818 1073530166 857383700 1073027294 2603143961 1073033720 3719393042 1073014678 3871031172 1073611172 3167825463 1073413837 3430927282 1073037455 2813514352 1073187562 1890932001 1072709290 3303417437 1073036901 1339564205 1073642312 2538448638 1073008042 1026462913 1073603981 1900392973 1072983365 4219218825 1073730572 729915534 1072743555 1592137825 1073699851 3580755983 1073180566 3646051161 1073621980 1888726728 1072884180 2759076898 1072988631 781657975 1072742798 539597383 1072933770 2862823903 1073461460 137639100 1073419163 1282995020 1073635629 2773321850 1073015233 864373926 1072783317 2945299790 1073564429 942801054 1073065933 469421843 1073736865 1205751158 1072817032 2557468817 1073741663 284681309 1073694428 3705796569 1073080815 2784424690 1073534939 87996075 1073165948 4251187390 1073694412 4133058395 1073171507 4148682519 1072914063 1438363651 1073586842 379154910 1072847866 1590169437 1072855295 3490089895 1073313887 2705421280 1073085513 1607354295 1072886471 2501280363 1073136524 1603739927 1072957178 1195334651 1072864186 3489732441 1073038891 1352657795 1072828769 19676344 1073018085 3103839646 1073314627 959564690 1073526279 1963499755 1073449889 250981548 1073668260 1777143703 1072842316 1134371421 1073057027 3860630533 1072887996 3065684433 1072813724 2169295742 1072773648 3514099379 1072862237 2637450043 1072749923 1458646333 1072947546 3991056209 1073352675 398024247 1073245696 456978228 1073685482 1275860529 1073446874 1104928121 1073349174 2709807511 1073414285 1001292837 1073391486 333779909 1072985692 3296251806 1073229593 4052332837 1073177524 3347382464 1072811729 1993826165 1072826950 2930738656 1072797162 3421648372 1073246843 159529425 1073067140 1822199323 1072821862 947562513 1072788222 2999108474 1073410975 3001267519 1073014979 2200426417 1072697229 3839301019 1073211197 653930178 1072821156 347931826 1073260473 3220160560 1072908029 2060537181 1073148903 1819201266 1072725052 752057633 1073712872 1284664544 1073018908 4061523052 1073715276 1678059209 1073120880 1563127687 1073397828 1073017791 1073448950 2160732782 1072736393 98102556 1073574247 2980862331 1073495372 10947338 1073388566 235712746 1073130536 1428538253 1073444911 1034331703 1073135276 1193514266 1073399517 2047530239 1073256035 1763468142 1073656778 95599117 1072831138 510292077 1073359403 2867275526 1073739478 1688604336 1073128745 1834286853 1073632701 1912869948 1073622452 2874594033 1073549554 2314352708 1073707463 1928987767 1073355679 156479999 1073107923 427377340 1073604020 3759005145 1073008275 2186399455 1073470828 27260339 1073631507 2972862105 1072875544 3306058547 1073674887 4243502 1073068761 4219093378 1072818031 2557302325 1073596249 296768555 1073125110 541062411 1073558141 8361674 1072788178 2747074052 1072706485 833875430 1072882109 2173602389 1072846141 1462039115 1073037234 1842330282 1073192077 1623547146 1072931134 718827894 1072939088 2939061236 1073584483 1164526291 1073138367 3530317869 1073444316 1933624563 1072996789 3306818729 1073206511 3465916374 1073208069 770688873 1073187945 1190230823 1072729827 2978207685 1073260241 1919240575 1072738920 4133661157 1073166622 3541555338 1073639985 3200451429 1073296053 2148722180 1073548242 2744498149 1073643883 1743594613 1073269305 3265447442 1073042739 3018353724 1073682837 1469213866 1073277068 4004154164 1073405891 1275293170 1072905879 4237407126 1073252636 808418950 1073598273 3352491937 1072753050 2120097613 1072889002 579900871 1073040505 3264609359 1073727315 741502134 1073187984 1392942119 1073154740 3769930099 1073043915 3825224772 1072940924 1112532450 1072821755 2547148240 1073167418 1931659309 1073124486 2849541086 1072819160 240941813 1072803712 3038640263 1073301050 963999170 1072908536 1707506099 1073606863 1877868468 1072821515 1065662759 1073287087 1700024633 1072995875 619690025 1073209278 2551852602 1072696157 2222723748 1072906116 1927104135 1073194953 2863380179 1073537077 2292713055 1072735008 2272466554 1073455406 2373215093 1073551764 3324063296 1073422970 2302478549 1073020979 1226262167 1073610915 3810494412 1072757930 3598016388 1072968968 3537807466 1072707226 1704779161 1073671798 3085424591 1073315979 585655719 1073193844 3060235115 1073091386 1863225538 1073616828 2550257447 1073138604 1041018708 1073698931 2550281390 1073091244 684679500 1073225758 1124361632 1072992252 3453512710 1072896846 2217085102 1073364366 2210679916 1072698927 313798325 1073055347 160295651 1073721031 2919317005 1073225837 2914657176 1073576644 3628120085 1073475641 1067340581 1073546013 340517196 1073724752 1127352683 1072769370 1492607570 1073392139 4135266509 1072867941 47699585 1072720565 2696229633 1072920700 4026883948 1073401517 1563530900 1073127246 2450531703 1073047787 3190069830 1073274034 654254270 1072925380 2415086862 1073508836 2610776490 1073236289 2122340525 1073009911 2785746802 1073338598 1350136126 1073311616 3970399521 1072852344 3106047532 1073554151 2582386806 1072695066 981697222 1072785304 3195759033 1073700288 2921106626 1073092172 183150695 1073252808 4099644845 1073456800 1288824535 1072940897 1563673146 1073411168 2496781743 1073338375 2962768285 1073223705 1576579287 1072922059 550057400 1073582928 2862331727 1073242743 2852012108 1072891435 2627580467 1073358635 3211577202 1073355904 3039848443 1073447954 3913185655 1073199284 2600647611 1073686940 827096734 1073585076 1554652000 1073406528 4165811413 1073244527 441484542 1072780555 2536639643 1073409915 2310341371 1073452160 114457467 1073379111 2815515709 1073106406 3442879574 1072805611 2247673049 1072875215 1461815981 1073341895 67919517 1073612505 4179474298 1072753058 2515614785 1073709826 124095440 1072847200 1645148762 1072916829 830435430 1073499794 3629871842 1073005476 2223287807 1073122271 3292803050 1072761672 3826188126 1073616228 3721761610 1073580536 3707133827 1073494701 1950134628 1072919780 1522092269 1073542864 1655081062 1073465610 811524494 1072839924 3516415211 1073710058 4222427839 2995058703 2624364569 3711061605 
 ToolSvc.tool1        INFO CaloEntrance not found 
 ToolSvc.tool1        INFO CaloEntrance not found 
 ToolSvc.tool1        INFO CaloEntrance not found 
@@ -577,10 +575,9 @@ testalg1             INFO Finalizing testalg1...
 IncidentProcAlg2     INFO Finalize
 AtlasTrackingGe...   INFO finalize() successful.
 AtlasFieldSvc        INFO finalize() successful
-AtDSFMTGenSvc        INFO  FINALISING 
 PyComponentMgr       INFO Finalizing PyComponentMgr...
 IdDictDetDescrCnv    INFO in finalize
-IOVDbFolder          INFO Folder /EXT/DCS/MAGNETS/SENSORDATA (AttrListColl) db-read 1/2 objs/chan/bytes 4/4/20 ((     0.07 ))s
+IOVDbFolder          INFO Folder /EXT/DCS/MAGNETS/SENSORDATA (AttrListColl) db-read 1/2 objs/chan/bytes 4/4/20 ((     0.06 ))s
 IOVDbFolder          INFO Folder /GLOBAL/BField/Maps (AttrListColl) db-read 1/1 objs/chan/bytes 3/3/202 ((     0.06 ))s
 IOVDbFolder          INFO Folder /GLOBAL/TrackingGeo/LayerMaterialV2 (PoolRef) db-read 1/1 objs/chan/bytes 1/1/231 ((     0.00 ))s
 IOVDbFolder          INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/170 ((     0.06 ))s
@@ -596,12 +593,12 @@ IOVDbFolder          INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1
 IOVDbFolder          INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 ((     0.00 ))s
 IOVDbFolder          INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/76 ((     0.00 ))s
 IOVDbFolder          INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/195 ((     0.00 ))s
-IOVDbSvc             INFO  bytes in ((      0.30 ))s
+IOVDbSvc             INFO  bytes in ((      0.29 ))s
 IOVDbSvc             INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: ((     0.00 ))s
 IOVDbSvc             INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     0.06 ))s
 IOVDbSvc             INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: ((     0.10 ))s
-IOVDbSvc             INFO Connection COOLOFL_GLOBAL/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     0.07 ))s
-IOVDbSvc             INFO Connection COOLOFL_DCS/OFLP200 : nConnect: 2 nFolders: 1 ReadTime: ((     0.07 ))s
+IOVDbSvc             INFO Connection COOLOFL_GLOBAL/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     0.06 ))s
+IOVDbSvc             INFO Connection COOLOFL_DCS/OFLP200 : nConnect: 2 nFolders: 1 ReadTime: ((     0.06 ))s
 TileInfoLoader       INFO TileInfoLoader::finalize()
 AthDictLoaderSvc     INFO in finalize...
 ToolSvc              INFO Removing all tools created by ToolSvc
@@ -622,9 +619,9 @@ ToolSvc.Trackin...   INFO finalize() successful
 *****Chrono*****     INFO ****************************************************************************************************
 *****Chrono*****     INFO  The Final CPU consumption ( Chrono ) Table (ordered)
 *****Chrono*****     INFO ****************************************************************************************************
-cObjR_ALL            INFO Time User   : Tot=  250 [ms] Ave/Min/Max= 83.3(+-   91)/    0/  210 [ms] #=  3
-cObj_ALL             INFO Time User   : Tot=  350 [ms] Ave/Min/Max= 20.6(+- 57.6)/    0/  240 [ms] #= 17
-ChronoStatSvc        INFO Time User   : Tot= 30.5  [s]                                             #=  1
+cObjR_ALL            INFO Time User   : Tot=  240 [ms] Ave/Min/Max=   80(+- 86.4)/    0/  200 [ms] #=  3
+cObj_ALL             INFO Time User   : Tot=  320 [ms] Ave/Min/Max= 18.8(+- 52.9)/    0/  220 [ms] #= 17
+ChronoStatSvc        INFO Time User   : Tot= 29.4  [s]                                             #=  1
 *****Chrono*****     INFO ****************************************************************************************************
 ChronoStatSvc.f...   INFO  Service finalized successfully 
 ApplicationMgr       INFO Application Manager Finalized successfully
diff --git a/Simulation/FastShower/FastCaloSim/src/FastShowerCellBuilderTool.cxx b/Simulation/FastShower/FastCaloSim/src/FastShowerCellBuilderTool.cxx
index a6f9d6b9db12..b8e20225b957 100755
--- a/Simulation/FastShower/FastCaloSim/src/FastShowerCellBuilderTool.cxx
+++ b/Simulation/FastShower/FastCaloSim/src/FastShowerCellBuilderTool.cxx
@@ -35,6 +35,7 @@
 //#include "TruthHelper/IsGenNonInteracting.h"
 
 #include "PathResolver/PathResolver.h"
+#include "AthenaKernel/RNGWrapper.h"
 
 #include "CaloEvent/CaloCellContainer.h"
 #include "CaloDetDescr/CaloDetDescrManager.h"
@@ -115,7 +116,7 @@ FastShowerCellBuilderTool::FastShowerCellBuilderTool(const std::string& type, co
   , m_DB_dirname(0)
   , m_coolhistsvc("CoolHistSvc", name)
   , m_partPropSvc("PartPropSvc", name)
-  , m_rndmSvc("AtDSFMTGenSvc", name)
+  , m_rndmSvc("AthRNGSvc", name)
   , m_extrapolator("")
   , m_caloSurfaceHelper("")
   , m_calo_tb_coord("TBCaloCoordinate")
@@ -381,7 +382,7 @@ StatusCode FastShowerCellBuilderTool::initialize()
   ATH_CHECK(m_rndmSvc.retrieve());
 
   //Get own engine with own seeds:
-  m_randomEngine = m_rndmSvc->GetEngine(m_randomEngineName);
+  m_randomEngine = m_rndmSvc->getEngine(this, m_randomEngineName);
   if (!m_randomEngine) {
     ATH_MSG_ERROR("Could not get random engine '" << m_randomEngineName << "'");
     return StatusCode::FAILURE;
@@ -1176,7 +1177,7 @@ FastShowerCellBuilderTool::process_particle(CaloCellContainer* theCellContainer,
                                             FastShowerInfoContainer* fastShowerInfoContainer,
                                             TRandom3& rndm,
                                             Stats& stats,
-                                            const EventContext& /*ctx*/) const
+                                            const EventContext& ctx) const
 {
   // no intersections with Calo layers found : abort;
   if(!hitVector || !hitVector->size())  {
@@ -1874,8 +1875,9 @@ FastShowerCellBuilderTool::process_particle(CaloCellContainer* theCellContainer,
             }
           */
 
+          CLHEP::HepRandomEngine* engine = m_randomEngine->getEngine (ctx);
           double rndfactor=-1;
-          while(rndfactor<=0) rndfactor=CLHEP::RandGaussZiggurat::shoot(m_randomEngine,1.0,smaple_err/sqrt(ecell/1000));
+          while(rndfactor<=0) rndfactor=CLHEP::RandGaussZiggurat::shoot(engine,1.0,smaple_err/sqrt(ecell/1000));
           ecell*=rndfactor;
           //          if(ecell<0) ecell=0;
           //          log<<" Esmear="<<ecell<<endmsg;
@@ -2553,19 +2555,18 @@ StatusCode FastShowerCellBuilderTool::process(CaloCellContainer* theCellContaine
   return StatusCode::SUCCESS;
 }
 
-StatusCode FastShowerCellBuilderTool::setupEvent (const EventContext& /*ctx*/,
+StatusCode FastShowerCellBuilderTool::setupEvent (const EventContext& ctx,
                                                   TRandom3& rndm) const
 {
-  m_rndmSvc->print(m_randomEngineName);
+  m_rndmSvc->printEngineState(this,m_randomEngineName);
   unsigned int rseed=0;
+  CLHEP::HepRandomEngine* engine = m_randomEngine->getEngine(ctx);
   while(rseed==0) {
-    rseed=(unsigned int)( CLHEP::RandFlat::shoot(m_randomEngine) * std::numeric_limits<unsigned int>::max() );
+    rseed=(unsigned int)( CLHEP::RandFlat::shoot(engine) * std::numeric_limits<unsigned int>::max() );
   }
-  gRandom->SetSeed(rseed);
   rndm.SetSeed(rseed);
 
-  //if(gRandom) log<<" seed(gRandom="<<gRandom->ClassName()<<")="<<gRandom->GetSeed();
-  //            log<<" seed(rndm="<<rndm.ClassName()<<")="<<rndm.GetSeed();
+  //log<<" seed(rndm="<<rndm.ClassName()<<")="<<rndm.GetSeed();
   //log<< endmsg;
 
   return StatusCode::SUCCESS;
diff --git a/Simulation/FastShower/FastCaloSim/src/ParticleEnergyParametrization.cxx b/Simulation/FastShower/FastCaloSim/src/ParticleEnergyParametrization.cxx
index 4d1a30ff11f4..df3f7af3d11c 100755
--- a/Simulation/FastShower/FastCaloSim/src/ParticleEnergyParametrization.cxx
+++ b/Simulation/FastShower/FastCaloSim/src/ParticleEnergyParametrization.cxx
@@ -242,7 +242,6 @@ C                Error return
 }
 
 void ParticleEnergyParametrization::DiceParticle(ParticleEnergyShape& p,TRandom& rand) const {
-  TRandom& rand2 = *gRandom;
   if(!m_Ecal_vs_dist) {
     p.E=0;
     p.Ecal=0;
@@ -250,7 +249,7 @@ void ParticleEnergyParametrization::DiceParticle(ParticleEnergyShape& p,TRandom&
     p.dist000=0;
     return;
   }
-  GetRandom2 (rand2, *m_Ecal_vs_dist, p.dist_in, p.Ecal);
+  GetRandom2 (rand, *m_Ecal_vs_dist, p.dist_in, p.Ecal);
   int distbin=m_Ecal_vs_dist->FindBin(p.dist_in);
   if(distbin<1) distbin=1;
   if(distbin>m_Ecal_vs_dist->GetNbinsX()) distbin=m_Ecal_vs_dist->GetNbinsX();
@@ -258,11 +257,11 @@ void ParticleEnergyParametrization::DiceParticle(ParticleEnergyShape& p,TRandom&
   double xmin= m_Ecal_vs_dist->GetXaxis()->GetBinLowEdge(distbin);
   double xmax= m_Ecal_vs_dist->GetXaxis()->GetBinUpEdge(distbin);
 
-  //p.dist_in = GetRandomInBinRange(rand2, xmin,xmax ,(TH1F*)m_h_layer_d_fine);
+  //p.dist_in = GetRandomInBinRange(rand, xmin,xmax ,(TH1F*)m_h_layer_d_fine);
   if(m_h_layer_d_fine) {
     //cout<<" fine hist ptr="<<m_h_layer_d_fine<<endl;
     //cout<<" fine hist="<<m_h_layer_d_fine->GetName()<<" : "<<m_h_layer_d_fine->GetTitle()<<endl;
-    p.dist_in = GetRandomInBinRange(rand2, xmin,xmax ,(TH1*) m_h_layer_d_fine);
+    p.dist_in = GetRandomInBinRange(rand, xmin,xmax ,(TH1*) m_h_layer_d_fine);
   }
 
   const ParticleEnergyParametrizationInDistbin* shapeindist=DistPara(distbin);
@@ -320,7 +319,7 @@ void ParticleEnergyParametrization::DiceParticle(ParticleEnergyShape& p,TRandom&
       p.fcal_layer[i]=0;
       TH1* h1=shapeindist->m_ElayerProp[i];
       if(h1) {
-        double f=GetRandom(rand2, *h1)+shapeindist->m_mean(i);
+        double f=GetRandom(rand, *h1)+shapeindist->m_mean(i);
         if(f<0) f=0;
         p.fcal_layer[i]=f;
         p.fcal_tot+=f;
@@ -333,7 +332,7 @@ void ParticleEnergyParametrization::DiceParticle(ParticleEnergyShape& p,TRandom&
 //    p.fcal_layer[i]=0;
     TH1* h1=shapeindist->m_ElayerProp[i];
     if(h1) {
-      double f=GetRandom(rand2, *h1)+shapeindist->m_mean(i);
+      double f=GetRandom(rand, *h1)+shapeindist->m_mean(i);
       if(f<0) f=0;
 //        p.fcal_layer[i]=f;
       p.fcal_tot_uncor+=f;
-- 
GitLab


From f62be3d13b505a042d0bf8ce720c69b66dcacb98 Mon Sep 17 00:00:00 2001
From: scott snyder <snyder@bnl.gov>
Date: Fri, 18 Jan 2019 16:40:53 +0100
Subject: [PATCH 108/192] TrigCostRootAnalysis: Comply with ATLAS naming
 conventions.

Update some comments containing identifiers that were renamed earlier.
---
 .../TrigCostRootAnalysis/Root/Config.cxx      |  6 ++--
 .../Root/CounterRatesChain.cxx                |  2 +-
 .../TrigCostRootAnalysis/Root/MonitorBase.cxx |  4 +--
 .../Root/MonitorRates.cxx                     |  8 ++---
 .../Root/MonitorRatesUpgrade.cxx              | 30 +++++++++----------
 .../Root/MonitorSliceCPU.cxx                  |  2 +-
 .../Root/RatesChainItem.cxx                   |  2 +-
 .../Root/TrigConfInterface.cxx                | 14 ++++-----
 .../Root/TrigCostData_Calculations.cxx        |  6 ++--
 .../Root/TrigXMLService.cxx                   |  6 ++--
 10 files changed, 40 insertions(+), 40 deletions(-)

diff --git a/Trigger/TrigCost/TrigCostRootAnalysis/Root/Config.cxx b/Trigger/TrigCost/TrigCostRootAnalysis/Root/Config.cxx
index fce9ed7a8bad..647e07654474 100644
--- a/Trigger/TrigCost/TrigCostRootAnalysis/Root/Config.cxx
+++ b/Trigger/TrigCost/TrigCostRootAnalysis/Root/Config.cxx
@@ -1057,7 +1057,7 @@ namespace TrigCostRootAnalysis {
         break;
 
       case '1':
-        // I'm setting the _patternsNoLumiWeight strings
+        // I'm setting the patternsNoLumiWeight strings
         patternsNoLumiWeight.push_back(std::string(optarg));
         while (optind < argc) {
           if (std::string(argv[optind]).substr(0, 1) == "-") { //We're back to arguments
@@ -1068,7 +1068,7 @@ namespace TrigCostRootAnalysis {
         break;
 
       case '2':
-        // I'm setting the _patternsNoMuLumiWeight strings
+        // I'm setting the patternsNoMuLumiWeight strings
         patternsNoMuLumiWeight.push_back(std::string(optarg));
         while (optind < argc) {
           if (std::string(argv[optind]).substr(0, 1) == "-") { //We're back to arguments
@@ -1079,7 +1079,7 @@ namespace TrigCostRootAnalysis {
         break;
 
       case '3':
-        // I'm setting the _patternsNoBunchLumiWeight strings
+        // I'm setting the patternsNoBunchLumiWeight strings
         patternsNoBunchLumiWeight.push_back(std::string(optarg));
         while (optind < argc) {
           if (std::string(argv[optind]).substr(0, 1) == "-") { //We're back to arguments
diff --git a/Trigger/TrigCost/TrigCostRootAnalysis/Root/CounterRatesChain.cxx b/Trigger/TrigCost/TrigCostRootAnalysis/Root/CounterRatesChain.cxx
index 2b897d9aeb7d..8a52ae7e8b4f 100644
--- a/Trigger/TrigCost/TrigCostRootAnalysis/Root/CounterRatesChain.cxx
+++ b/Trigger/TrigCost/TrigCostRootAnalysis/Root/CounterRatesChain.cxx
@@ -105,7 +105,7 @@ namespace TrigCostRootAnalysis {
         L2->getLumiExtrapolationFactor(m_costData->getLumi(), m_disableEventLumiExtrapolation);
       //if (getName() == "HLT_cscmon_L1All") Info("DEBUG", "WL1:%f, NL1:%s, 1-L1: %f, HLT:%f, total: %f, lumi%f",
       // m_lowerRates->getLastWeight(), m_lowerRates->getName().c_str(),  1. - L1Weight,
-      // L2->getPSWeight(_includeExpress), L2->getPSWeight(_includeExpress) * ( 1. - L1Weight ),
+      // L2->getPSWeight(includeExpress), L2->getPSWeight(includeExpress) * ( 1. - L1Weight ),
       //  L2->getLumiExtrapolationFactor()  );
       m_cachedWeight = L2->getPSWeight(includeExpress) * (1. - L1Weight);
     } else { // A L1Chain
diff --git a/Trigger/TrigCost/TrigCostRootAnalysis/Root/MonitorBase.cxx b/Trigger/TrigCost/TrigCostRootAnalysis/Root/MonitorBase.cxx
index 771a7e4de662..13d52df40e8f 100644
--- a/Trigger/TrigCost/TrigCostRootAnalysis/Root/MonitorBase.cxx
+++ b/Trigger/TrigCost/TrigCostRootAnalysis/Root/MonitorBase.cxx
@@ -97,7 +97,7 @@ namespace TrigCostRootAnalysis {
   }
 
   /**
-   * @ param _pass Set which pass through the input files are we on.
+   * @ param pass Set which pass through the input files are we on.
    */
   void MonitorBase::setPass(UInt_t pass) {
     m_pass = pass;
@@ -253,7 +253,7 @@ namespace TrigCostRootAnalysis {
    * @param name reference to the name of counter collection to add (will be created if does not exist)
    * @param lumiBlockNumber Current LB, used for bookkeeping for this CounterCollection
    * @param lumiLength Length of current LB, used for bookkeeping for this CounterCollection
-   * @param _type Conf key specifying the type of this CounterCollection which may be queried later.
+   * @param type Conf key specifying the type of this CounterCollection which may be queried later.
    */
   void MonitorBase::addToCollectionsToProcess(const std::string& name, UInt_t lumiBlockNumber, Float_t lumiLength,
                                               const ConfKey_t type) {
diff --git a/Trigger/TrigCost/TrigCostRootAnalysis/Root/MonitorRates.cxx b/Trigger/TrigCost/TrigCostRootAnalysis/Root/MonitorRates.cxx
index cd3be03cff69..e6fd547bdbf4 100644
--- a/Trigger/TrigCost/TrigCostRootAnalysis/Root/MonitorRates.cxx
+++ b/Trigger/TrigCost/TrigCostRootAnalysis/Root/MonitorRates.cxx
@@ -405,9 +405,9 @@ namespace TrigCostRootAnalysis {
       CounterBaseRates* L1Counter = nullptr;
       if (itCm != counterMap->end()) L1Counter = (CounterBaseRates*) itCm->second;
 
-      //bool _hasL1Seed = kTRUE;
+      //bool hasL1Seed = kTRUE;
       if (L1Name == Config::config().getStr(kBlankString)) {
-        //_hasL1Seed = kFALSE;
+        //hasL1Seed = kFALSE;
         L1Counter = m_globalRateL1Counter;
       }
 
@@ -452,7 +452,7 @@ namespace TrigCostRootAnalysis {
       // Then at the end it subtracts this rate from the global rate. So we need to add *all* chains *but* this one.
 
       CounterBaseRates* thisChainsUniqueCounter = 0;
-      if (Config::config().getInt(kDoUniqueRates) == kTRUE /*&& _hasL1Seed == kTRUE*/) {
+      if (Config::config().getInt(kDoUniqueRates) == kTRUE /*&& hasL1Seed == kTRUE*/) {
         for (CounterMapIt_t itA = counterMap->begin(); itA != counterMap->end(); ++itA) {
           CounterBaseRates* counter = static_cast<CounterBaseRates*>(itA->second);
           if (counter->getStrDecoration(kDecType) != "UniqueHLT") continue;
@@ -617,7 +617,7 @@ namespace TrigCostRootAnalysis {
 
       // Debug
       // std::stringstream ss;
-      // for (UInt_t _group = 0; _group < chainGroups.size(); ++_group) ss << chainGroups.at(_group) << " ";
+      // for (UInt_t group = 0; group < chainGroups.size(); ++group) ss << chainGroups.at(group) << " ";
       // ss << TrigConfInterface::getChainCPSGroup(i);
       // Info("MonitorRates::createGroupCounters","Chain %s in groups: %s", TrigConfInterface::getChainName(i).c_str(),
       // ss.str().c_str());
diff --git a/Trigger/TrigCost/TrigCostRootAnalysis/Root/MonitorRatesUpgrade.cxx b/Trigger/TrigCost/TrigCostRootAnalysis/Root/MonitorRatesUpgrade.cxx
index e624ae4514b3..6d0533b0095c 100644
--- a/Trigger/TrigCost/TrigCostRootAnalysis/Root/MonitorRatesUpgrade.cxx
+++ b/Trigger/TrigCost/TrigCostRootAnalysis/Root/MonitorRatesUpgrade.cxx
@@ -262,8 +262,8 @@ namespace TrigCostRootAnalysis {
               if (t == 15) triggerLogic.addCondition("TE", 1, sE, 0, 0, 49);
               if (t == 16) triggerLogic.addCondition("HT", 1, sE, 0, 0, 49);
 
-              auto _it = m_upgradeChains.insert(ChainInfo(name.str(), 1, triggerLogic, group.str(), "", 1., 1.));
-              TriggerLogic* tl = const_cast<TriggerLogic*>(&(_it->m_triggerLogic)); //Why is this const in the first
+              auto it = m_upgradeChains.insert(ChainInfo(name.str(), 1, triggerLogic, group.str(), "", 1., 1.));
+              TriggerLogic* tl = const_cast<TriggerLogic*>(&(it->m_triggerLogic)); //Why is this const in the first
                                                                                      // place?
 
               RatesChainItem* L1 = new RatesChainItem(name.str(), /*chainLevel=*/ 1, 1.);
@@ -276,7 +276,7 @@ namespace TrigCostRootAnalysis {
     }
 
     for (std::multiset<ChainInfo>::iterator it = m_upgradeChains.begin(); it != m_upgradeChains.end(); ++it) {
-      //for (auto _item : m_upgradeChains) {
+      //for (auto item : m_upgradeChains) {
       if (it->m_level == 2) {
         continue; // not doing HLT yet
       }
@@ -373,18 +373,18 @@ namespace TrigCostRootAnalysis {
     // for (int jE = 10; jE <= 25; jE += 5) {
     //   for (int TE = 250; TE <= 500; TE += 50) {
 
-    //     std::string _chainName = "L1_4J" + std::to_string(jE) + "__AND__L1_TE" + std::to_string(TE);
-    //     CounterRatesIntersection* _L1Chain = new CounterRatesIntersection(m_costData, _chainName, ID++, 10,
+    //     std::string chainName = "L1_4J" + std::to_string(jE) + "__AND__L1_TE" + std::to_string(TE);
+    //     CounterRatesIntersection* L1Chain = new CounterRatesIntersection(m_costData, chainName, ID++, 10,
     // (MonitorBase*)this); // Mint new counter
-    //     _L1Chain->decorate(kDecRatesGroupName, "Intersection" );
-    //     _L1Chain->decorate(kDecPrescaleStr, "-");
-    //     _L1Chain->decorate(kDecType, "Intersection");
-    //     _L1Chain->addL1Item( m_chainItemsL1["L1_4J" + std::to_string(jE)] );
-    //     _L1Chain->addL1Item( m_chainItemsL1["L1_TE" + std::to_string(TE)] );
+    //     L1Chain->decorate(kDecRatesGroupName, "Intersection" );
+    //     L1Chain->decorate(kDecPrescaleStr, "-");
+    //     L1Chain->decorate(kDecType, "Intersection");
+    //     L1Chain->addL1Item( m_chainItemsL1["L1_4J" + std::to_string(jE)] );
+    //     L1Chain->addL1Item( m_chainItemsL1["L1_TE" + std::to_string(TE)] );
     //     assert( m_chainItemsL1.count("L1_4J" + std::to_string(jE)) +   m_chainItemsL1.count("L1_TE" +
     // std::to_string(TE)) == 2);
-    //     (*counterMap)[_chainName] = static_cast<CounterBase*>(_L1Chain); // Insert into the counterMap
-    //     Info("MonitorRatesUpgrade::createL1Counters","Made a L1 counter for: %s", _L1Chain->getName().c_str() );
+    //     (*counterMap)[chainName] = static_cast<CounterBase*>(L1Chain); // Insert into the counterMap
+    //     Info("MonitorRatesUpgrade::createL1Counters","Made a L1 counter for: %s", L1Chain->getName().c_str() );
     //   }
     // }
 
@@ -724,11 +724,11 @@ namespace TrigCostRootAnalysis {
 
 
     //if ( fabs( m_eventsToMix - round(m_eventsToMix) ) <  0.1) m_eventsToMix = round(m_eventsToMix);
-    ////static Int_t _debug2 = 0;
-    // if (++_debug2 < 20) Info("MonitorRatesUpgrade::newEvent", "Mixing %i events (f %f)", (Int_t)
+    ////static Int_t debug2 = 0;
+    // if (++debug2 < 20) Info("MonitorRatesUpgrade::newEvent", "Mixing %i events (f %f)", (Int_t)
     // round(m_eventsToMix), m_eventsToMix);
     // // Add pileup
-    // for (Int_t _pu = 0; _pu <  (Int_t) round(m_eventsToMix); ++_pu) { // Cast to int rounds down
+    // for (Int_t pu = 0; pu <  (Int_t) round(m_eventsToMix); ++pu) { // Cast to int rounds down
     //   UInt_t pileupLottery = m_R3.Integer( m_pileupDatabase.size() );
     //   m_thisEventPtr->add( m_pileupDatabase.at( pileupLottery ) );
     // }
diff --git a/Trigger/TrigCost/TrigCostRootAnalysis/Root/MonitorSliceCPU.cxx b/Trigger/TrigCost/TrigCostRootAnalysis/Root/MonitorSliceCPU.cxx
index bc8bfb74a267..d66c6289d741 100644
--- a/Trigger/TrigCost/TrigCostRootAnalysis/Root/MonitorSliceCPU.cxx
+++ b/Trigger/TrigCost/TrigCostRootAnalysis/Root/MonitorSliceCPU.cxx
@@ -142,7 +142,7 @@ namespace TrigCostRootAnalysis {
   /**
    * Construct new counter of correct derived type, pass back as base type.
    * This function must be implemented by all derived monitor types.
-   * @see MonitorBase::addCounter( const std::string &_name, Int_t _ID )
+   * @see MonitorBase::addCounter( const std::string &_name, Int_t ID )
    * @param name Cost reference to name of counter.
    * @param ID Reference to ID number of counter.
    * @returns Base class pointer to new counter object of correct serived type.
diff --git a/Trigger/TrigCost/TrigCostRootAnalysis/Root/RatesChainItem.cxx b/Trigger/TrigCost/TrigCostRootAnalysis/Root/RatesChainItem.cxx
index f2ba8657c291..e2173479e915 100644
--- a/Trigger/TrigCost/TrigCostRootAnalysis/Root/RatesChainItem.cxx
+++ b/Trigger/TrigCost/TrigCostRootAnalysis/Root/RatesChainItem.cxx
@@ -369,7 +369,7 @@ namespace TrigCostRootAnalysis {
   }
 
   /**
-   * @param _eventTOBs A TOBAccumulator of all TOBs in this event or pseudo-event (simulated high pileup TOB overlay).
+   * @param eventTOBs A TOBAccumulator of all TOBs in this event or pseudo-event (simulated high pileup TOB overlay).
    * Note - this function call requires a TriggerLogic pointer to be set, this logic will be used against the set of
    *TOBs
    */
diff --git a/Trigger/TrigCost/TrigCostRootAnalysis/Root/TrigConfInterface.cxx b/Trigger/TrigCost/TrigCostRootAnalysis/Root/TrigConfInterface.cxx
index d82ed86d6d99..37a2b0197519 100644
--- a/Trigger/TrigCost/TrigCostRootAnalysis/Root/TrigConfInterface.cxx
+++ b/Trigger/TrigCost/TrigCostRootAnalysis/Root/TrigConfInterface.cxx
@@ -526,7 +526,7 @@ namespace TrigCostRootAnalysis {
     if (Config::config().debug()) Info("TrigConfInterface::dump", "Saving trigger configuration to %s",
                                        fileName.c_str());
 
-    //std::ofstream _foutHtml( std::string(fileName + ".htm").c_str() );
+    //std::ofstream foutHtml( std::string(fileName + ".htm").c_str() );
     std::ofstream foutJson(fileName.c_str());
 
     JsonExport* json = new JsonExport();
@@ -541,9 +541,9 @@ namespace TrigCostRootAnalysis {
     // CHAIN
     for (UInt_t c = 0; c < getTCT()->GetChainN(); ++c) {
       Bool_t isL1 = kFALSE;
-      //std::string _counter = "</b>, Counter:<i>";
+      //std::string counter = "</b>, Counter:<i>";
       if (getTCT()->GetChainLevel(c) == 1) {
-        //_counter = "</b>, CTPID:<i>";
+        //counter = "</b>, CTPID:<i>";
         isL1 = kTRUE;
       } else if (jsonDoingL1 == kTRUE) {
         //switch over to HLT
@@ -552,16 +552,16 @@ namespace TrigCostRootAnalysis {
         jsonDoingL1 = kFALSE;
       }
       //foutHtml << "<hr>" << std::endl;
-      //foutHtml << "<li>Trigger Chain: Name:<b>" << getTCT()->GetChainName(c) << _counter <<
+      //foutHtml << "<li>Trigger Chain: Name:<b>" << getTCT()->GetChainName(c) << counter <<
       // getTCT()->GetChainCounter(c) << "</i></li>" << std::endl;
       std::string chainName = getTCT()->GetChainName(c);
       json->addNode(foutJson, chainName + " (PS:" + floatToString(getTCT()->GetPrescale(chainName), 2) + ")", "C");
       // foutHtml << "<li>Prescale:<i>" << getPrescale( getTCT()->GetChainName(c) ) << "</i></li>" << std::endl;
       // if (getTCT()->GetChainGroupNameSize(c)) {
       //   foutHtml << "<li>Groups:<i>";
-      //   for (UInt_t _g = 0; _g < getTCT()->GetChainGroupNameSize(c); ++_g) {
-      //     foutHtml << getTCT()->GetChainGroupName( c, _g );
-      //     if (_g != getTCT()->GetChainGroupNameSize(c) - 1) foutHtml << ",";
+      //   for (UInt_t g = 0; g < getTCT()->GetChainGroupNameSize(c); ++g) {
+      //     foutHtml << getTCT()->GetChainGroupName( c, g );
+      //     if (g != getTCT()->GetChainGroupNameSize(c) - 1) foutHtml << ",";
       //   }
       //   foutHtml << "</i></li>" << std::endl;
       // }
diff --git a/Trigger/TrigCost/TrigCostRootAnalysis/Root/TrigCostData_Calculations.cxx b/Trigger/TrigCost/TrigCostRootAnalysis/Root/TrigCostData_Calculations.cxx
index 27f170278938..08659abc664b 100644
--- a/Trigger/TrigCost/TrigCostRootAnalysis/Root/TrigCostData_Calculations.cxx
+++ b/Trigger/TrigCost/TrigCostRootAnalysis/Root/TrigCostData_Calculations.cxx
@@ -632,13 +632,13 @@ namespace TrigCostRootAnalysis {
   /**
    * As algs are already stored under sequences (hence - vector<vector<stuff>>) we cannot go deeper.
    * But algs can have many ROI. So we use a linking index to connect seq_alg_roi_index() with a location in seq_roi().
-   * At this location we find a vector with size getSeqAlgNRoI(_seq, _alg) which contains a list of ROI ID
-   * These can be accessed in the D3PD by calling getRoIIndexFromId( _roiID ) and then looking at the returned D3PD
+   * At this location we find a vector with size getSeqAlgNRoI(seq, alg) which contains a list of ROI ID
+   * These can be accessed in the D3PD by calling getRoIIndexFromId( roiID ) and then looking at the returned D3PD
    *index location.
    *
    * Given this complexity, it is probably better to look at the example below.
    *
-   * @see getRoIIndexFromId( _roiID )
+   * @see getRoIIndexFromId( roiID )
    * @param n Sequence index in D3PD.
    * @param a Algorithm index in sequence.
    * @param roi Which ROI to get the ID for - this still needs to be mapped to the location in the D3PD using
diff --git a/Trigger/TrigCost/TrigCostRootAnalysis/Root/TrigXMLService.cxx b/Trigger/TrigCost/TrigCostRootAnalysis/Root/TrigXMLService.cxx
index e62829106226..647e40267420 100644
--- a/Trigger/TrigCost/TrigCostRootAnalysis/Root/TrigXMLService.cxx
+++ b/Trigger/TrigCost/TrigCostRootAnalysis/Root/TrigXMLService.cxx
@@ -83,8 +83,8 @@ namespace TrigCostRootAnalysis {
       if (mr == Config::config().getInt(kRunNumber)) {
         Fatal("TrigXMLService::TrigXMLService",
               "If doing MultiRun, provide the 'primary' run's inputs first, followed by the additional runs whose run numbers were speificed to --multiRun");
-        //Bool_t _primaryRunOpenedFirstBeforeMultiRunInputFiles = kFALSE;
-        //assert(_primaryRunOpenedFirstBeforeMultiRunInputFiles);
+        //Bool_t primaryRunOpenedFirstBeforeMultiRunInputFiles = kFALSE;
+        //assert(primaryRunOpenedFirstBeforeMultiRunInputFiles);
         std::abort();
       }
       parseRunXML(mr, kFALSE);
@@ -1259,7 +1259,7 @@ namespace TrigCostRootAnalysis {
    * Read (if not already imported) the XML rates and bunch groups for this run.
    * Return the weight for this event and store the event's  bunch group setting using the config service.
    * @param pass Which pass through the file(s), only increment counters on first pass
-   * @param _bcid Current event BCID
+   * @param bcid Current event BCID
    * @return The event weight from the EnhancedBias XML.
    */
   Float_t TrigXMLService::getEventWeight(UInt_t eventNumber, UInt_t lb, UInt_t pass) {
-- 
GitLab


From 3f321cae997bc63da47266eb8100284e9c58cece Mon Sep 17 00:00:00 2001
From: scott snyder <sss@karma>
Date: Thu, 24 Jan 2019 16:18:54 +0100
Subject: [PATCH 109/192] TrkExStraightLineIntersector: Add a simple unit test.

Add a simple unit test for StraightLineIntersector.
---
 .../CMakeLists.txt                            |   4 +
 .../share/StraightLineIntersector_test.ref    |  18 ++
 .../test/StraightLineIntersector_test.cxx     | 210 ++++++++++++++++++
 3 files changed, 232 insertions(+)
 create mode 100644 Tracking/TrkExtrapolation/TrkExStraightLineIntersector/share/StraightLineIntersector_test.ref
 create mode 100644 Tracking/TrkExtrapolation/TrkExStraightLineIntersector/test/StraightLineIntersector_test.cxx

diff --git a/Tracking/TrkExtrapolation/TrkExStraightLineIntersector/CMakeLists.txt b/Tracking/TrkExtrapolation/TrkExStraightLineIntersector/CMakeLists.txt
index 19840485b2b9..2ccff9b6bfe0 100644
--- a/Tracking/TrkExtrapolation/TrkExStraightLineIntersector/CMakeLists.txt
+++ b/Tracking/TrkExtrapolation/TrkExStraightLineIntersector/CMakeLists.txt
@@ -12,6 +12,7 @@ atlas_depends_on_subdirs( PUBLIC
                           Tracking/TrkExtrapolation/TrkExUtils
                           PRIVATE
                           GaudiKernel
+                          AtlasTest/TestTools
                           Tracking/TrkDetDescr/TrkSurfaces
                           Tracking/TrkEvent/TrkParameters )
 
@@ -28,3 +29,6 @@ atlas_add_component( TrkExStraightLineIntersector
 # Install files from the package:
 atlas_install_headers( TrkExStraightLineIntersector )
 
+atlas_add_test( StraightLineIntersector_test
+                SOURCES test/StraightLineIntersector_test.cxx
+                LINK_LIBRARIES TrkExUtils TestTools GaudiKernel )
diff --git a/Tracking/TrkExtrapolation/TrkExStraightLineIntersector/share/StraightLineIntersector_test.ref b/Tracking/TrkExtrapolation/TrkExStraightLineIntersector/share/StraightLineIntersector_test.ref
new file mode 100644
index 000000000000..f178777ac4fc
--- /dev/null
+++ b/Tracking/TrkExtrapolation/TrkExStraightLineIntersector/share/StraightLineIntersector_test.ref
@@ -0,0 +1,18 @@
+StraightLineIntersector_test
+ApplicationMgr    SUCCESS 
+====================================================================================================================================
+                                                   Welcome to ApplicationMgr (GaudiCoreSvc v27r1p99)
+                                          running on karma on Tue Jan 22 09:34:25 2019
+====================================================================================================================================
+ApplicationMgr       INFO Application Manager Configured successfully
+EventLoopMgr      WARNING Unable to locate service "EventSelector" 
+EventLoopMgr      WARNING No events will be processed from external input.
+HistogramPersis...WARNING Histograms saving not required.
+ApplicationMgr       INFO Application Manager Initialized successfully
+ApplicationMgr Ready
+ToolSvc.Trk::St...   INFO StraightLineIntersector::initialize() - package version TrkExStraightLineIntersector-00-00-00
+test_plane
+test_line
+test_cylinder
+test_disc
+test_perigee
diff --git a/Tracking/TrkExtrapolation/TrkExStraightLineIntersector/test/StraightLineIntersector_test.cxx b/Tracking/TrkExtrapolation/TrkExStraightLineIntersector/test/StraightLineIntersector_test.cxx
new file mode 100644
index 000000000000..cd1b87138450
--- /dev/null
+++ b/Tracking/TrkExtrapolation/TrkExStraightLineIntersector/test/StraightLineIntersector_test.cxx
@@ -0,0 +1,210 @@
+/*
+ * Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+ */
+/**
+ * @file TrkExStraightLineIntersector/test/StraghtLineIntersector_test.cxx
+ * @author scott snyder <snyder@bnl.gov>
+ * @date Jan, 2019
+ * @brief Regression tests for StraightLineIntersector
+ */
+
+#undef NDEBUG
+#include "TrkExInterfaces/IIntersector.h"
+#include "TestTools/initGaudi.h"
+#include "TestTools/FLOATassert.h"
+#include "GaudiKernel/ToolHandle.h"
+#include <iostream>
+#include <cassert>
+#include <cmath>
+
+
+void assertVec3D (const Amg::Vector3D& a, const Amg::Vector3D& b)
+{
+  FLOAT_EQassert (a.x(), b.x());
+  FLOAT_EQassert (a.y(), b.y());
+  FLOAT_EQassert (a.z(), b.z());
+}
+
+
+Amg::Vector3D unit (double x, double y, double z)
+{
+  return Amg::Vector3D (x, y, z).unit();
+}
+
+
+std::unique_ptr<Amg::Transform3D> transf (const Amg::Vector3D& pos,
+                                          const Amg::Vector3D& norm)
+{
+  Trk::CurvilinearUVT c (norm);
+  Amg::RotationMatrix3D curvilinearRotation;
+  curvilinearRotation.col(0) = c.curvU();
+  curvilinearRotation.col(1) = c.curvV();
+  curvilinearRotation.col(2) = c.curvT();
+  auto transf = std::make_unique<Amg::Transform3D>();
+  *transf = curvilinearRotation;
+  transf->pretranslate(pos);
+  return transf;
+}
+
+
+void test_plane (Trk::IIntersector& tool)
+{
+  std::cout << "test_plane\n";
+  Amg::Vector3D pos1 { 0, 0, 100 };
+  Amg::Vector3D norm1 { 0, 1, 1 };
+  Trk::PlaneSurface plane1 (transf (pos1, norm1));
+  Amg::Vector3D pos2 { 0, 0, 200 };
+  Trk::PlaneSurface plane2 (transf (pos2, norm1));
+  
+  Trk::TrackSurfaceIntersection isect0
+    (Amg::Vector3D{0,0,0}, unit(1,1,1), 0);
+
+  std::unique_ptr<const Trk::TrackSurfaceIntersection> isect1
+    (tool.intersectSurface (plane1, &isect0, 1));
+  assertVec3D (isect1->position(), {50, 50, 50});
+  assertVec3D (isect1->direction(), {1/sqrt(3.), 1/sqrt(3.), 1/sqrt(3.)});
+  FLOAT_EQassert (isect1->pathlength(), 50*sqrt(3.));
+
+  std::unique_ptr<const Trk::TrackSurfaceIntersection> isect1a
+    (tool.intersectSurface (plane2, isect1.get(), 1));
+  assertVec3D (isect1a->position(), {100, 100, 100});
+  assertVec3D (isect1a->direction(), {1/sqrt(3.), 1/sqrt(3.), 1/sqrt(3.)});
+  FLOAT_EQassert (isect1a->pathlength(), 100*sqrt(3.));
+
+  Trk::TrackSurfaceIntersection isect2
+    (Amg::Vector3D{0,0,0}, unit(0,0,-1), 0);
+  std::unique_ptr<const Trk::TrackSurfaceIntersection> isect3
+    (tool.intersectSurface (plane1, &isect2, 1));
+  assertVec3D (isect3->position(), {0, 0, 100});
+  assertVec3D (isect3->direction(), {0, 0, -1});
+  FLOAT_EQassert (isect3->pathlength(), -100);
+
+  std::unique_ptr<const Trk::TrackSurfaceIntersection> isect3a
+    (tool.intersectSurface (plane2, isect3.get(), 1));
+  assertVec3D (isect3a->position(), {0, 0, 200});
+  assertVec3D (isect3a->direction(), {0, 0, -1});
+  FLOAT_EQassert (isect3a->pathlength(), -200);
+}
+
+
+void test_line (Trk::IIntersector& tool)
+{
+  std::cout << "test_line\n";
+  Amg::Vector3D pos1 { 0, 0, 100 };
+  Amg::Vector3D norm1 { 0, 1, 0 };
+  Trk::StraightLineSurface line1 (transf (pos1, norm1));
+  Amg::Vector3D pos2 { 0, 0, 200 };
+  Trk::StraightLineSurface line2 (transf (pos2, norm1));
+
+  Trk::TrackSurfaceIntersection isect0
+    (Amg::Vector3D{0,0,0}, unit(1,0,1), 0);
+
+  std::unique_ptr<const Trk::TrackSurfaceIntersection> isect1
+    (tool.intersectSurface (line1, &isect0, 1));
+  assertVec3D (isect1->position(), {50, 0, 50});
+  assertVec3D (isect1->direction(), {1/sqrt(2.), 0, 1/sqrt(2.)});
+  FLOAT_EQassert (isect1->pathlength(), 50*sqrt(2.));
+
+  std::unique_ptr<const Trk::TrackSurfaceIntersection> isect2
+    (tool.intersectSurface (line2, isect1.get(), 1));
+  assertVec3D (isect2->position(), {100, 0, 100});
+  assertVec3D (isect2->direction(), {1/sqrt(2.), 0, 1/sqrt(2.)});
+  FLOAT_EQassert (isect2->pathlength(), 100*sqrt(2.));
+}
+
+
+void test_cylinder (Trk::IIntersector& tool)
+{
+  std::cout << "test_cylinder\n";
+
+  Amg::Vector3D pos1 { 0, 0, 0 };
+  Amg::Vector3D norm1 { 0, 0, 1 };
+  Trk::CylinderSurface cyl1 (transf (pos1, norm1).release(),  50, 100);
+  Trk::CylinderSurface cyl2 (transf (pos1, norm1).release(), 200, 100);
+
+  Trk::TrackSurfaceIntersection isect0
+    (Amg::Vector3D{0,0,0}, unit(1,0,1), 0);
+
+  std::unique_ptr<const Trk::TrackSurfaceIntersection> isect1
+    (tool.intersectSurface (cyl1, &isect0, 1));
+  assertVec3D (isect1->position(), {50, 0, 50});
+  assertVec3D (isect1->direction(), {1/sqrt(2.), 0, 1/sqrt(2.)});
+  FLOAT_EQassert (isect1->pathlength(), 50*sqrt(2.));
+
+  std::unique_ptr<const Trk::TrackSurfaceIntersection> isect2
+    (tool.intersectSurface (cyl2, isect1.get(), 1));
+  assertVec3D (isect2->position(), {200, 0, 200});
+  assertVec3D (isect2->direction(), {1/sqrt(2.), 0, 1/sqrt(2.)});
+  FLOAT_EQassert (isect2->pathlength(), 200*sqrt(2.));
+}
+
+
+void test_disc (Trk::IIntersector& tool)
+{
+  std::cout << "test_disc\n";
+
+  Amg::Vector3D pos1 { 0, 0, 75 };
+  Amg::Vector3D norm1 { 0, 0, 1 };
+  Trk::DiscSurface disc1 (transf (pos1, norm1));
+  Amg::Vector3D pos2 { 0, 0, 200 };
+  Trk::DiscSurface disc2 (transf (pos2, norm1));
+
+  Trk::TrackSurfaceIntersection isect0
+    (Amg::Vector3D{0,0,0}, unit(1,0,1), 0);
+
+  std::unique_ptr<const Trk::TrackSurfaceIntersection> isect1
+    (tool.intersectSurface (disc1, &isect0, 1));
+  assertVec3D (isect1->position(), {75, 0, 75});
+  assertVec3D (isect1->direction(), {1/sqrt(2.), 0, 1/sqrt(2.)});
+  FLOAT_EQassert (isect1->pathlength(), 75*sqrt(2.));
+
+  std::unique_ptr<const Trk::TrackSurfaceIntersection> isect2
+    (tool.intersectSurface (disc2, isect1.get(), 1));
+  assertVec3D (isect2->position(), {200, 0, 200});
+  assertVec3D (isect2->direction(), {1/sqrt(2.), 0, 1/sqrt(2.)});
+  FLOAT_EQassert (isect2->pathlength(), 200*sqrt(2.));
+}
+
+
+void test_perigee (Trk::IIntersector& tool)
+{
+  std::cout << "test_perigee\n";
+
+  Amg::Vector3D pos1 { 0, 0, 80 };
+  Amg::Vector3D norm1 { 0, 1, 0 };
+  Trk::PerigeeSurface perigee1 (transf (pos1, norm1));
+  Amg::Vector3D pos2 { 0, 0, 200 };
+  Trk::PerigeeSurface perigee2 (transf (pos2, norm1));
+
+  Trk::TrackSurfaceIntersection isect0
+    (Amg::Vector3D{0,0,0}, unit(1,0,1), 0);
+
+  std::unique_ptr<const Trk::TrackSurfaceIntersection> isect1
+    (tool.intersectSurface (perigee1, &isect0, 1));
+  assertVec3D (isect1->position(), {40, 0, 40});
+  assertVec3D (isect1->direction(), {1/sqrt(2.), 0, 1/sqrt(2.)});
+  FLOAT_EQassert (isect1->pathlength(), 40*sqrt(2.));
+
+  std::unique_ptr<const Trk::TrackSurfaceIntersection> isect2
+    (tool.intersectSurface (perigee2, isect1.get(), 1));
+  assertVec3D (isect2->position(), {100, 0, 100});
+  assertVec3D (isect2->direction(), {1/sqrt(2.), 0, 1/sqrt(2.)});
+  FLOAT_EQassert (isect2->pathlength(), 100*sqrt(2.));
+}
+
+
+int main()
+{
+  std::cout << "StraightLineIntersector_test\n";
+  ISvcLocator* svcloc = nullptr;
+  Athena_test::initGaudi (svcloc);
+  ToolHandle<Trk::IIntersector> tool ("Trk::StraightLineIntersector");
+  assert( tool.retrieve().isSuccess() );
+
+  test_plane (*tool);
+  test_line (*tool);
+  test_cylinder (*tool);
+  test_disc (*tool);
+  test_perigee (*tool);
+  return 0;
+}
-- 
GitLab


From 0eeb94bc3e3e96035af9efa4a39cab11ad117da9 Mon Sep 17 00:00:00 2001
From: scott snyder <snyder@bnl.gov>
Date: Fri, 25 Jan 2019 00:51:34 +0100
Subject: [PATCH 110/192] DiTauRec: Migrate to using VarHandles.

Use Read/Write handles instead of direct SG access.
Also general cleanup.  Make tool methods const and the algorithm reentrant.
---
 Reconstruction/DiTauRec/DiTauRec/CellFinder.h | 11 ++-
 .../DiTauRec/DiTauRec/DiTauBuilder.h          | 25 ++++---
 .../DiTauRec/DiTauRec/DiTauToolBase.h         | 12 +--
 .../DiTauRec/DiTauRec/DiTauTrackFinder.h      | 18 ++---
 Reconstruction/DiTauRec/DiTauRec/ElMuFinder.h | 21 +++---
 .../DiTauRec/DiTauRec/IDVarCalculator.h       | 12 ++-
 .../DiTauRec/DiTauRec/SeedJetBuilder.h        | 18 +++--
 .../DiTauRec/DiTauRec/SubjetBuilder.h         | 13 ++--
 .../DiTauRec/DiTauRec/VertexFinder.h          | 26 ++++---
 .../DiTauRec/python/DiTauBuilder.py           |  3 +-
 Reconstruction/DiTauRec/src/CellFinder.cxx    | 14 +---
 Reconstruction/DiTauRec/src/DiTauBuilder.cxx  | 74 ++++++-------------
 Reconstruction/DiTauRec/src/DiTauToolBase.cxx | 15 +---
 .../DiTauRec/src/DiTauTrackFinder.cxx         | 54 ++++----------
 Reconstruction/DiTauRec/src/ElMuFinder.cxx    | 44 +++--------
 .../DiTauRec/src/IDvarCalculator.cxx          | 19 ++---
 .../DiTauRec/src/SeedJetBuilder.cxx           | 28 +++----
 Reconstruction/DiTauRec/src/SubjetBuilder.cxx | 14 +---
 Reconstruction/DiTauRec/src/VertexFinder.cxx  | 63 ++++++----------
 19 files changed, 180 insertions(+), 304 deletions(-)

diff --git a/Reconstruction/DiTauRec/DiTauRec/CellFinder.h b/Reconstruction/DiTauRec/DiTauRec/CellFinder.h
index 31b0c43cc689..c6cf526005ac 100644
--- a/Reconstruction/DiTauRec/DiTauRec/CellFinder.h
+++ b/Reconstruction/DiTauRec/DiTauRec/CellFinder.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef DITAUREC_CELLFINDER_H
@@ -25,14 +25,13 @@ public:
  //-------------------------------------------------------------
  virtual ~CellFinder();
 
- virtual StatusCode initialize();
+ virtual StatusCode initialize() override;
 
- virtual StatusCode execute(DiTauCandidateData * data);
+ virtual StatusCode execute(DiTauCandidateData * data,
+                            const EventContext& ctx) const override;
 
- virtual StatusCode eventFinalize(DiTauCandidateData *data);
 
-
- virtual void cleanup(DiTauCandidateData *) { }
+ virtual void cleanup(DiTauCandidateData *) override { }
  
 
 private:
diff --git a/Reconstruction/DiTauRec/DiTauRec/DiTauBuilder.h b/Reconstruction/DiTauRec/DiTauRec/DiTauBuilder.h
index b251aa67a666..f0081719297d 100644
--- a/Reconstruction/DiTauRec/DiTauRec/DiTauBuilder.h
+++ b/Reconstruction/DiTauRec/DiTauRec/DiTauBuilder.h
@@ -1,30 +1,37 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef DITAUREC_DITAUBUILDER_H
 #define DITAUREC_DITAUBUILDER_H 1
 
-#include "AthenaBaseComps/AthAlgorithm.h"
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
 #include "AthenaBaseComps/AthAlgTool.h"
+#include "StoreGate/WriteHandleKey.h"
+#include "StoreGate/ReadHandleKey.h"
+#include "xAODTau/DiTauJetContainer.h"
+#include "xAODJet/JetContainer.h"
 
 #include "DiTauToolBase.h"
 #include "GaudiKernel/ToolHandle.h"
 
 
-class DiTauBuilder: public ::AthAlgorithm { 
+class DiTauBuilder: public ::AthReentrantAlgorithm { 
 	public: 
 		DiTauBuilder( const std::string& name, ISvcLocator* pSvcLocator );
 		virtual ~DiTauBuilder(); 
 
-		virtual StatusCode  initialize();
-		virtual StatusCode  execute();
-		virtual StatusCode  finalize();
+		virtual StatusCode  initialize() override;
+		virtual StatusCode  execute(const EventContext&) const override;
+		virtual StatusCode  finalize() override;
 
 	private: 
-		std::string m_diTauContainerName;  // ditau output container name
-		std::string m_diTauAuxContainerName;  // ditau output aux container name
-		std::string m_seedJetName;  // name for seed jet collection name
+                // ditau output container name
+                SG::WriteHandleKey<xAOD::DiTauJetContainer> m_diTauContainerName
+                { this, "DiTauContainer", "DiTauJets", "" };
+                // name for seed jet collection name
+                SG::ReadHandleKey<xAOD::JetContainer> m_seedJetName
+                { this, "SeedJetName", "AntiKt10LCTopoJets", "" };
 		float m_minPt;  // minimal jet seed pt
 		float m_maxEta;  // maximal jet seed eta
 		float m_Rjet;   // jet radius
diff --git a/Reconstruction/DiTauRec/DiTauRec/DiTauToolBase.h b/Reconstruction/DiTauRec/DiTauRec/DiTauToolBase.h
index cc88c1f76302..f437d9d683d4 100644
--- a/Reconstruction/DiTauRec/DiTauRec/DiTauToolBase.h
+++ b/Reconstruction/DiTauRec/DiTauRec/DiTauToolBase.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef TOOLBASE_DITAU_H
@@ -42,18 +42,14 @@
          //-----------------------------------------------------------------
          //! Execute - called for each Ditau candidate
          //-----------------------------------------------------------------
-         virtual StatusCode execute( DiTauCandidateData *data );
+         virtual StatusCode execute( DiTauCandidateData *data,
+                                     const EventContext& ctx) const;
  
          //-----------------------------------------------------------------
          //! Cleanup - called for each Ditau rejected candidate
          //-----------------------------------------------------------------
          virtual void cleanup( DiTauCandidateData *data );
  
-         //-----------------------------------------------------------------
-         //! Event finalizer - called at the end of each event
-         //-----------------------------------------------------------------
-         virtual StatusCode eventFinalize( DiTauCandidateData *data );
- 
          //-----------------------------------------------------------------
          //! Finalizer
          //-----------------------------------------------------------------
@@ -70,4 +66,4 @@
  
  };
  
- #endif // TOOLBASE_DITAU_H
\ No newline at end of file
+ #endif // TOOLBASE_DITAU_H
diff --git a/Reconstruction/DiTauRec/DiTauRec/DiTauTrackFinder.h b/Reconstruction/DiTauRec/DiTauRec/DiTauTrackFinder.h
index 4c6f7043f473..5d1dc38ee558 100644
--- a/Reconstruction/DiTauRec/DiTauRec/DiTauTrackFinder.h
+++ b/Reconstruction/DiTauRec/DiTauRec/DiTauTrackFinder.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef DITAUREC_TRACKFINDER_H
@@ -8,6 +8,7 @@
 #include "DiTauToolBase.h"
 
 #include "GaudiKernel/ToolHandle.h"
+#include "StoreGate/ReadHandleKey.h"
 
 #include "xAODTracking/Vertex.h"
 #include "xAODTracking/TrackParticle.h"
@@ -31,12 +32,10 @@ public:
  //-------------------------------------------------------------
  virtual ~DiTauTrackFinder();
 
- virtual StatusCode initialize();
-
- virtual StatusCode execute(DiTauCandidateData * data);
-
- virtual StatusCode eventFinalize(DiTauCandidateData *data);
+ virtual StatusCode initialize() override;
 
+ virtual StatusCode execute(DiTauCandidateData * data,
+                            const EventContext& ctx) const override;
 
  virtual void cleanup(DiTauCandidateData *) { }
  
@@ -55,11 +54,11 @@ public:
                        const xAOD::Vertex*,
                        std::vector<const xAOD::TrackParticle*>&,
                        std::vector<const xAOD::TrackParticle*>&,
-                       std::vector<const xAOD::TrackParticle*>& );
+                       std::vector<const xAOD::TrackParticle*>& ) const;
 
  DiTauTrackType diTauTrackType( const DiTauCandidateData*,
                                 const xAOD::TrackParticle*,
-                                const xAOD::Vertex* );
+                                const xAOD::Vertex* ) const;
 
 
 
@@ -67,7 +66,8 @@ public:
 private:
  float m_MaxDrJet;
  float m_MaxDrSubjet;
- std::string m_TrackParticleContainerName;
+ SG::ReadHandleKey<xAOD::TrackParticleContainer> m_TrackParticleContainerName
+ { this, "TrackParticleContainer", "InDetTrackParticles", "" };
  ToolHandle<Trk::ITrackSelectorTool> m_TrackSelectorTool;
  // ToolHandle< Trk::IParticleCaloExtensionTool > m_ParticleCaloExtensionTool;
 
diff --git a/Reconstruction/DiTauRec/DiTauRec/ElMuFinder.h b/Reconstruction/DiTauRec/DiTauRec/ElMuFinder.h
index b391a8ffba23..e114f613a3cc 100644
--- a/Reconstruction/DiTauRec/DiTauRec/ElMuFinder.h
+++ b/Reconstruction/DiTauRec/DiTauRec/ElMuFinder.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef DITAUREC_ELMUFINDER_H
@@ -7,11 +7,14 @@
 
 #include "DiTauToolBase.h"
 
+#include "StoreGate/ReadHandle.h"
 #include "GaudiKernel/ToolHandle.h"
 
 // #include "MuonSelectorTools/IMuonSelectionTool.h"
 // #include "MuonSelectorTools/errorcheck.h"
 #include "MuonSelectorTools/MuonSelectionTool.h"
+#include "xAODEgamma/ElectronContainer.h"
+#include "xAODMuon/MuonContainer.h"
 
 class ElMuFinder : public DiTauToolBase {
 public:
@@ -28,21 +31,21 @@ public:
  //-------------------------------------------------------------
  virtual ~ElMuFinder();
 
- virtual StatusCode initialize();
+ virtual StatusCode initialize() override;
 
- virtual StatusCode execute(DiTauCandidateData * data);
+ virtual StatusCode execute(DiTauCandidateData * data,
+                            const EventContext& ctx) const override;
 
- virtual StatusCode eventFinalize(DiTauCandidateData *data);
-
-
- virtual void cleanup(DiTauCandidateData *) { }
+ virtual void cleanup(DiTauCandidateData *) override { }
  
 
 private:
-  std::string m_elContName;
+  SG::ReadHandleKey<xAOD::ElectronContainer> m_elContName
+  { this, "ElectronContainer", "Electrons", "" };
   float m_elMinPt;
   float m_elMaxEta;
-  std::string m_muContName;
+  SG::ReadHandleKey<xAOD::MuonContainer> m_muContName
+  { this, "MuonContainer", "Muons", "" };
   float m_muMinPt;
   float m_muMaxEta;
   int m_muQual;
diff --git a/Reconstruction/DiTauRec/DiTauRec/IDVarCalculator.h b/Reconstruction/DiTauRec/DiTauRec/IDVarCalculator.h
index 16511d91eaf6..2fa83a432a75 100644
--- a/Reconstruction/DiTauRec/DiTauRec/IDVarCalculator.h
+++ b/Reconstruction/DiTauRec/DiTauRec/IDVarCalculator.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef DITAUREC_IDVARCALCULATOR_H
@@ -25,14 +25,12 @@ public:
  //-------------------------------------------------------------
  virtual ~IDVarCalculator();
 
- virtual StatusCode initialize();
+ virtual StatusCode initialize() override;
 
- virtual StatusCode execute(DiTauCandidateData * data);
+ virtual StatusCode execute(DiTauCandidateData * data,
+                            const EventContext& ctx) const override;
 
- virtual StatusCode eventFinalize(DiTauCandidateData *data);
-
-
- virtual void cleanup(DiTauCandidateData *) { }
+ virtual void cleanup(DiTauCandidateData *) override { }
  
 
 private:
diff --git a/Reconstruction/DiTauRec/DiTauRec/SeedJetBuilder.h b/Reconstruction/DiTauRec/DiTauRec/SeedJetBuilder.h
index 96cd09974b9d..63ecf9116a72 100644
--- a/Reconstruction/DiTauRec/DiTauRec/SeedJetBuilder.h
+++ b/Reconstruction/DiTauRec/DiTauRec/SeedJetBuilder.h
@@ -1,11 +1,13 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef DITAUREC_SEEDJETBUILDER_H
 #define DITAUREC_SEEDJETBUILDER_H
 
 #include "DiTauToolBase.h"
+#include "xAODJet/JetContainer.h"
+#include "StoreGate/ReadHandle.h"
 
 
 class SeedJetBuilder : public DiTauToolBase {
@@ -23,16 +25,16 @@ public:
  //-------------------------------------------------------------
  virtual ~SeedJetBuilder();
 
- virtual StatusCode initialize();
+ virtual StatusCode initialize() override;
 
- virtual StatusCode execute(DiTauCandidateData * data);
+ virtual StatusCode execute(DiTauCandidateData * data,
+                            const EventContext& ctx) const override;
 
- virtual StatusCode eventFinalize(DiTauCandidateData *data);
-
- virtual void cleanup(DiTauCandidateData *) { }
+ virtual void cleanup(DiTauCandidateData *) override { }
 
 private:
-	std::string m_jetContainerName;
+ SG::ReadHandleKey<xAOD::JetContainer> m_jetContainerName
+ { this, "JetCollection", "AntiKt10LCTopoJets", "" };
 };
 
-#endif  /* SEEDJETBUILDER_H */
\ No newline at end of file
+#endif  /* SEEDJETBUILDER_H */
diff --git a/Reconstruction/DiTauRec/DiTauRec/SubjetBuilder.h b/Reconstruction/DiTauRec/DiTauRec/SubjetBuilder.h
index 9fa6c26aacb5..57dc5a27419e 100644
--- a/Reconstruction/DiTauRec/DiTauRec/SubjetBuilder.h
+++ b/Reconstruction/DiTauRec/DiTauRec/SubjetBuilder.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef DITAUREC_SUBJETBUILDER_H
@@ -24,13 +24,12 @@ public:
  //-------------------------------------------------------------
  virtual ~SubjetBuilder();
 
- virtual StatusCode initialize();
+ virtual StatusCode initialize() override;
 
- virtual StatusCode execute(DiTauCandidateData * data);
+ virtual StatusCode execute(DiTauCandidateData * data,
+                            const EventContext& ctx) const override;
 
- virtual StatusCode eventFinalize(DiTauCandidateData *data);
-
- virtual void cleanup(DiTauCandidateData *) { }
+ virtual void cleanup(DiTauCandidateData *) override { }
 
 
 private:
@@ -43,4 +42,4 @@ private:
 
 };
 
-#endif  /* SUBJETBUILDER_H */
\ No newline at end of file
+#endif  /* SUBJETBUILDER_H */
diff --git a/Reconstruction/DiTauRec/DiTauRec/VertexFinder.h b/Reconstruction/DiTauRec/DiTauRec/VertexFinder.h
index 8bf4b0b22c2c..e43b0a0155ca 100644
--- a/Reconstruction/DiTauRec/DiTauRec/VertexFinder.h
+++ b/Reconstruction/DiTauRec/DiTauRec/VertexFinder.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef DITAUREC_VERTEXFINDER_H
@@ -7,6 +7,8 @@
 
 #include "DiTauToolBase.h"
 #include "JetEDM/TrackVertexAssociation.h"
+#include "xAODTracking/VertexContainer.h"
+#include "StoreGate/ReadHandleKey.h"
 
 class VertexFinder : public DiTauToolBase {
 public:
@@ -23,13 +25,14 @@ public:
  //-------------------------------------------------------------
  virtual ~VertexFinder();
 
- virtual StatusCode initialize();
+ virtual StatusCode initialize() override;
 
- virtual StatusCode execute(DiTauCandidateData * data);
+ virtual StatusCode execute(DiTauCandidateData * data,
+                            const EventContext& ctx) const override;
 
- virtual StatusCode eventFinalize(DiTauCandidateData *data);
-
- ElementLink<xAOD::VertexContainer> getPV_TJVA(const xAOD::DiTauJet*, const xAOD::VertexContainer*);
+ ElementLink<xAOD::VertexContainer> getPV_TJVA(const xAOD::DiTauJet*, const xAOD::VertexContainer*,
+                                               float& maxJVF,
+                                               const EventContext& ctx) const;
 
  float getJetVertexFraction(const xAOD::Vertex*, const std::vector<const xAOD::TrackParticle*>&, const jet::TrackVertexAssociation*) const;
 
@@ -37,12 +40,11 @@ public:
 
 
 private:
-	std::string m_primVtxContainerName;
-	std::string m_assocTracksName;
-	std::string m_trackVertexAssocName;
-	float m_maxJVF;
-
-
+ SG::ReadHandleKey<xAOD::VertexContainer> m_primVtxContainerName
+ { this, "PrimVtxContainerName", "PrimaryVertices", "" };
+ std::string m_assocTracksName;
+ SG::ReadHandleKey<jet::TrackVertexAssociation> m_trackVertexAssocName
+ { this, "TrackVertexAssociation", "JetTrackVtxAssoc_forDiTaus", "" };
 };
 
 #endif  /* VERTEXFINDER_H */
diff --git a/Reconstruction/DiTauRec/python/DiTauBuilder.py b/Reconstruction/DiTauRec/python/DiTauBuilder.py
index eba03f923b39..0b3a307eca41 100644
--- a/Reconstruction/DiTauRec/python/DiTauBuilder.py
+++ b/Reconstruction/DiTauRec/python/DiTauBuilder.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 import os
 
@@ -74,7 +74,6 @@ class DiTauBuilder(Configured):
         DiTauBuilder = DiTauBuilder(
             name=self.name,
             DiTauContainer=_outputKey,
-            DiTauAuxContainer=_outputAuxKey,
             Tools=tools,
             SeedJetName=_jet_container,
             minPt=diTauFlags.diTauRecJetSeedPt(),
diff --git a/Reconstruction/DiTauRec/src/CellFinder.cxx b/Reconstruction/DiTauRec/src/CellFinder.cxx
index 912d0e94cd44..67618f55b2cb 100644
--- a/Reconstruction/DiTauRec/src/CellFinder.cxx
+++ b/Reconstruction/DiTauRec/src/CellFinder.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 
@@ -56,20 +56,12 @@ StatusCode CellFinder::initialize() {
     return StatusCode::SUCCESS;
 }
 
-//-------------------------------------------------------------------------
-// Event Finalize
-//-------------------------------------------------------------------------
-
-StatusCode CellFinder::eventFinalize(DiTauCandidateData * ) {
-
-    return StatusCode::SUCCESS;
-}
-
 //-------------------------------------------------------------------------
 // execute
 //-------------------------------------------------------------------------
 
-StatusCode CellFinder::execute(DiTauCandidateData * data) {
+StatusCode CellFinder::execute(DiTauCandidateData * data,
+                               const EventContext& /*ctx*/) const {
 
     ATH_MSG_DEBUG("execute CellFinder...");
 
diff --git a/Reconstruction/DiTauRec/src/DiTauBuilder.cxx b/Reconstruction/DiTauRec/src/DiTauBuilder.cxx
index 7a0918ec5f3f..92ee2a0918e6 100644
--- a/Reconstruction/DiTauRec/src/DiTauBuilder.cxx
+++ b/Reconstruction/DiTauRec/src/DiTauBuilder.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "DiTauRec/DiTauBuilder.h"
@@ -14,13 +14,12 @@
 #include "xAODTau/DiTauJet.h"
 #include "xAODTau/DiTauJetContainer.h"
 #include "xAODTau/DiTauJetAuxContainer.h"
+#include "StoreGate/WriteHandle.h"
+#include "StoreGate/ReadHandle.h"
 
 
 DiTauBuilder::DiTauBuilder( const std::string& name, ISvcLocator* pSvcLocator ) : 
-    AthAlgorithm( name, pSvcLocator ),
-    m_diTauContainerName("DiTauJets"),
-    m_diTauAuxContainerName("DiTauAuxJets."),
-    m_seedJetName("AntiKt10LCTopoJets"),
+    AthReentrantAlgorithm( name, pSvcLocator ),
     m_minPt(10000),
     m_maxEta(2.5),
     m_Rjet(1.0),
@@ -28,9 +27,6 @@ DiTauBuilder::DiTauBuilder( const std::string& name, ISvcLocator* pSvcLocator )
     m_Rcore(0.1),
     m_tools(this)
 {
-    declareProperty("DiTauContainer", m_diTauContainerName);
-    declareProperty("DiTauAuxContainer", m_diTauAuxContainerName);
-    declareProperty("SeedJetName", m_seedJetName);
     declareProperty("minPt", m_minPt);
     declareProperty("maxEta", m_maxEta);
     declareProperty("Rjet", m_Rjet);
@@ -48,7 +44,6 @@ StatusCode DiTauBuilder::initialize() {
     ATH_MSG_INFO ("Initializing " << name() << "...");
 
     // no tools allocated
-    StatusCode sc;
     if (m_tools.size() == 0) {
         ATH_MSG_ERROR("no tools given!");
         return StatusCode::FAILURE;
@@ -63,8 +58,7 @@ StatusCode DiTauBuilder::initialize() {
     unsigned int tool_count = 0;
 
     for (; itT != itTE; ++itT) {
-        sc = itT->retrieve();
-        if (sc.isFailure()) {
+        if (itT->retrieve().isFailure()) {
             ATH_MSG_WARNING("Cannot find tool named <" << *itT << ">");
         } else {
          ++tool_count;
@@ -79,6 +73,8 @@ StatusCode DiTauBuilder::initialize() {
         return StatusCode::FAILURE;
     }
 
+    ATH_CHECK( m_diTauContainerName.initialize() );
+    ATH_CHECK( m_seedJetName.initialize() );
 
     return StatusCode::SUCCESS;
 }
@@ -91,42 +87,22 @@ StatusCode DiTauBuilder::finalize() {
 }
 
 
-StatusCode DiTauBuilder::execute() {  
+StatusCode DiTauBuilder::execute(const EventContext& ctx) const {
     ATH_MSG_DEBUG ("Executing " << name() << "...");
     
-    StatusCode sc;
-
     // ----------------------------------------------------------------------------
     // preparing DiTau Candidate Container and storage in DiTauData
     // ----------------------------------------------------------------------------
     DiTauCandidateData rDiTauData;
 
-    xAOD::DiTauJetContainer* pContainer = 0;
-    xAOD::DiTauJetAuxContainer * pAuxContainer = 0;
-
-    pContainer = new xAOD::DiTauJetContainer();
-    sc = evtStore()->record(pContainer, m_diTauContainerName);
-    if (sc.isFailure()) {
-        ATH_MSG_ERROR("could not record DiTauContainer");
-        delete pContainer;
-        return StatusCode::FAILURE;
-    }
-
-    pAuxContainer = new xAOD::DiTauJetAuxContainer();
-    sc = evtStore()->record(pAuxContainer, m_diTauAuxContainerName);
-    if (sc.isFailure()) {
-        ATH_MSG_ERROR("could not record DiTauAuxContainer");
-        delete pAuxContainer;
-        return StatusCode::FAILURE;
-    }
-
-    pContainer->setStore(pAuxContainer);
-
+    auto pContainer = std::make_unique<xAOD::DiTauJetContainer>();
+    auto pAuxContainer = std::make_unique<xAOD::DiTauJetAuxContainer>();
+    pContainer->setStore(pAuxContainer.get());
 
     // set properties of DiTau Candidate 
     rDiTauData.xAODDiTau = 0;
-    rDiTauData.xAODDiTauContainer = pContainer; //
-    rDiTauData.diTauAuxContainer = pAuxContainer; //
+    rDiTauData.xAODDiTauContainer = pContainer.get(); //
+    rDiTauData.diTauAuxContainer = pAuxContainer.get(); //
     rDiTauData.seed = 0;
     rDiTauData.seedContainer = 0;
 
@@ -134,18 +110,18 @@ StatusCode DiTauBuilder::execute() {
     rDiTauData.Rsubjet = m_Rsubjet;
     rDiTauData.Rcore = m_Rcore;
 
+    SG::WriteHandle<xAOD::DiTauJetContainer> diTauContainerH 
+      (m_diTauContainerName, ctx);
+    ATH_CHECK( diTauContainerH.record (std::move (pContainer),
+                                       std::move (pAuxContainer)) );
+
     // ----------------------------------------------------------------------------
     // retrieve di-tau seed jets and loop over seeds
     // ----------------------------------------------------------------------------
 
-    const xAOD::JetContainer* pSeedContainer;
-    sc = evtStore()->retrieve(pSeedContainer, m_seedJetName);
-    if (sc.isFailure() || !pSeedContainer) {
-        ATH_MSG_FATAL("could not find seed jets with key:" << m_seedJetName);
-        return StatusCode::FAILURE;
-    }
+    SG::ReadHandle<xAOD::JetContainer> pSeedContainer (m_seedJetName, ctx);
 
-    rDiTauData.seedContainer = pSeedContainer;
+    rDiTauData.seedContainer = pSeedContainer.get();
 
     for (const auto* seed: *pSeedContainer) {
         ATH_MSG_DEBUG("Seed pt: "<< seed->pt() << "  eta: "<< seed->eta());
@@ -162,9 +138,9 @@ StatusCode DiTauBuilder::execute() {
         rDiTauData.xAODDiTauContainer->push_back(rDiTauData.xAODDiTau);
 
         // handle di-tau candidate
+        StatusCode sc = StatusCode::SUCCESS;
         for (auto tool: m_tools) {
-            sc = tool->execute(&rDiTauData);
-
+            sc = tool->execute(&rDiTauData, ctx);
             if (sc.isFailure()) break;
         }
 
@@ -180,13 +156,7 @@ StatusCode DiTauBuilder::execute() {
     // // TODO: tool finalizers needed here
     // sc = StatusCode::SUCCESS;
 
-    ATH_MSG_DEBUG("execute tool finializers");
     rDiTauData.xAODDiTau = 0;
-    for (auto tool: m_tools) {
-        sc = tool->eventFinalize(&rDiTauData);
-        if (!sc.isSuccess())
-            return StatusCode::FAILURE;
-    }
 
     ATH_MSG_DEBUG("end execute()");
     return StatusCode::SUCCESS;
diff --git a/Reconstruction/DiTauRec/src/DiTauToolBase.cxx b/Reconstruction/DiTauRec/src/DiTauToolBase.cxx
index 93c929d7e141..c88521637e4a 100644
--- a/Reconstruction/DiTauRec/src/DiTauToolBase.cxx
+++ b/Reconstruction/DiTauRec/src/DiTauToolBase.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 //-----------------------------------------------------------------------------
@@ -57,7 +57,8 @@
  //-------------------------------------------------------------------------
  // Execute
  //-------------------------------------------------------------------------
- StatusCode DiTauToolBase :: execute( DiTauCandidateData * )
+ StatusCode DiTauToolBase :: execute( DiTauCandidateData *,
+                                      const EventContext& /*ctx*/) const
  {
      return StatusCode :: SUCCESS;
  }
@@ -69,14 +70,6 @@
  {
  }
  
- //-------------------------------------------------------------------------
- // Finalizer
- //-------------------------------------------------------------------------
- StatusCode DiTauToolBase :: eventFinalize( DiTauCandidateData * )
- {
-     return StatusCode :: SUCCESS;
- }
- 
  //-------------------------------------------------------------------------
  // Finalizer
  //-------------------------------------------------------------------------
@@ -107,4 +100,4 @@
          ATH_MSG_VERBOSE("Retrieved tool " << tool);
      }
      return true;
- }
\ No newline at end of file
+ }
diff --git a/Reconstruction/DiTauRec/src/DiTauTrackFinder.cxx b/Reconstruction/DiTauRec/src/DiTauTrackFinder.cxx
index 6c7e05369ac4..9eb9b0a1d553 100644
--- a/Reconstruction/DiTauRec/src/DiTauTrackFinder.cxx
+++ b/Reconstruction/DiTauRec/src/DiTauTrackFinder.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 
@@ -17,6 +17,7 @@
 
 #include "tauRecTools/TrackSort.h"
 #include "tauRecTools/KineUtils.h"
+#include "StoreGate/ReadHandle.h"
 
 #include "fastjet/PseudoJet.hh"
 
@@ -31,14 +32,12 @@ DiTauTrackFinder::DiTauTrackFinder(const std::string& type,
     DiTauToolBase(type, name, parent),
     m_MaxDrJet(1.0),
     m_MaxDrSubjet(0.2),
-    m_TrackParticleContainerName("InDetTrackParticles"),
     m_TrackSelectorTool("")
     // m_ParticleCaloExtensionTool("")
 {
     declareInterface<DiTauToolBase > (this);
     declareProperty("MaxDrJet", m_MaxDrJet);
     declareProperty("MaxDrSubjet", m_MaxDrSubjet);
-    declareProperty("TrackParticleContainer", m_TrackParticleContainerName);
     declareProperty("TrackSelectorTool", m_TrackSelectorTool);
     // declareProperty("ParticleCaloExtensionTool", m_ParticleCaloExtensionTool);
 }
@@ -56,33 +55,18 @@ DiTauTrackFinder::~DiTauTrackFinder() {
 
 StatusCode DiTauTrackFinder::initialize() {
 
-    if (m_TrackSelectorTool.retrieve().isFailure()) {
-        ATH_MSG_FATAL("could not retrieve track TrackSelectorTool");
-        return StatusCode::FAILURE;
-    }
-    // if (m_ParticleCaloExtensionTool.retrieve().isFailure()) {
-        // ATH_MSG_FATAL("could not retrieve track ParticleCaloExtensionTool");
-        // return StatusCode::FAILURE;
-    // }
-
-    return StatusCode::SUCCESS;
-}
-
-//-------------------------------------------------------------------------
-// Event Finalize
-//-------------------------------------------------------------------------
-
-StatusCode DiTauTrackFinder::eventFinalize(DiTauCandidateData * ) {
-
-    return StatusCode::SUCCESS;
+  ATH_CHECK( m_TrackSelectorTool.retrieve() );
+  ATH_CHECK( m_TrackParticleContainerName.initialize() );
+  return StatusCode::SUCCESS;
 }
 
 //-------------------------------------------------------------------------
 // execute
 //-------------------------------------------------------------------------
 
-StatusCode DiTauTrackFinder::execute(DiTauCandidateData * data) {
-
+StatusCode DiTauTrackFinder::execute(DiTauCandidateData * data,
+                                     const EventContext& ctx) const
+{
     ATH_MSG_DEBUG("execute DiTauTrackFinder...");
 
     xAOD::DiTauJet *pDiTau = data->xAODDiTau;
@@ -92,15 +76,9 @@ StatusCode DiTauTrackFinder::execute(DiTauCandidateData * data) {
         return StatusCode::FAILURE;
     }
 
-    StatusCode sc;
-
     // retrieve track container
-    const xAOD::TrackParticleContainer* pTrackParticleCont = 0;
-    sc = evtStore()->retrieve(pTrackParticleCont, m_TrackParticleContainerName);
-    if (sc.isFailure() || !pTrackParticleCont) {
-        ATH_MSG_WARNING("could not find seed jets with key:" << m_TrackParticleContainerName);        
-        return StatusCode::FAILURE;
-    }
+    SG::ReadHandle<xAOD::TrackParticleContainer> pTrackParticleCont
+      (m_TrackParticleContainerName, ctx);
 
     std::vector<const xAOD::TrackParticle*> tauTracks;    // good tracks in subjets
     std::vector<const xAOD::TrackParticle*> isoTracks;    // good tracks in isolation region
@@ -117,7 +95,7 @@ StatusCode DiTauTrackFinder::execute(DiTauCandidateData * data) {
     }
 
     // get tracks
-    getTracksFromPV(data, pTrackParticleCont, pVertex, tauTracks, isoTracks, otherTracks);
+    getTracksFromPV(data, pTrackParticleCont.get(), pVertex, tauTracks, isoTracks, otherTracks);
 
     // clear track links before association
     pDiTau->clearTrackLinks();
@@ -164,19 +142,19 @@ StatusCode DiTauTrackFinder::execute(DiTauCandidateData * data) {
     // associate tau tracks
     for (const auto& track : tauTracks ) {
         ATH_MSG_DEBUG("adding subjet track. eta: " << track->eta() << " phi: " << track->phi());
-        pDiTau->addTrack(pTrackParticleCont, track);
+        pDiTau->addTrack(pTrackParticleCont.get(), track);
     }
 
     // associate isolation tracks
     for (const auto& track : isoTracks ) {
         ATH_MSG_DEBUG("adding iso track. eta: " << track->eta() << " phi: " << track->phi());
-        pDiTau->addIsoTrack(pTrackParticleCont, track);
+        pDiTau->addIsoTrack(pTrackParticleCont.get(), track);
     }
 
     // associate other tracks
     for (const auto& track : otherTracks ) {
         ATH_MSG_DEBUG("adding other track. eta: " << track->eta() << " phi: " << track->phi());
-        pDiTau->addOtherTrack(pTrackParticleCont, track);
+        pDiTau->addOtherTrack(pTrackParticleCont.get(), track);
     }
 
 
@@ -189,7 +167,7 @@ void DiTauTrackFinder::getTracksFromPV( const DiTauCandidateData* data,
                                    const xAOD::Vertex* pVertex,
                                    std::vector<const xAOD::TrackParticle*> &tauTracks,
                                    std::vector<const xAOD::TrackParticle*> &isoTracks,
-                                   std::vector<const xAOD::TrackParticle*> &otherTracks) {
+                                   std::vector<const xAOD::TrackParticle*> &otherTracks) const {
     
     for (const auto& track : *pTrackParticleCont ) {
         DiTauTrackType type = diTauTrackType(data, track, pVertex);
@@ -211,7 +189,7 @@ void DiTauTrackFinder::getTracksFromPV( const DiTauCandidateData* data,
 
 DiTauTrackFinder::DiTauTrackType DiTauTrackFinder::diTauTrackType(const DiTauCandidateData* data,
                                                         const xAOD::TrackParticle* track,
-                                                        const xAOD::Vertex* pVertex) {
+                                                        const xAOD::Vertex* pVertex) const {
 
     xAOD::DiTauJet *pDiTau = data->xAODDiTau;
 
diff --git a/Reconstruction/DiTauRec/src/ElMuFinder.cxx b/Reconstruction/DiTauRec/src/ElMuFinder.cxx
index a89833341ebd..94bab9e23049 100644
--- a/Reconstruction/DiTauRec/src/ElMuFinder.cxx
+++ b/Reconstruction/DiTauRec/src/ElMuFinder.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2017, 2019 CERN for the benefit of the ATLAS collaboration
 */
 
 
@@ -15,6 +15,8 @@
 #include "MuonSelectorTools/MuonSelectionTool.h"
 
 #include "tauRecTools/KineUtils.h"
+
+#include "StoreGate/ReadHandle.h"
 //-------------------------------------------------------------------------
 // Constructor
 //-------------------------------------------------------------------------
@@ -23,19 +25,15 @@ ElMuFinder::ElMuFinder(const std::string& type,
     const std::string& name,
     const IInterface * parent) :
     DiTauToolBase(type, name, parent),
-    m_elContName("Electrons"),
     m_elMinPt(7000),
     m_elMaxEta(2.47),
-    m_muContName("Muons"),
     m_muMinPt(7000),
     m_muMaxEta(2.47),
     m_muQual(2)
 {
     declareInterface<DiTauToolBase > (this);
-    declareProperty("ElectronContainer", m_elContName);
     declareProperty("ElectronMinPt", m_elMinPt);
     declareProperty("ElectronMaxEta", m_elMaxEta);
-    declareProperty("MuonContainer", m_muContName);
     declareProperty("MuonMinPt", m_muMinPt);
     declareProperty("MuonMaxEta", m_muMaxEta);
     declareProperty("MuonQuality", m_muQual);
@@ -54,23 +52,17 @@ ElMuFinder::~ElMuFinder() {
 
 StatusCode ElMuFinder::initialize() {
 
-    return StatusCode::SUCCESS;
-}
-
-//-------------------------------------------------------------------------
-// Event Finalize
-//-------------------------------------------------------------------------
-
-StatusCode ElMuFinder::eventFinalize(DiTauCandidateData * ) {
-
-    return StatusCode::SUCCESS;
+  ATH_CHECK( m_elContName.initialize() );
+  ATH_CHECK( m_muContName.initialize() );
+  return StatusCode::SUCCESS;
 }
 
 //-------------------------------------------------------------------------
 // execute
 //-------------------------------------------------------------------------
 
-StatusCode ElMuFinder::execute(DiTauCandidateData * data) {
+StatusCode ElMuFinder::execute(DiTauCandidateData * data,
+                               const EventContext& ctx) const {
 
     ATH_MSG_DEBUG("execute ElMuFinder...");
 
@@ -81,24 +73,8 @@ StatusCode ElMuFinder::execute(DiTauCandidateData * data) {
         return StatusCode::FAILURE;
     }
 
-    StatusCode sc;
-
-    const xAOD::ElectronContainer* pElCont = 0;
-    sc = evtStore()->retrieve(pElCont, m_elContName);
-    if (sc.isFailure() || !pElCont) {
-        ATH_MSG_WARNING("could not find electrons with key:" << m_elContName <<
-                        " Continue without electron and muon finding.");
-        return StatusCode::SUCCESS;
-    }
-
-    const xAOD::MuonContainer* pMuCont = 0;
-    sc = evtStore()->retrieve(pMuCont, m_muContName);
-    if (sc.isFailure() || !pMuCont) {        
-        ATH_MSG_WARNING("could not find muons with key:" << m_muContName <<
-                        " Continue without electron and muon finding.");
-        return StatusCode::SUCCESS;
-    }
-
+    SG::ReadHandle<xAOD::ElectronContainer> pElCont (m_elContName, ctx);
+    SG::ReadHandle<xAOD::MuonContainer> pMuCont (m_muContName, ctx);
 
     // select electrons
     data->electrons.clear();
diff --git a/Reconstruction/DiTauRec/src/IDvarCalculator.cxx b/Reconstruction/DiTauRec/src/IDvarCalculator.cxx
index 13362d1d47b1..abf9bcaa2338 100644
--- a/Reconstruction/DiTauRec/src/IDvarCalculator.cxx
+++ b/Reconstruction/DiTauRec/src/IDvarCalculator.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2017, 2019 CERN for the benefit of the ATLAS collaboration
 */
 
 
@@ -42,20 +42,12 @@ StatusCode IDVarCalculator::initialize() {
     return StatusCode::SUCCESS;
 }
 
-//-------------------------------------------------------------------------
-// Event Finalize
-//-------------------------------------------------------------------------
-
-StatusCode IDVarCalculator::eventFinalize(DiTauCandidateData * ) {
-
-    return StatusCode::SUCCESS;
-}
-
 //-------------------------------------------------------------------------
 // execute
 //-------------------------------------------------------------------------
 
-StatusCode IDVarCalculator::execute(DiTauCandidateData * data) {
+StatusCode IDVarCalculator::execute(DiTauCandidateData * data,
+                                    const EventContext& /*ctx*/) const {
 
     ATH_MSG_DEBUG("execute IDVarCalculator...");
 
@@ -85,10 +77,11 @@ StatusCode IDVarCalculator::execute(DiTauCandidateData * data) {
     }
 
     // cells if available 
+    bool useCells = m_useCells;;
     std::vector<const CaloCell*> vSubjetCells = data->subjetCells;
     if (vSubjetCells.size()==0) {
         ATH_MSG_DEBUG("No cell information available.");
-        m_useCells = false; 
+        useCells = false; 
     } 
 
 
@@ -105,7 +98,7 @@ StatusCode IDVarCalculator::execute(DiTauCandidateData * data) {
     // ----------------------------------------------------------------------------
     // write f_core
     // ----------------------------------------------------------------------------
-    if (m_useCells == false) {
+    if (useCells == false) {
         ATH_MSG_DEBUG("no cells are used for ID variable calculation. Continue.");
         return StatusCode::SUCCESS;
     }
diff --git a/Reconstruction/DiTauRec/src/SeedJetBuilder.cxx b/Reconstruction/DiTauRec/src/SeedJetBuilder.cxx
index 1cea2c2f0bfe..008e585fa607 100644
--- a/Reconstruction/DiTauRec/src/SeedJetBuilder.cxx
+++ b/Reconstruction/DiTauRec/src/SeedJetBuilder.cxx
@@ -1,12 +1,13 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 
 #include "DiTauRec/SeedJetBuilder.h"
 #include "DiTauRec/DiTauToolBase.h"
-
 #include "DiTauRec/DiTauCandidateData.h"
+#include "StoreGate/ReadHandle.h"
+
 //-------------------------------------------------------------------------
 // Constructor
 //-------------------------------------------------------------------------
@@ -14,11 +15,9 @@
 SeedJetBuilder::SeedJetBuilder(const std::string& type,
     const std::string& name,
     const IInterface * parent) :
-    DiTauToolBase(type, name, parent),
-    m_jetContainerName("AntiKt10LCTopoJets")
+    DiTauToolBase(type, name, parent)
 {
 	declareInterface<DiTauToolBase > (this);
-	declareProperty("JetCollection", m_jetContainerName);
 }
 
 //-------------------------------------------------------------------------
@@ -33,22 +32,16 @@ SeedJetBuilder::~SeedJetBuilder() {
 //-------------------------------------------------------------------------
 
 StatusCode SeedJetBuilder::initialize() {
-	return StatusCode::SUCCESS;
-}
-
-//-------------------------------------------------------------------------
-// Event Finalize
-//-------------------------------------------------------------------------
-
-StatusCode SeedJetBuilder::eventFinalize(DiTauCandidateData *) {
-	return StatusCode::SUCCESS;
+  ATH_CHECK( m_jetContainerName.initialize() );
+  return StatusCode::SUCCESS;
 }
 
 //-------------------------------------------------------------------------
 // execute
 //-------------------------------------------------------------------------
 
-StatusCode SeedJetBuilder::execute(DiTauCandidateData * data) {
+StatusCode SeedJetBuilder::execute(DiTauCandidateData * data,
+                                   const EventContext& ctx) const {
 
 	ATH_MSG_DEBUG("jet seed finder executing...");
 
@@ -75,11 +68,10 @@ StatusCode SeedJetBuilder::execute(DiTauCandidateData * data) {
 
 
 	// retrieve jet container
-	const xAOD::JetContainer* pJetCont = nullptr;
-	ATH_CHECK(evtStore()->retrieve(pJetCont, m_jetContainerName));
+        SG::ReadHandle<xAOD::JetContainer> pJetCont (m_jetContainerName, ctx);
 	
 
-	pDiTau->setJet(pJetCont, pSeed);
+	pDiTau->setJet(pJetCont.get(), pSeed);
 
 	if (pDiTau->jetLink().isValid()) {
 		ATH_MSG_DEBUG("assciated seed jet with"
diff --git a/Reconstruction/DiTauRec/src/SubjetBuilder.cxx b/Reconstruction/DiTauRec/src/SubjetBuilder.cxx
index af00ffe8e21b..574d2f22f7b8 100644
--- a/Reconstruction/DiTauRec/src/SubjetBuilder.cxx
+++ b/Reconstruction/DiTauRec/src/SubjetBuilder.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 
@@ -59,20 +59,12 @@ StatusCode SubjetBuilder::initialize() {
 	return StatusCode::SUCCESS;
 }
 
-//-------------------------------------------------------------------------
-// Event Finalize
-//-------------------------------------------------------------------------
-
-StatusCode SubjetBuilder::eventFinalize(DiTauCandidateData * ) {
-
-	return StatusCode::SUCCESS;
-}
-
 //-------------------------------------------------------------------------
 // execute
 //-------------------------------------------------------------------------
 
-StatusCode SubjetBuilder::execute(DiTauCandidateData * data) {
+StatusCode SubjetBuilder::execute(DiTauCandidateData * data,
+                                  const EventContext& /*ctx*/) const {
 
 	ATH_MSG_DEBUG("subjet builder executing...");
 
diff --git a/Reconstruction/DiTauRec/src/VertexFinder.cxx b/Reconstruction/DiTauRec/src/VertexFinder.cxx
index e384456480bd..73f11eb2e674 100644
--- a/Reconstruction/DiTauRec/src/VertexFinder.cxx
+++ b/Reconstruction/DiTauRec/src/VertexFinder.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 
@@ -10,6 +10,7 @@
 
 #include "xAODTracking/VertexContainer.h"
 #include "xAODTracking/Vertex.h"
+#include "StoreGate/ReadHandle.h"
 
 //-------------------------------------------------------------------------
 // Constructor
@@ -19,15 +20,10 @@ VertexFinder::VertexFinder(const std::string& type,
     const std::string& name,
     const IInterface * parent) :
     DiTauToolBase(type, name, parent),
-    m_primVtxContainerName("PrimaryVertices"),
-    m_assocTracksName("GhostTrack"),
-    m_trackVertexAssocName("JetTrackVtxAssoc_forDiTaus"),
-    m_maxJVF(-100)
+    m_assocTracksName("GhostTrack")
 {
     declareInterface<DiTauToolBase > (this);
-    declareProperty("PrimVtxContainerName", m_primVtxContainerName);
     declareProperty("AssociatedTracks", m_assocTracksName);
-    declareProperty("TrackVertexAssociation", m_trackVertexAssocName);
 }
 
 //-------------------------------------------------------------------------
@@ -43,23 +39,17 @@ VertexFinder::~VertexFinder() {
 
 StatusCode VertexFinder::initialize() {
 
-    return StatusCode::SUCCESS;
-}
-
-//-------------------------------------------------------------------------
-// Event Finalize
-//-------------------------------------------------------------------------
-
-StatusCode VertexFinder::eventFinalize(DiTauCandidateData * ) {
-
-    return StatusCode::SUCCESS;
+  ATH_CHECK( m_primVtxContainerName.initialize() );
+  ATH_CHECK( m_trackVertexAssocName.initialize() );
+  return StatusCode::SUCCESS;
 }
 
 //-------------------------------------------------------------------------
 // execute
 //-------------------------------------------------------------------------
 
-StatusCode VertexFinder::execute(DiTauCandidateData * data) {
+StatusCode VertexFinder::execute(DiTauCandidateData * data,
+                                 const EventContext& ctx) const {
 
     ATH_MSG_DEBUG("execute VertexFinder...");
 
@@ -67,15 +57,10 @@ StatusCode VertexFinder::execute(DiTauCandidateData * data) {
   
     // get the primary vertex container from StoreGate
     //do it here because of tau trigger
-    const xAOD::VertexContainer* vxContainer = 0;
     const xAOD::Vertex* vxPrimary = 0;
-  
-    StatusCode sc = evtStore()->retrieve(vxContainer, m_primVtxContainerName);
-    if (sc.isFailure() || vxContainer->size() == 0) {
-        ATH_MSG_WARNING("Container (" << m_primVtxContainerName << 
-                        ") not found in StoreGate.");
-        return StatusCode::FAILURE;
-    }
+
+    SG::ReadHandle<xAOD::VertexContainer> vxContainer
+      (m_primVtxContainerName, ctx);
 
     // find default PrimaryVertex
     // see https://twiki.cern.ch/twiki/bin/viewauth/AtlasProtected/VertexReselectionOnAOD
@@ -96,19 +81,20 @@ StatusCode VertexFinder::execute(DiTauCandidateData * data) {
     }
         
     // associate vertex to tau
-    pDiTau->setVertex(vxContainer, vxPrimary);
+    pDiTau->setVertex(vxContainer.get(), vxPrimary);
        
 
     // try to find new PV with TJVA
     ATH_MSG_DEBUG("TJVA enabled -> try to find new PV for the tau candidate");
 
-    ElementLink<xAOD::VertexContainer> newPrimaryVertexLink = getPV_TJVA(pDiTau, vxContainer);
+    float maxJVF = -100;
+    ElementLink<xAOD::VertexContainer> newPrimaryVertexLink = getPV_TJVA(pDiTau, vxContainer.get(), maxJVF, ctx);
     if (newPrimaryVertexLink.isValid()) {
         // set new primary vertex
         // will overwrite default one which was set above
         pDiTau->setVertexLink(newPrimaryVertexLink);
         // save highest JVF value
-        pDiTau->setDetail(xAOD::DiTauJetParameters::TauJetVtxFraction,static_cast<float>(m_maxJVF));
+        pDiTau->setDetail(xAOD::DiTauJetParameters::TauJetVtxFraction,static_cast<float>(maxJVF));
         ATH_MSG_DEBUG("TJVA vertex found and set");
     }
     else {
@@ -119,7 +105,9 @@ StatusCode VertexFinder::execute(DiTauCandidateData * data) {
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-ElementLink<xAOD::VertexContainer> VertexFinder::getPV_TJVA(const xAOD::DiTauJet* pDiTau, const xAOD::VertexContainer* vertices)
+ElementLink<xAOD::VertexContainer> VertexFinder::getPV_TJVA(const xAOD::DiTauJet* pDiTau, const xAOD::VertexContainer* vertices,
+                                                            float& maxJVF,
+                                                            const EventContext& ctx) const
 {
     const xAOD::Jet* pJetSeed = (*pDiTau->jetLink());
 
@@ -133,26 +121,23 @@ ElementLink<xAOD::VertexContainer> VertexFinder::getPV_TJVA(const xAOD::DiTauJet
     }
 
     // Get the TVA object
-    const jet::TrackVertexAssociation* tva = NULL;
-    if (evtStore()->retrieve(tva, m_trackVertexAssocName).isFailure()) {
-        ATH_MSG_ERROR("Could not retrieve the TrackVertexAssociation from evtStore: " << m_trackVertexAssocName);
-        return ElementLink<xAOD::VertexContainer>();
-    }
+    SG::ReadHandle<jet::TrackVertexAssociation> tva
+      (m_trackVertexAssocName, ctx);
 
     // Calculate Jet Vertex Fraction
     std::vector<float> jvf;
     jvf.resize(vertices->size());
     for (size_t iVertex = 0; iVertex < vertices->size(); ++iVertex) {
-        jvf.at(iVertex) = getJetVertexFraction(vertices->at(iVertex),assocTracks,tva);
+      jvf.at(iVertex) = getJetVertexFraction(vertices->at(iVertex),assocTracks,tva.get());
     }
     
     // Get the highest JVF vertex and store maxJVF for later use
     // Note: the official JetMomentTools/JetVertexFractionTool doesn't provide any possibility to access the JVF value, but just the vertex.
-    m_maxJVF=-100.;
+    maxJVF=-100.;
     size_t maxIndex = 0;
     for (size_t iVertex = 0; iVertex < jvf.size(); ++iVertex) {
-        if (jvf.at(iVertex) > m_maxJVF) {
-            m_maxJVF = jvf.at(iVertex);
+        if (jvf.at(iVertex) > maxJVF) {
+            maxJVF = jvf.at(iVertex);
             maxIndex = iVertex;
         }
     }
-- 
GitLab


From 97d47edb01f0d212ea5534402a3b4185ca0029f7 Mon Sep 17 00:00:00 2001
From: Vakho Tsulaia <vakhtang.tsulaia@cern.ch>
Date: Fri, 25 Jan 2019 08:30:16 +0100
Subject: [PATCH 111/192] Cleanup of several redundant includes

---
 .../InDetDetDescr/SCT_Cabling/src/SCT_CablingToolCB.cxx  | 1 -
 .../EventTagUtils/src/RegistrationStreamTrig.cxx         | 2 --
 .../TrigDetCalib/src/TrigSubDetListWriter.h              | 9 ---------
 .../TrigT2CaloCalibration/src/T2SampCalibTool.cxx        | 6 ------
 4 files changed, 18 deletions(-)

diff --git a/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingToolCB.cxx b/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingToolCB.cxx
index f9a11d8143e0..a92a00198e48 100644
--- a/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingToolCB.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingToolCB.cxx
@@ -21,7 +21,6 @@
 //Gaudi includes
 #include "GaudiKernel/StatusCode.h"
 #include "GaudiKernel/IIncidentSvc.h"
-#include "EventInfo/EventIncident.h"
 
 //constants in file scope
 static const std::string coracool("CORACOOL");
diff --git a/PhysicsAnalysis/EventTag/EventTagUtils/src/RegistrationStreamTrig.cxx b/PhysicsAnalysis/EventTag/EventTagUtils/src/RegistrationStreamTrig.cxx
index f009ba23d8c9..c78c67087ff5 100755
--- a/PhysicsAnalysis/EventTag/EventTagUtils/src/RegistrationStreamTrig.cxx
+++ b/PhysicsAnalysis/EventTag/EventTagUtils/src/RegistrationStreamTrig.cxx
@@ -21,8 +21,6 @@
 
 #include "DBDataModel/CollectionMetadata.h"
 
-//#include "EventInfo/EventIncident.h"
-
 #include "AthenaPoolUtilities/TagMetadataKey.h"
 
 #include "TPython.h"
diff --git a/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigSubDetListWriter.h b/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigSubDetListWriter.h
index d96d7054c1ab..84308850a98e 100755
--- a/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigSubDetListWriter.h
+++ b/Trigger/TrigAlgorithms/TrigDetCalib/src/TrigSubDetListWriter.h
@@ -25,21 +25,12 @@
 #include <vector>
 #include <string>
 
-///#include "TrigInterfaces/FexAlgo.h"
 #include "TrigInterfaces/AllTEAlgo.h"
 #include "IRegionSelector/RegSelEnums.h"
 #include "GaudiKernel/ITHistSvc.h"
 
 #include "eformat/SourceIdentifier.h"
 
-// Event Incident to get EventInfo
-#include "GaudiKernel/IIncidentSvc.h"
-#include "GaudiKernel/IIncidentListener.h"
-#include "GaudiKernel/Incident.h"
-#include "EventInfo/EventInfo.h"
-#include "EventInfo/EventID.h"
-#include "EventInfo/EventIncident.h"
-
 #include "TH1I.h"
 
 class IRegSelSvc;
diff --git a/Trigger/TrigTools/TrigT2CaloCalibration/src/T2SampCalibTool.cxx b/Trigger/TrigTools/TrigT2CaloCalibration/src/T2SampCalibTool.cxx
index 7b3a3a20291e..97ea39652da9 100755
--- a/Trigger/TrigTools/TrigT2CaloCalibration/src/T2SampCalibTool.cxx
+++ b/Trigger/TrigTools/TrigT2CaloCalibration/src/T2SampCalibTool.cxx
@@ -37,12 +37,6 @@
 #include "GaudiKernel/IToolSvc.h"
 #include "GaudiKernel/Property.h"
 
-// Event Info 
-#include "EventInfo/EventIncident.h"
-#include "EventInfo/EventInfo.h"
-#include "EventInfo/EventID.h"
-#include "EventInfo/EventType.h"
-
 // Needed to register dB object
 #include "RegistrationServices/IIOVRegistrationSvc.h"
 
-- 
GitLab


From f5ac4bd9d760ee90085b82a8ac42e3ac5fa59b8c Mon Sep 17 00:00:00 2001
From: Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch>
Date: Fri, 25 Jan 2019 09:49:00 +0100
Subject: [PATCH 112/192] Updated some more code in the Athena project to use
 the new variable naming scheme.

It turns out that there were a number of other places where I forgot to update the
names of the variables to <FOO>_LCGROOT and <BAR>_ATROOT. At the same time tweaked
the "quietness" of the CMake code a bit as well.
---
 Projects/Athena/CMakeLists.txt      | 19 ++++++++++---------
 Projects/Athena/PostConfig.cmake.in |  9 ++++++---
 2 files changed, 16 insertions(+), 12 deletions(-)

diff --git a/Projects/Athena/CMakeLists.txt b/Projects/Athena/CMakeLists.txt
index 299132047c75..e930cb3d5407 100644
--- a/Projects/Athena/CMakeLists.txt
+++ b/Projects/Athena/CMakeLists.txt
@@ -1,5 +1,6 @@
+
 # The minimum required CMake version:
-cmake_minimum_required( VERSION 3.2 FATAL_ERROR )
+cmake_minimum_required( VERSION 3.6 )
 
 # Read in the project's version from a file called version.txt. But let it be
 # overridden from the command line if necessary.
@@ -65,7 +66,7 @@ foreach( _external ${_externals} )
    include( ${_external} )
    get_filename_component( _extName ${_external} NAME_WE )
    string( TOUPPER ${_extName} _extNameUpper )
-   message( STATUS "Taking ${_extName} from: ${${_extNameUpper}_ROOT}" )
+   message( STATUS "Taking ${_extName} from: ${${_extNameUpper}_LCGROOT}" )
    unset( _extName )
    unset( _extNameUpper )
 endforeach()
@@ -77,7 +78,7 @@ atlas_ctest_setup()
 
 # Declare project name and version
 atlas_project( Athena ${ATHENA_PROJECT_VERSION}
-   USE AthenaExternals 0.0.1
+   USE AthenaExternals ${AthenaExternals_VERSION}
    PROJECT_ROOT ${CMAKE_SOURCE_DIR}/../../
    FORTRAN )
 
@@ -107,19 +108,19 @@ install( FILES ${CMAKE_BINARY_DIR}/env_setup_install.sh
 
 # Configure and install the post-configuration file:
 string( REPLACE "$ENV{TDAQ_RELEASE_BASE}" "\$ENV{TDAQ_RELEASE_BASE}"
-   TDAQ-COMMON_ROOT "${TDAQ-COMMON_ROOT}" )
+   TDAQ-COMMON_ATROOT "${TDAQ-COMMON_ATROOT}" )
 string( REPLACE "${TDAQ-COMMON_VERSION}" "\${TDAQ-COMMON_VERSION}"
-   TDAQ-COMMON_ROOT "${TDAQ-COMMON_ROOT}" )
+   TDAQ-COMMON_ATROOT "${TDAQ-COMMON_ATROOT}" )
 string( REPLACE "$ENV{TDAQ_RELEASE_BASE}" "\$ENV{TDAQ_RELEASE_BASE}"
-   DQM-COMMON_ROOT "${DQM-COMMON_ROOT}" )
+   DQM-COMMON_ATROOT "${DQM-COMMON_ATROOT}" )
 string( REPLACE "${DQM-COMMON_VERSION}" "\${DQM-COMMON_VERSION}"
-   DQM-COMMON_ROOT "${DQM-COMMON_ROOT}" )
+   DQM-COMMON_ATROOT "${DQM-COMMON_ATROOT}" )
 
 # Temporarily add tdaq dependency to Athena build:
 string( REPLACE "$ENV{TDAQ_RELEASE_BASE}" "\$ENV{TDAQ_RELEASE_BASE}"
-   TDAQ_ROOT "${TDAQ_ROOT}" )
+   TDAQ_ATROOT "${TDAQ_ATROOT}" )
 string( REPLACE "${TDAQ_VERSION}" "\${TDAQ_VERSION}"
-   TDAQ_ROOT "${TDAQ_ROOT}" )
+   TDAQ_ATROOT "${TDAQ_ATROOT}" )
 
 configure_file( ${CMAKE_SOURCE_DIR}/PostConfig.cmake.in
    ${CMAKE_BINARY_DIR}/PostConfig.cmake @ONLY )
diff --git a/Projects/Athena/PostConfig.cmake.in b/Projects/Athena/PostConfig.cmake.in
index 5ce21e3e61ab..1140a49ce202 100644
--- a/Projects/Athena/PostConfig.cmake.in
+++ b/Projects/Athena/PostConfig.cmake.in
@@ -4,7 +4,6 @@
 #
 
 # Set the versions of the TDAQ projects:
-
 set( TDAQ_PROJECT_NAME "@TDAQ_PROJECT_NAME@" CACHE STRING
    "Name of the tdaq project" )
 set( TDAQ_VERSION "@TDAQ_VERSION@" CACHE STRING
@@ -23,7 +22,11 @@ set( DQM-COMMON_ATROOT "@DQM-COMMON_ATROOT@" CACHE PATH
    "The directory to pick up dqm-common from" )
 
 # Find Gaudi:
-find_package( Gaudi REQUIRED )
+if( Athena_FIND_QUIETLY )
+   find_package( Gaudi REQUIRED QUIET )
+else()
+   find_package( Gaudi REQUIRED )
+endif()
 
 # Load all the files from the externals/ subdirectory:
 get_filename_component( _thisdir ${CMAKE_CURRENT_LIST_FILE} PATH )
@@ -34,7 +37,7 @@ foreach( _external ${_externals} )
    get_filename_component( _extName ${_external} NAME_WE )
    string( TOUPPER ${_extName} _extNameUpper )
    if( NOT Athena_FIND_QUIETLY )
-      message( STATUS "Taking ${_extName} from: ${${_extNameUpper}_ROOT}" )
+      message( STATUS "Taking ${_extName} from: ${${_extNameUpper}_LCGROOT}" )
    endif()
    unset( _extName )
    unset( _extNameUpper )
-- 
GitLab


From a27d713b572619ddd5b0e8925b6983af8d0c5b60 Mon Sep 17 00:00:00 2001
From: Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch>
Date: Fri, 25 Jan 2019 09:53:47 +0100
Subject: [PATCH 113/192] Updated some more code in the AthSimulation project
 to use the new variable naming scheme.

Just like in the Athena project, I also forgot to update some non-essential code pieces
in the AthSimulation project.
---
 Projects/AthSimulation/CMakeLists.txt      | 6 +++---
 Projects/AthSimulation/PostConfig.cmake.in | 8 ++++++--
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/Projects/AthSimulation/CMakeLists.txt b/Projects/AthSimulation/CMakeLists.txt
index 88b4d21a3834..fc01c1d8aa7d 100644
--- a/Projects/AthSimulation/CMakeLists.txt
+++ b/Projects/AthSimulation/CMakeLists.txt
@@ -1,6 +1,6 @@
 
 # The minimum required CMake version:
-cmake_minimum_required( VERSION 3.2 FATAL_ERROR )
+cmake_minimum_required( VERSION 3.6 )
 
 # Read in the project's version from a file called version.txt. But let it be
 # overridden from the command line if necessary.
@@ -33,7 +33,7 @@ foreach( _external ${_externals} )
    include( ${_external} )
    get_filename_component( _extName ${_external} NAME_WE )
    string( TOUPPER ${_extName} _extNameUpper )
-   message( STATUS "Taking ${_extName} from: ${${_extNameUpper}_ROOT}" )
+   message( STATUS "Taking ${_extName} from: ${${_extNameUpper}_LCGROOT}" )
    unset( _extName )
    unset( _extNameUpper )
 endforeach()
@@ -45,7 +45,7 @@ atlas_ctest_setup()
 
 # Declare project name and version
 atlas_project( AthSimulation ${ATHSIMULATION_PROJECT_VERSION}
-   USE AthSimulationExternals 0.0.1
+   USE AthSimulationExternals ${AthSimulationExternals_VERSION}
    PROJECT_ROOT ${CMAKE_SOURCE_DIR}/../../
    FORTRAN )
 
diff --git a/Projects/AthSimulation/PostConfig.cmake.in b/Projects/AthSimulation/PostConfig.cmake.in
index 6a201c5346f6..f6a306b369d5 100644
--- a/Projects/AthSimulation/PostConfig.cmake.in
+++ b/Projects/AthSimulation/PostConfig.cmake.in
@@ -4,7 +4,11 @@
 #
 
 # Find Gaudi:
-find_package( Gaudi REQUIRED )
+if( AthSimulation_FIND_QUIETLY )
+   find_package( Gaudi REQUIRED QUIET )
+else()
+   find_package( Gaudi REQUIRED )
+endif()
 
 # Temporarily setting additional compile flags here:
 add_definitions( -DSIMULATIONBASE )
@@ -21,7 +25,7 @@ foreach( _external ${_externals} )
    get_filename_component( _extName ${_external} NAME_WE )
    string( TOUPPER ${_extName} _extNameUpper )
    if( NOT AthSimulation_FIND_QUIETLY )
-      message( STATUS "Taking ${_extName} from: ${${_extNameUpper}_ROOT}" )
+      message( STATUS "Taking ${_extName} from: ${${_extNameUpper}_LCGROOT}" )
    endif()
    unset( _extName )
    unset( _extNameUpper )
-- 
GitLab


From 33ba4c49783b7ec8ec431c68ac0a5225ecb0d6b4 Mon Sep 17 00:00:00 2001
From: Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch>
Date: Fri, 25 Jan 2019 10:11:10 +0100
Subject: [PATCH 114/192] Updated some more code in the AthDataQuality project
 to use the new variable naming scheme.

I forgot about some code here as well. At the same time updated the project to use LCG_94.
---
 Projects/AthDataQuality/CMakeLists.txt | 33 +++++++++++++++-----------
 1 file changed, 19 insertions(+), 14 deletions(-)

diff --git a/Projects/AthDataQuality/CMakeLists.txt b/Projects/AthDataQuality/CMakeLists.txt
index 29a3b3edeb6e..c1835daae634 100644
--- a/Projects/AthDataQuality/CMakeLists.txt
+++ b/Projects/AthDataQuality/CMakeLists.txt
@@ -1,6 +1,6 @@
 
 # Set the minimum required CMake version:
-cmake_minimum_required( VERSION 3.2 FATAL_ERROR )
+cmake_minimum_required( VERSION 3.6 )
 
 # Read in the project's version from a file called version.txt. But let it be
 # overridden from the command line if necessary.
@@ -11,14 +11,18 @@ set( ATHDATAQUALITY_PROJECT_VERSION ${_version}
 unset( _version )
 
 # Set the version of tdaq-common to use for the build:
-set( TDAQ-COMMON_VERSION "02-04-00" )
-set( TDAQ-COMMON_ROOT
-   "$ENV{TDAQ_RELEASE_BASE}/tdaq-common/tdaq-common-${TDAQ-COMMON_VERSION}" )
+set( TDAQ-COMMON_VERSION "02-09-00" CACHE STRING
+   "The version of tdaq-common to use for the build" )
+set( TDAQ-COMMON_ATROOT
+   "$ENV{TDAQ_RELEASE_BASE}/tdaq-common/tdaq-common-${TDAQ-COMMON_VERSION}"
+   CACHE PATH "The directory to pick up tdaq-common from" )
 
 # Set the version of dqm-common to use for the build:
-set( DQM-COMMON_VERSION "01-04-00" )
-set( DQM-COMMON_ROOT
-   "$ENV{TDAQ_RELEASE_BASE}/dqm-common/dqm-common-${DQM-COMMON_VERSION}" )
+set( DQM-COMMON_VERSION "01-09-00" CACHE STRING
+   "The version of dqm-common to use for the build" )
+set( DQM-COMMON_ATROOT
+   "$ENV{TDAQ_RELEASE_BASE}/dqm-common/dqm-common-${DQM-COMMON_VERSION}"
+   CACHE PATH "The directory to pick up dqm-common from" )
 
 # Pick up the AtlasCMake code:
 find_package( AtlasCMake REQUIRED )
@@ -26,7 +30,7 @@ find_package( AtlasCMake REQUIRED )
 # Build the project against LCG:
 set( LCG_VERSION_POSTFIX ""
    CACHE STRING "Version postfix for the LCG release to use" )
-set( LCG_VERSION_NUMBER 91
+set( LCG_VERSION_NUMBER 94
    CACHE STRING "Version number for the LCG release to use" )
 find_package( LCG ${LCG_VERSION_NUMBER} EXACT REQUIRED )
 
@@ -52,11 +56,12 @@ lcg_generate_env( SH_FILE ${CMAKE_BINARY_DIR}/${ATLAS_PLATFORM}/env_setup.sh )
 set( _replacements )
 if( NOT "$ENV{NICOS_PROJECT_HOME}" STREQUAL "" )
    get_filename_component( _buildDir $ENV{NICOS_PROJECT_HOME} PATH )
-   list( APPEND _replacements ${_buildDir} "\${Athena_DIR}/../../../.." )
+   list( APPEND _replacements ${_buildDir}
+      "\${AthDataQuality_DIR}/../../../.." )
 endif()
 if( NOT "$ENV{NICOS_PROJECT_RELNAME}" STREQUAL "" )
    list( APPEND _replacements $ENV{NICOS_PROJECT_RELNAME}
-      "\${Athena_VERSION}" )
+      "\${AthDataQuality_VERSION}" )
 endif()
 if( NOT "$ENV{TDAQ_RELEASE_BASE}" STREQUAL "" )
    list( APPEND _replacements $ENV{TDAQ_RELEASE_BASE}
@@ -72,13 +77,13 @@ install( FILES ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/env_setup_install.sh
 
 # Configure and install the post-configuration file:
 string( REPLACE "$ENV{TDAQ_RELEASE_BASE}" "\$ENV{TDAQ_RELEASE_BASE}"
-   TDAQ-COMMON_ROOT "${TDAQ-COMMON_ROOT}" )
+   TDAQ-COMMON_ATROOT "${TDAQ-COMMON_ATROOT}" )
 string( REPLACE "${TDAQ-COMMON_VERSION}" "\${TDAQ-COMMON_VERSION}"
-   TDAQ-COMMON_ROOT "${TDAQ-COMMON_ROOT}" )
+   TDAQ-COMMON_ATROOT "${TDAQ-COMMON_ATROOT}" )
 string( REPLACE "$ENV{TDAQ_RELEASE_BASE}" "\$ENV{TDAQ_RELEASE_BASE}"
-   DQM-COMMON_ROOT "${DQM-COMMON_ROOT}" )
+   DQM-COMMON_ATROOT "${DQM-COMMON_ATROOT}" )
 string( REPLACE "${DQM-COMMON_VERSION}" "\${DQM-COMMON_VERSION}"
-   DQM-COMMON_ROOT "${DQM-COMMON_ROOT}" )
+   DQM-COMMON_ATROOT "${DQM-COMMON_ATROOT}" )
 configure_file( ${CMAKE_SOURCE_DIR}/PostConfig.cmake.in
    ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/PostConfig.cmake @ONLY )
 install( FILES ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/PostConfig.cmake
-- 
GitLab


From 5de1314b0b55fe97a4978cd7727c4a5a2da75fda Mon Sep 17 00:00:00 2001
From: Frank Winklmeier <frank.winklmeier@cern.ch>
Date: Fri, 25 Jan 2019 10:16:51 +0100
Subject: [PATCH 115/192] TriggerMenuRuleBook: replace simplejson -> json
 module

The simplejson module is deprecated and can just be replaced by the json
module.
---
 .../TriggerMenu/scripts/makeRuleBook_for_justificationTag.py  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Trigger/TriggerCommon/TriggerMenu/scripts/makeRuleBook_for_justificationTag.py b/Trigger/TriggerCommon/TriggerMenu/scripts/makeRuleBook_for_justificationTag.py
index d7df2aee474b..603c8f17bf74 100644
--- a/Trigger/TriggerCommon/TriggerMenu/scripts/makeRuleBook_for_justificationTag.py
+++ b/Trigger/TriggerCommon/TriggerMenu/scripts/makeRuleBook_for_justificationTag.py
@@ -1,11 +1,11 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 ## This script checks the justification database for chains of a specific tag (e.g. "primary_at_1e32"). It makes a list of chains of this specific tag that are also in the menu of a specific release (e.g. "rel_0"). It picks from a reference RuleBook the lines corresponding to that list, and if the RuleBook does not contain any of these items, it writes this item with default value "(0,1)" for lumi 1000.
 ## Tomasz'json is being used.
 ##e.g. (from within the scripts directory) python makeRuleBook_for_justificationTag.py primary_at_1e32 rel_0 ../rules/Physics_pp_rulebook_PT.txt
 
 
-import simplejson as json
+import json
 import urllib2
 import sys, commands
 
-- 
GitLab


From 121feb54f52ecf8efe51c5c0f3c97c518740581e Mon Sep 17 00:00:00 2001
From: Frank Winklmeier <frank.winklmeier@cern.ch>
Date: Fri, 25 Jan 2019 10:17:39 +0100
Subject: [PATCH 116/192] AtlasPyFwdBwdPorts: Remove simplejson/jsonpickle
 modules

Remove the deprecated simplejson and not used jsonpickle module. This is
a follow-up to athenaprivate1!9820 and another step in cleaning up our
external python modules (ATLINFR-2325). There is also atlasexternals!272
to move the build of the python modules into atlasexternals.
---
 External/AtlasPyFwdBwdPorts/CMakeLists.txt      |  13 -------------
 .../src/jsonpickle-0.4.0.tar.gz                 | Bin 25352 -> 0 bytes
 .../src/simplejson-2.1.6.tar.gz                 | Bin 52356 -> 0 bytes
 .../test/AtlasPyFwdBwdPorts.xml                 |  16 ----------------
 4 files changed, 29 deletions(-)
 delete mode 100644 External/AtlasPyFwdBwdPorts/src/jsonpickle-0.4.0.tar.gz
 delete mode 100644 External/AtlasPyFwdBwdPorts/src/simplejson-2.1.6.tar.gz
 delete mode 100644 External/AtlasPyFwdBwdPorts/test/AtlasPyFwdBwdPorts.xml

diff --git a/External/AtlasPyFwdBwdPorts/CMakeLists.txt b/External/AtlasPyFwdBwdPorts/CMakeLists.txt
index 6bdc5a22dffa..6f7eea61f459 100644
--- a/External/AtlasPyFwdBwdPorts/CMakeLists.txt
+++ b/External/AtlasPyFwdBwdPorts/CMakeLists.txt
@@ -115,13 +115,6 @@ _setup_python_package( futures
    a6fa247e3c5fe3d60d8e12f1b873cc88
    )
 
-# Install jsonpickle:
-_setup_python_package( jsonpickle
-   ${CMAKE_CURRENT_SOURCE_DIR}/src/jsonpickle-0.4.0.tar.gz
-   63916228294218ca6e53fd1b16b626fa
-   DEPENDS simplejson
-   SINGLE_VERSION )
-
 # Install pyflakes:
 _setup_python_package( pyflakes
    ${CMAKE_CURRENT_SOURCE_DIR}/src/pyflakes-2.0.0.tar.gz
@@ -172,12 +165,6 @@ _setup_python_package( pyyaml
    EXTRA_ARGS --without-libyaml
    SINGLE_VERSION )
 
-# Install simplejson:
-_setup_python_package( simplejson
-   ${CMAKE_CURRENT_SOURCE_DIR}/src/simplejson-2.1.6.tar.gz
-   2f8351f6e6fe7ef25744805dfa56c0d5
-   )
-
 # Install gcovr:
 _setup_python_package( gcovr
    ${CMAKE_CURRENT_SOURCE_DIR}/src/gcovr-3.4.tar.gz
diff --git a/External/AtlasPyFwdBwdPorts/src/jsonpickle-0.4.0.tar.gz b/External/AtlasPyFwdBwdPorts/src/jsonpickle-0.4.0.tar.gz
deleted file mode 100644
index 51690730bab0482f1fd360d6def57c66ed3453c4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 25352
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

diff --git a/External/AtlasPyFwdBwdPorts/src/simplejson-2.1.6.tar.gz b/External/AtlasPyFwdBwdPorts/src/simplejson-2.1.6.tar.gz
deleted file mode 100644
index 8b371ffa28092d623c6de1d491ebd8efda5bfd9d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 52356
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
H05}8y3BUrL

diff --git a/External/AtlasPyFwdBwdPorts/test/AtlasPyFwdBwdPorts.xml b/External/AtlasPyFwdBwdPorts/test/AtlasPyFwdBwdPorts.xml
deleted file mode 100644
index 775612b3604a..000000000000
--- a/External/AtlasPyFwdBwdPorts/test/AtlasPyFwdBwdPorts.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0"?>
-<atn>
-
-<!--    <TEST name="py_simplejson" type="script" suite="py_fwdbwd_ports"> -->
-<!--       <package_atn>External/AtlasPyFwdBwdPorts</package_atn> -->
-<!--       <options_atn>python -c'from simplejson.tests import main;main()'</options_atn> -->
-<!--       <timelimit>10</timelimit> -->
-<!--       <author> Sebastien Binet </author> -->
-<!--       <mailto> binet@cern.ch </mailto> -->
-<!--       <expectations> -->
-<!--          <successMessage>OK</successMessage> -->
-<!--          <returnValue>0</returnValue> -->
-<!--       </expectations> -->
-<!--    </TEST> -->
-
-</atn>
-- 
GitLab


From 54b99af6043375ec64b81a3cc1d5c05f775614cc Mon Sep 17 00:00:00 2001
From: Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch>
Date: Fri, 25 Jan 2019 10:23:06 +0100
Subject: [PATCH 117/192] Updated some generator packages to use the new
 AtlasLCG variable naming.

---
 External/Herwigpp/CMakeLists.txt   | 3 +--
 Generators/Epos_i/CMakeLists.txt   | 7 ++++---
 Generators/QGSJet_i/CMakeLists.txt | 3 ++-
 3 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/External/Herwigpp/CMakeLists.txt b/External/Herwigpp/CMakeLists.txt
index 852c5999df68..079606b26bad 100644
--- a/External/Herwigpp/CMakeLists.txt
+++ b/External/Herwigpp/CMakeLists.txt
@@ -1,4 +1,3 @@
-# $Id: CMakeLists.txt 742924 2016-04-26 11:53:36Z krasznaa $
 #
 # Package installing files from the Herwig++ generator into the offline
 # release.
@@ -23,7 +22,7 @@ if( NOT HERWIG3_FOUND )
 endif()
 
 # Install files from the package:
-set( herwig_datadir "${HERWIG3_ROOT}/share/Herwig" )
+set( herwig_datadir "${HERWIG3_LCGROOT}/share/Herwig" )
 if( NOT IS_DIRECTORY ${herwig_datadir} )
    message( WARNING "Can't access directory ${herwig_datadir}" )
    return()
diff --git a/Generators/Epos_i/CMakeLists.txt b/Generators/Epos_i/CMakeLists.txt
index f03ffae0526c..bb317817567b 100644
--- a/Generators/Epos_i/CMakeLists.txt
+++ b/Generators/Epos_i/CMakeLists.txt
@@ -41,6 +41,7 @@ atlas_add_component( Epos_i
 
 # Install files from the package:
 atlas_install_joboptions( share/*.py )
-atlas_install_runtime( share/epos_crmc.param ${CRMC_ROOT}/tabs/epos.inics ${CRMC_ROOT}/tabs/epos.inidi.lhc ${CRMC_ROOT}/tabs/epos.inirj.lhc ${CRMC_ROOT}/tabs/epos.inirj ${CRMC_ROOT}/tabs/epos.iniev ${CRMC_ROOT}/tabs/epos.initl ${CRMC_ROOT}/tabs/dpmjet.dat )
-
-
+atlas_install_runtime( share/epos_crmc.param ${CRMC_LCGROOT}/tabs/epos.inics
+   ${CRMC_LCGROOT}/tabs/epos.inidi.lhc ${CRMC_LCGROOT}/tabs/epos.inirj.lhc
+   ${CRMC_LCGROOT}/tabs/epos.inirj ${CRMC_LCGROOT}/tabs/epos.iniev
+   ${CRMC_LCGROOT}/tabs/epos.initl ${CRMC_LCGROOT}/tabs/dpmjet.dat )
diff --git a/Generators/QGSJet_i/CMakeLists.txt b/Generators/QGSJet_i/CMakeLists.txt
index 540566b49f6d..5c4bbd5e2f08 100644
--- a/Generators/QGSJet_i/CMakeLists.txt
+++ b/Generators/QGSJet_i/CMakeLists.txt
@@ -42,4 +42,5 @@ atlas_add_component( QGSJet_i
 # Install files from the package:
 atlas_install_runtime( share/qgsjet_crmc.param )
 
-atlas_install_runtime( ${CRMC_ROOT}/tabs/sectnu-II-04 ${CRMC_ROOT}/tabs/qgsdat-II-04.lzma)
+atlas_install_runtime( ${CRMC_LCGROOT}/tabs/sectnu-II-04
+   ${CRMC_LCGROOT}/tabs/qgsdat-II-04.lzma )
-- 
GitLab


From 7e3fe8181bb20ebd091cb06c185c734c9cbf5c3a Mon Sep 17 00:00:00 2001
From: Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch>
Date: Fri, 25 Jan 2019 11:26:18 +0100
Subject: [PATCH 118/192] Cleaned up some of the VP1 packages a bit.

Some of the VP1 packages were using the ${QT5_ROOT} variable. Since that
variable no longer exists, it seemed reasonable to clean up the configuration
of these packages. While at it, I made all other cleanup that seemed reasonable.
---
 graphics/VP1/VP1AlgsBatch/CMakeLists.txt      | 30 ++++++--------
 graphics/VP1/VP1AlgsEventProd/CMakeLists.txt  | 33 ++++++----------
 .../VP1Plugins/VP1AODPlugin/CMakeLists.txt    | 39 ++++++-------------
 .../VP1GeometryPlugin/CMakeLists.txt          | 35 ++++++-----------
 .../VP1Systems/VP1AODSystems/CMakeLists.txt   |  6 +--
 graphics/VP1/VP1Utils/CMakeLists.txt          |  8 +---
 graphics/VP1/VP1UtilsBase/CMakeLists.txt      |  5 ++-
 7 files changed, 56 insertions(+), 100 deletions(-)

diff --git a/graphics/VP1/VP1AlgsBatch/CMakeLists.txt b/graphics/VP1/VP1AlgsBatch/CMakeLists.txt
index 737502d6a09d..9eafa4947fea 100644
--- a/graphics/VP1/VP1AlgsBatch/CMakeLists.txt
+++ b/graphics/VP1/VP1AlgsBatch/CMakeLists.txt
@@ -6,27 +6,21 @@
 atlas_subdir( VP1AlgsBatch )
 
 # Declare the package's dependencies:
-atlas_depends_on_subdirs( PUBLIC
-                          Control/AthenaBaseComps
-                          GaudiKernel
-                          PRIVATE
-                          Database/APR/StorageSvc
-                          Event/EventInfo
-                          Tools/PathResolver
-                          graphics/VP1/VP1UtilsBase )
-
-# External dependencies:
-find_package( Qt5 COMPONENTS Core OpenGL Gui HINTS ${QT5_ROOT} )
-
-
+atlas_depends_on_subdirs(
+   PUBLIC
+   Control/AthenaBaseComps
+   GaudiKernel
+   PRIVATE
+   Database/APR/StorageSvc
+   Event/EventInfo
+   Tools/PathResolver
+   graphics/VP1/VP1UtilsBase )
 
 # Component(s) in the package:
 atlas_add_component( VP1AlgsBatch
-                     src/*.cxx
-                     src/components/*.cxx
-                   LINK_LIBRARIES ${QT5_LIBRARIES} GL AthenaBaseComps GaudiKernel StorageSvc EventInfo PathResolver VP1UtilsBase )
+   VP1AlgsBatch/*.h src/*.cxx src/components/*.cxx
+   LINK_LIBRARIES AthenaBaseComps GaudiKernel StorageSvc EventInfo PathResolver
+   VP1UtilsBase )
 
 # Install files from the package:
-atlas_install_headers( VP1AlgsBatch )
 atlas_install_runtime( share/*.vp1 )
-
diff --git a/graphics/VP1/VP1AlgsEventProd/CMakeLists.txt b/graphics/VP1/VP1AlgsEventProd/CMakeLists.txt
index 5916cd2861ca..7ee316846f77 100644
--- a/graphics/VP1/VP1AlgsEventProd/CMakeLists.txt
+++ b/graphics/VP1/VP1AlgsEventProd/CMakeLists.txt
@@ -6,27 +6,18 @@
 atlas_subdir( VP1AlgsEventProd )
 
 # Declare the package's dependencies:
-atlas_depends_on_subdirs( PUBLIC
-                          Control/AthenaBaseComps
-                          GaudiKernel
-                          PRIVATE
-                          Database/APR/StorageSvc
-                          Event/EventInfo
-                          Tools/PathResolver
-                          graphics/VP1/VP1UtilsBase )
-
-# External dependencies:
-find_package( Qt5 COMPONENTS Core OpenGL Gui HINTS ${QT5_ROOT} )
-
-
+atlas_depends_on_subdirs(
+   PUBLIC
+   Control/AthenaBaseComps
+   GaudiKernel
+   PRIVATE
+   Database/APR/StorageSvc
+   Event/EventInfo
+   Tools/PathResolver
+   graphics/VP1/VP1UtilsBase )
 
 # Component(s) in the package:
 atlas_add_component( VP1AlgsEventProd
-                     src/*.cxx
-                     src/components/*.cxx
-                   LINK_LIBRARIES GL AthenaBaseComps GaudiKernel StorageSvc EventInfo PathResolver VP1UtilsBase )
-
-# Install files from the package:
-atlas_install_headers( VP1AlgsEventProd )
-
-
+   VP1AlgsEventProd/*.h src/*.cxx src/components/*.cxx
+   LINK_LIBRARIES AthenaBaseComps GaudiKernel StorageSvc EventInfo PathResolver
+   VP1UtilsBase )
diff --git a/graphics/VP1/VP1Plugins/VP1AODPlugin/CMakeLists.txt b/graphics/VP1/VP1Plugins/VP1AODPlugin/CMakeLists.txt
index 8afd7e74a2cd..597f287e5f7c 100644
--- a/graphics/VP1/VP1Plugins/VP1AODPlugin/CMakeLists.txt
+++ b/graphics/VP1/VP1Plugins/VP1AODPlugin/CMakeLists.txt
@@ -6,37 +6,22 @@
 atlas_subdir( VP1AODPlugin )
 
 # Declare the package's dependencies:
-atlas_depends_on_subdirs( PUBLIC
-                          graphics/VP1/VP1Base
-                          PRIVATE
-                          graphics/VP1/VP1Systems/VP1AODSystems
-                          graphics/VP1/VP1Systems/VP1GuideLineSystems )
-
-# Install files from the package:
-atlas_install_headers( VP1AODPlugin )
+atlas_depends_on_subdirs(
+   PUBLIC
+   graphics/VP1/VP1Base
+   PRIVATE
+   graphics/VP1/VP1Systems/VP1AODSystems
+   graphics/VP1/VP1Systems/VP1GuideLineSystems )
 
 # External dependencies:
-find_package( Qt5 COMPONENTS Core OpenGL Gui Widgets HINTS ${QT5_ROOT} )
-find_package( SoQt )
-find_package( Coin3D )
-
-
+find_package( Qt5 COMPONENTS Core )
 
-# Generate UI files automatically:
-set( CMAKE_AUTOUIC TRUE )
 # Generate MOC files automatically:
 set( CMAKE_AUTOMOC TRUE )
 
-# get the package name into the variable 'pkgName', to be used below
-atlas_get_package_name( pkgName )
-
-
 # Build the library.
-atlas_add_library( ${pkgName} ${pkgName}/*.h src/*.cxx src/*.qrc 
-   PUBLIC_HEADERS ${pkgName}
-   INCLUDE_DIRS ${SOQT_INCLUDE_DIRS} ${COIN3D_INCLUDE_DIRS} ${QT5_INCLUDE_DIRS} 
-   PRIVATE_INCLUDE_DIRS tmpqt_extraheaders/  ${ROOT_INCLUDE_DIRS}
-   LINK_LIBRARIES Qt5::Core Qt5::Gui Qt5::Widgets ${SOQT_LIBRARIES} ${COIN3D_LIBRARIES} GeoPrimitives
-   PRIVATE_LINK_LIBRARIES VP1GuideLineSystems VP1GeometrySystems VP1AODSystems
-)
-
+atlas_add_library( VP1AODPlugin
+   VP1AODPlugin/*.h src/*.cxx
+   PUBLIC_HEADERS VP1AODPlugin
+   LINK_LIBRARIES Qt5::Core VP1Base
+   PRIVATE_LINK_LIBRARIES VP1GuideLineSystems VP1AODSystems )
diff --git a/graphics/VP1/VP1Plugins/VP1GeometryPlugin/CMakeLists.txt b/graphics/VP1/VP1Plugins/VP1GeometryPlugin/CMakeLists.txt
index f6f3e9d71e6a..0de3845a215a 100644
--- a/graphics/VP1/VP1Plugins/VP1GeometryPlugin/CMakeLists.txt
+++ b/graphics/VP1/VP1Plugins/VP1GeometryPlugin/CMakeLists.txt
@@ -6,33 +6,22 @@
 atlas_subdir( VP1GeometryPlugin )
 
 # Declare the package's dependencies:
-atlas_depends_on_subdirs( PRIVATE
-                          graphics/VP1/VP1Systems/VP1GeometrySystems
-                          graphics/VP1/VP1Systems/VP1GuideLineSystems )
-
-# Install files from the package:
-atlas_install_headers( VP1GeometryPlugin )
+atlas_depends_on_subdirs(
+   PUBLIC
+   graphics/VP1/VP1Base
+   PRIVATE
+   graphics/VP1/VP1Systems/VP1GeometrySystems
+   graphics/VP1/VP1Systems/VP1GuideLineSystems )
 
 # External dependencies:
-find_package( Qt5 COMPONENTS Core OpenGL Gui Widgets HINTS ${QT5_ROOT} )
-find_package( SoQt )
-find_package( Coin3D )
+find_package( Qt5 COMPONENTS Core )
 
-# Generate UI files automatically:
-set( CMAKE_AUTOUIC TRUE )
 # Generate MOC files automatically:
 set( CMAKE_AUTOMOC TRUE )
 
-# get the package name into the variable 'pkgName', to be used below
-atlas_get_package_name( pkgName )
-
-
 # Build the library.
-atlas_add_library( ${pkgName} ${pkgName}/*.h src/*.cxx src/*.qrc 
-   PUBLIC_HEADERS ${pkgName}
-   INCLUDE_DIRS ${SOQT_INCLUDE_DIRS} ${COIN3D_INCLUDE_DIRS} ${QT5_INCLUDE_DIRS} 
-   PRIVATE_INCLUDE_DIRS tmpqt_extraheaders/ ${CMAKE_CURRENT_BINARY_DIR} ${ROOT_INCLUDE_DIRS}
-   LINK_LIBRARIES Qt5::Core Qt5::Gui Qt5::Widgets ${SOQT_LIBRARIES} ${COIN3D_LIBRARIES} GeoPrimitives
-   PRIVATE_LINK_LIBRARIES VP1GuideLineSystems VP1GeometrySystems
-)
-
+atlas_add_library( VP1GeometryPlugin
+   VP1GeometryPlugin/*.h src/*.cxx 
+   PUBLIC_HEADERS VP1GeometryPlugin
+   LINK_LIBRARIES Qt5::Core VP1Base
+   PRIVATE_LINK_LIBRARIES VP1GuideLineSystems VP1GeometrySystems )
diff --git a/graphics/VP1/VP1Systems/VP1AODSystems/CMakeLists.txt b/graphics/VP1/VP1Systems/VP1AODSystems/CMakeLists.txt
index 99cac9e432b5..177839333936 100644
--- a/graphics/VP1/VP1Systems/VP1AODSystems/CMakeLists.txt
+++ b/graphics/VP1/VP1Systems/VP1AODSystems/CMakeLists.txt
@@ -1,4 +1,3 @@
-# $Id: CMakeLists.txt 732142 2016-03-24 11:36:39Z krasznaa $
 ################################################################################
 # Package: VP1AODSystems
 ################################################################################
@@ -28,10 +27,11 @@ atlas_depends_on_subdirs(
 
 # External dependencies:
 find_package( Coin3D )
-find_package( Qt5 COMPONENTS Core Gui Widgets HINTS ${QT5_ROOT} )
+find_package( Qt5 COMPONENTS Core Gui Widgets )
 
 # Generate UI files automatically:
-# Note: add the "Widgets" component to "find_package( Qt5 ...)" if you have UI files, otherwise UIC, even if CMAKE_AUTOUIC is set to ON, is not run
+# Note: add the "Widgets" component to "find_package( Qt5 ...)" if you have UI
+# files, otherwise UIC, even if CMAKE_AUTOUIC is set to ON, is not run
 set( CMAKE_AUTOUIC TRUE )
 # Generate MOC files automatically:
 set( CMAKE_AUTOMOC TRUE )
diff --git a/graphics/VP1/VP1Utils/CMakeLists.txt b/graphics/VP1/VP1Utils/CMakeLists.txt
index 09ebbed35dac..7af012dbc4b2 100644
--- a/graphics/VP1/VP1Utils/CMakeLists.txt
+++ b/graphics/VP1/VP1Utils/CMakeLists.txt
@@ -42,14 +42,9 @@ find_package( CLHEP )
 find_package( Coin3D )
 find_package( Eigen )
 find_package( HepPDT )
-find_package( Qt5 COMPONENTS Core HINTS ${QT5_ROOT} )
+find_package( Qt5 COMPONENTS Core )
 find_package( GeoModel )
 
-# CLHEP definitions:
-add_definitions( -DCLHEP_MAX_MIN_DEFINED
-                 -DCLHEP_ABS_DEFINED
-                 -DCLHEP_SQR_DEFINED )
-
 # Generate MOC files automatically:
 set( CMAKE_AUTOMOC TRUE )
 
@@ -59,6 +54,7 @@ atlas_add_library( VP1Utils VP1Utils/*.h src/*.cxx src/*.cpp
    INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS}
    PRIVATE_INCLUDE_DIRS ${HEPPDT_INCLUDE_DIRS} ${COIN3D_INCLUDE_DIRS}
    ${EIGEN_INCLUDE_DIRS}
+   DEFINITIONS ${CLHEP_DEFINITIONS}
    LINK_LIBRARIES ${CLHEP_LIBRARIES} ${GEOMODEL_LIBRARIES} EventPrimitives
    GaudiKernel VP1Base StoreGateLib SGtests AthDSoCallBacks MuonIdHelpersLib
    GeoPrimitives Qt5::Core
diff --git a/graphics/VP1/VP1UtilsBase/CMakeLists.txt b/graphics/VP1/VP1UtilsBase/CMakeLists.txt
index 93b7084bc012..160aa3359f69 100644
--- a/graphics/VP1/VP1UtilsBase/CMakeLists.txt
+++ b/graphics/VP1/VP1UtilsBase/CMakeLists.txt
@@ -8,9 +8,10 @@
 atlas_subdir( VP1UtilsBase )
 
 # External dependencies:
-find_package( Qt5 COMPONENTS Core HINTS ${QT5_ROOT} )
+find_package( Qt5 COMPONENTS Core )
 
 # Component(s) in the package:
-atlas_add_library( VP1UtilsBase src/*.cxx
+atlas_add_library( VP1UtilsBase
+   VP1UtilsBase/*.h src/*.cxx
    PUBLIC_HEADERS VP1UtilsBase
    PRIVATE_LINK_LIBRARIES Qt5::Core )
-- 
GitLab


From 9f8662cddd86636075932fc58335407c6a63378e Mon Sep 17 00:00:00 2001
From: MihaMuskinja <miha.muskinja@gmail.com>
Date: Wed, 9 Jan 2019 19:12:34 +0100
Subject: [PATCH 119/192] PreStepPoint quantities in StepHistogramTool. Manualy
 sweeped into master.

---
 .../G4DebuggingTools/src/StepHistogram.cxx    | 66 ++++++++++++++-----
 .../G4DebuggingTools/src/StepHistogram.h      |  6 +-
 .../src/StepHistogramTool.cxx                 |  6 +-
 3 files changed, 60 insertions(+), 18 deletions(-)

diff --git a/Simulation/G4Utilities/G4DebuggingTools/src/StepHistogram.cxx b/Simulation/G4Utilities/G4DebuggingTools/src/StepHistogram.cxx
index 8c603afaccf2..31120d091e6c 100644
--- a/Simulation/G4Utilities/G4DebuggingTools/src/StepHistogram.cxx
+++ b/Simulation/G4Utilities/G4DebuggingTools/src/StepHistogram.cxx
@@ -15,6 +15,7 @@
 #include "SimHelpers/ServiceAccessor.h"
 
 #include "G4Step.hh"
+#include "G4StepPoint.hh"
 #include "G4VProcess.hh"
 
 #include <iostream>
@@ -29,22 +30,42 @@ namespace G4UA{
   
   void StepHistogram::UserSteppingAction(const G4Step * aStep){
 
+    // track
     G4Track *tr = aStep->GetTrack();
-    G4ThreeVector myPos = aStep->GetPostStepPoint()->GetPosition();
 
+    // pre-step point
+    G4StepPoint *PreStepPoint = aStep->GetPreStepPoint();
+
+    // post-step point
+    G4StepPoint *PostStepPoint = aStep->GetPostStepPoint();
+
+    // pre-step kinetic energy
+    double stepKinetic = PreStepPoint->GetKineticEnergy();
+
+    // post-step kinetic energy
+    double postStepKinetic = PostStepPoint->GetKineticEnergy();
+
+    // pre-step position
+    G4ThreeVector myPos = PreStepPoint->GetPosition();
+
+    // particle name
     G4String particleName = "nucleus";
     if (!(tr->GetDefinition()->GetParticleType() == "nucleus"))
       particleName = G4DebuggingHelpers::ClassifyParticle(tr->GetParticleDefinition());
 
-    G4String volumeName = tr->GetVolume()->GetName();
+    // pre-step volume
+    G4String volumeName = PreStepPoint->GetPhysicalVolume()->GetName();
     volumeName = G4DebuggingHelpers::ClassifyVolume(volumeName);
 
-    G4String materialName = tr->GetMaterial()->GetName();
+    // pre-step material
+    G4String materialName = PreStepPoint->GetMaterial()->GetName();
     materialName = G4DebuggingHelpers::ClassifyMaterial(materialName);
 
-    G4String processName = aStep->GetPostStepPoint()->GetProcessDefinedStep() ?
-                           aStep->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName() : "Unknown";
+    // process name (uses post-step point)
+    G4String processName = PostStepPoint->GetProcessDefinedStep() ?
+                           PostStepPoint->GetProcessDefinedStep()->GetProcessName() : "Unknown";
 
+    // secondaries
     const std::vector<const G4Track*>* secondaries = aStep->GetSecondaryInCurrentStep();
 
     // 2D map
@@ -75,13 +96,23 @@ namespace G4UA{
 
     // step kinetic energy
     InitializeFillHistogram(m_report.histoMapMap_vol_stepKineticEnergy, "vol_stepKineticEnergy", particleName, volumeName,
-                            1000, -9, 7, log10(tr->GetKineticEnergy()), 1.);
+                            1000, -9, 7, log10(stepKinetic), 1.);
     InitializeFillHistogram(m_report.histoMapMap_mat_stepKineticEnergy, "mat_stepKineticEnergy", particleName, materialName,
-                            1000, -9, 7, log10(tr->GetKineticEnergy()), 1.);
+                            1000, -9, 7, log10(stepKinetic), 1.);
     InitializeFillHistogram(m_report.histoMapMap_prc_stepKineticEnergy, "prc_stepKineticEnergy", particleName, processName,
-                            1000, -9, 7, log10(tr->GetKineticEnergy()), 1.);
-    InitializeFillHistogram(m_report.histoMapMap_stepSecondaryKinetic, "stepKineticEnergy", particleName, "AllATLAS",
-                            1000, -9, 7, log10(tr->GetKineticEnergy()), 1.);
+                            1000, -9, 7, log10(stepKinetic), 1.);
+    InitializeFillHistogram(m_report.histoMapMap_stepKinetic, "stepKineticEnergy", particleName, "AllATLAS",
+                            1000, -9, 7, log10(stepKinetic), 1.);
+
+    // post step kinetic energy
+    InitializeFillHistogram(m_report.histoMapMap_vol_postStepKineticEnergy, "vol_postStepKineticEnergy", particleName, volumeName,
+                            1000, -9, 7, log10(postStepKinetic), 1.);
+    InitializeFillHistogram(m_report.histoMapMap_mat_postStepKineticEnergy, "mat_postStepKineticEnergy", particleName, materialName,
+                            1000, -9, 7, log10(postStepKinetic), 1.);
+    InitializeFillHistogram(m_report.histoMapMap_prc_postStepKineticEnergy, "prc_postStepKineticEnergy", particleName, processName,
+                            1000, -9, 7, log10(postStepKinetic), 1.);
+    InitializeFillHistogram(m_report.histoMapMap_postStepKinetic, "postStepKineticEnergy", particleName, "AllATLAS",
+                            1000, -9, 7, log10(postStepKinetic), 1.);
 
     // step energy deposit
     InitializeFillHistogram(m_report.histoMapMap_vol_stepEnergyDeposit, "vol_stepEnergyDeposit", particleName, volumeName,
@@ -117,13 +148,12 @@ namespace G4UA{
 
     // first step (after initial step)
     if (tr->GetCurrentStepNumber()==1) {
-      m_initialKineticEnergyOfStep = tr->GetKineticEnergy();
-      m_initialKineticEnergyOfStep += aStep->GetTotalEnergyDeposit();
-      for (const auto &track : *secondaries) {
-        m_initialKineticEnergyOfStep += track->GetKineticEnergy();
-      }
+      // initial kinetic energy
+      m_initialKineticEnergyOfStep = stepKinetic;
+
       // save track ID for checking if we later have the same track
       m_trackID = tr->GetTrackID();
+
       // initial energy
       InitializeFillHistogram(m_report.histoMapMap_InitialE, "InitialE", particleName, "AllATLAS",
                               1000, -9, 7, log10(m_initialKineticEnergyOfStep), 1.0);
@@ -229,6 +259,7 @@ namespace G4UA{
   void StepHistogram::Report::merge(const Report & rep) {
     mergeMaps(histoMapMap_vol_stepSize, rep.histoMapMap_vol_stepSize);
     mergeMaps(histoMapMap_vol_stepKineticEnergy, rep.histoMapMap_vol_stepKineticEnergy);
+    mergeMaps(histoMapMap_vol_postStepKineticEnergy, rep.histoMapMap_vol_postStepKineticEnergy);
     mergeMaps(histoMapMap_vol_stepPseudorapidity, rep.histoMapMap_vol_stepPseudorapidity);
     mergeMaps(histoMapMap_vol_stepEnergyDeposit, rep.histoMapMap_vol_stepEnergyDeposit);
     mergeMaps(histoMapMap_vol_stepEnergyNonIonDeposit, rep.histoMapMap_vol_stepEnergyNonIonDeposit);
@@ -236,6 +267,7 @@ namespace G4UA{
 
     mergeMaps(histoMapMap_mat_stepSize, rep.histoMapMap_mat_stepSize);
     mergeMaps(histoMapMap_mat_stepKineticEnergy, rep.histoMapMap_mat_stepKineticEnergy);
+    mergeMaps(histoMapMap_mat_postStepKineticEnergy, rep.histoMapMap_mat_postStepKineticEnergy);
     mergeMaps(histoMapMap_mat_stepPseudorapidity, rep.histoMapMap_mat_stepPseudorapidity);
     mergeMaps(histoMapMap_mat_stepEnergyDeposit, rep.histoMapMap_mat_stepEnergyDeposit);
     mergeMaps(histoMapMap_mat_stepEnergyNonIonDeposit, rep.histoMapMap_mat_stepEnergyNonIonDeposit);
@@ -243,6 +275,7 @@ namespace G4UA{
 
     mergeMaps(histoMapMap_prc_stepSize, rep.histoMapMap_prc_stepSize);
     mergeMaps(histoMapMap_prc_stepKineticEnergy, rep.histoMapMap_prc_stepKineticEnergy);
+    mergeMaps(histoMapMap_prc_postStepKineticEnergy, rep.histoMapMap_prc_postStepKineticEnergy);
     mergeMaps(histoMapMap_prc_stepPseudorapidity, rep.histoMapMap_prc_stepPseudorapidity);
     mergeMaps(histoMapMap_prc_stepEnergyDeposit, rep.histoMapMap_prc_stepEnergyDeposit);
     mergeMaps(histoMapMap_prc_stepEnergyNonIonDeposit, rep.histoMapMap_prc_stepEnergyNonIonDeposit);
@@ -251,7 +284,8 @@ namespace G4UA{
     mergeMaps(histoMapMap_numberOfSteps, rep.histoMapMap_numberOfSteps);
     mergeMaps(histoMapMap_numberOfStepsPerInitialE, rep.histoMapMap_numberOfStepsPerInitialE);
     mergeMaps(histoMapMap_InitialE, rep.histoMapMap_InitialE);
-    mergeMaps(histoMapMap_stepSecondaryKinetic, rep.histoMapMap_stepSecondaryKinetic);
+    mergeMaps(histoMapMap_stepKinetic, rep.histoMapMap_stepKinetic);
+    mergeMaps(histoMapMap_postStepKinetic, rep.histoMapMap_postStepKinetic);
 
     mergeMaps(histoMapMap2D_vol_RZ, rep.histoMapMap2D_vol_RZ);
     mergeMaps(histoMapMap2D_mat_RZ, rep.histoMapMap2D_mat_RZ);
diff --git a/Simulation/G4Utilities/G4DebuggingTools/src/StepHistogram.h b/Simulation/G4Utilities/G4DebuggingTools/src/StepHistogram.h
index 9414b971e623..9c0206d131d8 100644
--- a/Simulation/G4Utilities/G4DebuggingTools/src/StepHistogram.h
+++ b/Simulation/G4Utilities/G4DebuggingTools/src/StepHistogram.h
@@ -44,6 +44,7 @@ namespace G4UA{
       // distributions per volume per particle type
       HistoMapMap_t histoMapMap_vol_stepSize;
       HistoMapMap_t histoMapMap_vol_stepKineticEnergy;
+      HistoMapMap_t histoMapMap_vol_postStepKineticEnergy;
       HistoMapMap_t histoMapMap_vol_stepPseudorapidity;
       HistoMapMap_t histoMapMap_vol_stepEnergyDeposit;
       HistoMapMap_t histoMapMap_vol_stepEnergyNonIonDeposit;
@@ -52,6 +53,7 @@ namespace G4UA{
       // distributions per material per particle type
       HistoMapMap_t histoMapMap_mat_stepSize;
       HistoMapMap_t histoMapMap_mat_stepKineticEnergy;
+      HistoMapMap_t histoMapMap_mat_postStepKineticEnergy;
       HistoMapMap_t histoMapMap_mat_stepPseudorapidity;
       HistoMapMap_t histoMapMap_mat_stepEnergyDeposit;
       HistoMapMap_t histoMapMap_mat_stepEnergyNonIonDeposit;
@@ -60,6 +62,7 @@ namespace G4UA{
       // distributions per process per particle type
       HistoMapMap_t histoMapMap_prc_stepSize;
       HistoMapMap_t histoMapMap_prc_stepKineticEnergy;
+      HistoMapMap_t histoMapMap_prc_postStepKineticEnergy;
       HistoMapMap_t histoMapMap_prc_stepPseudorapidity;
       HistoMapMap_t histoMapMap_prc_stepEnergyDeposit;
       HistoMapMap_t histoMapMap_prc_stepEnergyNonIonDeposit;
@@ -69,7 +72,8 @@ namespace G4UA{
       HistoMapMap_t histoMapMap_numberOfSteps;
       HistoMapMap_t histoMapMap_numberOfStepsPerInitialE;
       HistoMapMap_t histoMapMap_InitialE;
-      HistoMapMap_t histoMapMap_stepSecondaryKinetic;
+      HistoMapMap_t histoMapMap_stepKinetic;
+      HistoMapMap_t histoMapMap_postStepKinetic;
 
       // 2D maps
       HistoMapMap_t histoMapMap2D_vol_RZ;
diff --git a/Simulation/G4Utilities/G4DebuggingTools/src/StepHistogramTool.cxx b/Simulation/G4Utilities/G4DebuggingTools/src/StepHistogramTool.cxx
index 4ba1e34d061b..2b31f9881bcc 100644
--- a/Simulation/G4Utilities/G4DebuggingTools/src/StepHistogramTool.cxx
+++ b/Simulation/G4Utilities/G4DebuggingTools/src/StepHistogramTool.cxx
@@ -61,6 +61,7 @@ namespace G4UA{
     if (m_histSvc) {
       BookHistograms(report.histoMapMap_vol_stepSize, "stepLength/", "volumes/");
       BookHistograms(report.histoMapMap_vol_stepKineticEnergy, "stepKineticEnergy/", "volumes/");
+      BookHistograms(report.histoMapMap_vol_postStepKineticEnergy, "postStepKineticEnergy/", "volumes/");
       BookHistograms(report.histoMapMap_vol_stepPseudorapidity, "stepPseudorapidity/", "volumes/");
       BookHistograms(report.histoMapMap_vol_stepEnergyDeposit, "stepEnergyDeposit/", "volumes/");
       BookHistograms(report.histoMapMap_vol_stepEnergyNonIonDeposit, "stepEnergyNonIonDeposit/", "volumes/");
@@ -69,6 +70,7 @@ namespace G4UA{
       BookHistograms(report.histoMapMap_mat_stepSize, "stepLength/", "materials/");
       BookHistograms(report.histoMapMap_mat_stepKineticEnergy, "stepKineticEnergy/", "materials/");
       BookHistograms(report.histoMapMap_mat_stepPseudorapidity, "stepPseudorapidity/", "materials/");
+      BookHistograms(report.histoMapMap_mat_postStepKineticEnergy, "postStepKineticEnergy/", "materials/");
       BookHistograms(report.histoMapMap_mat_stepEnergyDeposit, "stepEnergyDeposit/", "materials/");
       BookHistograms(report.histoMapMap_mat_stepEnergyNonIonDeposit, "stepEnergyNonIonDeposit/", "materials/");
       BookHistograms(report.histoMapMap_mat_stepSecondaryKinetic, "stepSecondaryKinetic/", "materials/");
@@ -76,6 +78,7 @@ namespace G4UA{
       BookHistograms(report.histoMapMap_prc_stepSize, "stepLength/", "processes/");
       BookHistograms(report.histoMapMap_prc_stepKineticEnergy, "stepKineticEnergy/", "processes/");
       BookHistograms(report.histoMapMap_prc_stepPseudorapidity, "stepPseudorapidity/", "processes/");
+      BookHistograms(report.histoMapMap_prc_postStepKineticEnergy, "postStepKineticEnergy/", "processes/");
       BookHistograms(report.histoMapMap_prc_stepEnergyDeposit, "stepEnergyDeposit/", "processes/");
       BookHistograms(report.histoMapMap_prc_stepEnergyNonIonDeposit, "stepEnergyNonIonDeposit/", "processes/");
       BookHistograms(report.histoMapMap_prc_stepSecondaryKinetic, "stepSecondaryKinetic/", "processes/");
@@ -84,7 +87,8 @@ namespace G4UA{
         BookHistograms(report.histoMapMap_numberOfSteps, "numberOfSteps/", "nSteps/");
         BookHistograms(report.histoMapMap_numberOfStepsPerInitialE, "numberOfStepsPerInitialE/", "nSteps/");
         BookHistograms(report.histoMapMap_InitialE, "InitialE/", "nSteps/");
-        BookHistograms(report.histoMapMap_stepSecondaryKinetic, "stepKineticEnergy/", "nSteps/");
+        BookHistograms(report.histoMapMap_stepKinetic, "stepKineticEnergy/", "nSteps/");
+        BookHistograms(report.histoMapMap_postStepKinetic, "postStepKineticEnergy/", "nSteps/");
       }
 
       if (m_config.do2DHistograms) {
-- 
GitLab


From 1bf6f4113b3d39e9132ed5349f59ac2b56579279 Mon Sep 17 00:00:00 2001
From: MihaMuskinja <miha.muskinja@gmail.com>
Date: Tue, 18 Dec 2018 17:48:15 +0100
Subject: [PATCH 120/192] Adds an option to turn on range cuts for gamma
 processes (conv, phot, compt). Manual sweep into master.

---
 Simulation/G4Atlas/G4AtlasApps/python/callbacks.py          | 6 ++++++
 .../share/g4/preInclude.GammaRangeCuts.py                   | 4 ++++
 2 files changed, 10 insertions(+)
 create mode 100644 Simulation/SimulationJobOptions/share/g4/preInclude.GammaRangeCuts.py

diff --git a/Simulation/G4Atlas/G4AtlasApps/python/callbacks.py b/Simulation/G4Atlas/G4AtlasApps/python/callbacks.py
index ed46cfb5f4a9..5bfea1d0e246 100644
--- a/Simulation/G4Atlas/G4AtlasApps/python/callbacks.py
+++ b/Simulation/G4Atlas/G4AtlasApps/python/callbacks.py
@@ -51,3 +51,9 @@ def add_EnergyConservationTest():
     # Enable the energy conservation test action
     simFlags.OptionalUserActionList.addAction(
         'G4UA::EnergyConservationTestTool')
+
+## Range cuts for gamma processes (conv, phot, compt)
+## these are off by default in Geant4
+def turn_on_gamma_range_cuts():
+    from G4AtlasApps.SimFlags import simFlags
+    simFlags.G4Commands += ['/process/em/applyCuts true']
diff --git a/Simulation/SimulationJobOptions/share/g4/preInclude.GammaRangeCuts.py b/Simulation/SimulationJobOptions/share/g4/preInclude.GammaRangeCuts.py
new file mode 100644
index 000000000000..e0b028bf53a5
--- /dev/null
+++ b/Simulation/SimulationJobOptions/share/g4/preInclude.GammaRangeCuts.py
@@ -0,0 +1,4 @@
+# Turn on range cuts for gamma processes (conv, phot, compt)
+
+from G4AtlasApps import callbacks
+callbacks.turn_on_gamma_range_cuts()
-- 
GitLab


From c73aee33b83188302e8d5468d637196587e09bd9 Mon Sep 17 00:00:00 2001
From: Peter Onyisi <ponyisi@utexas.edu>
Date: Fri, 25 Jan 2019 13:30:03 +0100
Subject: [PATCH 121/192] Fix ATLASDQ-663

---
 .../DataQualityUtils/python/handimod.py       | 30 +++++++++----------
 .../DataQualityUtils/src/HanOutputFile.cxx    | 15 ++++++----
 2 files changed, 25 insertions(+), 20 deletions(-)

diff --git a/DataQuality/DataQualityUtils/python/handimod.py b/DataQuality/DataQualityUtils/python/handimod.py
index d0f2c9ac9da1..e12dada92626 100644
--- a/DataQuality/DataQualityUtils/python/handimod.py
+++ b/DataQuality/DataQualityUtils/python/handimod.py
@@ -96,15 +96,15 @@ def handiWithComparisons( name, resultsFile, htmlDir, runlistLoc, compare, brows
 
   if (browserMenu):
     makeAllDirsXml( htmlDir, name, s, number, resultsFile)
-    list, namelist = makeAllDirsBrowserFile( htmlDir, name, s, number, resultsFile,allDirsScriptDir )
+    dirlist, namelist = makeAllDirsBrowserFile( htmlDir, name, s, number, resultsFile,allDirsScriptDir )
   else:
-    list, namelist = makeAllDirsFile( htmlDir, name, s, number, resultsFile )
+    dirlist, namelist = makeAllDirsFile( htmlDir, name, s, number, resultsFile )
     
-  for x in range(0,len(list)):
-    makeSubDirFile( htmlDir, name, s, number, namelist[x], list[x], runlistLoc, compare, allDirsScriptDir )
-    makeColorFile( htmlDir, name, s, number, namelist[x], list[x], 'Red', runlistLoc, compare, allDirsScriptDir)
-    makeColorFile( htmlDir, name, s, number, namelist[x], list[x], 'Yellow', runlistLoc, compare, allDirsScriptDir)
-    makeColorFile( htmlDir, name, s, number, namelist[x], list[x], 'Green', runlistLoc, compare, allDirsScriptDir )
+  for x in range(0,len(dirlist)):
+    makeSubDirFile( htmlDir, name, s, number, namelist[x], dirlist[x], runlistLoc, compare, allDirsScriptDir )
+    makeColorFile( htmlDir, name, s, number, namelist[x], dirlist[x], 'Red', runlistLoc, compare, allDirsScriptDir)
+    makeColorFile( htmlDir, name, s, number, namelist[x], dirlist[x], 'Yellow', runlistLoc, compare, allDirsScriptDir)
+    makeColorFile( htmlDir, name, s, number, namelist[x], dirlist[x], 'Green', runlistLoc, compare, allDirsScriptDir )
     makeCSSFile( htmlDir,"", namelist[x] )
   
   makeCSSFile( htmlDir,"", "." )
@@ -180,8 +180,8 @@ def makeAllDirsFile( htmlDir, name, s, number, resultsFile ):
 
   # initial number of white spaces, will change to positive value once we go over the lines
   spaces=-1
-  # list = list with directories (the line number) that contain histos
-  list=[]
+  # dirlist = list with directories (the line number) that contain histos
+  dirlist=[]
   # namelist = list with corresponding direcotory names
   namelist=[]
 
@@ -224,7 +224,7 @@ def makeAllDirsFile( htmlDir, name, s, number, resultsFile ):
         else:
           g.write('<a href="'+namedir +'/index.html" >'+shortNameDir+ ':</a>')
         g.write('&nbsp;&nbsp;&nbsp;<font class="'+ sp[1]+'">'+ sp[1] + '</font>\n')
-        list.append(x)
+        dirlist.append(x)
         namelist.append(namedir)
       else:
         g.write(shortNameDir+ ':')
@@ -240,7 +240,7 @@ def makeAllDirsFile( htmlDir, name, s, number, resultsFile ):
   g.write('</font></td>\n</tr>\n</table>')
   g.write('</body>\n</html>\n')
   g.close()
-  return list, namelist
+  return dirlist, namelist
 
 
 def makeAllDirsBrowserFile( htmlDir, name, s, number, resultsFile,AllDirsScriptDir ):
@@ -268,8 +268,8 @@ def makeAllDirsBrowserFile( htmlDir, name, s, number, resultsFile,AllDirsScriptD
   g.write('</body>\n</html>\n')
   g.close()
   
-  # list = list with directories (the line number) that contain histos
-  list=[]
+  # dirlist = list with directories (the line number) that contain histos
+  dirlist=[]
   # namelist = list with corresponding direcotory names
   namelist=[]
 
@@ -282,10 +282,10 @@ def makeAllDirsBrowserFile( htmlDir, name, s, number, resultsFile,AllDirsScriptD
       if ( (x<number-1) and (s[x+1].rsplit())[3]=='ass' ): # check that dir contains histos
         if namedir=='<top_level>':
           namedir = '.'
-        list.append(x)
+        dirlist.append(x)
         namelist.append(namedir)
   g.close()
-  return list, namelist
+  return dirlist, namelist
 
 def makeSubDirFile( htmlDir, name, s, number, subname, assessIndex, runlistLoc,compare, AllDirsScriptDir):
   
diff --git a/DataQuality/DataQualityUtils/src/HanOutputFile.cxx b/DataQuality/DataQualityUtils/src/HanOutputFile.cxx
index 120c13f93ff5..270e7e2207ae 100644
--- a/DataQuality/DataQualityUtils/src/HanOutputFile.cxx
+++ b/DataQuality/DataQualityUtils/src/HanOutputFile.cxx
@@ -1390,7 +1390,9 @@ saveHistogramToFile( std::string nameHis, std::string location, TDirectory* grou
       displayExtra(myC,display);
       myC->RedrawAxis();
 
-      ratioplot(myC ,h,hRef,display);      //RatioPad
+      if (hRef) {
+	ratioplot(myC ,h,hRef,display);      //RatioPad
+      }
       myC->cd();//might be unnecessary
       polynomial(myC,display,h); //draw polynome for TH1
 
@@ -2125,13 +2127,16 @@ void HanOutputFile::ratioplot (TCanvas* myC_upperpad ,TH1* h,TH1* hRef,std::stri
     TProfile* ph    = dynamic_cast<TProfile*>( h );
     TH1F *clonehist   ;
     TH1F *clonehistref;
-    if( ph != 0 ) {//profile
-      std::cout<<"it is a TProfile\n";
+    //transform if profiles
+    if( ph != 0 ) {
       clonehist=(TH1F*)ph->ProjectionX();
-      clonehistref=(TH1F*)phRef->ProjectionX();
-    }else{
+    } else {
       clonehist=(TH1F*)h->Clone();
       clonehist->Sumw2();
+    }
+    if ( phRef != 0 ) {
+      clonehistref=(TH1F*)phRef->ProjectionX();
+    }else{
       clonehistref=(TH1F*)hRef->Clone();
       clonehistref->Sumw2();
     }
-- 
GitLab


From 6178ac8fc8f24a7cda68a5a0b86445c82154aebe Mon Sep 17 00:00:00 2001
From: scott snyder <snyder@bnl.gov>
Date: Mon, 21 Jan 2019 06:29:17 +0100
Subject: [PATCH 122/192] EventUtils: Remove use of IAsgSelection interfaces.

For ParticleSelectionAlg, the SelectionToolList and SelectionWithPVTooList
properties are not used anywhere in the repository; furthermore, they rely
on interfaces marked as deprecated.  Remove them.
---
 .../EventUtils/src/ParticleSelectionAlg.cxx   | 70 +-----------------
 .../EventUtils/src/ParticleSelectionAlg.h     | 10 +--
 .../EventUtils/src/ParticleSelectionAlg.icc   | 74 +------------------
 3 files changed, 5 insertions(+), 149 deletions(-)

diff --git a/PhysicsAnalysis/AnalysisCommon/EventUtils/src/ParticleSelectionAlg.cxx b/PhysicsAnalysis/AnalysisCommon/EventUtils/src/ParticleSelectionAlg.cxx
index 8b1ed66e7462..71aa8ee757f8 100644
--- a/PhysicsAnalysis/AnalysisCommon/EventUtils/src/ParticleSelectionAlg.cxx
+++ b/PhysicsAnalysis/AnalysisCommon/EventUtils/src/ParticleSelectionAlg.cxx
@@ -1,7 +1,7 @@
 ///////////////////////// -*- C++ -*- /////////////////////////////
 
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // ParticleSelectionAlg.cxx
@@ -68,8 +68,6 @@
 ParticleSelectionAlg::ParticleSelectionAlg( const std::string& name,
                                             ISvcLocator* pSvcLocator ) :
   ::AthAnalysisAlgorithm( name, pSvcLocator ),
-  m_selTools(),     // makes these tools public
-  m_selWVtxTools(), // makes these tools public
   m_evtInfoName("EventInfo"),
   m_inPrimVtxCont("PrimaryVertices"),
   m_inCollKey(""),
@@ -99,8 +97,6 @@ ParticleSelectionAlg::ParticleSelectionAlg( const std::string& name,
   declareProperty("OutputContainerOwnershipPolicy", m_outOwnPolicyName,
                   "Defines the ownership policy of the output container (default: 'OWN_ELEMENTS'; also allowed: 'VIEW_ELEMENTS')");
 
-  declareProperty("SelectionToolList",       m_selTools,     "The list of IAsgSelectionTools");
-  declareProperty("SelectionWithPVToolList", m_selWVtxTools, "The list of IAsgSelectionWithVertexTools");
   declareProperty("Selection",               m_selection,
                   "The selection string that defines which xAOD::IParticles to select from the container");
 
@@ -159,10 +155,6 @@ StatusCode ParticleSelectionAlg::initialize()
     return StatusCode::FAILURE;
   }
 
-  // Retrieve all tools
-  ATH_CHECK( m_selTools.retrieve() );
-  ATH_CHECK( m_selWVtxTools.retrieve() );
-
   ATH_MSG_DEBUG ( "==> done with initialize " << name() << "..." );
   return StatusCode::SUCCESS;
 }
@@ -173,10 +165,6 @@ StatusCode ParticleSelectionAlg::finalize()
 {
   ATH_MSG_DEBUG ("Finalizing " << name() << "...");
 
-  // Release all tools and services
-  ATH_CHECK( m_selTools.release() );
-  ATH_CHECK( m_selWVtxTools.release() );
-
   // Clean up the memory
   if (m_parser) {
     delete m_parser;
@@ -231,62 +219,6 @@ StatusCode ParticleSelectionAlg::beginRun()
     ATH_MSG_VERBOSE( "Recorded xAOD::CutBookkeeperContainer " << m_cutBKCName.value() << "Aux." );
   }
 
-  //------------- for the AsgSelectionTools --------------
-  // Now, register one CutBookkeeper per cut that will be applied.
-  // For each of the registered tools, get the TAccept and ask it for all known cuts.
-  for ( std::size_t toolIdx=0; toolIdx < m_selTools.size(); ++toolIdx ){
-    const auto& tool = m_selTools[toolIdx];
-    // Fill the index bookkeeping at what index in the CutBookkeeperContainer
-    // the CutBookkeepers for this tool start.
-    m_selToolIdxOffset.push_back( cutBKCont->size() );
-    // Get some needed quantities
-    const std::string toolName = tool->name();
-    const Root::TAccept& tAccept = tool->getTAccept();
-    const unsigned int nCuts = tAccept.getNCuts();
-    for ( unsigned int iCut=0; iCut<nCuts; ++iCut ){
-      // Get the name and description of this cut
-      const std::string cutName  = (tAccept.getCutName(iCut)).Data();
-      const std::string cutDescr = (tAccept.getCutDescription(iCut)).Data();
-      // Create a new xAOD::CutBookkeeper and add it to the container
-      xAOD::CutBookkeeper* cutBK = new xAOD::CutBookkeeper();
-      cutBKCont->push_back(cutBK);
-      // Now, set its properties
-      cutBK->setName(toolName+"_"+cutName);
-      cutBK->setDescription(cutDescr);
-      cutBK->setCutLogic(xAOD::CutBookkeeper::CutLogic::REQUIRE); // Each cut must be passed, thus REQUIRE, i.e, logical AND
-      cutBK->setInputStream(inputStreamName);
-      cutBK->setCycle(maxInputCycle);
-    }
-  }
-
-  //------------- for the AsgSelectionWithVertexTools --------------
-  // Now, register one CutBookkeeper per cut that will be applied.
-  // For each of the registered tools, get the TAccept and ask it for all known cuts.
-  for ( std::size_t toolIdx=0; toolIdx < m_selWVtxTools.size(); ++toolIdx ){
-    const auto& tool = m_selWVtxTools[toolIdx];
-    // Fill the index bookkeeping at what index in the CutBookkeeperContainer
-    // the CutBookkeepers for this tool start.
-    m_selWPVToolIdxOffset.push_back( cutBKCont->size() );
-    // Get some needed quantities
-    const std::string toolName = tool->name();
-    const Root::TAccept& tAccept = tool->getTAccept();
-    const unsigned int nCuts = tAccept.getNCuts();
-    for ( unsigned int iCut=0; iCut<nCuts; ++iCut ){
-      // Get the name and description of this cut
-      const std::string cutName  = (tAccept.getCutName(iCut)).Data();
-      const std::string cutDescr = (tAccept.getCutDescription(iCut)).Data();
-      // Create a new xAOD::CutBookkeeper and add it to the container
-      xAOD::CutBookkeeper* cutBK = new xAOD::CutBookkeeper();
-      cutBKCont->push_back(cutBK);
-      // Now, set its properties
-      cutBK->setName(toolName+"_"+cutName);
-      cutBK->setDescription(cutDescr);
-      cutBK->setCutLogic(xAOD::CutBookkeeper::CutLogic::REQUIRE); // Each cut must be passed, thus REQUIRE, i.e, logical AND
-      cutBK->setInputStream(inputStreamName);
-      cutBK->setCycle(maxInputCycle);
-    }
-  }
-
   //------------- for the ExpressionParsing in this algorithm --------------
   if ( !(m_selection.value().empty()) ){
     // Create a new xAOD::CutBookkeeper and add it to the container
diff --git a/PhysicsAnalysis/AnalysisCommon/EventUtils/src/ParticleSelectionAlg.h b/PhysicsAnalysis/AnalysisCommon/EventUtils/src/ParticleSelectionAlg.h
index e332ae73b3c1..bcc5633c1f60 100644
--- a/PhysicsAnalysis/AnalysisCommon/EventUtils/src/ParticleSelectionAlg.h
+++ b/PhysicsAnalysis/AnalysisCommon/EventUtils/src/ParticleSelectionAlg.h
@@ -1,7 +1,7 @@
 ///////////////////////// -*- C++ -*- /////////////////////////////
 
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // ParticleSelectionAlg.h
@@ -22,8 +22,6 @@
 #include "AthAnalysisBaseComps/AthAnalysisAlgorithm.h"
 #include "xAODBase/IParticleContainer.h"
 //#include "TrigDecisionTool/TrigDecisionTool.h"
-#include "PATCore/IAsgSelectionTool.h"
-#include "PATCore/IAsgSelectionWithVertexTool.h"
 
 // // Forward declarations
 // namespace Trig{
@@ -78,12 +76,6 @@ class ParticleSelectionAlg
   // Private data:
   ///////////////////////////////////////////////////////////////////
  private:
-  /// The list of IAsgSelectionTools
-  ToolHandleArray<IAsgSelectionTool> m_selTools;
-
-  /// The list of IAsgSelectionWithVertexTools
-  ToolHandleArray<IAsgSelectionWithVertexTool> m_selWVtxTools;
-
   /// Name of the EventInfo object
   StringProperty m_evtInfoName;
 
diff --git a/PhysicsAnalysis/AnalysisCommon/EventUtils/src/ParticleSelectionAlg.icc b/PhysicsAnalysis/AnalysisCommon/EventUtils/src/ParticleSelectionAlg.icc
index 7e88f764b4e9..84370ef7b9c8 100644
--- a/PhysicsAnalysis/AnalysisCommon/EventUtils/src/ParticleSelectionAlg.icc
+++ b/PhysicsAnalysis/AnalysisCommon/EventUtils/src/ParticleSelectionAlg.icc
@@ -1,7 +1,7 @@
 // Dear emacs, this is -*- c++ -*-
 
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 
@@ -12,7 +12,8 @@
 #include "xAODTracking/VertexContainer.h"
 #include "xAODTracking/Vertex.h"
 #include "xAODCutFlow/CutBookkeeperContainer.h"
-#include "PATCore/TAccept.h"
+#include "PATCore/AcceptInfo.h"
+#include "PATCore/AcceptData.h"
 
 
 
@@ -81,75 +82,6 @@ StatusCode ParticleSelectionAlg::selectParticles(const xAOD::IParticleContainer*
     // the remainder of the cuts will not even be tried
     bool passEverything = true;
 
-    //------------- for the AsgSelectionTools --------------
-    // Loop over all selection tools
-    ATH_MSG_VERBOSE("Loop over all selection tools");
-    for ( std::size_t toolIdx=0; toolIdx < m_selTools.size(); ++toolIdx ){
-      if (passEverything){
-        ATH_MSG_VERBOSE("Now going to try AsgSelectionTools number " << toolIdx );
-        const Root::TAccept& tAccept = m_selTools[toolIdx]->accept(part);
-        if (!m_doCutFlow){ passEverything &= static_cast<bool>(tAccept); }
-        else {
-          const std::size_t cbkStartIdx = m_selToolIdxOffset[toolIdx];
-          const unsigned int nCuts = tAccept.getNCuts();
-          for ( unsigned int iCut=0; iCut<nCuts; ++iCut ){
-            passEverything &= tAccept.getCutResult(iCut);
-            if (passEverything){
-              const std::size_t currentCBKIdx = cbkStartIdx + iCut;
-              xAOD::CutBookkeeper* cutBK = cutBKCont->at(currentCBKIdx);
-              cutBK->addNAcceptedEvents(1);
-              cutBK->addSumOfEventWeights(eventWeight);
-              cutBK->addSumOfEventWeightsSquared(eventWeight*eventWeight);
-            }
-          }
-        } // Done doing detailed particle cut-flow for this tool
-        ATH_MSG_VERBOSE("AsgSelectionTools number " << toolIdx << " passed/failed: " << passEverything );
-      }
-    }
-
-    //------------- for the AsgSelectionWithVertexTools --------------
-    // If we have at least one, we have to get the primary vertex
-    if ( m_selWVtxTools.size() ){
-      // Get the primary vertex container
-      const xAOD::VertexContainer* primVtxCont = nullptr;
-      ATH_CHECK( evtStore()->retrieve( primVtxCont, m_inPrimVtxCont.value() ) );
-      const xAOD::Vertex* primVtx = nullptr;
-      for ( const xAOD::Vertex* vtx  :  *primVtxCont ) {
-        // Get THE primary vertex
-        if ( vtx->vertexType() == xAOD::VxType::PriVtx ) {
-          primVtx = vtx;
-          break;
-        }
-      }
-      if ( !primVtx ) {
-        ATH_MSG_WARNING("Couldn't find a primary vertex in this event!");
-      }
-      // Now, we go ahead and loop over the tools
-      ATH_MSG_VERBOSE("Loop over all selection with vertex tools: " << passEverything);
-      for ( std::size_t toolIdx=0; toolIdx < m_selWVtxTools.size(); ++toolIdx ){
-        if (passEverything){
-          ATH_MSG_VERBOSE("Now going to try AsgSelectionWithVertexTools number " << toolIdx );
-          const Root::TAccept& tAccept = m_selWVtxTools[toolIdx]->accept(part,primVtx);
-          if (!m_doCutFlow){ passEverything &= static_cast<bool>(tAccept); }
-          else {
-            const std::size_t cbkStartIdx = m_selWPVToolIdxOffset[toolIdx];
-            const unsigned int nCuts = tAccept.getNCuts();
-            for ( unsigned int iCut=0; iCut<nCuts; ++iCut ){
-              passEverything &= tAccept.getCutResult(iCut);
-              if (passEverything){
-                const std::size_t currentCBKIdx = cbkStartIdx + iCut;
-                xAOD::CutBookkeeper* cutBK = cutBKCont->at(currentCBKIdx);
-                cutBK->addNAcceptedEvents(1);
-                cutBK->addSumOfEventWeights(eventWeight);
-                cutBK->addSumOfEventWeightsSquared(eventWeight*eventWeight);
-              }
-            }
-          } // Done doing detailed particle cut-flow for this tool
-          ATH_MSG_VERBOSE("AsgSelectionWithVertexTools number " << toolIdx << " passed/failed: " << passEverything );
-        }
-      }// Done looping over the selection tools
-    } // End: if ( m_selWVtxTools.size() ){
-
     //------------- for the ExpressionParsing in this algorithm --------------
     ATH_MSG_VERBOSE("Looking at expression parser result: " << passEverything);
     if ( passEverything && !(resultVec.empty()) ){
-- 
GitLab


From 3f1c952aef0beb66154306afd675eaaaa50ce913 Mon Sep 17 00:00:00 2001
From: Siarhei Harkusha <Siarhei.Harkusha@cern.ch>
Date: Fri, 25 Jan 2019 18:01:35 +0100
Subject: [PATCH 123/192] Refactor Tile bytestream converters for TMDB

Digits for TMDB from bytestream are unpacked in the same time
when Tile digits are requested and upacked and put directly
into StoreGate ignoring standard conversion mechanism.
The same is done in the case of unpacking raw channels for TMDB.
This is not very good for AthenaMT (especially for scheduler).

Tile bytestream converters have been refactored
to unpack digits and raw channels for TMDB
only if they are requested (needed)
using standard conversion mechanism.

Unit tests for reading Tile digits and raw channels from bytestream
and the corresponding reference files have been updated accordingly.
---
 .../share/CaloOverlay_jobOptions.py           |   2 +
 .../RecExCommon/share/BSRead_config.py        |   2 +
 .../TileDigitsContByteStreamCnv.h             |   6 +-
 .../TileRawChannelContByteStreamCnv.h         |   6 +-
 .../share/TileDigitsContByteStreamCnv_test.py |   2 +-
 .../TileDigitsContByteStreamCnv_test.ref      | 468 ++++++++---------
 .../TileRawChannelContByteStreamCnv_test.py   |   2 +-
 .../TileRawChannelContByteStreamCnv_test.ref  | 496 +++++++++---------
 .../src/TileDigitsContByteStreamCnv.cxx       |  82 ++-
 .../src/TileRawChannelContByteStreamCnv.cxx   |  93 ++--
 10 files changed, 564 insertions(+), 595 deletions(-)

diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/CaloOverlay_jobOptions.py b/Event/EventOverlay/EventOverlayJobTransforms/share/CaloOverlay_jobOptions.py
index e58aa30bd89e..02948ad6e3f8 100644
--- a/Event/EventOverlay/EventOverlayJobTransforms/share/CaloOverlay_jobOptions.py
+++ b/Event/EventOverlay/EventOverlayJobTransforms/share/CaloOverlay_jobOptions.py
@@ -70,6 +70,8 @@ if DetFlags.overlay.Tile_on():
        ServiceMgr.ByteStreamAddressProviderSvc.TypeNames += [ "TileDigitsContainer/TileDigitsCnt"]
        ServiceMgr.ByteStreamAddressProviderSvc.TypeNames += [ "TileL2Container/TileL2Cnt"]
        ServiceMgr.ByteStreamAddressProviderSvc.TypeNames += [ "TileLaserObject/TileLaserObj"]
+       ServiceMgr.ByteStreamAddressProviderSvc.TypeNames += [ "TileRawChannelContainer/MuRcvRawChCnt"]
+       ServiceMgr.ByteStreamAddressProviderSvc.TypeNames += [ "TileDigitsContainer/MuRcvDigitsCnt"]
 
     from TileRecUtils.TileDQstatusAlgDefault import TileDQstatusAlgDefault
     dqstatus = TileDQstatusAlgDefault()
diff --git a/Reconstruction/RecExample/RecExCommon/share/BSRead_config.py b/Reconstruction/RecExample/RecExCommon/share/BSRead_config.py
index 18bc3ea2e739..fb7780507e51 100644
--- a/Reconstruction/RecExample/RecExCommon/share/BSRead_config.py
+++ b/Reconstruction/RecExample/RecExCommon/share/BSRead_config.py
@@ -51,6 +51,8 @@ if DetFlags.readRDOBS.LAr_on():
 if DetFlags.readRDOBS.Tile_on():
     svcMgr.ByteStreamAddressProviderSvc.TypeNames += [
         "TileRawChannelContainer/TileRawChannelCnt",
+        "TileRawChannelContainer/MuRcvRawChCnt",
+        "TileDigitsContainer/MuRcvDigitsCnt",
         "TileL2Container/TileL2Cnt"
       ]
 
diff --git a/TileCalorimeter/TileSvc/TileByteStream/TileByteStream/TileDigitsContByteStreamCnv.h b/TileCalorimeter/TileSvc/TileByteStream/TileByteStream/TileDigitsContByteStreamCnv.h
index 4f104533e856..3a30d56982a2 100644
--- a/TileCalorimeter/TileSvc/TileByteStream/TileByteStream/TileDigitsContByteStreamCnv.h
+++ b/TileCalorimeter/TileSvc/TileByteStream/TileByteStream/TileDigitsContByteStreamCnv.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 
@@ -20,7 +20,6 @@ class DataObject;
 class StatusCode;
 class IAddressCreator;
 class IByteStreamEventAccess;
-class ActiveStoreSvc;
 class MsgStream; 
 class TileDigitsContainer; 
 class TileDigitsContByteStreamTool;
@@ -76,9 +75,6 @@ class TileDigitsContByteStreamCnv
     ServiceHandle<IByteStreamEventAccess> m_byteStreamEventAccess;
     ByteStreamCnvSvc* m_byteStreamCnvSvc;
     
-    /** Pointer to StoreGateSvc */
-    ServiceHandle<ActiveStoreSvc> m_activeStore; 
-    
     /** Pointer to IROBDataProviderSvc */
     ServiceHandle<IROBDataProviderSvc> m_robSvc;
     
diff --git a/TileCalorimeter/TileSvc/TileByteStream/TileByteStream/TileRawChannelContByteStreamCnv.h b/TileCalorimeter/TileSvc/TileByteStream/TileByteStream/TileRawChannelContByteStreamCnv.h
index 809cf89ee65b..0aea20c6954f 100644
--- a/TileCalorimeter/TileSvc/TileByteStream/TileByteStream/TileRawChannelContByteStreamCnv.h
+++ b/TileCalorimeter/TileSvc/TileByteStream/TileByteStream/TileRawChannelContByteStreamCnv.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef TILEBYTESTREAM_TILERAWCHANNELCONTRAWEVENTCNV_H
@@ -20,7 +20,6 @@ class DataObject;
 class StatusCode;
 class IAddressCreator;
 class IByteStreamEventAccess;
-class ActiveStoreSvc;
 class MsgStream; 
 class TileRawChannelContainer; 
 class TileRawChannelContByteStreamTool ; 
@@ -71,9 +70,6 @@ class TileRawChannelContByteStreamCnv
     ServiceHandle<IByteStreamEventAccess> m_byteStreamEventAccess;
     ByteStreamCnvSvc* m_byteStreamCnvSvc;
     
-    /** Pointer to StoreGateSvc */
-    ServiceHandle<ActiveStoreSvc> m_activeStore; 
-    
     /** Pointer to IROBDataProviderSvc */
     ServiceHandle<IROBDataProviderSvc> m_robSvc;
     
diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileDigitsContByteStreamCnv_test.py b/TileCalorimeter/TileSvc/TileByteStream/share/TileDigitsContByteStreamCnv_test.py
index f8ae82c3f016..440a51fcc38f 100644
--- a/TileCalorimeter/TileSvc/TileByteStream/share/TileDigitsContByteStreamCnv_test.py
+++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileDigitsContByteStreamCnv_test.py
@@ -65,6 +65,7 @@ globalflags.InputFormat.set_Value_and_Lock('bytestream')
 
 svcMgr.ByteStreamAddressProviderSvc.TypeNames += [
     'TileDigitsContainer/TileDigitsCnt',
+    'TileDigitsContainer/MuRcvDigitsCnt',
     ]
 
 include('TileConditions/TileConditions_jobOptions.py')
@@ -92,7 +93,6 @@ topSequence += TileDigitsDumper ('TileDigitsCntDumper',
                                  Prefix = dumpdir + '/')
 topSequence += TileDigitsDumper ('MuRcvDigitsCntDumper',
                                  TileDigitsContainer = 'MuRcvDigitsCnt',
-                                 AltTileDigitsContainer = 'TileDigitsCnt',
                                  Prefix = dumpdir + '/')
 
 
diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileDigitsContByteStreamCnv_test.ref b/TileCalorimeter/TileSvc/TileByteStream/share/TileDigitsContByteStreamCnv_test.ref
index e224592ce7f2..323d644cd549 100644
--- a/TileCalorimeter/TileSvc/TileByteStream/share/TileDigitsContByteStreamCnv_test.ref
+++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileDigitsContByteStreamCnv_test.ref
@@ -1,14 +1,14 @@
-Tue Jan 22 03:53:23 CET 2019
+Thu Jan 24 18:48:51 CET 2019
 Preloading tcmalloc_minimal.so
 Py:Athena            INFO including file "AthenaCommon/Preparation.py"
-Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-dbg] [atlas-work3/5871b6e8de] -- built on [2019-01-21T2115]
+Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-opt] [master/1229b7f595] -- built on [2019-01-24T1713]
 Py:Athena            INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
 Py:Athena            INFO executing ROOT6Setup
 Py:Athena            INFO including file "AthenaCommon/Execution.py"
 Py:Athena            INFO including file "TileByteStream/TileDigitsContByteStreamCnv_test.py"
-[?1034hSetGeometryVersion.py obtained major release version 22
+SetGeometryVersion.py obtained major release version 22
 Py:Athena            INFO including file "IdDictDetDescrCnv/IdDictDetDescrCnv_joboptions.py"
-Py:ConfigurableDb    INFO Read module info for 5456 configurables from 80 genConfDb files
+Py:ConfigurableDb    INFO Read module info for 5453 configurables from 4 genConfDb files
 Py:ConfigurableDb    INFO No duplicates have been found: that's good !
 EventInfoMgtInit: Got release version  Athena-22.0.1
 Py:IOVDbSvc.CondDB    INFO Setting up conditions DB access to instance OFLP200
@@ -34,7 +34,7 @@ ApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to leve
 ApplicationMgr    SUCCESS 
 ====================================================================================================================================
                                                    Welcome to ApplicationMgr (GaudiCoreSvc v30r5)
-                                          running on lxplus068.cern.ch on Tue Jan 22 03:53:53 2019
+                                          running on pcatl12 on Thu Jan 24 18:48:58 2019
 ====================================================================================================================================
 ApplicationMgr       INFO Successfully loaded modules : AthenaServices
 ApplicationMgr       INFO Application Manager Configured successfully
@@ -50,9 +50,9 @@ AthenaPoolCnvSvc     INFO Initializing AthenaPoolCnvSvc - package version Athena
 PoolSvc              INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.xml) [ok]
 PoolSvc              INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
 PoolSvc              INFO Frontier compression level set to 5
-DBReplicaSvc         INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data
-DBReplicaSvc         INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/dbreplica.config
-DBReplicaSvc         INFO Total of 10 servers found for host lxplus068.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
+DBReplicaSvc         INFO Frontier server at (serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier) will be considered for COOL data
+DBReplicaSvc         INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config
+DBReplicaSvc         INFO Total of 10 servers found for host pcatl12.dyndns.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
 PoolSvc              INFO Successfully setup replica sorting algorithm
 PoolSvc              INFO Setting up APR FileCatalog and Streams
 PoolSvc           WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables
@@ -86,6 +86,7 @@ ByteStreamAddre...   INFO -- Will fill Store with id =  0
 IOVDbSvc             INFO preLoadAddresses: Removing folder /TagInfo. It should only be in the file meta data and was not found.
 IOVDbSvc             INFO Opening COOL connection for COOLOFL_LAR/OFLP200
 ClassIDSvc           INFO  getRegistryEntries: read 3073 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 792 CLIDRegistry entries for module ALL
 IOVSvc               INFO No IOVSvcTool associated with store "StoreGateSvc"
 IOVSvcTool           INFO IOVRanges will be checked at every Event
 IOVDbSvc             INFO Opening COOL connection for COOLOFL_TILE/OFLP200
@@ -104,7 +105,6 @@ IOVDbSvc             INFO Added taginfo remove for /TILE/OFL02/STATUS/ADC
 IOVDbSvc             INFO Added taginfo remove for /TILE/OFL02/TIME/CHANNELOFFSET/PHY
 IOVDbSvc             INFO Added taginfo remove for /TILE/ONL01/STATUS/ADC
 IOVDbSvc             INFO Added taginfo remove for /LAR/LArCellPositionShift
-ClassIDSvc           INFO  getRegistryEntries: read 792 CLIDRegistry entries for module ALL
 ClassIDSvc           INFO  getRegistryEntries: read 17 CLIDRegistry entries for module ALL
 DetDescrCnvSvc       INFO  initializing 
 DetDescrCnvSvc       INFO Found DetectorStore service
@@ -193,7 +193,7 @@ EndcapDMConstru...   INFO Start building EC electronics geometry
   multi-layered version of absorbers activated, mlabs == 1
 ================================================
 EndcapDMConstru...   INFO Start building EC electronics geometry
-GeoModelSvc          INFO GeoModelSvc.LArDetectorToolNV	 SZ= 28576Kb 	 Time = 1.62S
+GeoModelSvc          INFO GeoModelSvc.LArDetectorToolNV	 SZ= 22940Kb 	 Time = 0.7S
 GeoModelSvc.Til...   INFO  Entering TileDetectorTool::create()
 TileDddbManager      INFO m_tag = ATLAS-R2-2016-01-00-01
 TileDddbManager      INFO n_tiglob = 5
@@ -205,7 +205,7 @@ TileDddbManager      INFO n_tileSwitches = 1
 ClassIDSvc           INFO  getRegistryEntries: read 213 CLIDRegistry entries for module ALL
 CaloIDHelper_ID...   INFO in createObj: creating a TileID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileNeighbour_reduced.txt
+TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileNeighbour_reduced.txt
 TileHWIDDetDesc...   INFO in createObj: creating a TileHWID helper object in the detector store
 TileHWID             INFO initialize_from_dictionary 
 AtlasDetectorID      INFO initialize_from_dictionary - OK
@@ -217,9 +217,9 @@ CaloIDHelper_ID...   INFO in createObj: creating a LArHEC_ID helper object in th
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIDHelper_ID...   INFO in createObj: creating a LArFCAL_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal2DNeighbors-April2011.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsNext-April2011.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsPrev-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal2DNeighbors-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsNext-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsPrev-April2011.txt
 CaloIDHelper_ID...   INFO in createObj: creating a LArMiniFCAL_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 LArMiniFCAL_ID       INFO  initialize_from_dict - LArCalorimeter dictionary does NOT contain miniFCAL description. Unable to initialize LArMiniFCAL_ID.
@@ -254,7 +254,7 @@ GeoModelSvc.Til...   INFO  Global positioning of barrel with rotation (0,0,0)) a
 GeoModelSvc.Til...   INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
 GeoModelSvc.Til...   INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) GeoModelKernelUnits::cm
 TileDetDescrMan...   INFO Entering create_elements()
-GeoModelSvc          INFO GeoModelSvc.TileDetectorTool	 SZ= 4172Kb 	 Time = 1.7S
+GeoModelSvc          INFO GeoModelSvc.TileDetectorTool	 SZ= 4592Kb 	 Time = 0.18S
 ClassIDSvc           INFO  getRegistryEntries: read 65 CLIDRegistry entries for module ALL
 TileInfoLoader       INFO Initializing....TileInfoLoader
 TileInfoLoader       INFO New ATLAS geometry detected: ATLAS-R2-2016-01-00-01 (010001) version 10001
@@ -276,11 +276,11 @@ TileInfoLoader       INFO Sampling fraction for E2 cells 1/107
 TileInfoLoader       INFO Sampling fraction for E3 cells 1/97
 TileInfoLoader       INFO Sampling fraction for E4 cells 1/75
 TileInfoLoader       INFO Sampling fraction for E4' cells 1/75
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulsehi_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulselo_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_tower_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muonRcv_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muon_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulsehi_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulselo_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_tower_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muonRcv_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muon_physics.dat
 CaloIDHelper_ID...   INFO in createObj: creating a CaloLVL1_ID helper object in the detector store
 CaloLVL1_ID          INFO initialize_from_dictionary
 AtlasDetectorID      INFO initialize_from_dictionary - OK
@@ -333,7 +333,7 @@ TileEMScaleCond...   INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCond
 TileEMScaleCond...   INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlEms) for folder: "/TILE/OFL02/CALIB/EMS"
 TileSampleNoise...   INFO Creating TileCondProxyCool(TileSampleNoiseCondAlg.TileCondProxyCool_NoiseSample) for folder: "/TILE/OFL02/NOISE/SAMPLE"
 TileTimingCondA...   INFO Creating TileCondProxyCool(TileTimingCondAlg.TileCondProxyCool_AdcOffset) for folder: "/TILE/OFL02/TIME/CHANNELOFFSET/PHY"
-ClassIDSvc           INFO  getRegistryEntries: read 3810 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 3902 CLIDRegistry entries for module ALL
 PyComponentMgr       INFO Initializing PyComponentMgr...
 Finalizer            INFO Initializing Finalizer...
 HistogramPersis...WARNING Histograms saving not required.
@@ -388,12 +388,12 @@ CaloIDHelper_ID...   INFO in createObj: creating a LArHEC_SuperCell_ID helper ob
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIDHelper_ID...   INFO in createObj: creating a LArFCAL_SuperCell_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells2DNeighborsNew-April2014.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells2DNeighborsNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
 CaloIDHelper_ID...   INFO in createObj: creating a Tile_SuperCell_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileSuperCellNeighbour.txt
+TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileSuperCellNeighbour.txt
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIdMgrDetDes...   INFO  Finished 
 CaloIdMgrDetDes...   INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv 
@@ -641,23 +641,23 @@ IncidentProcAlg2     INFO Finalize
 EventInfoByteSt...   INFO finalize 
 PyComponentMgr       INFO Finalizing PyComponentMgr...
 IdDictDetDescrCnv    INFO in finalize
-IOVDbFolder          INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/340 ((     0.23 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104132 ((     0.69 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.05 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.05 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/116 ((     0.05 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/964 ((     0.06 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 ((     0.07 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104 ((     0.05 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/643828 ((     0.14 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/93084 ((     0.44 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/120 ((     0.66 ))s
-IOVDbFolder          INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/100 ((     0.04 ))s
-IOVDbFolder          INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.02 ))s
-IOVDbSvc             INFO  bytes in ((      2.55 ))s
+IOVDbFolder          INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/340 ((     0.42 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104132 ((     0.55 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.67 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.46 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/116 ((     0.36 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/964 ((     0.41 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 ((     0.40 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104 ((     0.40 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/643828 ((     0.92 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/93084 ((     0.71 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/120 ((     0.43 ))s
+IOVDbFolder          INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/100 ((     0.06 ))s
+IOVDbFolder          INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.30 ))s
+IOVDbSvc             INFO  bytes in ((      6.10 ))s
 IOVDbSvc             INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: ((     0.00 ))s
-IOVDbSvc             INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     0.25 ))s
-IOVDbSvc             INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: ((     2.30 ))s
+IOVDbSvc             INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     0.72 ))s
+IOVDbSvc             INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: ((     5.38 ))s
 TileInfoLoader       INFO TileInfoLoader::finalize()
 AthDictLoaderSvc     INFO in finalize...
 ToolSvc              INFO Removing all tools created by ToolSvc
@@ -667,27 +667,27 @@ ToolSvc.TileROD...   INFO Finalizing
 *****Chrono*****     INFO ****************************************************************************************************
 *****Chrono*****     INFO  The Final CPU consumption ( Chrono ) Table (ordered)
 *****Chrono*****     INFO ****************************************************************************************************
-cObjR_ALL            INFO Time User   : Tot= 0.85  [s] Ave/Min/Max=0.425(+-0.395)/ 0.03/ 0.82  [s] #=  2
-cObj_ALL             INFO Time User   : Tot= 1.05  [s] Ave/Min/Max=0.0808(+- 0.24)/    0/  0.9  [s] #= 13
-ChronoStatSvc        INFO Time User   : Tot= 30.1  [s]                                             #=  1
+cObjR_ALL            INFO Time User   : Tot=  270 [ms] Ave/Min/Max=  135(+-  125)/   10/  260 [ms] #=  2
+cObj_ALL             INFO Time User   : Tot=  340 [ms] Ave/Min/Max= 26.2(+- 77.3)/    0/  290 [ms] #= 13
+ChronoStatSvc        INFO Time User   : Tot= 7.86  [s]                                             #=  1
 *****Chrono*****     INFO ****************************************************************************************************
 ChronoStatSvc.f...   INFO  Service finalized successfully 
 ApplicationMgr       INFO Application Manager Finalized successfully
 ApplicationMgr       INFO Application Manager Terminated successfully
 Py:Athena            INFO leaving with code 0: "successful run"
-Tue Jan 22 03:54:55 CET 2019
+Thu Jan 24 18:49:21 CET 2019
 Preloading tcmalloc_minimal.so
 Py:Athena            INFO including file "AthenaCommon/Preparation.py"
-Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-dbg] [atlas-work3/5871b6e8de] -- built on [2019-01-21T2115]
+Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-opt] [master/1229b7f595] -- built on [2019-01-24T1713]
 Py:Athena            INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
 Py:Athena            INFO executing ROOT6Setup
 Py:Athena            INFO configuring AthenaHive with [4] concurrent threads and [4] concurrent events
 Py:AlgScheduler      INFO setting up AvalancheSchedulerSvc/AvalancheSchedulerSvc with 4 threads
 Py:Athena            INFO including file "AthenaCommon/Execution.py"
 Py:Athena            INFO including file "TileByteStream/TileDigitsContByteStreamCnv_test.py"
-[?1034hSetGeometryVersion.py obtained major release version 22
+SetGeometryVersion.py obtained major release version 22
 Py:Athena            INFO including file "IdDictDetDescrCnv/IdDictDetDescrCnv_joboptions.py"
-Py:ConfigurableDb    INFO Read module info for 5456 configurables from 80 genConfDb files
+Py:ConfigurableDb    INFO Read module info for 5453 configurables from 4 genConfDb files
 Py:ConfigurableDb    INFO No duplicates have been found: that's good !
 EventInfoMgtInit: Got release version  Athena-22.0.1
 Py:IOVDbSvc.CondDB    INFO Setting up conditions DB access to instance OFLP200
@@ -714,7 +714,7 @@ MessageSvc           INFO Activating in a separate thread
 ApplicationMgr    SUCCESS 
 ====================================================================================================================================
                                                    Welcome to ApplicationMgr (GaudiCoreSvc v30r5)
-                                          running on lxplus068.cern.ch on Tue Jan 22 03:55:27 2019
+                                          running on pcatl12 on Thu Jan 24 18:49:27 2019
 ====================================================================================================================================
 ApplicationMgr       INFO Successfully loaded modules : AthenaServices
 ApplicationMgr       INFO Application Manager Configured successfully
@@ -729,9 +729,9 @@ AthenaPoolCnvSvc                                   INFO Initializing AthenaPoolC
 PoolSvc                                            INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.xml) [ok]
 PoolSvc                                            INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
 PoolSvc                                            INFO Frontier compression level set to 5
-DBReplicaSvc                                       INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data
-DBReplicaSvc                                       INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/dbreplica.config
-DBReplicaSvc                                       INFO Total of 10 servers found for host lxplus068.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
+DBReplicaSvc                                       INFO Frontier server at (serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier) will be considered for COOL data
+DBReplicaSvc                                       INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config
+DBReplicaSvc                                       INFO Total of 10 servers found for host pcatl12.dyndns.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
 PoolSvc                                            INFO Successfully setup replica sorting algorithm
 PoolSvc                                            INFO Setting up APR FileCatalog and Streams
 PoolSvc                                         WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables
@@ -873,7 +873,7 @@ EndcapDMConstruction                               INFO Start building EC electr
   multi-layered version of absorbers activated, mlabs == 1
 ================================================
 EndcapDMConstruction                               INFO Start building EC electronics geometry
-GeoModelSvc                                        INFO GeoModelSvc.LArDetectorToolNV	 SZ= 28576Kb 	 Time = 1.64S
+GeoModelSvc                                        INFO GeoModelSvc.LArDetectorToolNV	 SZ= 22940Kb 	 Time = 0.68S
 GeoModelSvc.TileDetectorTool                       INFO  Entering TileDetectorTool::create()
 TileDddbManager                                    INFO m_tag = ATLAS-R2-2016-01-00-01
 TileDddbManager                                    INFO n_tiglob = 5
@@ -885,7 +885,7 @@ TileDddbManager                                    INFO n_tileSwitches = 1
 ClassIDSvc                                         INFO  getRegistryEntries: read 213 CLIDRegistry entries for module ALL
 CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a TileID helper object in the detector store
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
-TileNeighbour                                      INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileNeighbour_reduced.txt
+TileNeighbour                                      INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileNeighbour_reduced.txt
 TileHWIDDetDescrCnv                                INFO in createObj: creating a TileHWID helper object in the detector store
 TileHWID                                           INFO initialize_from_dictionary 
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
@@ -897,9 +897,9 @@ CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
 CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a LArFCAL_ID helper object in the detector store
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal2DNeighbors-April2011.txt
-LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsNext-April2011.txt
-LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsPrev-April2011.txt
+LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal2DNeighbors-April2011.txt
+LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsNext-April2011.txt
+LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsPrev-April2011.txt
 CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a LArMiniFCAL_ID helper object in the detector store
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
 LArMiniFCAL_ID                                     INFO  initialize_from_dict - LArCalorimeter dictionary does NOT contain miniFCAL description. Unable to initialize LArMiniFCAL_ID.
@@ -934,7 +934,7 @@ GeoModelSvc.TileDetectorTool                       INFO  Global positioning of b
 GeoModelSvc.TileDetectorTool                       INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
 GeoModelSvc.TileDetectorTool                       INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) GeoModelKernelUnits::cm
 TileDetDescrManager                                INFO Entering create_elements()
-GeoModelSvc                                        INFO GeoModelSvc.TileDetectorTool	 SZ= 4172Kb 	 Time = 1.86S
+GeoModelSvc                                        INFO GeoModelSvc.TileDetectorTool	 SZ= 3568Kb 	 Time = 0.16S
 ClassIDSvc                                         INFO  getRegistryEntries: read 65 CLIDRegistry entries for module ALL
 TileInfoLoader                                     INFO Initializing....TileInfoLoader
 TileInfoLoader                                     INFO New ATLAS geometry detected: ATLAS-R2-2016-01-00-01 (010001) version 10001
@@ -956,11 +956,11 @@ TileInfoLoader                                     INFO Sampling fraction for E2
 TileInfoLoader                                     INFO Sampling fraction for E3 cells 1/97
 TileInfoLoader                                     INFO Sampling fraction for E4 cells 1/75
 TileInfoLoader                                     INFO Sampling fraction for E4' cells 1/75
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulsehi_physics.dat
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulselo_physics.dat
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_tower_physics.dat
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muonRcv_physics.dat
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muon_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulsehi_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulselo_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_tower_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muonRcv_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muon_physics.dat
 CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a CaloLVL1_ID helper object in the detector store
 CaloLVL1_ID                                        INFO initialize_from_dictionary
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
@@ -969,7 +969,7 @@ TileCablingSvc                                     INFO Cabling for RUN2 (2014-2
 TileCablingSvc                                     INFO Setting Cabling type to 4
 TileInfoLoader                                     INFO Placed TileInfo object in the detector store.
 AthenaHiveEventLoopMgr                             INFO Initializing AthenaHiveEventLoopMgr - package version AthenaServices-00-00-00
-ClassIDSvc                                  0      INFO  getRegistryEntries: read 4075 CLIDRegistry entries for module ALL
+ClassIDSvc                                  0      INFO  getRegistryEntries: read 4167 CLIDRegistry entries for module ALL
 PyComponentMgr                              0      INFO Initializing PyComponentMgr...
 Finalizer                                   0      INFO Initializing Finalizer...
 ClassIDSvc                                  0      INFO  getRegistryEntries: read 53 CLIDRegistry entries for module ALL
@@ -1023,7 +1023,6 @@ AvalancheSchedulerSvc                       0      INFO Will attribute the follo
    o  ( 'TileDigitsContainer' , 'StoreGateSvc+MuRcvDigitsCnt' )     required by Algorithm: 
        * MuRcvDigitsCntDumper
    o  ( 'TileDigitsContainer' , 'StoreGateSvc+TileDigitsCnt' )     required by Algorithm: 
-       * MuRcvDigitsCntDumper
        * TileDigitsCntDumper
 PrecedenceSvc                               0      INFO Assembling CF and DF task precedence rules
 PrecedenceRulesGraph                        0      INFO CondSvc found. DF precedence rules will be augmented with 'Conditions'
@@ -1083,12 +1082,12 @@ CaloIDHelper_IDDetDescrCnv              0   0      INFO in createObj: creating a
 AtlasDetectorID                         0   0      INFO initialize_from_dictionary - OK
 CaloIDHelper_IDDetDescrCnv              0   0      INFO in createObj: creating a LArFCAL_SuperCell_ID helper object in the detector store
 AtlasDetectorID                         0   0      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells2DNeighborsNew-April2014.txt
-LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
-LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
+LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells2DNeighborsNew-April2014.txt
+LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
+LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
 CaloIDHelper_IDDetDescrCnv              0   0      INFO in createObj: creating a Tile_SuperCell_ID helper object in the detector store
 AtlasDetectorID                         0   0      INFO initialize_from_dictionary - OK
-TileNeighbour                           0   0      INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileSuperCellNeighbour.txt
+TileNeighbour                           0   0      INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileSuperCellNeighbour.txt
 AtlasDetectorID                         0   0      INFO initialize_from_dictionary - OK
 CaloIdMgrDetDescrCnv                    0   0      INFO  Finished 
 CaloIdMgrDetDescrCnv                    0   0      INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv 
@@ -1097,194 +1096,190 @@ Domain[ROOT_All]                        0   0      INFO
 RootDatabase.open                       0   0      INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root File version:52200
 AthenaHiveEventLoopMgr                  0   0      INFO   ===>>>  start processing event #1129572, run #204073 on slot 0,  0 events processed so far  <<<===
 ClassIDSvc                              0   0      INFO  getRegistryEntries: read 650 CLIDRegistry entries for module ALL
-SGInputLoader                           0   0   WARNING unable to find proxy for  ( 'TileDigitsContainer' , 'StoreGateSvc+MuRcvDigitsCnt' ) 
 ClassIDSvc                              0   0      INFO  getRegistryEntries: read 1757 CLIDRegistry entries for module ALL
 ClassIDSvc                              0   0      INFO  getRegistryEntries: read 89 CLIDRegistry entries for module ALL
 ToolSvc.TileROD_Decoder.TileROD_L2Bui...0   0      INFO TileL2Builder initialization completed
 ToolSvc.TileDigitsContByteStreamTool    0   0      INFO Initializing TileDigitsContByteStreamTool
 AthenaHiveEventLoopMgr                  1   1      INFO   ===>>>  start processing event #1129665, run #204073 on slot 1,  0 events processed so far  <<<===
-SGInputLoader                           1   1   WARNING unable to find proxy for  ( 'TileDigitsContainer' , 'StoreGateSvc+MuRcvDigitsCnt' ) 
 AthenaHiveEventLoopMgr                  2   2      INFO   ===>>>  start processing event #1131212, run #204073 on slot 2,  0 events processed so far  <<<===
-SGInputLoader                           2   2   WARNING unable to find proxy for  ( 'TileDigitsContainer' , 'StoreGateSvc+MuRcvDigitsCnt' ) 
 AthenaHiveEventLoopMgr                  3   3      INFO   ===>>>  start processing event #1131086, run #204073 on slot 3,  0 events processed so far  <<<===
-SGInputLoader                           3   3   WARNING unable to find proxy for  ( 'TileDigitsContainer' , 'StoreGateSvc+MuRcvDigitsCnt' ) 
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1129665, run #204073 on slot 1,  1 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1129572, run #204073 on slot 0,  2 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  4   0      INFO   ===>>>  start processing event #1130272, run #204073 on slot 0,  2 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  5   1      INFO   ===>>>  start processing event #1131269, run #204073 on slot 1,  2 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1129572, run #204073 on slot 0,  1 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1129665, run #204073 on slot 1,  2 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1131212, run #204073 on slot 2,  3 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  4   0      INFO   ===>>>  start processing event #1130272, run #204073 on slot 0,  3 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  5   1      INFO   ===>>>  start processing event #1131269, run #204073 on slot 1,  3 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  6   2      INFO   ===>>>  start processing event #1130716, run #204073 on slot 2,  3 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1131086, run #204073 on slot 3,  4 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  6   2      INFO   ===>>>  start processing event #1130716, run #204073 on slot 2,  4 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  7   3      INFO   ===>>>  start processing event #1132019, run #204073 on slot 3,  4 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1130272, run #204073 on slot 0,  5 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1131269, run #204073 on slot 1,  6 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  7   0      INFO   ===>>>  start processing event #1132019, run #204073 on slot 0,  6 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  8   1      INFO   ===>>>  start processing event #1132092, run #204073 on slot 1,  6 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  9   3      INFO   ===>>>  start processing event #1130238, run #204073 on slot 3,  6 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1130716, run #204073 on slot 2,  7 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  8   0      INFO   ===>>>  start processing event #1132092, run #204073 on slot 0,  7 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  9   1      INFO   ===>>>  start processing event #1130238, run #204073 on slot 1,  7 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  10  2      INFO   ===>>>  start processing event #1134553, run #204073 on slot 2,  7 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132019, run #204073 on slot 3,  8 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132092, run #204073 on slot 0,  9 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1130238, run #204073 on slot 1,  10 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  11  0      INFO   ===>>>  start processing event #1130999, run #204073 on slot 0,  10 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  12  1      INFO   ===>>>  start processing event #1133461, run #204073 on slot 1,  10 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  13  3      INFO   ===>>>  start processing event #1131152, run #204073 on slot 3,  10 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1134553, run #204073 on slot 2,  11 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1130999, run #204073 on slot 0,  12 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1133461, run #204073 on slot 1,  13 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  14  0      INFO   ===>>>  start processing event #1130142, run #204073 on slot 0,  13 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  15  1      INFO   ===>>>  start processing event #1132770, run #204073 on slot 1,  13 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  16  2      INFO   ===>>>  start processing event #1132365, run #204073 on slot 2,  13 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1131152, run #204073 on slot 3,  14 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1130142, run #204073 on slot 0,  15 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132770, run #204073 on slot 1,  16 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  17  0      INFO   ===>>>  start processing event #1136791, run #204073 on slot 0,  16 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  18  1      INFO   ===>>>  start processing event #1133781, run #204073 on slot 1,  16 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  19  3      INFO   ===>>>  start processing event #1132067, run #204073 on slot 3,  16 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132365, run #204073 on slot 2,  17 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1136791, run #204073 on slot 0,  18 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  20  0      INFO   ===>>>  start processing event #1138637, run #204073 on slot 0,  18 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  21  2      INFO   ===>>>  start processing event #1139495, run #204073 on slot 2,  18 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1133781, run #204073 on slot 1,  19 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132067, run #204073 on slot 3,  20 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  22  1      INFO   ===>>>  start processing event #1140193, run #204073 on slot 1,  20 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  23  3      INFO   ===>>>  start processing event #1142953, run #204073 on slot 3,  20 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138637, run #204073 on slot 0,  21 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139495, run #204073 on slot 2,  22 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1140193, run #204073 on slot 1,  23 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  24  0      INFO   ===>>>  start processing event #1139127, run #204073 on slot 0,  23 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  25  1      INFO   ===>>>  start processing event #1141272, run #204073 on slot 1,  23 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  26  2      INFO   ===>>>  start processing event #1137117, run #204073 on slot 2,  23 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142953, run #204073 on slot 3,  24 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139127, run #204073 on slot 0,  25 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  27  0      INFO   ===>>>  start processing event #1139599, run #204073 on slot 0,  25 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  28  3      INFO   ===>>>  start processing event #1140314, run #204073 on slot 3,  25 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1141272, run #204073 on slot 1,  26 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  29  1      INFO   ===>>>  start processing event #1133685, run #204073 on slot 1,  26 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137117, run #204073 on slot 2,  27 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139599, run #204073 on slot 0,  28 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1140314, run #204073 on slot 3,  29 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  30  0      INFO   ===>>>  start processing event #1143279, run #204073 on slot 0,  29 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  31  2      INFO   ===>>>  start processing event #1137563, run #204073 on slot 2,  29 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  32  3      INFO   ===>>>  start processing event #1139927, run #204073 on slot 3,  29 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132019, run #204073 on slot 0,  8 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132092, run #204073 on slot 1,  9 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  10  0      INFO   ===>>>  start processing event #1134553, run #204073 on slot 0,  9 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  11  1      INFO   ===>>>  start processing event #1130999, run #204073 on slot 1,  9 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  12  2      INFO   ===>>>  start processing event #1133461, run #204073 on slot 2,  9 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1130238, run #204073 on slot 3,  10 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1134553, run #204073 on slot 0,  11 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1130999, run #204073 on slot 1,  12 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  13  0      INFO   ===>>>  start processing event #1131152, run #204073 on slot 0,  12 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  14  1      INFO   ===>>>  start processing event #1130142, run #204073 on slot 1,  12 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  15  3      INFO   ===>>>  start processing event #1132770, run #204073 on slot 3,  12 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1133461, run #204073 on slot 2,  13 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1131152, run #204073 on slot 0,  14 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1130142, run #204073 on slot 1,  15 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  16  0      INFO   ===>>>  start processing event #1132365, run #204073 on slot 0,  15 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  17  1      INFO   ===>>>  start processing event #1136791, run #204073 on slot 1,  15 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  18  2      INFO   ===>>>  start processing event #1133781, run #204073 on slot 2,  15 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132770, run #204073 on slot 3,  16 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132365, run #204073 on slot 0,  17 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1136791, run #204073 on slot 1,  18 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  19  0      INFO   ===>>>  start processing event #1132067, run #204073 on slot 0,  18 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  20  1      INFO   ===>>>  start processing event #1138637, run #204073 on slot 1,  18 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  21  3      INFO   ===>>>  start processing event #1139495, run #204073 on slot 3,  18 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1133781, run #204073 on slot 2,  19 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132067, run #204073 on slot 0,  20 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138637, run #204073 on slot 1,  21 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  22  0      INFO   ===>>>  start processing event #1140193, run #204073 on slot 0,  21 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  23  1      INFO   ===>>>  start processing event #1142953, run #204073 on slot 1,  21 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  24  2      INFO   ===>>>  start processing event #1139127, run #204073 on slot 2,  21 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139495, run #204073 on slot 3,  22 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1140193, run #204073 on slot 0,  23 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142953, run #204073 on slot 1,  24 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  25  0      INFO   ===>>>  start processing event #1141272, run #204073 on slot 0,  24 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  26  1      INFO   ===>>>  start processing event #1137117, run #204073 on slot 1,  24 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  27  3      INFO   ===>>>  start processing event #1139599, run #204073 on slot 3,  24 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139127, run #204073 on slot 2,  25 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1141272, run #204073 on slot 0,  26 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137117, run #204073 on slot 1,  27 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  28  0      INFO   ===>>>  start processing event #1140314, run #204073 on slot 0,  27 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  29  1      INFO   ===>>>  start processing event #1133685, run #204073 on slot 1,  27 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  30  2      INFO   ===>>>  start processing event #1143279, run #204073 on slot 2,  27 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139599, run #204073 on slot 3,  28 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1140314, run #204073 on slot 0,  29 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1133685, run #204073 on slot 1,  30 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143279, run #204073 on slot 0,  31 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  33  0      INFO   ===>>>  start processing event #1141197, run #204073 on slot 0,  31 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  34  1      INFO   ===>>>  start processing event #1140039, run #204073 on slot 1,  31 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137563, run #204073 on slot 2,  32 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139927, run #204073 on slot 3,  33 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  35  2      INFO   ===>>>  start processing event #1142531, run #204073 on slot 2,  33 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  36  3      INFO   ===>>>  start processing event #1139475, run #204073 on slot 3,  33 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1141197, run #204073 on slot 0,  34 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1140039, run #204073 on slot 1,  35 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  37  0      INFO   ===>>>  start processing event #1139958, run #204073 on slot 0,  35 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  38  1      INFO   ===>>>  start processing event #1143765, run #204073 on slot 1,  35 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142531, run #204073 on slot 2,  36 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139475, run #204073 on slot 3,  37 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  39  2      INFO   ===>>>  start processing event #1143097, run #204073 on slot 2,  37 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  40  3      INFO   ===>>>  start processing event #1134147, run #204073 on slot 3,  37 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  31  0      INFO   ===>>>  start processing event #1137563, run #204073 on slot 0,  30 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  32  1      INFO   ===>>>  start processing event #1139927, run #204073 on slot 1,  30 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  33  3      INFO   ===>>>  start processing event #1141197, run #204073 on slot 3,  30 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143279, run #204073 on slot 2,  31 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137563, run #204073 on slot 0,  32 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139927, run #204073 on slot 1,  33 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  34  0      INFO   ===>>>  start processing event #1140039, run #204073 on slot 0,  33 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  35  1      INFO   ===>>>  start processing event #1142531, run #204073 on slot 1,  33 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  36  2      INFO   ===>>>  start processing event #1139475, run #204073 on slot 2,  33 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1141197, run #204073 on slot 3,  34 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1140039, run #204073 on slot 0,  35 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142531, run #204073 on slot 1,  36 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  37  0      INFO   ===>>>  start processing event #1139958, run #204073 on slot 0,  36 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  38  1      INFO   ===>>>  start processing event #1143765, run #204073 on slot 1,  36 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  39  3      INFO   ===>>>  start processing event #1143097, run #204073 on slot 3,  36 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139475, run #204073 on slot 2,  37 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139958, run #204073 on slot 0,  38 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143765, run #204073 on slot 1,  39 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  41  0      INFO   ===>>>  start processing event #1137156, run #204073 on slot 0,  39 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  42  1      INFO   ===>>>  start processing event #1136377, run #204073 on slot 1,  39 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143097, run #204073 on slot 2,  40 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  43  2      INFO   ===>>>  start processing event #1137842, run #204073 on slot 2,  40 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1134147, run #204073 on slot 3,  41 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137156, run #204073 on slot 0,  42 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1136377, run #204073 on slot 1,  43 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  44  0      INFO   ===>>>  start processing event #1141705, run #204073 on slot 0,  43 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  45  1      INFO   ===>>>  start processing event #1143410, run #204073 on slot 1,  43 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  46  3      INFO   ===>>>  start processing event #1144170, run #204073 on slot 3,  43 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137842, run #204073 on slot 2,  44 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  47  2      INFO   ===>>>  start processing event #1145987, run #204073 on slot 2,  44 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1141705, run #204073 on slot 0,  45 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143410, run #204073 on slot 1,  46 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144170, run #204073 on slot 3,  47 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  48  0      INFO   ===>>>  start processing event #1145633, run #204073 on slot 0,  47 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  49  1      INFO   ===>>>  start processing event #1135005, run #204073 on slot 1,  47 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  50  3      INFO   ===>>>  start processing event #1142167, run #204073 on slot 3,  47 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145987, run #204073 on slot 2,  48 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145633, run #204073 on slot 0,  49 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  51  0      INFO   ===>>>  start processing event #1144646, run #204073 on slot 0,  49 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  52  2      INFO   ===>>>  start processing event #1145027, run #204073 on slot 2,  49 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1135005, run #204073 on slot 1,  50 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142167, run #204073 on slot 3,  51 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  40  0      INFO   ===>>>  start processing event #1134147, run #204073 on slot 0,  39 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  41  1      INFO   ===>>>  start processing event #1137156, run #204073 on slot 1,  39 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  42  2      INFO   ===>>>  start processing event #1136377, run #204073 on slot 2,  39 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143097, run #204073 on slot 3,  40 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1134147, run #204073 on slot 0,  41 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137156, run #204073 on slot 1,  42 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  43  0      INFO   ===>>>  start processing event #1137842, run #204073 on slot 0,  42 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  44  1      INFO   ===>>>  start processing event #1141705, run #204073 on slot 1,  42 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  45  3      INFO   ===>>>  start processing event #1143410, run #204073 on slot 3,  42 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1136377, run #204073 on slot 2,  43 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137842, run #204073 on slot 0,  44 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1141705, run #204073 on slot 1,  45 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  46  0      INFO   ===>>>  start processing event #1144170, run #204073 on slot 0,  45 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  47  1      INFO   ===>>>  start processing event #1145987, run #204073 on slot 1,  45 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  48  2      INFO   ===>>>  start processing event #1145633, run #204073 on slot 2,  45 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143410, run #204073 on slot 3,  46 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144170, run #204073 on slot 0,  47 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145987, run #204073 on slot 1,  48 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  49  0      INFO   ===>>>  start processing event #1135005, run #204073 on slot 0,  48 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  50  1      INFO   ===>>>  start processing event #1142167, run #204073 on slot 1,  48 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  51  3      INFO   ===>>>  start processing event #1144646, run #204073 on slot 3,  48 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145633, run #204073 on slot 2,  49 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1135005, run #204073 on slot 0,  50 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142167, run #204073 on slot 1,  51 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  52  0      INFO   ===>>>  start processing event #1145027, run #204073 on slot 0,  51 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  53  1      INFO   ===>>>  start processing event #1144112, run #204073 on slot 1,  51 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  54  3      INFO   ===>>>  start processing event #1138485, run #204073 on slot 3,  51 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144646, run #204073 on slot 0,  52 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145027, run #204073 on slot 2,  53 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  55  0      INFO   ===>>>  start processing event #1144565, run #204073 on slot 0,  53 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  56  2      INFO   ===>>>  start processing event #1139498, run #204073 on slot 2,  53 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  54  2      INFO   ===>>>  start processing event #1138485, run #204073 on slot 2,  51 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144646, run #204073 on slot 3,  52 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145027, run #204073 on slot 0,  53 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144112, run #204073 on slot 1,  54 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138485, run #204073 on slot 3,  55 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  57  1      INFO   ===>>>  start processing event #1136546, run #204073 on slot 1,  55 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  58  3      INFO   ===>>>  start processing event #1143799, run #204073 on slot 3,  55 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  55  0      INFO   ===>>>  start processing event #1144565, run #204073 on slot 0,  54 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  56  1      INFO   ===>>>  start processing event #1139498, run #204073 on slot 1,  54 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  57  3      INFO   ===>>>  start processing event #1136546, run #204073 on slot 3,  54 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138485, run #204073 on slot 2,  55 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144565, run #204073 on slot 0,  56 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139498, run #204073 on slot 2,  57 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  59  0      INFO   ===>>>  start processing event #1142877, run #204073 on slot 0,  57 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139498, run #204073 on slot 1,  57 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  58  0      INFO   ===>>>  start processing event #1143799, run #204073 on slot 0,  57 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  59  1      INFO   ===>>>  start processing event #1142877, run #204073 on slot 1,  57 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  60  2      INFO   ===>>>  start processing event #1149894, run #204073 on slot 2,  57 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1136546, run #204073 on slot 1,  58 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143799, run #204073 on slot 3,  59 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  61  1      INFO   ===>>>  start processing event #1145364, run #204073 on slot 1,  59 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  62  3      INFO   ===>>>  start processing event #1143770, run #204073 on slot 3,  59 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142877, run #204073 on slot 0,  60 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1136546, run #204073 on slot 3,  58 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143799, run #204073 on slot 0,  59 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142877, run #204073 on slot 1,  60 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  61  0      INFO   ===>>>  start processing event #1145364, run #204073 on slot 0,  60 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  62  1      INFO   ===>>>  start processing event #1143770, run #204073 on slot 1,  60 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  63  3      INFO   ===>>>  start processing event #1148361, run #204073 on slot 3,  60 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149894, run #204073 on slot 2,  61 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  63  0      INFO   ===>>>  start processing event #1148361, run #204073 on slot 0,  61 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  64  2      INFO   ===>>>  start processing event #1148167, run #204073 on slot 2,  61 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145364, run #204073 on slot 1,  62 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143770, run #204073 on slot 3,  63 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148361, run #204073 on slot 0,  64 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  65  0      INFO   ===>>>  start processing event #1138948, run #204073 on slot 0,  64 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  66  1      INFO   ===>>>  start processing event #1144808, run #204073 on slot 1,  64 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  67  3      INFO   ===>>>  start processing event #1145832, run #204073 on slot 3,  64 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148167, run #204073 on slot 2,  65 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138948, run #204073 on slot 0,  66 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144808, run #204073 on slot 1,  67 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  68  0      INFO   ===>>>  start processing event #1153100, run #204073 on slot 0,  67 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  69  1      INFO   ===>>>  start processing event #1142524, run #204073 on slot 1,  67 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  70  2      INFO   ===>>>  start processing event #1138294, run #204073 on slot 2,  67 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145832, run #204073 on slot 3,  68 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1153100, run #204073 on slot 0,  69 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  71  0      INFO   ===>>>  start processing event #1138350, run #204073 on slot 0,  69 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  72  3      INFO   ===>>>  start processing event #1149424, run #204073 on slot 3,  69 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142524, run #204073 on slot 1,  70 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138294, run #204073 on slot 2,  71 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138350, run #204073 on slot 0,  72 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145364, run #204073 on slot 0,  62 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143770, run #204073 on slot 1,  63 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  64  0      INFO   ===>>>  start processing event #1148167, run #204073 on slot 0,  63 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  65  1      INFO   ===>>>  start processing event #1138948, run #204073 on slot 1,  63 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  66  2      INFO   ===>>>  start processing event #1144808, run #204073 on slot 2,  63 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148361, run #204073 on slot 3,  64 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148167, run #204073 on slot 0,  65 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138948, run #204073 on slot 1,  66 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  67  0      INFO   ===>>>  start processing event #1145832, run #204073 on slot 0,  66 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  68  1      INFO   ===>>>  start processing event #1153100, run #204073 on slot 1,  66 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  69  3      INFO   ===>>>  start processing event #1142524, run #204073 on slot 3,  66 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144808, run #204073 on slot 2,  67 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145832, run #204073 on slot 0,  68 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1153100, run #204073 on slot 1,  69 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  70  0      INFO   ===>>>  start processing event #1138294, run #204073 on slot 0,  69 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  71  1      INFO   ===>>>  start processing event #1138350, run #204073 on slot 1,  69 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  72  2      INFO   ===>>>  start processing event #1149424, run #204073 on slot 2,  69 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142524, run #204073 on slot 3,  70 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138294, run #204073 on slot 0,  71 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138350, run #204073 on slot 1,  72 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  73  0      INFO   ===>>>  start processing event #1151102, run #204073 on slot 0,  72 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  74  1      INFO   ===>>>  start processing event #1152242, run #204073 on slot 1,  72 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  75  2      INFO   ===>>>  start processing event #1148416, run #204073 on slot 2,  72 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149424, run #204073 on slot 3,  73 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  75  3      INFO   ===>>>  start processing event #1148416, run #204073 on slot 3,  72 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149424, run #204073 on slot 2,  73 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151102, run #204073 on slot 0,  74 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1152242, run #204073 on slot 1,  75 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  76  0      INFO   ===>>>  start processing event #1142753, run #204073 on slot 0,  75 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  77  1      INFO   ===>>>  start processing event #1149997, run #204073 on slot 1,  75 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  78  3      INFO   ===>>>  start processing event #1151617, run #204073 on slot 3,  75 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148416, run #204073 on slot 2,  76 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  78  2      INFO   ===>>>  start processing event #1151617, run #204073 on slot 2,  75 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148416, run #204073 on slot 3,  76 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142753, run #204073 on slot 0,  77 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  79  0      INFO   ===>>>  start processing event #1149794, run #204073 on slot 0,  77 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  80  2      INFO   ===>>>  start processing event #1152504, run #204073 on slot 2,  77 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149997, run #204073 on slot 1,  78 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151617, run #204073 on slot 3,  79 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  79  0      INFO   ===>>>  start processing event #1149794, run #204073 on slot 0,  78 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  80  1      INFO   ===>>>  start processing event #1152504, run #204073 on slot 1,  78 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  81  3      INFO   ===>>>  start processing event #1142485, run #204073 on slot 3,  78 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151617, run #204073 on slot 2,  79 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149794, run #204073 on slot 0,  80 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  81  0      INFO   ===>>>  start processing event #1142485, run #204073 on slot 0,  80 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  82  1      INFO   ===>>>  start processing event #1151364, run #204073 on slot 1,  80 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  83  3      INFO   ===>>>  start processing event #1143901, run #204073 on slot 3,  80 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1152504, run #204073 on slot 2,  81 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142485, run #204073 on slot 0,  82 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  84  0      INFO   ===>>>  start processing event #1153979, run #204073 on slot 0,  82 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  85  2      INFO   ===>>>  start processing event #1150212, run #204073 on slot 2,  82 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151364, run #204073 on slot 1,  83 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143901, run #204073 on slot 3,  84 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1153979, run #204073 on slot 0,  85 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  86  0      INFO   ===>>>  start processing event #1152633, run #204073 on slot 0,  85 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  87  1      INFO   ===>>>  start processing event #1155482, run #204073 on slot 1,  85 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  88  3      INFO   ===>>>  start processing event #1150472, run #204073 on slot 3,  85 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1150212, run #204073 on slot 2,  86 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1152633, run #204073 on slot 0,  87 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  89  0      INFO   ===>>>  start processing event #1140275, run #204073 on slot 0,  87 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1152504, run #204073 on slot 1,  81 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  82  0      INFO   ===>>>  start processing event #1151364, run #204073 on slot 0,  81 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  83  1      INFO   ===>>>  start processing event #1143901, run #204073 on slot 1,  81 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  84  2      INFO   ===>>>  start processing event #1153979, run #204073 on slot 2,  81 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142485, run #204073 on slot 3,  82 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151364, run #204073 on slot 0,  83 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143901, run #204073 on slot 1,  84 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  85  0      INFO   ===>>>  start processing event #1150212, run #204073 on slot 0,  84 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  86  1      INFO   ===>>>  start processing event #1152633, run #204073 on slot 1,  84 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  87  3      INFO   ===>>>  start processing event #1155482, run #204073 on slot 3,  84 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1153979, run #204073 on slot 2,  85 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1150212, run #204073 on slot 0,  86 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1152633, run #204073 on slot 1,  87 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  88  0      INFO   ===>>>  start processing event #1150472, run #204073 on slot 0,  87 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  89  1      INFO   ===>>>  start processing event #1140275, run #204073 on slot 1,  87 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  90  2      INFO   ===>>>  start processing event #1145882, run #204073 on slot 2,  87 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1155482, run #204073 on slot 1,  88 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1150472, run #204073 on slot 3,  89 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1140275, run #204073 on slot 0,  90 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1155482, run #204073 on slot 3,  88 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1150472, run #204073 on slot 0,  89 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1140275, run #204073 on slot 1,  90 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  91  0      INFO   ===>>>  start processing event #1151732, run #204073 on slot 0,  90 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  92  1      INFO   ===>>>  start processing event #1137896, run #204073 on slot 1,  90 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  93  3      INFO   ===>>>  start processing event #1156381, run #204073 on slot 3,  90 events processed so far  <<<===
@@ -1304,7 +1299,7 @@ AthenaHiveEventLoopMgr                             INFO   ===>>>  done processin
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148893, run #204073 on slot 0,  98 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1156938, run #204073 on slot 1,  99 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1156351, run #204073 on slot 3,  100 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO ---> Loop Finished (seconds): 21.757
+AthenaHiveEventLoopMgr                             INFO ---> Loop Finished (seconds): 5.44463
 /cvmfs/atlas-condb.cern.ch/repo/condi...           INFO Database being retired...
 Domain[ROOT_All]                                   INFO ->  Deaccess DbDatabase   READ      [ROOT_All] 06C9EAE8-6F5B-E011-BAAA-003048F0E7AC
 /cvmfs/atlas-condb.cern.ch/repo/condi...           INFO Database being retired...
@@ -1317,14 +1312,12 @@ Finalizer                                          INFO Finalizing Finalizer...
 Finalize: compared 20 dumps
 CondInputLoader                                    INFO Finalizing CondInputLoader...
 IncidentProcAlg2                                   INFO Finalize
-StoreGateSvc                                    WARNING Called record() on these objects in a MT store
-StoreGateSvc                                    WARNING TileDigitsContainer/MuRcvDigitsCnt [TileDigitsDumper/MuRcvDigitsCntDumper]
 EventInfoByteStreamCnv                             INFO finalize 
 AvalancheSchedulerSvc                              INFO Joining Scheduler thread
 PyComponentMgr                                     INFO Finalizing PyComponentMgr...
 IdDictDetDescrCnv                                  INFO in finalize
 EventDataSvc                                       INFO Finalizing EventDataSvc - package version StoreGate-00-00-00
-IOVDbFolder                                        INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/340 ((     0.16 ))s
+IOVDbFolder                                        INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/340 ((     0.41 ))s
 IOVDbFolder                                        INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
 IOVDbFolder                                        INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
 IOVDbFolder                                        INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
@@ -1336,10 +1329,10 @@ IOVDbFolder                                        INFO Folder /TILE/OFL02/NOISE
 IOVDbFolder                                        INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
 IOVDbFolder                                        INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
 IOVDbFolder                                        INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
-IOVDbFolder                                        INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.03 ))s
-IOVDbSvc                                           INFO  bytes in ((      0.19 ))s
+IOVDbFolder                                        INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.26 ))s
+IOVDbSvc                                           INFO  bytes in ((      0.67 ))s
 IOVDbSvc                                           INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: ((     0.00 ))s
-IOVDbSvc                                           INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     0.19 ))s
+IOVDbSvc                                           INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     0.67 ))s
 IOVDbSvc                                           INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 1 nFolders: 11 ReadTime: ((     0.00 ))s
 TileInfoLoader                                     INFO TileInfoLoader::finalize()
 AthDictLoaderSvc                                   INFO in finalize...
@@ -1348,11 +1341,12 @@ ToolSvc.ByteStreamMetadataTool                     INFO in finalize()
 ToolSvc.TileDigitsContByteStreamTool               INFO Finalizing TileDigitsContByteStreamTool successfuly
 ToolSvc.TileROD_Decoder.TileROD_L2Bui...           INFO Finalizing
 *****Chrono*****                                   INFO ****************************************************************************************************
+*****Chrono*****                                   INFO WARNING: MT job; statistics are unreliable
 *****Chrono*****                                   INFO  The Final CPU consumption ( Chrono ) Table (ordered)
 *****Chrono*****                                   INFO ****************************************************************************************************
-cObjR_ALL                                          INFO Time User   : Tot= 0.77  [s] Ave/Min/Max=0.385(+-0.365)/ 0.02/ 0.75  [s] #=  2
-cObj_ALL                                           INFO Time User   : Tot= 0.98  [s] Ave/Min/Max= 0.49(+- 0.35)/ 0.14/ 0.84  [s] #=  2
-ChronoStatSvc                                      INFO Time User   : Tot= 27.7  [s]                                             #=  1
+cObjR_ALL                                          INFO Time User   : Tot=  260 [ms] Ave/Min/Max=  130(+-  130)/    0/  260 [ms] #=  2
+cObj_ALL                                           INFO Time User   : Tot=  360 [ms] Ave/Min/Max=  180(+-  140)/   40/  320 [ms] #=  2
+ChronoStatSvc                                      INFO Time User   : Tot= 6.75  [s]                                             #=  1
 *****Chrono*****                                   INFO ****************************************************************************************************
 ChronoStatSvc.finalize()                           INFO  Service finalized successfully 
 ApplicationMgr                                     INFO Application Manager Finalized successfully
diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileRawChannelContByteStreamCnv_test.py b/TileCalorimeter/TileSvc/TileByteStream/share/TileRawChannelContByteStreamCnv_test.py
index de1f86c4a10f..675bb16659c9 100644
--- a/TileCalorimeter/TileSvc/TileByteStream/share/TileRawChannelContByteStreamCnv_test.py
+++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileRawChannelContByteStreamCnv_test.py
@@ -65,6 +65,7 @@ globalflags.InputFormat.set_Value_and_Lock('bytestream')
 
 svcMgr.ByteStreamAddressProviderSvc.TypeNames += [
     'TileRawChannelContainer/TileRawChannelCnt',
+    'TileRawChannelContainer/MuRcvRawChCnt',
     ]
 
 include('TileConditions/TileConditions_jobOptions.py')
@@ -92,7 +93,6 @@ topSequence += TileRawChannelDumper ('TileRawChannelCntDumper',
                                      Prefix = dumpdir + '/')
 topSequence += TileRawChannelDumper ('MuRcvRawChannelCntDumper',
                                      TileRawChannelContainer = 'MuRcvRawChCnt',
-                                     AltTileRawChannelContainer = 'TileRawChannelCnt',
                                      Prefix = dumpdir + '/')
 
 
diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileRawChannelContByteStreamCnv_test.ref b/TileCalorimeter/TileSvc/TileByteStream/share/TileRawChannelContByteStreamCnv_test.ref
index 84fd67399e26..5433f942da2b 100644
--- a/TileCalorimeter/TileSvc/TileByteStream/share/TileRawChannelContByteStreamCnv_test.ref
+++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileRawChannelContByteStreamCnv_test.ref
@@ -1,14 +1,14 @@
-Tue Jan 22 03:41:29 CET 2019
+Thu Jan 24 19:00:12 CET 2019
 Preloading tcmalloc_minimal.so
 Py:Athena            INFO including file "AthenaCommon/Preparation.py"
-Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-dbg] [atlas-work3/5871b6e8de] -- built on [2019-01-21T2115]
+Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-opt] [master/1229b7f595] -- built on [2019-01-24T1713]
 Py:Athena            INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
 Py:Athena            INFO executing ROOT6Setup
 Py:Athena            INFO including file "AthenaCommon/Execution.py"
 Py:Athena            INFO including file "TileByteStream/TileRawChannelContByteStreamCnv_test.py"
-[?1034hSetGeometryVersion.py obtained major release version 22
+SetGeometryVersion.py obtained major release version 22
 Py:Athena            INFO including file "IdDictDetDescrCnv/IdDictDetDescrCnv_joboptions.py"
-Py:ConfigurableDb    INFO Read module info for 5456 configurables from 80 genConfDb files
+Py:ConfigurableDb    INFO Read module info for 5453 configurables from 4 genConfDb files
 Py:ConfigurableDb    INFO No duplicates have been found: that's good !
 EventInfoMgtInit: Got release version  Athena-22.0.1
 Py:IOVDbSvc.CondDB    INFO Setting up conditions DB access to instance OFLP200
@@ -34,7 +34,7 @@ ApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to leve
 ApplicationMgr    SUCCESS 
 ====================================================================================================================================
                                                    Welcome to ApplicationMgr (GaudiCoreSvc v30r5)
-                                          running on lxplus068.cern.ch on Tue Jan 22 03:41:59 2019
+                                          running on pcatl12 on Thu Jan 24 19:00:19 2019
 ====================================================================================================================================
 ApplicationMgr       INFO Successfully loaded modules : AthenaServices
 ApplicationMgr       INFO Application Manager Configured successfully
@@ -50,9 +50,9 @@ AthenaPoolCnvSvc     INFO Initializing AthenaPoolCnvSvc - package version Athena
 PoolSvc              INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.xml) [ok]
 PoolSvc              INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
 PoolSvc              INFO Frontier compression level set to 5
-DBReplicaSvc         INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data
-DBReplicaSvc         INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/dbreplica.config
-DBReplicaSvc         INFO Total of 10 servers found for host lxplus068.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
+DBReplicaSvc         INFO Frontier server at (serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier) will be considered for COOL data
+DBReplicaSvc         INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config
+DBReplicaSvc         INFO Total of 10 servers found for host pcatl12.dyndns.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
 PoolSvc              INFO Successfully setup replica sorting algorithm
 PoolSvc              INFO Setting up APR FileCatalog and Streams
 PoolSvc           WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables
@@ -86,6 +86,7 @@ ByteStreamAddre...   INFO -- Will fill Store with id =  0
 IOVDbSvc             INFO preLoadAddresses: Removing folder /TagInfo. It should only be in the file meta data and was not found.
 IOVDbSvc             INFO Opening COOL connection for COOLOFL_LAR/OFLP200
 ClassIDSvc           INFO  getRegistryEntries: read 3073 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 792 CLIDRegistry entries for module ALL
 IOVSvc               INFO No IOVSvcTool associated with store "StoreGateSvc"
 IOVSvcTool           INFO IOVRanges will be checked at every Event
 IOVDbSvc             INFO Opening COOL connection for COOLOFL_TILE/OFLP200
@@ -104,7 +105,6 @@ IOVDbSvc             INFO Added taginfo remove for /TILE/OFL02/STATUS/ADC
 IOVDbSvc             INFO Added taginfo remove for /TILE/OFL02/TIME/CHANNELOFFSET/PHY
 IOVDbSvc             INFO Added taginfo remove for /TILE/ONL01/STATUS/ADC
 IOVDbSvc             INFO Added taginfo remove for /LAR/LArCellPositionShift
-ClassIDSvc           INFO  getRegistryEntries: read 792 CLIDRegistry entries for module ALL
 ClassIDSvc           INFO  getRegistryEntries: read 17 CLIDRegistry entries for module ALL
 DetDescrCnvSvc       INFO  initializing 
 DetDescrCnvSvc       INFO Found DetectorStore service
@@ -193,7 +193,7 @@ EndcapDMConstru...   INFO Start building EC electronics geometry
   multi-layered version of absorbers activated, mlabs == 1
 ================================================
 EndcapDMConstru...   INFO Start building EC electronics geometry
-GeoModelSvc          INFO GeoModelSvc.LArDetectorToolNV	 SZ= 28576Kb 	 Time = 1.57S
+GeoModelSvc          INFO GeoModelSvc.LArDetectorToolNV	 SZ= 22940Kb 	 Time = 0.7S
 GeoModelSvc.Til...   INFO  Entering TileDetectorTool::create()
 TileDddbManager      INFO m_tag = ATLAS-R2-2016-01-00-01
 TileDddbManager      INFO n_tiglob = 5
@@ -205,7 +205,7 @@ TileDddbManager      INFO n_tileSwitches = 1
 ClassIDSvc           INFO  getRegistryEntries: read 213 CLIDRegistry entries for module ALL
 CaloIDHelper_ID...   INFO in createObj: creating a TileID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileNeighbour_reduced.txt
+TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileNeighbour_reduced.txt
 TileHWIDDetDesc...   INFO in createObj: creating a TileHWID helper object in the detector store
 TileHWID             INFO initialize_from_dictionary 
 AtlasDetectorID      INFO initialize_from_dictionary - OK
@@ -217,9 +217,9 @@ CaloIDHelper_ID...   INFO in createObj: creating a LArHEC_ID helper object in th
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIDHelper_ID...   INFO in createObj: creating a LArFCAL_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal2DNeighbors-April2011.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsNext-April2011.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsPrev-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal2DNeighbors-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsNext-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsPrev-April2011.txt
 CaloIDHelper_ID...   INFO in createObj: creating a LArMiniFCAL_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 LArMiniFCAL_ID       INFO  initialize_from_dict - LArCalorimeter dictionary does NOT contain miniFCAL description. Unable to initialize LArMiniFCAL_ID.
@@ -254,7 +254,7 @@ GeoModelSvc.Til...   INFO  Global positioning of barrel with rotation (0,0,0)) a
 GeoModelSvc.Til...   INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
 GeoModelSvc.Til...   INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) GeoModelKernelUnits::cm
 TileDetDescrMan...   INFO Entering create_elements()
-GeoModelSvc          INFO GeoModelSvc.TileDetectorTool	 SZ= 4172Kb 	 Time = 1.81S
+GeoModelSvc          INFO GeoModelSvc.TileDetectorTool	 SZ= 4592Kb 	 Time = 0.16S
 ClassIDSvc           INFO  getRegistryEntries: read 65 CLIDRegistry entries for module ALL
 TileInfoLoader       INFO Initializing....TileInfoLoader
 TileInfoLoader       INFO New ATLAS geometry detected: ATLAS-R2-2016-01-00-01 (010001) version 10001
@@ -276,11 +276,11 @@ TileInfoLoader       INFO Sampling fraction for E2 cells 1/107
 TileInfoLoader       INFO Sampling fraction for E3 cells 1/97
 TileInfoLoader       INFO Sampling fraction for E4 cells 1/75
 TileInfoLoader       INFO Sampling fraction for E4' cells 1/75
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulsehi_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulselo_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_tower_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muonRcv_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muon_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulsehi_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulselo_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_tower_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muonRcv_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muon_physics.dat
 CaloIDHelper_ID...   INFO in createObj: creating a CaloLVL1_ID helper object in the detector store
 CaloLVL1_ID          INFO initialize_from_dictionary
 AtlasDetectorID      INFO initialize_from_dictionary - OK
@@ -333,7 +333,7 @@ TileEMScaleCond...   INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCond
 TileEMScaleCond...   INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlEms) for folder: "/TILE/OFL02/CALIB/EMS"
 TileSampleNoise...   INFO Creating TileCondProxyCool(TileSampleNoiseCondAlg.TileCondProxyCool_NoiseSample) for folder: "/TILE/OFL02/NOISE/SAMPLE"
 TileTimingCondA...   INFO Creating TileCondProxyCool(TileTimingCondAlg.TileCondProxyCool_AdcOffset) for folder: "/TILE/OFL02/TIME/CHANNELOFFSET/PHY"
-ClassIDSvc           INFO  getRegistryEntries: read 3810 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 3902 CLIDRegistry entries for module ALL
 PyComponentMgr       INFO Initializing PyComponentMgr...
 Finalizer            INFO Initializing Finalizer...
 HistogramPersis...WARNING Histograms saving not required.
@@ -388,12 +388,12 @@ CaloIDHelper_ID...   INFO in createObj: creating a LArHEC_SuperCell_ID helper ob
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIDHelper_ID...   INFO in createObj: creating a LArFCAL_SuperCell_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells2DNeighborsNew-April2014.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells2DNeighborsNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
 CaloIDHelper_ID...   INFO in createObj: creating a Tile_SuperCell_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileSuperCellNeighbour.txt
+TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileSuperCellNeighbour.txt
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIdMgrDetDes...   INFO  Finished 
 CaloIdMgrDetDes...   INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv 
@@ -641,23 +641,23 @@ IncidentProcAlg2     INFO Finalize
 EventInfoByteSt...   INFO finalize 
 PyComponentMgr       INFO Finalizing PyComponentMgr...
 IdDictDetDescrCnv    INFO in finalize
-IOVDbFolder          INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/340 ((     0.07 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104132 ((     0.16 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.10 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.10 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/116 ((     0.05 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/964 ((     0.06 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 ((     0.05 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104 ((     0.07 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/643828 ((     0.18 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/93084 ((     0.06 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/120 ((     0.10 ))s
-IOVDbFolder          INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/100 ((     0.02 ))s
-IOVDbFolder          INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.02 ))s
-IOVDbSvc             INFO  bytes in ((      1.03 ))s
+IOVDbFolder          INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/340 ((     0.40 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104132 ((     0.49 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.42 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.42 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/116 ((     0.35 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/964 ((     0.38 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 ((     0.38 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104 ((     0.46 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/643828 ((     0.70 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/93084 ((     0.35 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/120 ((     0.38 ))s
+IOVDbFolder          INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/100 ((     0.03 ))s
+IOVDbFolder          INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.26 ))s
+IOVDbSvc             INFO  bytes in ((      5.02 ))s
 IOVDbSvc             INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: ((     0.00 ))s
-IOVDbSvc             INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     0.10 ))s
-IOVDbSvc             INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: ((     0.93 ))s
+IOVDbSvc             INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     0.66 ))s
+IOVDbSvc             INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: ((     4.36 ))s
 TileInfoLoader       INFO TileInfoLoader::finalize()
 AthDictLoaderSvc     INFO in finalize...
 ToolSvc              INFO Removing all tools created by ToolSvc
@@ -667,27 +667,27 @@ ToolSvc.TileROD...   INFO Finalizing
 *****Chrono*****     INFO ****************************************************************************************************
 *****Chrono*****     INFO  The Final CPU consumption ( Chrono ) Table (ordered)
 *****Chrono*****     INFO ****************************************************************************************************
-cObjR_ALL            INFO Time User   : Tot= 0.82  [s] Ave/Min/Max= 0.41(+- 0.39)/ 0.02/  0.8  [s] #=  2
-cObj_ALL             INFO Time User   : Tot= 1.03  [s] Ave/Min/Max=0.0792(+-0.235)/    0/ 0.88  [s] #= 13
-ChronoStatSvc        INFO Time User   : Tot= 41.7  [s]                                             #=  1
+cObjR_ALL            INFO Time User   : Tot=  270 [ms] Ave/Min/Max=  135(+-  125)/   10/  260 [ms] #=  2
+cObj_ALL             INFO Time User   : Tot=  340 [ms] Ave/Min/Max= 26.2(+- 77.3)/    0/  290 [ms] #= 13
+ChronoStatSvc        INFO Time User   : Tot= 9.27  [s]                                             #=  1
 *****Chrono*****     INFO ****************************************************************************************************
 ChronoStatSvc.f...   INFO  Service finalized successfully 
 ApplicationMgr       INFO Application Manager Finalized successfully
 ApplicationMgr       INFO Application Manager Terminated successfully
 Py:Athena            INFO leaving with code 0: "successful run"
-Tue Jan 22 03:43:23 CET 2019
+Thu Jan 24 19:00:42 CET 2019
 Preloading tcmalloc_minimal.so
 Py:Athena            INFO including file "AthenaCommon/Preparation.py"
-Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-dbg] [atlas-work3/5871b6e8de] -- built on [2019-01-21T2115]
+Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-opt] [master/1229b7f595] -- built on [2019-01-24T1713]
 Py:Athena            INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
 Py:Athena            INFO executing ROOT6Setup
 Py:Athena            INFO configuring AthenaHive with [4] concurrent threads and [4] concurrent events
 Py:AlgScheduler      INFO setting up AvalancheSchedulerSvc/AvalancheSchedulerSvc with 4 threads
 Py:Athena            INFO including file "AthenaCommon/Execution.py"
 Py:Athena            INFO including file "TileByteStream/TileRawChannelContByteStreamCnv_test.py"
-[?1034hSetGeometryVersion.py obtained major release version 22
+SetGeometryVersion.py obtained major release version 22
 Py:Athena            INFO including file "IdDictDetDescrCnv/IdDictDetDescrCnv_joboptions.py"
-Py:ConfigurableDb    INFO Read module info for 5456 configurables from 80 genConfDb files
+Py:ConfigurableDb    INFO Read module info for 5453 configurables from 4 genConfDb files
 Py:ConfigurableDb    INFO No duplicates have been found: that's good !
 EventInfoMgtInit: Got release version  Athena-22.0.1
 Py:IOVDbSvc.CondDB    INFO Setting up conditions DB access to instance OFLP200
@@ -714,7 +714,7 @@ MessageSvc           INFO Activating in a separate thread
 ApplicationMgr    SUCCESS 
 ====================================================================================================================================
                                                    Welcome to ApplicationMgr (GaudiCoreSvc v30r5)
-                                          running on lxplus068.cern.ch on Tue Jan 22 03:43:53 2019
+                                          running on pcatl12 on Thu Jan 24 19:00:48 2019
 ====================================================================================================================================
 ApplicationMgr       INFO Successfully loaded modules : AthenaServices
 ApplicationMgr       INFO Application Manager Configured successfully
@@ -729,9 +729,9 @@ AthenaPoolCnvSvc                                   INFO Initializing AthenaPoolC
 PoolSvc                                            INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.xml) [ok]
 PoolSvc                                            INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
 PoolSvc                                            INFO Frontier compression level set to 5
-DBReplicaSvc                                       INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data
-DBReplicaSvc                                       INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/dbreplica.config
-DBReplicaSvc                                       INFO Total of 10 servers found for host lxplus068.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
+DBReplicaSvc                                       INFO Frontier server at (serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier) will be considered for COOL data
+DBReplicaSvc                                       INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config
+DBReplicaSvc                                       INFO Total of 10 servers found for host pcatl12.dyndns.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
 PoolSvc                                            INFO Successfully setup replica sorting algorithm
 PoolSvc                                            INFO Setting up APR FileCatalog and Streams
 PoolSvc                                         WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables
@@ -873,7 +873,7 @@ EndcapDMConstruction                               INFO Start building EC electr
   multi-layered version of absorbers activated, mlabs == 1
 ================================================
 EndcapDMConstruction                               INFO Start building EC electronics geometry
-GeoModelSvc                                        INFO GeoModelSvc.LArDetectorToolNV	 SZ= 28576Kb 	 Time = 1.76S
+GeoModelSvc                                        INFO GeoModelSvc.LArDetectorToolNV	 SZ= 22940Kb 	 Time = 0.68S
 GeoModelSvc.TileDetectorTool                       INFO  Entering TileDetectorTool::create()
 TileDddbManager                                    INFO m_tag = ATLAS-R2-2016-01-00-01
 TileDddbManager                                    INFO n_tiglob = 5
@@ -885,7 +885,7 @@ TileDddbManager                                    INFO n_tileSwitches = 1
 ClassIDSvc                                         INFO  getRegistryEntries: read 213 CLIDRegistry entries for module ALL
 CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a TileID helper object in the detector store
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
-TileNeighbour                                      INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileNeighbour_reduced.txt
+TileNeighbour                                      INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileNeighbour_reduced.txt
 TileHWIDDetDescrCnv                                INFO in createObj: creating a TileHWID helper object in the detector store
 TileHWID                                           INFO initialize_from_dictionary 
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
@@ -897,9 +897,9 @@ CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
 CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a LArFCAL_ID helper object in the detector store
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal2DNeighbors-April2011.txt
-LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsNext-April2011.txt
-LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsPrev-April2011.txt
+LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal2DNeighbors-April2011.txt
+LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsNext-April2011.txt
+LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsPrev-April2011.txt
 CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a LArMiniFCAL_ID helper object in the detector store
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
 LArMiniFCAL_ID                                     INFO  initialize_from_dict - LArCalorimeter dictionary does NOT contain miniFCAL description. Unable to initialize LArMiniFCAL_ID.
@@ -934,7 +934,7 @@ GeoModelSvc.TileDetectorTool                       INFO  Global positioning of b
 GeoModelSvc.TileDetectorTool                       INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
 GeoModelSvc.TileDetectorTool                       INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) GeoModelKernelUnits::cm
 TileDetDescrManager                                INFO Entering create_elements()
-GeoModelSvc                                        INFO GeoModelSvc.TileDetectorTool	 SZ= 4172Kb 	 Time = 1.78S
+GeoModelSvc                                        INFO GeoModelSvc.TileDetectorTool	 SZ= 3568Kb 	 Time = 0.15S
 ClassIDSvc                                         INFO  getRegistryEntries: read 65 CLIDRegistry entries for module ALL
 TileInfoLoader                                     INFO Initializing....TileInfoLoader
 TileInfoLoader                                     INFO New ATLAS geometry detected: ATLAS-R2-2016-01-00-01 (010001) version 10001
@@ -956,11 +956,11 @@ TileInfoLoader                                     INFO Sampling fraction for E2
 TileInfoLoader                                     INFO Sampling fraction for E3 cells 1/97
 TileInfoLoader                                     INFO Sampling fraction for E4 cells 1/75
 TileInfoLoader                                     INFO Sampling fraction for E4' cells 1/75
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulsehi_physics.dat
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulselo_physics.dat
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_tower_physics.dat
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muonRcv_physics.dat
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muon_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulsehi_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulselo_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_tower_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muonRcv_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muon_physics.dat
 CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a CaloLVL1_ID helper object in the detector store
 CaloLVL1_ID                                        INFO initialize_from_dictionary
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
@@ -969,7 +969,7 @@ TileCablingSvc                                     INFO Cabling for RUN2 (2014-2
 TileCablingSvc                                     INFO Setting Cabling type to 4
 TileInfoLoader                                     INFO Placed TileInfo object in the detector store.
 AthenaHiveEventLoopMgr                             INFO Initializing AthenaHiveEventLoopMgr - package version AthenaServices-00-00-00
-ClassIDSvc                                  0      INFO  getRegistryEntries: read 4075 CLIDRegistry entries for module ALL
+ClassIDSvc                                  0      INFO  getRegistryEntries: read 4167 CLIDRegistry entries for module ALL
 PyComponentMgr                              0      INFO Initializing PyComponentMgr...
 Finalizer                                   0      INFO Initializing Finalizer...
 ClassIDSvc                                  0      INFO  getRegistryEntries: read 53 CLIDRegistry entries for module ALL
@@ -1023,7 +1023,6 @@ AvalancheSchedulerSvc                       0      INFO Will attribute the follo
    o  ( 'TileRawChannelContainer' , 'StoreGateSvc+MuRcvRawChCnt' )     required by Algorithm: 
        * MuRcvRawChannelCntDumper
    o  ( 'TileRawChannelContainer' , 'StoreGateSvc+TileRawChannelCnt' )     required by Algorithm: 
-       * MuRcvRawChannelCntDumper
        * TileRawChannelCntDumper
 PrecedenceSvc                               0      INFO Assembling CF and DF task precedence rules
 PrecedenceRulesGraph                        0      INFO CondSvc found. DF precedence rules will be augmented with 'Conditions'
@@ -1083,12 +1082,12 @@ CaloIDHelper_IDDetDescrCnv              0   0      INFO in createObj: creating a
 AtlasDetectorID                         0   0      INFO initialize_from_dictionary - OK
 CaloIDHelper_IDDetDescrCnv              0   0      INFO in createObj: creating a LArFCAL_SuperCell_ID helper object in the detector store
 AtlasDetectorID                         0   0      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells2DNeighborsNew-April2014.txt
-LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
-LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
+LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells2DNeighborsNew-April2014.txt
+LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
+LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
 CaloIDHelper_IDDetDescrCnv              0   0      INFO in createObj: creating a Tile_SuperCell_ID helper object in the detector store
 AtlasDetectorID                         0   0      INFO initialize_from_dictionary - OK
-TileNeighbour                           0   0      INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileSuperCellNeighbour.txt
+TileNeighbour                           0   0      INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-22T2257/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileSuperCellNeighbour.txt
 AtlasDetectorID                         0   0      INFO initialize_from_dictionary - OK
 CaloIdMgrDetDescrCnv                    0   0      INFO  Finished 
 CaloIdMgrDetDescrCnv                    0   0      INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv 
@@ -1097,17 +1096,13 @@ Domain[ROOT_All]                        0   0      INFO
 RootDatabase.open                       0   0      INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root File version:52200
 AthenaHiveEventLoopMgr                  0   0      INFO   ===>>>  start processing event #1129572, run #204073 on slot 0,  0 events processed so far  <<<===
 ClassIDSvc                              0   0      INFO  getRegistryEntries: read 650 CLIDRegistry entries for module ALL
-SGInputLoader                           0   0   WARNING unable to find proxy for  ( 'TileRawChannelContainer' , 'StoreGateSvc+MuRcvRawChCnt' ) 
 ClassIDSvc                              0   0      INFO  getRegistryEntries: read 1757 CLIDRegistry entries for module ALL
 ClassIDSvc                              0   0      INFO  getRegistryEntries: read 89 CLIDRegistry entries for module ALL
 ToolSvc.TileROD_Decoder.TileROD_L2Bui...0   0      INFO TileL2Builder initialization completed
 ToolSvc.TileRawChannelContByteStreamTool0   0      INFO Initializing TileRawChannelContByteStreamTool
 AthenaHiveEventLoopMgr                  1   1      INFO   ===>>>  start processing event #1129665, run #204073 on slot 1,  0 events processed so far  <<<===
-SGInputLoader                           1   1   WARNING unable to find proxy for  ( 'TileRawChannelContainer' , 'StoreGateSvc+MuRcvRawChCnt' ) 
 AthenaHiveEventLoopMgr                  2   2      INFO   ===>>>  start processing event #1131212, run #204073 on slot 2,  0 events processed so far  <<<===
-SGInputLoader                           2   2   WARNING unable to find proxy for  ( 'TileRawChannelContainer' , 'StoreGateSvc+MuRcvRawChCnt' ) 
 AthenaHiveEventLoopMgr                  3   3      INFO   ===>>>  start processing event #1131086, run #204073 on slot 3,  0 events processed so far  <<<===
-SGInputLoader                           3   3   WARNING unable to find proxy for  ( 'TileRawChannelContainer' , 'StoreGateSvc+MuRcvRawChCnt' ) 
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1129572, run #204073 on slot 0,  1 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1129665, run #204073 on slot 1,  2 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1131212, run #204073 on slot 2,  3 events processed so far  <<<===
@@ -1115,196 +1110,196 @@ AthenaHiveEventLoopMgr                  4   0      INFO   ===>>>  start processi
 AthenaHiveEventLoopMgr                  5   1      INFO   ===>>>  start processing event #1131269, run #204073 on slot 1,  3 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  6   2      INFO   ===>>>  start processing event #1130716, run #204073 on slot 2,  3 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1131086, run #204073 on slot 3,  4 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  7   3      INFO   ===>>>  start processing event #1132019, run #204073 on slot 3,  4 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1130272, run #204073 on slot 0,  5 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  8   0      INFO   ===>>>  start processing event #1132092, run #204073 on slot 0,  5 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1131269, run #204073 on slot 1,  6 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  9   1      INFO   ===>>>  start processing event #1130238, run #204073 on slot 1,  6 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  7   0      INFO   ===>>>  start processing event #1132019, run #204073 on slot 0,  6 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  8   1      INFO   ===>>>  start processing event #1132092, run #204073 on slot 1,  6 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  9   3      INFO   ===>>>  start processing event #1130238, run #204073 on slot 3,  6 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1130716, run #204073 on slot 2,  7 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  10  2      INFO   ===>>>  start processing event #1134553, run #204073 on slot 2,  7 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132019, run #204073 on slot 3,  8 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132092, run #204073 on slot 0,  9 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  11  0      INFO   ===>>>  start processing event #1130999, run #204073 on slot 0,  9 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  12  3      INFO   ===>>>  start processing event #1133461, run #204073 on slot 3,  9 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1130238, run #204073 on slot 1,  10 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  13  1      INFO   ===>>>  start processing event #1131152, run #204073 on slot 1,  10 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1134553, run #204073 on slot 2,  11 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1130999, run #204073 on slot 0,  12 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  14  0      INFO   ===>>>  start processing event #1130142, run #204073 on slot 0,  12 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  15  2      INFO   ===>>>  start processing event #1132770, run #204073 on slot 2,  12 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1133461, run #204073 on slot 3,  13 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  16  3      INFO   ===>>>  start processing event #1132365, run #204073 on slot 3,  13 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1131152, run #204073 on slot 1,  14 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  17  1      INFO   ===>>>  start processing event #1136791, run #204073 on slot 1,  14 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1130142, run #204073 on slot 0,  15 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  18  0      INFO   ===>>>  start processing event #1133781, run #204073 on slot 0,  15 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132770, run #204073 on slot 2,  16 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  19  2      INFO   ===>>>  start processing event #1132067, run #204073 on slot 2,  16 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132365, run #204073 on slot 3,  17 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  20  3      INFO   ===>>>  start processing event #1138637, run #204073 on slot 3,  17 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132019, run #204073 on slot 0,  8 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132092, run #204073 on slot 1,  9 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  10  0      INFO   ===>>>  start processing event #1134553, run #204073 on slot 0,  9 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  11  1      INFO   ===>>>  start processing event #1130999, run #204073 on slot 1,  9 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  12  2      INFO   ===>>>  start processing event #1133461, run #204073 on slot 2,  9 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1130238, run #204073 on slot 3,  10 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1134553, run #204073 on slot 0,  11 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1130999, run #204073 on slot 1,  12 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  13  0      INFO   ===>>>  start processing event #1131152, run #204073 on slot 0,  12 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  14  1      INFO   ===>>>  start processing event #1130142, run #204073 on slot 1,  12 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  15  3      INFO   ===>>>  start processing event #1132770, run #204073 on slot 3,  12 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1133461, run #204073 on slot 2,  13 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1131152, run #204073 on slot 0,  14 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1130142, run #204073 on slot 1,  15 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  16  0      INFO   ===>>>  start processing event #1132365, run #204073 on slot 0,  15 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  17  1      INFO   ===>>>  start processing event #1136791, run #204073 on slot 1,  15 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  18  2      INFO   ===>>>  start processing event #1133781, run #204073 on slot 2,  15 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132770, run #204073 on slot 3,  16 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132365, run #204073 on slot 0,  17 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1136791, run #204073 on slot 1,  18 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  21  1      INFO   ===>>>  start processing event #1139495, run #204073 on slot 1,  18 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1133781, run #204073 on slot 0,  19 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  22  0      INFO   ===>>>  start processing event #1140193, run #204073 on slot 0,  19 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132067, run #204073 on slot 2,  20 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  23  2      INFO   ===>>>  start processing event #1142953, run #204073 on slot 2,  20 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138637, run #204073 on slot 3,  21 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  24  3      INFO   ===>>>  start processing event #1139127, run #204073 on slot 3,  21 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1140193, run #204073 on slot 0,  22 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  25  0      INFO   ===>>>  start processing event #1141272, run #204073 on slot 0,  22 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139495, run #204073 on slot 1,  23 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  26  1      INFO   ===>>>  start processing event #1137117, run #204073 on slot 1,  23 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142953, run #204073 on slot 2,  24 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139127, run #204073 on slot 3,  25 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  27  2      INFO   ===>>>  start processing event #1139599, run #204073 on slot 2,  25 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  28  3      INFO   ===>>>  start processing event #1140314, run #204073 on slot 3,  25 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  19  0      INFO   ===>>>  start processing event #1132067, run #204073 on slot 0,  18 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  20  1      INFO   ===>>>  start processing event #1138637, run #204073 on slot 1,  18 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  21  3      INFO   ===>>>  start processing event #1139495, run #204073 on slot 3,  18 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1133781, run #204073 on slot 2,  19 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132067, run #204073 on slot 0,  20 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138637, run #204073 on slot 1,  21 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  22  0      INFO   ===>>>  start processing event #1140193, run #204073 on slot 0,  21 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  23  1      INFO   ===>>>  start processing event #1142953, run #204073 on slot 1,  21 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  24  2      INFO   ===>>>  start processing event #1139127, run #204073 on slot 2,  21 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139495, run #204073 on slot 3,  22 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1140193, run #204073 on slot 0,  23 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142953, run #204073 on slot 1,  24 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  25  0      INFO   ===>>>  start processing event #1141272, run #204073 on slot 0,  24 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  26  1      INFO   ===>>>  start processing event #1137117, run #204073 on slot 1,  24 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  27  3      INFO   ===>>>  start processing event #1139599, run #204073 on slot 3,  24 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139127, run #204073 on slot 2,  25 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1141272, run #204073 on slot 0,  26 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137117, run #204073 on slot 1,  27 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  29  0      INFO   ===>>>  start processing event #1133685, run #204073 on slot 0,  27 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  30  1      INFO   ===>>>  start processing event #1143279, run #204073 on slot 1,  27 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139599, run #204073 on slot 2,  28 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  31  2      INFO   ===>>>  start processing event #1137563, run #204073 on slot 2,  28 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1140314, run #204073 on slot 3,  29 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  32  3      INFO   ===>>>  start processing event #1139927, run #204073 on slot 3,  29 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1133685, run #204073 on slot 0,  30 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  33  0      INFO   ===>>>  start processing event #1141197, run #204073 on slot 0,  30 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143279, run #204073 on slot 1,  31 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  34  1      INFO   ===>>>  start processing event #1140039, run #204073 on slot 1,  31 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137563, run #204073 on slot 2,  32 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139927, run #204073 on slot 3,  33 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  35  2      INFO   ===>>>  start processing event #1142531, run #204073 on slot 2,  33 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  36  3      INFO   ===>>>  start processing event #1139475, run #204073 on slot 3,  33 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1141197, run #204073 on slot 0,  34 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  37  0      INFO   ===>>>  start processing event #1139958, run #204073 on slot 0,  34 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1140039, run #204073 on slot 1,  35 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  38  1      INFO   ===>>>  start processing event #1143765, run #204073 on slot 1,  35 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142531, run #204073 on slot 2,  36 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  39  2      INFO   ===>>>  start processing event #1143097, run #204073 on slot 2,  36 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139475, run #204073 on slot 3,  37 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  28  0      INFO   ===>>>  start processing event #1140314, run #204073 on slot 0,  27 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  29  1      INFO   ===>>>  start processing event #1133685, run #204073 on slot 1,  27 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  30  2      INFO   ===>>>  start processing event #1143279, run #204073 on slot 2,  27 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139599, run #204073 on slot 3,  28 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1140314, run #204073 on slot 0,  29 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1133685, run #204073 on slot 1,  30 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  31  0      INFO   ===>>>  start processing event #1137563, run #204073 on slot 0,  30 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  32  1      INFO   ===>>>  start processing event #1139927, run #204073 on slot 1,  30 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  33  3      INFO   ===>>>  start processing event #1141197, run #204073 on slot 3,  30 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143279, run #204073 on slot 2,  31 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137563, run #204073 on slot 0,  32 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139927, run #204073 on slot 1,  33 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  34  0      INFO   ===>>>  start processing event #1140039, run #204073 on slot 0,  33 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  35  1      INFO   ===>>>  start processing event #1142531, run #204073 on slot 1,  33 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  36  2      INFO   ===>>>  start processing event #1139475, run #204073 on slot 2,  33 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1141197, run #204073 on slot 3,  34 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1140039, run #204073 on slot 0,  35 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142531, run #204073 on slot 1,  36 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  37  0      INFO   ===>>>  start processing event #1139958, run #204073 on slot 0,  36 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  38  1      INFO   ===>>>  start processing event #1143765, run #204073 on slot 1,  36 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  39  3      INFO   ===>>>  start processing event #1143097, run #204073 on slot 3,  36 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139475, run #204073 on slot 2,  37 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139958, run #204073 on slot 0,  38 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  40  0      INFO   ===>>>  start processing event #1134147, run #204073 on slot 0,  38 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  41  3      INFO   ===>>>  start processing event #1137156, run #204073 on slot 3,  38 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143765, run #204073 on slot 1,  39 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  42  1      INFO   ===>>>  start processing event #1136377, run #204073 on slot 1,  39 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143097, run #204073 on slot 2,  40 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  43  2      INFO   ===>>>  start processing event #1137842, run #204073 on slot 2,  40 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  40  0      INFO   ===>>>  start processing event #1134147, run #204073 on slot 0,  39 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  41  1      INFO   ===>>>  start processing event #1137156, run #204073 on slot 1,  39 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  42  2      INFO   ===>>>  start processing event #1136377, run #204073 on slot 2,  39 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143097, run #204073 on slot 3,  40 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1134147, run #204073 on slot 0,  41 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  44  0      INFO   ===>>>  start processing event #1141705, run #204073 on slot 0,  41 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137156, run #204073 on slot 3,  42 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137156, run #204073 on slot 1,  42 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  43  0      INFO   ===>>>  start processing event #1137842, run #204073 on slot 0,  42 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  44  1      INFO   ===>>>  start processing event #1141705, run #204073 on slot 1,  42 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  45  3      INFO   ===>>>  start processing event #1143410, run #204073 on slot 3,  42 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1136377, run #204073 on slot 1,  43 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  46  1      INFO   ===>>>  start processing event #1144170, run #204073 on slot 1,  43 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137842, run #204073 on slot 2,  44 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  47  2      INFO   ===>>>  start processing event #1145987, run #204073 on slot 2,  44 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1141705, run #204073 on slot 0,  45 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  48  0      INFO   ===>>>  start processing event #1145633, run #204073 on slot 0,  45 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1136377, run #204073 on slot 2,  43 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137842, run #204073 on slot 0,  44 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1141705, run #204073 on slot 1,  45 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  46  0      INFO   ===>>>  start processing event #1144170, run #204073 on slot 0,  45 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  47  1      INFO   ===>>>  start processing event #1145987, run #204073 on slot 1,  45 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  48  2      INFO   ===>>>  start processing event #1145633, run #204073 on slot 2,  45 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143410, run #204073 on slot 3,  46 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  49  3      INFO   ===>>>  start processing event #1135005, run #204073 on slot 3,  46 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144170, run #204073 on slot 1,  47 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  50  1      INFO   ===>>>  start processing event #1142167, run #204073 on slot 1,  47 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145987, run #204073 on slot 2,  48 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145633, run #204073 on slot 0,  49 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  51  0      INFO   ===>>>  start processing event #1144646, run #204073 on slot 0,  49 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  52  2      INFO   ===>>>  start processing event #1145027, run #204073 on slot 2,  49 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1135005, run #204073 on slot 3,  50 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  53  3      INFO   ===>>>  start processing event #1144112, run #204073 on slot 3,  50 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144170, run #204073 on slot 0,  47 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145987, run #204073 on slot 1,  48 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  49  0      INFO   ===>>>  start processing event #1135005, run #204073 on slot 0,  48 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  50  1      INFO   ===>>>  start processing event #1142167, run #204073 on slot 1,  48 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  51  3      INFO   ===>>>  start processing event #1144646, run #204073 on slot 3,  48 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145633, run #204073 on slot 2,  49 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1135005, run #204073 on slot 0,  50 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142167, run #204073 on slot 1,  51 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  54  1      INFO   ===>>>  start processing event #1138485, run #204073 on slot 1,  51 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144646, run #204073 on slot 0,  52 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  55  0      INFO   ===>>>  start processing event #1144565, run #204073 on slot 0,  52 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145027, run #204073 on slot 2,  53 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  56  2      INFO   ===>>>  start processing event #1139498, run #204073 on slot 2,  53 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144112, run #204073 on slot 3,  54 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  52  0      INFO   ===>>>  start processing event #1145027, run #204073 on slot 0,  51 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  53  1      INFO   ===>>>  start processing event #1144112, run #204073 on slot 1,  51 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  54  2      INFO   ===>>>  start processing event #1138485, run #204073 on slot 2,  51 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144646, run #204073 on slot 3,  52 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145027, run #204073 on slot 0,  53 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144112, run #204073 on slot 1,  54 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  55  0      INFO   ===>>>  start processing event #1144565, run #204073 on slot 0,  54 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  56  1      INFO   ===>>>  start processing event #1139498, run #204073 on slot 1,  54 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  57  3      INFO   ===>>>  start processing event #1136546, run #204073 on slot 3,  54 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138485, run #204073 on slot 1,  55 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  58  1      INFO   ===>>>  start processing event #1143799, run #204073 on slot 1,  55 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138485, run #204073 on slot 2,  55 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144565, run #204073 on slot 0,  56 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  59  0      INFO   ===>>>  start processing event #1142877, run #204073 on slot 0,  56 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139498, run #204073 on slot 2,  57 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139498, run #204073 on slot 1,  57 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  58  0      INFO   ===>>>  start processing event #1143799, run #204073 on slot 0,  57 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  59  1      INFO   ===>>>  start processing event #1142877, run #204073 on slot 1,  57 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  60  2      INFO   ===>>>  start processing event #1149894, run #204073 on slot 2,  57 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1136546, run #204073 on slot 3,  58 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143799, run #204073 on slot 1,  59 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  61  1      INFO   ===>>>  start processing event #1145364, run #204073 on slot 1,  59 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  62  3      INFO   ===>>>  start processing event #1143770, run #204073 on slot 3,  59 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142877, run #204073 on slot 0,  60 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  63  0      INFO   ===>>>  start processing event #1148361, run #204073 on slot 0,  60 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143799, run #204073 on slot 0,  59 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142877, run #204073 on slot 1,  60 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  61  0      INFO   ===>>>  start processing event #1145364, run #204073 on slot 0,  60 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  62  1      INFO   ===>>>  start processing event #1143770, run #204073 on slot 1,  60 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  63  3      INFO   ===>>>  start processing event #1148361, run #204073 on slot 3,  60 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149894, run #204073 on slot 2,  61 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145364, run #204073 on slot 1,  62 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  64  1      INFO   ===>>>  start processing event #1148167, run #204073 on slot 1,  62 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  65  2      INFO   ===>>>  start processing event #1138948, run #204073 on slot 2,  62 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143770, run #204073 on slot 3,  63 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  66  3      INFO   ===>>>  start processing event #1144808, run #204073 on slot 3,  63 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148361, run #204073 on slot 0,  64 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  67  0      INFO   ===>>>  start processing event #1145832, run #204073 on slot 0,  64 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148167, run #204073 on slot 1,  65 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  68  1      INFO   ===>>>  start processing event #1153100, run #204073 on slot 1,  65 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138948, run #204073 on slot 2,  66 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  69  2      INFO   ===>>>  start processing event #1142524, run #204073 on slot 2,  66 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144808, run #204073 on slot 3,  67 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  70  3      INFO   ===>>>  start processing event #1138294, run #204073 on slot 3,  67 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1153100, run #204073 on slot 1,  68 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  71  1      INFO   ===>>>  start processing event #1138350, run #204073 on slot 1,  68 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145832, run #204073 on slot 0,  69 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  72  0      INFO   ===>>>  start processing event #1149424, run #204073 on slot 0,  69 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142524, run #204073 on slot 2,  70 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  73  2      INFO   ===>>>  start processing event #1151102, run #204073 on slot 2,  70 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138294, run #204073 on slot 3,  71 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  74  3      INFO   ===>>>  start processing event #1152242, run #204073 on slot 3,  71 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145364, run #204073 on slot 0,  62 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143770, run #204073 on slot 1,  63 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  64  0      INFO   ===>>>  start processing event #1148167, run #204073 on slot 0,  63 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  65  1      INFO   ===>>>  start processing event #1138948, run #204073 on slot 1,  63 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  66  2      INFO   ===>>>  start processing event #1144808, run #204073 on slot 2,  63 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148361, run #204073 on slot 3,  64 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148167, run #204073 on slot 0,  65 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138948, run #204073 on slot 1,  66 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  67  0      INFO   ===>>>  start processing event #1145832, run #204073 on slot 0,  66 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  68  1      INFO   ===>>>  start processing event #1153100, run #204073 on slot 1,  66 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  69  3      INFO   ===>>>  start processing event #1142524, run #204073 on slot 3,  66 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144808, run #204073 on slot 2,  67 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145832, run #204073 on slot 0,  68 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1153100, run #204073 on slot 1,  69 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  70  0      INFO   ===>>>  start processing event #1138294, run #204073 on slot 0,  69 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  71  1      INFO   ===>>>  start processing event #1138350, run #204073 on slot 1,  69 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  72  2      INFO   ===>>>  start processing event #1149424, run #204073 on slot 2,  69 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142524, run #204073 on slot 3,  70 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138294, run #204073 on slot 0,  71 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138350, run #204073 on slot 1,  72 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  75  1      INFO   ===>>>  start processing event #1148416, run #204073 on slot 1,  72 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149424, run #204073 on slot 0,  73 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  76  0      INFO   ===>>>  start processing event #1142753, run #204073 on slot 0,  73 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151102, run #204073 on slot 2,  74 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  77  2      INFO   ===>>>  start processing event #1149997, run #204073 on slot 2,  74 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1152242, run #204073 on slot 3,  75 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  78  3      INFO   ===>>>  start processing event #1151617, run #204073 on slot 3,  75 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148416, run #204073 on slot 1,  76 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  79  1      INFO   ===>>>  start processing event #1149794, run #204073 on slot 1,  76 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  73  0      INFO   ===>>>  start processing event #1151102, run #204073 on slot 0,  72 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  74  1      INFO   ===>>>  start processing event #1152242, run #204073 on slot 1,  72 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  75  3      INFO   ===>>>  start processing event #1148416, run #204073 on slot 3,  72 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149424, run #204073 on slot 2,  73 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151102, run #204073 on slot 0,  74 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1152242, run #204073 on slot 1,  75 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  76  0      INFO   ===>>>  start processing event #1142753, run #204073 on slot 0,  75 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  77  1      INFO   ===>>>  start processing event #1149997, run #204073 on slot 1,  75 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  78  2      INFO   ===>>>  start processing event #1151617, run #204073 on slot 2,  75 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148416, run #204073 on slot 3,  76 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142753, run #204073 on slot 0,  77 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149997, run #204073 on slot 2,  78 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  80  0      INFO   ===>>>  start processing event #1152504, run #204073 on slot 0,  78 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  81  2      INFO   ===>>>  start processing event #1142485, run #204073 on slot 2,  78 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151617, run #204073 on slot 3,  79 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  82  3      INFO   ===>>>  start processing event #1151364, run #204073 on slot 3,  79 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149794, run #204073 on slot 1,  80 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  83  1      INFO   ===>>>  start processing event #1143901, run #204073 on slot 1,  80 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1152504, run #204073 on slot 0,  81 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  84  0      INFO   ===>>>  start processing event #1153979, run #204073 on slot 0,  81 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142485, run #204073 on slot 2,  82 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  85  2      INFO   ===>>>  start processing event #1150212, run #204073 on slot 2,  82 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151364, run #204073 on slot 3,  83 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  86  3      INFO   ===>>>  start processing event #1152633, run #204073 on slot 3,  83 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149997, run #204073 on slot 1,  78 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  79  0      INFO   ===>>>  start processing event #1149794, run #204073 on slot 0,  78 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  80  1      INFO   ===>>>  start processing event #1152504, run #204073 on slot 1,  78 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  81  3      INFO   ===>>>  start processing event #1142485, run #204073 on slot 3,  78 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151617, run #204073 on slot 2,  79 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149794, run #204073 on slot 0,  80 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1152504, run #204073 on slot 1,  81 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  82  0      INFO   ===>>>  start processing event #1151364, run #204073 on slot 0,  81 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  83  1      INFO   ===>>>  start processing event #1143901, run #204073 on slot 1,  81 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  84  2      INFO   ===>>>  start processing event #1153979, run #204073 on slot 2,  81 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142485, run #204073 on slot 3,  82 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151364, run #204073 on slot 0,  83 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143901, run #204073 on slot 1,  84 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  87  1      INFO   ===>>>  start processing event #1155482, run #204073 on slot 1,  84 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1153979, run #204073 on slot 0,  85 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  88  0      INFO   ===>>>  start processing event #1150472, run #204073 on slot 0,  85 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1150212, run #204073 on slot 2,  86 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  89  2      INFO   ===>>>  start processing event #1140275, run #204073 on slot 2,  86 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1152633, run #204073 on slot 3,  87 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  90  3      INFO   ===>>>  start processing event #1145882, run #204073 on slot 3,  87 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1155482, run #204073 on slot 1,  88 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  91  1      INFO   ===>>>  start processing event #1151732, run #204073 on slot 1,  88 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  85  0      INFO   ===>>>  start processing event #1150212, run #204073 on slot 0,  84 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  86  1      INFO   ===>>>  start processing event #1152633, run #204073 on slot 1,  84 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  87  3      INFO   ===>>>  start processing event #1155482, run #204073 on slot 3,  84 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1153979, run #204073 on slot 2,  85 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1150212, run #204073 on slot 0,  86 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1152633, run #204073 on slot 1,  87 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  88  0      INFO   ===>>>  start processing event #1150472, run #204073 on slot 0,  87 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  89  1      INFO   ===>>>  start processing event #1140275, run #204073 on slot 1,  87 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  90  2      INFO   ===>>>  start processing event #1145882, run #204073 on slot 2,  87 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1155482, run #204073 on slot 3,  88 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1150472, run #204073 on slot 0,  89 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  92  0      INFO   ===>>>  start processing event #1137896, run #204073 on slot 0,  89 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1140275, run #204073 on slot 2,  90 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  93  2      INFO   ===>>>  start processing event #1156381, run #204073 on slot 2,  90 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145882, run #204073 on slot 3,  91 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  94  3      INFO   ===>>>  start processing event #1149161, run #204073 on slot 3,  91 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151732, run #204073 on slot 1,  92 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137896, run #204073 on slot 0,  93 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  95  0      INFO   ===>>>  start processing event #1153794, run #204073 on slot 0,  93 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  96  1      INFO   ===>>>  start processing event #1151312, run #204073 on slot 1,  93 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1156381, run #204073 on slot 2,  94 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  97  2      INFO   ===>>>  start processing event #1148893, run #204073 on slot 2,  94 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149161, run #204073 on slot 3,  95 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  98  3      INFO   ===>>>  start processing event #1156938, run #204073 on slot 3,  95 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1153794, run #204073 on slot 0,  96 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  99  0      INFO   ===>>>  start processing event #1156351, run #204073 on slot 0,  96 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151312, run #204073 on slot 1,  97 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148893, run #204073 on slot 2,  98 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1156938, run #204073 on slot 3,  99 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1156351, run #204073 on slot 0,  100 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO ---> Loop Finished (seconds): 27.2973
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1140275, run #204073 on slot 1,  90 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  91  0      INFO   ===>>>  start processing event #1151732, run #204073 on slot 0,  90 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  92  1      INFO   ===>>>  start processing event #1137896, run #204073 on slot 1,  90 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  93  3      INFO   ===>>>  start processing event #1156381, run #204073 on slot 3,  90 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145882, run #204073 on slot 2,  91 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151732, run #204073 on slot 0,  92 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137896, run #204073 on slot 1,  93 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  94  0      INFO   ===>>>  start processing event #1149161, run #204073 on slot 0,  93 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  95  1      INFO   ===>>>  start processing event #1153794, run #204073 on slot 1,  93 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  96  2      INFO   ===>>>  start processing event #1151312, run #204073 on slot 2,  93 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1156381, run #204073 on slot 3,  94 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149161, run #204073 on slot 0,  95 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1153794, run #204073 on slot 1,  96 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  97  0      INFO   ===>>>  start processing event #1148893, run #204073 on slot 0,  96 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  98  1      INFO   ===>>>  start processing event #1156938, run #204073 on slot 1,  96 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  99  3      INFO   ===>>>  start processing event #1156351, run #204073 on slot 3,  96 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151312, run #204073 on slot 2,  97 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148893, run #204073 on slot 0,  98 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1156938, run #204073 on slot 1,  99 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1156351, run #204073 on slot 3,  100 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO ---> Loop Finished (seconds): 6.41162
 /cvmfs/atlas-condb.cern.ch/repo/condi...           INFO Database being retired...
 Domain[ROOT_All]                                   INFO ->  Deaccess DbDatabase   READ      [ROOT_All] 06C9EAE8-6F5B-E011-BAAA-003048F0E7AC
 /cvmfs/atlas-condb.cern.ch/repo/condi...           INFO Database being retired...
@@ -1317,14 +1312,12 @@ Finalizer                                          INFO Finalizing Finalizer...
 Finalize: compared 20 dumps
 CondInputLoader                                    INFO Finalizing CondInputLoader...
 IncidentProcAlg2                                   INFO Finalize
-StoreGateSvc                                    WARNING Called record() on these objects in a MT store
-StoreGateSvc                                    WARNING TileRawChannelContainer/MuRcvRawChCnt [TileRawChannelDumper/MuRcvRawChannelCntDumper]
 EventInfoByteStreamCnv                             INFO finalize 
 AvalancheSchedulerSvc                              INFO Joining Scheduler thread
 PyComponentMgr                                     INFO Finalizing PyComponentMgr...
 IdDictDetDescrCnv                                  INFO in finalize
 EventDataSvc                                       INFO Finalizing EventDataSvc - package version StoreGate-00-00-00
-IOVDbFolder                                        INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/340 ((     0.14 ))s
+IOVDbFolder                                        INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/340 ((     0.41 ))s
 IOVDbFolder                                        INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
 IOVDbFolder                                        INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
 IOVDbFolder                                        INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
@@ -1336,10 +1329,10 @@ IOVDbFolder                                        INFO Folder /TILE/OFL02/NOISE
 IOVDbFolder                                        INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
 IOVDbFolder                                        INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
 IOVDbFolder                                        INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
-IOVDbFolder                                        INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.09 ))s
-IOVDbSvc                                           INFO  bytes in ((      0.23 ))s
+IOVDbFolder                                        INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.42 ))s
+IOVDbSvc                                           INFO  bytes in ((      0.82 ))s
 IOVDbSvc                                           INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: ((     0.00 ))s
-IOVDbSvc                                           INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     0.23 ))s
+IOVDbSvc                                           INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     0.82 ))s
 IOVDbSvc                                           INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 1 nFolders: 11 ReadTime: ((     0.00 ))s
 TileInfoLoader                                     INFO TileInfoLoader::finalize()
 AthDictLoaderSvc                                   INFO in finalize...
@@ -1348,11 +1341,12 @@ ToolSvc.ByteStreamMetadataTool                     INFO in finalize()
 ToolSvc.TileRawChannelContByteStreamTool           INFO Finalizing TileRawChannelContByteStreamTool successfuly
 ToolSvc.TileROD_Decoder.TileROD_L2Bui...           INFO Finalizing
 *****Chrono*****                                   INFO ****************************************************************************************************
+*****Chrono*****                                   INFO WARNING: MT job; statistics are unreliable
 *****Chrono*****                                   INFO  The Final CPU consumption ( Chrono ) Table (ordered)
 *****Chrono*****                                   INFO ****************************************************************************************************
-cObjR_ALL                                          INFO Time User   : Tot= 1.05  [s] Ave/Min/Max=0.525(+-0.505)/ 0.02/ 1.03  [s] #=  2
-cObj_ALL                                           INFO Time User   : Tot= 1.33  [s] Ave/Min/Max=0.665(+-0.485)/ 0.18/ 1.15  [s] #=  2
-ChronoStatSvc                                      INFO Time User   : Tot= 40.2  [s]                                             #=  1
+cObjR_ALL                                          INFO Time User   : Tot=  280 [ms] Ave/Min/Max=  140(+-  140)/    0/  280 [ms] #=  2
+cObj_ALL                                           INFO Time User   : Tot=  370 [ms] Ave/Min/Max=  185(+-  145)/   40/  330 [ms] #=  2
+ChronoStatSvc                                      INFO Time User   : Tot= 8.44  [s]                                             #=  1
 *****Chrono*****                                   INFO ****************************************************************************************************
 ChronoStatSvc.finalize()                           INFO  Service finalized successfully 
 ApplicationMgr                                     INFO Application Manager Finalized successfully
diff --git a/TileCalorimeter/TileSvc/TileByteStream/src/TileDigitsContByteStreamCnv.cxx b/TileCalorimeter/TileSvc/TileByteStream/src/TileDigitsContByteStreamCnv.cxx
index 14ffca146254..042981523935 100644
--- a/TileCalorimeter/TileSvc/TileByteStream/src/TileDigitsContByteStreamCnv.cxx
+++ b/TileCalorimeter/TileSvc/TileByteStream/src/TileDigitsContByteStreamCnv.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // Gaudi includes
@@ -21,7 +21,6 @@
 #include "ByteStreamCnvSvcBase/ROBDataProviderSvc.h"
 #include "ByteStreamData/RawEvent.h" 
 
-#include "StoreGate/ActiveStoreSvc.h"
 #include "StoreGate/StoreClearedIncident.h"
 #include "AthenaKernel/CLASS_DEF.h"
 
@@ -46,7 +45,6 @@ TileDigitsContByteStreamCnv::TileDigitsContByteStreamCnv(ISvcLocator* svcloc)
   , m_tool("TileDigitsContByteStreamTool")
   , m_byteStreamEventAccess("ByteStreamCnvSvc", m_name)
   , m_byteStreamCnvSvc(0)
-  , m_activeStore("ActiveStoreSvc", m_name)
   , m_robSvc("ROBDataProviderSvc", m_name)
   , m_decoder("TileROD_Decoder")
   , m_hid2re(0)
@@ -74,7 +72,6 @@ StatusCode TileDigitsContByteStreamCnv::initialize() {
 
   ATH_CHECK( m_robSvc.retrieve() );
 
-  ATH_CHECK( m_activeStore.retrieve() );
   
   return StatusCode::SUCCESS;
 }
@@ -90,61 +87,58 @@ StatusCode TileDigitsContByteStreamCnv::createObj(IOpaqueAddress* pAddr, DataObj
     return StatusCode::FAILURE;    
   }
 
-  uint32_t newrob = 0x0;
+  const std::string containerName(*(pRE_Addr->par()));
+  bool isTMDB(containerName == "MuRcvDigitsCnt");
 
-  for (int icnt = 0; icnt < 2; ++icnt) {
+  uint32_t newrob = 0x0;
 
-    bool isTMDB(icnt == 1);
 
-    std::vector<uint32_t> robid(1); 
-    robid[0] = 0;
-    std::vector<const ROBDataProviderSvc::ROBF*> robf;
+  std::vector<uint32_t> robid(1);
+  robid[0] = 0;
+  std::vector<const ROBDataProviderSvc::ROBF*> robf;
 
-    TileMutableDigitsContainer* cont = m_queue.get (true);
-    ATH_CHECK( cont->status() );
+  TileMutableDigitsContainer* cont = m_queue.get (true);
+  ATH_CHECK( cont->status() );
     
-    // iterate over all collections in a container and fill them
-    //
-    for (IdentifierHash hash : cont->GetAllCurrentHashes()) {
-      TileDigitsCollection* digitsCollection = cont->indexFindPtr (hash);
-      digitsCollection->clear();
-      TileDigitsCollection::ID collID = digitsCollection->identify();  
+  // iterate over all collections in a container and fill them
+  //
+  for (IdentifierHash hash : cont->GetAllCurrentHashes()) {
+    TileDigitsCollection* digitsCollection = cont->indexFindPtr (hash);
+    digitsCollection->clear();
+    TileDigitsCollection::ID collID = digitsCollection->identify();
       
-      // find ROB
-      if (isTMDB) {
-        newrob = m_hid2re->getRobFromTileMuRcvFragID(collID);
-      } else {
-        newrob = m_hid2re->getRobFromFragID(collID);
-      }
+    // find ROB
+    if (isTMDB) {
+      newrob = m_hid2re->getRobFromTileMuRcvFragID(collID);
+    } else {
+      newrob = m_hid2re->getRobFromFragID(collID);
+    }
 
-      if (newrob != robid[0]) {
-        robid[0] = newrob;
-        robf.clear();
-        m_robSvc->getROBData(robid, robf);
-      }
+    if (newrob != robid[0]) {
+      robid[0] = newrob;
+      robf.clear();
+      m_robSvc->getROBData(robid, robf);
+    }
       
-      if (robf.size() > 0 ) {
-        if (isTMDB) {// reid for TMDB 0x5x010x
-          ATH_MSG_DEBUG(" Decoding TMDB digits in ROD fragment ");
-          m_decoder->fillCollection_TileMuRcv_Digi(robf[0], *digitsCollection);
-        } else {
-          m_decoder->fillCollection(robf[0], *digitsCollection);
-        }
+    if (robf.size() > 0 ) {
+      if (isTMDB) {// reid for TMDB 0x5x010x
+        ATH_MSG_DEBUG(" Decoding TMDB digits in ROD fragment ");
+        m_decoder->fillCollection_TileMuRcv_Digi(robf[0], *digitsCollection);
       } else {
-        digitsCollection->setFragBCID((TileROD_Decoder::NO_ROB)<<16);
+        m_decoder->fillCollection(robf[0], *digitsCollection);
       }
+    } else {
+      digitsCollection->setFragBCID((TileROD_Decoder::NO_ROB)<<16);
     }
 
-    ATH_MSG_DEBUG( "Creating digits container " << *(pRE_Addr->par()) );
 
-    TileDigitsContainer* basecont = cont;
-    if (isTMDB) {
-      ATH_CHECK( m_activeStore->activeStore()->record( basecont, "MuRcvDigitsCnt" ) );
-    } else {
-      pObj = SG::asStorable( basecont ) ;
-    }
   }
 
+  ATH_MSG_DEBUG( "Creating digits container: " << containerName );
+
+  TileDigitsContainer* basecont = cont;
+  pObj = SG::asStorable( basecont ) ;
+
 
   return StatusCode::SUCCESS;  
 }
diff --git a/TileCalorimeter/TileSvc/TileByteStream/src/TileRawChannelContByteStreamCnv.cxx b/TileCalorimeter/TileSvc/TileByteStream/src/TileRawChannelContByteStreamCnv.cxx
index c75ee42be300..517090ed689b 100644
--- a/TileCalorimeter/TileSvc/TileByteStream/src/TileRawChannelContByteStreamCnv.cxx
+++ b/TileCalorimeter/TileSvc/TileByteStream/src/TileRawChannelContByteStreamCnv.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // Gaudi includes
@@ -20,7 +20,6 @@
 #include "ByteStreamCnvSvcBase/ROBDataProviderSvc.h"
 #include "ByteStreamData/RawEvent.h" 
 
-#include "StoreGate/ActiveStoreSvc.h"
 #include "StoreGate/StoreClearedIncident.h"
 #include "AthenaKernel/CLASS_DEF.h"
 
@@ -42,7 +41,6 @@ TileRawChannelContByteStreamCnv::TileRawChannelContByteStreamCnv(ISvcLocator* sv
   , m_tool("TileRawChannelContByteStreamTool")
   , m_byteStreamEventAccess("ByteStreamCnvSvc", m_name)
   , m_byteStreamCnvSvc(0)
-  , m_activeStore("ActiveStoreSvc", m_name)
   , m_robSvc("ROBDataProviderSvc", m_name)
   , m_decoder("TileROD_Decoder")
   , m_hid2re(0)
@@ -69,8 +67,6 @@ StatusCode TileRawChannelContByteStreamCnv::initialize() {
 
   ATH_CHECK( m_robSvc.retrieve() );
 
-  ATH_CHECK( m_activeStore.retrieve() );
-
   return StatusCode::SUCCESS;
 }
 
@@ -86,67 +82,62 @@ StatusCode TileRawChannelContByteStreamCnv::createObj(IOpaqueAddress* pAddr, Dat
     return StatusCode::FAILURE;    
   }
 
-  uint32_t newrob = 0x0;
+  const std::string containerName(*(pRE_Addr->par()));
+  bool isTMDB(containerName == "MuRcvRawChCnt");
 
-  for (int icnt = 0; icnt < 2; ++icnt) {
+  uint32_t newrob = 0x0;
 
-    bool isTMDB = (icnt == 1);
     
-    std::vector<uint32_t> robid(1); 
-    robid[0] = 0;
-    std::vector<const ROBDataProviderSvc::ROBF*> robf;
+  std::vector<uint32_t> robid(1);
+  robid[0] = 0;
+  std::vector<const ROBDataProviderSvc::ROBF*> robf;
 
-    TileMutableRawChannelContainer* cont = m_queue.get (true);
-    ATH_CHECK( cont->status() );
+  TileMutableRawChannelContainer* cont = m_queue.get (true);
+  ATH_CHECK( cont->status() );
 
-    if (isTMDB) {
-      cont->set_type (TileFragHash::MF);
-    }
-    else {
-      cont->set_type (TileFragHash::OptFilterDsp);
-    }
+  if (isTMDB) {
+    cont->set_type (TileFragHash::MF);
+  } else {
+    cont->set_type (TileFragHash::OptFilterDsp);
+  }
 
-    // iterate over all collections in a container and fill them
-    for (IdentifierHash hash : cont->GetAllCurrentHashes()) {
-      TileRawChannelCollection* rawChannelCollection = cont->indexFindPtr (hash);
-      rawChannelCollection->clear();
-      TileRawChannelCollection::ID collID = rawChannelCollection->identify();  
+  // iterate over all collections in a container and fill them
+  for (IdentifierHash hash : cont->GetAllCurrentHashes()) {
+    TileRawChannelCollection* rawChannelCollection = cont->indexFindPtr (hash);
+    rawChannelCollection->clear();
+    TileRawChannelCollection::ID collID = rawChannelCollection->identify();
 
-      // find ROB
-      if (isTMDB) {
-        newrob = m_hid2re->getRobFromTileMuRcvFragID(collID);
-      } else {
-        newrob = m_hid2re->getRobFromFragID(collID);
-      }
+    // find ROB
+    if (isTMDB) {
+      newrob = m_hid2re->getRobFromTileMuRcvFragID(collID);
+    } else {
+      newrob = m_hid2re->getRobFromFragID(collID);
+    }
 
-      if (newrob != robid[0]) {
-        robid[0] = newrob;
-        robf.clear();
-        m_robSvc->getROBData(robid, robf);
-      }
+    if (newrob != robid[0]) {
+      robid[0] = newrob;
+      robf.clear();
+      m_robSvc->getROBData(robid, robf);
+    }
     
-      // unpack ROB data
-      if (robf.size() > 0 ) {
-        if (isTMDB) {// reid for TMDB 0x5x010x
-	  m_decoder->fillCollection_TileMuRcv_RawChannel(robf[0], *rawChannelCollection);
-        } else {
-          m_decoder->fillCollection(robf[0], *rawChannelCollection, cont);
-        }
+    // unpack ROB data
+    if (robf.size() > 0 ) {
+      if (isTMDB) {// reid for TMDB 0x5x010x
+        m_decoder->fillCollection_TileMuRcv_RawChannel(robf[0], *rawChannelCollection);
       } else {
-        rawChannelCollection->setFragGlobalCRC(TileROD_Decoder::NO_ROB);
+        m_decoder->fillCollection(robf[0], *rawChannelCollection, cont);
       }
-    }
-
-    ATH_MSG_DEBUG( "Creating Container " << *(pRE_Addr->par()) );  
-
-    TileRawChannelContainer* basecont = cont;
-    if (isTMDB) {
-      ATH_CHECK( m_activeStore->activeStore()->record( basecont, "MuRcvRawChCnt" ) );
     } else {
-      pObj = SG::asStorable( basecont );
+      rawChannelCollection->setFragGlobalCRC(TileROD_Decoder::NO_ROB);
     }
   }
 
+  ATH_MSG_DEBUG( "Creating raw channel container: " << containerName );
+
+  TileRawChannelContainer* basecont = cont;
+  pObj = SG::asStorable( basecont );
+
+
   return StatusCode::SUCCESS;  
 }
 
-- 
GitLab


From 17e88071c71788c3d961d3928cfeac41b3663be4 Mon Sep 17 00:00:00 2001
From: Peter Van Gemmeren <peter.van.gemmeren@cern.ch>
Date: Fri, 25 Jan 2019 18:55:24 +0000
Subject: [PATCH 124/192] Fixing some problems with multuple stream handling in
 AthenaMT.

---
 Control/AthenaCommon/python/AppMgr.py            |  1 +
 Control/AthenaKernel/AthenaKernel/IItemListSvc.h | 15 +++++++++++++++
 .../AthenaServices/src/AthenaOutputStream.cxx    |  2 ++
 .../src/AthenaOutputStreamTool.cxx               | 16 ++++------------
 .../AthenaPoolCnvSvc/src/AthenaPoolConverter.cxx |  2 +-
 .../share/AthenaPoolExample_Concat.ref           |  4 ++--
 .../share/AthenaPoolExample_Copy.ref             |  2 +-
 .../share/AthenaPoolExample_Filter.ref           |  2 +-
 .../share/AthenaPoolExample_ReWrite.ref          |  2 +-
 .../share/AthenaPoolExample_ReWriteAgain.ref     |  2 +-
 .../share/AthenaPoolExample_ReWriteNext.ref      |  2 +-
 .../share/AthenaPoolExample_WMeta.ref            |  2 +-
 .../share/AthenaPoolExample_Write.ref            |  4 ++--
 Database/AthenaPOOL/PoolSvc/src/PoolSvc.cxx      |  4 ++--
 Database/AthenaPOOL/PoolSvc/src/PoolSvc.h        |  2 ++
 15 files changed, 37 insertions(+), 25 deletions(-)

diff --git a/Control/AthenaCommon/python/AppMgr.py b/Control/AthenaCommon/python/AppMgr.py
index 2969d7ac9671..d7d3bdfb4e56 100755
--- a/Control/AthenaCommon/python/AppMgr.py
+++ b/Control/AthenaCommon/python/AppMgr.py
@@ -993,3 +993,4 @@ topSequence  = AlgSequence.AlgSequence( "TopAlg" )     # for backward compatibil
 # execution of the AthAlgSeq sequence
 # this is mainly for backward compatibility reasons
 athAlgSeq.StopOverride=True
+athOutSeq.StopOverride=True
diff --git a/Control/AthenaKernel/AthenaKernel/IItemListSvc.h b/Control/AthenaKernel/AthenaKernel/IItemListSvc.h
index 670bb68b9b2f..f05185046d65 100644
--- a/Control/AthenaKernel/AthenaKernel/IItemListSvc.h
+++ b/Control/AthenaKernel/AthenaKernel/IItemListSvc.h
@@ -22,6 +22,7 @@
 #include <vector>
 #include <string>
 #include <map>
+#include <mutex>
 
 // fwd declares
 class INamedInterface;
@@ -56,10 +57,18 @@ public:
   // get the items for a given stream
   virtual std::vector<std::string> getItemsForStream(const std::string stream) const = 0;
 
+  // get mutex for streaming itemlist to output
+  virtual std::mutex& streamMutex();
+
+
 public:
 
   static const InterfaceID& interfaceID();
   
+private:
+
+  std::mutex m_stream_mut;
+
 }; 
 
 /////////////////////////////////////////////////////////////////// 
@@ -74,6 +83,12 @@ IItemListSvc::interfaceID()
   return IID_IItemListSvc; 
 }
 
+inline
+std::mutex&
+IItemListSvc::streamMutex()
+{
+  return m_stream_mut;
+}
 
 #endif //> !ATHENAKERNEL_IITEMLISTSVC_H
 
diff --git a/Control/AthenaServices/src/AthenaOutputStream.cxx b/Control/AthenaServices/src/AthenaOutputStream.cxx
index 51d84cba12d0..308bdf6b983f 100644
--- a/Control/AthenaServices/src/AthenaOutputStream.cxx
+++ b/Control/AthenaServices/src/AthenaOutputStream.cxx
@@ -36,6 +36,7 @@
 
 #include <boost/tokenizer.hpp>
 #include <cassert>
+#include <mutex>
 #include <string>
 #include <vector>
 
@@ -461,6 +462,7 @@ StatusCode AthenaOutputStream::write() {
    // Connect the output file to the service
    // FIXME: this double looping sucks... got to query the
    // data store for object of a given type/key.
+   std::lock_guard<std::mutex> lock(m_itemSvc->streamMutex());
    if (m_streamer->connectOutput(m_outSeqSvc->buildSequenceFileName(m_outputName) + m_outputAttributes).isSuccess()) {
       // First check if there are any new items in the list
       collectAllObjects();
diff --git a/Control/AthenaServices/src/AthenaOutputStreamTool.cxx b/Control/AthenaServices/src/AthenaOutputStreamTool.cxx
index 3756dce7005b..1857d435f01e 100644
--- a/Control/AthenaServices/src/AthenaOutputStreamTool.cxx
+++ b/Control/AthenaServices/src/AthenaOutputStreamTool.cxx
@@ -244,20 +244,12 @@ StatusCode AthenaOutputStreamTool::connectOutput(const std::string& outputName)
       }
    }
 
-   if (!m_attrListKey.key().empty()) {
-     auto attrListHandle = SG::makeHandle(m_attrListKey);
-
-     if (!attrListHandle.isValid()) {
-       if (m_store->storeID() == StoreID::SIMPLE_STORE ||
-           m_store->storeID() == StoreID::METADATA_STORE)
-       {
-         // Avoid spurious WARNING during stop().
-       }
-       else {
+   if (!m_attrListKey.key().empty() && m_store->storeID() == StoreID::EVENT_STORE) {
+      auto attrListHandle = SG::makeHandle(m_attrListKey);
+      if (!attrListHandle.isValid()) {
          ATH_MSG_WARNING("Unable to retrieve AttributeList with key " << m_attrListKey.key());
-       }
       } else {
-       m_dataHeader->setAttributeList(attrListHandle.cptr());
+         m_dataHeader->setAttributeList(attrListHandle.cptr());
       }
    }
 
diff --git a/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolConverter.cxx b/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolConverter.cxx
index e70b2c8c90ab..51d12d03a8a7 100644
--- a/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolConverter.cxx
+++ b/Database/AthenaPOOL/AthenaPoolCnvSvc/src/AthenaPoolConverter.cxx
@@ -55,7 +55,7 @@ long AthenaPoolConverter::repSvcType() const {
 StatusCode AthenaPoolConverter::createObj(IOpaqueAddress* pAddr, DataObject*& pObj) {
    std::lock_guard<CallMutex> lock(m_conv_mut);
    TokenAddress* tokAddr = dynamic_cast<TokenAddress*>(pAddr);
-bool ownTokAddr = false;
+   bool ownTokAddr = false;
    if (tokAddr == nullptr || tokAddr->getToken() == nullptr) {
       ownTokAddr = true;
       Token* token = new Token;
diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Concat.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Concat.ref
index a46f29dd1f3a..19b2cd536bfa 100644
--- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Concat.ref
+++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Concat.ref
@@ -77,7 +77,7 @@ Stream1             DEBUG Registering all Tools in ToolHandleArray HelperTools
 Stream1             DEBUG Adding private ToolHandle tool Stream1.Stream1_MakeEventStreamInfo (MakeEventStreamInfo) from ToolHandleArray HelperTools
 Stream1             DEBUG Adding private ToolHandle tool Stream1.Stream1Tool (AthenaOutputStreamTool)
 Stream1             DEBUG Data Deps for Stream1
-  + INPUT IGNORED  ( 'AthenaAttributeList' , '' ) 
+  + INPUT IGNORED  ( 'AthenaAttributeList' , '' )
 MakeInputDataHe...   INFO Initializing MakeInputDataHeader - package version OutputStreamAthenaPool-00-00-00
 MakeInputDataHe...   INFO Name of Stream to be made Input: Stream1
 ReWriteData         DEBUG Property update for OutputLevel : new value = 2
@@ -111,7 +111,7 @@ Stream2             DEBUG Registering all Tools in ToolHandleArray HelperTools
 Stream2             DEBUG Adding private ToolHandle tool Stream2.Stream2_MakeEventStreamInfo (MakeEventStreamInfo) from ToolHandleArray HelperTools
 Stream2             DEBUG Adding private ToolHandle tool Stream2.Stream2Tool (AthenaOutputStreamTool)
 Stream2             DEBUG Data Deps for Stream2
-  + INPUT IGNORED  ( 'AthenaAttributeList' , '' ) 
+  + INPUT IGNORED  ( 'AthenaAttributeList' , '' )
 HistogramPersis...WARNING Histograms saving not required.
 EventSelector        INFO  Enter McEventSelector Initialization 
 AthenaEventLoopMgr   INFO Setup EventSelector service EventSelector
diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Copy.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Copy.ref
index 4e6287a612e6..7042739a6387 100644
--- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Copy.ref
+++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Copy.ref
@@ -149,7 +149,7 @@ Stream1             DEBUG Registering all Tools in ToolHandleArray HelperTools
 Stream1             DEBUG Adding private ToolHandle tool Stream1.Stream1_MakeEventStreamInfo (MakeEventStreamInfo) from ToolHandleArray HelperTools
 Stream1             DEBUG Adding private ToolHandle tool Stream1.Stream1Tool (AthenaOutputStreamTool)
 Stream1             DEBUG Data Deps for Stream1
-  + INPUT IGNORED  ( 'AthenaAttributeList' , '' ) 
+  + INPUT IGNORED  ( 'AthenaAttributeList' , '' )
 HistogramPersis...WARNING Histograms saving not required.
 AthenaEventLoopMgr   INFO Setup EventSelector service EventSelector
 ApplicationMgr       INFO Application Manager Initialized successfully
diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Filter.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Filter.ref
index 528a8eafa92f..e41ef8c4a354 100644
--- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Filter.ref
+++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Filter.ref
@@ -164,7 +164,7 @@ Stream1             DEBUG Registering all Tools in ToolHandleArray HelperTools
 Stream1             DEBUG Adding private ToolHandle tool Stream1.Stream1_MakeEventStreamInfo (MakeEventStreamInfo) from ToolHandleArray HelperTools
 Stream1             DEBUG Adding private ToolHandle tool Stream1.Stream1Tool (AthenaOutputStreamTool)
 Stream1             DEBUG Data Deps for Stream1
-  + INPUT IGNORED  ( 'AthenaAttributeList' , '' ) 
+  + INPUT IGNORED  ( 'AthenaAttributeList' , '' )
 WriteTag             INFO in initialize()
 RegStream1          DEBUG Property update for OutputLevel : new value = 2
 RegStream1.RegS...  DEBUG Property update for OutputLevel : new value = 2
diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWrite.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWrite.ref
index 16902ec87322..d5b6f177bf49 100644
--- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWrite.ref
+++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWrite.ref
@@ -170,7 +170,7 @@ Stream1             DEBUG Registering all Tools in ToolHandleArray HelperTools
 Stream1             DEBUG Adding private ToolHandle tool Stream1.Stream1_MakeEventStreamInfo (MakeEventStreamInfo) from ToolHandleArray HelperTools
 Stream1             DEBUG Adding private ToolHandle tool Stream1.Stream1Tool (AthenaOutputStreamTool)
 Stream1             DEBUG Data Deps for Stream1
-  + INPUT   ( 'AthenaAttributeList' , 'StoreGateSvc+MagicTag' ) 
+  + INPUT   ( 'AthenaAttributeList' , 'StoreGateSvc+MagicTag' )
 RegStream1          DEBUG Property update for OutputLevel : new value = 2
 RegStream1.RegS...  DEBUG Property update for OutputLevel : new value = 2
 ClassIDSvc           INFO  getRegistryEntries: read 337 CLIDRegistry entries for module ALL
diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteAgain.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteAgain.ref
index 6f672495b7a8..c4bb4e660790 100644
--- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteAgain.ref
+++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteAgain.ref
@@ -164,7 +164,7 @@ Stream1             DEBUG Registering all Tools in ToolHandleArray HelperTools
 Stream1             DEBUG Adding private ToolHandle tool Stream1.Stream1_MakeEventStreamInfo (MakeEventStreamInfo) from ToolHandleArray HelperTools
 Stream1             DEBUG Adding private ToolHandle tool Stream1.Stream1Tool (AthenaOutputStreamTool)
 Stream1             DEBUG Data Deps for Stream1
-  + INPUT   ( 'AthenaAttributeList' , 'StoreGateSvc+MagicTag' ) 
+  + INPUT   ( 'AthenaAttributeList' , 'StoreGateSvc+MagicTag' )
 RegStream1          DEBUG Property update for OutputLevel : new value = 2
 RegStream1.RegS...  DEBUG Property update for OutputLevel : new value = 2
 ClassIDSvc           INFO  getRegistryEntries: read 337 CLIDRegistry entries for module ALL
diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteNext.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteNext.ref
index ed44d8ae1628..15dca7c5fc1d 100644
--- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteNext.ref
+++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_ReWriteNext.ref
@@ -170,7 +170,7 @@ Stream1             DEBUG Registering all Tools in ToolHandleArray HelperTools
 Stream1             DEBUG Adding private ToolHandle tool Stream1.Stream1_MakeEventStreamInfo (MakeEventStreamInfo) from ToolHandleArray HelperTools
 Stream1             DEBUG Adding private ToolHandle tool Stream1.Stream1Tool (AthenaOutputStreamTool)
 Stream1             DEBUG Data Deps for Stream1
-  + INPUT   ( 'AthenaAttributeList' , 'StoreGateSvc+MagicTag' ) 
+  + INPUT   ( 'AthenaAttributeList' , 'StoreGateSvc+MagicTag' )
 RegStream1          DEBUG Property update for OutputLevel : new value = 2
 RegStream1.RegS...  DEBUG Property update for OutputLevel : new value = 2
 ClassIDSvc           INFO  getRegistryEntries: read 337 CLIDRegistry entries for module ALL
diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_WMeta.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_WMeta.ref
index e7e8af748b58..bc21750f1414 100644
--- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_WMeta.ref
+++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_WMeta.ref
@@ -77,7 +77,7 @@ Stream1             DEBUG Registering all Tools in ToolHandleArray HelperTools
 Stream1             DEBUG Adding private ToolHandle tool Stream1.Stream1_MakeEventStreamInfo (MakeEventStreamInfo) from ToolHandleArray HelperTools
 Stream1             DEBUG Adding private ToolHandle tool Stream1.Stream1Tool (AthenaOutputStreamTool)
 Stream1             DEBUG Data Deps for Stream1
-  + INPUT IGNORED  ( 'AthenaAttributeList' , '' ) 
+  + INPUT IGNORED  ( 'AthenaAttributeList' , '' )
 HistogramPersis...WARNING Histograms saving not required.
 EventSelector        INFO  Enter McEventSelector Initialization 
 AthenaEventLoopMgr   INFO Setup EventSelector service EventSelector
diff --git a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Write.ref b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Write.ref
index 2e7173b25c49..0b430d985d21 100644
--- a/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Write.ref
+++ b/Database/AthenaPOOL/AthenaPoolExample/AthenaPoolExampleAlgorithms/share/AthenaPoolExample_Write.ref
@@ -78,7 +78,7 @@ Stream1             DEBUG Registering all Tools in ToolHandleArray HelperTools
 Stream1             DEBUG Adding private ToolHandle tool Stream1.Stream1_MakeEventStreamInfo (MakeEventStreamInfo) from ToolHandleArray HelperTools
 Stream1             DEBUG Adding private ToolHandle tool Stream1.Stream1Tool (AthenaOutputStreamTool)
 Stream1             DEBUG Data Deps for Stream1
-  + INPUT   ( 'AthenaAttributeList' , 'StoreGateSvc+MagicTag' ) 
+  + INPUT   ( 'AthenaAttributeList' , 'StoreGateSvc+MagicTag' )
 ClassIDSvc           INFO  getRegistryEntries: read 337 CLIDRegistry entries for module ALL
 Stream2             DEBUG Property update for OutputLevel : new value = 2
 Stream2.Stream2...  DEBUG Property update for OutputLevel : new value = 2
@@ -104,7 +104,7 @@ Stream2             DEBUG Registering all Tools in ToolHandleArray HelperTools
 Stream2             DEBUG Adding private ToolHandle tool Stream2.Stream2_MakeEventStreamInfo (MakeEventStreamInfo) from ToolHandleArray HelperTools
 Stream2             DEBUG Adding private ToolHandle tool Stream2.Stream2Tool (AthenaOutputStreamTool)
 Stream2             DEBUG Data Deps for Stream2
-  + INPUT   ( 'AthenaAttributeList' , 'StoreGateSvc+RunEventTag' ) 
+  + INPUT   ( 'AthenaAttributeList' , 'StoreGateSvc+RunEventTag' )
 DecisionSvc          INFO Inserting stream: Stream3 with no Algs
 Stream3.Stream3...   INFO Initializing Stream3.Stream3Tool - package version AthenaServices-00-00-00
 Stream3.Stream3...   INFO Initializing Stream3.Stream3_MakeEventStreamInfo - package version OutputStreamAthenaPool-00-00-00
diff --git a/Database/AthenaPOOL/PoolSvc/src/PoolSvc.cxx b/Database/AthenaPOOL/PoolSvc/src/PoolSvc.cxx
index 743e32375a81..ae6e4bfd1122 100644
--- a/Database/AthenaPOOL/PoolSvc/src/PoolSvc.cxx
+++ b/Database/AthenaPOOL/PoolSvc/src/PoolSvc.cxx
@@ -222,8 +222,7 @@ StatusCode PoolSvc::setupPersistencySvc() {
 //__________________________________________________________________________
 StatusCode PoolSvc::start() {
    // Switiching on ROOT implicit multi threading for AthenaMT
-   if (Gaudi::Concurrency::ConcurrencyFlags::numThreads() > 1) {
-
+   if (m_useROOTIMT && Gaudi::Concurrency::ConcurrencyFlags::numThreads() > 1) {
       if (!m_persistencySvcVec[IPoolSvc::kInputStream]->session().technologySpecificAttributes(pool::ROOT_StorageType.type()).setAttribute<int>("ENABLE_IMPLICITMT", Gaudi::Concurrency::ConcurrencyFlags::numThreads() - 1)) {
          ATH_MSG_FATAL("Failed to enable implicit multithreading in ROOT via PersistencySvc.");
          return(StatusCode::FAILURE);
@@ -979,6 +978,7 @@ PoolSvc::PoolSvc(const std::string& name, ISvcLocator* pSvcLocator) :
 	m_guidLists() {
    declareProperty("WriteCatalog", m_writeCatalog = "xmlcatalog_file:PoolFileCatalog.xml");
    declareProperty("ReadCatalog", m_readCatalog);
+   declareProperty("UseROOTImplicitMT", m_useROOTIMT = true);
    declareProperty("AttemptCatalogPatch", m_attemptCatalogPatch = true);
    declareProperty("ConnectionRetrialPeriod", m_retrialPeriod = 300);
    declareProperty("ConnectionRetrialTimeOut", m_retrialTimeOut = 3600);
diff --git a/Database/AthenaPOOL/PoolSvc/src/PoolSvc.h b/Database/AthenaPOOL/PoolSvc/src/PoolSvc.h
index 55cc9e9a3d23..15aed6cd8ad4 100644
--- a/Database/AthenaPOOL/PoolSvc/src/PoolSvc.h
+++ b/Database/AthenaPOOL/PoolSvc/src/PoolSvc.h
@@ -203,6 +203,8 @@ private: // properties
    StringProperty m_writeCatalog;
    /// ReadCatalog, the list of additional POOL input file catalogs to consult: default = empty vector.
    StringArrayProperty m_readCatalog;
+   /// Use ROOT Implicit MultiThreading, default = true.
+   BooleanProperty m_useROOTIMT;
    /// AttemptCatalogPatch, option to create catalog: default = false.
    BooleanProperty m_attemptCatalogPatch;
    /// ConnectionRetrialPeriod, retry period for CORAL Connection Service: default = 30 seconds
-- 
GitLab


From 99f4f03d654bf683ab192fe07e0d79ae9dbc4669 Mon Sep 17 00:00:00 2001
From: Tomasz Bold <tomasz.bold@gmail.com>
Date: Fri, 25 Jan 2019 18:58:10 +0000
Subject: [PATCH 125/192] Add test of bs decoding

---
 .../TrigOutputHandling/src/HLTEDMCreator.cxx  |  11 +-
 .../TrigOutputHandling/src/HLTEDMCreator.h    |   3 +-
 .../src/HLTEDMCreatorAlg.cxx                  |  34 ++
 .../TrigOutputHandling/src/HLTEDMCreatorAlg.h |  30 ++
 .../src/TriggerEDMDeserialiserAlg.cxx         |   5 +-
 .../components/TrigOutputHandling_entries.cxx |   2 +
 .../TrigUpgradeTest/CMakeLists.txt            |  10 +
 .../TrigUpgradeTest/share/decodeBS.py         |  57 ++++
 .../TrigUpgradeTest/share/decodeBS.ref        | 301 ++++++++++++++++++
 .../TrigUpgradeTest/share/egamma.withViews.py |  16 +-
 .../TrigUpgradeTest/share/egammaRunData.ref   | 130 ++++++++
 .../TrigUpgradeTest/test/test_decodeBS.sh     |  16 +
 .../test/test_egamma_run_data.sh              |   7 +-
 13 files changed, 604 insertions(+), 18 deletions(-)
 create mode 100644 Trigger/TrigSteer/TrigOutputHandling/src/HLTEDMCreatorAlg.cxx
 create mode 100644 Trigger/TrigSteer/TrigOutputHandling/src/HLTEDMCreatorAlg.h
 create mode 100644 Trigger/TrigValidation/TrigUpgradeTest/share/decodeBS.py
 create mode 100644 Trigger/TrigValidation/TrigUpgradeTest/share/decodeBS.ref
 create mode 100644 Trigger/TrigValidation/TrigUpgradeTest/share/egammaRunData.ref
 create mode 100755 Trigger/TrigValidation/TrigUpgradeTest/test/test_decodeBS.sh

diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/HLTEDMCreator.cxx b/Trigger/TrigSteer/TrigOutputHandling/src/HLTEDMCreator.cxx
index 689666dbd7c0..68b31538f4b4 100644
--- a/Trigger/TrigSteer/TrigOutputHandling/src/HLTEDMCreator.cxx
+++ b/Trigger/TrigSteer/TrigOutputHandling/src/HLTEDMCreator.cxx
@@ -183,7 +183,7 @@ StatusCode HLTEDMCreator::fixLinks( const ConstHandlesGroup< xAOD::TrigComposite
       }
 
       // Store the remapped TCs
-      SG::WriteHandle<xAOD::TrigCompositeContainer> writeHandle( "remap_" + writeHandleKey.key() );
+      SG::WriteHandle<xAOD::TrigCompositeContainer> writeHandle( m_remapKey + writeHandleKey.key() );
       CHECK(output.record( writeHandle ));
     }
   }
@@ -195,12 +195,14 @@ template<typename T, typename G, typename M>
 StatusCode HLTEDMCreator::createIfMissing( const EventContext& context, const ConstHandlesGroup<T>& handles, G& generator, M merger ) const {
 
   for ( auto writeHandleKey : handles.out ) {
+    
     SG::ReadHandle<T> readHandle( writeHandleKey.key() );
-
+    ATH_MSG_DEBUG( "Checking " << writeHandleKey.key() );
+    
     if ( readHandle.isValid() ) {
       ATH_MSG_DEBUG( "The " << writeHandleKey.key() << " already present" );
     } else {      
-      ATH_MSG_DEBUG( "The " << writeHandleKey.key() << " was absent, creating it, possibly filling with content from views" );
+      ATH_MSG_DEBUG( "The " << writeHandleKey.key() << " was absent, creating it" );
       generator.create();      
       if ( handles.views.size() != 0 ) {
 
@@ -264,7 +266,8 @@ StatusCode HLTEDMCreator::createOutput(const EventContext& context) const {
   CREATE_XAOD( MuonContainer, MuonAuxContainer );
 
   // After view collections are merged, need to update collection links
-  CHECK( fixLinks( ConstHandlesGroup<xAOD::TrigCompositeContainer>( m_TrigCompositeContainer, m_TrigCompositeContainerInViews, m_TrigCompositeContainerViews ) ) );
+  if ( m_fixLinks )
+    ATH_CHECK( fixLinks( ConstHandlesGroup<xAOD::TrigCompositeContainer>( m_TrigCompositeContainer, m_TrigCompositeContainerInViews, m_TrigCompositeContainerViews ) ) );
 
 #undef CREATE_XAOD
 #undef CREATE_XAOD_NO_MERGE
diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/HLTEDMCreator.h b/Trigger/TrigSteer/TrigOutputHandling/src/HLTEDMCreator.h
index f631f57517c8..359f2b96ded9 100644
--- a/Trigger/TrigSteer/TrigOutputHandling/src/HLTEDMCreator.h
+++ b/Trigger/TrigSteer/TrigOutputHandling/src/HLTEDMCreator.h
@@ -68,7 +68,8 @@ class HLTEDMCreator: public extends<AthAlgTool, IHLTOutputTool>  {
  private: 
 
   HLTEDMCreator();
-
+  Gaudi::Property<std::string> m_remapKey{ this, "RemapKey", "remap_", "Prefix for remapped collections"};
+  Gaudi::Property<bool> m_fixLinks{ this, "FixLinks", true, "Fix links that may be pointing objects in views"};
 
 #define DEF_VIEWS(__TYPE) \
   SG::ReadHandleKeyArray< ViewContainer > m_##__TYPE##Views{ this, #__TYPE"Views", {}, "Name  views from where the "#__TYPE" will be read"}
diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/HLTEDMCreatorAlg.cxx b/Trigger/TrigSteer/TrigOutputHandling/src/HLTEDMCreatorAlg.cxx
new file mode 100644
index 000000000000..fd6e5b680214
--- /dev/null
+++ b/Trigger/TrigSteer/TrigOutputHandling/src/HLTEDMCreatorAlg.cxx
@@ -0,0 +1,34 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "HLTEDMCreatorAlg.h"
+
+HLTEDMCreatorAlg::HLTEDMCreatorAlg(const std::string& name, ISvcLocator* pSvcLocator) :
+  AthReentrantAlgorithm(name, pSvcLocator)
+{
+}
+
+HLTEDMCreatorAlg::~HLTEDMCreatorAlg()
+{
+}
+
+StatusCode HLTEDMCreatorAlg::initialize()
+{
+  ATH_CHECK( m_tools.retrieve() );
+  return StatusCode::SUCCESS;
+}
+
+StatusCode HLTEDMCreatorAlg::finalize()
+{
+  return StatusCode::SUCCESS;
+}
+
+StatusCode HLTEDMCreatorAlg::execute(const EventContext& context) const
+{
+  for ( auto& t: m_tools )  {
+    ATH_CHECK( t->createOutput( context ) );
+  }
+  return StatusCode::SUCCESS;
+}
+
diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/HLTEDMCreatorAlg.h b/Trigger/TrigSteer/TrigOutputHandling/src/HLTEDMCreatorAlg.h
new file mode 100644
index 000000000000..02155fa328f9
--- /dev/null
+++ b/Trigger/TrigSteer/TrigOutputHandling/src/HLTEDMCreatorAlg.h
@@ -0,0 +1,30 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+#ifndef TRIGOUTPUTHANDLING_HLTEDMCREATORALG_H
+#define TRIGOUTPUTHANDLING_HLTEDMCREATORALG_H
+
+
+#include "AthenaBaseComps/AthReentrantAlgorithm.h"
+#include "DecisionHandling/IHLTOutputTool.h"
+
+#include <string>
+
+/**
+ * @class HLTEDMCreatorAlg
+ * @brief 
+ **/
+class HLTEDMCreatorAlg : public AthReentrantAlgorithm {
+public:
+  HLTEDMCreatorAlg(const std::string& name, ISvcLocator* pSvcLocator);
+  virtual ~HLTEDMCreatorAlg() override;
+
+  virtual StatusCode initialize() override;
+  virtual StatusCode execute(const EventContext& context) const override;
+  virtual StatusCode finalize() override;
+
+private:
+  ToolHandleArray<IHLTOutputTool> m_tools{ this, "OutputTools", {}, "Tools that generate output"};
+};
+
+#endif // TRIGOUTPUTHANDLING_HLTEDMCREATORALG_H
diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/TriggerEDMDeserialiserAlg.cxx b/Trigger/TrigSteer/TrigOutputHandling/src/TriggerEDMDeserialiserAlg.cxx
index 14c08b9e06de..4de3368cb920 100644
--- a/Trigger/TrigSteer/TrigOutputHandling/src/TriggerEDMDeserialiserAlg.cxx
+++ b/Trigger/TrigSteer/TrigOutputHandling/src/TriggerEDMDeserialiserAlg.cxx
@@ -51,6 +51,9 @@ StatusCode TriggerEDMDeserialiserAlg::execute(const EventContext& context) const
 		};
     
   auto resultHandle = SG::makeHandle( m_resultKey, context );
+  if ( resultHandle.isValid() )
+    ATH_MSG_DEBUG("Obtained HLTResultMT " << m_resultKey.key() );
+  
   const Payload* dataptr = nullptr;
   // TODO: revise if there are use cases where result may be not available in some events
   if ( resultHandle->getSerialisedData( m_moduleID, dataptr ).isFailure() ) {
@@ -66,7 +69,7 @@ StatusCode TriggerEDMDeserialiserAlg::execute(const EventContext& context) const
     std::string transientType;
     ATH_CHECK( m_clidSvc->getTypeNameOfID( clid, transientType ) );
     const std::string actualTypeName{ name.substr(0, name.find('#')) };
-    const std::string key{ name.substr( name.find('#') ) };
+    const std::string key{ name.substr( name.find('#')+1 ) };
         
     ATH_MSG_DEBUG( "fragment: clid, type, key, size " << clid << " " << transientType<< " " << actualTypeName << " " << key << " " << bsize );
     resize( bsize );
diff --git a/Trigger/TrigSteer/TrigOutputHandling/src/components/TrigOutputHandling_entries.cxx b/Trigger/TrigSteer/TrigOutputHandling/src/components/TrigOutputHandling_entries.cxx
index 81a554dac933..ebc99e25e1ae 100644
--- a/Trigger/TrigSteer/TrigOutputHandling/src/components/TrigOutputHandling_entries.cxx
+++ b/Trigger/TrigSteer/TrigOutputHandling/src/components/TrigOutputHandling_entries.cxx
@@ -1,4 +1,5 @@
 #include "../HLTEDMCreator.h"
+#include "../HLTEDMCreatorAlg.h"
 #include "../StreamTagMakerTool.h"
 #include "../HLTResultMTMakerAlg.h"
 #include "TrigOutputHandling/HLTResultMTMaker.h"
@@ -8,6 +9,7 @@
 #include "../TriggerEDMDeserialiserAlg.h"
 
 DECLARE_COMPONENT( HLTEDMCreator )
+DECLARE_COMPONENT( HLTEDMCreatorAlg )
 DECLARE_COMPONENT( HLTResultMTMakerAlg )
 DECLARE_COMPONENT( HLTResultMTMaker )
 DECLARE_COMPONENT( StreamTagMakerTool )
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/CMakeLists.txt b/Trigger/TrigValidation/TrigUpgradeTest/CMakeLists.txt
index 7d3df74a6b4f..4d8de0a33b11 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/CMakeLists.txt
+++ b/Trigger/TrigValidation/TrigUpgradeTest/CMakeLists.txt
@@ -67,8 +67,18 @@ atlas_add_test( IDRunData SCRIPT test/test_id_run_data.sh
 file( MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/unitTestRun_egammaRunData )
 atlas_add_test( egammaRunData
    SCRIPT test/test_egamma_run_data.sh
+   PROPERTIES TIMEOUT 1000   
+   EXTRA_PATTERNS "-s TrigSignatureMoniMT.*HLT_.*|Payload size after inserting"
+   PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/unitTestRun_egammaRunData
+   )
+
+
+atlas_add_test( decodeBS
+   SCRIPT test/test_decodeBS.sh
    PROPERTIES TIMEOUT 1000
+   EXTRA_PATTERNS "-s .*absent.*|.*present.*|.*fragment: clid, type, key.*"
    PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/unitTestRun_egammaRunData
+   DEPENDS egammaRunData
    )
 
 file( MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/unitTestRun_photonMenu )
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/decodeBS.py b/Trigger/TrigValidation/TrigUpgradeTest/share/decodeBS.py
new file mode 100644
index 000000000000..8705ff003925
--- /dev/null
+++ b/Trigger/TrigValidation/TrigUpgradeTest/share/decodeBS.py
@@ -0,0 +1,57 @@
+#
+#  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+#
+
+include("TrigUpgradeTest/testHLT_MT.py")
+
+from AthenaCommon.AlgSequence import AlgSequence, AthSequencer
+topSequence = AlgSequence()
+
+from TrigHLTResultByteStream.TrigHLTResultByteStreamConf import HLTResultMTByteStreamDecoderAlg
+decoder = HLTResultMTByteStreamDecoderAlg()
+decoder.OutputLevel=DEBUG
+topSequence += decoder
+
+
+from TrigOutputHandling.TrigOutputHandlingConf import TriggerEDMDeserialiserAlg
+deserialiser = TriggerEDMDeserialiserAlg()
+deserialiser.OutputLevel=DEBUG
+topSequence += deserialiser
+
+from OutputStreamAthenaPool.OutputStreamAthenaPool import  createOutputStream
+StreamESD=createOutputStream("StreamESD","myESDfromBS.pool.root",True)
+topSequence.remove( StreamESD )
+StreamESD.ItemList += [ "xAOD::TrigElectronContainer#HLT_xAOD__TrigElectronContainer_L2ElectronFex", 
+                        "xAOD::TrackParticleContainer#HLT_xAOD_TrackParticleContainer_L2ElectronTracks",
+                        "xAOD::TrigEMClusterContainer#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters"]
+
+StreamESD.ItemList += [ "xAOD::TrigElectronAuxContainer#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux.", 
+                        "xAOD::TrackParticleAuxContainer#HLT_xAOD_TrackParticleContainer_L2ElectronTracksAux.", 
+                        "xAOD::TrigEMClusterAuxContainer#HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux."]
+
+StreamESD.ItemList += [ "EventInfo#ByteStreamEventInfo" ]
+
+decisions = [ "EgammaCaloDecisions", "L2CaloLinks", "FilteredEgammaCaloDecisions", "FilteredEMRoIDecisions", "EMRoIDecisions", "RerunEMRoIDecisions" ]
+StreamESD.ItemList += [ "xAOD::TrigCompositeContainer#remap_"+d for d in decisions ]
+StreamESD.ItemList += [ "xAOD::TrigCompositeAuxContainer#remap_"+d+"Aux." for d in decisions ]
+
+
+from TrigOutputHandling.TrigOutputHandlingConf import HLTEDMCreator
+egammaCreator = HLTEDMCreator("egammaCreator")
+egammaCreator.FixLinks=False
+egammaCreator.OutputLevel=DEBUG
+egammaCreator.TrigCompositeContainer = [ "remap_"+d for d in decisions ]
+
+egammaCreator.TrackParticleContainer = [ "HLT_xAOD_TrackParticleContainer_L2ElectronTracks" ]
+egammaCreator.TrigElectronContainer  = [ "HLT_xAOD__TrigElectronContainer_L2ElectronFex" ]
+egammaCreator.TrigEMClusterContainer = [ "HLT_xAOD__TrigEMClusterContainer_L2CaloClusters" ]
+
+from TrigOutputHandling.TrigOutputHandlingConf import HLTEDMCreatorAlg
+fillGaps = HLTEDMCreatorAlg( "FillMissingEDM" )
+fillGaps.OutputTools = [ egammaCreator ]
+
+
+outSequence = AthSequencer("AthOutSeq")
+outSequence += fillGaps
+outSequence += StreamESD
+
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/decodeBS.ref b/Trigger/TrigValidation/TrigUpgradeTest/share/decodeBS.ref
new file mode 100644
index 000000000000..617b3d1b586e
--- /dev/null
+++ b/Trigger/TrigValidation/TrigUpgradeTest/share/decodeBS.ref
@@ -0,0 +1,301 @@
+Py:inputFilePeeker    INFO stream_names not present in input bytestream file. Giving default name 'StreamRAW'
+TriggerEDMDeserialiserAlg               0   0     DEBUG fragment: clid, type, key, size 1333228823 xAOD::TrigCompositeContainer xAOD::TrigCompositeContainer_v1 remap_EgammaCaloDecisions 69
+TriggerEDMDeserialiserAlg               0   0     DEBUG fragment: clid, type, key, size 1175586382 xAOD::TrigCompositeAuxContainer xAOD::TrigCompositeAuxContainer_v1 remap_EgammaCaloDecisionsAux. 304
+TriggerEDMDeserialiserAlg               0   0     DEBUG fragment: clid, type, key, size 1264979038 xAOD::TrigEMClusterContainer xAOD::TrigEMClusterContainer_v1 HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 69
+TriggerEDMDeserialiserAlg               0   0     DEBUG fragment: clid, type, key, size 1111649561 xAOD::TrigEMClusterAuxContainer xAOD::TrigEMClusterAuxContainer_v2 HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 663
+TriggerEDMDeserialiserAlg               0   0     DEBUG fragment: clid, type, key, size 1119645201 xAOD::TrigElectronContainer xAOD::TrigElectronContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFex 68
+TriggerEDMDeserialiserAlg               0   0     DEBUG fragment: clid, type, key, size 1180743572 xAOD::TrigElectronAuxContainer xAOD::TrigElectronAuxContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 610
+FillMissingEDM.egammaCreator            0   0     DEBUG The remap_EgammaCaloDecisions already present
+FillMissingEDM.egammaCreator            0   0     DEBUG The remap_L2CaloLinks was absent, creating it
+FillMissingEDM.egammaCreator            0   0     DEBUG The remap_FilteredEgammaCaloDecisions was absent, creating it
+FillMissingEDM.egammaCreator            0   0     DEBUG The remap_FilteredEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            0   0     DEBUG The remap_EMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            0   0     DEBUG The remap_RerunEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            0   0     DEBUG The HLT_xAOD__TrigElectronContainer_L2ElectronFex already present
+FillMissingEDM.egammaCreator            0   0     DEBUG The HLT_xAOD__TrigEMClusterContainer_L2CaloClusters already present
+FillMissingEDM.egammaCreator            0   0     DEBUG The HLT_xAOD_TrackParticleContainer_L2ElectronTracks was absent, creating it
+TriggerEDMDeserialiserAlg               1   0     DEBUG fragment: clid, type, key, size 1333228823 xAOD::TrigCompositeContainer xAOD::TrigCompositeContainer_v1 remap_EgammaCaloDecisions 69
+TriggerEDMDeserialiserAlg               1   0     DEBUG fragment: clid, type, key, size 1175586382 xAOD::TrigCompositeAuxContainer xAOD::TrigCompositeAuxContainer_v1 remap_EgammaCaloDecisionsAux. 641
+TriggerEDMDeserialiserAlg               1   0     DEBUG fragment: clid, type, key, size 1264979038 xAOD::TrigEMClusterContainer xAOD::TrigEMClusterContainer_v1 HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 69
+TriggerEDMDeserialiserAlg               1   0     DEBUG fragment: clid, type, key, size 1111649561 xAOD::TrigEMClusterAuxContainer xAOD::TrigEMClusterAuxContainer_v2 HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 1623
+TriggerEDMDeserialiserAlg               1   0     DEBUG fragment: clid, type, key, size 1119645201 xAOD::TrigElectronContainer xAOD::TrigElectronContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFex 68
+TriggerEDMDeserialiserAlg               1   0     DEBUG fragment: clid, type, key, size 1180743572 xAOD::TrigElectronAuxContainer xAOD::TrigElectronAuxContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 2726
+FillMissingEDM.egammaCreator            1   0     DEBUG The remap_EgammaCaloDecisions already present
+FillMissingEDM.egammaCreator            1   0     DEBUG The remap_L2CaloLinks was absent, creating it
+FillMissingEDM.egammaCreator            1   0     DEBUG The remap_FilteredEgammaCaloDecisions was absent, creating it
+FillMissingEDM.egammaCreator            1   0     DEBUG The remap_FilteredEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            1   0     DEBUG The remap_EMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            1   0     DEBUG The remap_RerunEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            1   0     DEBUG The HLT_xAOD__TrigElectronContainer_L2ElectronFex already present
+FillMissingEDM.egammaCreator            1   0     DEBUG The HLT_xAOD__TrigEMClusterContainer_L2CaloClusters already present
+FillMissingEDM.egammaCreator            1   0     DEBUG The HLT_xAOD_TrackParticleContainer_L2ElectronTracks was absent, creating it
+TriggerEDMDeserialiserAlg               2   0     DEBUG fragment: clid, type, key, size 1333228823 xAOD::TrigCompositeContainer xAOD::TrigCompositeContainer_v1 remap_EgammaCaloDecisions 69
+TriggerEDMDeserialiserAlg               2   0     DEBUG fragment: clid, type, key, size 1175586382 xAOD::TrigCompositeAuxContainer xAOD::TrigCompositeAuxContainer_v1 remap_EgammaCaloDecisionsAux. 851
+TriggerEDMDeserialiserAlg               2   0     DEBUG fragment: clid, type, key, size 1264979038 xAOD::TrigEMClusterContainer xAOD::TrigEMClusterContainer_v1 HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 69
+TriggerEDMDeserialiserAlg               2   0     DEBUG fragment: clid, type, key, size 1111649561 xAOD::TrigEMClusterAuxContainer xAOD::TrigEMClusterAuxContainer_v2 HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 2263
+TriggerEDMDeserialiserAlg               2   0     DEBUG fragment: clid, type, key, size 1119645201 xAOD::TrigElectronContainer xAOD::TrigElectronContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFex 68
+TriggerEDMDeserialiserAlg               2   0     DEBUG fragment: clid, type, key, size 1180743572 xAOD::TrigElectronAuxContainer xAOD::TrigElectronAuxContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 1622
+FillMissingEDM.egammaCreator            2   0     DEBUG The remap_EgammaCaloDecisions already present
+FillMissingEDM.egammaCreator            2   0     DEBUG The remap_L2CaloLinks was absent, creating it
+FillMissingEDM.egammaCreator            2   0     DEBUG The remap_FilteredEgammaCaloDecisions was absent, creating it
+FillMissingEDM.egammaCreator            2   0     DEBUG The remap_FilteredEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            2   0     DEBUG The remap_EMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            2   0     DEBUG The remap_RerunEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            2   0     DEBUG The HLT_xAOD__TrigElectronContainer_L2ElectronFex already present
+FillMissingEDM.egammaCreator            2   0     DEBUG The HLT_xAOD__TrigEMClusterContainer_L2CaloClusters already present
+FillMissingEDM.egammaCreator            2   0     DEBUG The HLT_xAOD_TrackParticleContainer_L2ElectronTracks was absent, creating it
+TriggerEDMDeserialiserAlg               3   0     DEBUG fragment: clid, type, key, size 1333228823 xAOD::TrigCompositeContainer xAOD::TrigCompositeContainer_v1 remap_EgammaCaloDecisions 69
+TriggerEDMDeserialiserAlg               3   0     DEBUG fragment: clid, type, key, size 1175586382 xAOD::TrigCompositeAuxContainer xAOD::TrigCompositeAuxContainer_v1 remap_EgammaCaloDecisionsAux. 629
+TriggerEDMDeserialiserAlg               3   0     DEBUG fragment: clid, type, key, size 1264979038 xAOD::TrigEMClusterContainer xAOD::TrigEMClusterContainer_v1 HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 69
+TriggerEDMDeserialiserAlg               3   0     DEBUG fragment: clid, type, key, size 1111649561 xAOD::TrigEMClusterAuxContainer xAOD::TrigEMClusterAuxContainer_v2 HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 1623
+TriggerEDMDeserialiserAlg               3   0     DEBUG fragment: clid, type, key, size 1119645201 xAOD::TrigElectronContainer xAOD::TrigElectronContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFex 68
+TriggerEDMDeserialiserAlg               3   0     DEBUG fragment: clid, type, key, size 1180743572 xAOD::TrigElectronAuxContainer xAOD::TrigElectronAuxContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 3186
+FillMissingEDM.egammaCreator            3   0     DEBUG The remap_EgammaCaloDecisions already present
+FillMissingEDM.egammaCreator            3   0     DEBUG The remap_L2CaloLinks was absent, creating it
+FillMissingEDM.egammaCreator            3   0     DEBUG The remap_FilteredEgammaCaloDecisions was absent, creating it
+FillMissingEDM.egammaCreator            3   0     DEBUG The remap_FilteredEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            3   0     DEBUG The remap_EMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            3   0     DEBUG The remap_RerunEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            3   0     DEBUG The HLT_xAOD__TrigElectronContainer_L2ElectronFex already present
+FillMissingEDM.egammaCreator            3   0     DEBUG The HLT_xAOD__TrigEMClusterContainer_L2CaloClusters already present
+FillMissingEDM.egammaCreator            3   0     DEBUG The HLT_xAOD_TrackParticleContainer_L2ElectronTracks was absent, creating it
+TriggerEDMDeserialiserAlg               4   0     DEBUG fragment: clid, type, key, size 1333228823 xAOD::TrigCompositeContainer xAOD::TrigCompositeContainer_v1 remap_EgammaCaloDecisions 69
+TriggerEDMDeserialiserAlg               4   0     DEBUG fragment: clid, type, key, size 1175586382 xAOD::TrigCompositeAuxContainer xAOD::TrigCompositeAuxContainer_v1 remap_EgammaCaloDecisionsAux. 419
+TriggerEDMDeserialiserAlg               4   0     DEBUG fragment: clid, type, key, size 1264979038 xAOD::TrigEMClusterContainer xAOD::TrigEMClusterContainer_v1 HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 69
+TriggerEDMDeserialiserAlg               4   0     DEBUG fragment: clid, type, key, size 1111649561 xAOD::TrigEMClusterAuxContainer xAOD::TrigEMClusterAuxContainer_v2 HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 983
+TriggerEDMDeserialiserAlg               4   0     DEBUG fragment: clid, type, key, size 1119645201 xAOD::TrigElectronContainer xAOD::TrigElectronContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFex 68
+TriggerEDMDeserialiserAlg               4   0     DEBUG fragment: clid, type, key, size 1180743572 xAOD::TrigElectronAuxContainer xAOD::TrigElectronAuxContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 886
+FillMissingEDM.egammaCreator            4   0     DEBUG The remap_EgammaCaloDecisions already present
+FillMissingEDM.egammaCreator            4   0     DEBUG The remap_L2CaloLinks was absent, creating it
+FillMissingEDM.egammaCreator            4   0     DEBUG The remap_FilteredEgammaCaloDecisions was absent, creating it
+FillMissingEDM.egammaCreator            4   0     DEBUG The remap_FilteredEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            4   0     DEBUG The remap_EMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            4   0     DEBUG The remap_RerunEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            4   0     DEBUG The HLT_xAOD__TrigElectronContainer_L2ElectronFex already present
+FillMissingEDM.egammaCreator            4   0     DEBUG The HLT_xAOD__TrigEMClusterContainer_L2CaloClusters already present
+FillMissingEDM.egammaCreator            4   0     DEBUG The HLT_xAOD_TrackParticleContainer_L2ElectronTracks was absent, creating it
+TriggerEDMDeserialiserAlg               5   0     DEBUG fragment: clid, type, key, size 1333228823 xAOD::TrigCompositeContainer xAOD::TrigCompositeContainer_v1 remap_EgammaCaloDecisions 69
+TriggerEDMDeserialiserAlg               5   0     DEBUG fragment: clid, type, key, size 1175586382 xAOD::TrigCompositeAuxContainer xAOD::TrigCompositeAuxContainer_v1 remap_EgammaCaloDecisionsAux. 954
+TriggerEDMDeserialiserAlg               5   0     DEBUG fragment: clid, type, key, size 1264979038 xAOD::TrigEMClusterContainer xAOD::TrigEMClusterContainer_v1 HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 69
+TriggerEDMDeserialiserAlg               5   0     DEBUG fragment: clid, type, key, size 1111649561 xAOD::TrigEMClusterAuxContainer xAOD::TrigEMClusterAuxContainer_v2 HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 2583
+TriggerEDMDeserialiserAlg               5   0     DEBUG fragment: clid, type, key, size 1119645201 xAOD::TrigElectronContainer xAOD::TrigElectronContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFex 68
+TriggerEDMDeserialiserAlg               5   0     DEBUG fragment: clid, type, key, size 1180743572 xAOD::TrigElectronAuxContainer xAOD::TrigElectronAuxContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 4474
+FillMissingEDM.egammaCreator            5   0     DEBUG The remap_EgammaCaloDecisions already present
+FillMissingEDM.egammaCreator            5   0     DEBUG The remap_L2CaloLinks was absent, creating it
+FillMissingEDM.egammaCreator            5   0     DEBUG The remap_FilteredEgammaCaloDecisions was absent, creating it
+FillMissingEDM.egammaCreator            5   0     DEBUG The remap_FilteredEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            5   0     DEBUG The remap_EMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            5   0     DEBUG The remap_RerunEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            5   0     DEBUG The HLT_xAOD__TrigElectronContainer_L2ElectronFex already present
+FillMissingEDM.egammaCreator            5   0     DEBUG The HLT_xAOD__TrigEMClusterContainer_L2CaloClusters already present
+FillMissingEDM.egammaCreator            5   0     DEBUG The HLT_xAOD_TrackParticleContainer_L2ElectronTracks was absent, creating it
+TriggerEDMDeserialiserAlg               6   0     DEBUG fragment: clid, type, key, size 1333228823 xAOD::TrigCompositeContainer xAOD::TrigCompositeContainer_v1 remap_EgammaCaloDecisions 69
+TriggerEDMDeserialiserAlg               6   0     DEBUG fragment: clid, type, key, size 1175586382 xAOD::TrigCompositeAuxContainer xAOD::TrigCompositeAuxContainer_v1 remap_EgammaCaloDecisionsAux. 308
+TriggerEDMDeserialiserAlg               6   0     DEBUG fragment: clid, type, key, size 1264979038 xAOD::TrigEMClusterContainer xAOD::TrigEMClusterContainer_v1 HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 69
+TriggerEDMDeserialiserAlg               6   0     DEBUG fragment: clid, type, key, size 1111649561 xAOD::TrigEMClusterAuxContainer xAOD::TrigEMClusterAuxContainer_v2 HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 663
+TriggerEDMDeserialiserAlg               6   0     DEBUG fragment: clid, type, key, size 1119645201 xAOD::TrigElectronContainer xAOD::TrigElectronContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFex 68
+TriggerEDMDeserialiserAlg               6   0     DEBUG fragment: clid, type, key, size 1180743572 xAOD::TrigElectronAuxContainer xAOD::TrigElectronAuxContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 1070
+FillMissingEDM.egammaCreator            6   0     DEBUG The remap_EgammaCaloDecisions already present
+FillMissingEDM.egammaCreator            6   0     DEBUG The remap_L2CaloLinks was absent, creating it
+FillMissingEDM.egammaCreator            6   0     DEBUG The remap_FilteredEgammaCaloDecisions was absent, creating it
+FillMissingEDM.egammaCreator            6   0     DEBUG The remap_FilteredEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            6   0     DEBUG The remap_EMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            6   0     DEBUG The remap_RerunEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            6   0     DEBUG The HLT_xAOD__TrigElectronContainer_L2ElectronFex already present
+FillMissingEDM.egammaCreator            6   0     DEBUG The HLT_xAOD__TrigEMClusterContainer_L2CaloClusters already present
+FillMissingEDM.egammaCreator            6   0     DEBUG The HLT_xAOD_TrackParticleContainer_L2ElectronTracks was absent, creating it
+TriggerEDMDeserialiserAlg               7   0     DEBUG fragment: clid, type, key, size 1333228823 xAOD::TrigCompositeContainer xAOD::TrigCompositeContainer_v1 remap_EgammaCaloDecisions 69
+TriggerEDMDeserialiserAlg               7   0     DEBUG fragment: clid, type, key, size 1175586382 xAOD::TrigCompositeAuxContainer xAOD::TrigCompositeAuxContainer_v1 remap_EgammaCaloDecisionsAux. 522
+TriggerEDMDeserialiserAlg               7   0     DEBUG fragment: clid, type, key, size 1264979038 xAOD::TrigEMClusterContainer xAOD::TrigEMClusterContainer_v1 HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 69
+TriggerEDMDeserialiserAlg               7   0     DEBUG fragment: clid, type, key, size 1111649561 xAOD::TrigEMClusterAuxContainer xAOD::TrigEMClusterAuxContainer_v2 HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 1303
+TriggerEDMDeserialiserAlg               7   0     DEBUG fragment: clid, type, key, size 1119645201 xAOD::TrigElectronContainer xAOD::TrigElectronContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFex 68
+TriggerEDMDeserialiserAlg               7   0     DEBUG fragment: clid, type, key, size 1180743572 xAOD::TrigElectronAuxContainer xAOD::TrigElectronAuxContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 2910
+FillMissingEDM.egammaCreator            7   0     DEBUG The remap_EgammaCaloDecisions already present
+FillMissingEDM.egammaCreator            7   0     DEBUG The remap_L2CaloLinks was absent, creating it
+FillMissingEDM.egammaCreator            7   0     DEBUG The remap_FilteredEgammaCaloDecisions was absent, creating it
+FillMissingEDM.egammaCreator            7   0     DEBUG The remap_FilteredEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            7   0     DEBUG The remap_EMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            7   0     DEBUG The remap_RerunEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            7   0     DEBUG The HLT_xAOD__TrigElectronContainer_L2ElectronFex already present
+FillMissingEDM.egammaCreator            7   0     DEBUG The HLT_xAOD__TrigEMClusterContainer_L2CaloClusters already present
+FillMissingEDM.egammaCreator            7   0     DEBUG The HLT_xAOD_TrackParticleContainer_L2ElectronTracks was absent, creating it
+TriggerEDMDeserialiserAlg               8   0     DEBUG fragment: clid, type, key, size 1333228823 xAOD::TrigCompositeContainer xAOD::TrigCompositeContainer_v1 remap_EgammaCaloDecisions 69
+TriggerEDMDeserialiserAlg               8   0     DEBUG fragment: clid, type, key, size 1175586382 xAOD::TrigCompositeAuxContainer xAOD::TrigCompositeAuxContainer_v1 remap_EgammaCaloDecisionsAux. 427
+TriggerEDMDeserialiserAlg               8   0     DEBUG fragment: clid, type, key, size 1264979038 xAOD::TrigEMClusterContainer xAOD::TrigEMClusterContainer_v1 HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 69
+TriggerEDMDeserialiserAlg               8   0     DEBUG fragment: clid, type, key, size 1111649561 xAOD::TrigEMClusterAuxContainer xAOD::TrigEMClusterAuxContainer_v2 HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 983
+TriggerEDMDeserialiserAlg               8   0     DEBUG fragment: clid, type, key, size 1119645201 xAOD::TrigElectronContainer xAOD::TrigElectronContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFex 68
+TriggerEDMDeserialiserAlg               8   0     DEBUG fragment: clid, type, key, size 1180743572 xAOD::TrigElectronAuxContainer xAOD::TrigElectronAuxContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 702
+FillMissingEDM.egammaCreator            8   0     DEBUG The remap_EgammaCaloDecisions already present
+FillMissingEDM.egammaCreator            8   0     DEBUG The remap_L2CaloLinks was absent, creating it
+FillMissingEDM.egammaCreator            8   0     DEBUG The remap_FilteredEgammaCaloDecisions was absent, creating it
+FillMissingEDM.egammaCreator            8   0     DEBUG The remap_FilteredEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            8   0     DEBUG The remap_EMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            8   0     DEBUG The remap_RerunEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            8   0     DEBUG The HLT_xAOD__TrigElectronContainer_L2ElectronFex already present
+FillMissingEDM.egammaCreator            8   0     DEBUG The HLT_xAOD__TrigEMClusterContainer_L2CaloClusters already present
+FillMissingEDM.egammaCreator            8   0     DEBUG The HLT_xAOD_TrackParticleContainer_L2ElectronTracks was absent, creating it
+TriggerEDMDeserialiserAlg               9   0     DEBUG fragment: clid, type, key, size 1333228823 xAOD::TrigCompositeContainer xAOD::TrigCompositeContainer_v1 remap_EgammaCaloDecisions 69
+TriggerEDMDeserialiserAlg               9   0     DEBUG fragment: clid, type, key, size 1175586382 xAOD::TrigCompositeAuxContainer xAOD::TrigCompositeAuxContainer_v1 remap_EgammaCaloDecisionsAux. 183
+TriggerEDMDeserialiserAlg               9   0     DEBUG fragment: clid, type, key, size 1264979038 xAOD::TrigEMClusterContainer xAOD::TrigEMClusterContainer_v1 HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 69
+TriggerEDMDeserialiserAlg               9   0     DEBUG fragment: clid, type, key, size 1111649561 xAOD::TrigEMClusterAuxContainer xAOD::TrigEMClusterAuxContainer_v2 HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 343
+TriggerEDMDeserialiserAlg               9   0     DEBUG fragment: clid, type, key, size 1119645201 xAOD::TrigElectronContainer xAOD::TrigElectronContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFex 68
+TriggerEDMDeserialiserAlg               9   0     DEBUG fragment: clid, type, key, size 1180743572 xAOD::TrigElectronAuxContainer xAOD::TrigElectronAuxContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 334
+FillMissingEDM.egammaCreator            9   0     DEBUG The remap_EgammaCaloDecisions already present
+FillMissingEDM.egammaCreator            9   0     DEBUG The remap_L2CaloLinks was absent, creating it
+FillMissingEDM.egammaCreator            9   0     DEBUG The remap_FilteredEgammaCaloDecisions was absent, creating it
+FillMissingEDM.egammaCreator            9   0     DEBUG The remap_FilteredEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            9   0     DEBUG The remap_EMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            9   0     DEBUG The remap_RerunEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            9   0     DEBUG The HLT_xAOD__TrigElectronContainer_L2ElectronFex already present
+FillMissingEDM.egammaCreator            9   0     DEBUG The HLT_xAOD__TrigEMClusterContainer_L2CaloClusters already present
+FillMissingEDM.egammaCreator            9   0     DEBUG The HLT_xAOD_TrackParticleContainer_L2ElectronTracks was absent, creating it
+TriggerEDMDeserialiserAlg               10  0     DEBUG fragment: clid, type, key, size 1333228823 xAOD::TrigCompositeContainer xAOD::TrigCompositeContainer_v1 remap_EgammaCaloDecisions 69
+TriggerEDMDeserialiserAlg               10  0     DEBUG fragment: clid, type, key, size 1175586382 xAOD::TrigCompositeAuxContainer xAOD::TrigCompositeAuxContainer_v1 remap_EgammaCaloDecisionsAux. 661
+TriggerEDMDeserialiserAlg               10  0     DEBUG fragment: clid, type, key, size 1264979038 xAOD::TrigEMClusterContainer xAOD::TrigEMClusterContainer_v1 HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 69
+TriggerEDMDeserialiserAlg               10  0     DEBUG fragment: clid, type, key, size 1111649561 xAOD::TrigEMClusterAuxContainer xAOD::TrigEMClusterAuxContainer_v2 HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 1623
+TriggerEDMDeserialiserAlg               10  0     DEBUG fragment: clid, type, key, size 1119645201 xAOD::TrigElectronContainer xAOD::TrigElectronContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFex 68
+TriggerEDMDeserialiserAlg               10  0     DEBUG fragment: clid, type, key, size 1180743572 xAOD::TrigElectronAuxContainer xAOD::TrigElectronAuxContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 3370
+FillMissingEDM.egammaCreator            10  0     DEBUG The remap_EgammaCaloDecisions already present
+FillMissingEDM.egammaCreator            10  0     DEBUG The remap_L2CaloLinks was absent, creating it
+FillMissingEDM.egammaCreator            10  0     DEBUG The remap_FilteredEgammaCaloDecisions was absent, creating it
+FillMissingEDM.egammaCreator            10  0     DEBUG The remap_FilteredEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            10  0     DEBUG The remap_EMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            10  0     DEBUG The remap_RerunEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            10  0     DEBUG The HLT_xAOD__TrigElectronContainer_L2ElectronFex already present
+FillMissingEDM.egammaCreator            10  0     DEBUG The HLT_xAOD__TrigEMClusterContainer_L2CaloClusters already present
+FillMissingEDM.egammaCreator            10  0     DEBUG The HLT_xAOD_TrackParticleContainer_L2ElectronTracks was absent, creating it
+TriggerEDMDeserialiserAlg               11  0     DEBUG fragment: clid, type, key, size 1333228823 xAOD::TrigCompositeContainer xAOD::TrigCompositeContainer_v1 remap_EgammaCaloDecisions 69
+TriggerEDMDeserialiserAlg               11  0     DEBUG fragment: clid, type, key, size 1175586382 xAOD::TrigCompositeAuxContainer xAOD::TrigCompositeAuxContainer_v1 remap_EgammaCaloDecisionsAux. 304
+TriggerEDMDeserialiserAlg               11  0     DEBUG fragment: clid, type, key, size 1264979038 xAOD::TrigEMClusterContainer xAOD::TrigEMClusterContainer_v1 HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 69
+TriggerEDMDeserialiserAlg               11  0     DEBUG fragment: clid, type, key, size 1111649561 xAOD::TrigEMClusterAuxContainer xAOD::TrigEMClusterAuxContainer_v2 HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 663
+TriggerEDMDeserialiserAlg               11  0     DEBUG fragment: clid, type, key, size 1119645201 xAOD::TrigElectronContainer xAOD::TrigElectronContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFex 68
+TriggerEDMDeserialiserAlg               11  0     DEBUG fragment: clid, type, key, size 1180743572 xAOD::TrigElectronAuxContainer xAOD::TrigElectronAuxContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 702
+FillMissingEDM.egammaCreator            11  0     DEBUG The remap_EgammaCaloDecisions already present
+FillMissingEDM.egammaCreator            11  0     DEBUG The remap_L2CaloLinks was absent, creating it
+FillMissingEDM.egammaCreator            11  0     DEBUG The remap_FilteredEgammaCaloDecisions was absent, creating it
+FillMissingEDM.egammaCreator            11  0     DEBUG The remap_FilteredEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            11  0     DEBUG The remap_EMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            11  0     DEBUG The remap_RerunEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            11  0     DEBUG The HLT_xAOD__TrigElectronContainer_L2ElectronFex already present
+FillMissingEDM.egammaCreator            11  0     DEBUG The HLT_xAOD__TrigEMClusterContainer_L2CaloClusters already present
+FillMissingEDM.egammaCreator            11  0     DEBUG The HLT_xAOD_TrackParticleContainer_L2ElectronTracks was absent, creating it
+TriggerEDMDeserialiserAlg               12  0     DEBUG fragment: clid, type, key, size 1333228823 xAOD::TrigCompositeContainer xAOD::TrigCompositeContainer_v1 remap_EgammaCaloDecisions 69
+TriggerEDMDeserialiserAlg               12  0     DEBUG fragment: clid, type, key, size 1175586382 xAOD::TrigCompositeAuxContainer xAOD::TrigCompositeAuxContainer_v1 remap_EgammaCaloDecisionsAux. 1093
+TriggerEDMDeserialiserAlg               12  0     DEBUG fragment: clid, type, key, size 1264979038 xAOD::TrigEMClusterContainer xAOD::TrigEMClusterContainer_v1 HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 69
+TriggerEDMDeserialiserAlg               12  0     DEBUG fragment: clid, type, key, size 1111649561 xAOD::TrigEMClusterAuxContainer xAOD::TrigEMClusterAuxContainer_v2 HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 2903
+TriggerEDMDeserialiserAlg               12  0     DEBUG fragment: clid, type, key, size 1119645201 xAOD::TrigElectronContainer xAOD::TrigElectronContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFex 68
+TriggerEDMDeserialiserAlg               12  0     DEBUG fragment: clid, type, key, size 1180743572 xAOD::TrigElectronAuxContainer xAOD::TrigElectronAuxContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 3738
+FillMissingEDM.egammaCreator            12  0     DEBUG The remap_EgammaCaloDecisions already present
+FillMissingEDM.egammaCreator            12  0     DEBUG The remap_L2CaloLinks was absent, creating it
+FillMissingEDM.egammaCreator            12  0     DEBUG The remap_FilteredEgammaCaloDecisions was absent, creating it
+FillMissingEDM.egammaCreator            12  0     DEBUG The remap_FilteredEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            12  0     DEBUG The remap_EMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            12  0     DEBUG The remap_RerunEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            12  0     DEBUG The HLT_xAOD__TrigElectronContainer_L2ElectronFex already present
+FillMissingEDM.egammaCreator            12  0     DEBUG The HLT_xAOD__TrigEMClusterContainer_L2CaloClusters already present
+FillMissingEDM.egammaCreator            12  0     DEBUG The HLT_xAOD_TrackParticleContainer_L2ElectronTracks was absent, creating it
+TriggerEDMDeserialiserAlg               13  0     DEBUG fragment: clid, type, key, size 1333228823 xAOD::TrigCompositeContainer xAOD::TrigCompositeContainer_v1 remap_EgammaCaloDecisions 69
+TriggerEDMDeserialiserAlg               13  0     DEBUG fragment: clid, type, key, size 1175586382 xAOD::TrigCompositeAuxContainer xAOD::TrigCompositeAuxContainer_v1 remap_EgammaCaloDecisionsAux. 431
+TriggerEDMDeserialiserAlg               13  0     DEBUG fragment: clid, type, key, size 1264979038 xAOD::TrigEMClusterContainer xAOD::TrigEMClusterContainer_v1 HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 69
+TriggerEDMDeserialiserAlg               13  0     DEBUG fragment: clid, type, key, size 1111649561 xAOD::TrigEMClusterAuxContainer xAOD::TrigEMClusterAuxContainer_v2 HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 983
+TriggerEDMDeserialiserAlg               13  0     DEBUG fragment: clid, type, key, size 1119645201 xAOD::TrigElectronContainer xAOD::TrigElectronContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFex 68
+TriggerEDMDeserialiserAlg               13  0     DEBUG fragment: clid, type, key, size 1180743572 xAOD::TrigElectronAuxContainer xAOD::TrigElectronAuxContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 2358
+FillMissingEDM.egammaCreator            13  0     DEBUG The remap_EgammaCaloDecisions already present
+FillMissingEDM.egammaCreator            13  0     DEBUG The remap_L2CaloLinks was absent, creating it
+FillMissingEDM.egammaCreator            13  0     DEBUG The remap_FilteredEgammaCaloDecisions was absent, creating it
+FillMissingEDM.egammaCreator            13  0     DEBUG The remap_FilteredEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            13  0     DEBUG The remap_EMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            13  0     DEBUG The remap_RerunEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            13  0     DEBUG The HLT_xAOD__TrigElectronContainer_L2ElectronFex already present
+FillMissingEDM.egammaCreator            13  0     DEBUG The HLT_xAOD__TrigEMClusterContainer_L2CaloClusters already present
+FillMissingEDM.egammaCreator            13  0     DEBUG The HLT_xAOD_TrackParticleContainer_L2ElectronTracks was absent, creating it
+TriggerEDMDeserialiserAlg               14  0     DEBUG fragment: clid, type, key, size 1333228823 xAOD::TrigCompositeContainer xAOD::TrigCompositeContainer_v1 remap_EgammaCaloDecisions 69
+TriggerEDMDeserialiserAlg               14  0     DEBUG fragment: clid, type, key, size 1175586382 xAOD::TrigCompositeAuxContainer xAOD::TrigCompositeAuxContainer_v1 remap_EgammaCaloDecisionsAux. 308
+TriggerEDMDeserialiserAlg               14  0     DEBUG fragment: clid, type, key, size 1264979038 xAOD::TrigEMClusterContainer xAOD::TrigEMClusterContainer_v1 HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 69
+TriggerEDMDeserialiserAlg               14  0     DEBUG fragment: clid, type, key, size 1111649561 xAOD::TrigEMClusterAuxContainer xAOD::TrigEMClusterAuxContainer_v2 HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 663
+TriggerEDMDeserialiserAlg               14  0     DEBUG fragment: clid, type, key, size 1119645201 xAOD::TrigElectronContainer xAOD::TrigElectronContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFex 68
+TriggerEDMDeserialiserAlg               14  0     DEBUG fragment: clid, type, key, size 1180743572 xAOD::TrigElectronAuxContainer xAOD::TrigElectronAuxContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 610
+FillMissingEDM.egammaCreator            14  0     DEBUG The remap_EgammaCaloDecisions already present
+FillMissingEDM.egammaCreator            14  0     DEBUG The remap_L2CaloLinks was absent, creating it
+FillMissingEDM.egammaCreator            14  0     DEBUG The remap_FilteredEgammaCaloDecisions was absent, creating it
+FillMissingEDM.egammaCreator            14  0     DEBUG The remap_FilteredEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            14  0     DEBUG The remap_EMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            14  0     DEBUG The remap_RerunEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            14  0     DEBUG The HLT_xAOD__TrigElectronContainer_L2ElectronFex already present
+FillMissingEDM.egammaCreator            14  0     DEBUG The HLT_xAOD__TrigEMClusterContainer_L2CaloClusters already present
+FillMissingEDM.egammaCreator            14  0     DEBUG The HLT_xAOD_TrackParticleContainer_L2ElectronTracks was absent, creating it
+TriggerEDMDeserialiserAlg               15  0     DEBUG fragment: clid, type, key, size 1333228823 xAOD::TrigCompositeContainer xAOD::TrigCompositeContainer_v1 remap_EgammaCaloDecisions 69
+TriggerEDMDeserialiserAlg               15  0     DEBUG fragment: clid, type, key, size 1175586382 xAOD::TrigCompositeAuxContainer xAOD::TrigCompositeAuxContainer_v1 remap_EgammaCaloDecisionsAux. 183
+TriggerEDMDeserialiserAlg               15  0     DEBUG fragment: clid, type, key, size 1264979038 xAOD::TrigEMClusterContainer xAOD::TrigEMClusterContainer_v1 HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 69
+TriggerEDMDeserialiserAlg               15  0     DEBUG fragment: clid, type, key, size 1111649561 xAOD::TrigEMClusterAuxContainer xAOD::TrigEMClusterAuxContainer_v2 HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 343
+TriggerEDMDeserialiserAlg               15  0     DEBUG fragment: clid, type, key, size 1119645201 xAOD::TrigElectronContainer xAOD::TrigElectronContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFex 68
+TriggerEDMDeserialiserAlg               15  0     DEBUG fragment: clid, type, key, size 1180743572 xAOD::TrigElectronAuxContainer xAOD::TrigElectronAuxContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 334
+FillMissingEDM.egammaCreator            15  0     DEBUG The remap_EgammaCaloDecisions already present
+FillMissingEDM.egammaCreator            15  0     DEBUG The remap_L2CaloLinks was absent, creating it
+FillMissingEDM.egammaCreator            15  0     DEBUG The remap_FilteredEgammaCaloDecisions was absent, creating it
+FillMissingEDM.egammaCreator            15  0     DEBUG The remap_FilteredEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            15  0     DEBUG The remap_EMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            15  0     DEBUG The remap_RerunEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            15  0     DEBUG The HLT_xAOD__TrigElectronContainer_L2ElectronFex already present
+FillMissingEDM.egammaCreator            15  0     DEBUG The HLT_xAOD__TrigEMClusterContainer_L2CaloClusters already present
+FillMissingEDM.egammaCreator            15  0     DEBUG The HLT_xAOD_TrackParticleContainer_L2ElectronTracks was absent, creating it
+TriggerEDMDeserialiserAlg               16  0     DEBUG fragment: clid, type, key, size 1333228823 xAOD::TrigCompositeContainer xAOD::TrigCompositeContainer_v1 remap_EgammaCaloDecisions 69
+TriggerEDMDeserialiserAlg               16  0     DEBUG fragment: clid, type, key, size 1175586382 xAOD::TrigCompositeAuxContainer xAOD::TrigCompositeAuxContainer_v1 remap_EgammaCaloDecisionsAux. 300
+TriggerEDMDeserialiserAlg               16  0     DEBUG fragment: clid, type, key, size 1264979038 xAOD::TrigEMClusterContainer xAOD::TrigEMClusterContainer_v1 HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 69
+TriggerEDMDeserialiserAlg               16  0     DEBUG fragment: clid, type, key, size 1111649561 xAOD::TrigEMClusterAuxContainer xAOD::TrigEMClusterAuxContainer_v2 HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 663
+TriggerEDMDeserialiserAlg               16  0     DEBUG fragment: clid, type, key, size 1119645201 xAOD::TrigElectronContainer xAOD::TrigElectronContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFex 68
+TriggerEDMDeserialiserAlg               16  0     DEBUG fragment: clid, type, key, size 1180743572 xAOD::TrigElectronAuxContainer xAOD::TrigElectronAuxContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 978
+FillMissingEDM.egammaCreator            16  0     DEBUG The remap_EgammaCaloDecisions already present
+FillMissingEDM.egammaCreator            16  0     DEBUG The remap_L2CaloLinks was absent, creating it
+FillMissingEDM.egammaCreator            16  0     DEBUG The remap_FilteredEgammaCaloDecisions was absent, creating it
+FillMissingEDM.egammaCreator            16  0     DEBUG The remap_FilteredEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            16  0     DEBUG The remap_EMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            16  0     DEBUG The remap_RerunEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            16  0     DEBUG The HLT_xAOD__TrigElectronContainer_L2ElectronFex already present
+FillMissingEDM.egammaCreator            16  0     DEBUG The HLT_xAOD__TrigEMClusterContainer_L2CaloClusters already present
+FillMissingEDM.egammaCreator            16  0     DEBUG The HLT_xAOD_TrackParticleContainer_L2ElectronTracks was absent, creating it
+TriggerEDMDeserialiserAlg               17  0     DEBUG fragment: clid, type, key, size 1333228823 xAOD::TrigCompositeContainer xAOD::TrigCompositeContainer_v1 remap_EgammaCaloDecisions 69
+TriggerEDMDeserialiserAlg               17  0     DEBUG fragment: clid, type, key, size 1175586382 xAOD::TrigCompositeAuxContainer xAOD::TrigCompositeAuxContainer_v1 remap_EgammaCaloDecisionsAux. 431
+TriggerEDMDeserialiserAlg               17  0     DEBUG fragment: clid, type, key, size 1264979038 xAOD::TrigEMClusterContainer xAOD::TrigEMClusterContainer_v1 HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 69
+TriggerEDMDeserialiserAlg               17  0     DEBUG fragment: clid, type, key, size 1111649561 xAOD::TrigEMClusterAuxContainer xAOD::TrigEMClusterAuxContainer_v2 HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 983
+TriggerEDMDeserialiserAlg               17  0     DEBUG fragment: clid, type, key, size 1119645201 xAOD::TrigElectronContainer xAOD::TrigElectronContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFex 68
+TriggerEDMDeserialiserAlg               17  0     DEBUG fragment: clid, type, key, size 1180743572 xAOD::TrigElectronAuxContainer xAOD::TrigElectronAuxContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 1254
+FillMissingEDM.egammaCreator            17  0     DEBUG The remap_EgammaCaloDecisions already present
+FillMissingEDM.egammaCreator            17  0     DEBUG The remap_L2CaloLinks was absent, creating it
+FillMissingEDM.egammaCreator            17  0     DEBUG The remap_FilteredEgammaCaloDecisions was absent, creating it
+FillMissingEDM.egammaCreator            17  0     DEBUG The remap_FilteredEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            17  0     DEBUG The remap_EMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            17  0     DEBUG The remap_RerunEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            17  0     DEBUG The HLT_xAOD__TrigElectronContainer_L2ElectronFex already present
+FillMissingEDM.egammaCreator            17  0     DEBUG The HLT_xAOD__TrigEMClusterContainer_L2CaloClusters already present
+FillMissingEDM.egammaCreator            17  0     DEBUG The HLT_xAOD_TrackParticleContainer_L2ElectronTracks was absent, creating it
+TriggerEDMDeserialiserAlg               18  0     DEBUG fragment: clid, type, key, size 1333228823 xAOD::TrigCompositeContainer xAOD::TrigCompositeContainer_v1 remap_EgammaCaloDecisions 69
+TriggerEDMDeserialiserAlg               18  0     DEBUG fragment: clid, type, key, size 1175586382 xAOD::TrigCompositeAuxContainer xAOD::TrigCompositeAuxContainer_v1 remap_EgammaCaloDecisionsAux. 427
+TriggerEDMDeserialiserAlg               18  0     DEBUG fragment: clid, type, key, size 1264979038 xAOD::TrigEMClusterContainer xAOD::TrigEMClusterContainer_v1 HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 69
+TriggerEDMDeserialiserAlg               18  0     DEBUG fragment: clid, type, key, size 1111649561 xAOD::TrigEMClusterAuxContainer xAOD::TrigEMClusterAuxContainer_v2 HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 983
+TriggerEDMDeserialiserAlg               18  0     DEBUG fragment: clid, type, key, size 1119645201 xAOD::TrigElectronContainer xAOD::TrigElectronContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFex 68
+TriggerEDMDeserialiserAlg               18  0     DEBUG fragment: clid, type, key, size 1180743572 xAOD::TrigElectronAuxContainer xAOD::TrigElectronAuxContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 702
+FillMissingEDM.egammaCreator            18  0     DEBUG The remap_EgammaCaloDecisions already present
+FillMissingEDM.egammaCreator            18  0     DEBUG The remap_L2CaloLinks was absent, creating it
+FillMissingEDM.egammaCreator            18  0     DEBUG The remap_FilteredEgammaCaloDecisions was absent, creating it
+FillMissingEDM.egammaCreator            18  0     DEBUG The remap_FilteredEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            18  0     DEBUG The remap_EMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            18  0     DEBUG The remap_RerunEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            18  0     DEBUG The HLT_xAOD__TrigElectronContainer_L2ElectronFex already present
+FillMissingEDM.egammaCreator            18  0     DEBUG The HLT_xAOD__TrigEMClusterContainer_L2CaloClusters already present
+FillMissingEDM.egammaCreator            18  0     DEBUG The HLT_xAOD_TrackParticleContainer_L2ElectronTracks was absent, creating it
+TriggerEDMDeserialiserAlg               19  0     DEBUG fragment: clid, type, key, size 1333228823 xAOD::TrigCompositeContainer xAOD::TrigCompositeContainer_v1 remap_EgammaCaloDecisions 69
+TriggerEDMDeserialiserAlg               19  0     DEBUG fragment: clid, type, key, size 1175586382 xAOD::TrigCompositeAuxContainer xAOD::TrigCompositeAuxContainer_v1 remap_EgammaCaloDecisionsAux. 526
+TriggerEDMDeserialiserAlg               19  0     DEBUG fragment: clid, type, key, size 1264979038 xAOD::TrigEMClusterContainer xAOD::TrigEMClusterContainer_v1 HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 69
+TriggerEDMDeserialiserAlg               19  0     DEBUG fragment: clid, type, key, size 1111649561 xAOD::TrigEMClusterAuxContainer xAOD::TrigEMClusterAuxContainer_v2 HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 1303
+TriggerEDMDeserialiserAlg               19  0     DEBUG fragment: clid, type, key, size 1119645201 xAOD::TrigElectronContainer xAOD::TrigElectronContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFex 68
+TriggerEDMDeserialiserAlg               19  0     DEBUG fragment: clid, type, key, size 1180743572 xAOD::TrigElectronAuxContainer xAOD::TrigElectronAuxContainer_v1 HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 3186
+FillMissingEDM.egammaCreator            19  0     DEBUG The remap_EgammaCaloDecisions already present
+FillMissingEDM.egammaCreator            19  0     DEBUG The remap_L2CaloLinks was absent, creating it
+FillMissingEDM.egammaCreator            19  0     DEBUG The remap_FilteredEgammaCaloDecisions was absent, creating it
+FillMissingEDM.egammaCreator            19  0     DEBUG The remap_FilteredEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            19  0     DEBUG The remap_EMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            19  0     DEBUG The remap_RerunEMRoIDecisions was absent, creating it
+FillMissingEDM.egammaCreator            19  0     DEBUG The HLT_xAOD__TrigElectronContainer_L2ElectronFex already present
+FillMissingEDM.egammaCreator            19  0     DEBUG The HLT_xAOD__TrigEMClusterContainer_L2CaloClusters already present
+FillMissingEDM.egammaCreator            19  0     DEBUG The HLT_xAOD_TrackParticleContainer_L2ElectronTracks was absent, creating it
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/egamma.withViews.py b/Trigger/TrigValidation/TrigUpgradeTest/share/egamma.withViews.py
index 833f7afac3a9..a56d814fe0c7 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/share/egamma.withViews.py
+++ b/Trigger/TrigValidation/TrigUpgradeTest/share/egamma.withViews.py
@@ -247,7 +247,7 @@ summary = TriggerSummaryAlg( "TriggerSummaryAlg" )
 summary.InputDecision = "L1DecoderSummary"
 summary.FinalDecisions = [ "ElectronL2Decisions", "MuonL2Decisions" ]
 
-from TrigOutputHandling.TrigOutputHandlingConf import HLTEDMCreator
+from TrigOutputHandling.TrigOutputHandlingConf import HLTEDMCreator, HLTEDMCreatorAlg
 egammaViewsMerger = HLTEDMCreator("egammaViewsMerger")
 egammaViewsMerger.TrigCompositeContainer = [ "filterCaloRoIsAlg", "EgammaCaloDecisions","ElectronL2Decisions", "MuonL2Decisions", "EMRoIDecisions", "METRoIDecisions", "MURoIDecisions", "L1DecoderSummary", "JRoIDecisions", "MonitoringSummaryStep1", "RerunEMRoIDecisions", "RerunMURoIDecisions", "TAURoIDecisions", "L2CaloLinks", "FilteredEMRoIDecisions", "FilteredEgammaCaloDecisions" ]
 
@@ -269,11 +269,10 @@ egammaViewsMerger.OutputLevel = VERBOSE
 svcMgr.StoreGateSvc.OutputLevel = INFO
 
 
-summary.OutputTools = [ egammaViewsMerger ]
+edmMakerAlg = HLTEDMCreatorAlg("EDMMaker")
+edmMakerAlg.OutputTools = [ egammaViewsMerger ]
 
 
-summary.OutputLevel = DEBUG
-
 step0filter = parOR("step0filter", [ findAlgorithm( egammaCaloStep, "filterL1RoIsAlg") ] )
 step1filter = parOR("step1filter", [ findAlgorithm(egammaIDStep, "filterCaloRoIsAlg") ] )
 step2filter = parOR("step2filter", [ findAlgorithm(egammaEFCaloStep, "filterL2ElectronRoIsAlg") ] )
@@ -392,8 +391,8 @@ deserialiser = TriggerEDMDeserialiserAlg()
 deserialiser.Prefix="SERIALISED_"
 deserialiser.OutputLevel=DEBUG
 
-# add prefix + remove version to class name
-l = [ c.split("#")[0].split("_")[0] + "#" + deserialiser.Prefix + c.split("#")[1] for c in serialiser.CollectionsToSerialize ] 
+# # add prefix + remove version to class name
+# l = [ c.split("#")[0].split("_")[0] + "#" + deserialiser.Prefix + c.split("#")[1] for c in serialiser.CollectionsToSerialize ] 
 #StreamESD.ItemList += l
 
 
@@ -408,8 +407,9 @@ svcMgr.ByteStreamAddressProviderSvc.TypeNames = ["ROIB::RoIBResult/RoIBResult",
 
 from ByteStreamCnvSvc import WriteByteStream
 streamBS = WriteByteStream.getStream("EventStorage","StreamBSFileOutput")
+streamBS.OutputLevel=DEBUG
 ServiceMgr.ByteStreamCnvSvc.OutputLevel = VERBOSE
-ServiceMgr.ByteStreamCnvSvc.IsSimulation = True
+ServiceMgr.ByteStreamCnvSvc.IsSimulation = False
 ServiceMgr.ByteStreamCnvSvc.InitCnvs += ["HLT::HLTResultMT"]
 streamBS.ItemList += ["HLT::HLTResultMT#HLTResultMT"]
 
@@ -421,7 +421,7 @@ svcMgr.ByteStreamEventStorageOutputSvc.OutputLevel = VERBOSE
 
 ################################################################################
 # assemble top list of algorithms
-hltTop = seqOR( "hltTop", [ steps,  summary,  summMaker, mon, hltResultMakerAlg, deserialiser, StreamESD, streamBS ] )
+hltTop = seqOR( "hltTop", [ steps,  summMaker, mon, edmMakerAlg, hltResultMakerAlg, StreamESD, streamBS, deserialiser ] )
 
 
 
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/egammaRunData.ref b/Trigger/TrigValidation/TrigUpgradeTest/share/egammaRunData.ref
new file mode 100644
index 000000000000..1522012c690a
--- /dev/null
+++ b/Trigger/TrigValidation/TrigUpgradeTest/share/egammaRunData.ref
@@ -0,0 +1,130 @@
+HLTRMakerAlg.MKTool.Serialiser          0   0     DEBUG Payload size after inserting xAOD::TrigCompositeContainer_v1#remap_EgammaCaloDecisions 152 bytes
+HLTRMakerAlg.MKTool.Serialiser          0   0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 544 bytes
+HLTRMakerAlg.MKTool.Serialiser          0   0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 716 bytes
+HLTRMakerAlg.MKTool.Serialiser          0   0     DEBUG Payload size after inserting xAOD::TrigEMClusterAuxContainer_v2#HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 1540 bytes
+HLTRMakerAlg.MKTool.Serialiser          0   0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 1708 bytes
+HLTRMakerAlg.MKTool.Serialiser          0   0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 3316 bytes
+HLTRMakerAlg.MKTool.Serialiser          1   0     DEBUG Payload size after inserting xAOD::TrigCompositeContainer_v1#remap_EgammaCaloDecisions 152 bytes
+HLTRMakerAlg.MKTool.Serialiser          1   0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 884 bytes
+HLTRMakerAlg.MKTool.Serialiser          1   0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 1056 bytes
+HLTRMakerAlg.MKTool.Serialiser          1   0     DEBUG Payload size after inserting xAOD::TrigEMClusterAuxContainer_v2#HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 2852 bytes
+HLTRMakerAlg.MKTool.Serialiser          1   0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 3020 bytes
+HLTRMakerAlg.MKTool.Serialiser          1   0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 8032 bytes
+HLTRMakerAlg.MKTool.Serialiser          2   0     DEBUG Payload size after inserting xAOD::TrigCompositeContainer_v1#remap_EgammaCaloDecisions 152 bytes
+HLTRMakerAlg.MKTool.Serialiser          2   0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 1092 bytes
+HLTRMakerAlg.MKTool.Serialiser          2   0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 1264 bytes
+HLTRMakerAlg.MKTool.Serialiser          2   0     DEBUG Payload size after inserting xAOD::TrigEMClusterAuxContainer_v2#HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 3708 bytes
+HLTRMakerAlg.MKTool.Serialiser          2   0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 3876 bytes
+HLTRMakerAlg.MKTool.Serialiser          2   0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 7112 bytes
+HLTRMakerAlg.MKTool.Serialiser          3   0     DEBUG Payload size after inserting xAOD::TrigCompositeContainer_v1#remap_EgammaCaloDecisions 152 bytes
+HLTRMakerAlg.MKTool.Serialiser          3   0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 872 bytes
+HLTRMakerAlg.MKTool.Serialiser          3   0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 1044 bytes
+HLTRMakerAlg.MKTool.Serialiser          3   0     DEBUG Payload size after inserting xAOD::TrigEMClusterAuxContainer_v2#HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 2840 bytes
+HLTRMakerAlg.MKTool.Serialiser          3   0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 3008 bytes
+HLTRMakerAlg.MKTool.Serialiser          3   0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 8760 bytes
+HLTRMakerAlg.MKTool.Serialiser          4   0     DEBUG Payload size after inserting xAOD::TrigCompositeContainer_v1#remap_EgammaCaloDecisions 152 bytes
+HLTRMakerAlg.MKTool.Serialiser          4   0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 660 bytes
+HLTRMakerAlg.MKTool.Serialiser          4   0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 832 bytes
+HLTRMakerAlg.MKTool.Serialiser          4   0     DEBUG Payload size after inserting xAOD::TrigEMClusterAuxContainer_v2#HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 1980 bytes
+HLTRMakerAlg.MKTool.Serialiser          4   0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 2148 bytes
+HLTRMakerAlg.MKTool.Serialiser          4   0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 4200 bytes
+HLTRMakerAlg.MKTool.Serialiser          5   0     DEBUG Payload size after inserting xAOD::TrigCompositeContainer_v1#remap_EgammaCaloDecisions 152 bytes
+HLTRMakerAlg.MKTool.Serialiser          5   0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 1196 bytes
+HLTRMakerAlg.MKTool.Serialiser          5   0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 1368 bytes
+HLTRMakerAlg.MKTool.Serialiser          5   0     DEBUG Payload size after inserting xAOD::TrigEMClusterAuxContainer_v2#HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 4136 bytes
+HLTRMakerAlg.MKTool.Serialiser          5   0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 4304 bytes
+HLTRMakerAlg.MKTool.Serialiser          5   0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 12128 bytes
+HLTRMakerAlg.MKTool.Serialiser          6   0     DEBUG Payload size after inserting xAOD::TrigCompositeContainer_v1#remap_EgammaCaloDecisions 152 bytes
+HLTRMakerAlg.MKTool.Serialiser          6   0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 548 bytes
+HLTRMakerAlg.MKTool.Serialiser          6   0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 720 bytes
+HLTRMakerAlg.MKTool.Serialiser          6   0     DEBUG Payload size after inserting xAOD::TrigEMClusterAuxContainer_v2#HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 1544 bytes
+HLTRMakerAlg.MKTool.Serialiser          6   0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 1712 bytes
+HLTRMakerAlg.MKTool.Serialiser          6   0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 4060 bytes
+HLTRMakerAlg.MKTool.Serialiser          7   0     DEBUG Payload size after inserting xAOD::TrigCompositeContainer_v1#remap_EgammaCaloDecisions 152 bytes
+HLTRMakerAlg.MKTool.Serialiser          7   0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 764 bytes
+HLTRMakerAlg.MKTool.Serialiser          7   0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 936 bytes
+HLTRMakerAlg.MKTool.Serialiser          7   0     DEBUG Payload size after inserting xAOD::TrigEMClusterAuxContainer_v2#HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 2408 bytes
+HLTRMakerAlg.MKTool.Serialiser          7   0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 2576 bytes
+HLTRMakerAlg.MKTool.Serialiser          7   0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 7884 bytes
+HLTRMakerAlg.MKTool.Serialiser          8   0     DEBUG Payload size after inserting xAOD::TrigCompositeContainer_v1#remap_EgammaCaloDecisions 152 bytes
+HLTRMakerAlg.MKTool.Serialiser          8   0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 668 bytes
+HLTRMakerAlg.MKTool.Serialiser          8   0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 840 bytes
+HLTRMakerAlg.MKTool.Serialiser          8   0     DEBUG Payload size after inserting xAOD::TrigEMClusterAuxContainer_v2#HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 1988 bytes
+HLTRMakerAlg.MKTool.Serialiser          8   0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 2156 bytes
+HLTRMakerAlg.MKTool.Serialiser          8   0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 3912 bytes
+HLTRMakerAlg.MKTool.Serialiser          9   0     DEBUG Payload size after inserting xAOD::TrigCompositeContainer_v1#remap_EgammaCaloDecisions 152 bytes
+HLTRMakerAlg.MKTool.Serialiser          9   0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 424 bytes
+HLTRMakerAlg.MKTool.Serialiser          9   0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 596 bytes
+HLTRMakerAlg.MKTool.Serialiser          9   0     DEBUG Payload size after inserting xAOD::TrigEMClusterAuxContainer_v2#HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 1048 bytes
+HLTRMakerAlg.MKTool.Serialiser          9   0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 1216 bytes
+HLTRMakerAlg.MKTool.Serialiser          9   0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 1656 bytes
+HLTRMakerAlg.MKTool.Serialiser          10  0     DEBUG Payload size after inserting xAOD::TrigCompositeContainer_v1#remap_EgammaCaloDecisions 152 bytes
+HLTRMakerAlg.MKTool.Serialiser          10  0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 904 bytes
+HLTRMakerAlg.MKTool.Serialiser          10  0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 1076 bytes
+HLTRMakerAlg.MKTool.Serialiser          10  0     DEBUG Payload size after inserting xAOD::TrigEMClusterAuxContainer_v2#HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 2872 bytes
+HLTRMakerAlg.MKTool.Serialiser          10  0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 3040 bytes
+HLTRMakerAlg.MKTool.Serialiser          10  0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 9088 bytes
+HLTRMakerAlg.MKTool.Serialiser          11  0     DEBUG Payload size after inserting xAOD::TrigCompositeContainer_v1#remap_EgammaCaloDecisions 152 bytes
+HLTRMakerAlg.MKTool.Serialiser          11  0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 544 bytes
+HLTRMakerAlg.MKTool.Serialiser          11  0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 716 bytes
+HLTRMakerAlg.MKTool.Serialiser          11  0     DEBUG Payload size after inserting xAOD::TrigEMClusterAuxContainer_v2#HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 1540 bytes
+HLTRMakerAlg.MKTool.Serialiser          11  0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 1708 bytes
+HLTRMakerAlg.MKTool.Serialiser          11  0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 3464 bytes
+HLTRMakerAlg.MKTool.Serialiser          12  0     DEBUG Payload size after inserting xAOD::TrigCompositeContainer_v1#remap_EgammaCaloDecisions 152 bytes
+HLTRMakerAlg.MKTool.Serialiser          12  0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 1336 bytes
+HLTRMakerAlg.MKTool.Serialiser          12  0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 1508 bytes
+HLTRMakerAlg.MKTool.Serialiser          12  0     DEBUG Payload size after inserting xAOD::TrigEMClusterAuxContainer_v2#HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 4600 bytes
+HLTRMakerAlg.MKTool.Serialiser          12  0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 4768 bytes
+HLTRMakerAlg.MKTool.Serialiser          12  0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 11408 bytes
+HLTRMakerAlg.MKTool.Serialiser          13  0     DEBUG Payload size after inserting xAOD::TrigCompositeContainer_v1#remap_EgammaCaloDecisions 152 bytes
+HLTRMakerAlg.MKTool.Serialiser          13  0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 672 bytes
+HLTRMakerAlg.MKTool.Serialiser          13  0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 844 bytes
+HLTRMakerAlg.MKTool.Serialiser          13  0     DEBUG Payload size after inserting xAOD::TrigEMClusterAuxContainer_v2#HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 1992 bytes
+HLTRMakerAlg.MKTool.Serialiser          13  0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 2160 bytes
+HLTRMakerAlg.MKTool.Serialiser          13  0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 6580 bytes
+HLTRMakerAlg.MKTool.Serialiser          14  0     DEBUG Payload size after inserting xAOD::TrigCompositeContainer_v1#remap_EgammaCaloDecisions 152 bytes
+HLTRMakerAlg.MKTool.Serialiser          14  0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 548 bytes
+HLTRMakerAlg.MKTool.Serialiser          14  0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 720 bytes
+HLTRMakerAlg.MKTool.Serialiser          14  0     DEBUG Payload size after inserting xAOD::TrigEMClusterAuxContainer_v2#HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 1544 bytes
+HLTRMakerAlg.MKTool.Serialiser          14  0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 1712 bytes
+HLTRMakerAlg.MKTool.Serialiser          14  0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 3320 bytes
+HLTRMakerAlg.MKTool.Serialiser          15  0     DEBUG Payload size after inserting xAOD::TrigCompositeContainer_v1#remap_EgammaCaloDecisions 152 bytes
+HLTRMakerAlg.MKTool.Serialiser          15  0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 424 bytes
+HLTRMakerAlg.MKTool.Serialiser          15  0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 596 bytes
+HLTRMakerAlg.MKTool.Serialiser          15  0     DEBUG Payload size after inserting xAOD::TrigEMClusterAuxContainer_v2#HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 1048 bytes
+HLTRMakerAlg.MKTool.Serialiser          15  0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 1216 bytes
+HLTRMakerAlg.MKTool.Serialiser          15  0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 1656 bytes
+HLTRMakerAlg.MKTool.Serialiser          16  0     DEBUG Payload size after inserting xAOD::TrigCompositeContainer_v1#remap_EgammaCaloDecisions 152 bytes
+HLTRMakerAlg.MKTool.Serialiser          16  0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 540 bytes
+HLTRMakerAlg.MKTool.Serialiser          16  0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 712 bytes
+HLTRMakerAlg.MKTool.Serialiser          16  0     DEBUG Payload size after inserting xAOD::TrigEMClusterAuxContainer_v2#HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 1536 bytes
+HLTRMakerAlg.MKTool.Serialiser          16  0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 1704 bytes
+HLTRMakerAlg.MKTool.Serialiser          16  0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 3904 bytes
+HLTRMakerAlg.MKTool.Serialiser          17  0     DEBUG Payload size after inserting xAOD::TrigCompositeContainer_v1#remap_EgammaCaloDecisions 152 bytes
+HLTRMakerAlg.MKTool.Serialiser          17  0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 672 bytes
+HLTRMakerAlg.MKTool.Serialiser          17  0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 844 bytes
+HLTRMakerAlg.MKTool.Serialiser          17  0     DEBUG Payload size after inserting xAOD::TrigEMClusterAuxContainer_v2#HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 1992 bytes
+HLTRMakerAlg.MKTool.Serialiser          17  0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 2160 bytes
+HLTRMakerAlg.MKTool.Serialiser          17  0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 4804 bytes
+HLTRMakerAlg.MKTool.Serialiser          18  0     DEBUG Payload size after inserting xAOD::TrigCompositeContainer_v1#remap_EgammaCaloDecisions 152 bytes
+HLTRMakerAlg.MKTool.Serialiser          18  0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 668 bytes
+HLTRMakerAlg.MKTool.Serialiser          18  0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 840 bytes
+HLTRMakerAlg.MKTool.Serialiser          18  0     DEBUG Payload size after inserting xAOD::TrigEMClusterAuxContainer_v2#HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 1988 bytes
+HLTRMakerAlg.MKTool.Serialiser          18  0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 2156 bytes
+HLTRMakerAlg.MKTool.Serialiser          18  0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 3912 bytes
+HLTRMakerAlg.MKTool.Serialiser          19  0     DEBUG Payload size after inserting xAOD::TrigCompositeContainer_v1#remap_EgammaCaloDecisions 152 bytes
+HLTRMakerAlg.MKTool.Serialiser          19  0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 768 bytes
+HLTRMakerAlg.MKTool.Serialiser          19  0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 940 bytes
+HLTRMakerAlg.MKTool.Serialiser          19  0     DEBUG Payload size after inserting xAOD::TrigEMClusterAuxContainer_v2#HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 2412 bytes
+HLTRMakerAlg.MKTool.Serialiser          19  0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 2580 bytes
+HLTRMakerAlg.MKTool.Serialiser          19  0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 8332 bytes
+TrigSignatureMoniMT                                INFO HLT_2e3_etcut                 20        10        6         5         5         
+TrigSignatureMoniMT                                INFO HLT_2e3_etcut decisions                           16        83        
+TrigSignatureMoniMT                                INFO HLT_e3_etcut                  20        9         8         8         8         
+TrigSignatureMoniMT                                INFO HLT_e3_etcut decisions                            22        107       
+TrigSignatureMoniMT                                INFO HLT_e3e5_etcut                20        20        18        11        11        
+TrigSignatureMoniMT                                INFO HLT_e3e5_etcut decisions                          54        239       
+TrigSignatureMoniMT                                INFO HLT_e5_etcut                  20        20        17        17        17        
+TrigSignatureMoniMT                                INFO HLT_e5_etcut decisions                            52        255       
+TrigSignatureMoniMT                                INFO HLT_e7_etcut                  20        20        11        11        11        
+TrigSignatureMoniMT                                INFO HLT_e7_etcut decisions                            17        119       
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/test/test_decodeBS.sh b/Trigger/TrigValidation/TrigUpgradeTest/test/test_decodeBS.sh
new file mode 100755
index 000000000000..ea29332352d6
--- /dev/null
+++ b/Trigger/TrigValidation/TrigUpgradeTest/test/test_decodeBS.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+# art-type: build
+# art-include: master/Athena
+
+#
+FNAME=data_test.00327265.Single_Stream.daq.RAW._lb0100._Athena._0000.data 
+if [ -f ${FNAME} ]
+then
+    athena --threads=1  --filesInput=${FNAME} -c "doL1Unpacking=False" TrigUpgradeTest/decodeBS.py &&
+	checkxAOD.py myESDfromBS.pool.root
+    
+else
+    echo "missing input BS file, preceeding test failed"
+    exit -1
+fi
+
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/test/test_egamma_run_data.sh b/Trigger/TrigValidation/TrigUpgradeTest/test/test_egamma_run_data.sh
index 66a8ac9d77ca..78bc7cbc808b 100755
--- a/Trigger/TrigValidation/TrigUpgradeTest/test/test_egamma_run_data.sh
+++ b/Trigger/TrigValidation/TrigUpgradeTest/test/test_egamma_run_data.sh
@@ -2,9 +2,8 @@
 # art-type: build
 # art-include: master/Athena
 
-# clear BS from previous runs
+#clear BS from previous runs
 rm -rf  data_test.*.data
-
-athena --dump-configuration=cfg.txt  --threads=1 --skipEvents=10 --evtMax=20 --filesInput="/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TrigP1Test/data17_13TeV.00327265.physics_EnhancedBias.merge.RAW._lb0100._SFO-1._0001.1" TrigUpgradeTest/egamma.withViews.py #&&
+athena  --threads=1 --skipEvents=10 --evtMax=20 --filesInput="/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TrigP1Test/data17_13TeV.00327265.physics_EnhancedBias.merge.RAW._lb0100._SFO-1._0001.1" TrigUpgradeTest/egamma.withViews.py &&
 checkxAOD.py myESD.pool.root &&
-athena TrigUpgradeTest/checkESD.py
+athena TrigUpgradeTest/checkESD.py 
-- 
GitLab


From 46ce5f698822a5f39048b033cccdbcfe03e7068d Mon Sep 17 00:00:00 2001
From: christos <christos@cern.ch>
Date: Fri, 25 Jan 2019 19:36:32 +0000
Subject: [PATCH 126/192] the dict should contain just enums

---
 .../ElectronPhotonSelectorTools/CMakeLists.txt                 | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/CMakeLists.txt b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/CMakeLists.txt
index e5d09c5a10ef..29e15c8097da 100644
--- a/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/CMakeLists.txt
+++ b/PhysicsAnalysis/ElectronPhotonID/ElectronPhotonSelectorTools/CMakeLists.txt
@@ -52,8 +52,7 @@ endif()
 
 atlas_add_dictionary( ElectronPhotonSelectorToolsDict
   ElectronPhotonSelectorTools/ElectronPhotonSelectorToolsCoreDict.h
-  ElectronPhotonSelectorTools/selectionCore.xml
-  LINK_LIBRARIES ElectronPhotonSelectorToolsLib )
+  ElectronPhotonSelectorTools/selectionCore.xml)
 
 atlas_add_dictionary( ElectronPhotonSelectorToolsPythonDict
   ElectronPhotonSelectorTools/ElectronPhotonSelectorToolsPythonDict.h
-- 
GitLab


From 026129401663351eb48bd9cf7fdc0cfe8c0f8d9b Mon Sep 17 00:00:00 2001
From: MihaMuskinja <miha.muskinja@gmail.com>
Date: Sat, 26 Jan 2019 00:43:04 +0100
Subject: [PATCH 127/192] TrkG4UserActions: fix ubsan warnings.

---
 .../TrkG4UserActions/GeantFollowerHelper.h    |  73 ++-
 .../TrkG4UserActions/GeantFollowerMSHelper.h  | 160 ++---
 .../src/GeantFollowerHelper.cxx               | 182 +++---
 .../src/GeantFollowerMSHelper.cxx             | 613 ++++++++----------
 4 files changed, 483 insertions(+), 545 deletions(-)

diff --git a/Tracking/TrkG4Components/TrkG4UserActions/TrkG4UserActions/GeantFollowerHelper.h b/Tracking/TrkG4Components/TrkG4UserActions/TrkG4UserActions/GeantFollowerHelper.h
index 2850eb2dd85e..bfc3e93eac86 100644
--- a/Tracking/TrkG4Components/TrkG4UserActions/TrkG4UserActions/GeantFollowerHelper.h
+++ b/Tracking/TrkG4Components/TrkG4UserActions/TrkG4UserActions/GeantFollowerHelper.h
@@ -61,40 +61,45 @@ namespace Trk
       std::string                    m_validationTreeFolder;      //!< stream/folder to for the TTree to be written out
 
       TTree*                         m_validationTree;            //!< Root Validation Tree
-      /** Ntuple variables : initial parameters*/
-      mutable float                  m_t_x;
-      mutable float                  m_t_y;
-      mutable float                  m_t_z;
-      mutable float                  m_t_theta;
-      mutable float                  m_t_eta;
-      mutable float                  m_t_phi;
-      mutable float                  m_t_p;
-      mutable float                  m_t_charge;
-      mutable int                    m_t_pdg;
-      /** Ntuple variables : g4 step parameters */
-      mutable int                    m_g4_steps;
-      mutable float                  m_g4_p[MAXPROBES];
-      mutable float                  m_g4_eta[MAXPROBES];
-      mutable float                  m_g4_theta[MAXPROBES];
-      mutable float                  m_g4_phi[MAXPROBES];
-      mutable float                  m_g4_x[MAXPROBES];
-      mutable float                  m_g4_y[MAXPROBES];
-      mutable float                  m_g4_z[MAXPROBES];
-      mutable float                  m_g4_tX0[MAXPROBES];
-      mutable float                  m_g4_t[MAXPROBES];
-      mutable float                  m_g4_X0[MAXPROBES];
-      /** Ntuple variables : trk follow up parameters */
-      mutable int                    m_trk_status[MAXPROBES];
-      mutable float                  m_trk_p[MAXPROBES];
-      mutable float                  m_trk_eta[MAXPROBES];
-      mutable float                  m_trk_theta[MAXPROBES];
-      mutable float                  m_trk_phi[MAXPROBES];
-      mutable float                  m_trk_x[MAXPROBES];
-      mutable float                  m_trk_y[MAXPROBES];
-      mutable float                  m_trk_z[MAXPROBES];
-      mutable float                  m_trk_lx[MAXPROBES];
-      mutable float                  m_trk_ly[MAXPROBES];
-
+      /** Ntuple variables : initial parameters
+          Split this out into a separate, dynamically-allocated block.
+          Otherwise, the CaloCellNoiseAlg is so large that it violates
+          the ubsan sanity checks. **/
+      struct TreeData {
+          mutable float                  m_t_x {0};
+          mutable float                  m_t_y {0};
+          mutable float                  m_t_z {0};
+          mutable float                  m_t_theta {0};
+          mutable float                  m_t_eta {0};
+          mutable float                  m_t_phi {0};
+          mutable float                  m_t_p {0};
+          mutable float                  m_t_charge {0};
+          mutable int                    m_t_pdg {0};
+          /** Ntuple variables : g4 step parameters */
+          mutable int                    m_g4_steps {0};
+          mutable float                  m_g4_p[MAXPROBES] {0};
+          mutable float                  m_g4_eta[MAXPROBES] {0};
+          mutable float                  m_g4_theta[MAXPROBES] {0};
+          mutable float                  m_g4_phi[MAXPROBES] {0};
+          mutable float                  m_g4_x[MAXPROBES] {0};
+          mutable float                  m_g4_y[MAXPROBES] {0};
+          mutable float                  m_g4_z[MAXPROBES] {0};
+          mutable float                  m_g4_tX0[MAXPROBES] {0};
+          mutable float                  m_g4_t[MAXPROBES] {0};
+          mutable float                  m_g4_X0[MAXPROBES] {0};
+          /** Ntuple variables : trk follow up parameters */
+          mutable int                    m_trk_status[MAXPROBES] {0};
+          mutable float                  m_trk_p[MAXPROBES] {0};
+          mutable float                  m_trk_eta[MAXPROBES] {0};
+          mutable float                  m_trk_theta[MAXPROBES] {0};
+          mutable float                  m_trk_phi[MAXPROBES] {0};
+          mutable float                  m_trk_x[MAXPROBES] {0};
+          mutable float                  m_trk_y[MAXPROBES] {0};
+          mutable float                  m_trk_z[MAXPROBES] {0};
+          mutable float                  m_trk_lx[MAXPROBES] {0};
+          mutable float                  m_trk_ly[MAXPROBES] {0};
+      };
+      std::unique_ptr<TreeData> m_treeData;
   };
 
 }
diff --git a/Tracking/TrkG4Components/TrkG4UserActions/TrkG4UserActions/GeantFollowerMSHelper.h b/Tracking/TrkG4Components/TrkG4UserActions/TrkG4UserActions/GeantFollowerMSHelper.h
index dc03743420b6..5f3c11e7b93f 100644
--- a/Tracking/TrkG4Components/TrkG4UserActions/TrkG4UserActions/GeantFollowerMSHelper.h
+++ b/Tracking/TrkG4Components/TrkG4UserActions/TrkG4UserActions/GeantFollowerMSHelper.h
@@ -90,83 +90,89 @@ namespace Trk
       std::string                    m_validationTreeFolder;      //!< stream/folder to for the TTree to be written out
 
       TTree*                         m_validationTree;            //!< Root Validation Tree
-      mutable float                  m_t_x;
-      mutable float                  m_t_y;
-      mutable float                  m_t_z;
-      mutable float                  m_t_theta;
-      mutable float                  m_t_eta;
-      mutable float                  m_t_phi;
-      mutable float                  m_t_p;
-      mutable float                  m_t_charge;
-      mutable int                    m_t_pdg;
-      mutable float                  m_m_x;
-      mutable float                  m_m_y;
-      mutable float                  m_m_z;
-      mutable float                  m_m_theta;
-      mutable float                  m_m_eta;
-      mutable float                  m_m_phi;
-      mutable float                  m_m_p;
-      mutable float                  m_b_x;
-      mutable float                  m_b_y;
-      mutable float                  m_b_z;
-      mutable float                  m_b_theta;
-      mutable float                  m_b_eta;
-      mutable float                  m_b_phi;
-      mutable float                  m_b_p;
-      mutable float                  m_b_X0;
-      mutable float                  m_b_Eloss;
-      /** Ntuple variables : g4 step parameters */
-      mutable int                    m_g4_steps;
-      mutable float                  m_g4_p[MAXPROBES];
-      mutable float                  m_g4_eta[MAXPROBES];
-      mutable float                  m_g4_theta[MAXPROBES];
-      mutable float                  m_g4_phi[MAXPROBES];
-      mutable float                  m_g4_x[MAXPROBES];
-      mutable float                  m_g4_y[MAXPROBES];
-      mutable float                  m_g4_z[MAXPROBES];
-      mutable float                  m_g4_tX0[MAXPROBES];
-      mutable float                  m_g4_t[MAXPROBES];
-      mutable float                  m_g4_X0[MAXPROBES];
-      /** Ntuple variables : trk follow up parameters */
-      mutable int                    m_trk_status[MAXPROBES];
-      mutable float                  m_trk_p[MAXPROBES];
-      mutable float                  m_trk_eta[MAXPROBES];
-      mutable float                  m_trk_theta[MAXPROBES];
-      mutable float                  m_trk_phi[MAXPROBES];
-      mutable float                  m_trk_x[MAXPROBES];
-      mutable float                  m_trk_y[MAXPROBES];
-      mutable float                  m_trk_z[MAXPROBES];
-      mutable float                  m_trk_lx[MAXPROBES];
-      mutable float                  m_trk_ly[MAXPROBES];
-      mutable float                  m_trk_eloss[MAXPROBES];
-      mutable float                  m_trk_eloss1[MAXPROBES];
-      mutable float                  m_trk_eloss0[MAXPROBES];
-      mutable float                  m_trk_eloss5[MAXPROBES];
-      mutable float                  m_trk_eloss10[MAXPROBES];
-      mutable float                  m_trk_scaleeloss[MAXPROBES];
-      mutable float                  m_trk_scalex0[MAXPROBES];
-      mutable float                  m_trk_x0[MAXPROBES];
-      mutable float                  m_trk_erd0[MAXPROBES];
-      mutable float                  m_trk_erz0[MAXPROBES];
-      mutable float                  m_trk_erphi[MAXPROBES];
-      mutable float                  m_trk_ertheta[MAXPROBES];
-      mutable float                  m_trk_erqoverp[MAXPROBES];
-      /** Scattering centra from Trk */
-      mutable int                    m_trk_scats;
-      mutable int                    m_trk_sstatus[500];
-      mutable float                  m_trk_sx[500];
-      mutable float                  m_trk_sy[500];
-      mutable float                  m_trk_sz[500];
-      mutable float                  m_trk_sx0[500];
-      mutable float                  m_trk_seloss[500];
-      mutable float                  m_trk_smeanIoni[500];
-      mutable float                  m_trk_ssigIoni[500];
-      mutable float                  m_trk_smeanRad[500];
-      mutable float                  m_trk_ssigRad[500];
-      mutable float                  m_trk_ssigTheta[500];
-      mutable float                  m_trk_ssigPhi[500];
-      mutable int                    m_g4_stepsMS;
-
+      /** Ntuple variables : initial parameters
+          Split this out into a separate, dynamically-allocated block.
+          Otherwise, the CaloCellNoiseAlg is so large that it violates
+          the ubsan sanity checks. **/
+      struct TreeData {
+          mutable float                  m_t_x {0};
+          mutable float                  m_t_y {0};
+          mutable float                  m_t_z {0};
+          mutable float                  m_t_theta {0};
+          mutable float                  m_t_eta {0};
+          mutable float                  m_t_phi {0};
+          mutable float                  m_t_p {0};
+          mutable float                  m_t_charge {0};
+          mutable int                    m_t_pdg {0};
+          mutable float                  m_m_x {0};
+          mutable float                  m_m_y {0};
+          mutable float                  m_m_z {0};
+          mutable float                  m_m_theta {0};
+          mutable float                  m_m_eta {0};
+          mutable float                  m_m_phi {0};
+          mutable float                  m_m_p {0};
+          mutable float                  m_b_x {0};
+          mutable float                  m_b_y {0};
+          mutable float                  m_b_z {0};
+          mutable float                  m_b_theta {0};
+          mutable float                  m_b_eta {0};
+          mutable float                  m_b_phi {0};
+          mutable float                  m_b_p {0};
+          mutable float                  m_b_X0 {0};
+          mutable float                  m_b_Eloss {0};
+          /** Ntuple variables : g4 step parameters */
+          mutable int                    m_g4_steps {0};
+          mutable float                  m_g4_p[MAXPROBES] {0};
+          mutable float                  m_g4_eta[MAXPROBES] {0};
+          mutable float                  m_g4_theta[MAXPROBES] {0};
+          mutable float                  m_g4_phi[MAXPROBES] {0};
+          mutable float                  m_g4_x[MAXPROBES] {0};
+          mutable float                  m_g4_y[MAXPROBES] {0};
+          mutable float                  m_g4_z[MAXPROBES] {0};
+          mutable float                  m_g4_tX0[MAXPROBES] {0};
+          mutable float                  m_g4_t[MAXPROBES] {0};
+          mutable float                  m_g4_X0[MAXPROBES] {0};
+          /** Ntuple variables : trk follow up parameters */
+          mutable int                    m_trk_status[MAXPROBES] {0};
+          mutable float                  m_trk_p[MAXPROBES] {0};
+          mutable float                  m_trk_eta[MAXPROBES] {0};
+          mutable float                  m_trk_theta[MAXPROBES] {0};
+          mutable float                  m_trk_phi[MAXPROBES] {0};
+          mutable float                  m_trk_x[MAXPROBES] {0};
+          mutable float                  m_trk_y[MAXPROBES] {0};
+          mutable float                  m_trk_z[MAXPROBES] {0};
+          mutable float                  m_trk_lx[MAXPROBES] {0};
+          mutable float                  m_trk_ly[MAXPROBES] {0};
+          mutable float                  m_trk_eloss[MAXPROBES] {0};
+          mutable float                  m_trk_eloss1[MAXPROBES] {0};
+          mutable float                  m_trk_eloss0[MAXPROBES] {0};
+          mutable float                  m_trk_eloss5[MAXPROBES] {0};
+          mutable float                  m_trk_eloss10[MAXPROBES] {0};
+          mutable float                  m_trk_scaleeloss[MAXPROBES] {0};
+          mutable float                  m_trk_scalex0[MAXPROBES] {0};
+          mutable float                  m_trk_x0[MAXPROBES] {0};
+          mutable float                  m_trk_erd0[MAXPROBES] {0};
+          mutable float                  m_trk_erz0[MAXPROBES] {0};
+          mutable float                  m_trk_erphi[MAXPROBES] {0};
+          mutable float                  m_trk_ertheta[MAXPROBES] {0};
+          mutable float                  m_trk_erqoverp[MAXPROBES] {0};
+          /** Scattering centra from Trk */
+          mutable int                    m_trk_scats {0};
+          mutable int                    m_trk_sstatus[500] {0};
+          mutable float                  m_trk_sx[500] {0};
+          mutable float                  m_trk_sy[500] {0};
+          mutable float                  m_trk_sz[500] {0};
+          mutable float                  m_trk_sx0[500] {0};
+          mutable float                  m_trk_seloss[500] {0};
+          mutable float                  m_trk_smeanIoni[500] {0};
+          mutable float                  m_trk_ssigIoni[500] {0};
+          mutable float                  m_trk_smeanRad[500] {0};
+          mutable float                  m_trk_ssigRad[500] {0};
+          mutable float                  m_trk_ssigTheta[500] {0};
+          mutable float                  m_trk_ssigPhi[500] {0};
+          mutable int                    m_g4_stepsMS {0};
+      };
+      std::unique_ptr<TreeData> m_treeData;
   };
 
 }
diff --git a/Tracking/TrkG4Components/TrkG4UserActions/src/GeantFollowerHelper.cxx b/Tracking/TrkG4Components/TrkG4UserActions/src/GeantFollowerHelper.cxx
index 811beb16287c..a97d7902d9a3 100644
--- a/Tracking/TrkG4Components/TrkG4UserActions/src/GeantFollowerHelper.cxx
+++ b/Tracking/TrkG4Components/TrkG4UserActions/src/GeantFollowerHelper.cxx
@@ -31,9 +31,7 @@ Trk::GeantFollowerHelper::GeantFollowerHelper(const std::string& t, const std::s
   m_validationTreeName("G4Follower_"+n),
   m_validationTreeDescription("Output of the G4Follower_"),
   m_validationTreeFolder("/val/G4Follower_"+n),
-  m_validationTree(nullptr),
-  m_t_x{}, m_t_y{}, m_t_z{}, m_t_theta{},m_t_eta{},m_t_phi{}, m_t_p{}, m_t_charge{}, m_t_pdg{},
-  m_g4_steps{}
+  m_validationTree(nullptr)
 {
   // properties
   declareProperty("Extrapolator",                   m_extrapolator);
@@ -49,6 +47,8 @@ Trk::GeantFollowerHelper::~GeantFollowerHelper()
 // initialize
 StatusCode Trk::GeantFollowerHelper::initialize()
 {
+  m_treeData = std::make_unique<TreeData>();
+  
   if (m_extrapolator.retrieve().isFailure()){
     ATH_MSG_ERROR("Could not retrieve Extrapolator " << m_extrapolator << " . Abort.");
     return StatusCode::FAILURE;
@@ -57,50 +57,50 @@ StatusCode Trk::GeantFollowerHelper::initialize()
   // create the new Tree
   m_validationTree = new TTree(m_validationTreeName.c_str(), m_validationTreeDescription.c_str());
 
-  m_validationTree->Branch("InitX",        &m_t_x,       "initX/F");
-  m_validationTree->Branch("InitY",        &m_t_y,       "initY/F");
-  m_validationTree->Branch("InitZ",        &m_t_z,       "initZ/F");
-  m_validationTree->Branch("InitTheta",    &m_t_theta,   "initTheta/F");
-  m_validationTree->Branch("InitEta",      &m_t_eta,     "initEta/F");
-  m_validationTree->Branch("InitPhi",      &m_t_phi,     "initPhi/F");
-  m_validationTree->Branch("InitP",        &m_t_p,       "initP/F");
-  m_validationTree->Branch("InitPdg",      &m_t_pdg,     "initPdg/I");
-  m_validationTree->Branch("InitCharge",   &m_t_charge,  "initQ/F");
-
-  m_validationTree->Branch("G4Steps",      &m_g4_steps, "g4steps/I");
-  m_validationTree->Branch("G4StepP",      m_g4_p,      "g4stepP[g4steps]/F");
-  m_validationTree->Branch("G4StepEta",    m_g4_eta,    "g4stepEta[g4steps]/F");
-  m_validationTree->Branch("G4StepTheta",  m_g4_theta,  "g4stepTheta[g4steps]/F");
-  m_validationTree->Branch("G4StepPhi",    m_g4_phi,    "g4stepPhi[g4steps]/F");
-  m_validationTree->Branch("G4StepX",      m_g4_x,      "g4stepX[g4steps]/F");
-  m_validationTree->Branch("G4StepY",      m_g4_y,      "g4stepY[g4steps]/F");
-  m_validationTree->Branch("G4StepZ",      m_g4_z,      "g4stepZ[g4steps]/F");
-  m_validationTree->Branch("G4AccumTX0",   m_g4_tX0,    "g4stepAccTX0[g4steps]/F");
-  m_validationTree->Branch("G4StepT",      m_g4_t,      "g4stepTX[g4steps]/F");
-  m_validationTree->Branch("G4StepX0",     m_g4_X0,     "g4stepX0[g4steps]/F");
-
-  m_validationTree->Branch("TrkStepStatus",m_trk_status, "trkstepStatus[g4steps]/I");
-  m_validationTree->Branch("TrkStepP",     m_trk_p,      "trkstepP[g4steps]/F");
-  m_validationTree->Branch("TrkStepEta",   m_trk_eta,    "trkstepEta[g4steps]/F");
-  m_validationTree->Branch("TrkStepTheta", m_trk_theta,  "trkstepTheta[g4steps]/F");
-  m_validationTree->Branch("TrkStepPhi",   m_trk_phi,    "trkstepPhi[g4steps]/F");
-  m_validationTree->Branch("TrkStepX",     m_trk_x,      "trkstepX[g4steps]/F");
-  m_validationTree->Branch("TrkStepY",     m_trk_y,      "trkstepY[g4steps]/F");
-  m_validationTree->Branch("TrkStepZ",     m_trk_z,      "trkstepZ[g4steps]/F");
-  m_validationTree->Branch("TrkStepLocX",  m_trk_lx,     "trkstepLX[g4steps]/F");
-  m_validationTree->Branch("TrkStepLocY",  m_trk_ly,     "trkstepLY[g4steps]/F");
+  m_validationTree->Branch("InitX",        &m_treeData->m_t_x,       "initX/F");
+  m_validationTree->Branch("InitY",        &m_treeData->m_t_y,       "initY/F");
+  m_validationTree->Branch("InitZ",        &m_treeData->m_t_z,       "initZ/F");
+  m_validationTree->Branch("InitTheta",    &m_treeData->m_t_theta,   "initTheta/F");
+  m_validationTree->Branch("InitEta",      &m_treeData->m_t_eta,     "initEta/F");
+  m_validationTree->Branch("InitPhi",      &m_treeData->m_t_phi,     "initPhi/F");
+  m_validationTree->Branch("InitP",        &m_treeData->m_t_p,       "initP/F");
+  m_validationTree->Branch("InitPdg",      &m_treeData->m_t_pdg,     "initPdg/I");
+  m_validationTree->Branch("InitCharge",   &m_treeData->m_t_charge,  "initQ/F");
+
+  m_validationTree->Branch("G4Steps",      &m_treeData->m_g4_steps, "g4steps/I");
+  m_validationTree->Branch("G4StepP",      m_treeData->m_g4_p,      "g4stepP[g4steps]/F");
+  m_validationTree->Branch("G4StepEta",    m_treeData->m_g4_eta,    "g4stepEta[g4steps]/F");
+  m_validationTree->Branch("G4StepTheta",  m_treeData->m_g4_theta,  "g4stepTheta[g4steps]/F");
+  m_validationTree->Branch("G4StepPhi",    m_treeData->m_g4_phi,    "g4stepPhi[g4steps]/F");
+  m_validationTree->Branch("G4StepX",      m_treeData->m_g4_x,      "g4stepX[g4steps]/F");
+  m_validationTree->Branch("G4StepY",      m_treeData->m_g4_y,      "g4stepY[g4steps]/F");
+  m_validationTree->Branch("G4StepZ",      m_treeData->m_g4_z,      "g4stepZ[g4steps]/F");
+  m_validationTree->Branch("G4AccumTX0",   m_treeData->m_g4_tX0,    "g4stepAccTX0[g4steps]/F");
+  m_validationTree->Branch("G4StepT",      m_treeData->m_g4_t,      "g4stepTX[g4steps]/F");
+  m_validationTree->Branch("G4StepX0",     m_treeData->m_g4_X0,     "g4stepX0[g4steps]/F");
+
+  m_validationTree->Branch("TrkStepStatus",m_treeData->m_trk_status, "trkstepStatus[g4steps]/I");
+  m_validationTree->Branch("TrkStepP",     m_treeData->m_trk_p,      "trkstepP[g4steps]/F");
+  m_validationTree->Branch("TrkStepEta",   m_treeData->m_trk_eta,    "trkstepEta[g4steps]/F");
+  m_validationTree->Branch("TrkStepTheta", m_treeData->m_trk_theta,  "trkstepTheta[g4steps]/F");
+  m_validationTree->Branch("TrkStepPhi",   m_treeData->m_trk_phi,    "trkstepPhi[g4steps]/F");
+  m_validationTree->Branch("TrkStepX",     m_treeData->m_trk_x,      "trkstepX[g4steps]/F");
+  m_validationTree->Branch("TrkStepY",     m_treeData->m_trk_y,      "trkstepY[g4steps]/F");
+  m_validationTree->Branch("TrkStepZ",     m_treeData->m_trk_z,      "trkstepZ[g4steps]/F");
+  m_validationTree->Branch("TrkStepLocX",  m_treeData->m_trk_lx,     "trkstepLX[g4steps]/F");
+  m_validationTree->Branch("TrkStepLocY",  m_treeData->m_trk_ly,     "trkstepLY[g4steps]/F");
 
   // initialize
-  m_t_x        = 0.;
-  m_t_y        = 0.;
-  m_t_z        = 0.;
-  m_t_theta    = 0.;
-  m_t_eta      = 0.;
-  m_t_phi      = 0.;
-  m_t_p        = 0.;
-  m_t_charge   = 0.;
-  m_t_pdg      = 0;
-  m_g4_steps   = 0;
+  m_treeData->m_t_x        = 0.;
+  m_treeData->m_t_y        = 0.;
+  m_treeData->m_t_z        = 0.;
+  m_treeData->m_t_theta    = 0.;
+  m_treeData->m_t_eta      = 0.;
+  m_treeData->m_t_phi      = 0.;
+  m_treeData->m_t_p        = 0.;
+  m_treeData->m_t_charge   = 0.;
+  m_treeData->m_t_pdg      = 0;
+  m_treeData->m_g4_steps   = 0;
 
   // now register the Tree
   ITHistSvc* tHistSvc = 0;
@@ -124,16 +124,16 @@ StatusCode Trk::GeantFollowerHelper::finalize()
 
 void Trk::GeantFollowerHelper::beginEvent() const
 {
-  m_t_x        = 0.;
-  m_t_y        = 0.;
-  m_t_z        = 0.;
-  m_t_theta    = 0.;
-  m_t_eta      = 0.;
-  m_t_phi      = 0.;
-  m_t_p        = 0.;
-  m_t_charge   = 0.;
-  m_t_pdg      = 0;
-  m_g4_steps   = 0;
+  m_treeData->m_t_x        = 0.;
+  m_treeData->m_t_y        = 0.;
+  m_treeData->m_t_z        = 0.;
+  m_treeData->m_t_theta    = 0.;
+  m_treeData->m_t_eta      = 0.;
+  m_treeData->m_t_phi      = 0.;
+  m_treeData->m_t_p        = 0.;
+  m_treeData->m_t_charge   = 0.;
+  m_treeData->m_t_pdg      = 0;
+  m_treeData->m_g4_steps   = 0;
   m_tX0Cache   = 0.;
 }
 
@@ -145,37 +145,37 @@ void Trk::GeantFollowerHelper::trackParticle(const G4ThreeVector& pos,
   // construct the initial parameters
   Amg::Vector3D npos(pos.x(),pos.y(),pos.z());
   Amg::Vector3D nmom(mom.x(),mom.y(),mom.z());
-  if (!m_g4_steps){
+  if (!m_treeData->m_g4_steps){
     ATH_MSG_INFO("Initial step ... preparing event cache.");
-    m_t_x        = pos.x();
-    m_t_y        = pos.y();
-    m_t_z        = pos.z();
-    m_t_theta    = mom.theta();
-    m_t_eta      = mom.eta();
-    m_t_phi      = mom.phi();
-    m_t_p        = mom.mag();
-    m_t_charge   = charge;
-    m_t_pdg      = pdg;
-    m_g4_steps   = -1;
+    m_treeData->m_t_x        = pos.x();
+    m_treeData->m_t_y        = pos.y();
+    m_treeData->m_t_z        = pos.z();
+    m_treeData->m_t_theta    = mom.theta();
+    m_treeData->m_t_eta      = mom.eta();
+    m_treeData->m_t_phi      = mom.phi();
+    m_treeData->m_t_p        = mom.mag();
+    m_treeData->m_t_charge   = charge;
+    m_treeData->m_t_pdg      = pdg;
+    m_treeData->m_g4_steps   = -1;
     m_tX0Cache   = 0.;
     m_parameterCache = new Trk::CurvilinearParameters(npos, nmom, charge);
     return;
   }
 
   // jumping over inital step
-  m_g4_steps = (m_g4_steps == -1) ? 0 : m_g4_steps;
+  m_treeData->m_g4_steps = (m_treeData->m_g4_steps == -1) ? 0 : m_treeData->m_g4_steps;
 
   if (!m_parameterCache){
     ATH_MSG_WARNING("No Parameters available. Bailing out.");
     return;
   }
 
-  if ( m_g4_steps >= MAXPROBES) {
+  if ( m_treeData->m_g4_steps >= MAXPROBES) {
     ATH_MSG_WARNING("Maximum number of " << MAXPROBES << " reached, step is ignored.");
     return;
   }
   // parameters of the G4 step point
-  Trk::CurvilinearParameters* g4Parameters = new Trk::CurvilinearParameters(npos, nmom, m_t_charge);
+  Trk::CurvilinearParameters* g4Parameters = new Trk::CurvilinearParameters(npos, nmom, m_treeData->m_t_charge);
   // destination surface
   const Trk::PlaneSurface& destinationSurface = g4Parameters->associatedSurface();
   // extrapolate to the destination surface
@@ -183,29 +183,29 @@ void Trk::GeantFollowerHelper::trackParticle(const G4ThreeVector& pos,
     m_extrapolator->extrapolateDirectly(*m_parameterCache,destinationSurface,Trk::alongMomentum,false) :
     m_extrapolator->extrapolate(*m_parameterCache,destinationSurface,Trk::alongMomentum,false);
   // fill the geant information and the trk information
-  m_g4_p[m_g4_steps]       =  mom.mag();
-  m_g4_eta[m_g4_steps]     =  mom.eta();
-  m_g4_theta[m_g4_steps]   =  mom.theta();
-  m_g4_phi[m_g4_steps]     =  mom.phi();
-  m_g4_x[m_g4_steps]       =  pos.x();
-  m_g4_y[m_g4_steps]       =  pos.y();
-  m_g4_z[m_g4_steps]       =  pos.z();
+  m_treeData->m_g4_p[m_treeData->m_g4_steps]       =  mom.mag();
+  m_treeData->m_g4_eta[m_treeData->m_g4_steps]     =  mom.eta();
+  m_treeData->m_g4_theta[m_treeData->m_g4_steps]   =  mom.theta();
+  m_treeData->m_g4_phi[m_treeData->m_g4_steps]     =  mom.phi();
+  m_treeData->m_g4_x[m_treeData->m_g4_steps]       =  pos.x();
+  m_treeData->m_g4_y[m_treeData->m_g4_steps]       =  pos.y();
+  m_treeData->m_g4_z[m_treeData->m_g4_steps]       =  pos.z();
   float tX0 = X0 > 10e-5 ? t/X0 : 0.;
   m_tX0Cache              += tX0;
-  m_g4_tX0[m_g4_steps]     = m_tX0Cache;
-  m_g4_t[m_g4_steps]       = t;
-  m_g4_X0[m_g4_steps]      = X0;
-
-  m_trk_status[m_g4_steps] = trkParameters ? 1 : 0;
-  m_trk_p[m_g4_steps]      = trkParameters ? trkParameters->momentum().mag()      : 0.;
-  m_trk_eta[m_g4_steps]    = trkParameters ? trkParameters->momentum().eta()      : 0.;
-  m_trk_theta[m_g4_steps]  = trkParameters ? trkParameters->momentum().theta()    : 0.;
-  m_trk_phi[m_g4_steps]    = trkParameters ? trkParameters->momentum().phi()      : 0.;
-  m_trk_x[m_g4_steps]      = trkParameters ? trkParameters->position().x()        : 0.;
-  m_trk_y[m_g4_steps]      = trkParameters ? trkParameters->position().y()        : 0.;
-  m_trk_z[m_g4_steps]      = trkParameters ? trkParameters->position().z()        : 0.;
-  m_trk_lx[m_g4_steps]     = trkParameters ? trkParameters->parameters()[Trk::locX] : 0.;
-  m_trk_ly[m_g4_steps]     = trkParameters ? trkParameters->parameters()[Trk::locY] : 0.;
+  m_treeData->m_g4_tX0[m_treeData->m_g4_steps]     = m_tX0Cache;
+  m_treeData->m_g4_t[m_treeData->m_g4_steps]       = t;
+  m_treeData->m_g4_X0[m_treeData->m_g4_steps]      = X0;
+
+  m_treeData->m_trk_status[m_treeData->m_g4_steps] = trkParameters ? 1 : 0;
+  m_treeData->m_trk_p[m_treeData->m_g4_steps]      = trkParameters ? trkParameters->momentum().mag()      : 0.;
+  m_treeData->m_trk_eta[m_treeData->m_g4_steps]    = trkParameters ? trkParameters->momentum().eta()      : 0.;
+  m_treeData->m_trk_theta[m_treeData->m_g4_steps]  = trkParameters ? trkParameters->momentum().theta()    : 0.;
+  m_treeData->m_trk_phi[m_treeData->m_g4_steps]    = trkParameters ? trkParameters->momentum().phi()      : 0.;
+  m_treeData->m_trk_x[m_treeData->m_g4_steps]      = trkParameters ? trkParameters->position().x()        : 0.;
+  m_treeData->m_trk_y[m_treeData->m_g4_steps]      = trkParameters ? trkParameters->position().y()        : 0.;
+  m_treeData->m_trk_z[m_treeData->m_g4_steps]      = trkParameters ? trkParameters->position().z()        : 0.;
+  m_treeData->m_trk_lx[m_treeData->m_g4_steps]     = trkParameters ? trkParameters->parameters()[Trk::locX] : 0.;
+  m_treeData->m_trk_ly[m_treeData->m_g4_steps]     = trkParameters ? trkParameters->parameters()[Trk::locY] : 0.;
 
   // update the parameters if needed/configured
   if (m_extrapolateIncrementally && trkParameters) {
@@ -214,7 +214,7 @@ void Trk::GeantFollowerHelper::trackParticle(const G4ThreeVector& pos,
   }
   // delete cache and increment
   delete g4Parameters;
-  ++m_g4_steps;
+  ++m_treeData->m_g4_steps;
 }
 
 void Trk::GeantFollowerHelper::endEvent() const
diff --git a/Tracking/TrkG4Components/TrkG4UserActions/src/GeantFollowerMSHelper.cxx b/Tracking/TrkG4Components/TrkG4UserActions/src/GeantFollowerMSHelper.cxx
index 03beb28cebc3..b40b928634e7 100644
--- a/Tracking/TrkG4Components/TrkG4UserActions/src/GeantFollowerMSHelper.cxx
+++ b/Tracking/TrkG4Components/TrkG4UserActions/src/GeantFollowerMSHelper.cxx
@@ -41,80 +41,6 @@ Trk::GeantFollowerMSHelper::GeantFollowerMSHelper(const std::string& t, const st
  , m_validationTreeDescription("Output of the G4Follower_")
  , m_validationTreeFolder("/val/G4Follower")
  , m_validationTree(nullptr)
- , m_t_x(0.)
- , m_t_y(0.)
- , m_t_z(0.)
- , m_t_theta(0.)
- , m_t_eta(0.)
- , m_t_phi(0.)
- , m_t_p(0.)
- , m_t_charge(0.)
- , m_t_pdg(0)
- , m_m_x(0.)
- , m_m_y(0.)
- , m_m_z(0.)
- , m_m_theta(0.)
- , m_m_eta(0.)
- , m_m_phi(0.)
- , m_m_p(0.)
- , m_b_x(0.)
- , m_b_y(0.)
- , m_b_z(0.)
- , m_b_theta(0.)
- , m_b_eta(0.)
- , m_b_phi(0.)
- , m_b_p(0.)
- , m_b_X0(0.)
- , m_b_Eloss(0.)
- , m_g4_steps(-1)
- , m_g4_p{0}
- , m_g4_eta{0}
- , m_g4_theta{0}
- , m_g4_phi{0}
- , m_g4_x{0}
- , m_g4_y{0}
- , m_g4_z{0}
- , m_g4_tX0{0}
- , m_g4_t{0}
- , m_g4_X0{0}
- , m_trk_status{0}
- , m_trk_p{0}
- , m_trk_eta{0}
- , m_trk_theta{0}
- , m_trk_phi{0}
- , m_trk_x{0}
- , m_trk_y{0}
- , m_trk_z{0}
- , m_trk_lx{0}
- , m_trk_ly{0}
- , m_trk_eloss{0}
- , m_trk_eloss1{0}
- , m_trk_eloss0{0}
- , m_trk_eloss5{0}
- , m_trk_eloss10{0}
- , m_trk_scaleeloss{0}
- , m_trk_scalex0{0}
- , m_trk_x0{0}
- , m_trk_erd0{0}
- , m_trk_erz0{0}
- , m_trk_erphi{0}
- , m_trk_ertheta{0}
- , m_trk_erqoverp{0}
- , m_trk_scats(0)
- , m_trk_sstatus{0}
- , m_trk_sx{0}
- , m_trk_sy{0}
- , m_trk_sz{0}
- , m_trk_sx0{0}
- , m_trk_seloss{0}
- , m_trk_smeanIoni{0}
- , m_trk_ssigIoni{0}
- , m_trk_smeanRad{0}
- , m_trk_ssigRad{0}
- , m_trk_ssigTheta{0}
- , m_trk_ssigPhi{0}
- , m_g4_stepsMS(-1)
-
 {
    // properties
    declareProperty("Extrapolator",                   m_extrapolator);
@@ -134,7 +60,8 @@ Trk::GeantFollowerMSHelper::~GeantFollowerMSHelper()
 // initialize
 StatusCode Trk::GeantFollowerMSHelper::initialize()
 {
-    
+   m_treeData = std::make_unique<TreeData>();
+
    if (m_extrapolator.retrieve().isFailure()){
        ATH_MSG_ERROR("Could not retrieve Extrapolator " << m_extrapolator << " . Abort.");
        return StatusCode::FAILURE;
@@ -155,117 +82,117 @@ StatusCode Trk::GeantFollowerMSHelper::initialize()
    // create the new Tree
    m_validationTree = new TTree(m_validationTreeName.c_str(), m_validationTreeDescription.c_str());
    
-   m_validationTree->Branch("InitX",        &m_t_x,       "initX/F");
-   m_validationTree->Branch("InitY",        &m_t_y,       "initY/F");
-   m_validationTree->Branch("InitZ",        &m_t_z,       "initZ/F");
-   m_validationTree->Branch("InitTheta",    &m_t_theta,   "initTheta/F");
-   m_validationTree->Branch("InitEta",      &m_t_eta,     "initEta/F");
-   m_validationTree->Branch("InitPhi",      &m_t_phi,     "initPhi/F");
-   m_validationTree->Branch("InitP",        &m_t_p,       "initP/F");
-   m_validationTree->Branch("InitPdg",      &m_t_pdg,     "initPdg/I");
-   m_validationTree->Branch("InitCharge",   &m_t_charge,  "initQ/F");
-
-   m_validationTree->Branch("MEntryX",        &m_m_x,       "mentryX/F");
-   m_validationTree->Branch("MEntryY",        &m_m_y,       "mentryY/F");
-   m_validationTree->Branch("MEntryZ",        &m_m_z,       "mentryZ/F");
-   m_validationTree->Branch("MEntryTheta",    &m_m_theta,   "mentryTheta/F");
-   m_validationTree->Branch("MEntryEta",      &m_m_eta,     "mentryEta/F");
-   m_validationTree->Branch("MEntryPhi",      &m_m_phi,     "mentryPhi/F");
-   m_validationTree->Branch("MEntryP",        &m_m_p,       "mentryP/F");
-
-   m_validationTree->Branch("BackX",        &m_b_x,       "backX/F");
-   m_validationTree->Branch("BackY",        &m_b_y,       "backY/F");
-   m_validationTree->Branch("BackZ",        &m_b_z,       "backZ/F");
-   m_validationTree->Branch("BackTheta",    &m_b_theta,   "backTheta/F");
-   m_validationTree->Branch("BackEta",      &m_b_eta,     "backEta/F");
-   m_validationTree->Branch("BackPhi",      &m_b_phi,     "backPhi/F");
-   m_validationTree->Branch("BackP",        &m_b_p,       "backP/F");
-   m_validationTree->Branch("BackX0",       &m_b_X0,      "backX0/F");
-   m_validationTree->Branch("BackEloss",    &m_b_Eloss,   "backEloss/F");
+   m_validationTree->Branch("InitX",        &m_treeData->m_t_x,       "initX/F");
+   m_validationTree->Branch("InitY",        &m_treeData->m_t_y,       "initY/F");
+   m_validationTree->Branch("InitZ",        &m_treeData->m_t_z,       "initZ/F");
+   m_validationTree->Branch("InitTheta",    &m_treeData->m_t_theta,   "initTheta/F");
+   m_validationTree->Branch("InitEta",      &m_treeData->m_t_eta,     "initEta/F");
+   m_validationTree->Branch("InitPhi",      &m_treeData->m_t_phi,     "initPhi/F");
+   m_validationTree->Branch("InitP",        &m_treeData->m_t_p,       "initP/F");
+   m_validationTree->Branch("InitPdg",      &m_treeData->m_t_pdg,     "initPdg/I");
+   m_validationTree->Branch("InitCharge",   &m_treeData->m_t_charge,  "initQ/F");
+
+   m_validationTree->Branch("MEntryX",        &m_treeData->m_m_x,       "mentryX/F");
+   m_validationTree->Branch("MEntryY",        &m_treeData->m_m_y,       "mentryY/F");
+   m_validationTree->Branch("MEntryZ",        &m_treeData->m_m_z,       "mentryZ/F");
+   m_validationTree->Branch("MEntryTheta",    &m_treeData->m_m_theta,   "mentryTheta/F");
+   m_validationTree->Branch("MEntryEta",      &m_treeData->m_m_eta,     "mentryEta/F");
+   m_validationTree->Branch("MEntryPhi",      &m_treeData->m_m_phi,     "mentryPhi/F");
+   m_validationTree->Branch("MEntryP",        &m_treeData->m_m_p,       "mentryP/F");
+
+   m_validationTree->Branch("BackX",        &m_treeData->m_b_x,       "backX/F");
+   m_validationTree->Branch("BackY",        &m_treeData->m_b_y,       "backY/F");
+   m_validationTree->Branch("BackZ",        &m_treeData->m_b_z,       "backZ/F");
+   m_validationTree->Branch("BackTheta",    &m_treeData->m_b_theta,   "backTheta/F");
+   m_validationTree->Branch("BackEta",      &m_treeData->m_b_eta,     "backEta/F");
+   m_validationTree->Branch("BackPhi",      &m_treeData->m_b_phi,     "backPhi/F");
+   m_validationTree->Branch("BackP",        &m_treeData->m_b_p,       "backP/F");
+   m_validationTree->Branch("BackX0",       &m_treeData->m_b_X0,      "backX0/F");
+   m_validationTree->Branch("BackEloss",    &m_treeData->m_b_Eloss,   "backEloss/F");
  
-   m_validationTree->Branch("G4Steps",      &m_g4_steps, "g4steps/I");
-   m_validationTree->Branch("TrkStepScats", &m_trk_scats, "trkscats/I");
-
-   m_validationTree->Branch("G4StepP",      m_g4_p,      "g4stepP[g4steps]/F");
-   m_validationTree->Branch("G4StepEta",    m_g4_eta,    "g4stepEta[g4steps]/F");
-   m_validationTree->Branch("G4StepTheta",  m_g4_theta,  "g4stepTheta[g4steps]/F");
-   m_validationTree->Branch("G4StepPhi",    m_g4_phi,    "g4stepPhi[g4steps]/F");
-   m_validationTree->Branch("G4StepX",      m_g4_x,      "g4stepX[g4steps]/F");
-   m_validationTree->Branch("G4StepY",      m_g4_y,      "g4stepY[g4steps]/F");
-   m_validationTree->Branch("G4StepZ",      m_g4_z,      "g4stepZ[g4steps]/F");
-   m_validationTree->Branch("G4AccumTX0",   m_g4_tX0,    "g4stepAccTX0[g4steps]/F");
-   m_validationTree->Branch("G4StepT",      m_g4_t,      "g4stepTX[g4steps]/F");
-   m_validationTree->Branch("G4StepX0",     m_g4_X0,     "g4stepX0[g4steps]/F");
+   m_validationTree->Branch("G4Steps",      &m_treeData->m_g4_steps, "g4steps/I");
+   m_validationTree->Branch("TrkStepScats", &m_treeData->m_trk_scats, "trkscats/I");
+
+   m_validationTree->Branch("G4StepP",      m_treeData->m_g4_p,      "g4stepP[g4steps]/F");
+   m_validationTree->Branch("G4StepEta",    m_treeData->m_g4_eta,    "g4stepEta[g4steps]/F");
+   m_validationTree->Branch("G4StepTheta",  m_treeData->m_g4_theta,  "g4stepTheta[g4steps]/F");
+   m_validationTree->Branch("G4StepPhi",    m_treeData->m_g4_phi,    "g4stepPhi[g4steps]/F");
+   m_validationTree->Branch("G4StepX",      m_treeData->m_g4_x,      "g4stepX[g4steps]/F");
+   m_validationTree->Branch("G4StepY",      m_treeData->m_g4_y,      "g4stepY[g4steps]/F");
+   m_validationTree->Branch("G4StepZ",      m_treeData->m_g4_z,      "g4stepZ[g4steps]/F");
+   m_validationTree->Branch("G4AccumTX0",   m_treeData->m_g4_tX0,    "g4stepAccTX0[g4steps]/F");
+   m_validationTree->Branch("G4StepT",      m_treeData->m_g4_t,      "g4stepTX[g4steps]/F");
+   m_validationTree->Branch("G4StepX0",     m_treeData->m_g4_X0,     "g4stepX0[g4steps]/F");
    
-   m_validationTree->Branch("TrkStepStatus",m_trk_status, "trkstepStatus[g4steps]/I");
-   m_validationTree->Branch("TrkStepP",     m_trk_p,      "trkstepP[g4steps]/F");
-   m_validationTree->Branch("TrkStepEta",   m_trk_eta,    "trkstepEta[g4steps]/F");
-   m_validationTree->Branch("TrkStepTheta", m_trk_theta,  "trkstepTheta[g4steps]/F");
-   m_validationTree->Branch("TrkStepPhi",   m_trk_phi,    "trkstepPhi[g4steps]/F");
-   m_validationTree->Branch("TrkStepX",     m_trk_x,      "trkstepX[g4steps]/F");
-   m_validationTree->Branch("TrkStepY",     m_trk_y,      "trkstepY[g4steps]/F");
-   m_validationTree->Branch("TrkStepZ",     m_trk_z,      "trkstepZ[g4steps]/F");
-   m_validationTree->Branch("TrkStepLocX",  m_trk_lx,     "trkstepLX[g4steps]/F");
-   m_validationTree->Branch("TrkStepLocY",  m_trk_ly,     "trkstepLY[g4steps]/F");
-   m_validationTree->Branch("TrkStepEloss", m_trk_eloss,  "trkstepEloss[g4steps]/F");
-   m_validationTree->Branch("TrkStepEloss1", m_trk_eloss1, "trkstepEloss1[g4steps]/F");
-   m_validationTree->Branch("TrkStepEloss0", m_trk_eloss0, "trkstepEloss0[g4steps]/F");
-   m_validationTree->Branch("TrkStepEloss5", m_trk_eloss5, "trkstepEloss5[g4steps]/F");
-   m_validationTree->Branch("TrkStepEloss10", m_trk_eloss10,"trkstepEloss10[g4steps]/F");
-   m_validationTree->Branch("TrkStepScaleEloss",m_trk_scaleeloss, "trkstepScaleEloss[g4steps]/F");
-   m_validationTree->Branch("TrkStepScaleX0",m_trk_scalex0,"trkstepScaleX0[g4steps]/F");
-   m_validationTree->Branch("TrkStepX0",    m_trk_x0,     "trkstepX0[g4steps]/F");
-   m_validationTree->Branch("TrkStepErd0",  m_trk_erd0,   "trkstepErd0[g4steps]/F");
-   m_validationTree->Branch("TrkStepErz0",  m_trk_erz0,   "trkstepErz0[g4steps]/F");
-   m_validationTree->Branch("TrkStepErphi", m_trk_erphi,   "trkstepErphi[g4steps]/F");
-   m_validationTree->Branch("TrkStepErtheta",m_trk_ertheta,"trkstepErtheta[g4steps]/F");
-   m_validationTree->Branch("TrkStepErqoverp",m_trk_erqoverp,"trkstepErqoverp[g4steps]/F");
+   m_validationTree->Branch("TrkStepStatus",m_treeData->m_trk_status, "trkstepStatus[g4steps]/I");
+   m_validationTree->Branch("TrkStepP",     m_treeData->m_trk_p,      "trkstepP[g4steps]/F");
+   m_validationTree->Branch("TrkStepEta",   m_treeData->m_trk_eta,    "trkstepEta[g4steps]/F");
+   m_validationTree->Branch("TrkStepTheta", m_treeData->m_trk_theta,  "trkstepTheta[g4steps]/F");
+   m_validationTree->Branch("TrkStepPhi",   m_treeData->m_trk_phi,    "trkstepPhi[g4steps]/F");
+   m_validationTree->Branch("TrkStepX",     m_treeData->m_trk_x,      "trkstepX[g4steps]/F");
+   m_validationTree->Branch("TrkStepY",     m_treeData->m_trk_y,      "trkstepY[g4steps]/F");
+   m_validationTree->Branch("TrkStepZ",     m_treeData->m_trk_z,      "trkstepZ[g4steps]/F");
+   m_validationTree->Branch("TrkStepLocX",  m_treeData->m_trk_lx,     "trkstepLX[g4steps]/F");
+   m_validationTree->Branch("TrkStepLocY",  m_treeData->m_trk_ly,     "trkstepLY[g4steps]/F");
+   m_validationTree->Branch("TrkStepEloss", m_treeData->m_trk_eloss,  "trkstepEloss[g4steps]/F");
+   m_validationTree->Branch("TrkStepEloss1", m_treeData->m_trk_eloss1, "trkstepEloss1[g4steps]/F");
+   m_validationTree->Branch("TrkStepEloss0", m_treeData->m_trk_eloss0, "trkstepEloss0[g4steps]/F");
+   m_validationTree->Branch("TrkStepEloss5", m_treeData->m_trk_eloss5, "trkstepEloss5[g4steps]/F");
+   m_validationTree->Branch("TrkStepEloss10", m_treeData->m_trk_eloss10,"trkstepEloss10[g4steps]/F");
+   m_validationTree->Branch("TrkStepScaleEloss",m_treeData->m_trk_scaleeloss, "trkstepScaleEloss[g4steps]/F");
+   m_validationTree->Branch("TrkStepScaleX0",m_treeData->m_trk_scalex0,"trkstepScaleX0[g4steps]/F");
+   m_validationTree->Branch("TrkStepX0",    m_treeData->m_trk_x0,     "trkstepX0[g4steps]/F");
+   m_validationTree->Branch("TrkStepErd0",  m_treeData->m_trk_erd0,   "trkstepErd0[g4steps]/F");
+   m_validationTree->Branch("TrkStepErz0",  m_treeData->m_trk_erz0,   "trkstepErz0[g4steps]/F");
+   m_validationTree->Branch("TrkStepErphi", m_treeData->m_trk_erphi,   "trkstepErphi[g4steps]/F");
+   m_validationTree->Branch("TrkStepErtheta",m_treeData->m_trk_ertheta,"trkstepErtheta[g4steps]/F");
+   m_validationTree->Branch("TrkStepErqoverp",m_treeData->m_trk_erqoverp,"trkstepErqoverp[g4steps]/F");
    
-   m_validationTree->Branch("TrkStepScatStatus", m_trk_sstatus,"trkscatStatus[trkscats]/I");
-   m_validationTree->Branch("TrkStepScatX",      m_trk_sx,     "trkscatX[trkscats]/F");
-   m_validationTree->Branch("TrkStepScatY",      m_trk_sy,     "trkscatY[trkscats]/F");
-   m_validationTree->Branch("TrkStepScatZ",      m_trk_sz,     "trkscatZ[trkscats]/F");
-   m_validationTree->Branch("TrkStepScatX0",     m_trk_sx0,    "trkscatX0[trkscats]/F");
-   m_validationTree->Branch("TrkStepScatEloss",  m_trk_seloss, "trkscatEloss[trkscats]/F");
-   m_validationTree->Branch("TrkStepScatMeanIoni",m_trk_smeanIoni, "trkscatMeanIoni[trkscats]/F");
-   m_validationTree->Branch("TrkStepScatSigIoni",m_trk_ssigIoni, "trkscatSigIoni[trkscats]/F");
-   m_validationTree->Branch("TrkStepScatMeanRad",m_trk_smeanRad, "trkscatMeanRad[trkscats]/F");
-   m_validationTree->Branch("TrkStepScatSigRad", m_trk_ssigRad, "trkscatSigRad[trkscats]/F");
-   m_validationTree->Branch("TrkStepScatSigTheta", m_trk_ssigTheta, "trkscatSigTheta[trkscats]/F");
-   m_validationTree->Branch("TrkStepScatSigPhi", m_trk_ssigPhi, "trkscatSigPhi[trkscats]/F");
+   m_validationTree->Branch("TrkStepScatStatus", m_treeData->m_trk_sstatus,"trkscatStatus[trkscats]/I");
+   m_validationTree->Branch("TrkStepScatX",      m_treeData->m_trk_sx,     "trkscatX[trkscats]/F");
+   m_validationTree->Branch("TrkStepScatY",      m_treeData->m_trk_sy,     "trkscatY[trkscats]/F");
+   m_validationTree->Branch("TrkStepScatZ",      m_treeData->m_trk_sz,     "trkscatZ[trkscats]/F");
+   m_validationTree->Branch("TrkStepScatX0",     m_treeData->m_trk_sx0,    "trkscatX0[trkscats]/F");
+   m_validationTree->Branch("TrkStepScatEloss",  m_treeData->m_trk_seloss, "trkscatEloss[trkscats]/F");
+   m_validationTree->Branch("TrkStepScatMeanIoni",m_treeData->m_trk_smeanIoni, "trkscatMeanIoni[trkscats]/F");
+   m_validationTree->Branch("TrkStepScatSigIoni",m_treeData->m_trk_ssigIoni, "trkscatSigIoni[trkscats]/F");
+   m_validationTree->Branch("TrkStepScatMeanRad",m_treeData->m_trk_smeanRad, "trkscatMeanRad[trkscats]/F");
+   m_validationTree->Branch("TrkStepScatSigRad", m_treeData->m_trk_ssigRad, "trkscatSigRad[trkscats]/F");
+   m_validationTree->Branch("TrkStepScatSigTheta", m_treeData->m_trk_ssigTheta, "trkscatSigTheta[trkscats]/F");
+   m_validationTree->Branch("TrkStepScatSigPhi", m_treeData->m_trk_ssigPhi, "trkscatSigPhi[trkscats]/F");
 
    // initialize
    //
-   m_t_x        = 0.;    
-   m_t_y        = 0.; 
-   m_t_z        = 0.; 
-   m_t_theta    = 0.; 
-   m_t_eta      = 0.; 
-   m_t_phi      = 0.; 
-   m_t_p        = 0.; 
-   m_t_charge   = 0.; 
-   m_t_pdg      = 0;         
-   m_g4_steps   = -1;
-
-   m_m_x        = 0.;
-   m_m_y        = 0.;
-   m_m_z        = 0.;
-   m_m_theta    = 0.;
-   m_m_eta      = 0.;
-   m_m_phi      = 0.;
-   m_m_p        = 0.;
-
-   m_b_x        = 0.;
-   m_b_y        = 0.;
-   m_b_z        = 0.;
-   m_b_theta    = 0.;
-   m_b_eta      = 0.;
-   m_b_phi      = 0.;
-   m_b_p        = 0.;
-   m_b_X0       = 0.;
-   m_b_Eloss    = 0.;
-
-   m_trk_scats  = 0;
+   m_treeData->m_t_x        = 0.;    
+   m_treeData->m_t_y        = 0.; 
+   m_treeData->m_t_z        = 0.; 
+   m_treeData->m_t_theta    = 0.; 
+   m_treeData->m_t_eta      = 0.; 
+   m_treeData->m_t_phi      = 0.; 
+   m_treeData->m_t_p        = 0.; 
+   m_treeData->m_t_charge   = 0.; 
+   m_treeData->m_t_pdg      = 0;         
+   m_treeData->m_g4_steps   = -1;
+
+   m_treeData->m_m_x        = 0.;
+   m_treeData->m_m_y        = 0.;
+   m_treeData->m_m_z        = 0.;
+   m_treeData->m_m_theta    = 0.;
+   m_treeData->m_m_eta      = 0.;
+   m_treeData->m_m_phi      = 0.;
+   m_treeData->m_m_p        = 0.;
+
+   m_treeData->m_b_x        = 0.;
+   m_treeData->m_b_y        = 0.;
+   m_treeData->m_b_z        = 0.;
+   m_treeData->m_b_theta    = 0.;
+   m_treeData->m_b_eta      = 0.;
+   m_treeData->m_b_phi      = 0.;
+   m_treeData->m_b_p        = 0.;
+   m_treeData->m_b_X0       = 0.;
+   m_treeData->m_b_Eloss    = 0.;
+
+   m_treeData->m_trk_scats  = 0;
    
    m_crossedMuonEntry = false;
    m_exitLayer = false;   
@@ -294,37 +221,37 @@ StatusCode Trk::GeantFollowerMSHelper::finalize()
 
 void Trk::GeantFollowerMSHelper::beginEvent() const
 {
-    m_t_x        = 0.;    
-    m_t_y        = 0.;
-    m_t_z        = 0.;
-    m_t_theta    = 0.; 
-    m_t_eta      = 0.;
-    m_t_phi      = 0.;
-    m_t_p        = 0.;
-    m_t_charge   = 0.;
-    m_t_pdg      = 0; 
-
-    m_m_x        = 0.;
-    m_m_y        = 0.;
-    m_m_z        = 0.;
-    m_m_theta    = 0.;
-    m_m_eta      = 0.;
-    m_m_phi      = 0.;
-    m_m_p        = 0.;
-
-    m_b_x        = 0.;
-    m_b_y        = 0.;
-    m_b_z        = 0.;
-    m_b_theta    = 0.;
-    m_b_eta      = 0.;
-    m_b_phi      = 0.;
-    m_b_p        = 0.;
-    m_b_X0       = 0.;
-    m_b_Eloss    = 0.;
-
-    m_g4_steps   = -1;
-    m_g4_stepsMS = -1;
-    m_trk_scats  = 0;
+    m_treeData->m_t_x        = 0.;    
+    m_treeData->m_t_y        = 0.;
+    m_treeData->m_t_z        = 0.;
+    m_treeData->m_t_theta    = 0.; 
+    m_treeData->m_t_eta      = 0.;
+    m_treeData->m_t_phi      = 0.;
+    m_treeData->m_t_p        = 0.;
+    m_treeData->m_t_charge   = 0.;
+    m_treeData->m_t_pdg      = 0; 
+
+    m_treeData->m_m_x        = 0.;
+    m_treeData->m_m_y        = 0.;
+    m_treeData->m_m_z        = 0.;
+    m_treeData->m_m_theta    = 0.;
+    m_treeData->m_m_eta      = 0.;
+    m_treeData->m_m_phi      = 0.;
+    m_treeData->m_m_p        = 0.;
+
+    m_treeData->m_b_x        = 0.;
+    m_treeData->m_b_y        = 0.;
+    m_treeData->m_b_z        = 0.;
+    m_treeData->m_b_theta    = 0.;
+    m_treeData->m_b_eta      = 0.;
+    m_treeData->m_b_phi      = 0.;
+    m_treeData->m_b_p        = 0.;
+    m_treeData->m_b_X0       = 0.;
+    m_treeData->m_b_Eloss    = 0.;
+
+    m_treeData->m_g4_steps   = -1;
+    m_treeData->m_g4_stepsMS = -1;
+    m_treeData->m_trk_scats  = 0;
     m_tX0Cache   = 0.;
 
     m_crossedMuonEntry = false;
@@ -351,18 +278,18 @@ void Trk::GeantFollowerMSHelper::trackParticle(const G4ThreeVector& pos, const G
 //    if(m_crossedMuonEntry)  std::cout << " crossed Muon Entry " << std::endl;
 //    if(m_exitLayer)  std::cout << " crossed Exit Layer " << std::endl;
 
-    if (m_g4_steps==-1){
+    if (m_treeData->m_g4_steps==-1){
         ATH_MSG_INFO("Initial step ... preparing event cache.");
-        m_t_x        = npos.x();        
-        m_t_y        = npos.y(); 
-        m_t_z        = npos.z(); 
-        m_t_theta    = nmom.theta(); 
-        m_t_eta      = nmom.eta(); 
-        m_t_phi      = nmom.phi(); 
-        m_t_p        = nmom.mag(); 
-        m_t_charge   = charge; 
-        m_t_pdg      = pdg;         
-        m_g4_steps   = 0;
+        m_treeData->m_t_x        = npos.x();        
+        m_treeData->m_t_y        = npos.y(); 
+        m_treeData->m_t_z        = npos.z(); 
+        m_treeData->m_t_theta    = nmom.theta(); 
+        m_treeData->m_t_eta      = nmom.eta(); 
+        m_treeData->m_t_phi      = nmom.phi(); 
+        m_treeData->m_t_p        = nmom.mag(); 
+        m_treeData->m_t_charge   = charge; 
+        m_treeData->m_t_pdg      = pdg;         
+        m_treeData->m_g4_steps   = 0;
         m_tX0Cache   = 0.;
         // construct the intial parameters
         
@@ -384,15 +311,15 @@ void Trk::GeantFollowerMSHelper::trackParticle(const G4ThreeVector& pos, const G
 //    if(useMuonEntry&&!m_crossedMuonEntry&&(fabs(npos.z())>2744||npos.perp()>1106)) {
 // Muon Entry 
     if(useMuonEntry&&!m_crossedMuonEntry&&(fabs(npos.z())>zMuonEntry||npos.perp()>4254)) {
-        m_m_x        = npos.x();
-        m_m_y        = npos.y();
-        m_m_z        = npos.z();
-        m_m_theta    = nmom.theta();
-        m_m_eta      = nmom.eta();
-        m_m_phi      = nmom.phi();
-        m_m_p        = nmom.mag();
+        m_treeData->m_m_x        = npos.x();
+        m_treeData->m_m_y        = npos.y();
+        m_treeData->m_m_z        = npos.z();
+        m_treeData->m_m_theta    = nmom.theta();
+        m_treeData->m_m_eta      = nmom.eta();
+        m_treeData->m_m_phi      = nmom.phi();
+        m_treeData->m_m_p        = nmom.mag();
 // overwrite everything before ME layer
-        m_g4_stepsMS   = 0;
+        m_treeData->m_g4_stepsMS   = 0;
         // construct the intial parameters
         m_parameterCacheMS = new Trk::CurvilinearParameters(npos, nmom, charge);
         m_parameterCache = new Trk::CurvilinearParameters(npos, nmom, charge);
@@ -401,7 +328,7 @@ void Trk::GeantFollowerMSHelper::trackParticle(const G4ThreeVector& pos, const G
         m_parameterCacheMSCov = new Trk::CurvilinearParameters(npos, nmom, charge, covMatrix);
         ATH_MSG_DEBUG( "m_crossedMuonEntry x " << m_parameterCacheMS->position().x() << " y " << m_parameterCacheMS->position().y() << " z " << m_parameterCacheMS->position().z() );
         m_crossedMuonEntry = true;
-        Trk::CurvilinearParameters* g4Parameters = new Trk::CurvilinearParameters(npos, nmom, m_t_charge);
+        Trk::CurvilinearParameters* g4Parameters = new Trk::CurvilinearParameters(npos, nmom, m_treeData->m_t_charge);
 // Muon Entry
         m_destinationSurface = &(g4Parameters->associatedSurface());
         delete g4Parameters;
@@ -409,14 +336,14 @@ void Trk::GeantFollowerMSHelper::trackParticle(const G4ThreeVector& pos, const G
 
     
     // jumping over inital step
-    m_g4_steps = (m_g4_steps == -1) ? 0 : m_g4_steps;
+    m_treeData->m_g4_steps = (m_treeData->m_g4_steps == -1) ? 0 : m_treeData->m_g4_steps;
     
     if (!m_parameterCache){
         ATH_MSG_WARNING("No Parameters available. Bailing out.");
         return;
     }
     
-    if ( m_g4_steps >= MAXPROBES) {
+    if ( m_treeData->m_g4_steps >= MAXPROBES) {
         ATH_MSG_WARNING("Maximum number of " << MAXPROBES << " reached, step is ignored.");
         return;
     }
@@ -433,9 +360,9 @@ void Trk::GeantFollowerMSHelper::trackParticle(const G4ThreeVector& pos, const G
 // ID envelop
 //      if(fabs(npos.z())>zMuonEntry||npos.perp()>4255) crossedExitLayer = true;
       if(fabs(npos.z())>21800||npos.perp()>12500) crossedExitLayer = true;
-      if(m_crossedMuonEntry&&m_g4_steps>=2&&!crossedExitLayer) return;
-      if(m_g4_steps>2) return;
-      if(m_g4_steps>4) return;
+      if(m_crossedMuonEntry&&m_treeData->m_g4_steps>=2&&!crossedExitLayer) return;
+      if(m_treeData->m_g4_steps>2) return;
+      if(m_treeData->m_g4_steps>4) return;
     }
 
     Trk::EnergyLoss* eloss = new EnergyLoss(0.,0.,0.,0.,0.,0);
@@ -444,14 +371,14 @@ void Trk::GeantFollowerMSHelper::trackParticle(const G4ThreeVector& pos, const G
 // Cache ONLY used for extrapolateM and extrapolate with covariance Matrix
 
     // parameters of the G4 step point
-    Trk::CurvilinearParameters* g4Parameters = new Trk::CurvilinearParameters(npos, nmom, m_t_charge);
+    Trk::CurvilinearParameters* g4Parameters = new Trk::CurvilinearParameters(npos, nmom, m_treeData->m_t_charge);
     // destination surface
     const Trk::PlaneSurface& destinationSurface = g4Parameters->associatedSurface();
     // extrapolate to the destination surface
     const Trk::TrackParameters* trkParameters = m_extrapolateDirectly&&m_crossedMuonEntry ?
         m_extrapolator->extrapolateDirectly(*m_parameterCache,destinationSurface,Trk::alongMomentum,false,Trk::muon) :
         m_extrapolator->extrapolate(*m_parameterCache,destinationSurface,Trk::alongMomentum,false,Trk::muon);
-    if(m_g4_stepsMS==0) {
+    if(m_treeData->m_g4_stepsMS==0) {
         ATH_MSG_DEBUG( " Extrapolate m_parameterCacheCov with covMatrix ");
         extrapolationCache->reset();
         trkParameters = m_extrapolateDirectly&&m_crossedMuonEntry ?
@@ -465,7 +392,7 @@ void Trk::GeantFollowerMSHelper::trackParticle(const G4ThreeVector& pos, const G
     }
     
     //sroe: coverity 31530
-    m_trk_status[m_g4_steps] = trkParameters ? 1 : 0;
+    m_treeData->m_trk_status[m_treeData->m_g4_steps] = trkParameters ? 1 : 0;
 
     if(!trkParameters) {
       delete eloss;
@@ -480,7 +407,7 @@ void Trk::GeantFollowerMSHelper::trackParticle(const G4ThreeVector& pos, const G
 //    if(!m_exitLayer&&(fabs(npos.z())>zMuonEntry||npos.perp()>4255)&&trkParameters) {
     if(!m_exitLayer&&(fabs(npos.z())>21800||npos.perp()>12500)&&trkParameters) {
       ATH_MSG_DEBUG (" exit layer found ");
-      m_trk_status[m_g4_steps] =  1000;
+      m_treeData->m_trk_status[m_treeData->m_g4_steps] =  1000;
 // Get extrapolatio with errors 
       extrapolationCache->reset();
       trkParameters = m_extrapolateDirectly&&m_crossedMuonEntry ?
@@ -506,14 +433,14 @@ void Trk::GeantFollowerMSHelper::trackParticle(const G4ThreeVector& pos, const G
         if(trkParameters_BACK) {
           ATH_MSG_DEBUG (" back extrapolation succeeded ");
           m_exitLayer = true;
-          m_b_p      =  trkParameters_BACK->momentum().mag();
-          m_b_eta    =  trkParameters_BACK->momentum().eta();
-          m_b_theta  =  trkParameters_BACK->momentum().theta();
-          m_b_phi    =  trkParameters_BACK->momentum().phi();
-          m_b_x      =  trkParameters_BACK->position().x();
-          m_b_y      =  trkParameters_BACK->position().y();
-          m_b_z      =  trkParameters_BACK->position().z();
-          if(fabs(m_m_p-m_b_p)>10.) ATH_MSG_DEBUG (" Back extrapolation to Muon Entry finds different momentum  difference MeV " << m_m_p-m_b_p);  
+          m_treeData->m_b_p      =  trkParameters_BACK->momentum().mag();
+          m_treeData->m_b_eta    =  trkParameters_BACK->momentum().eta();
+          m_treeData->m_b_theta  =  trkParameters_BACK->momentum().theta();
+          m_treeData->m_b_phi    =  trkParameters_BACK->momentum().phi();
+          m_treeData->m_b_x      =  trkParameters_BACK->position().x();
+          m_treeData->m_b_y      =  trkParameters_BACK->position().y();
+          m_treeData->m_b_z      =  trkParameters_BACK->position().z();
+          if(fabs(m_treeData->m_m_p-m_treeData->m_b_p)>10.) ATH_MSG_DEBUG (" Back extrapolation to Muon Entry finds different momentum  difference MeV " << m_treeData->m_m_p-m_treeData->m_b_p);  
           delete trkParameters_BACK;
           extrapolationCache->reset();
           const std::vector<const Trk::TrackStateOnSurface*> *matvec_BACK = m_extrapolator->extrapolateM(*trkParameters_FW,*m_destinationSurface,Trk::oppositeMomentum,false,Trk::muon,extrapolationCache);
@@ -528,7 +455,7 @@ void Trk::GeantFollowerMSHelper::trackParticle(const G4ThreeVector& pos, const G
               const Trk::MaterialEffectsBase* matEf = (*it)->materialEffectsOnTrack();
               if( matEf ) {
                 mmat++;
-                if(m_trk_status[m_g4_steps] == 1000) ATH_MSG_DEBUG (" mmat " << mmat << " matEf->thicknessInX0() " << matEf->thicknessInX0() );
+                if(m_treeData->m_trk_status[m_treeData->m_g4_steps] == 1000) ATH_MSG_DEBUG (" mmat " << mmat << " matEf->thicknessInX0() " << matEf->thicknessInX0() );
                 x0 += matEf->thicknessInX0();
                 const Trk::MaterialEffectsOnTrack* matEfs = dynamic_cast<const Trk::MaterialEffectsOnTrack*>(matEf);
                 double eloss0 = 0.;
@@ -547,7 +474,7 @@ void Trk::GeantFollowerMSHelper::trackParticle(const G4ThreeVector& pos, const G
                     sigmaIoni = eLoss->sigmaIoni();
                     meanRad = eLoss->meanRad();
                     sigmaRad = eLoss->sigmaRad();
-                    if(m_trk_status[m_g4_steps] == 1000) ATH_MSG_DEBUG ( " mmat " << mmat << " eLoss->deltaE() "  << eLoss->deltaE() << "  eLoss->length() " << eLoss->length() );
+                    if(m_treeData->m_trk_status[m_treeData->m_g4_steps] == 1000) ATH_MSG_DEBUG ( " mmat " << mmat << " eLoss->deltaE() "  << eLoss->deltaE() << "  eLoss->length() " << eLoss->length() );
                   }
                 }
                 const Trk::ScatteringAngles* scatAng = (matEfs)->scatteringAngles();
@@ -555,29 +482,29 @@ void Trk::GeantFollowerMSHelper::trackParticle(const G4ThreeVector& pos, const G
                    sigmaTheta = scatAng->sigmaDeltaTheta();
                    sigmaPhi = scatAng->sigmaDeltaPhi();
                 }             
-                if ( m_trk_scats < 500) {
+                if ( m_treeData->m_trk_scats < 500) {
 // backwards
-                  if(m_trk_status[m_g4_steps] == 1000) m_trk_sstatus[m_trk_scats] = -1000;
+                  if(m_treeData->m_trk_status[m_treeData->m_g4_steps] == 1000) m_treeData->m_trk_sstatus[m_treeData->m_trk_scats] = -1000;
                   if((*it)->trackParameters()) {
-                    m_trk_sx[m_trk_scats] = (*it)->trackParameters()->position().x();
-                    m_trk_sy[m_trk_scats] = (*it)->trackParameters()->position().y();
-                    m_trk_sz[m_trk_scats] = (*it)->trackParameters()->position().z();
+                    m_treeData->m_trk_sx[m_treeData->m_trk_scats] = (*it)->trackParameters()->position().x();
+                    m_treeData->m_trk_sy[m_treeData->m_trk_scats] = (*it)->trackParameters()->position().y();
+                    m_treeData->m_trk_sz[m_treeData->m_trk_scats] = (*it)->trackParameters()->position().z();
                   }
-                  m_trk_sx0[m_trk_scats] = matEf->thicknessInX0();   
-                  m_trk_seloss[m_trk_scats] = eloss0;   
-                  m_trk_smeanIoni[m_trk_scats] = meanIoni;   
-                  m_trk_ssigIoni[m_trk_scats] = sigmaIoni;   
-                  m_trk_smeanRad[m_trk_scats] = meanRad;   
-                  m_trk_ssigRad[m_trk_scats] = sigmaRad;   
-                  m_trk_ssigTheta[m_trk_scats] = sigmaTheta;   
-                  m_trk_ssigPhi[m_trk_scats] = sigmaPhi;   
-                  m_trk_scats++;
+                  m_treeData->m_trk_sx0[m_treeData->m_trk_scats] = matEf->thicknessInX0();   
+                  m_treeData->m_trk_seloss[m_treeData->m_trk_scats] = eloss0;   
+                  m_treeData->m_trk_smeanIoni[m_treeData->m_trk_scats] = meanIoni;   
+                  m_treeData->m_trk_ssigIoni[m_treeData->m_trk_scats] = sigmaIoni;   
+                  m_treeData->m_trk_smeanRad[m_treeData->m_trk_scats] = meanRad;   
+                  m_treeData->m_trk_ssigRad[m_treeData->m_trk_scats] = sigmaRad;   
+                  m_treeData->m_trk_ssigTheta[m_treeData->m_trk_scats] = sigmaTheta;   
+                  m_treeData->m_trk_ssigPhi[m_treeData->m_trk_scats] = sigmaPhi;   
+                  m_treeData->m_trk_scats++;
                 }
               }
             }
           }
-          m_b_X0         =  x0;
-          m_b_Eloss      =  Eloss;
+          m_treeData->m_b_X0         =  x0;
+          m_treeData->m_b_Eloss      =  Eloss;
           delete matvec_BACK;
          }
         }
@@ -587,10 +514,10 @@ void Trk::GeantFollowerMSHelper::trackParticle(const G4ThreeVector& pos, const G
 
     extrapolationCache->reset();
     const std::vector<const Trk::TrackStateOnSurface*> *matvec = m_extrapolator->extrapolateM(*m_parameterCache,destinationSurface,Trk::alongMomentum,false,Trk::muon,extrapolationCache);
-    if(m_g4_stepsMS==0) matvec = m_extrapolator->extrapolateM(*m_parameterCacheCov,destinationSurface,Trk::alongMomentum,false,Trk::muon,extrapolationCache);
+    if(m_treeData->m_g4_stepsMS==0) matvec = m_extrapolator->extrapolateM(*m_parameterCacheCov,destinationSurface,Trk::alongMomentum,false,Trk::muon,extrapolationCache);
 
-    if(m_g4_stepsMS==0) ATH_MSG_DEBUG(" G4 extrapolateM to Muon Entry " << " X0 " << extrapolationCache->x0tot() << " Eloss deltaE " <<   extrapolationCache->eloss()->deltaE()  << " Eloss sigma " << extrapolationCache->eloss()->sigmaDeltaE() << " meanIoni " << extrapolationCache->eloss()->meanIoni()  << " sigmaIoni " << extrapolationCache->eloss()->sigmaIoni() << " meanRad " <<  extrapolationCache->eloss()->meanRad() << " sigmaRad " << extrapolationCache->eloss()->sigmaRad());
-//    if(m_trk_status[m_g4_steps] == 1000) matvec = m_extrapolator->extrapolateM(*m_parameterCache,destinationSurface,Trk::alongMomentum,false,Trk::muon);
+    if(m_treeData->m_g4_stepsMS==0) ATH_MSG_DEBUG(" G4 extrapolateM to Muon Entry " << " X0 " << extrapolationCache->x0tot() << " Eloss deltaE " <<   extrapolationCache->eloss()->deltaE()  << " Eloss sigma " << extrapolationCache->eloss()->sigmaDeltaE() << " meanIoni " << extrapolationCache->eloss()->meanIoni()  << " sigmaIoni " << extrapolationCache->eloss()->sigmaIoni() << " meanRad " <<  extrapolationCache->eloss()->meanRad() << " sigmaRad " << extrapolationCache->eloss()->sigmaRad());
+//    if(m_treeData->m_trk_status[m_treeData->m_g4_steps] == 1000) matvec = m_extrapolator->extrapolateM(*m_parameterCache,destinationSurface,Trk::alongMomentum,false,Trk::muon);
 
 //      modifyTSOSvector(const std::vector<const Trk::TrackStateOnSurface*> matvec, double scaleX0, double scaleEloss, bool reposition, bool aggregate, bool updateEloss, double caloEnergy, double caloEnergyError, double pCaloEntry, double momentumError, double & Eloss_tot);
     double Elosst = 0.;
@@ -616,15 +543,15 @@ void Trk::GeantFollowerMSHelper::trackParticle(const G4ThreeVector& pos, const G
 //
 // Muon sytem
 //   
-      m_elossupdator->getX0ElossScales(0, m_m_eta, m_m_phi, X0Scale, ElossScale );
+      m_elossupdator->getX0ElossScales(0, m_treeData->m_m_eta, m_treeData->m_m_phi, X0Scale, ElossScale );
       ATH_MSG_DEBUG ( " muonSystem scales X0 " << X0Scale << " ElossScale " << ElossScale);
       
-      const std::vector<const Trk::TrackStateOnSurface*>  matvecNew1 = modifyTSOSvector(*matvec, X0Scale , 1., true, true, true, 0., 0., m_m_p, 0., Eloss1);
-      const std::vector<const Trk::TrackStateOnSurface*>  matvecNew0 = modifyTSOSvector(*matvec, X0Scale , ElossScale, true, true, true, 0., 0., m_m_p, 0., Eloss0);
+      const std::vector<const Trk::TrackStateOnSurface*>  matvecNew1 = modifyTSOSvector(*matvec, X0Scale , 1., true, true, true, 0., 0., m_treeData->m_m_p, 0., Eloss1);
+      const std::vector<const Trk::TrackStateOnSurface*>  matvecNew0 = modifyTSOSvector(*matvec, X0Scale , ElossScale, true, true, true, 0., 0., m_treeData->m_m_p, 0., Eloss0);
       ATH_MSG_DEBUG ( " muon system modify with 5 percent ");
-      const std::vector<const Trk::TrackStateOnSurface*>  matvecNew5 = modifyTSOSvector(*matvec, X0Scale , ElossScale, true, true, true, 0., 0., m_m_p, 0.05*m_m_p, Eloss5);
+      const std::vector<const Trk::TrackStateOnSurface*>  matvecNew5 = modifyTSOSvector(*matvec, X0Scale , ElossScale, true, true, true, 0., 0., m_treeData->m_m_p, 0.05*m_treeData->m_m_p, Eloss5);
       ATH_MSG_DEBUG ( " muon system modify with 10 percent ");
-      const std::vector<const Trk::TrackStateOnSurface*>  matvecNew10 = modifyTSOSvector(*matvec, X0Scale , ElossScale, true, true, true, 0., 0., m_m_p, 0.10*m_m_p, Eloss10);
+      const std::vector<const Trk::TrackStateOnSurface*>  matvecNew10 = modifyTSOSvector(*matvec, X0Scale , ElossScale, true, true, true, 0., 0., m_treeData->m_m_p, 0.10*m_treeData->m_m_p, Eloss10);
 
 //      if(&matvecNew0!=0)  delete &matvecNew0;
 //      if(&matvecNew5!=0)  delete &matvecNew5;
@@ -634,24 +561,24 @@ void Trk::GeantFollowerMSHelper::trackParticle(const G4ThreeVector& pos, const G
 //
 // Calorimeter  sytem
 //    
-      double phiCaloExit = atan2(m_m_y,m_m_x); 
-      m_elossupdator->getX0ElossScales(1, m_t_eta, phiCaloExit , X0Scale, ElossScale );
+      double phiCaloExit = atan2(m_treeData->m_m_y,m_treeData->m_m_x); 
+      m_elossupdator->getX0ElossScales(1, m_treeData->m_t_eta, phiCaloExit , X0Scale, ElossScale );
       ATH_MSG_DEBUG ( " calorimeter scales X0 " << X0Scale << " ElossScale " << ElossScale);
-      const std::vector<const Trk::TrackStateOnSurface*>  matvecNew1 = modifyTSOSvector(*matvec, X0Scale , 1., true, true, true, 0., 0., m_m_p, 0., Eloss1);
-      const std::vector<const Trk::TrackStateOnSurface*>  matvecNew0 = modifyTSOSvector(*matvec, X0Scale , ElossScale, true, true, true, 0., 0., m_t_p, 0., Eloss0);
+      const std::vector<const Trk::TrackStateOnSurface*>  matvecNew1 = modifyTSOSvector(*matvec, X0Scale , 1., true, true, true, 0., 0., m_treeData->m_m_p, 0., Eloss1);
+      const std::vector<const Trk::TrackStateOnSurface*>  matvecNew0 = modifyTSOSvector(*matvec, X0Scale , ElossScale, true, true, true, 0., 0., m_treeData->m_t_p, 0., Eloss0);
       if(fabs(Eloss1)>0) ATH_MSG_DEBUG ( " **** Cross Check calorimeter with Eloss Scale1 " <<  Eloss1 << " Eloss0 " << Eloss0 << " ratio " << Eloss0/Eloss1 );
 
       ATH_MSG_DEBUG ( " calorimeter modify with 5 percent ");
-      const std::vector<const Trk::TrackStateOnSurface*>  matvecNew5 = modifyTSOSvector(*matvec, X0Scale , ElossScale, true, true, true, 0., 0., m_t_p, 0.05*m_m_p, Eloss5);
+      const std::vector<const Trk::TrackStateOnSurface*>  matvecNew5 = modifyTSOSvector(*matvec, X0Scale , ElossScale, true, true, true, 0., 0., m_treeData->m_t_p, 0.05*m_treeData->m_m_p, Eloss5);
       ATH_MSG_DEBUG ( " calorimeter modify with 10 percent ");
-      const std::vector<const Trk::TrackStateOnSurface*>  matvecNew10 = modifyTSOSvector(*matvec, X0Scale , ElossScale, true, true, true, 0., 0., m_t_p, 0.10*m_m_p, Eloss10);
+      const std::vector<const Trk::TrackStateOnSurface*>  matvecNew10 = modifyTSOSvector(*matvec, X0Scale , ElossScale, true, true, true, 0., 0., m_treeData->m_t_p, 0.10*m_treeData->m_m_p, Eloss10);
 
 //      if(&matvecNew0!=0)  delete &matvecNew0;
 //      if(&matvecNew5!=0)  delete &matvecNew5;
 //      if(&matvecNew10!=0) delete &matvecNew10;
     }
 
-    ATH_MSG_DEBUG ( " status " << m_trk_status[m_g4_steps] << "Eloss1 " << Eloss1 << " Eloss0 " << Eloss0 << " Eloss5 " << Eloss5 << " Eloss10 " << Eloss10 );
+    ATH_MSG_DEBUG ( " status " << m_treeData->m_trk_status[m_treeData->m_g4_steps] << "Eloss1 " << Eloss1 << " Eloss0 " << Eloss0 << " Eloss5 " << Eloss5 << " Eloss10 " << Eloss10 );
 
 
     double Eloss = 0.;
@@ -666,7 +593,7 @@ void Trk::GeantFollowerMSHelper::trackParticle(const G4ThreeVector& pos, const G
           const Trk::MaterialEffectsBase* matEf = (*it)->materialEffectsOnTrack();
           if( matEf ) {
              mmat++;
-             if(m_trk_status[m_g4_steps] == 1000) ATH_MSG_DEBUG (" mmat " << mmat << " matEf->thicknessInX0() " << matEf->thicknessInX0() );
+             if(m_treeData->m_trk_status[m_treeData->m_g4_steps] == 1000) ATH_MSG_DEBUG (" mmat " << mmat << " matEf->thicknessInX0() " << matEf->thicknessInX0() );
              x0 += matEf->thicknessInX0();
              const Trk::MaterialEffectsOnTrack* matEfs = dynamic_cast<const Trk::MaterialEffectsOnTrack*>(matEf);
              double eloss0 = 0.;
@@ -685,8 +612,8 @@ void Trk::GeantFollowerMSHelper::trackParticle(const G4ThreeVector& pos, const G
                     sigmaIoni = eLoss->sigmaIoni();
                     meanRad = eLoss->meanRad();
                     sigmaRad = eLoss->sigmaRad();
-                    ATH_MSG_DEBUG ( "m_g4_stepsMS " << m_g4_stepsMS <<" mmat " << mmat << " X0 " << matEf->thicknessInX0() << " eLoss->deltaE() "  << eLoss->deltaE() << " meanIoni " << meanIoni << " Total Eloss " << Eloss << "  eLoss->length() " << eLoss->length() );
-//                    if(m_trk_status[m_g4_steps] == 1000) ATH_MSG_DEBUG ( " mmat " << mmat << " eLoss->deltaE() "  << eLoss->deltaE() );
+                    ATH_MSG_DEBUG ( "m_treeData->m_g4_stepsMS " << m_treeData->m_g4_stepsMS <<" mmat " << mmat << " X0 " << matEf->thicknessInX0() << " eLoss->deltaE() "  << eLoss->deltaE() << " meanIoni " << meanIoni << " Total Eloss " << Eloss << "  eLoss->length() " << eLoss->length() );
+//                    if(m_treeData->m_trk_status[m_treeData->m_g4_steps] == 1000) ATH_MSG_DEBUG ( " mmat " << mmat << " eLoss->deltaE() "  << eLoss->deltaE() );
                   } 
              } 
              //sroe: coverity 31532
@@ -695,29 +622,29 @@ void Trk::GeantFollowerMSHelper::trackParticle(const G4ThreeVector& pos, const G
              if(scatAng) {
                 sigmaTheta = scatAng->sigmaDeltaTheta();
                 sigmaPhi = scatAng->sigmaDeltaPhi();
-                ATH_MSG_DEBUG ( "m_g4_stepsMS " << m_g4_stepsMS <<" mmat " << mmat << " sigmaTheta " << sigmaTheta << " sigmaPhi " << sigmaPhi );
+                ATH_MSG_DEBUG ( "m_treeData->m_g4_stepsMS " << m_treeData->m_g4_stepsMS <<" mmat " << mmat << " sigmaTheta " << sigmaTheta << " sigmaPhi " << sigmaPhi );
              }             
 
-             if ( m_trk_scats < 500) {
-               if( m_g4_stepsMS==0 || m_trk_status[m_g4_steps]==1000 )  {
+             if ( m_treeData->m_trk_scats < 500) {
+               if( m_treeData->m_g4_stepsMS==0 || m_treeData->m_trk_status[m_treeData->m_g4_steps]==1000 )  {
 // forwards
-                 if(m_g4_stepsMS==0) m_trk_sstatus[m_trk_scats] = 10;
-                 if(m_trk_status[m_g4_steps]==1000) m_trk_sstatus[m_trk_scats] = 1000;
+                 if(m_treeData->m_g4_stepsMS==0) m_treeData->m_trk_sstatus[m_treeData->m_trk_scats] = 10;
+                 if(m_treeData->m_trk_status[m_treeData->m_g4_steps]==1000) m_treeData->m_trk_sstatus[m_treeData->m_trk_scats] = 1000;
                  if((*it)->trackParameters()) {
-                   m_trk_sx[m_trk_scats] = (*it)->trackParameters()->position().x();
-                   m_trk_sy[m_trk_scats] = (*it)->trackParameters()->position().y();
-                   m_trk_sz[m_trk_scats] = (*it)->trackParameters()->position().z();
+                   m_treeData->m_trk_sx[m_treeData->m_trk_scats] = (*it)->trackParameters()->position().x();
+                   m_treeData->m_trk_sy[m_treeData->m_trk_scats] = (*it)->trackParameters()->position().y();
+                   m_treeData->m_trk_sz[m_treeData->m_trk_scats] = (*it)->trackParameters()->position().z();
                  }
-                 m_trk_sx0[m_trk_scats] = matEf->thicknessInX0();   
-                 m_trk_seloss[m_trk_scats] = eloss0;   
-                 m_trk_smeanIoni[m_trk_scats] = meanIoni;   
+                 m_treeData->m_trk_sx0[m_treeData->m_trk_scats] = matEf->thicknessInX0();   
+                 m_treeData->m_trk_seloss[m_treeData->m_trk_scats] = eloss0;   
+                 m_treeData->m_trk_smeanIoni[m_treeData->m_trk_scats] = meanIoni;   
 //                 std::cout << "  eloss0 " <<  eloss0 << " meanIoni " << meanIoni << std::endl;
-                 m_trk_ssigIoni[m_trk_scats] = sigmaIoni;   
-                 m_trk_smeanRad[m_trk_scats] = meanRad;   
-                 m_trk_ssigRad[m_trk_scats] = sigmaRad;   
-                 m_trk_ssigTheta[m_trk_scats] = sigmaTheta;   
-                 m_trk_ssigPhi[m_trk_scats] = sigmaPhi;   
-                 m_trk_scats++;
+                 m_treeData->m_trk_ssigIoni[m_treeData->m_trk_scats] = sigmaIoni;   
+                 m_treeData->m_trk_smeanRad[m_treeData->m_trk_scats] = meanRad;   
+                 m_treeData->m_trk_ssigRad[m_treeData->m_trk_scats] = sigmaRad;   
+                 m_treeData->m_trk_ssigTheta[m_treeData->m_trk_scats] = sigmaTheta;   
+                 m_treeData->m_trk_ssigPhi[m_treeData->m_trk_scats] = sigmaPhi;   
+                 m_treeData->m_trk_scats++;
                }
              }  
           }
@@ -725,38 +652,38 @@ void Trk::GeantFollowerMSHelper::trackParticle(const G4ThreeVector& pos, const G
         delete matvec;
     }
 
-    ATH_MSG_DEBUG ("  m_g4_steps " << m_g4_steps << " Radius " << npos.perp() << " z " << npos.z() << " size matvec " << " total X0 " << x0 << " total Eloss " << Eloss );
-//    std::cout << "  m_g4_steps " << m_g4_steps << " Radius " << npos.perp() << " z " << npos.z() << " size matvec " << " total X0 " << x0 << " total Eloss " << Eloss << std::endl;
+    ATH_MSG_DEBUG ("  m_treeData->m_g4_steps " << m_treeData->m_g4_steps << " Radius " << npos.perp() << " z " << npos.z() << " size matvec " << " total X0 " << x0 << " total Eloss " << Eloss );
+//    std::cout << "  m_treeData->m_g4_steps " << m_treeData->m_g4_steps << " Radius " << npos.perp() << " z " << npos.z() << " size matvec " << " total X0 " << x0 << " total Eloss " << Eloss << std::endl;
     // fill the geant information and the trk information
-    m_g4_p[m_g4_steps]       =  nmom.mag(); 
-    m_g4_eta[m_g4_steps]     =  nmom.eta();   
-    m_g4_theta[m_g4_steps]   =  nmom.theta();
-    m_g4_phi[m_g4_steps]     =  nmom.phi();
-    m_g4_x[m_g4_steps]       =  npos.x();
-    m_g4_y[m_g4_steps]       =  npos.y();
-    m_g4_z[m_g4_steps]       =  npos.z();
-    m_g4_tX0[m_g4_steps]     = m_tX0Cache;
-    m_g4_t[m_g4_steps]       = t;
-    m_g4_X0[m_g4_steps]      = X0;
+    m_treeData->m_g4_p[m_treeData->m_g4_steps]       =  nmom.mag(); 
+    m_treeData->m_g4_eta[m_treeData->m_g4_steps]     =  nmom.eta();   
+    m_treeData->m_g4_theta[m_treeData->m_g4_steps]   =  nmom.theta();
+    m_treeData->m_g4_phi[m_treeData->m_g4_steps]     =  nmom.phi();
+    m_treeData->m_g4_x[m_treeData->m_g4_steps]       =  npos.x();
+    m_treeData->m_g4_y[m_treeData->m_g4_steps]       =  npos.y();
+    m_treeData->m_g4_z[m_treeData->m_g4_steps]       =  npos.z();
+    m_treeData->m_g4_tX0[m_treeData->m_g4_steps]     = m_tX0Cache;
+    m_treeData->m_g4_t[m_treeData->m_g4_steps]       = t;
+    m_treeData->m_g4_X0[m_treeData->m_g4_steps]      = X0;
     
-    m_trk_p[m_g4_steps]      = trkParameters ? trkParameters->momentum().mag()      : 0.;
-    m_trk_eta[m_g4_steps]    = trkParameters ? trkParameters->momentum().eta()      : 0.;
-    m_trk_theta[m_g4_steps]  = trkParameters ? trkParameters->momentum().theta()    : 0.;
-    m_trk_phi[m_g4_steps]    = trkParameters ? trkParameters->momentum().phi()      : 0.;
-    m_trk_x[m_g4_steps]      = trkParameters ? trkParameters->position().x()        : 0.;
-    m_trk_y[m_g4_steps]      = trkParameters ? trkParameters->position().y()        : 0.;
-    m_trk_z[m_g4_steps]      = trkParameters ? trkParameters->position().z()        : 0.;
-    m_trk_lx[m_g4_steps]     = trkParameters ? trkParameters->parameters()[Trk::locX] : 0.;
-    m_trk_ly[m_g4_steps]     = trkParameters ? trkParameters->parameters()[Trk::locY] : 0.;
-    m_trk_eloss[m_g4_steps]  = Eloss;
-    m_trk_eloss0[m_g4_steps] = Eloss0;
-    m_trk_eloss1[m_g4_steps] = Eloss1;
-    m_trk_eloss5[m_g4_steps] = Eloss5;
-    m_trk_eloss10[m_g4_steps]= Eloss10;
-    m_trk_scaleeloss[m_g4_steps]= ElossScale;
-    m_trk_scalex0[m_g4_steps]   = X0Scale;
-    m_trk_x0[m_g4_steps]     = x0;
-    if(m_g4_stepsMS==0)  m_trk_status[m_g4_steps] =  10;
+    m_treeData->m_trk_p[m_treeData->m_g4_steps]      = trkParameters ? trkParameters->momentum().mag()      : 0.;
+    m_treeData->m_trk_eta[m_treeData->m_g4_steps]    = trkParameters ? trkParameters->momentum().eta()      : 0.;
+    m_treeData->m_trk_theta[m_treeData->m_g4_steps]  = trkParameters ? trkParameters->momentum().theta()    : 0.;
+    m_treeData->m_trk_phi[m_treeData->m_g4_steps]    = trkParameters ? trkParameters->momentum().phi()      : 0.;
+    m_treeData->m_trk_x[m_treeData->m_g4_steps]      = trkParameters ? trkParameters->position().x()        : 0.;
+    m_treeData->m_trk_y[m_treeData->m_g4_steps]      = trkParameters ? trkParameters->position().y()        : 0.;
+    m_treeData->m_trk_z[m_treeData->m_g4_steps]      = trkParameters ? trkParameters->position().z()        : 0.;
+    m_treeData->m_trk_lx[m_treeData->m_g4_steps]     = trkParameters ? trkParameters->parameters()[Trk::locX] : 0.;
+    m_treeData->m_trk_ly[m_treeData->m_g4_steps]     = trkParameters ? trkParameters->parameters()[Trk::locY] : 0.;
+    m_treeData->m_trk_eloss[m_treeData->m_g4_steps]  = Eloss;
+    m_treeData->m_trk_eloss0[m_treeData->m_g4_steps] = Eloss0;
+    m_treeData->m_trk_eloss1[m_treeData->m_g4_steps] = Eloss1;
+    m_treeData->m_trk_eloss5[m_treeData->m_g4_steps] = Eloss5;
+    m_treeData->m_trk_eloss10[m_treeData->m_g4_steps]= Eloss10;
+    m_treeData->m_trk_scaleeloss[m_treeData->m_g4_steps]= ElossScale;
+    m_treeData->m_trk_scalex0[m_treeData->m_g4_steps]   = X0Scale;
+    m_treeData->m_trk_x0[m_treeData->m_g4_steps]     = x0;
+    if(m_treeData->m_g4_stepsMS==0)  m_treeData->m_trk_status[m_treeData->m_g4_steps] =  10;
 
     double errord0 = 0.;
     double errorz0 = 0.;
@@ -769,25 +696,25 @@ void Trk::GeantFollowerMSHelper::trackParticle(const G4ThreeVector& pos, const G
       errorphi = (*trkParameters->covariance())(Trk::phi,Trk::phi);
       errortheta = (*trkParameters->covariance())(Trk::theta,Trk::theta);
       errorqoverp = (*trkParameters->covariance())(Trk::qOverP,Trk::qOverP);
-      ATH_MSG_DEBUG (" Covariance found for m_trk_status "  << m_trk_status[m_g4_steps]);
-      if( m_trk_status[m_g4_steps] == 10 ||  m_trk_status[m_g4_steps] == 1000 ) {
+      ATH_MSG_DEBUG (" Covariance found for m_treeData->m_trk_status "  << m_treeData->m_trk_status[m_treeData->m_g4_steps]);
+      if( m_treeData->m_trk_status[m_treeData->m_g4_steps] == 10 ||  m_treeData->m_trk_status[m_treeData->m_g4_steps] == 1000 ) {
         double x00 = errortheta*1000000.;
 // assume beta = 1 for check
-        double sigPhi = sqrt(x0)*13.6*(1+0.038*log(x00))/m_trk_p[m_g4_steps]/sin(m_trk_theta[m_g4_steps]);
+        double sigPhi = sqrt(x0)*13.6*(1+0.038*log(x00))/m_treeData->m_trk_p[m_treeData->m_g4_steps]/sin(m_treeData->m_trk_theta[m_treeData->m_g4_steps]);
         double ratio = sqrt(errorphi)/sigPhi;
-       std::cout << " m_trk_x " << m_trk_x[m_g4_steps] << "  m_trk_y " << m_trk_y[m_g4_steps] << " m_trk_z " << m_trk_z[m_g4_steps] << " cov 33 " << errortheta*1000000. << " cov22 " <<  errorphi*1000000000. << " ratio error in phi " << ratio << std::endl; 
+       std::cout << " m_treeData->m_trk_x " << m_treeData->m_trk_x[m_treeData->m_g4_steps] << "  m_treeData->m_trk_y " << m_treeData->m_trk_y[m_treeData->m_g4_steps] << " m_treeData->m_trk_z " << m_treeData->m_trk_z[m_treeData->m_g4_steps] << " cov 33 " << errortheta*1000000. << " cov22 " <<  errorphi*1000000000. << " ratio error in phi " << ratio << std::endl; 
        std::cout << " "  << std::endl;
       }
     }
 
-    m_trk_erd0[m_g4_steps]  = sqrt(errord0); 
-    m_trk_erz0[m_g4_steps]  = sqrt(errorz0); 
-    m_trk_erphi[m_g4_steps]  = sqrt(errorphi); 
-    m_trk_ertheta[m_g4_steps]  = sqrt(errortheta); 
-    m_trk_erqoverp[m_g4_steps]  = sqrt(errorqoverp); 
+    m_treeData->m_trk_erd0[m_treeData->m_g4_steps]  = sqrt(errord0); 
+    m_treeData->m_trk_erz0[m_treeData->m_g4_steps]  = sqrt(errorz0); 
+    m_treeData->m_trk_erphi[m_treeData->m_g4_steps]  = sqrt(errorphi); 
+    m_treeData->m_trk_ertheta[m_treeData->m_g4_steps]  = sqrt(errortheta); 
+    m_treeData->m_trk_erqoverp[m_treeData->m_g4_steps]  = sqrt(errorqoverp); 
 
 // reset X0 at Muon Entry  
-    if(m_g4_stepsMS==0)  m_tX0Cache   = 0.;
+    if(m_treeData->m_g4_stepsMS==0)  m_tX0Cache   = 0.;
     // update the parameters if needed/configured
     if (m_extrapolateIncrementally && trkParameters) {
         delete m_parameterCache;
@@ -804,8 +731,8 @@ void Trk::GeantFollowerMSHelper::trackParticle(const G4ThreeVector& pos, const G
     delete extrapolationCache;
     delete g4Parameters;
     delete trkParameters;
-    ++m_g4_steps;
-    if(m_g4_stepsMS!=-1)  ++m_g4_stepsMS; 
+    ++m_treeData->m_g4_steps;
+    if(m_treeData->m_g4_stepsMS!=-1)  ++m_treeData->m_g4_stepsMS; 
 }
 const std::vector<const Trk::TrackStateOnSurface*> Trk::GeantFollowerMSHelper::modifyTSOSvector(const std::vector<const Trk::TrackStateOnSurface*> matvec, double scaleX0, double scaleEloss, bool reposition, bool aggregate, bool updateEloss, double caloEnergy, double caloEnergyError, double pCaloEntry, double momentumError, double & Eloss_tot) const
 {
-- 
GitLab


From 467d0b7e3d7106be6b55d3eeda56c1e77c5136ab Mon Sep 17 00:00:00 2001
From: christos <christos@cern.ch>
Date: Sat, 26 Jan 2019 00:48:04 +0000
Subject: [PATCH 128/192] The Dict.so does not need to be linked with the
 library,just some standalone enums

---
 Event/xAOD/xAODBase/CMakeLists.txt | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/Event/xAOD/xAODBase/CMakeLists.txt b/Event/xAOD/xAODBase/CMakeLists.txt
index 19ad43af8518..070d24a61b75 100644
--- a/Event/xAOD/xAODBase/CMakeLists.txt
+++ b/Event/xAOD/xAODBase/CMakeLists.txt
@@ -38,8 +38,7 @@ atlas_add_dictionary( xAODBaseDict
 
 atlas_add_dictionary( xAODBaseObjectTypeDict
    xAODBase/xAODBaseObjectTypeDict.h
-   xAODBase/selection-ObjectType.xml
-   LINK_LIBRARIES xAODBase )
+   xAODBase/selection-ObjectType.xml)
 
 # Test(s) in the package:
 atlas_add_test( ut_xAODObjectType_test
-- 
GitLab


From 4d2272dff8690850ed767e42cb9be1bffeade3c3 Mon Sep 17 00:00:00 2001
From: John Derek Chapman <chapman@hep.phy.cam.ac.uk>
Date: Fri, 25 Jan 2019 10:21:14 +0000
Subject: [PATCH 129/192] Merge branch 'integrate_matching' into '21.3'

Integrate NSW matching algorithm in NSWPRDTest finalize

See merge request atlas/athena!20412

(cherry picked from commit c5b06e392c2c496bfdf470dcd5846b363e608981)

74bcdf2d Integrating NSW matching algorithm in finalise of NSWPRDTest
e58d78b2 Fixing some minor bugs in the NSW Matching algorithm
dc624d26 Renaming NSWHitstree to NSWValtree, to avoid confusion
7ac558ac Removing unused function
3e853128 documenting histogram macros of Matching algorithm
907036d9 NSWValAlg: updating copyright
7824abeb NSWValAlg: small fix in header
415ca0a8 Small fixes, adding stds to NSWValAlg
---
 .../CxxUtils/ATLAS_CHECK_THREAD_SAFETY        |    0
 .../macros/NSWMatching_offline/NSWstudies.C   |   47 +
 .../macros/NSWMatching_offline/NSWstudies.h   | 1222 +++++++++++++++++
 .../NSWMatching_offline/NSWstudies_match.C    |  456 ++++++
 .../NSWMatching_offline/NSWstudies_match.h    |  202 +++
 .../macros/NSWMatching_offline/run_matching.C |   29 +
 .../MuonPRDTest/src/EDM_object.cxx            |  121 ++
 .../MuonPRDTest/src/EDM_object.h              |   64 +
 .../MuonPRDTest/src/NSWPRDValAlg.cxx          |  228 ++-
 .../MuonPRDTest/src/NSWPRDValAlg.h            |   13 +-
 10 files changed, 2372 insertions(+), 10 deletions(-)
 mode change 100644 => 100755 Control/CxxUtils/CxxUtils/ATLAS_CHECK_THREAD_SAFETY
 create mode 100644 MuonSpectrometer/MuonValidation/MuonPRDTest/macros/NSWMatching_offline/NSWstudies.C
 create mode 100644 MuonSpectrometer/MuonValidation/MuonPRDTest/macros/NSWMatching_offline/NSWstudies.h
 create mode 100644 MuonSpectrometer/MuonValidation/MuonPRDTest/macros/NSWMatching_offline/NSWstudies_match.C
 create mode 100644 MuonSpectrometer/MuonValidation/MuonPRDTest/macros/NSWMatching_offline/NSWstudies_match.h
 create mode 100644 MuonSpectrometer/MuonValidation/MuonPRDTest/macros/NSWMatching_offline/run_matching.C
 create mode 100644 MuonSpectrometer/MuonValidation/MuonPRDTest/src/EDM_object.cxx
 create mode 100644 MuonSpectrometer/MuonValidation/MuonPRDTest/src/EDM_object.h

diff --git a/Control/CxxUtils/CxxUtils/ATLAS_CHECK_THREAD_SAFETY b/Control/CxxUtils/CxxUtils/ATLAS_CHECK_THREAD_SAFETY
old mode 100644
new mode 100755
diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/macros/NSWMatching_offline/NSWstudies.C b/MuonSpectrometer/MuonValidation/MuonPRDTest/macros/NSWMatching_offline/NSWstudies.C
new file mode 100644
index 000000000000..b0834871e3af
--- /dev/null
+++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/macros/NSWMatching_offline/NSWstudies.C
@@ -0,0 +1,47 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#define NSWstudies_cxx
+#include "NSWstudies.h"
+#include <TH2.h>
+#include <TStyle.h>
+#include <TCanvas.h>
+
+void NSWstudies::Loop()
+{
+//   In a ROOT session, you can do:
+//      root> .L NSWstudies.C
+//      root> NSWstudies t
+//      root> t.GetEntry(12); // Fill t data members with entry number 12
+//      root> t.Show();       // Show values of entry 12
+//      root> t.Show(16);     // Read and show values of entry 16
+//      root> t.Loop();       // Loop on all entries
+//
+
+//     This is the loop skeleton where:
+//    jentry is the global entry number in the chain
+//    ientry is the entry number in the current Tree
+//  Note that the argument to GetEntry must be:
+//    jentry for TChain::GetEntry
+//    ientry for TTree::GetEntry and TBranch::GetEntry
+//
+//       To read only selected branches, Insert statements like:
+// METHOD1:
+//    fChain->SetBranchStatus("*",0);  // disable all branches
+//    fChain->SetBranchStatus("branchname",1);  // activate branchname
+// METHOD2: replace line
+//    fChain->GetEntry(jentry);       //read all branches
+//by  b_branchname->GetEntry(ientry); //read only this branch
+   if (fChain == 0) return;
+
+   Long64_t nentries = fChain->GetEntriesFast();
+
+   Long64_t nbytes = 0, nb = 0;
+   for (Long64_t jentry=0; jentry<nentries;jentry++) {
+      Long64_t ientry = LoadTree(jentry);
+      if (ientry < 0) break;
+      nb = fChain->GetEntry(jentry);   nbytes += nb;
+      // if (Cut(ientry) < 0) continue;
+   }
+}
diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/macros/NSWMatching_offline/NSWstudies.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/macros/NSWMatching_offline/NSWstudies.h
new file mode 100644
index 000000000000..484895fdec71
--- /dev/null
+++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/macros/NSWMatching_offline/NSWstudies.h
@@ -0,0 +1,1222 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+//////////////////////////////////////////////////////////
+// This class has been automatically generated on
+// Thu Jul 26 12:33:06 2018 by ROOT version 6.12/04
+// from TTree NSWHitsTree/Ntuple of NSWHits
+// found on file: NSWPRDValAlg.full.ntuple.root
+//////////////////////////////////////////////////////////
+
+#ifndef NSWstudies_h
+#define NSWstudies_h
+
+#include <TROOT.h>
+#include <TChain.h>
+#include <TFile.h>
+
+// Header file for the classes stored in the TTree if any.
+#include "vector"
+#include "vector"
+#include "vector"
+#include "vector"
+#include "vector"
+#include "vector"
+
+class NSWstudies {
+public :
+   //Additions
+   void match_Hits_Digits (Flocalize_collection&, Flocalize_collection&);
+   void fillHists (Flocalize_collection& oData, vector< TH1I* >& hist_vec);
+   void plotError (Flocalize_collection oPRD, vector<TH1F*> hists_pull);
+
+   TTree          *fChain;   //!pointer to the analyzed TTree or TChain
+   Int_t           fCurrent; //!current Tree number in a TChain
+
+// Fixed size dimensions of array or collections stored in the TTree if any.
+
+   // Declaration of leaf types
+   UInt_t          runNumber;
+   UInt_t          eventNumber;
+   UInt_t          TruthVertex_n;
+   vector<double>  *TruthVertex_X;
+   vector<double>  *TruthVertex_Y;
+   vector<double>  *TruthVertex_Z;
+   vector<double>  *TruthVertex_T;
+   vector<int>     *TruthVertex_Id;
+   UInt_t          TruthParticle_n;
+   vector<double>  *TruthParticle_Pt;
+   vector<double>  *TruthParticle_Eta;
+   vector<double>  *TruthParticle_Phi;
+   vector<double>  *TruthParticle_E;
+   vector<double>  *TruthParticle_M;
+   vector<int>     *TruthParticle_Pdg;
+   vector<int>     *TruthParticle_Status;
+   vector<int>     *TruthParticle_Barcode;
+   vector<int>     *TruthParticle_Production_vertex_id;
+   vector<int>     *TruthParticle_End_vertex_id;
+   UInt_t          MuEntry_Particle_n;
+   vector<double>  *MuEntry_Particle_Pt;
+   vector<double>  *MuEntry_Particle_Eta;
+   vector<double>  *MuEntry_Particle_Phi;
+   vector<int>     *MuEntry_Particle_Pdg;
+   vector<int>     *MuEntry_Particle_Barcode;
+   vector<double>  *MuEntry_Position_Eta;
+   vector<double>  *MuEntry_Position_Phi;
+   vector<double>  *MuEntry_Position_X;
+   vector<double>  *MuEntry_Position_Y;
+   vector<double>  *MuEntry_Position_Z;
+   UInt_t          Hits_sTGC_n;
+   vector<int>     *Hits_sTGC_trackId;
+   vector<bool>    *Hits_sTGC_isInsideBounds;
+   vector<double>  *Hits_sTGC_globalTime;
+   vector<double>  *Hits_sTGC_hitGlobalPositionX;
+   vector<double>  *Hits_sTGC_hitGlobalPositionY;
+   vector<double>  *Hits_sTGC_hitGlobalPositionZ;
+   vector<double>  *Hits_sTGC_hitGlobalPositionR;
+   vector<double>  *Hits_sTGC_hitGlobalPositionP;
+   vector<double>  *Hits_sTGC_hitGlobalDirectionX;
+   vector<double>  *Hits_sTGC_hitGlobalDirectionY;
+   vector<double>  *Hits_sTGC_hitGlobalDirectionZ;
+   vector<double>  *Hits_sTGC_hitLocalPositionX;
+   vector<double>  *Hits_sTGC_hitLocalPositionY;
+   vector<double>  *Hits_sTGC_hitLocalPositionZ;
+   vector<double>  *Hits_sTGC_detector_globalPositionX;
+   vector<double>  *Hits_sTGC_detector_globalPositionY;
+   vector<double>  *Hits_sTGC_detector_globalPositionZ;
+   vector<double>  *Hits_sTGC_detector_globalPositionR;
+   vector<double>  *Hits_sTGC_detector_globalPositionP;
+   vector<double>  *Hits_sTGC_hitToDsurfacePositionX;
+   vector<double>  *Hits_sTGC_hitToDsurfacePositionY;
+   vector<double>  *Hits_sTGC_hitToDsurfacePositionZ;
+   vector<double>  *Hits_sTGC_hitToRsurfacePositionX;
+   vector<double>  *Hits_sTGC_hitToRsurfacePositionY;
+   vector<double>  *Hits_sTGC_hitToRsurfacePositionZ;
+   vector<double>  *Hits_sTGC_FastDigitRsurfacePositionX;
+   vector<double>  *Hits_sTGC_FastDigitRsurfacePositionY;
+   vector<int>     *Hits_sTGC_particleEncoding;
+   vector<double>  *Hits_sTGC_kineticEnergy;
+   vector<double>  *Hits_sTGC_depositEnergy;
+   vector<double>  *Hits_sTGC_StepLength;
+   vector<string>  *Hits_sTGC_sim_stationName;
+   vector<int>     *Hits_sTGC_wedgeId;
+   vector<int>     *Hits_sTGC_wedgeType;
+   vector<int>     *Hits_sTGC_detectorNumber;
+   vector<int>     *Hits_sTGC_sim_stationEta;
+   vector<int>     *Hits_sTGC_sim_stationPhi;
+   vector<int>     *Hits_sTGC_sim_multilayer;
+   vector<int>     *Hits_sTGC_sim_layer;
+   vector<int>     *Hits_sTGC_sim_side;
+   vector<int>     *Hits_sTGC_stripNumber;
+   vector<int>     *Hits_sTGC_wireNumber;
+   vector<string>  *Hits_sTGC_off_stationName;
+   vector<int>     *Hits_sTGC_off_stationEta;
+   vector<int>     *Hits_sTGC_off_stationPhi;
+   vector<int>     *Hits_sTGC_off_multiplet;
+   vector<int>     *Hits_sTGC_off_gas_gap;
+   vector<int>     *Hits_sTGC_off_channel_type;
+   vector<int>     *Hits_sTGC_off_channel;
+   UInt_t          Digits_sTGC;
+   UInt_t          Digits_sTGC_Pad_Digits;
+   vector<double>  *Digits_sTGC_time;
+   vector<int>     *Digits_sTGC_bctag;
+   vector<double>  *Digits_sTGC_charge;
+   vector<bool>    *Digits_sTGC_isDead;
+   vector<bool>    *Digits_sTGC_isPileup;
+   vector<string>  *Digits_sTGC_stationName;
+   vector<int>     *Digits_sTGC_stationEta;
+   vector<int>     *Digits_sTGC_stationPhi;
+   vector<int>     *Digits_sTGC_multiplet;
+   vector<int>     *Digits_sTGC_gas_gap;
+   vector<int>     *Digits_sTGC_channel_type;
+   vector<int>     *Digits_sTGC_channel;
+   vector<int>     *Digits_sTGC_stationEtaMin;
+   vector<int>     *Digits_sTGC_stationEtaMax;
+   vector<int>     *Digits_sTGC_stationPhiMin;
+   vector<int>     *Digits_sTGC_stationPhiMax;
+   vector<int>     *Digits_sTGC_gas_gapMin;
+   vector<int>     *Digits_sTGC_gas_gapMax;
+   vector<int>     *Digits_sTGC_padEta;
+   vector<int>     *Digits_sTGC_padPhi;
+   vector<int>     *Digits_sTGC_numberOfMultilayers;
+   vector<int>     *Digits_sTGC_multilayerMin;
+   vector<int>     *Digits_sTGC_multilayerMax;
+   vector<int>     *Digits_sTGC_channelTypeMin;
+   vector<int>     *Digits_sTGC_channelTypeMax;
+   vector<int>     *Digits_sTGC_channelMin;
+   vector<int>     *Digits_sTGC_channelMax;
+   vector<int>     *Digits_sTGC_channelNumber;
+   vector<double>  *Digits_sTGC_channelPosX;
+   vector<double>  *Digits_sTGC_channelPosY;
+   vector<double>  *Digits_sTGC_localPosX;
+   vector<double>  *Digits_sTGC_localPosY;
+   vector<double>  *Digits_sTGC_globalPosX;
+   vector<double>  *Digits_sTGC_globalPosY;
+   vector<double>  *Digits_sTGC_globalPosZ;
+   vector<double>  *Digits_sTGC_PadglobalCornerPosX;
+   vector<double>  *Digits_sTGC_PadglobalCornerPosY;
+   vector<double>  *Digits_sTGC_PadglobalCornerPosZ;
+   UInt_t          SDO_sTGC;
+   vector<string>  *SDO_sTGC_stationName;
+   vector<int>     *SDO_sTGC_stationEta;
+   vector<int>     *SDO_sTGC_stationPhi;
+   vector<int>     *SDO_sTGC_multiplet;
+   vector<int>     *SDO_sTGC_gas_gap;
+   vector<int>     *SDO_sTGC_channel;
+   vector<int>     *SDO_sTGC_channel_type;
+   vector<int>     *SDO_sTGC_word;
+   vector<int>     *SDO_sTGC_barcode;
+   vector<double>  *SDO_sTGC_globalPosX;
+   vector<double>  *SDO_sTGC_globalPosY;
+   vector<double>  *SDO_sTGC_globalPosZ;
+   vector<double>  *SDO_sTGC_global_time;
+   vector<double>  *SDO_sTGC_Energy;
+   vector<double>  *SDO_sTGC_tof;
+   vector<double>  *SDO_sTGC_localPosX;
+   vector<double>  *SDO_sTGC_localPosY;
+   Int_t           RDO_sTGC_n;
+   vector<string>  *RDO_sTGC_stationName;
+   vector<int>     *RDO_sTGC_stationEta;
+   vector<int>     *RDO_sTGC_stationPhi;
+   vector<int>     *RDO_sTGC_multiplet;
+   vector<int>     *RDO_sTGC_gas_gap;
+   vector<int>     *RDO_sTGC_channel;
+   vector<int>     *RDO_sTGC_channel_type;
+   vector<double>  *RDO_sTGC_time;
+   vector<double>  *RDO_sTGC_charge;
+   vector<unsigned short> *RDO_sTGC_bcTag;
+   vector<bool>    *RDO_sTGC_isDead;
+   UInt_t          PRD_sTGC;
+   vector<string>  *PRD_sTGC_stationName;
+   vector<int>     *PRD_sTGC_stationEta;
+   vector<int>     *PRD_sTGC_stationPhi;
+   vector<int>     *PRD_sTGC_multiplet;
+   vector<int>     *PRD_sTGC_gas_gap;
+   vector<int>     *PRD_sTGC_channel_type;
+   vector<int>     *PRD_sTGC_channel;
+   vector<double>  *PRD_sTGC_globalPosX;
+   vector<double>  *PRD_sTGC_globalPosY;
+   vector<double>  *PRD_sTGC_globalPosZ;
+   vector<double>  *PRD_sTGC_localPosX;
+   vector<double>  *PRD_sTGC_localPosY;
+   vector<double>  *PRD_sTGC_covMatrix_1_1;
+   vector<double>  *PRD_sTGC_covMatrix_2_2;
+   UInt_t          Hits_MM_n;
+   vector<int>     *Hits_MM_trackId;
+   vector<bool>    *Hits_MM_isInsideBounds;
+   vector<double>  *Hits_MM_globalTime;
+   vector<double>  *Hits_MM_hitGlobalPositionX;
+   vector<double>  *Hits_MM_hitGlobalPositionY;
+   vector<double>  *Hits_MM_hitGlobalPositionZ;
+   vector<double>  *Hits_MM_hitGlobalPositionR;
+   vector<double>  *Hits_MM_hitGlobalPositionP;
+   vector<double>  *Hits_MM_hitGlobalDirectionX;
+   vector<double>  *Hits_MM_hitGlobalDirectionY;
+   vector<double>  *Hits_MM_hitGlobalDirectionZ;
+   vector<double>  *Hits_MM_hitLocalPositionX;
+   vector<double>  *Hits_MM_hitLocalPositionY;
+   vector<double>  *Hits_MM_hitLocalPositionZ;
+   vector<double>  *Hits_MM_detector_globalPositionX;
+   vector<double>  *Hits_MM_detector_globalPositionY;
+   vector<double>  *Hits_MM_detector_globalPositionZ;
+   vector<double>  *Hits_MM_detector_globalPositionR;
+   vector<double>  *Hits_MM_detector_globalPositionP;
+   vector<double>  *Hits_MM_hitToDsurfacePositionX;
+   vector<double>  *Hits_MM_hitToDsurfacePositionY;
+   vector<double>  *Hits_MM_hitToDsurfacePositionZ;
+   vector<double>  *Hits_MM_hitToRsurfacePositionX;
+   vector<double>  *Hits_MM_hitToRsurfacePositionY;
+   vector<double>  *Hits_MM_hitToRsurfacePositionZ;
+   vector<double>  *Hits_MM_FastDigitRsurfacePositionX;
+   vector<double>  *Hits_MM_FastDigitRsurfacePositionY;
+   vector<int>     *Hits_MM_particleEncoding;
+   vector<double>  *Hits_MM_kineticEnergy;
+   vector<double>  *Hits_MM_depositEnergy;
+   vector<double>  *Hits_MM_StepLength;
+   vector<string>  *Hits_MM_sim_stationName;
+   vector<int>     *Hits_MM_sim_stationEta;
+   vector<int>     *Hits_MM_sim_stationPhi;
+   vector<int>     *Hits_MM_sim_multilayer;
+   vector<int>     *Hits_MM_sim_layer;
+   vector<int>     *Hits_MM_sim_side;
+   vector<string>  *Hits_MM_off_stationName;
+   vector<int>     *Hits_MM_off_stationEta;
+   vector<int>     *Hits_MM_off_stationPhi;
+   vector<int>     *Hits_MM_off_multiplet;
+   vector<int>     *Hits_MM_off_gas_gap;
+   vector<int>     *Hits_MM_off_channel;
+   UInt_t          Digits_MM;
+   vector<string>  *Digits_MM_stationName;
+   vector<int>     *Digits_MM_stationEta;
+   vector<int>     *Digits_MM_stationPhi;
+   vector<int>     *Digits_MM_multiplet;
+   vector<int>     *Digits_MM_gas_gap;
+   vector<int>     *Digits_MM_channel;
+   vector<vector<float> > *Digits_MM_time;
+   vector<vector<float> > *Digits_MM_charge;
+   vector<vector<int> > *Digits_MM_stripPosition;
+   vector<vector<double> > *Digits_MM_stripLposX;
+   vector<vector<double> > *Digits_MM_stripLposY;
+   vector<vector<double> > *Digits_MM_stripGposX;
+   vector<vector<double> > *Digits_MM_stripGposY;
+   vector<vector<double> > *Digits_MM_stripGposZ;
+   vector<vector<float> > *Digits_MM_stripResponse_time;
+   vector<vector<float> > *Digits_MM_stripResponse_charge;
+   vector<vector<int> > *Digits_MM_stripResponse_stripPosition;
+   vector<vector<double> > *Digits_MM_stripResponse_stripLposX;
+   vector<vector<double> > *Digits_MM_stripResponse_stripLposY;
+   vector<vector<double> > *Digits_MM_stripresponse_stripGposX;
+   vector<vector<double> > *Digits_MM_stripResponse_stripGposY;
+   vector<vector<double> > *Digits_MM_stripResponse_stripGposZ;
+   vector<vector<float> > *Digits_MM_time_trigger;
+   vector<vector<float> > *Digits_MM_charge_trigger;
+   vector<vector<int> > *Digits_MM_position_trigger;
+   vector<vector<int> > *Digits_MM_MMFE_VMM_id_trigger;
+   vector<vector<int> > *Digits_MM_VMM_id_trigger;
+   UInt_t          SDO_MM;
+   vector<string>  *SDO_MM_stationName;
+   vector<int>     *SDO_MM_stationEta;
+   vector<int>     *SDO_MM_stationPhi;
+   vector<int>     *SDO_MM_multiplet;
+   vector<int>     *SDO_MM_gas_gap;
+   vector<int>     *SDO_MM_channel;
+   vector<int>     *SDO_MM_word;
+   vector<int>     *SDO_MM_barcode;
+   vector<double>  *SDO_MM_globalPosX;
+   vector<double>  *SDO_MM_globalPosY;
+   vector<double>  *SDO_MM_globalPosZ;
+   vector<double>  *SDO_MM_global_time;
+   vector<double>  *SDO_MM_localPosX;
+   vector<double>  *SDO_MM_localPosY;
+   Int_t           RDO_MM_n;
+   vector<string>  *RDO_MM_stationName;
+   vector<int>     *RDO_MM_stationEta;
+   vector<int>     *RDO_MM_stationPhi;
+   vector<int>     *RDO_MM_multiplet;
+   vector<int>     *RDO_MM_gas_gap;
+   vector<int>     *RDO_MM_channel;
+   vector<int>     *RDO_MM_time;
+   vector<int>     *RDO_MM_charge;
+   UInt_t          PRD_MM;
+   vector<string>  *PRD_MM_stationName;
+   vector<int>     *PRD_MM_stationEta;
+   vector<int>     *PRD_MM_stationPhi;
+   vector<int>     *PRD_MM_multiplet;
+   vector<int>     *PRD_MM_gas_gap;
+   vector<int>     *PRD_MM_channel;
+   vector<double>  *PRD_MM_globalPosX;
+   vector<double>  *PRD_MM_globalPosY;
+   vector<double>  *PRD_MM_globalPosZ;
+   vector<double>  *PRD_MM_localPosX;
+   vector<double>  *PRD_MM_localPosY;
+   vector<double>  *PRD_MM_covMatrix_1_1;
+
+   // List of branches
+   TBranch        *b_runNumber;   //!
+   TBranch        *b_eventNumber;   //!
+   TBranch        *b_TruthVertex_n;   //!
+   TBranch        *b_TruthVertex_X;   //!
+   TBranch        *b_TruthVertex_Y;   //!
+   TBranch        *b_TruthVertex_Z;   //!
+   TBranch        *b_TruthVertex_T;   //!
+   TBranch        *b_TruthVertex_Id;   //!
+   TBranch        *b_TruthParticle_n;   //!
+   TBranch        *b_TruthParticle_Pt;   //!
+   TBranch        *b_TruthParticle_Eta;   //!
+   TBranch        *b_TruthParticle_Phi;   //!
+   TBranch        *b_TruthParticle_E;   //!
+   TBranch        *b_TruthParticle_M;   //!
+   TBranch        *b_TruthParticle_Pdg;   //!
+   TBranch        *b_TruthParticle_Status;   //!
+   TBranch        *b_TruthParticle_Barcode;   //!
+   TBranch        *b_TruthParticle_Production_vertex_id;   //!
+   TBranch        *b_TruthParticle_End_vertex_id;   //!
+   TBranch        *b_MuEntryParticle_n;   //!
+   TBranch        *b_MuEntry_Particle_Pt;   //!
+   TBranch        *b_MuEntry_Particle_Eta;   //!
+   TBranch        *b_MuEntry_Particle_Phi;   //!
+   TBranch        *b_MuEntry_Particle_Pdg;   //!
+   TBranch        *b_MuEntry_Particle_Barcode;   //!
+   TBranch        *b_MuEntry_Position_Eta;   //!
+   TBranch        *b_MuEntry_Position_Phi;   //!
+   TBranch        *b_MuEntry_Position_X;   //!
+   TBranch        *b_MuEntry_Position_Y;   //!
+   TBranch        *b_MuEntry_Position_Z;   //!
+   TBranch        *b_Hits_sTGC_nSimHits;   //!
+   TBranch        *b_Hits_sTGC_trackId;   //!
+   TBranch        *b_Hits_sTGC_isInsideBounds;   //!
+   TBranch        *b_Hits_sTGC_globalTime;   //!
+   TBranch        *b_Hits_sTGC_hitGlobalPositionX;   //!
+   TBranch        *b_Hits_sTGC_hitGlobalPositionY;   //!
+   TBranch        *b_Hits_sTGC_hitGlobalPositionZ;   //!
+   TBranch        *b_Hits_sTGC_hitGlobalPositionR;   //!
+   TBranch        *b_Hits_sTGC_hitGlobalPositionP;   //!
+   TBranch        *b_Hits_sTGC_hitGlobalDirectionX;   //!
+   TBranch        *b_Hits_sTGC_hitGlobalDirectionY;   //!
+   TBranch        *b_Hits_sTGC_hitGlobalDirectionZ;   //!
+   TBranch        *b_Hits_sTGC_hitLocalPositionX;   //!
+   TBranch        *b_Hits_sTGC_hitLocalPositionY;   //!
+   TBranch        *b_Hits_sTGC_hitLocalPositionZ;   //!
+   TBranch        *b_Hits_sTGC_detector_globalPositionX;   //!
+   TBranch        *b_Hits_sTGC_detector_globalPositionY;   //!
+   TBranch        *b_Hits_sTGC_detector_globalPositionZ;   //!
+   TBranch        *b_Hits_sTGC_detector_globalPositionR;   //!
+   TBranch        *b_Hits_sTGC_detector_globalPositionP;   //!
+   TBranch        *b_Hits_sTGC_hitToDsurfacePositionX;   //!
+   TBranch        *b_Hits_sTGC_hitToDsurfacePositionY;   //!
+   TBranch        *b_Hits_sTGC_hitToDsurfacePositionZ;   //!
+   TBranch        *b_Hits_sTGC_hitToRsurfacePositionX;   //!
+   TBranch        *b_Hits_sTGC_hitToRsurfacePositionY;   //!
+   TBranch        *b_Hits_sTGC_hitToRsurfacePositionZ;   //!
+   TBranch        *b_Hits_sTGC_FastDigitRsurfacePositionX;   //!
+   TBranch        *b_Hits_sTGC_FastDigitRsurfacePositionY;   //!
+   TBranch        *b_Hits_sTGC_particleEncoding;   //!
+   TBranch        *b_Hits_sTGC_kineticEnergy;   //!
+   TBranch        *b_Hits_sTGC_depositEnergy;   //!
+   TBranch        *b_Hits_sTGC_StepLength;   //!
+   TBranch        *b_Hits_sTGC_sim_stationName;   //!
+   TBranch        *b_Hits_sTGC_wedgeId;   //!
+   TBranch        *b_Hits_sTGC_wedgeType;   //!
+   TBranch        *b_Hits_sTGC_detectorNumber;   //!
+   TBranch        *b_Hits_sTGC_sim_stationEta;   //!
+   TBranch        *b_Hits_sTGC_sim_stationPhi;   //!
+   TBranch        *b_Hits_sTGC_sim_multilayer;   //!
+   TBranch        *b_Hits_sTGC_sim_layer;   //!
+   TBranch        *b_Hits_sTGC_sim_side;   //!
+   TBranch        *b_Hits_sTGC_stripNumber;   //!
+   TBranch        *b_Hits_sTGC_wireNumber;   //!
+   TBranch        *b_Hits_sTGC_off_stationName;   //!
+   TBranch        *b_Hits_sTGC_off_stationEta;   //!
+   TBranch        *b_Hits_sTGC_off_stationPhi;   //!
+   TBranch        *b_Hits_sTGC_off_multiplet;   //!
+   TBranch        *b_Hits_sTGC_off_gas_gap;   //!
+   TBranch        *b_Hits_sTGC_off_channel_type;   //!
+   TBranch        *b_Hits_sTGC_off_channel;   //!
+   TBranch        *b_Digits_sTGC_n;   //!
+   TBranch        *b_Digits_sTGC_Pad_Digits_n;   //!
+   TBranch        *b_Digits_sTGC_time;   //!
+   TBranch        *b_Digits_sTGC_bctag;   //!
+   TBranch        *b_Digits_sTGC_charge;   //!
+   TBranch        *b_Digits_sTGC_isDead;   //!
+   TBranch        *b_Digits_sTGC_isPileup;   //!
+   TBranch        *b_Digits_sTGC_stationName;   //!
+   TBranch        *b_Digits_sTGC_stationEta;   //!
+   TBranch        *b_Digits_sTGC_stationPhi;   //!
+   TBranch        *b_Digits_sTGC_multiplet;   //!
+   TBranch        *b_Digits_sTGC_gas_gap;   //!
+   TBranch        *b_Digits_sTGC_channel_type;   //!
+   TBranch        *b_Digits_sTGC_channel;   //!
+   TBranch        *b_Digits_sTGC_stationEtaMin;   //!
+   TBranch        *b_Digits_sTGC_stationEtaMax;   //!
+   TBranch        *b_Digits_sTGC_stationPhiMin;   //!
+   TBranch        *b_Digits_sTGC_stationPhiMax;   //!
+   TBranch        *b_Digits_sTGC_gas_gapMin;   //!
+   TBranch        *b_Digits_sTGC_gas_gapMax;   //!
+   TBranch        *b_Digits_sTGC_padEta;   //!
+   TBranch        *b_Digits_sTGC_padPhi;   //!
+   TBranch        *b_Digits_sTGC_numberOfMultilayers;   //!
+   TBranch        *b_Digits_sTGC_multilayerMin;   //!
+   TBranch        *b_Digits_sTGC_multilayerMax;   //!
+   TBranch        *b_Digits_sTGC_channelTypeMin;   //!
+   TBranch        *b_Digits_sTGC_channelTypeMax;   //!
+   TBranch        *b_Digits_sTGC_channelMin;   //!
+   TBranch        *b_Digits_sTGC_channelMax;   //!
+   TBranch        *b_Digits_sTGC_channelNumber;   //!
+   TBranch        *b_Digits_sTGC_channelPosX;   //!
+   TBranch        *b_Digits_sTGC_channelPosY;   //!
+   TBranch        *b_Digits_sTGC_localPosX;   //!
+   TBranch        *b_Digits_sTGC_localPosY;   //!
+   TBranch        *b_Digits_sTGC_globalPosX;   //!
+   TBranch        *b_Digits_sTGC_globalPosY;   //!
+   TBranch        *b_Digits_sTGC_globalPosZ;   //!
+   TBranch        *b_Digits_sTGC_PadglobalCornerPosX;   //!
+   TBranch        *b_Digits_sTGC_PadglobalCornerPosY;   //!
+   TBranch        *b_Digits_sTGC_PadglobalCornerPosZ;   //!
+   TBranch        *b_SDOs_sTGC_n;   //!
+   TBranch        *b_SDO_sTGC_stationName;   //!
+   TBranch        *b_SDO_sTGC_stationEta;   //!
+   TBranch        *b_SDO_sTGC_stationPhi;   //!
+   TBranch        *b_SDO_sTGC_multiplet;   //!
+   TBranch        *b_SDO_sTGC_gas_gap;   //!
+   TBranch        *b_SDO_sTGC_channel;   //!
+   TBranch        *b_SDO_sTGC_channel_type;   //!
+   TBranch        *b_SDO_sTGC_word;   //!
+   TBranch        *b_SDO_sTGC_barcode;   //!
+   TBranch        *b_SDO_sTGC_globalPosX;   //!
+   TBranch        *b_SDO_sTGC_globalPosY;   //!
+   TBranch        *b_SDO_sTGC_globalPosZ;   //!
+   TBranch        *b_SDO_sTGC_global_time;   //!
+   TBranch        *b_SDO_sTGC_Energy;   //!
+   TBranch        *b_SDO_sTGC_tof;   //!
+   TBranch        *b_SDO_sTGC_localPosX;   //!
+   TBranch        *b_SDO_sTGC_localPosY;   //!
+   TBranch        *b_RDO_sTGC_n;   //!
+   TBranch        *b_RDO_sTGC_stationName;   //!
+   TBranch        *b_RDO_sTGC_stationEta;   //!
+   TBranch        *b_RDO_sTGC_stationPhi;   //!
+   TBranch        *b_RDO_sTGC_multiplet;   //!
+   TBranch        *b_RDO_sTGC_gas_gap;   //!
+   TBranch        *b_RDO_sTGC_channel;   //!
+   TBranch        *b_RDO_sTGC_channel_type;   //!
+   TBranch        *b_RDO_sTGC_time;   //!
+   TBranch        *b_RDO_sTGC_charge;   //!
+   TBranch        *b_RDO_sTGC_bcTag;   //!
+   TBranch        *b_RDO_sTGC_isDead;   //!
+   TBranch        *b_PRDs_sTGC_n;   //!
+   TBranch        *b_PRD_sTGC_stationName;   //!
+   TBranch        *b_PRD_sTGC_stationEta;   //!
+   TBranch        *b_PRD_sTGC_stationPhi;   //!
+   TBranch        *b_PRD_sTGC_multiplet;   //!
+   TBranch        *b_PRD_sTGC_gas_gap;   //!
+   TBranch        *b_PRD_sTGC_channel_type;   //!
+   TBranch        *b_PRD_sTGC_channel;   //!
+   TBranch        *b_PRD_sTGC_globalPosX;   //!
+   TBranch        *b_PRD_sTGC_globalPosY;   //!
+   TBranch        *b_PRD_sTGC_globalPosZ;   //!
+   TBranch        *b_PRD_sTGC_localPosX;   //!
+   TBranch        *b_PRD_sTGC_localPosY;   //!
+   TBranch        *b_PRD_sTGC_covMatrix_1_1;   //!
+   TBranch        *b_PRD_sTGC_covMatrix_2_2;   //!
+   TBranch        *b_Hits_MM_n;   //!
+   TBranch        *b_Hits_MM_trackId;   //!
+   TBranch        *b_Hits_MM_isInsideBounds;   //!
+   TBranch        *b_Hits_MM_globalTime;   //!
+   TBranch        *b_Hits_MM_hitGlobalPositionX;   //!
+   TBranch        *b_Hits_MM_hitGlobalPositionY;   //!
+   TBranch        *b_Hits_MM_hitGlobalPositionZ;   //!
+   TBranch        *b_Hits_MM_hitGlobalPositionR;   //!
+   TBranch        *b_Hits_MM_hitGlobalPositionP;   //!
+   TBranch        *b_Hits_MM_hitGlobalDirectionX;   //!
+   TBranch        *b_Hits_MM_hitGlobalDirectionY;   //!
+   TBranch        *b_Hits_MM_hitGlobalDirectionZ;   //!
+   TBranch        *b_Hits_MM_hitLocalPositionX;   //!
+   TBranch        *b_Hits_MM_hitLocalPositionY;   //!
+   TBranch        *b_Hits_MM_hitLocalPositionZ;   //!
+   TBranch        *b_Hits_MM_detector_globalPositionX;   //!
+   TBranch        *b_Hits_MM_detector_globalPositionY;   //!
+   TBranch        *b_Hits_MM_detector_globalPositionZ;   //!
+   TBranch        *b_Hits_MM_detector_globalPositionR;   //!
+   TBranch        *b_Hits_MM_detector_globalPositionP;   //!
+   TBranch        *b_Hits_MM_hitToDsurfacePositionX;   //!
+   TBranch        *b_Hits_MM_hitToDsurfacePositionY;   //!
+   TBranch        *b_Hits_MM_hitToDsurfacePositionZ;   //!
+   TBranch        *b_Hits_MM_hitToRsurfacePositionX;   //!
+   TBranch        *b_Hits_MM_hitToRsurfacePositionY;   //!
+   TBranch        *b_Hits_MM_hitToRsurfacePositionZ;   //!
+   TBranch        *b_Hits_MM_FastDigitRsurfacePositionX;   //!
+   TBranch        *b_Hits_MM_FastDigitRsurfacePositionY;   //!
+   TBranch        *b_Hits_MM_particleEncoding;   //!
+   TBranch        *b_Hits_MM_kineticEnergy;   //!
+   TBranch        *b_Hits_MM_depositEnergy;   //!
+   TBranch        *b_Hits_MM_StepLength;   //!
+   TBranch        *b_Hits_MM_sim_stationName;   //!
+   TBranch        *b_Hits_MM_sim_stationEta;   //!
+   TBranch        *b_Hits_MM_sim_stationPhi;   //!
+   TBranch        *b_Hits_MM_sim_multilayer;   //!
+   TBranch        *b_Hits_MM_sim_layer;   //!
+   TBranch        *b_Hits_MM_sim_side;   //!
+   TBranch        *b_Hits_MM_off_stationName;   //!
+   TBranch        *b_Hits_MM_off_stationEta;   //!
+   TBranch        *b_Hits_MM_off_stationPhi;   //!
+   TBranch        *b_Hits_MM_off_multiplet;   //!
+   TBranch        *b_Hits_MM_off_gas_gap;   //!
+   TBranch        *b_Hits_MM_off_channel;   //!
+   TBranch        *b_Digits_MM_n;   //!
+   TBranch        *b_Digits_MM_stationName;   //!
+   TBranch        *b_Digits_MM_stationEta;   //!
+   TBranch        *b_Digits_MM_stationPhi;   //!
+   TBranch        *b_Digits_MM_multiplet;   //!
+   TBranch        *b_Digits_MM_gas_gap;   //!
+   TBranch        *b_Digits_MM_channel;   //!
+   TBranch        *b_Digits_MM_time;   //!
+   TBranch        *b_Digits_MM_charge;   //!
+   TBranch        *b_Digits_MM_stripPosition;   //!
+   TBranch        *b_Digits_MM_stripLposX;   //!
+   TBranch        *b_Digits_MM_stripLposY;   //!
+   TBranch        *b_Digits_MM_stripGposX;   //!
+   TBranch        *b_Digits_MM_stripGposY;   //!
+   TBranch        *b_Digits_MM_stripGposZ;   //!
+   TBranch        *b_Digits_MM_stripResponse_time;   //!
+   TBranch        *b_Digits_MM_stripResponse_charge;   //!
+   TBranch        *b_Digits_MM_stripResponse_stripPosition;   //!
+   TBranch        *b_Digits_MM_stripResponse_stripLposX;   //!
+   TBranch        *b_Digits_MM_stripResponse_stripLposY;   //!
+   TBranch        *b_Digits_MM_stripresponse_stripGposX;   //!
+   TBranch        *b_Digits_MM_stripResponse_stripGposY;   //!
+   TBranch        *b_Digits_MM_stripResponse_stripGposZ;   //!
+   TBranch        *b_Digits_MM_time_trigger;   //!
+   TBranch        *b_Digits_MM_charge_trigger;   //!
+   TBranch        *b_Digits_MM_position_trigger;   //!
+   TBranch        *b_Digits_MM_MMFE_VMM_id_trigger;   //!
+   TBranch        *b_Digits_MM_VMM_id_trigger;   //!
+   TBranch        *b_SDOs_MM_n;   //!
+   TBranch        *b_SDO_MM_stationName;   //!
+   TBranch        *b_SDO_MM_stationEta;   //!
+   TBranch        *b_SDO_MM_stationPhi;   //!
+   TBranch        *b_SDO_MM_multiplet;   //!
+   TBranch        *b_SDO_MM_gas_gap;   //!
+   TBranch        *b_SDO_MM_channel;   //!
+   TBranch        *b_SDO_MM_word;   //!
+   TBranch        *b_SDO_MM_barcode;   //!
+   TBranch        *b_SDO_MM_globalPosX;   //!
+   TBranch        *b_SDO_MM_globalPosY;   //!
+   TBranch        *b_SDO_MM_globalPosZ;   //!
+   TBranch        *b_SDO_MM_global_time;   //!
+   TBranch        *b_SDO_MM_localPosX;   //!
+   TBranch        *b_SDO_MM_localPosY;   //!
+   TBranch        *b_RDO_MM_n;   //!
+   TBranch        *b_RDO_MM_stationName;   //!
+   TBranch        *b_RDO_MM_stationEta;   //!
+   TBranch        *b_RDO_MM_stationPhi;   //!
+   TBranch        *b_RDO_MM_multiplet;   //!
+   TBranch        *b_RDO_MM_gas_gap;   //!
+   TBranch        *b_RDO_MM_channel;   //!
+   TBranch        *b_RDO_MM_time;   //!
+   TBranch        *b_RDO_MM_charge;   //!
+   TBranch        *b_PRDs_MM_n;   //!
+   TBranch        *b_PRD_MM_stationName;   //!
+   TBranch        *b_PRD_MM_stationEta;   //!
+   TBranch        *b_PRD_MM_stationPhi;   //!
+   TBranch        *b_PRD_MM_multiplet;   //!
+   TBranch        *b_PRD_MM_gas_gap;   //!
+   TBranch        *b_PRD_MM_channel;   //!
+   TBranch        *b_PRD_MM_globalPosX;   //!
+   TBranch        *b_PRD_MM_globalPosY;   //!
+   TBranch        *b_PRD_MM_globalPosZ;   //!
+   TBranch        *b_PRD_MM_localPosX;   //!
+   TBranch        *b_PRD_MM_localPosY;   //!
+   TBranch        *b_PRD_MM_covMatrix_1_1;   //!
+
+   NSWstudies(TTree *tree=0);
+   virtual ~NSWstudies();
+   virtual Int_t    Cut(Long64_t entry);
+   virtual Int_t    GetEntry(Long64_t entry);
+   virtual Long64_t LoadTree(Long64_t entry);
+   virtual void     Init(TTree *tree);
+   virtual void     Loop();
+   virtual Bool_t   Notify();
+   virtual void     Show(Long64_t entry = -1);
+};
+
+#endif
+
+#ifdef NSWstudies_cxx
+NSWstudies::NSWstudies(TTree *tree) : fChain(0) 
+{
+// if parameter tree is not specified (or zero), connect the file
+// used to generate this class and read the Tree.
+   if (tree == 0) {
+      TFile *f = (TFile*)gROOT->GetListOfFiles()->FindObject("NSWPRDValAlg.reco.ntuple.root");
+      if (!f || !f->IsOpen()) {
+         f = new TFile("NSWPRDValAlg.reco.ntuple.root");
+      }
+      f->GetObject("NSWValTree",tree);
+
+   }
+   Init(tree);
+}
+
+NSWstudies::~NSWstudies()
+{
+   if (!fChain) return;
+   delete fChain->GetCurrentFile();
+}
+
+Int_t NSWstudies::GetEntry(Long64_t entry)
+{
+// Read contents of entry.
+   if (!fChain) return 0;
+   return fChain->GetEntry(entry);
+}
+Long64_t NSWstudies::LoadTree(Long64_t entry)
+{
+// Set the environment to read one entry
+   if (!fChain) return -5;
+   Long64_t centry = fChain->LoadTree(entry);
+   if (centry < 0) return centry;
+   if (fChain->GetTreeNumber() != fCurrent) {
+      fCurrent = fChain->GetTreeNumber();
+      Notify();
+   }
+   return centry;
+}
+
+void NSWstudies::Init(TTree *tree)
+{
+   // The Init() function is called when the selector needs to initialize
+   // a new tree or chain. Typically here the branch addresses and branch
+   // pointers of the tree will be set.
+   // It is normally not necessary to make changes to the generated
+   // code, but the routine can be extended by the user if needed.
+   // Init() will be called many times when running on PROOF
+   // (once per file to be processed).
+
+   // Set object pointer
+   TruthVertex_X = 0;
+   TruthVertex_Y = 0;
+   TruthVertex_Z = 0;
+   TruthVertex_T = 0;
+   TruthVertex_Id = 0;
+   TruthParticle_Pt = 0;
+   TruthParticle_Eta = 0;
+   TruthParticle_Phi = 0;
+   TruthParticle_E = 0;
+   TruthParticle_M = 0;
+   TruthParticle_Pdg = 0;
+   TruthParticle_Status = 0;
+   TruthParticle_Barcode = 0;
+   TruthParticle_Production_vertex_id = 0;
+   TruthParticle_End_vertex_id = 0;
+   MuEntry_Particle_Pt = 0;
+   MuEntry_Particle_Eta = 0;
+   MuEntry_Particle_Phi = 0;
+   MuEntry_Particle_Pdg = 0;
+   MuEntry_Particle_Barcode = 0;
+   MuEntry_Position_Eta = 0;
+   MuEntry_Position_Phi = 0;
+   MuEntry_Position_X = 0;
+   MuEntry_Position_Y = 0;
+   MuEntry_Position_Z = 0;
+   Hits_sTGC_trackId = 0;
+   Hits_sTGC_isInsideBounds = 0;
+   Hits_sTGC_globalTime = 0;
+   Hits_sTGC_hitGlobalPositionX = 0;
+   Hits_sTGC_hitGlobalPositionY = 0;
+   Hits_sTGC_hitGlobalPositionZ = 0;
+   Hits_sTGC_hitGlobalPositionR = 0;
+   Hits_sTGC_hitGlobalPositionP = 0;
+   Hits_sTGC_hitGlobalDirectionX = 0;
+   Hits_sTGC_hitGlobalDirectionY = 0;
+   Hits_sTGC_hitGlobalDirectionZ = 0;
+   Hits_sTGC_hitLocalPositionX = 0;
+   Hits_sTGC_hitLocalPositionY = 0;
+   Hits_sTGC_hitLocalPositionZ = 0;
+   Hits_sTGC_detector_globalPositionX = 0;
+   Hits_sTGC_detector_globalPositionY = 0;
+   Hits_sTGC_detector_globalPositionZ = 0;
+   Hits_sTGC_detector_globalPositionR = 0;
+   Hits_sTGC_detector_globalPositionP = 0;
+   Hits_sTGC_hitToDsurfacePositionX = 0;
+   Hits_sTGC_hitToDsurfacePositionY = 0;
+   Hits_sTGC_hitToDsurfacePositionZ = 0;
+   Hits_sTGC_hitToRsurfacePositionX = 0;
+   Hits_sTGC_hitToRsurfacePositionY = 0;
+   Hits_sTGC_hitToRsurfacePositionZ = 0;
+   Hits_sTGC_FastDigitRsurfacePositionX = 0;
+   Hits_sTGC_FastDigitRsurfacePositionY = 0;
+   Hits_sTGC_particleEncoding = 0;
+   Hits_sTGC_kineticEnergy = 0;
+   Hits_sTGC_depositEnergy = 0;
+   Hits_sTGC_StepLength = 0;
+   Hits_sTGC_sim_stationName = 0;
+   Hits_sTGC_wedgeId = 0;
+   Hits_sTGC_wedgeType = 0;
+   Hits_sTGC_detectorNumber = 0;
+   Hits_sTGC_sim_stationEta = 0;
+   Hits_sTGC_sim_stationPhi = 0;
+   Hits_sTGC_sim_multilayer = 0;
+   Hits_sTGC_sim_layer = 0;
+   Hits_sTGC_sim_side = 0;
+   Hits_sTGC_stripNumber = 0;
+   Hits_sTGC_wireNumber = 0;
+   Hits_sTGC_off_stationName = 0;
+   Hits_sTGC_off_stationEta = 0;
+   Hits_sTGC_off_stationPhi = 0;
+   Hits_sTGC_off_multiplet = 0;
+   Hits_sTGC_off_gas_gap = 0;
+   Hits_sTGC_off_channel_type = 0;
+   Hits_sTGC_off_channel = 0;
+   Digits_sTGC_time = 0;
+   Digits_sTGC_bctag = 0;
+   Digits_sTGC_charge = 0;
+   Digits_sTGC_isDead = 0;
+   Digits_sTGC_isPileup = 0;
+   Digits_sTGC_stationName = 0;
+   Digits_sTGC_stationEta = 0;
+   Digits_sTGC_stationPhi = 0;
+   Digits_sTGC_multiplet = 0;
+   Digits_sTGC_gas_gap = 0;
+   Digits_sTGC_channel_type = 0;
+   Digits_sTGC_channel = 0;
+   Digits_sTGC_stationEtaMin = 0;
+   Digits_sTGC_stationEtaMax = 0;
+   Digits_sTGC_stationPhiMin = 0;
+   Digits_sTGC_stationPhiMax = 0;
+   Digits_sTGC_gas_gapMin = 0;
+   Digits_sTGC_gas_gapMax = 0;
+   Digits_sTGC_padEta = 0;
+   Digits_sTGC_padPhi = 0;
+   Digits_sTGC_numberOfMultilayers = 0;
+   Digits_sTGC_multilayerMin = 0;
+   Digits_sTGC_multilayerMax = 0;
+   Digits_sTGC_channelTypeMin = 0;
+   Digits_sTGC_channelTypeMax = 0;
+   Digits_sTGC_channelMin = 0;
+   Digits_sTGC_channelMax = 0;
+   Digits_sTGC_channelNumber = 0;
+   Digits_sTGC_channelPosX = 0;
+   Digits_sTGC_channelPosY = 0;
+   Digits_sTGC_localPosX = 0;
+   Digits_sTGC_localPosY = 0;
+   Digits_sTGC_globalPosX = 0;
+   Digits_sTGC_globalPosY = 0;
+   Digits_sTGC_globalPosZ = 0;
+   Digits_sTGC_PadglobalCornerPosX = 0;
+   Digits_sTGC_PadglobalCornerPosY = 0;
+   Digits_sTGC_PadglobalCornerPosZ = 0;
+   SDO_sTGC_stationName = 0;
+   SDO_sTGC_stationEta = 0;
+   SDO_sTGC_stationPhi = 0;
+   SDO_sTGC_multiplet = 0;
+   SDO_sTGC_gas_gap = 0;
+   SDO_sTGC_channel = 0;
+   SDO_sTGC_channel_type = 0;
+   SDO_sTGC_word = 0;
+   SDO_sTGC_barcode = 0;
+   SDO_sTGC_globalPosX = 0;
+   SDO_sTGC_globalPosY = 0;
+   SDO_sTGC_globalPosZ = 0;
+   SDO_sTGC_global_time = 0;
+   SDO_sTGC_Energy = 0;
+   SDO_sTGC_tof = 0;
+   SDO_sTGC_localPosX = 0;
+   SDO_sTGC_localPosY = 0;
+   RDO_sTGC_stationName = 0;
+   RDO_sTGC_stationEta = 0;
+   RDO_sTGC_stationPhi = 0;
+   RDO_sTGC_multiplet = 0;
+   RDO_sTGC_gas_gap = 0;
+   RDO_sTGC_channel = 0;
+   RDO_sTGC_channel_type = 0;
+   RDO_sTGC_time = 0;
+   RDO_sTGC_charge = 0;
+   RDO_sTGC_bcTag = 0;
+   RDO_sTGC_isDead = 0;
+   PRD_sTGC_stationName = 0;
+   PRD_sTGC_stationEta = 0;
+   PRD_sTGC_stationPhi = 0;
+   PRD_sTGC_multiplet = 0;
+   PRD_sTGC_gas_gap = 0;
+   PRD_sTGC_channel_type = 0;
+   PRD_sTGC_channel = 0;
+   PRD_sTGC_globalPosX = 0;
+   PRD_sTGC_globalPosY = 0;
+   PRD_sTGC_globalPosZ = 0;
+   PRD_sTGC_localPosX = 0;
+   PRD_sTGC_localPosY = 0;
+   PRD_sTGC_covMatrix_1_1 = 0;
+   PRD_sTGC_covMatrix_2_2 = 0;
+   Hits_MM_trackId = 0;
+   Hits_MM_isInsideBounds = 0;
+   Hits_MM_globalTime = 0;
+   Hits_MM_hitGlobalPositionX = 0;
+   Hits_MM_hitGlobalPositionY = 0;
+   Hits_MM_hitGlobalPositionZ = 0;
+   Hits_MM_hitGlobalPositionR = 0;
+   Hits_MM_hitGlobalPositionP = 0;
+   Hits_MM_hitGlobalDirectionX = 0;
+   Hits_MM_hitGlobalDirectionY = 0;
+   Hits_MM_hitGlobalDirectionZ = 0;
+   Hits_MM_hitLocalPositionX = 0;
+   Hits_MM_hitLocalPositionY = 0;
+   Hits_MM_hitLocalPositionZ = 0;
+   Hits_MM_detector_globalPositionX = 0;
+   Hits_MM_detector_globalPositionY = 0;
+   Hits_MM_detector_globalPositionZ = 0;
+   Hits_MM_detector_globalPositionR = 0;
+   Hits_MM_detector_globalPositionP = 0;
+   Hits_MM_hitToDsurfacePositionX = 0;
+   Hits_MM_hitToDsurfacePositionY = 0;
+   Hits_MM_hitToDsurfacePositionZ = 0;
+   Hits_MM_hitToRsurfacePositionX = 0;
+   Hits_MM_hitToRsurfacePositionY = 0;
+   Hits_MM_hitToRsurfacePositionZ = 0;
+   Hits_MM_FastDigitRsurfacePositionX = 0;
+   Hits_MM_FastDigitRsurfacePositionY = 0;
+   Hits_MM_particleEncoding = 0;
+   Hits_MM_kineticEnergy = 0;
+   Hits_MM_depositEnergy = 0;
+   Hits_MM_StepLength = 0;
+   Hits_MM_sim_stationName = 0;
+   Hits_MM_sim_stationEta = 0;
+   Hits_MM_sim_stationPhi = 0;
+   Hits_MM_sim_multilayer = 0;
+   Hits_MM_sim_layer = 0;
+   Hits_MM_sim_side = 0;
+   Hits_MM_off_stationName = 0;
+   Hits_MM_off_stationEta = 0;
+   Hits_MM_off_stationPhi = 0;
+   Hits_MM_off_multiplet = 0;
+   Hits_MM_off_gas_gap = 0;
+   Hits_MM_off_channel = 0;
+   Digits_MM_stationName = 0;
+   Digits_MM_stationEta = 0;
+   Digits_MM_stationPhi = 0;
+   Digits_MM_multiplet = 0;
+   Digits_MM_gas_gap = 0;
+   Digits_MM_channel = 0;
+   Digits_MM_time = 0;
+   Digits_MM_charge = 0;
+   Digits_MM_stripPosition = 0;
+   Digits_MM_stripLposX = 0;
+   Digits_MM_stripLposY = 0;
+   Digits_MM_stripGposX = 0;
+   Digits_MM_stripGposY = 0;
+   Digits_MM_stripGposZ = 0;
+   Digits_MM_stripResponse_time = 0;
+   Digits_MM_stripResponse_charge = 0;
+   Digits_MM_stripResponse_stripPosition = 0;
+   Digits_MM_stripResponse_stripLposX = 0;
+   Digits_MM_stripResponse_stripLposY = 0;
+   Digits_MM_stripresponse_stripGposX = 0;
+   Digits_MM_stripResponse_stripGposY = 0;
+   Digits_MM_stripResponse_stripGposZ = 0;
+   Digits_MM_time_trigger = 0;
+   Digits_MM_charge_trigger = 0;
+   Digits_MM_position_trigger = 0;
+   Digits_MM_MMFE_VMM_id_trigger = 0;
+   Digits_MM_VMM_id_trigger = 0;
+   SDO_MM_stationName = 0;
+   SDO_MM_stationEta = 0;
+   SDO_MM_stationPhi = 0;
+   SDO_MM_multiplet = 0;
+   SDO_MM_gas_gap = 0;
+   SDO_MM_channel = 0;
+   SDO_MM_word = 0;
+   SDO_MM_barcode = 0;
+   SDO_MM_globalPosX = 0;
+   SDO_MM_globalPosY = 0;
+   SDO_MM_globalPosZ = 0;
+   SDO_MM_global_time = 0;
+   SDO_MM_localPosX = 0;
+   SDO_MM_localPosY = 0;
+   RDO_MM_stationName = 0;
+   RDO_MM_stationEta = 0;
+   RDO_MM_stationPhi = 0;
+   RDO_MM_multiplet = 0;
+   RDO_MM_gas_gap = 0;
+   RDO_MM_channel = 0;
+   RDO_MM_time = 0;
+   RDO_MM_charge = 0;
+   PRD_MM_stationName = 0;
+   PRD_MM_stationEta = 0;
+   PRD_MM_stationPhi = 0;
+   PRD_MM_multiplet = 0;
+   PRD_MM_gas_gap = 0;
+   PRD_MM_channel = 0;
+   PRD_MM_globalPosX = 0;
+   PRD_MM_globalPosY = 0;
+   PRD_MM_globalPosZ = 0;
+   PRD_MM_localPosX = 0;
+   PRD_MM_localPosY = 0;
+   PRD_MM_covMatrix_1_1 = 0;
+   // Set branch addresses and branch pointers
+   if (!tree) return;
+   fChain = tree;
+   fCurrent = -1;
+   fChain->SetMakeClass(1);
+
+   fChain->SetBranchAddress("runNumber", &runNumber, &b_runNumber);
+   fChain->SetBranchAddress("eventNumber", &eventNumber, &b_eventNumber);
+   fChain->SetBranchAddress("TruthVertex_n", &TruthVertex_n, &b_TruthVertex_n);
+   fChain->SetBranchAddress("TruthVertex_X", &TruthVertex_X, &b_TruthVertex_X);
+   fChain->SetBranchAddress("TruthVertex_Y", &TruthVertex_Y, &b_TruthVertex_Y);
+   fChain->SetBranchAddress("TruthVertex_Z", &TruthVertex_Z, &b_TruthVertex_Z);
+   fChain->SetBranchAddress("TruthVertex_T", &TruthVertex_T, &b_TruthVertex_T);
+   fChain->SetBranchAddress("TruthVertex_Id", &TruthVertex_Id, &b_TruthVertex_Id);
+   fChain->SetBranchAddress("TruthParticle_n", &TruthParticle_n, &b_TruthParticle_n);
+   fChain->SetBranchAddress("TruthParticle_Pt", &TruthParticle_Pt, &b_TruthParticle_Pt);
+   fChain->SetBranchAddress("TruthParticle_Eta", &TruthParticle_Eta, &b_TruthParticle_Eta);
+   fChain->SetBranchAddress("TruthParticle_Phi", &TruthParticle_Phi, &b_TruthParticle_Phi);
+   fChain->SetBranchAddress("TruthParticle_E", &TruthParticle_E, &b_TruthParticle_E);
+   fChain->SetBranchAddress("TruthParticle_M", &TruthParticle_M, &b_TruthParticle_M);
+   fChain->SetBranchAddress("TruthParticle_Pdg", &TruthParticle_Pdg, &b_TruthParticle_Pdg);
+   fChain->SetBranchAddress("TruthParticle_Status", &TruthParticle_Status, &b_TruthParticle_Status);
+   fChain->SetBranchAddress("TruthParticle_Barcode", &TruthParticle_Barcode, &b_TruthParticle_Barcode);
+   fChain->SetBranchAddress("TruthParticle_Production_vertex_id", &TruthParticle_Production_vertex_id, &b_TruthParticle_Production_vertex_id);
+   fChain->SetBranchAddress("TruthParticle_End_vertex_id", &TruthParticle_End_vertex_id, &b_TruthParticle_End_vertex_id);
+   fChain->SetBranchAddress("MuEntry_Particle_n", &MuEntry_Particle_n, &b_MuEntryParticle_n);
+   fChain->SetBranchAddress("MuEntry_Particle_Pt", &MuEntry_Particle_Pt, &b_MuEntry_Particle_Pt);
+   fChain->SetBranchAddress("MuEntry_Particle_Eta", &MuEntry_Particle_Eta, &b_MuEntry_Particle_Eta);
+   fChain->SetBranchAddress("MuEntry_Particle_Phi", &MuEntry_Particle_Phi, &b_MuEntry_Particle_Phi);
+   fChain->SetBranchAddress("MuEntry_Particle_Pdg", &MuEntry_Particle_Pdg, &b_MuEntry_Particle_Pdg);
+   fChain->SetBranchAddress("MuEntry_Particle_Barcode", &MuEntry_Particle_Barcode, &b_MuEntry_Particle_Barcode);
+   fChain->SetBranchAddress("MuEntry_Position_Eta", &MuEntry_Position_Eta, &b_MuEntry_Position_Eta);
+   fChain->SetBranchAddress("MuEntry_Position_Phi", &MuEntry_Position_Phi, &b_MuEntry_Position_Phi);
+   fChain->SetBranchAddress("MuEntry_Position_X", &MuEntry_Position_X, &b_MuEntry_Position_X);
+   fChain->SetBranchAddress("MuEntry_Position_Y", &MuEntry_Position_Y, &b_MuEntry_Position_Y);
+   fChain->SetBranchAddress("MuEntry_Position_Z", &MuEntry_Position_Z, &b_MuEntry_Position_Z);
+   fChain->SetBranchAddress("Hits_sTGC_n", &Hits_sTGC_n, &b_Hits_sTGC_nSimHits);
+   fChain->SetBranchAddress("Hits_sTGC_trackId", &Hits_sTGC_trackId, &b_Hits_sTGC_trackId);
+   fChain->SetBranchAddress("Hits_sTGC_isInsideBounds", &Hits_sTGC_isInsideBounds, &b_Hits_sTGC_isInsideBounds);
+   fChain->SetBranchAddress("Hits_sTGC_globalTime", &Hits_sTGC_globalTime, &b_Hits_sTGC_globalTime);
+   fChain->SetBranchAddress("Hits_sTGC_hitGlobalPositionX", &Hits_sTGC_hitGlobalPositionX, &b_Hits_sTGC_hitGlobalPositionX);
+   fChain->SetBranchAddress("Hits_sTGC_hitGlobalPositionY", &Hits_sTGC_hitGlobalPositionY, &b_Hits_sTGC_hitGlobalPositionY);
+   fChain->SetBranchAddress("Hits_sTGC_hitGlobalPositionZ", &Hits_sTGC_hitGlobalPositionZ, &b_Hits_sTGC_hitGlobalPositionZ);
+   fChain->SetBranchAddress("Hits_sTGC_hitGlobalPositionR", &Hits_sTGC_hitGlobalPositionR, &b_Hits_sTGC_hitGlobalPositionR);
+   fChain->SetBranchAddress("Hits_sTGC_hitGlobalPositionP", &Hits_sTGC_hitGlobalPositionP, &b_Hits_sTGC_hitGlobalPositionP);
+   fChain->SetBranchAddress("Hits_sTGC_hitGlobalDirectionX", &Hits_sTGC_hitGlobalDirectionX, &b_Hits_sTGC_hitGlobalDirectionX);
+   fChain->SetBranchAddress("Hits_sTGC_hitGlobalDirectionY", &Hits_sTGC_hitGlobalDirectionY, &b_Hits_sTGC_hitGlobalDirectionY);
+   fChain->SetBranchAddress("Hits_sTGC_hitGlobalDirectionZ", &Hits_sTGC_hitGlobalDirectionZ, &b_Hits_sTGC_hitGlobalDirectionZ);
+   fChain->SetBranchAddress("Hits_sTGC_hitLocalPositionX", &Hits_sTGC_hitLocalPositionX, &b_Hits_sTGC_hitLocalPositionX);
+   fChain->SetBranchAddress("Hits_sTGC_hitLocalPositionY", &Hits_sTGC_hitLocalPositionY, &b_Hits_sTGC_hitLocalPositionY);
+   fChain->SetBranchAddress("Hits_sTGC_hitLocalPositionZ", &Hits_sTGC_hitLocalPositionZ, &b_Hits_sTGC_hitLocalPositionZ);
+   fChain->SetBranchAddress("Hits_sTGC_detector_globalPositionX", &Hits_sTGC_detector_globalPositionX, &b_Hits_sTGC_detector_globalPositionX);
+   fChain->SetBranchAddress("Hits_sTGC_detector_globalPositionY", &Hits_sTGC_detector_globalPositionY, &b_Hits_sTGC_detector_globalPositionY);
+   fChain->SetBranchAddress("Hits_sTGC_detector_globalPositionZ", &Hits_sTGC_detector_globalPositionZ, &b_Hits_sTGC_detector_globalPositionZ);
+   fChain->SetBranchAddress("Hits_sTGC_detector_globalPositionR", &Hits_sTGC_detector_globalPositionR, &b_Hits_sTGC_detector_globalPositionR);
+   fChain->SetBranchAddress("Hits_sTGC_detector_globalPositionP", &Hits_sTGC_detector_globalPositionP, &b_Hits_sTGC_detector_globalPositionP);
+   fChain->SetBranchAddress("Hits_sTGC_hitToDsurfacePositionX", &Hits_sTGC_hitToDsurfacePositionX, &b_Hits_sTGC_hitToDsurfacePositionX);
+   fChain->SetBranchAddress("Hits_sTGC_hitToDsurfacePositionY", &Hits_sTGC_hitToDsurfacePositionY, &b_Hits_sTGC_hitToDsurfacePositionY);
+   fChain->SetBranchAddress("Hits_sTGC_hitToDsurfacePositionZ", &Hits_sTGC_hitToDsurfacePositionZ, &b_Hits_sTGC_hitToDsurfacePositionZ);
+   fChain->SetBranchAddress("Hits_sTGC_hitToRsurfacePositionX", &Hits_sTGC_hitToRsurfacePositionX, &b_Hits_sTGC_hitToRsurfacePositionX);
+   fChain->SetBranchAddress("Hits_sTGC_hitToRsurfacePositionY", &Hits_sTGC_hitToRsurfacePositionY, &b_Hits_sTGC_hitToRsurfacePositionY);
+   fChain->SetBranchAddress("Hits_sTGC_hitToRsurfacePositionZ", &Hits_sTGC_hitToRsurfacePositionZ, &b_Hits_sTGC_hitToRsurfacePositionZ);
+   fChain->SetBranchAddress("Hits_sTGC_FastDigitRsurfacePositionX", &Hits_sTGC_FastDigitRsurfacePositionX, &b_Hits_sTGC_FastDigitRsurfacePositionX);
+   fChain->SetBranchAddress("Hits_sTGC_FastDigitRsurfacePositionY", &Hits_sTGC_FastDigitRsurfacePositionY, &b_Hits_sTGC_FastDigitRsurfacePositionY);
+   fChain->SetBranchAddress("Hits_sTGC_particleEncoding", &Hits_sTGC_particleEncoding, &b_Hits_sTGC_particleEncoding);
+   fChain->SetBranchAddress("Hits_sTGC_kineticEnergy", &Hits_sTGC_kineticEnergy, &b_Hits_sTGC_kineticEnergy);
+   fChain->SetBranchAddress("Hits_sTGC_depositEnergy", &Hits_sTGC_depositEnergy, &b_Hits_sTGC_depositEnergy);
+   fChain->SetBranchAddress("Hits_sTGC_StepLength", &Hits_sTGC_StepLength, &b_Hits_sTGC_StepLength);
+   fChain->SetBranchAddress("Hits_sTGC_sim_stationName", &Hits_sTGC_sim_stationName, &b_Hits_sTGC_sim_stationName);
+   fChain->SetBranchAddress("Hits_sTGC_wedgeId", &Hits_sTGC_wedgeId, &b_Hits_sTGC_wedgeId);
+   fChain->SetBranchAddress("Hits_sTGC_wedgeType", &Hits_sTGC_wedgeType, &b_Hits_sTGC_wedgeType);
+   fChain->SetBranchAddress("Hits_sTGC_detectorNumber", &Hits_sTGC_detectorNumber, &b_Hits_sTGC_detectorNumber);
+   fChain->SetBranchAddress("Hits_sTGC_sim_stationEta", &Hits_sTGC_sim_stationEta, &b_Hits_sTGC_sim_stationEta);
+   fChain->SetBranchAddress("Hits_sTGC_sim_stationPhi", &Hits_sTGC_sim_stationPhi, &b_Hits_sTGC_sim_stationPhi);
+   fChain->SetBranchAddress("Hits_sTGC_sim_multilayer", &Hits_sTGC_sim_multilayer, &b_Hits_sTGC_sim_multilayer);
+   fChain->SetBranchAddress("Hits_sTGC_sim_layer", &Hits_sTGC_sim_layer, &b_Hits_sTGC_sim_layer);
+   fChain->SetBranchAddress("Hits_sTGC_sim_side", &Hits_sTGC_sim_side, &b_Hits_sTGC_sim_side);
+   fChain->SetBranchAddress("Hits_sTGC_stripNumber", &Hits_sTGC_stripNumber, &b_Hits_sTGC_stripNumber);
+   fChain->SetBranchAddress("Hits_sTGC_wireNumber", &Hits_sTGC_wireNumber, &b_Hits_sTGC_wireNumber);
+   fChain->SetBranchAddress("Hits_sTGC_off_stationName", &Hits_sTGC_off_stationName, &b_Hits_sTGC_off_stationName);
+   fChain->SetBranchAddress("Hits_sTGC_off_stationEta", &Hits_sTGC_off_stationEta, &b_Hits_sTGC_off_stationEta);
+   fChain->SetBranchAddress("Hits_sTGC_off_stationPhi", &Hits_sTGC_off_stationPhi, &b_Hits_sTGC_off_stationPhi);
+   fChain->SetBranchAddress("Hits_sTGC_off_multiplet", &Hits_sTGC_off_multiplet, &b_Hits_sTGC_off_multiplet);
+   fChain->SetBranchAddress("Hits_sTGC_off_gas_gap", &Hits_sTGC_off_gas_gap, &b_Hits_sTGC_off_gas_gap);
+   fChain->SetBranchAddress("Hits_sTGC_off_channel_type", &Hits_sTGC_off_channel_type, &b_Hits_sTGC_off_channel_type);
+   fChain->SetBranchAddress("Hits_sTGC_off_channel", &Hits_sTGC_off_channel, &b_Hits_sTGC_off_channel);
+   fChain->SetBranchAddress("Digits_sTGC", &Digits_sTGC, &b_Digits_sTGC_n);
+   fChain->SetBranchAddress("Digits_sTGC_Pad_Digits", &Digits_sTGC_Pad_Digits, &b_Digits_sTGC_Pad_Digits_n);
+   fChain->SetBranchAddress("Digits_sTGC_time", &Digits_sTGC_time, &b_Digits_sTGC_time);
+   fChain->SetBranchAddress("Digits_sTGC_bctag", &Digits_sTGC_bctag, &b_Digits_sTGC_bctag);
+   fChain->SetBranchAddress("Digits_sTGC_charge", &Digits_sTGC_charge, &b_Digits_sTGC_charge);
+   fChain->SetBranchAddress("Digits_sTGC_isDead", &Digits_sTGC_isDead, &b_Digits_sTGC_isDead);
+   fChain->SetBranchAddress("Digits_sTGC_isPileup", &Digits_sTGC_isPileup, &b_Digits_sTGC_isPileup);
+   fChain->SetBranchAddress("Digits_sTGC_stationName", &Digits_sTGC_stationName, &b_Digits_sTGC_stationName);
+   fChain->SetBranchAddress("Digits_sTGC_stationEta", &Digits_sTGC_stationEta, &b_Digits_sTGC_stationEta);
+   fChain->SetBranchAddress("Digits_sTGC_stationPhi", &Digits_sTGC_stationPhi, &b_Digits_sTGC_stationPhi);
+   fChain->SetBranchAddress("Digits_sTGC_multiplet", &Digits_sTGC_multiplet, &b_Digits_sTGC_multiplet);
+   fChain->SetBranchAddress("Digits_sTGC_gas_gap", &Digits_sTGC_gas_gap, &b_Digits_sTGC_gas_gap);
+   fChain->SetBranchAddress("Digits_sTGC_channel_type", &Digits_sTGC_channel_type, &b_Digits_sTGC_channel_type);
+   fChain->SetBranchAddress("Digits_sTGC_channel", &Digits_sTGC_channel, &b_Digits_sTGC_channel);
+   fChain->SetBranchAddress("Digits_sTGC_stationEtaMin", &Digits_sTGC_stationEtaMin, &b_Digits_sTGC_stationEtaMin);
+   fChain->SetBranchAddress("Digits_sTGC_stationEtaMax", &Digits_sTGC_stationEtaMax, &b_Digits_sTGC_stationEtaMax);
+   fChain->SetBranchAddress("Digits_sTGC_stationPhiMin", &Digits_sTGC_stationPhiMin, &b_Digits_sTGC_stationPhiMin);
+   fChain->SetBranchAddress("Digits_sTGC_stationPhiMax", &Digits_sTGC_stationPhiMax, &b_Digits_sTGC_stationPhiMax);
+   fChain->SetBranchAddress("Digits_sTGC_gas_gapMin", &Digits_sTGC_gas_gapMin, &b_Digits_sTGC_gas_gapMin);
+   fChain->SetBranchAddress("Digits_sTGC_gas_gapMax", &Digits_sTGC_gas_gapMax, &b_Digits_sTGC_gas_gapMax);
+   fChain->SetBranchAddress("Digits_sTGC_padEta", &Digits_sTGC_padEta, &b_Digits_sTGC_padEta);
+   fChain->SetBranchAddress("Digits_sTGC_padPhi", &Digits_sTGC_padPhi, &b_Digits_sTGC_padPhi);
+   fChain->SetBranchAddress("Digits_sTGC_numberOfMultilayers", &Digits_sTGC_numberOfMultilayers, &b_Digits_sTGC_numberOfMultilayers);
+   fChain->SetBranchAddress("Digits_sTGC_multilayerMin", &Digits_sTGC_multilayerMin, &b_Digits_sTGC_multilayerMin);
+   fChain->SetBranchAddress("Digits_sTGC_multilayerMax", &Digits_sTGC_multilayerMax, &b_Digits_sTGC_multilayerMax);
+   fChain->SetBranchAddress("Digits_sTGC_channelTypeMin", &Digits_sTGC_channelTypeMin, &b_Digits_sTGC_channelTypeMin);
+   fChain->SetBranchAddress("Digits_sTGC_channelTypeMax", &Digits_sTGC_channelTypeMax, &b_Digits_sTGC_channelTypeMax);
+   fChain->SetBranchAddress("Digits_sTGC_channelMin", &Digits_sTGC_channelMin, &b_Digits_sTGC_channelMin);
+   fChain->SetBranchAddress("Digits_sTGC_channelMax", &Digits_sTGC_channelMax, &b_Digits_sTGC_channelMax);
+   fChain->SetBranchAddress("Digits_sTGC_channelNumber", &Digits_sTGC_channelNumber, &b_Digits_sTGC_channelNumber);
+   fChain->SetBranchAddress("Digits_sTGC_channelPosX", &Digits_sTGC_channelPosX, &b_Digits_sTGC_channelPosX);
+   fChain->SetBranchAddress("Digits_sTGC_channelPosY", &Digits_sTGC_channelPosY, &b_Digits_sTGC_channelPosY);
+   fChain->SetBranchAddress("Digits_sTGC_localPosX", &Digits_sTGC_localPosX, &b_Digits_sTGC_localPosX);
+   fChain->SetBranchAddress("Digits_sTGC_localPosY", &Digits_sTGC_localPosY, &b_Digits_sTGC_localPosY);
+   fChain->SetBranchAddress("Digits_sTGC_globalPosX", &Digits_sTGC_globalPosX, &b_Digits_sTGC_globalPosX);
+   fChain->SetBranchAddress("Digits_sTGC_globalPosY", &Digits_sTGC_globalPosY, &b_Digits_sTGC_globalPosY);
+   fChain->SetBranchAddress("Digits_sTGC_globalPosZ", &Digits_sTGC_globalPosZ, &b_Digits_sTGC_globalPosZ);
+   fChain->SetBranchAddress("Digits_sTGC_PadglobalCornerPosX", &Digits_sTGC_PadglobalCornerPosX, &b_Digits_sTGC_PadglobalCornerPosX);
+   fChain->SetBranchAddress("Digits_sTGC_PadglobalCornerPosY", &Digits_sTGC_PadglobalCornerPosY, &b_Digits_sTGC_PadglobalCornerPosY);
+   fChain->SetBranchAddress("Digits_sTGC_PadglobalCornerPosZ", &Digits_sTGC_PadglobalCornerPosZ, &b_Digits_sTGC_PadglobalCornerPosZ);
+   fChain->SetBranchAddress("SDO_sTGC", &SDO_sTGC, &b_SDOs_sTGC_n);
+   fChain->SetBranchAddress("SDO_sTGC_stationName", &SDO_sTGC_stationName, &b_SDO_sTGC_stationName);
+   fChain->SetBranchAddress("SDO_sTGC_stationEta", &SDO_sTGC_stationEta, &b_SDO_sTGC_stationEta);
+   fChain->SetBranchAddress("SDO_sTGC_stationPhi", &SDO_sTGC_stationPhi, &b_SDO_sTGC_stationPhi);
+   fChain->SetBranchAddress("SDO_sTGC_multiplet", &SDO_sTGC_multiplet, &b_SDO_sTGC_multiplet);
+   fChain->SetBranchAddress("SDO_sTGC_gas_gap", &SDO_sTGC_gas_gap, &b_SDO_sTGC_gas_gap);
+   fChain->SetBranchAddress("SDO_sTGC_channel", &SDO_sTGC_channel, &b_SDO_sTGC_channel);
+   fChain->SetBranchAddress("SDO_sTGC_channel_type", &SDO_sTGC_channel_type, &b_SDO_sTGC_channel_type);
+   fChain->SetBranchAddress("SDO_sTGC_word", &SDO_sTGC_word, &b_SDO_sTGC_word);
+   fChain->SetBranchAddress("SDO_sTGC_barcode", &SDO_sTGC_barcode, &b_SDO_sTGC_barcode);
+   fChain->SetBranchAddress("SDO_sTGC_globalPosX", &SDO_sTGC_globalPosX, &b_SDO_sTGC_globalPosX);
+   fChain->SetBranchAddress("SDO_sTGC_globalPosY", &SDO_sTGC_globalPosY, &b_SDO_sTGC_globalPosY);
+   fChain->SetBranchAddress("SDO_sTGC_globalPosZ", &SDO_sTGC_globalPosZ, &b_SDO_sTGC_globalPosZ);
+   fChain->SetBranchAddress("SDO_sTGC_global_time", &SDO_sTGC_global_time, &b_SDO_sTGC_global_time);
+   fChain->SetBranchAddress("SDO_sTGC_Energy", &SDO_sTGC_Energy, &b_SDO_sTGC_Energy);
+   fChain->SetBranchAddress("SDO_sTGC_tof", &SDO_sTGC_tof, &b_SDO_sTGC_tof);
+   fChain->SetBranchAddress("SDO_sTGC_localPosX", &SDO_sTGC_localPosX, &b_SDO_sTGC_localPosX);
+   fChain->SetBranchAddress("SDO_sTGC_localPosY", &SDO_sTGC_localPosY, &b_SDO_sTGC_localPosY);
+   fChain->SetBranchAddress("RDO_sTGC_n", &RDO_sTGC_n, &b_RDO_sTGC_n);
+   fChain->SetBranchAddress("RDO_sTGC_stationName", &RDO_sTGC_stationName, &b_RDO_sTGC_stationName);
+   fChain->SetBranchAddress("RDO_sTGC_stationEta", &RDO_sTGC_stationEta, &b_RDO_sTGC_stationEta);
+   fChain->SetBranchAddress("RDO_sTGC_stationPhi", &RDO_sTGC_stationPhi, &b_RDO_sTGC_stationPhi);
+   fChain->SetBranchAddress("RDO_sTGC_multiplet", &RDO_sTGC_multiplet, &b_RDO_sTGC_multiplet);
+   fChain->SetBranchAddress("RDO_sTGC_gas_gap", &RDO_sTGC_gas_gap, &b_RDO_sTGC_gas_gap);
+   fChain->SetBranchAddress("RDO_sTGC_channel", &RDO_sTGC_channel, &b_RDO_sTGC_channel);
+   fChain->SetBranchAddress("RDO_sTGC_channel_type", &RDO_sTGC_channel_type, &b_RDO_sTGC_channel_type);
+   fChain->SetBranchAddress("RDO_sTGC_time", &RDO_sTGC_time, &b_RDO_sTGC_time);
+   fChain->SetBranchAddress("RDO_sTGC_charge", &RDO_sTGC_charge, &b_RDO_sTGC_charge);
+   fChain->SetBranchAddress("RDO_sTGC_bcTag", &RDO_sTGC_bcTag, &b_RDO_sTGC_bcTag);
+   fChain->SetBranchAddress("RDO_sTGC_isDead", &RDO_sTGC_isDead, &b_RDO_sTGC_isDead);
+   fChain->SetBranchAddress("PRD_sTGC", &PRD_sTGC, &b_PRDs_sTGC_n);
+   fChain->SetBranchAddress("PRD_sTGC_stationName", &PRD_sTGC_stationName, &b_PRD_sTGC_stationName);
+   fChain->SetBranchAddress("PRD_sTGC_stationEta", &PRD_sTGC_stationEta, &b_PRD_sTGC_stationEta);
+   fChain->SetBranchAddress("PRD_sTGC_stationPhi", &PRD_sTGC_stationPhi, &b_PRD_sTGC_stationPhi);
+   fChain->SetBranchAddress("PRD_sTGC_multiplet", &PRD_sTGC_multiplet, &b_PRD_sTGC_multiplet);
+   fChain->SetBranchAddress("PRD_sTGC_gas_gap", &PRD_sTGC_gas_gap, &b_PRD_sTGC_gas_gap);
+   fChain->SetBranchAddress("PRD_sTGC_channel_type", &PRD_sTGC_channel_type, &b_PRD_sTGC_channel_type);
+   fChain->SetBranchAddress("PRD_sTGC_channel", &PRD_sTGC_channel, &b_PRD_sTGC_channel);
+   fChain->SetBranchAddress("PRD_sTGC_globalPosX", &PRD_sTGC_globalPosX, &b_PRD_sTGC_globalPosX);
+   fChain->SetBranchAddress("PRD_sTGC_globalPosY", &PRD_sTGC_globalPosY, &b_PRD_sTGC_globalPosY);
+   fChain->SetBranchAddress("PRD_sTGC_globalPosZ", &PRD_sTGC_globalPosZ, &b_PRD_sTGC_globalPosZ);
+   fChain->SetBranchAddress("PRD_sTGC_localPosX", &PRD_sTGC_localPosX, &b_PRD_sTGC_localPosX);
+   fChain->SetBranchAddress("PRD_sTGC_localPosY", &PRD_sTGC_localPosY, &b_PRD_sTGC_localPosY);
+   fChain->SetBranchAddress("PRD_sTGC_covMatrix_1_1", &PRD_sTGC_covMatrix_1_1, &b_PRD_sTGC_covMatrix_1_1);
+   fChain->SetBranchAddress("PRD_sTGC_covMatrix_2_2", &PRD_sTGC_covMatrix_2_2, &b_PRD_sTGC_covMatrix_2_2);
+   fChain->SetBranchAddress("Hits_MM_n", &Hits_MM_n, &b_Hits_MM_n);
+   fChain->SetBranchAddress("Hits_MM_trackId", &Hits_MM_trackId, &b_Hits_MM_trackId);
+   fChain->SetBranchAddress("Hits_MM_isInsideBounds", &Hits_MM_isInsideBounds, &b_Hits_MM_isInsideBounds);
+   fChain->SetBranchAddress("Hits_MM_globalTime", &Hits_MM_globalTime, &b_Hits_MM_globalTime);
+   fChain->SetBranchAddress("Hits_MM_hitGlobalPositionX", &Hits_MM_hitGlobalPositionX, &b_Hits_MM_hitGlobalPositionX);
+   fChain->SetBranchAddress("Hits_MM_hitGlobalPositionY", &Hits_MM_hitGlobalPositionY, &b_Hits_MM_hitGlobalPositionY);
+   fChain->SetBranchAddress("Hits_MM_hitGlobalPositionZ", &Hits_MM_hitGlobalPositionZ, &b_Hits_MM_hitGlobalPositionZ);
+   fChain->SetBranchAddress("Hits_MM_hitGlobalPositionR", &Hits_MM_hitGlobalPositionR, &b_Hits_MM_hitGlobalPositionR);
+   fChain->SetBranchAddress("Hits_MM_hitGlobalPositionP", &Hits_MM_hitGlobalPositionP, &b_Hits_MM_hitGlobalPositionP);
+   fChain->SetBranchAddress("Hits_MM_hitGlobalDirectionX", &Hits_MM_hitGlobalDirectionX, &b_Hits_MM_hitGlobalDirectionX);
+   fChain->SetBranchAddress("Hits_MM_hitGlobalDirectionY", &Hits_MM_hitGlobalDirectionY, &b_Hits_MM_hitGlobalDirectionY);
+   fChain->SetBranchAddress("Hits_MM_hitGlobalDirectionZ", &Hits_MM_hitGlobalDirectionZ, &b_Hits_MM_hitGlobalDirectionZ);
+   fChain->SetBranchAddress("Hits_MM_hitLocalPositionX", &Hits_MM_hitLocalPositionX, &b_Hits_MM_hitLocalPositionX);
+   fChain->SetBranchAddress("Hits_MM_hitLocalPositionY", &Hits_MM_hitLocalPositionY, &b_Hits_MM_hitLocalPositionY);
+   fChain->SetBranchAddress("Hits_MM_hitLocalPositionZ", &Hits_MM_hitLocalPositionZ, &b_Hits_MM_hitLocalPositionZ);
+   fChain->SetBranchAddress("Hits_MM_detector_globalPositionX", &Hits_MM_detector_globalPositionX, &b_Hits_MM_detector_globalPositionX);
+   fChain->SetBranchAddress("Hits_MM_detector_globalPositionY", &Hits_MM_detector_globalPositionY, &b_Hits_MM_detector_globalPositionY);
+   fChain->SetBranchAddress("Hits_MM_detector_globalPositionZ", &Hits_MM_detector_globalPositionZ, &b_Hits_MM_detector_globalPositionZ);
+   fChain->SetBranchAddress("Hits_MM_detector_globalPositionR", &Hits_MM_detector_globalPositionR, &b_Hits_MM_detector_globalPositionR);
+   fChain->SetBranchAddress("Hits_MM_detector_globalPositionP", &Hits_MM_detector_globalPositionP, &b_Hits_MM_detector_globalPositionP);
+   fChain->SetBranchAddress("Hits_MM_hitToDsurfacePositionX", &Hits_MM_hitToDsurfacePositionX, &b_Hits_MM_hitToDsurfacePositionX);
+   fChain->SetBranchAddress("Hits_MM_hitToDsurfacePositionY", &Hits_MM_hitToDsurfacePositionY, &b_Hits_MM_hitToDsurfacePositionY);
+   fChain->SetBranchAddress("Hits_MM_hitToDsurfacePositionZ", &Hits_MM_hitToDsurfacePositionZ, &b_Hits_MM_hitToDsurfacePositionZ);
+   fChain->SetBranchAddress("Hits_MM_hitToRsurfacePositionX", &Hits_MM_hitToRsurfacePositionX, &b_Hits_MM_hitToRsurfacePositionX);
+   fChain->SetBranchAddress("Hits_MM_hitToRsurfacePositionY", &Hits_MM_hitToRsurfacePositionY, &b_Hits_MM_hitToRsurfacePositionY);
+   fChain->SetBranchAddress("Hits_MM_hitToRsurfacePositionZ", &Hits_MM_hitToRsurfacePositionZ, &b_Hits_MM_hitToRsurfacePositionZ);
+   fChain->SetBranchAddress("Hits_MM_FastDigitRsurfacePositionX", &Hits_MM_FastDigitRsurfacePositionX, &b_Hits_MM_FastDigitRsurfacePositionX);
+   fChain->SetBranchAddress("Hits_MM_FastDigitRsurfacePositionY", &Hits_MM_FastDigitRsurfacePositionY, &b_Hits_MM_FastDigitRsurfacePositionY);
+   fChain->SetBranchAddress("Hits_MM_particleEncoding", &Hits_MM_particleEncoding, &b_Hits_MM_particleEncoding);
+   fChain->SetBranchAddress("Hits_MM_kineticEnergy", &Hits_MM_kineticEnergy, &b_Hits_MM_kineticEnergy);
+   fChain->SetBranchAddress("Hits_MM_depositEnergy", &Hits_MM_depositEnergy, &b_Hits_MM_depositEnergy);
+   fChain->SetBranchAddress("Hits_MM_StepLength", &Hits_MM_StepLength, &b_Hits_MM_StepLength);
+   fChain->SetBranchAddress("Hits_MM_sim_stationName", &Hits_MM_sim_stationName, &b_Hits_MM_sim_stationName);
+   fChain->SetBranchAddress("Hits_MM_sim_stationEta", &Hits_MM_sim_stationEta, &b_Hits_MM_sim_stationEta);
+   fChain->SetBranchAddress("Hits_MM_sim_stationPhi", &Hits_MM_sim_stationPhi, &b_Hits_MM_sim_stationPhi);
+   fChain->SetBranchAddress("Hits_MM_sim_multilayer", &Hits_MM_sim_multilayer, &b_Hits_MM_sim_multilayer);
+   fChain->SetBranchAddress("Hits_MM_sim_layer", &Hits_MM_sim_layer, &b_Hits_MM_sim_layer);
+   fChain->SetBranchAddress("Hits_MM_sim_side", &Hits_MM_sim_side, &b_Hits_MM_sim_side);
+   fChain->SetBranchAddress("Hits_MM_off_stationName", &Hits_MM_off_stationName, &b_Hits_MM_off_stationName);
+   fChain->SetBranchAddress("Hits_MM_off_stationEta", &Hits_MM_off_stationEta, &b_Hits_MM_off_stationEta);
+   fChain->SetBranchAddress("Hits_MM_off_stationPhi", &Hits_MM_off_stationPhi, &b_Hits_MM_off_stationPhi);
+   fChain->SetBranchAddress("Hits_MM_off_multiplet", &Hits_MM_off_multiplet, &b_Hits_MM_off_multiplet);
+   fChain->SetBranchAddress("Hits_MM_off_gas_gap", &Hits_MM_off_gas_gap, &b_Hits_MM_off_gas_gap);
+   fChain->SetBranchAddress("Hits_MM_off_channel", &Hits_MM_off_channel, &b_Hits_MM_off_channel);
+   fChain->SetBranchAddress("Digits_MM", &Digits_MM, &b_Digits_MM_n);
+   fChain->SetBranchAddress("Digits_MM_stationName", &Digits_MM_stationName, &b_Digits_MM_stationName);
+   fChain->SetBranchAddress("Digits_MM_stationEta", &Digits_MM_stationEta, &b_Digits_MM_stationEta);
+   fChain->SetBranchAddress("Digits_MM_stationPhi", &Digits_MM_stationPhi, &b_Digits_MM_stationPhi);
+   fChain->SetBranchAddress("Digits_MM_multiplet", &Digits_MM_multiplet, &b_Digits_MM_multiplet);
+   fChain->SetBranchAddress("Digits_MM_gas_gap", &Digits_MM_gas_gap, &b_Digits_MM_gas_gap);
+   fChain->SetBranchAddress("Digits_MM_channel", &Digits_MM_channel, &b_Digits_MM_channel);
+   fChain->SetBranchAddress("Digits_MM_time", &Digits_MM_time, &b_Digits_MM_time);
+   fChain->SetBranchAddress("Digits_MM_charge", &Digits_MM_charge, &b_Digits_MM_charge);
+   fChain->SetBranchAddress("Digits_MM_stripPosition", &Digits_MM_stripPosition, &b_Digits_MM_stripPosition);
+   fChain->SetBranchAddress("Digits_MM_stripLposX", &Digits_MM_stripLposX, &b_Digits_MM_stripLposX);
+   fChain->SetBranchAddress("Digits_MM_stripLposY", &Digits_MM_stripLposY, &b_Digits_MM_stripLposY);
+   fChain->SetBranchAddress("Digits_MM_stripGposX", &Digits_MM_stripGposX, &b_Digits_MM_stripGposX);
+   fChain->SetBranchAddress("Digits_MM_stripGposY", &Digits_MM_stripGposY, &b_Digits_MM_stripGposY);
+   fChain->SetBranchAddress("Digits_MM_stripGposZ", &Digits_MM_stripGposZ, &b_Digits_MM_stripGposZ);
+   fChain->SetBranchAddress("Digits_MM_stripResponse_time", &Digits_MM_stripResponse_time, &b_Digits_MM_stripResponse_time);
+   fChain->SetBranchAddress("Digits_MM_stripResponse_charge", &Digits_MM_stripResponse_charge, &b_Digits_MM_stripResponse_charge);
+   fChain->SetBranchAddress("Digits_MM_stripResponse_stripPosition", &Digits_MM_stripResponse_stripPosition, &b_Digits_MM_stripResponse_stripPosition);
+   fChain->SetBranchAddress("Digits_MM_stripResponse_stripLposX", &Digits_MM_stripResponse_stripLposX, &b_Digits_MM_stripResponse_stripLposX);
+   fChain->SetBranchAddress("Digits_MM_stripResponse_stripLposY", &Digits_MM_stripResponse_stripLposY, &b_Digits_MM_stripResponse_stripLposY);
+   fChain->SetBranchAddress("Digits_MM_stripresponse_stripGposX", &Digits_MM_stripresponse_stripGposX, &b_Digits_MM_stripresponse_stripGposX);
+   fChain->SetBranchAddress("Digits_MM_stripResponse_stripGposY", &Digits_MM_stripResponse_stripGposY, &b_Digits_MM_stripResponse_stripGposY);
+   fChain->SetBranchAddress("Digits_MM_stripResponse_stripGposZ", &Digits_MM_stripResponse_stripGposZ, &b_Digits_MM_stripResponse_stripGposZ);
+   fChain->SetBranchAddress("Digits_MM_time_trigger", &Digits_MM_time_trigger, &b_Digits_MM_time_trigger);
+   fChain->SetBranchAddress("Digits_MM_charge_trigger", &Digits_MM_charge_trigger, &b_Digits_MM_charge_trigger);
+   fChain->SetBranchAddress("Digits_MM_position_trigger", &Digits_MM_position_trigger, &b_Digits_MM_position_trigger);
+   fChain->SetBranchAddress("Digits_MM_MMFE_VMM_id_trigger", &Digits_MM_MMFE_VMM_id_trigger, &b_Digits_MM_MMFE_VMM_id_trigger);
+   fChain->SetBranchAddress("Digits_MM_VMM_id_trigger", &Digits_MM_VMM_id_trigger, &b_Digits_MM_VMM_id_trigger);
+   fChain->SetBranchAddress("SDO_MM", &SDO_MM, &b_SDOs_MM_n);
+   fChain->SetBranchAddress("SDO_MM_stationName", &SDO_MM_stationName, &b_SDO_MM_stationName);
+   fChain->SetBranchAddress("SDO_MM_stationEta", &SDO_MM_stationEta, &b_SDO_MM_stationEta);
+   fChain->SetBranchAddress("SDO_MM_stationPhi", &SDO_MM_stationPhi, &b_SDO_MM_stationPhi);
+   fChain->SetBranchAddress("SDO_MM_multiplet", &SDO_MM_multiplet, &b_SDO_MM_multiplet);
+   fChain->SetBranchAddress("SDO_MM_gas_gap", &SDO_MM_gas_gap, &b_SDO_MM_gas_gap);
+   fChain->SetBranchAddress("SDO_MM_channel", &SDO_MM_channel, &b_SDO_MM_channel);
+   fChain->SetBranchAddress("SDO_MM_word", &SDO_MM_word, &b_SDO_MM_word);
+   fChain->SetBranchAddress("SDO_MM_barcode", &SDO_MM_barcode, &b_SDO_MM_barcode);
+   fChain->SetBranchAddress("SDO_MM_globalPosX", &SDO_MM_globalPosX, &b_SDO_MM_globalPosX);
+   fChain->SetBranchAddress("SDO_MM_globalPosY", &SDO_MM_globalPosY, &b_SDO_MM_globalPosY);
+   fChain->SetBranchAddress("SDO_MM_globalPosZ", &SDO_MM_globalPosZ, &b_SDO_MM_globalPosZ);
+   fChain->SetBranchAddress("SDO_MM_global_time", &SDO_MM_global_time, &b_SDO_MM_global_time);
+   fChain->SetBranchAddress("SDO_MM_localPosX", &SDO_MM_localPosX, &b_SDO_MM_localPosX);
+   fChain->SetBranchAddress("SDO_MM_localPosY", &SDO_MM_localPosY, &b_SDO_MM_localPosY);
+   fChain->SetBranchAddress("RDO_MM_n", &RDO_MM_n, &b_RDO_MM_n);
+   fChain->SetBranchAddress("RDO_MM_stationName", &RDO_MM_stationName, &b_RDO_MM_stationName);
+   fChain->SetBranchAddress("RDO_MM_stationEta", &RDO_MM_stationEta, &b_RDO_MM_stationEta);
+   fChain->SetBranchAddress("RDO_MM_stationPhi", &RDO_MM_stationPhi, &b_RDO_MM_stationPhi);
+   fChain->SetBranchAddress("RDO_MM_multiplet", &RDO_MM_multiplet, &b_RDO_MM_multiplet);
+   fChain->SetBranchAddress("RDO_MM_gas_gap", &RDO_MM_gas_gap, &b_RDO_MM_gas_gap);
+   fChain->SetBranchAddress("RDO_MM_channel", &RDO_MM_channel, &b_RDO_MM_channel);
+   fChain->SetBranchAddress("RDO_MM_time", &RDO_MM_time, &b_RDO_MM_time);
+   fChain->SetBranchAddress("RDO_MM_charge", &RDO_MM_charge, &b_RDO_MM_charge);
+   fChain->SetBranchAddress("PRD_MM", &PRD_MM, &b_PRDs_MM_n);
+   fChain->SetBranchAddress("PRD_MM_stationName", &PRD_MM_stationName, &b_PRD_MM_stationName);
+   fChain->SetBranchAddress("PRD_MM_stationEta", &PRD_MM_stationEta, &b_PRD_MM_stationEta);
+   fChain->SetBranchAddress("PRD_MM_stationPhi", &PRD_MM_stationPhi, &b_PRD_MM_stationPhi);
+   fChain->SetBranchAddress("PRD_MM_multiplet", &PRD_MM_multiplet, &b_PRD_MM_multiplet);
+   fChain->SetBranchAddress("PRD_MM_gas_gap", &PRD_MM_gas_gap, &b_PRD_MM_gas_gap);
+   fChain->SetBranchAddress("PRD_MM_channel", &PRD_MM_channel, &b_PRD_MM_channel);
+   fChain->SetBranchAddress("PRD_MM_globalPosX", &PRD_MM_globalPosX, &b_PRD_MM_globalPosX);
+   fChain->SetBranchAddress("PRD_MM_globalPosY", &PRD_MM_globalPosY, &b_PRD_MM_globalPosY);
+   fChain->SetBranchAddress("PRD_MM_globalPosZ", &PRD_MM_globalPosZ, &b_PRD_MM_globalPosZ);
+   fChain->SetBranchAddress("PRD_MM_localPosX", &PRD_MM_localPosX, &b_PRD_MM_localPosX);
+   fChain->SetBranchAddress("PRD_MM_localPosY", &PRD_MM_localPosY, &b_PRD_MM_localPosY);
+   fChain->SetBranchAddress("PRD_MM_covMatrix_1_1", &PRD_MM_covMatrix_1_1, &b_PRD_MM_covMatrix_1_1);
+   Notify();
+}
+
+Bool_t NSWstudies::Notify()
+{
+   // The Notify() function is called when a new file is opened. This
+   // can be either for a new TTree in a TChain or when when a new TTree
+   // is started when using PROOF. It is normally not necessary to make changes
+   // to the generated code, but the routine can be extended by the
+   // user if needed. The return value is currently not used.
+
+   return kTRUE;
+}
+
+void NSWstudies::Show(Long64_t entry)
+{
+// Print contents of entry.
+// If entry is not specified, print current entry
+   if (!fChain) return;
+   fChain->Show(entry);
+}
+Int_t NSWstudies::Cut(Long64_t entry)
+{
+// This function may be called from Loop.
+// returns  1 if entry is accepted.
+// returns -1 otherwise.
+   return 1;
+}
+#endif // #ifdef NSWstudies_cxx
diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/macros/NSWMatching_offline/NSWstudies_match.C b/MuonSpectrometer/MuonValidation/MuonPRDTest/macros/NSWMatching_offline/NSWstudies_match.C
new file mode 100644
index 000000000000..fc59bc4428ab
--- /dev/null
+++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/macros/NSWMatching_offline/NSWstudies_match.C
@@ -0,0 +1,456 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#define NSWstudies_cxx
+#include <TH2.h>
+#include <TStyle.h>
+#include <TCanvas.h>
+#include <TFile.h>
+#include <TH1.h>
+#include <TH3.h>
+#include <cmath>
+#include <iostream>
+
+#include "../efficiency.C"
+
+#include "NSWstudies_match.h"
+#include "NSWstudies.h"
+
+using namespace std;
+
+void validateHits(Flocalize_collection& Hits, vector<bool>* insideBounds, vector<int>* pdgCodes);
+void init_hists (vector< TH1I* >& hist_vec, bool isMM, string datatype, string matchedwith);
+bool doEvt (int evtnr);
+void write_and_delete (vector< TH1I* > vec);
+void init_hist_pull (vector< TH1F*>& hist_pull);
+
+//Inputs
+int min_mismatched_channel = 0;
+int max_diff = 3;
+
+// log settings
+bool quiet = true;
+bool printDigits = false;
+bool printHits = false;
+
+// Helpers in development:
+// Validate hits beforehand
+bool digi_test = false;
+// Does the electron check do anything?
+bool doElectronCheck = true;
+
+
+// To test two data objects versus each other change the input of match_Hits_Digits and fillHists functions!!
+void NSWstudies::Loop()
+{
+   bool doMM = 1;
+   bool dosTGC = 1;
+
+   TFile *outFile = new TFile("RootFiles/NSWVal_Hists.root", "recreate");
+   vector< TH1I* > hist_MM_digits;
+   vector< TH1I* > hist_MM_hits;
+   vector< TH1I* > hist_sTGC_digits;
+   vector< TH1I* > hist_sTGC_hits;
+   TH2D *hist_MM_global_digits = new TH2D ("MM_Global_pos_mismatched_digits", "MM_Global_pos_mismatched_digits", 50, -6000., 6000., 50, -6000., 6000.);
+   TH2D *hist_MM_global_hits = new TH2D ("MM_Global_pos_mismatched_hits", "MM_Global_pos_mismatched_hits", 50, -6000., 6000., 50, -6000., 6000.);
+   TH2D *hist_sTGC_global_digits = new TH2D ("sTGC_Global_pos_mismatched_digits", "sTGC_Global_pos_mismatched_digits", 50, -6000., 6000., 50, -6000., 6000.);
+   TH2D *hist_sTGC_global_hits = new TH2D ("sTGC_Global_pos_mismatched_hits", "sTGC_Global_pos_mismatched_hits", 50, -6000., 6000., 50, -6000., 6000.);
+
+   vector< TH1F* > hist_pull;
+   init_hist_pull(hist_pull);
+
+//   In a ROOT session, you can do:
+//      root> .L NSWstudies.C
+//      root> NSWstudies t
+//      root> t.GetEntry(12); // Fill t data members with entry number 12
+//      root> t.Show();       // Show values of entry 12
+//      root> t.Show(16);     // Read and show values of entry 16
+//      root> t.Loop();       // Loop on all entriess
+//
+
+//     This is the loop skeleton where:
+//    jentry is the global entry number in the chain
+//    ientry is the entry number in the current Tree
+//  Note that the argument to GetEntry must be:
+//    jentry for TChain::GetEntry
+//    ientry for TTree::GetEntry and TBranch::GetEntry
+//
+//       To read only selected branches, Insert statements like:
+// METHOD1:
+//    fChain->SetBranchStatus("*",0);  // disable all branches
+//    fChain->SetBranchStatus("branchname",1);  // activate branchname
+// METHOD2: replace line
+//    fChain->GetEntry(jentry);       //read all branches
+//by  b_branchname->GetEntry(ientry); //read only this branch
+   if (fChain == 0) return;
+
+   Long64_t nentries = fChain->GetEntriesFast();
+
+   //DEBUG: look only at n events
+   Long64_t firstentry = 0;
+   //nentries = 100;
+
+   Long64_t jentry;
+   Long64_t nbytes = 0, nb = 0;
+   for (jentry=firstentry; jentry<nentries;jentry++) {
+      Long64_t ientry = LoadTree(jentry);
+      if (ientry < 0) break;
+      nb = fChain->GetEntry(jentry);   nbytes += nb;
+      if (!doEvt(eventNumber)) {continue;}
+      // if (Cut(ientry) < 0) continue;
+     
+      //only muon events:
+      bool allMu = true;
+      int mu_pdg = 13;
+      for (int pdg : *TruthParticle_Pdg) { allMu &= (abs(pdg) == mu_pdg); }
+      if (!allMu) { continue; }
+      
+      if (!quiet) {
+         printf("\n**** Event: %d ****\n", eventNumber);
+       /*  printf("\nMM's\n");printf("number of truthparticles: %lu\n", TruthParticle_Pdg->size());
+            for (int pdg : *TruthParticle_Pdg) { printf("   namely: %d\n", pdg);}
+            for (double Pt : *TruthParticle_Pt) { printf("  Pt: %f\n", Pt); }*/
+      }
+
+      if (dosTGC) {
+         Flocalize_collection oHits_sTGC ("Hits", Hits_sTGC_off_stationName, Hits_sTGC_off_stationEta, Hits_sTGC_off_stationPhi, Hits_sTGC_off_multiplet, Hits_sTGC_off_gas_gap, Hits_sTGC_off_channel, Hits_sTGC_off_channel_type);
+         if (digi_test) validateHits(oHits_sTGC, Hits_sTGC_isInsideBounds, Hits_sTGC_particleEncoding);
+         Flocalize_collection oDigits_sTGC ("Digits", Digits_sTGC_stationName, Digits_sTGC_stationEta, Digits_sTGC_stationPhi, Digits_sTGC_multiplet, Digits_sTGC_gas_gap, Digits_sTGC_channel, Digits_sTGC_channel_type);
+         Flocalize_collection oSDO_sTGC ("SDOs", SDO_sTGC_stationName, SDO_sTGC_stationEta, SDO_sTGC_stationPhi, SDO_sTGC_multiplet, SDO_sTGC_gas_gap, SDO_sTGC_channel, SDO_sTGC_channel_type);
+         Flocalize_collection oRDO_sTGC ("RDOs", RDO_sTGC_stationName, RDO_sTGC_stationEta, RDO_sTGC_stationPhi, RDO_sTGC_multiplet, RDO_sTGC_gas_gap, RDO_sTGC_channel, RDO_sTGC_channel_type);
+         Flocalize_collection oPRD_sTGC ("PRDs", PRD_sTGC_stationName, PRD_sTGC_stationEta, PRD_sTGC_stationPhi, PRD_sTGC_multiplet, PRD_sTGC_gas_gap, PRD_sTGC_channel, PRD_sTGC_channel_type);
+         match_Hits_Digits(oRDO_sTGC, oPRD_sTGC);
+         fillHists(oRDO_sTGC, hist_sTGC_hits);
+         fillHists(oPRD_sTGC, hist_sTGC_digits);
+
+         plotError (oPRD_sTGC, hist_pull);
+         
+         /*/Digits to Hits 2D:
+         for (unsigned int k = 0; k < oDigits_sTGC.size(); ++k) {
+            int diff = oDigits_sTGC.matchedchannel.at(k) - oDigits_sTGC.channel->at(k);
+            if ((oDigits_sTGC.matchedchannel.at(k) < 0 || abs(diff) > 3) && oDigits_sTGC.channel->at(k) > min_mismatched_channel) {
+               hist_sTGC_global_digits->Fill(Digits_sTGC_globalPosX->at(k), Digits_sTGC_globalPosY->at(k));
+            }
+         }
+         //Hits to Digits 2D:
+         for (unsigned int k = 0; k < oHits_sTGC.size(); ++k) {
+            int diff = oHits_sTGC.matchedchannel.at(k) - oHits_sTGC.channel->at(k);
+            if ((oHits_sTGC.matchedchannel.at(k) < 0 || abs(diff) > 3) && oHits_sTGC.channel->at(k) > min_mismatched_channel) {
+               hist_sTGC_global_hits->Fill(Hits_sTGC_detector_globalPositionX->at(k), Hits_sTGC_detector_globalPositionY->at(k));
+            }
+         }*/
+      }
+      if (doMM) {
+         // No channel type for MM!
+         Flocalize_collection oHits_MM ("Hits", Hits_MM_off_stationName, Hits_MM_off_stationEta, Hits_MM_off_stationPhi, Hits_MM_off_multiplet, Hits_MM_off_gas_gap, Hits_MM_off_channel);
+         if (digi_test) validateHits(oHits_MM, Hits_MM_isInsideBounds, Hits_MM_particleEncoding);
+         Flocalize_collection oDigits_MM ("Digits", Digits_MM_stationName, Digits_MM_stationEta, Digits_MM_stationPhi, Digits_MM_multiplet, Digits_MM_gas_gap, Digits_MM_channel);
+         Flocalize_collection oSDO_MM ("SDOs", SDO_MM_stationName, SDO_MM_stationEta, SDO_MM_stationPhi, SDO_MM_multiplet, SDO_MM_gas_gap, SDO_MM_channel);
+         Flocalize_collection oRDO_MM ("RDOs", RDO_MM_stationName, RDO_MM_stationEta, RDO_MM_stationPhi, RDO_MM_multiplet, RDO_MM_gas_gap, RDO_MM_channel);
+         Flocalize_collection oPRD_MM ("PRDs", PRD_MM_stationName, PRD_MM_stationEta, PRD_MM_stationPhi, PRD_MM_multiplet, PRD_MM_gas_gap, PRD_MM_channel);
+         match_Hits_Digits(oRDO_MM, oPRD_MM);
+         fillHists(oRDO_MM, hist_MM_hits);
+         fillHists(oPRD_MM, hist_MM_digits);
+
+         plotError (oPRD_MM, hist_pull);
+
+         /*/Digits to Hits 2D:
+         for (unsigned int k = 0; k < oDigits_MM.sizes(); ++k) {
+            int diff = oDigits_MM.matchedchannel.at(k) - oDigits_MM.channel->at(k);
+            if ((oDigits_MM.matchedchannel.at(k) < 0 || abs(diff) > 3) && oDigits_MM.channel->at(k) > min_mismatched_channel) {
+               hist_MM_global_digits->Fill(Digits_MM_globalPosX->at(k), Digits_MM_globalPosY->at(k));
+            }
+         }/
+         // //Hits to Digits 2D:
+         for (unsigned int k = 0; k < oHits_MM.size(); ++k) {
+            int diff = oHits_MM.matchedchannel.at(k) - oHits_MM.channel->at(k);
+            if ((oHits_MM.matchedchannel.at(k) < 0 || abs(diff) > 3) && oHits_MM.channel->at(k) > min_mismatched_channel) {
+               hist_MM_global_hits->Fill(Hits_MM_detector_globalPositionX->at(k), Hits_MM_detector_globalPositionY->at(k));
+            }
+         }*/
+      }
+   }
+   // Print efficiencies
+   float mm_digits, mm_hits, stgc_digits, stgc_hits, mm_hit_miss, stgc_hit_miss, mm_digit_miss, stgc_digit_miss;
+   if (doMM) {
+   	mm_digits = hist_MM_digits[1]->GetEntries();
+   	mm_hits = hist_MM_hits[1]->GetEntries();
+   	mm_hit_miss = hist_MM_hits[3]->GetEntries();
+   	mm_digit_miss = hist_MM_digits[3]->GetEntries();
+   	std::cout << "MM: Conversion forwards: ";
+   	efficiency(mm_hit_miss, mm_hits);
+   	std::cout << "MM: Conversion backwards: ";
+   	efficiency(mm_digit_miss, mm_digits);
+   } 
+   if (dosTGC) {
+	   stgc_digits = hist_sTGC_digits[1]->GetEntries();
+	   stgc_hits = hist_sTGC_hits[1]->GetEntries();
+	   stgc_hit_miss = hist_sTGC_hits[3]->GetEntries();
+	   stgc_digit_miss = hist_sTGC_digits[3]->GetEntries();
+   	std::cout << "sTGC: Conversion forwards: ";
+   	efficiency(stgc_hit_miss, stgc_hits);
+   	std::cout << "sTGC: Conversion backwards: ";
+   	efficiency(stgc_digit_miss, stgc_digits);
+   }
+   // Bookkeeping: MM: Digits
+   write_and_delete(hist_MM_digits);
+   if (doMM) hist_MM_global_digits->Write();
+   delete hist_MM_global_digits;
+   //Hits
+   write_and_delete(hist_MM_hits);
+   if (doMM) hist_MM_global_hits->Write();
+   delete hist_MM_global_hits;
+   // sTGC: Digits
+   write_and_delete(hist_sTGC_digits);
+   if (dosTGC) hist_sTGC_global_digits->Write();
+   delete hist_sTGC_global_digits;
+   // Hits
+   write_and_delete(hist_sTGC_hits);
+   if (dosTGC) hist_sTGC_global_hits->Write();
+   delete hist_sTGC_global_hits;
+   // 
+   for (TH1F* _h: hist_pull) {
+      _h->Write();
+      delete _h;
+   }
+   // File
+   delete outFile;
+}
+
+void validateHits(Flocalize_collection& Hits, vector<bool>* insideBounds, vector<int>* pdgCodes) {
+	//Function to take out hits which should not be digitized
+	bool accept_hit;
+	for (unsigned int i = 0; i < Hits.size(); ++i) {
+		accept_hit = true;
+		// check if hit is inside active volume
+		accept_hit &= insideBounds->at(i);
+		// check if hit is a muon hit
+		accept_hit &= abs(pdgCodes->at(i)) == 13;
+		// Alex: For the sTGC wire digits, channel numbers can only go up to 59. However I made it so that hits placed in the dead region are given the channelnumber 63. As 63 isn't a valid channel number, the digit isn't added.
+		if (!Hits.isMM) accept_hit &= (Hits.channel_type->at(i) != 2 || Hits.channel->at(i) != 63);
+		// Flag hits which should not be digitized
+		if (!accept_hit) { Hits.matchedchannel.at(i) = -100; }
+	}
+}
+
+
+void NSWstudies::match_Hits_Digits (Flocalize_collection& Hits, Flocalize_collection& Digits) {
+	static bool done_once = 0;
+	if (!done_once) { printf("Converting %s to %s\n", Hits.name.data(), Digits.name.data()); done_once = 1; } 
+   //first level check: sizes
+   if (!quiet) printf("About to match, size of Hits: %lu, size of Digits:%lu \n", Hits.size(), Digits.size());
+
+   for (unsigned int i = 0; i < Hits.size(); ++i)
+   {
+   	if (Hits.matchedchannel.at(i) == -100) { continue; }
+      //printf("current i: %d\n", i);
+      int nMatch = 0;
+      for (unsigned int j = 0; j < Digits.size(); ++j)
+      {
+         //printf("current j: %d\n", j);
+         if (Hits.at(i).isEqual( Digits.at(j) ) )
+         {
+            nMatch++;
+            Hits.update_match(i, Digits.channel->at(j), j);
+            Digits.update_match(j, Hits.channel->at(i), i);
+            //printf("Found Hits in Digits at Hits index: %d, and Digits index: %d\n", i, j);
+         }
+      }
+      if (quiet) continue;
+      //Check for other matches
+      if (nMatch > 1 && Digits.isMM) {
+         printf("\nWARNING: More than 1 match for MM!, namely: %d matches\n", nMatch);
+      }
+      if (nMatch == 0) {
+         printf("\nWARNING: No match found!\n");
+         printf("Hits info: \n");
+         Hits.at(i).printInfo();
+      }
+      //debug
+      if (nMatch == 1 ) { 
+         //printf("Found single Digit for this Hit!\n");
+         //(Hits.at(i).channel == Digits.at(jfound).channel) ? printf("Channels are the same: %d\n", Hits.at(i).channel) : printf("Channels are different: %d for Hit, %d for Digit\n", Hits.at(i).channel, Digits.at(jfound).channel);
+      }
+   }
+   Hits.matchedwith = Digits.name;
+	Digits.matchedwith = Hits.name;
+   if (printDigits) { printf("\nFull digits info (event: %d): \n", eventNumber); Digits.printInfo(); }
+   if (printHits) { printf("\nFull hits info (event: %d): \n", eventNumber); Hits.printInfo(); }
+ }
+
+void NSWstudies::fillHists (Flocalize_collection& oData, vector< TH1I* >& hist_vec) {
+   if (hist_vec.empty()) { init_hists(hist_vec, oData.isMM, oData.name, oData.matchedwith); }
+   TH1I* hist_diff = hist_vec[0];
+   TH1I* hist_ndigits = hist_vec[1];
+   TH1I* hist_match = hist_vec[2];
+   TH1I* hist_missmatch = hist_vec[3];
+   TH1I* hist_missmatched_evt = hist_vec[4];
+   TH1I* hist_missmatched_chc = hist_vec[5];
+   bool hasMissed = false;
+   for (unsigned int i = 0; i < oData.size(); ++i) { 
+      int diff = oData.matchedchannel.at(i) - oData.channel->at(i);
+      if (abs(diff) > 19 ) { diff = -20; /*printf("Matchedchannel more then 20 strips away! Matchedchannel: %d\n", oData.matchedchannel.at(i));*/ }
+      //Check if hit inside volume & only muon:
+      if (oData.matchedchannel.at(i) == -100) { continue; }
+      if (oData.name == "Hits" && !digi_test && doElectronCheck) {
+         if (oData.isMM) { 
+            bool accept_hit = Hits_MM_isInsideBounds->at(i) * (abs(Hits_MM_particleEncoding->at(i)) == 13);
+            //diff = accept_hit * diff; 
+            if (!accept_hit) { continue; }
+         } else { 
+         	// For the wire digits, channel numbers can only go up to 59. However I made it so that hits placed in the dead region are given the channelnumber 63. As 63 isn't a valid channel number, the digit isn't added.
+            bool accept_hit = Hits_sTGC_isInsideBounds->at(i) * 
+            						(abs(Hits_sTGC_particleEncoding->at(i)) == 13) * 
+            						(oData.channel_type->at(i) != 2 || oData.channel->at(i) != 63);
+            //diff = accept_hit * diff; 
+            if (!accept_hit) { continue; }
+         }
+      }
+      //
+      hist_diff->Fill(diff); 
+      int nextbin = oData.localize(i);
+      const char* eta_sign = (oData.stationEta->at(i) > 0) ? "+" : "-" ;
+      int cht = oData.isMM ? -1 : oData.channel_type->at(i);
+      TString binName;
+      binName.Form("#eta:%s,%s,mp:%d,gg:%d,cht:%d", eta_sign, oData.stationName->at(i).data(), oData.multiplet->at(i), oData.gas_gap->at(i), cht);
+      // Note bin numbering for setbinlabel starts at 1
+      hist_match->GetXaxis()->SetBinLabel(nextbin + 1, binName);
+      hist_missmatch->GetXaxis()->SetBinLabel(nextbin + 1, binName);
+      hist_ndigits->GetXaxis()->SetBinLabel(nextbin + 1, binName);
+      hist_ndigits->Fill(nextbin);
+      //Increment hist by 1 for each matched hit in matchedindices
+      //printf("size matchedindices: %d, empty: %d\n", oData.matchedindices.at(i).size() , 1 * oData.matchedindices.at(i).empty());
+      for (unsigned int j = 0; j < oData.matchedindices.at(i).size(); ++j) { 
+         hist_match->Fill(nextbin);
+      }
+      if (abs(diff) > max_diff && oData.channel->at(i) > min_mismatched_channel) { 
+         hist_missmatch->Fill(nextbin);
+         hist_missmatched_chc->Fill(oData.channel->at(i));
+         hasMissed = true;
+         if (!quiet) { printf("\nFound mismatched digit in event %d. Digit info:\n", eventNumber); oData.at(i).printInfo(); }
+      }
+   }
+   if (hasMissed) {
+      hist_missmatched_evt->Fill(eventNumber);
+   }
+}
+
+void init_hists (vector< TH1I* >& hist_vec, bool isMM, string datatype, string matchedwith) {
+   int ndigits;
+   const char* obj = datatype.c_str();
+   const char* type;
+   TString title;
+   if (isMM) {
+      ndigits = 34;
+      type = "MM";
+   } else {
+      ndigits = 100;
+      type = "sTGC";
+   }
+   title.Form("%s_Nearest_matched(%s)channel_minus_Channel_%s", type, matchedwith.c_str(), obj);
+   hist_vec.push_back( new TH1I (title.Data(), title.Data(), 40, -20, 20) );
+   hist_vec[0]->GetXaxis()->SetTitle("Difference(strips) (-20 = out of range)");
+   title.Form("%s_Occurence_of_%s", type, obj);
+   hist_vec.push_back( new TH1I (title.Data(), title.Data(), ndigits, 0, ndigits) );
+   title.Form("%s_%s_per_%s",type, obj, matchedwith.c_str());
+   hist_vec.push_back( new TH1I (title.Data(), title.Data(), ndigits, 0, ndigits) );
+   title.Form("%s_Nr_mismatched_%s", type, obj);
+   hist_vec.push_back( new TH1I (title.Data(), title.Data(), ndigits, 0, ndigits) );
+   title.Form("%s_Mismatched_events_%s", type, obj);
+   hist_vec.push_back( new TH1I (title.Data(), title.Data(), 1000, 0, 1000) );
+   title.Form("%s_Mismatched_channel_%s", type, obj);
+   hist_vec.push_back( new TH1I (title.Data(), title.Data(), 100, 0, 500) );
+}
+
+void NSWstudies::plotError (Flocalize_collection oPRD, vector<TH1F*> hists_pull) {
+	bool isMM = oPRD.isMM;
+
+   double sTGC_error, sTGC_locX, sTGC_truthX, sTGC_pull;
+   double MM_error, MM_locX, MM_truthX, MM_pull;
+   int i, j ,chTy, gg;
+   for (i = 0; i < oPRD.size(); ++i) {
+	   // assume only one SDO per PRD, if not, select the first one
+	   j = oPRD.matchedindices[i][0];
+	   if (!isMM) {
+	   	// sTGC part
+	      sTGC_locX = PRD_sTGC_localPosX->at(i);
+	      sTGC_error = sqrt (PRD_sTGC_covMatrix_1_1->at(i));
+	      sTGC_truthX = SDO_sTGC_localPosX->at(j);
+	      sTGC_pull = (sTGC_locX - sTGC_truthX) / sTGC_error;
+
+	      printf("PRD sTGC channel: %d, matched with SDO channel: %d\n", PRD_sTGC_channel->at(i), SDO_sTGC_channel->at(j));
+	      printf("PRD sTGC locX: %f, SDO locx: %f\n\n", sTGC_locX, sTGC_truthX);
+
+	      //printf("sTGC1\n");
+	      chTy = oPRD.channel_type->at(i);
+	      //printf("sTGC2\n");
+	      hists_pull[chTy]->Fill((sTGC_locX - sTGC_truthX));
+	      //printf("sTGC3\n");
+	      hists_pull[chTy + 3]->Fill(sTGC_pull);
+
+   	} else {
+
+	      // MM part
+	      MM_locX = PRD_MM_localPosX->at(i);
+	      MM_error = sqrt (PRD_MM_covMatrix_1_1->at(i));
+	      MM_truthX = SDO_MM_localPosX->at(j);
+	      MM_pull = (MM_locX - MM_truthX) / MM_error;
+
+	      printf("PRD MM channel: %d, matched with SDO channel: %d\n", PRD_MM_channel->at(i), SDO_MM_channel->at(j));
+	      printf("PRD MM locX: %f, SDO locx: %f\n\n", MM_locX, MM_truthX);
+
+	      gg = oPRD.gas_gap->at(i) + 5;
+	      hists_pull[gg]->Fill((MM_locX - MM_truthX));
+	      hists_pull[gg + 4]->Fill(MM_pull);
+   	}
+   }
+}
+
+bool doEvt (int evtnr) {
+   //do all events:
+   return true;
+   //int events_to_investigate[] = { 11, 19, 21, 22, 25 };
+   int events_to_investigate[] = {11};
+   bool keep_event = false;
+   int size = sizeof(events_to_investigate)/sizeof(events_to_investigate[0]);
+   for (int i = 0; i < size; ++i) { keep_event |= events_to_investigate[i] == evtnr; }
+   return keep_event;
+}
+
+void write_and_delete (vector< TH1I* > vec) {
+   for (TH1I* _h: vec) {
+      _h->Write();
+      delete _h;
+   }
+}
+
+
+void init_hist_pull (vector< TH1F*>& hist_pull) {
+	hist_pull.push_back (new TH1F("sTGC_pad_distance", "sTGC_pad_distance", 200, -200, 200));
+   hist_pull.push_back (new TH1F("sTGC_strip_distance", "sTGC_strip_distance", 200, -200, 200));
+   hist_pull.push_back (new TH1F("sTGC_wire_distance", "sTGC_wire_distance", 200, -200, 200));
+   hist_pull.push_back (new TH1F("sTGC_pad_pull", "sTGC_pad_pull", 200, -100, 100));
+   hist_pull.push_back (new TH1F("sTGC_strip_pull", "sTGC_strip_pull", 200, -100, 100));
+   hist_pull.push_back (new TH1F("sTGC_wire_pull", "sTGC_wire_pull", 200, -100, 100));
+
+   hist_pull.push_back (new TH1F("MM_gg1_distance", "MM_gg1_distance", 200, -20, 20));
+   hist_pull.push_back (new TH1F("MM_gg2_distance", "MM_gg2_distance", 200, -20, 20));
+   hist_pull.push_back (new TH1F("MM_gg3_distance", "MM_gg3_distance", 200, -20, 20));
+   hist_pull.push_back (new TH1F("MM_gg4_distance", "MM_gg4_distance", 200, -20, 20));
+   hist_pull.push_back (new TH1F("MM_gg1_pull", "MM_gg1_pull", 200, -20, 20));
+   hist_pull.push_back (new TH1F("MM_gg2_pull", "MM_gg2_pull", 200, -20, 20));
+   hist_pull.push_back (new TH1F("MM_gg3_pull", "MM_gg3_pull", 200, -20, 20));
+   hist_pull.push_back (new TH1F("MM_gg4_pull", "MM_gg4_pull", 200, -20, 20));
+
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/macros/NSWMatching_offline/NSWstudies_match.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/macros/NSWMatching_offline/NSWstudies_match.h
new file mode 100644
index 000000000000..2e2c68ce778f
--- /dev/null
+++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/macros/NSWMatching_offline/NSWstudies_match.h
@@ -0,0 +1,202 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef NSWstudies_match_h
+#define NSWstudies_match_h
+
+#include <TROOT.h>
+#include <TChain.h>
+#include <TFile.h>
+
+// Header file for the classes stored in the TTree if any.
+#include "vector"
+
+using namespace std;
+
+class Flocalize {
+private:
+public:
+   ~Flocalize() {;}
+   Flocalize () {
+      stationName = string("");
+      stationEta = 0;
+      stationPhi = 0;
+      multiplet = 0;
+      gas_gap = 0;
+      channel_type = 0;
+      channel = 0;
+   }
+   Flocalize (string i_stationName, int i_stationEta, int i_stationPhi, int i_multiplet, int i_gas_gap, int i_channel, int i_channel_type, int i_matchedchannel) {
+      stationName = i_stationName;
+      stationEta = i_stationEta;
+      stationPhi = i_stationPhi;
+      multiplet = i_multiplet;
+      gas_gap = i_gas_gap;
+      channel_type = i_channel_type;
+      channel = i_channel;
+      matchedchannel = i_matchedchannel;
+   }
+   //To do: oveload == operator?
+   bool isEqual(Flocalize _other) {
+      return ( stationName.compare(_other.stationName) == 0 
+               && stationEta == _other.stationEta
+               && stationPhi == _other.stationPhi 
+               && multiplet == _other.multiplet 
+               && gas_gap == _other.gas_gap 
+               && channel_type == _other.channel_type 
+               //&& channel == _other.channel
+               );
+   }
+   bool isEqualecho (Flocalize _other) {
+      bool equal = true;
+      if (stationName.compare(_other.stationName) != 0) {printf("stationName is not equal\n"); equal = false;}
+      if (stationPhi != _other.stationPhi) {printf("stationPhi is not equal\n"); equal = false;}
+      if (multiplet != _other.multiplet) {printf("multiplet is not equal\n"); equal = false;}
+      if (gas_gap != _other.gas_gap) {printf("gas_gap is not equal\n"); equal = false;}
+      if (channel_type != _other.channel_type) {printf("channel_type is not equal\n"); equal = false;}
+      if (channel != _other.channel) {printf("channel is not equal\n"); equal = false;}
+      return equal;
+   }
+   void printInfo () {
+      printf("%-15s %-15s %-15s %-15s %-15s %-15s %-15s %-15s\n", "stationname", "stationEta", "stationPhi", "multiplet", "gas_gap", "channeltype", "channel", "matchedchannel");
+      printf("%-15s %-15d %-15d %-15d %-15d %-15d %-15d %-15d\n", stationName.data(), stationEta, stationPhi, multiplet, gas_gap, channel_type, channel, matchedchannel);
+   }
+   string stationName;
+   int stationEta;
+   int stationPhi;
+   int multiplet;
+   int gas_gap;
+   int channel_type;
+   int channel;
+   int matchedchannel;
+};
+
+class Flocalize_collection {
+   //A class to hold all info to find a Hit in the Digits collection. Generalized to also be used on the RDO's. Does not take ownership of any of the parameters used, just a way to collect pointers.
+private:
+public:
+   Flocalize_collection () {
+      stationName = NULL;
+      stationEta = NULL;
+      stationPhi = NULL;
+      multiplet = NULL;
+      gas_gap = NULL;
+      channel_type = NULL;
+      channel = NULL;
+   }
+   ~Flocalize_collection() {;}
+   //NB: MM has no detector type: make this last entry, and ajust member functions for no type possibility.
+   Flocalize_collection (string i_name, vector<string>* i_stationName, vector<int>* i_stationEta, vector<int>* i_stationPhi, vector<int>* i_multiplet, vector<int>* i_gas_gap, vector<int>* i_channel, vector<int>* i_channel_type = nullptr) {
+      isMM = (i_channel_type == nullptr) ? 1 : 0; 
+      stationName = i_stationName;
+      stationEta = i_stationEta;
+      stationPhi = i_stationPhi;
+      multiplet = i_multiplet;
+      gas_gap = i_gas_gap;
+      channel_type = i_channel_type;
+      channel = i_channel;
+      vector<int> mc(this->size());
+      for (unsigned int i = 0; i < this->size(); ++i) { mc[i] = -10; }
+      matchedchannel = mc;
+      vector<vector<unsigned int>> mi(this->size());
+      matchedindices = mi;
+      name = i_name;
+      this->checksize();
+   }
+   size_t size() {
+      this->checksize();
+      return stationName->size();
+   }
+   bool checksize() {
+      size_t channel_type_size;
+      size_t col_size = stationName->size();
+      //skip channel_type check if MM, as MM does not have this parameter.
+      channel_type_size = (isMM) ? col_size : channel_type->size();
+      if (! (stationEta->size() == col_size ||
+          stationPhi->size() == col_size ||
+          multiplet->size() == col_size ||
+          gas_gap->size() == col_size ||
+          channel_type_size == col_size ||
+          channel->size() == col_size) ) { printf("Sizes of localize collection do not match!\n"); return false;}
+      //else { printf("size checks out\n"); }
+      return true;
+   }
+   //also overlod operator [] ?
+   Flocalize at(unsigned int index) {
+      if (index > this->size()) { Flocalize local; return local; }
+      // set channel type to 0 if it is MM, as MM does not have channel type
+      int type_val;
+      type_val = (isMM) ? 0 : channel_type->at(index);
+      Flocalize local(stationName->at(index), stationEta->at(index), stationPhi->at(index), multiplet->at(index), gas_gap->at(index), channel->at(index), type_val, matchedchannel.at(index));
+      return local;
+   }
+   void printInfo () {
+      if (isMM) {
+         printf("%-15s %-15s %-15s %-15s %-15s %-15s %-15s\n", "stationname", "stationEta", "stationPhi", "multiplet", "gas_gap", "channel", "matchedchannel");
+         for (unsigned int i = 0; i < this->size(); ++i)
+            { printf("%-15s %-15d %-15d %-15d %-15d %-15d %-15d\n", stationName->at(i).data(), stationEta->at(i), stationPhi->at(i), multiplet->at(i), gas_gap->at(i), channel->at(i), matchedchannel.at(i));}
+      } else {
+         printf("%-15s %-15s %-15s %-15s %-15s %-15s %-15s %-15s\n", "stationname", "stationEta", "stationPhi", "multiplet", "gas_gap", "channel_type", "channel", "matchedchannel");
+         for (unsigned int i = 0; i < this->size(); ++i)
+            { printf("%-15s %-15d %-15d %-15d %-15d %-15d %-15d %-15d\n", stationName->at(i).data(), stationEta->at(i), stationPhi->at(i), multiplet->at(i), gas_gap->at(i), channel_type->at(i), channel->at(i), matchedchannel.at(i));}
+      }
+   }
+   bool update_match(int index, int ch_candidate, unsigned int index_match) {
+      matchedindices.at(index).push_back(index_match);
+      if ( matchedchannel.at(index) == -10 ) { matchedchannel.at(index) = ch_candidate; }
+      if ( ch_candidate == -1 ) { return false; }
+      if (abs(ch_candidate - channel->at(index)) <  abs(channel->at(index) - matchedchannel.at(index)) ) { 
+         matchedchannel.at(index) = ch_candidate;
+         return true; 
+      }
+      return false;
+   }
+   //Give a unique integer (1-16) based on name(2), multiplet(2) and gas gap(4)
+   int loc_unique (int index) {
+      return loc_unique_expanded(index);
+      int iname = (stationName->at(index).back() == 'L') + 1; 
+      int unique = 100 * iname + 10 * multiplet->at(index) + gas_gap->at(index);
+      return unique;
+   }
+   int loc_unique_expanded (int index) {
+      int iname = (stationName->at(index).back() == 'L') + 1;
+      int iEta = (stationEta->at(index) > 0) + 1;
+      int i_cht = (isMM) ? 9 : channel_type->at(index);
+      int unique = 10000 * iEta + 1000 * i_cht + 100 * iname + 10 * multiplet->at(index) + gas_gap->at(index);
+      return unique;
+   }
+   int localize (int index) {
+      int _i = isMM ? localize_MM(index) : localize_sTGC(index);
+      return (_i);
+   }
+   int localize_sTGC (int index) {
+      int unique = loc_unique(index);
+      static vector<int> _vloc;
+      for (unsigned int i = 0; i < _vloc.size(); ++i) {if (_vloc[i] == unique ) {return i;} }
+      _vloc.push_back(unique);
+      return (_vloc.size() - 1);
+   } 
+   int localize_MM (int index) {
+      int unique = loc_unique(index);
+      static vector<int> _vloc;
+      for (unsigned int i = 0; i < _vloc.size(); ++i) {if (_vloc[i] == unique ) {return i;} }
+      _vloc.push_back(unique);
+      return (_vloc.size() - 1);
+   } 
+   vector<string>  *stationName;
+   vector<int>     *stationEta;
+   vector<int>     *stationPhi;
+   vector<int>     *multiplet;
+   vector<int>     *gas_gap;
+   vector<int>     *channel_type;
+   vector<int>     *channel;
+   vector<int>     matchedchannel;
+   vector<vector<unsigned int>> matchedindices;
+   string name;
+   string matchedwith;
+   bool isMM;
+
+ };
+
+ #endif
\ No newline at end of file
diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/macros/NSWMatching_offline/run_matching.C b/MuonSpectrometer/MuonValidation/MuonPRDTest/macros/NSWMatching_offline/run_matching.C
new file mode 100644
index 000000000000..9e5a3eb1195b
--- /dev/null
+++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/macros/NSWMatching_offline/run_matching.C
@@ -0,0 +1,29 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "TROOT.h"
+
+void run_loop () {
+	gROOT->ProcessLine(".L NSWstudies_match.C++");
+	gROOT->ProcessLine("NSWstudies t;");
+	gROOT->ProcessLine("t.Loop()");
+}
+
+/*
+This folder contains files used to makes histograms comparing various EDM objects of the NSW digitization chain. 
+The underlying matchin method is integrated in the NSW PRD Test, these files are to document the histogram production. 
+This is to allow others to reproduce results produced with these files.
+
+To use: 
+Copy the containts of this folder to any directory you like, it works offline.
+A NSW Ntuple, as produced by the NSWPRDTest, needs to be present in the same directory.
+(By default the filename is hardcoded to "NSWPRDValAlg.reco.ntuple.root", to allow a different name, change the creator in NSWstudies.h)
+You will need to crate an extra directory named "Rootfiles", where the output histograms will be placed
+To run simply run this file (terminal: root -l -q run_loop.C)
+In the beginning of the "NSWstudies_match.C" file, the input variables of the NSW Matching algorithm can be set.
+(These have the same default values as the NSWPRDTest version)
+
+By default the program will check RDO<->PRD for both sTGC and MM. 
+To test other objects, change the input of the match_Hits_Digits and fillHists in the Loop function of NSWstudies_match.C
+*/
\ No newline at end of file
diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/EDM_object.cxx b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/EDM_object.cxx
new file mode 100644
index 000000000000..73694f6d0eac
--- /dev/null
+++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/EDM_object.cxx
@@ -0,0 +1,121 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include <vector>
+#include <string>
+#include <iostream>
+
+#include "TTree.h"
+#include "TBranch.h"
+#include "TFile.h"
+
+#include "EDM_object.h"
+
+EDM_object::EDM_object () { 
+	m_stationName = nullptr; 
+	m_stationEta = nullptr;
+	m_stationPhi = nullptr;
+	m_multiplet = nullptr;
+	m_gas_gap = nullptr;
+	m_channel_type = nullptr;
+	m_channel = nullptr;
+	m_matchedchannel = nullptr;
+	m_mismatches = 0;
+	m_total = 0;
+}
+
+void EDM_object::clearVars () { 
+	if (m_matchedchannel) {
+		delete m_matchedchannel; 
+		m_matchedchannel = nullptr; 
+	}
+}
+
+size_t EDM_object::size() {
+	if (!m_stationName) { return 0; }
+	checksize();
+	return m_stationName->size();
+}
+
+void EDM_object::checksize() {
+   size_t channel_type_size;
+   size_t size = m_stationName->size();
+   //skip channel_type check if MM, as MM does not have this parameter.
+   channel_type_size = (m_channel_type) ? m_channel_type->size() : size;
+   if (! (m_stationEta->size() == size ||
+       	 m_stationPhi->size() == size ||
+       	 m_multiplet->size()  == size ||
+       	 m_gas_gap->size() 	 == size ||
+       	 channel_type_size    == size ||
+       	 m_channel->size() 	 == size) ) 
+   	{ printf("NSWMatchingAlg: Sizes of data object %s_%s do not match!\n", m_name.Data(), m_detector.Data()); }
+}
+
+void EDM_object::printInfo () {
+	// sTGC
+   if (m_channel_type) {
+     printf("%-15s %-15s %-15s %-15s %-15s %-15s %-15s %-15s\n", "stationname", "stationEta", "stationPhi", "multiplet", "gas_gap", "channel_type", "channel", "matchedchannel");
+      for (uint i = 0; i < this->size(); ++i)
+         { printf("%-15s %-15d %-15d %-15d %-15d %-15d %-15d %-15d\n", m_stationName->at(i).data(), m_stationEta->at(i), m_stationPhi->at(i), m_multiplet->at(i), m_gas_gap->at(i), m_channel_type->at(i), m_channel->at(i), m_matchedchannel->at(i));}
+   // MM
+   } else {
+      printf("%-15s %-15s %-15s %-15s %-15s %-15s %-15s\n", "stationname", "stationEta", "stationPhi", "multiplet", "gas_gap", "channel", "matchedchannel");
+      for (uint i = 0; i < this->size(); ++i)
+         { printf("%-15s %-15d %-15d %-15d %-15d %-15d %-15d\n", m_stationName->at(i).data(), m_stationEta->at(i), m_stationPhi->at(i), m_multiplet->at(i), m_gas_gap->at(i), m_channel->at(i), m_matchedchannel->at(i));}
+   }
+}
+
+bool EDM_object::identifierMatch(EDM_object &data0, EDM_object &data1, uint i, uint j) {
+	bool match = true;
+	match &= data0.m_channel_type ?  data0.m_channel_type->at(i) == data1.m_channel_type->at(j) : true;
+	match &= data0.m_stationName->at(i).compare(data1.m_stationName->at(j)) == 0;
+	match &= data0.m_stationEta->at(i) == data1.m_stationEta->at(j);
+	match &= data0.m_stationPhi->at(i) == data1.m_stationPhi->at(j);
+	match &= data0.m_multiplet->at(i)  == data1.m_multiplet->at(j);
+	match &= data0.m_gas_gap->at(i) 	== data1.m_gas_gap->at(j);
+	return match;
+}
+
+bool EDM_object::update_match(int index, int ch_candidate) {
+	// make sure the machedchannel is set to the default value (-10)
+	if (!m_matchedchannel) { return false; }
+	// If any match found, overwarite default value
+	if ( m_matchedchannel->at(index) == -10 ) { m_matchedchannel->at(index) = ch_candidate; }
+	// Default channel value in digitization = -1
+	if ( ch_candidate == -1 ) { return false; }
+	// Check if the match is close enough
+	if (abs(ch_candidate - m_channel->at(index)) <  abs(m_channel->at(index) - m_matchedchannel->at(index)) ) { 
+		m_matchedchannel->at(index) = ch_candidate;
+		return true; 
+	}
+	return false;
+}
+
+void EDM_object::init_matching () {
+	if (empty()) { return; }
+	m_matchedchannel = new std::vector<int>(this->size());
+	for ( uint i = 0; i < this->size(); ++i) { m_matchedchannel->at(i) = -10; }
+}
+
+bool EDM_object::empty () {
+	if (!m_stationName) { return true; }
+	if (m_stationName->empty()) { return true; }
+	return false; 
+}
+
+void EDM_object::update_efficiency ( int maximum_difference ) {
+	uint nMatches = 0;
+	size_t n_obj = size();
+	m_total += n_obj;
+	for (uint i = 0; i < n_obj; ++i) {
+		nMatches += abs( m_channel->at(i) - m_matchedchannel->at(i) ) <= maximum_difference;
+	}
+	m_mismatches += (n_obj - nMatches);
+}
+
+void EDM_object::printEfficiency(std::ofstream& file) {
+	file << "\nMatching " << m_name << " to " << m_matchedwith << " for " << m_detector << std::endl;
+	file << "Total: " << m_total << ", number of mismatches: " << m_mismatches << std::endl;
+	file << "Efficiency: " << (m_total - m_mismatches) / (double)m_total * 100. << "%" << std::endl;
+}
diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/EDM_object.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/EDM_object.h
new file mode 100644
index 000000000000..235e9a313b12
--- /dev/null
+++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/EDM_object.h
@@ -0,0 +1,64 @@
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef EDM_OBJECT_H
+#define EDM_OBJECT_H
+
+#include "TString.h"
+
+#include <fstream>
+#include <vector>
+
+class EDM_object
+{
+public:
+	// Matching
+	void init_matching();
+	bool update_match(int index, int ch_candidate);
+	bool identifierMatch(EDM_object &data0, EDM_object &data1, uint i, uint j);
+
+	// Efficiency	
+	void update_efficiency ( int maximum_difference );
+	void printEfficiency (std::ofstream& file);
+
+	// setters
+	void setName (TString name) { m_name = name; }
+	void setName (TString name, TString detector) { m_name = name; m_detector = detector; }
+	void setDetector (TString detector) { m_detector = detector; }
+	void setMatchedwith (TString matchedwith) { m_matchedwith = matchedwith; }
+
+	// getters 
+	TString getName () { return m_name; }
+	TString getDetector () { return m_detector; }
+	TString getMatchedwith () { return m_matchedwith; }
+
+	// Helper functions
+	size_t size ();
+	void checksize ();
+	void printInfo();
+	void clearVars();
+	bool empty ();
+
+	EDM_object ();
+	~EDM_object () { clearVars(); }
+
+	std::vector<std::string>  *m_stationName;
+	std::vector<int>     *m_stationEta;
+	std::vector<int>     *m_stationPhi;
+	std::vector<int>     *m_multiplet;
+	std::vector<int>     *m_gas_gap;
+	std::vector<int>     *m_channel_type;
+	std::vector<int>     *m_channel;
+
+	std::vector<int>     *m_matchedchannel;
+
+private:
+	TString m_name;
+	TString m_matchedwith;
+	TString m_detector;
+	int m_mismatches;
+	int m_total;
+};
+
+#endif
\ No newline at end of file
diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/NSWPRDValAlg.cxx b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/NSWPRDValAlg.cxx
index f1be5669b149..59e122326752 100644
--- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/NSWPRDValAlg.cxx
+++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/NSWPRDValAlg.cxx
@@ -1,7 +1,10 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
+#include <fstream>
+
+// NSWValAlg inlcudes
 #include "NSWPRDValAlg.h"
 
 #include "MMDigitVariables.h"
@@ -21,18 +24,23 @@
 #include "MuEntryVariables.h"
 #include "TruthVariables.h"
 
-#include "GaudiKernel/ITHistSvc.h"
-#include "TTree.h"
+#include "EDM_object.h"
 
+// Other NSW includes
 #include "MuonReadoutGeometry/MuonDetectorManager.h"
-
 #include "MuonIdHelpers/MmIdHelper.h"
 #include "MuonIdHelpers/sTgcIdHelper.h"
 #include "MuonIdHelpers/CscIdHelper.h"
 
+// ROOT includes
+#include "TTree.h"
+
+// Misc includes
+#include "GaudiKernel/ITHistSvc.h"
 #include "EventInfo/EventInfo.h"
 #include "EventInfo/EventID.h"
 
+
 NSWPRDValAlg::NSWPRDValAlg(const std::string& name, ISvcLocator* pSvcLocator)
   : AthAlgorithm(name, pSvcLocator),
     m_TruthVar(nullptr),
@@ -45,7 +53,7 @@ NSWPRDValAlg::NSWPRDValAlg(const std::string& name, ISvcLocator* pSvcLocator)
     m_sTgcPrdVar(nullptr),
     m_MmSimHitVar(nullptr),
     m_MmSdoVar(nullptr),
-	 m_MmFastSdoVar(nullptr),
+    m_MmFastSdoVar(nullptr),
     m_MmDigitVar(nullptr),
     m_MmRdoVar(nullptr),
     m_MmPrdVar(nullptr),
@@ -59,6 +67,7 @@ NSWPRDValAlg::NSWPRDValAlg(const std::string& name, ISvcLocator* pSvcLocator)
     m_runNumber(0),
     m_eventNumber(0)
 {
+  // Input properties: Container names
   declareProperty("Truth_ContainerName",            m_Truth_ContainerName="TruthEvent");
   declareProperty("MuonEntryLayer_ContainerName",   m_MuEntry_ContainerName="MuonEntryLayer");
   declareProperty("NSWsTGC_ContainerName",          m_NSWsTGC_ContainerName="sTGCSensitiveDetector");
@@ -73,6 +82,7 @@ NSWPRDValAlg::NSWPRDValAlg(const std::string& name, ISvcLocator* pSvcLocator)
   declareProperty("NSWMM_PRDContainerName",         m_NSWMM_PRDContainerName="MM_Measurements");
   declareProperty("CSC_DigitContainerName",         m_CSC_DigitContainerName="CSC_DIGITS");
 
+  // Input properties: do EDM objects
   declareProperty("doTruth",         m_doTruth=false);
   declareProperty("doMuEntry",       m_doMuEntry=false);
   declareProperty("doSTGCHit",       m_doSTGCHit=false);
@@ -86,6 +96,11 @@ NSWPRDValAlg::NSWPRDValAlg(const std::string& name, ISvcLocator* pSvcLocator)
   declareProperty("doMMRDO",         m_doMMRDO=false);
   declareProperty("doMMPRD",         m_doMMPRD=false);
   declareProperty("doCSCDigit",      m_doCSCDigit=false);
+
+  // Input properties: NSW Maching algorithm
+  declareProperty("doNSWMatchingAlg",   m_doNSWMatching=true);
+  declareProperty("doNSWMatchingMuonOnly",  m_doNSWMatchingMuon=false);
+  declareProperty("setMaxStripDistance",  m_maxStripDiff=3);
 }
 
 StatusCode NSWPRDValAlg::initialize() {
@@ -94,11 +109,11 @@ StatusCode NSWPRDValAlg::initialize() {
 
   ATH_CHECK( service("THistSvc", m_thistSvc) );
 
-  m_tree = new TTree("NSWHitsTree", "Ntuple of NSWHits");
+  m_tree = new TTree("NSWValTree", "Ntuple for NSW EDM Validation");
   m_tree->Branch("runNumber", &m_runNumber, "runNumber/i");
   m_tree->Branch("eventNumber", &m_eventNumber, "eventNumber/i");
 
-  ATH_CHECK( m_thistSvc->regTree("/NSWPRDValAlg/NSWHitsTree", m_tree) );
+  ATH_CHECK( m_thistSvc->regTree("/NSWPRDValAlg/NSWValTree", m_tree) );
 
   ATH_CHECK( detStore()->retrieve( m_detManager ) );
 
@@ -210,7 +225,8 @@ StatusCode NSWPRDValAlg::initialize() {
 
 StatusCode NSWPRDValAlg::finalize()
 {
-  ATH_MSG_INFO("finalize()");
+  ATH_MSG_DEBUG("NSWPRDValAlg:: Finalize + Matching");
+  if (m_doNSWMatching) { ATH_CHECK ( NSWMatchingAlg() );} 
 
   if (m_TruthVar) { delete m_TruthVar; m_TruthVar=0;}
   if (m_doMuEntry) { delete m_MuEntryVar; m_MuEntryVar=0;}
@@ -233,7 +249,7 @@ StatusCode NSWPRDValAlg::finalize()
 
 StatusCode NSWPRDValAlg::execute()
 {
-  ATH_MSG_INFO("execute()");
+  ATH_MSG_DEBUG("execute()");
 
   // Event information
   const EventInfo* pevt(0);
@@ -278,3 +294,197 @@ StatusCode NSWPRDValAlg::execute()
   return StatusCode::SUCCESS;
 }
 
+/*****************************************************************************************************************************************
+The rest of this file is the NSW matching algorithm. This can be (de)activated with the input variable doNSWMatchingAlg. 
+The matching algorithm will check each conversion in the Hit->PRD digitization chain.
+For each conversion, the algorithm will try to match the two objects. 
+The input variable setMaxStripDistance (default value = 3) give the maximum strip distance two objects can have, while still be considered a match
+The input variable doNSWMatchingMuonOnly can be set to true to only use events which contain exclusively muons 
+******************************************************************************************************************************************/
+
+// First set up which object should be matched, given the input used to fill the NSW Ntuple
+StatusCode NSWPRDValAlg::NSWMatchingAlg () {
+
+  ATH_MSG_DEBUG("NSWMatchingAlg: building Data objects");
+  
+  // Use the EDM object, as defined in EDM_object.h, to build the hits, digits, SDO, RDO and PRD for both sTGC and MM
+  EDM_object Hits_sTGC, Digits_sTGC, SDO_sTGC, RDO_sTGC, PRD_sTGC;
+  EDM_object Hits_MM, Digits_MM, SDO_MM, RDO_MM, PRD_MM;
+
+  Hits_sTGC.setName("Hits", "sTGC");
+  Digits_sTGC.setName("Digits", "sTGC");
+  SDO_sTGC.setName("SDO", "sTGC");
+  RDO_sTGC.setName("RDO", "sTGC");
+  PRD_sTGC.setName("PRD", "sTGC");
+
+  Hits_MM.setName("Hits", "MM");
+  Digits_MM.setName("Digits", "MM");
+  SDO_MM.setName("SDO", "MM");
+  RDO_MM.setName("RDO", "MM");
+  PRD_MM.setName("PRD", "MM");
+
+  // Match the EDM objects with the variables in the NSW Validation Ntuple
+  TString branch_name;
+  TObjArray* brlst = m_tree->GetListOfBranches();
+  for (TBranch *branch = (TBranch*) brlst->First(); branch; branch = (TBranch*) brlst->After(branch)) {
+    branch_name = branch->GetName(); 
+    ATH_MSG_VERBOSE("About to check branch: " << branch_name);
+
+    ATH_CHECK( setDataAdress(Hits_sTGC, branch_name) ); 
+    ATH_CHECK( setDataAdress(Digits_sTGC, branch_name) ); 
+    ATH_CHECK( setDataAdress(SDO_sTGC, branch_name) ); 
+    ATH_CHECK( setDataAdress(RDO_sTGC, branch_name) ); 
+    ATH_CHECK( setDataAdress(PRD_sTGC, branch_name) ); 
+
+    ATH_CHECK( setDataAdress(Hits_MM, branch_name) ); 
+    ATH_CHECK( setDataAdress(Digits_MM, branch_name) ); 
+    ATH_CHECK( setDataAdress(SDO_MM, branch_name) ); 
+    ATH_CHECK( setDataAdress(RDO_MM, branch_name) ); 
+    ATH_CHECK( setDataAdress(PRD_MM, branch_name) ); 
+  }
+
+  // Prepare the output file
+  std::ofstream efficiencies;
+  efficiencies.open("NSWMatchingAlg_efficiencies.txt");
+  efficiencies << "NSW Matching algorithm, efficiencies of conversion from and to various EDM objects" << std::endl;
+  efficiencies << "Settings:\n" << m_doNSWMatchingMuon << std::endl;
+  efficiencies << " 'Maximum Strip Distance':" << m_maxStripDiff << std::endl;
+  efficiencies.close();
+
+  // sTGC matching
+  if (m_doSTGCHit && m_doSTGCDigit) { 
+    ATH_CHECK( NSWMatchingAlg(Hits_sTGC, Digits_sTGC) ); 
+    ATH_CHECK( NSWMatchingAlg(Hits_sTGC, SDO_sTGC) );
+  }
+  if (m_doSTGCDigit && m_doSTGCRDO) { 
+    ATH_CHECK( NSWMatchingAlg(Digits_sTGC, RDO_sTGC) );
+    ATH_CHECK( NSWMatchingAlg(SDO_sTGC, RDO_sTGC) );
+  }
+  if (m_doSTGCRDO && m_doSTGCPRD) { ATH_CHECK( NSWMatchingAlg(RDO_sTGC, PRD_sTGC) ); }
+
+  // sTGC fast digitization
+  if (m_doSTGCHit && m_doSTGCFastDigit) { 
+    ATH_CHECK( NSWMatchingAlg(Hits_sTGC, PRD_sTGC) );
+    ATH_CHECK( NSWMatchingAlg(Hits_sTGC, SDO_sTGC) );
+    ATH_CHECK( NSWMatchingAlg(SDO_sTGC, PRD_sTGC) );
+  }
+
+  // MM matching
+  if (m_doMMHit && m_doMMDigit) { 
+    ATH_CHECK( NSWMatchingAlg(Hits_MM, Digits_MM) );
+    ATH_CHECK( NSWMatchingAlg(Hits_MM, SDO_MM) );
+  }
+  if (m_doMMDigit && m_doMMRDO) { 
+    ATH_CHECK( NSWMatchingAlg(Digits_MM, RDO_MM) );
+    ATH_CHECK( NSWMatchingAlg(SDO_MM, RDO_MM) );
+  }
+  if (m_doMMRDO && m_doMMPRD) { ATH_CHECK( NSWMatchingAlg(RDO_MM, PRD_MM) ); }
+
+  //  MM fast digitization
+  if (m_doMMHit && m_doMMFastDigit) { 
+    ATH_CHECK( NSWMatchingAlg(Hits_MM, PRD_MM) );
+    ATH_CHECK( NSWMatchingAlg(Hits_MM, SDO_MM) );
+    ATH_CHECK( NSWMatchingAlg(SDO_MM, PRD_MM) );
+  }
+
+  return StatusCode::SUCCESS;
+}
+
+// This part of the matching algortihm does the actual comparison given two EDM obects
+StatusCode NSWPRDValAlg::NSWMatchingAlg (EDM_object data0, EDM_object data1) {
+  if (data0.getDetector() != data1.getDetector()) { ATH_MSG_ERROR ("Matching " << data0.getDetector() << " data with " << data1.getDetector() << " data. This is not implemented in this algorithm"); }
+  
+  ATH_MSG_INFO("NSWMatchingAlg: Start matching " << data0.getName() << " and " << data1.getName() << " for " << data0.getDetector());
+  data0.setMatchedwith(data1.getName());
+  data1.setMatchedwith(data0.getName());
+
+  // Prepare Muon only check
+  std::vector<int>* TruthParticle_Pdg;
+  if ( m_doNSWMatchingMuon ) { m_tree->SetBranchAddress("TruthParticle_Pdg", &TruthParticle_Pdg); }
+
+  Long64_t nEntries = m_tree->GetEntriesFast();
+  for (Long64_t i_entry = 0; i_entry < nEntries; ++i_entry) {
+    // event numbering starts at 1
+    ATH_MSG_DEBUG("Now checking event number " << i_entry + 1);
+    m_tree->GetEntry(i_entry);
+    
+    if (data0.empty()) { ATH_MSG_WARNING("No " << data0.getDetector() << data0.getName() << " found in event " << i_entry + 1); continue; }
+    if (data1.empty()) { ATH_MSG_WARNING("No " << data1.getDetector() << data1.getName() << " found in event " << i_entry + 1); continue; }
+
+    ATH_MSG_DEBUG("Number of " << data0.getDetector() << data0.getName() << ": " << data0.size() << 
+                  ", number of " << data1.getDetector() << data1.getName() << ": " << data1.size());
+
+  //only muon events:
+  if (m_doNSWMatchingMuon) {
+    bool allMu = true;
+    int mu_pdg = 13;
+    for ( int pdg : *TruthParticle_Pdg ) { allMu &= (abs(pdg) == mu_pdg); }
+    if ( !allMu ) { ATH_MSG_VERBOSE("Skipping event, because doNSWMatchingMuonOnly is true and there non muon particles"); continue; }
+  }
+
+  // Reset variables to have a clean sheet
+    data0.init_matching();
+    data1.init_matching();
+
+    // Actual Matching
+    for (uint i = 0; i < data0.size(); ++i)
+     {
+      int nMatch = 0;
+        for (uint j = 0; j < data1.size(); ++j)
+        {
+           if ( data0.identifierMatch(data0, data1, i, j) )
+           {
+              nMatch++;
+              data0.update_match(i, data1.m_channel->at(j));
+              data1.update_match(j, data0.m_channel->at(i));
+           }
+        }
+        ATH_MSG_VERBOSE("Total Number of matches found: " << nMatch << " " << data1.getName() << " for a single " << data0.getName() );
+        if (nMatch == 0) {
+          ATH_MSG_WARNING("No match found!");
+        }
+     }
+    if (msgLevel() <= MSG::DEBUG) { 
+      ATH_MSG_DEBUG("Full info for " << data0.getName() << data0.getDetector());
+      data0.printInfo(); 
+      ATH_MSG_DEBUG("Full info for " << data1.getName() << data1.getDetector());
+      data1.printInfo(); 
+    }
+    
+    data0.update_efficiency(m_maxStripDiff);
+    data1.update_efficiency(m_maxStripDiff);
+
+  // The data0 vs data1 matching will now be overwritten
+  data0.clearVars();
+  data1.clearVars();
+  }
+
+  // Write result to file
+  std::ofstream efficiencies; 
+  efficiencies.open("NSWMatchingAlg_efficiencies.txt", std::ofstream::app);
+  data0.printEfficiency(efficiencies);
+  data1.printEfficiency(efficiencies);
+  efficiencies.close();
+
+  return StatusCode::SUCCESS;
+
+}
+
+// This function couples the branch of the NSW validation Ntuple with the EDM object. 
+// In case the brach does not exist, or is completely empty, the object will remain empty and the code will skip the matching entirly, giving a ATH_WARNING in the process
+StatusCode NSWPRDValAlg::setDataAdress (EDM_object &oData, TString branch_name) {
+  bool setBranch = false;
+  if (!(branch_name.Contains(oData.getName()) && branch_name.Contains(oData.getDetector()))) { return StatusCode::SUCCESS; }
+  // For sim hits select the offline identifiers, rather than the sim identifiers
+  if (branch_name.Contains("_sim_")) { return StatusCode::SUCCESS; }
+  if (branch_name.EndsWith("stationName")) { m_tree->SetBranchAddress(branch_name, &oData.m_stationName); setBranch = true; }
+  if (branch_name.EndsWith("stationEta")) { m_tree->SetBranchAddress(branch_name, &oData.m_stationEta); setBranch = true; }
+  if (branch_name.EndsWith("stationPhi")) { m_tree->SetBranchAddress(branch_name, &oData.m_stationPhi); setBranch = true; }
+  if (branch_name.EndsWith("multiplet")) { m_tree->SetBranchAddress(branch_name, &oData.m_multiplet); setBranch = true; }
+  if (branch_name.EndsWith("gas_gap")) { m_tree->SetBranchAddress(branch_name, &oData.m_gas_gap); setBranch = true; }
+  if (branch_name.EndsWith("channel")) { m_tree->SetBranchAddress(branch_name, &oData.m_channel); setBranch = true; }
+  if (branch_name.EndsWith("channel_type")) { m_tree->SetBranchAddress(branch_name, &oData.m_channel_type); setBranch = true; }
+  if (setBranch) { ATH_MSG_DEBUG("Set data adress of branch " << branch_name); }
+  
+  return StatusCode::SUCCESS;
+}
diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/NSWPRDValAlg.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/NSWPRDValAlg.h
index 8dd43410e090..90d3026b0b5d 100644
--- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/NSWPRDValAlg.h
+++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/NSWPRDValAlg.h
@@ -1,11 +1,12 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef NSWPRDVALALG_H
 #define NSWPRDVALALG_H
 
 #include "AthenaBaseComps/AthAlgorithm.h"
+#include "EDM_object.h"
 
 #include <vector>
 
@@ -45,6 +46,11 @@ class NSWPRDValAlg:public AthAlgorithm
   StatusCode finalize();
   StatusCode execute();
 
+  // Matching algorithm
+  StatusCode NSWMatchingAlg();  // First set up which object should be matched, given the input used to fill the NSW Ntuple
+  StatusCode NSWMatchingAlg (EDM_object data0, EDM_object data1); // This part of the matching algortihm does the actual comparison given two EDM obects
+  StatusCode setDataAdress (EDM_object &oData, TString branch_name); // This function couples the branch of the NSW validation Ntuple with the EDM object. 
+
  private:
   TruthVariables*         m_TruthVar;
   MuEntryVariables*       m_MuEntryVar;
@@ -100,6 +106,11 @@ class NSWPRDValAlg:public AthAlgorithm
   std::string m_NSWMM_RDOContainerName;
   std::string m_NSWMM_PRDContainerName;
   std::string m_CSC_DigitContainerName;
+
+  // Matching algorithm
+  BooleanProperty m_doNSWMatching;
+  BooleanProperty m_doNSWMatchingMuon;
+  uint m_maxStripDiff;
 };
 
 #endif // NSWPRDVALALG_H
-- 
GitLab


From 675ad5139e4b1112dee3e2775163e192b144d958 Mon Sep 17 00:00:00 2001
From: scott snyder <scott.snyder@cern.ch>
Date: Fri, 25 Jan 2019 18:42:55 +0100
Subject: [PATCH 130/192] StoreGate: Fix compilation warnings.

Compilation warnings: Don't use std::move in return.
---
 Control/StoreGate/StoreGate/HandleKeyArray.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Control/StoreGate/StoreGate/HandleKeyArray.h b/Control/StoreGate/StoreGate/HandleKeyArray.h
index 2d8256f66ea6..79483f6f0598 100644
--- a/Control/StoreGate/StoreGate/HandleKeyArray.h
+++ b/Control/StoreGate/StoreGate/HandleKeyArray.h
@@ -102,7 +102,7 @@ namespace SG {
       for (itr = this->begin(); itr != this->end(); ++itr) {
         hndl.push_back ( T_Handle( *itr) );
       }
-      return ( std::move( hndl ) );
+      return hndl;
     }
 
     /**
@@ -116,7 +116,7 @@ namespace SG {
       for (itr = this->begin(); itr != this->end(); ++itr) {
         hndl.push_back ( T_Handle( *itr, ctx) );
       }
-      return ( std::move( hndl ) );
+      return hndl;
     }
 
   };
-- 
GitLab


From be39142ddcae85bd0720fe73dd83965b77c3b476 Mon Sep 17 00:00:00 2001
From: scott snyder <snyder@bnl.gov>
Date: Fri, 25 Jan 2019 18:48:18 +0100
Subject: [PATCH 131/192] TileMonitoring: Migrate to VarHandles.

Use ReadHandleKey to get dependencies propagated.

Needed for q431 --thread=1.
---
 .../TileMonitoring/TileMBTSMonTool.h           | 12 +++++++-----
 .../TileMonitoring/src/TileMBTSMonTool.cxx     | 18 ++++++++----------
 2 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/TileCalorimeter/TileMonitoring/TileMonitoring/TileMBTSMonTool.h b/TileCalorimeter/TileMonitoring/TileMonitoring/TileMBTSMonTool.h
index a8a0156470a5..8759aee7812f 100644
--- a/TileCalorimeter/TileMonitoring/TileMonitoring/TileMBTSMonTool.h
+++ b/TileCalorimeter/TileMonitoring/TileMonitoring/TileMBTSMonTool.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // ********************************************************************
@@ -16,6 +16,8 @@
 
 #include "TileMonitoring/TileFatherMonTool.h"
 #include "TileEvent/TileDQstatus.h"
+#include "TileEvent/TileContainer.h"
+#include "TileEvent/TileDigitsContainer.h"
 #include "StoreGate/ReadHandleKey.h"
 
 class CTP_RDO;
@@ -113,10 +115,10 @@ class TileMBTSMonTool: public TileFatherMonTool {
     ServiceHandle<TrigConf::ILVL1ConfigSvc> m_lvl1ConfigSvc;
 
     // container names
-    std::string m_TileDigitsContainerID;
-    std::string m_MBTSCellContainerID;
-    std::string m_TileDSPRawChannelContainerID;
-    std::string m_TileBeamElemContainerID;
+    SG::ReadHandleKey<TileDigitsContainer> m_TileDigitsContainerID
+    { this, "TileDigitsContainerName", "TileDigitsCnt", "" };
+    SG::ReadHandleKey<TileCellContainer>   m_MBTSCellContainerID
+    { this, "MBTSContainerName", "MBTSContainer", "" };
 
     int m_numEvents; // event counter
     bool m_isOnline;
diff --git a/TileCalorimeter/TileMonitoring/src/TileMBTSMonTool.cxx b/TileCalorimeter/TileMonitoring/src/TileMBTSMonTool.cxx
index 5834051e2073..a5a4917ddc78 100644
--- a/TileCalorimeter/TileMonitoring/src/TileMBTSMonTool.cxx
+++ b/TileCalorimeter/TileMonitoring/src/TileMBTSMonTool.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // ********************************************************************//
@@ -94,10 +94,6 @@ TileMBTSMonTool::TileMBTSMonTool(	const std::string & type, const std::string &
 {
   declareInterface<IMonitorToolBase>(this);
   declareProperty("LVL1ConfigSvc", m_lvl1ConfigSvc, "LVL1 Config Service");
-  declareProperty("MBTSContainerName", m_MBTSCellContainerID = "MBTSContainer");
-  declareProperty("TileDigitsContainerName", m_TileDigitsContainerID = "TileDigitsCnt");
-  declareProperty("TileDSPRawChannelContainerName", m_TileDSPRawChannelContainerID = "TileRawChannelCnt");
-  declareProperty("TileBeamElemContainerName", m_TileBeamElemContainerID = "TileBeamElemCnt");
   declareProperty("readTrigger", m_readTrigger = true); // Switch for CTP config
   declareProperty("doOnline", m_isOnline = false); // Switch for online running
   declareProperty("UseTrigger", m_useTrigger = true); // Switch for using trigger information
@@ -164,6 +160,8 @@ StatusCode TileMBTSMonTool:: initialize(){
     }
   }
 	
+  CHECK( m_TileDigitsContainerID.initialize() );
+  CHECK( m_MBTSCellContainerID.initialize() );
   CHECK( m_DQstatusKey.initialize() );
 
   return StatusCode::SUCCESS;
@@ -525,6 +523,7 @@ StatusCode TileMBTSMonTool::bookHistograms() {
 StatusCode TileMBTSMonTool::fillHistograms() {
 
   ATH_MSG_DEBUG( "in fillHistograms()" );
+  const EventContext& ctx = Gaudi::Hive::currentContext();
 
   memset(m_hasEnergyHit, false, sizeof(m_hasEnergyHit));
   memset(m_hasPIT, false, sizeof(m_hasPIT));
@@ -724,8 +723,8 @@ StatusCode TileMBTSMonTool::fillHistograms() {
   // CELL LEVEL INFORMATION
   //==============================================================================
   //Retrieve MBTS container collection from SG
-  const TileCellContainer* theMBTScontainer;
-  CHECK(evtStore()->retrieve(theMBTScontainer, m_MBTSCellContainerID));
+  SG::ReadHandle<TileCellContainer> theMBTScontainer
+    (m_MBTSCellContainerID, ctx);
   ATH_MSG_VERBOSE( "Retrieval of MBTS container " << m_MBTSCellContainerID << " succeeded" );
 
   double energy[32], time[32];
@@ -860,9 +859,8 @@ StatusCode TileMBTSMonTool::fillHistograms() {
   //=======================================================================
 
   //Retrieve TileDigits container collection from SG
-  const TileDigitsContainer* theDigitsContainer;
-  CHECK(evtStore()->retrieve(theDigitsContainer, m_TileDigitsContainerID));
-  ATH_MSG_VERBOSE("Retrieval of Tile Digits container " << m_TileDigitsContainerID << " succeeded");
+  SG::ReadHandle<TileDigitsContainer> theDigitsContainer
+    (m_TileDigitsContainerID, ctx);
 
   // Create instance of TileDQstatus used to check for readout errors in Tile
   const TileDQstatus * theDQstatus = SG::makeHandle (m_DQstatusKey).get();
-- 
GitLab


From 305f059bfbe29977b3aa06f15e5c436d311528cf Mon Sep 17 00:00:00 2001
From: scott snyder <snyder@bnl.gov>
Date: Wed, 23 Jan 2019 16:47:12 +0100
Subject: [PATCH 132/192] TileRec: Convert TileAANtuple to use handles.

Removing more direct access to SG.
---
 .../TileRec/TileRec/TileAANtuple.h            |  53 ++--
 TileCalorimeter/TileRec/src/TileAANtuple.cxx  | 297 +++++++++---------
 2 files changed, 182 insertions(+), 168 deletions(-)

diff --git a/TileCalorimeter/TileRec/TileRec/TileAANtuple.h b/TileCalorimeter/TileRec/TileRec/TileAANtuple.h
index f7137b19065b..2ff03321e47b 100755
--- a/TileCalorimeter/TileRec/TileRec/TileAANtuple.h
+++ b/TileCalorimeter/TileRec/TileRec/TileAANtuple.h
@@ -46,6 +46,8 @@
 #include "TileConditions/TileCablingService.h"
 #include "TileIdentifier/TileRawChannelUnit.h"
 #include "TileEvent/TileLaserObject.h"
+#include "TileEvent/TileMuonReceiverContainer.h"
+#include "TileEvent/TileRawChannelContainer.h"
 #include "TileEvent/TileDQstatus.h"
 #include "TileEvent/TileBeamElemContainer.h"
 #include "TileConditions/ITileDCSTool.h"
@@ -97,7 +99,8 @@ class TileAANtuple : public AthAlgorithm {
     virtual ~TileAANtuple();
 
     //Gaudi Hooks
-    StatusCode ntuple_initialize(const TileDQstatus& DQstatus);
+    StatusCode ntuple_initialize(const EventContext& ctx,
+                                 const TileDQstatus& DQstatus);
     StatusCode ntuple_clear();
     StatusCode initialize();
     StatusCode execute();
@@ -105,34 +108,37 @@ class TileAANtuple : public AthAlgorithm {
 
   private:
 
-    StatusCode storeRawChannels(std::string cntID
+    StatusCode storeRawChannels(const EventContext& ctx
+                                 , const SG::ReadHandleKey<TileRawChannelContainer>& containerKey
 		  	        , float ene[N_ROS2][N_MODULES][N_CHANS]
 			        , float time[N_ROS2][N_MODULES][N_CHANS]
 			        , float chi2[N_ROS2][N_MODULES][N_CHANS]
 			        , float ped[N_ROS2][N_MODULES][N_CHANS]
 			        , bool fillAll);
                                
-    StatusCode storeMFRawChannels(std::string cntID
+    StatusCode storeMFRawChannels(const EventContext& ctx
+                                  , const SG::ReadHandleKey<TileRawChannelContainer>& containerKey
                                   , float ene[N_ROS2][N_MODULES][N_CHANS][N_SAMPLES]
                                   , float time[N_ROS2][N_MODULES][N_CHANS][N_SAMPLES]
                                   , float chi2[N_ROS2][N_MODULES][N_CHANS]
                                   , float ped[N_ROS2][N_MODULES][N_CHANS]
                                   , bool fillAll);
 
-    StatusCode storeDigits(std::string cntID
+    StatusCode storeDigits(const EventContext& ctx
+                           , const SG::ReadHandleKey<TileDigitsContainer>& containerKey
 			   , short sample[N_ROS2][N_MODULES][N_CHANS][N_SAMPLES]
 			   , short gain[N_ROS2][N_MODULES][N_CHANS]
 		  	   , bool fillAll);
 
-    StatusCode storeTMDBDecision();
-    StatusCode storeTMDBDigits();
-    StatusCode storeTMDBRawChannel();
+    StatusCode storeTMDBDecision(const EventContext& ctx);
+    StatusCode storeTMDBDigits(const EventContext& ctx);
+    StatusCode storeTMDBRawChannel(const EventContext& ctxx);
 
     StatusCode storeBeamElements(const TileDQstatus& DQstatus);
-    StatusCode storeLaser();
+    StatusCode storeLaser(const EventContext& ctx);
     StatusCode storeDCS();
 
-    StatusCode initNTuple(void);
+    StatusCode initNTuple(const EventContext& ctx);
 
     void fillCellMap(TTree* ntuplePtr);
 
@@ -326,21 +332,22 @@ class TileAANtuple : public AthAlgorithm {
     int m_nBadTotal;
 
     // jobOptions parameters - container names
-    std::string m_digitsContainer;
-    std::string m_fltDigitsContainer;
+    SG::ReadHandleKey<TileDigitsContainer> m_digitsContainerKey;
+    SG::ReadHandleKey<TileDigitsContainer> m_fltDigitsContainerKey;
     SG::ReadHandleKey<TileBeamElemContainer> m_beamElemContainerKey;
-    std::string m_rawChannelContainer;
-    std::string m_fitRawChannelContainer;
-    std::string m_fitcRawChannelContainer;
-    std::string m_optRawChannelContainer;
-    std::string m_qieRawChannelContainer;
-    std::string m_dspRawChannelContainer;
-    std::string m_mfRawChannelContainer;
-    std::string m_of1RawChannelContainer;
-    std::string m_laserObject;
-    std::string m_tileMuRcvRawChannelContainer; // TMDB
-    std::string m_tileMuRcvDigitsContainer; // TMDB
-    std::string m_tileMuRcvContainer; // TMDB
+    SG::ReadHandleKey<TileRawChannelContainer> m_rawChannelContainerKey;
+    SG::ReadHandleKey<TileRawChannelContainer> m_fitRawChannelContainerKey;
+    SG::ReadHandleKey<TileRawChannelContainer> m_fitcRawChannelContainerKey;
+    SG::ReadHandleKey<TileRawChannelContainer> m_optRawChannelContainerKey;
+    SG::ReadHandleKey<TileRawChannelContainer> m_qieRawChannelContainerKey;
+    SG::ReadHandleKey<TileRawChannelContainer> m_dspRawChannelContainerKey;
+    SG::ReadHandleKey<TileRawChannelContainer> m_mfRawChannelContainerKey;
+    SG::ReadHandleKey<TileRawChannelContainer> m_of1RawChannelContainerKey;
+    SG::ReadHandleKey<TileLaserObject> m_laserObjectKey;
+    SG::ReadHandleKey<TileRawChannelContainer> m_tileMuRcvRawChannelContainerKey; // TMDB
+    SG::ReadHandleKey<TileDigitsContainer> m_tileMuRcvDigitsContainerKey; // TMDB
+    SG::ReadHandleKey<TileMuonReceiverContainer> m_tileMuRcvContainerKey; // TMDB
+    SG::ReadHandleKey<TileL2Container> m_l2CntKey;
 
    // other jobOptions parameters
     bool m_calibrateEnergy; //!< convert energy to new units or use amplitude from RawChannel directly
diff --git a/TileCalorimeter/TileRec/src/TileAANtuple.cxx b/TileCalorimeter/TileRec/src/TileAANtuple.cxx
index 01043fa1d94f..0791bef63927 100755
--- a/TileCalorimeter/TileRec/src/TileAANtuple.cxx
+++ b/TileCalorimeter/TileRec/src/TileAANtuple.cxx
@@ -203,21 +203,22 @@ TileAANtuple::TileAANtuple(std::string name, ISvcLocator* pSvcLocator)
 , m_bad()
 {
   declareProperty("TileCondToolEmscale", m_tileToolEmscale);
-  declareProperty("TileDigitsContainer", m_digitsContainer = "TileDigitsCnt");
-  declareProperty("TileDigitsContainerFlt", m_fltDigitsContainer = "" /* "TileDigitsFlt" */);
+  declareProperty("TileDigitsContainer", m_digitsContainerKey = "TileDigitsCnt");
+  declareProperty("TileDigitsContainerFlt", m_fltDigitsContainerKey = "" /* "TileDigitsFlt" */);
   declareProperty("TileBeamElemContainer", m_beamElemContainerKey = "TileBeamElemCnt");
-  declareProperty("TileRawChannelContainer", m_rawChannelContainer = "TileRawChannelCnt");
-  declareProperty("TileRawChannelContainerFit", m_fitRawChannelContainer = "");      //
-  declareProperty("TileRawChannelContainerFitCool", m_fitcRawChannelContainer = ""); // don't create
-  declareProperty("TileRawChannelContainerOpt", m_optRawChannelContainer = "");      // by default
-  declareProperty("TileRawChannelContainerQIE", m_qieRawChannelContainer = "");      // processed QIE data
-  declareProperty("TileRawChannelContainerOF1", m_of1RawChannelContainer = "");      //
-  declareProperty("TileRawChannelContainerDsp", m_dspRawChannelContainer = "");      //
-  declareProperty("TileRawChannelContainerMF", m_mfRawChannelContainer = "");      //
-  declareProperty("TileMuRcvRawChannelContainer", m_tileMuRcvRawChannelContainer = "MuRcvRawChCnt");// TMDB
-  declareProperty("TileMuRcvDigitsContainer", m_tileMuRcvDigitsContainer = "MuRcvDigitsCnt");// TMDB
-  declareProperty("TileMuRcvContainer", m_tileMuRcvContainer = "TileMuRcvCnt");// TMDB
-  declareProperty("TileLaserObject", m_laserObject = "" /* "TileLaserObj" */);       //
+  declareProperty("TileRawChannelContainer", m_rawChannelContainerKey = "TileRawChannelCnt");
+  declareProperty("TileRawChannelContainerFit", m_fitRawChannelContainerKey = "");      //
+  declareProperty("TileRawChannelContainerFitCool", m_fitcRawChannelContainerKey = ""); // don't create
+  declareProperty("TileRawChannelContainerOpt", m_optRawChannelContainerKey = "");      // by default
+  declareProperty("TileRawChannelContainerQIE", m_qieRawChannelContainerKey = "");      // processed QIE data
+  declareProperty("TileRawChannelContainerOF1", m_of1RawChannelContainerKey = "");      //
+  declareProperty("TileRawChannelContainerDsp", m_dspRawChannelContainerKey = "");      //
+  declareProperty("TileRawChannelContainerMF", m_mfRawChannelContainerKey = "");      //
+  declareProperty("TileMuRcvRawChannelContainer", m_tileMuRcvRawChannelContainerKey = "MuRcvRawChCnt");// TMDB
+  declareProperty("TileMuRcvDigitsContainer", m_tileMuRcvDigitsContainerKey = "MuRcvDigitsCnt");// TMDB
+  declareProperty("TileMuRcvContainer", m_tileMuRcvContainerKey = "TileMuRcvCnt");// TMDB
+  declareProperty("TileLaserObject", m_laserObjectKey = "" /* "TileLaserObj" */);       //
+  declareProperty("TileL2Cnt", m_l2CntKey = "TileL2Cnt");
   declareProperty("CalibrateEnergy", m_calibrateEnergy = true);
   declareProperty("UseDspUnits", m_useDspUnits = false);
   declareProperty("OfflineUnits", m_finalUnit = TileRawChannelUnit::MegaElectronVolts);
@@ -305,15 +306,35 @@ StatusCode TileAANtuple::initialize() {
 
   ATH_CHECK( m_DQstatusKey.initialize() );
 
+  if (m_dspRawChannelContainerKey.empty() && m_bsInput) {
+    m_dspRawChannelContainerKey = "TileRawChannelCnt"; // try DSP container name to read DQ status
+  }
+
   ATH_CHECK( m_beamElemContainerKey.initialize(m_bsInput) );
+  ATH_CHECK( m_digitsContainerKey.initialize(SG::AllowEmpty) );
+  ATH_CHECK( m_fltDigitsContainerKey.initialize(SG::AllowEmpty) );
+  ATH_CHECK( m_laserObjectKey.initialize(SG::AllowEmpty) );
+  ATH_CHECK( m_tileMuRcvContainerKey.initialize(SG::AllowEmpty) );
+  ATH_CHECK( m_tileMuRcvDigitsContainerKey.initialize(SG::AllowEmpty) );
+  ATH_CHECK( m_tileMuRcvRawChannelContainerKey.initialize(SG::AllowEmpty) );
+  ATH_CHECK( m_mfRawChannelContainerKey.initialize(SG::AllowEmpty) );
+  ATH_CHECK( m_rawChannelContainerKey.initialize(SG::AllowEmpty) );
+  ATH_CHECK( m_fitRawChannelContainerKey.initialize(SG::AllowEmpty) );
+  ATH_CHECK( m_fitcRawChannelContainerKey.initialize(SG::AllowEmpty) );
+  ATH_CHECK( m_optRawChannelContainerKey.initialize(SG::AllowEmpty) );
+  ATH_CHECK( m_qieRawChannelContainerKey.initialize(SG::AllowEmpty) );
+  ATH_CHECK( m_dspRawChannelContainerKey.initialize(SG::AllowEmpty) );
+  ATH_CHECK( m_of1RawChannelContainerKey.initialize(SG::AllowEmpty) );
+  ATH_CHECK( m_l2CntKey.initialize(m_compareMode) );
   
   ATH_MSG_INFO( "initialization completed" ) ;
   return StatusCode::SUCCESS;
 }
 
 
-StatusCode TileAANtuple::ntuple_initialize(const TileDQstatus& DQstatus) {
-  
+StatusCode TileAANtuple::ntuple_initialize(const EventContext& ctx,
+                                           const TileDQstatus& DQstatus)
+{
   if (m_bsInput) {
     ServiceHandle<IConversionSvc> cnvSvc("ByteStreamCnvSvc", "");
     if (cnvSvc.retrieve().isFailure()) {
@@ -367,7 +388,7 @@ StatusCode TileAANtuple::ntuple_initialize(const TileDQstatus& DQstatus) {
   
   ATH_CHECK( m_thistSvc.retrieve() );
   
-  if(initNTuple().isFailure()) {
+  if(initNTuple(ctx).isFailure()) {
     ATH_MSG_ERROR( " Error during ntuple initialization" );
   }
   
@@ -381,7 +402,7 @@ StatusCode TileAANtuple::execute() {
   const TileDQstatus* DQstatus = SG::makeHandle (m_DQstatusKey, ctx).get();
 
   if (m_evtNr < 0) {
-    if (ntuple_initialize(*DQstatus).isFailure()) {
+    if (ntuple_initialize(ctx, *DQstatus).isFailure()) {
       ATH_MSG_ERROR( "ntuple_initialize failed" );
     }
   }
@@ -402,30 +423,30 @@ StatusCode TileAANtuple::execute() {
   }
   
   //store Laser Object
-  if (m_laserObject.size() > 0) {
-    empty &= storeLaser().isFailure();
+  if (!m_laserObjectKey.empty()) {
+    empty &= storeLaser(ctx).isFailure();
   }
   
   // store TileDigits
-  empty &= storeDigits(m_fltDigitsContainer,m_sampleFlt,m_gainFlt,false).isFailure();
-  empty &= storeDigits(m_digitsContainer,   m_sample,   m_gain,   true ).isFailure();
+  empty &= storeDigits(ctx, m_fltDigitsContainerKey,m_sampleFlt,m_gainFlt,false).isFailure();
+  empty &= storeDigits(ctx, m_digitsContainerKey,   m_sample,   m_gain,   true ).isFailure();
   
   // store TileRawChannels
   // start from DSP channels - so we can find out what is the DSP units
-  empty &= storeRawChannels(m_dspRawChannelContainer,  m_eDsp,  m_tDsp,  m_chi2Dsp, m_pedDsp, true ).isFailure();
-  empty &= storeRawChannels(m_rawChannelContainer,     m_ene,   m_time,  m_chi2,    m_ped,    false).isFailure();
-  empty &= storeMFRawChannels(m_mfRawChannelContainer, m_eMF,   m_tMF,   m_chi2MF,  m_pedMF,  false).isFailure();
-  empty &= storeRawChannels(m_fitRawChannelContainer,  m_eFit,  m_tFit,  m_chi2Fit, m_pedFit, false).isFailure();
-  empty &= storeRawChannels(m_fitcRawChannelContainer, m_eFitc, m_tFitc, m_chi2Fitc,m_pedFitc,false).isFailure();
-  empty &= storeRawChannels(m_optRawChannelContainer,  m_eOpt,  m_tOpt,  m_chi2Opt, m_pedOpt, false).isFailure();
-  empty &= storeRawChannels(m_qieRawChannelContainer,  m_eQIE,  m_tQIE,  m_chi2QIE, m_pedQIE, false).isFailure();
-  empty &= storeRawChannels(m_of1RawChannelContainer,  m_eOF1,  m_tOF1,  m_chi2OF1, m_pedOF1, false).isFailure();
+  empty &= storeRawChannels(ctx, m_dspRawChannelContainerKey,  m_eDsp,  m_tDsp,  m_chi2Dsp, m_pedDsp, true ).isFailure();
+  empty &= storeRawChannels(ctx, m_rawChannelContainerKey,     m_ene,   m_time,  m_chi2,    m_ped,    false).isFailure();
+  empty &= storeMFRawChannels(ctx, m_mfRawChannelContainerKey, m_eMF,   m_tMF,   m_chi2MF,  m_pedMF,  false).isFailure();
+  empty &= storeRawChannels(ctx, m_fitRawChannelContainerKey,  m_eFit,  m_tFit,  m_chi2Fit, m_pedFit, false).isFailure();
+  empty &= storeRawChannels(ctx, m_fitcRawChannelContainerKey, m_eFitc, m_tFitc, m_chi2Fitc,m_pedFitc,false).isFailure();
+  empty &= storeRawChannels(ctx, m_optRawChannelContainerKey,  m_eOpt,  m_tOpt,  m_chi2Opt, m_pedOpt, false).isFailure();
+  empty &= storeRawChannels(ctx, m_qieRawChannelContainerKey,  m_eQIE,  m_tQIE,  m_chi2QIE, m_pedQIE, false).isFailure();
+  empty &= storeRawChannels(ctx, m_of1RawChannelContainerKey,  m_eOF1,  m_tOF1,  m_chi2OF1, m_pedOF1, false).isFailure();
   
   // store TMDB data
   //
-  empty &= storeTMDBDecision().isFailure();
-  empty &= storeTMDBDigits().isFailure();
-  empty &= storeTMDBRawChannel().isFailure();
+  empty &= storeTMDBDecision(ctx).isFailure();
+  empty &= storeTMDBDigits(ctx).isFailure();
+  empty &= storeTMDBRawChannel(ctx).isFailure();
 
   if (m_beamCnv) {
     SG::makeHandle (m_beamElemContainerKey, ctx).get();
@@ -442,23 +463,17 @@ StatusCode TileAANtuple::execute() {
   }
   m_lumiBlock = -1; // placeholder
   
-  // new way to set run/event/lumi block
-  // Retrieve eventInfo from StoreGate
-  const xAOD::EventInfo* eventInfo(0);
-  if (evtStore()->retrieve(eventInfo).isSuccess()){
+  //Get run and event numbers
+  m_run = ctx.eventID().run_number();
+  m_evt = ctx.eventID().event_number();
     
-    //Get run and event numbers
-    m_run = eventInfo->runNumber();
-    m_evt = eventInfo->eventNumber();
-    
-    if ( eventInfo->lumiBlock() ){
-      m_lumiBlock = eventInfo->lumiBlock();
-    }
+  if ( ctx.eventID().lumi_block() ){
+    m_lumiBlock = ctx.eventID().lumi_block();
+  }
     
-    //Get timestamp of the event
-    if (eventInfo->timeStamp() > 0) {
-      m_evTime = eventInfo->timeStamp();
-    }
+  //Get timestamp of the event
+  if (ctx.eventID().time_stamp() > 0) {
+    m_evTime = ctx.eventID().time_stamp();
   }
   
   if (m_evTime>0) {
@@ -530,12 +545,11 @@ StatusCode TileAANtuple::execute() {
 //
 // Here the LASER object is opened and corresponding variable are stored
 //
-StatusCode TileAANtuple::storeLaser() {
+StatusCode TileAANtuple::storeLaser (const EventContext& ctx) {
   
   ATH_MSG_DEBUG("TileAANtuple::storeLaser()");
   
-  const TileLaserObject* laserObj;
-  ATH_CHECK( evtStore()->retrieve(laserObj, m_laserObject) );
+  const TileLaserObject* laserObj = SG::makeHandle(m_laserObjectKey, ctx).get();
   
   m_las_BCID = laserObj->getBCID();
   
@@ -693,25 +707,22 @@ StatusCode TileAANtuple::storeBeamElements(const TileDQstatus& DQstatus) {
  /// Fill ntuple with data from TRC.
  */
 StatusCode
-TileAANtuple::storeRawChannels(std::string containerId
+TileAANtuple::storeRawChannels(const EventContext& ctx
+                               , const SG::ReadHandleKey<TileRawChannelContainer>& containerKey
                                , float ene[N_ROS2][N_MODULES][N_CHANS]
                                , float time[N_ROS2][N_MODULES][N_CHANS]
                                , float chi2[N_ROS2][N_MODULES][N_CHANS]
                                , float ped[N_ROS2][N_MODULES][N_CHANS]
                                , bool fillAll)
 {
-  if (containerId.size() == 0) {// empty name, nothing to do
-    if (fillAll && m_bsInput) {
-      containerId = "TileRawChannelCnt"; // try DSP container name to read DQ status
-    } else {
-      return StatusCode::FAILURE;
-    }
+  if (containerKey.empty()) {// empty name, nothing to do
+    return StatusCode::FAILURE;
   }
   
   // get named container
-  const TileRawChannelContainer* rcCnt;
-  ATH_CHECK( evtStore()->retrieve(rcCnt, containerId) );
-  ATH_MSG_VERBOSE( "Conteiner ID " << containerId );
+  const TileRawChannelContainer* rcCnt =
+    SG::makeHandle (containerKey, ctx).get();
+  ATH_MSG_VERBOSE( "Container ID " << containerKey.key() );
   
   TileRawChannelUnit::UNIT rChUnit = rcCnt->get_unit();
   ATH_MSG_VERBOSE( "RawChannel unit is " << rChUnit );
@@ -761,7 +772,7 @@ TileAANtuple::storeRawChannels(std::string containerId
     int rosL = rosI;
     int rosH = rosI + N_ROS;
     
-    ATH_MSG_VERBOSE( "TRC ("<< containerId
+    ATH_MSG_VERBOSE( "TRC ("<< containerKey.key()
                     <<") Event# "<< m_evtNr
                     << " Frag id 0x" << MSG::hex << fragId << MSG::dec
                     << " ROS " << ROS
@@ -878,8 +889,7 @@ TileAANtuple::storeRawChannels(std::string containerId
   
   if (m_compareMode && dspCont) {
     
-    const TileL2Container* l2Cnt;
-    ATH_CHECK( evtStore()->retrieve(l2Cnt, "TileL2Cnt") );
+    const TileL2Container* l2Cnt = SG::makeHandle(m_l2CntKey, ctx).get();
     
     TileL2Container::const_iterator it = l2Cnt->begin();
     TileL2Container::const_iterator end= l2Cnt->end();
@@ -895,24 +905,21 @@ TileAANtuple::storeRawChannels(std::string containerId
 }
 
 StatusCode
-TileAANtuple::storeMFRawChannels(std::string containerId
+TileAANtuple::storeMFRawChannels(const EventContext& ctx
+                                 , const SG::ReadHandleKey<TileRawChannelContainer>& containerKey
                                  , float ene[N_ROS2][N_MODULES][N_CHANS][N_SAMPLES]
                                  , float time[N_ROS2][N_MODULES][N_CHANS][N_SAMPLES]
                                  , float chi2[N_ROS2][N_MODULES][N_CHANS]
                                  , float ped[N_ROS2][N_MODULES][N_CHANS]
                                  , bool fillAll)
 {
-  if (containerId.size() == 0) {// empty name, nothing to do
-    if (fillAll && m_bsInput) {
-      containerId = "TileRawChannelCnt"; // try DSP container name to read DQ status
-    } else {
-      return StatusCode::FAILURE;
-    }
+  if (containerKey.empty()) {// empty name, nothing to do
+    return StatusCode::FAILURE;
   }
   
   // get named container
-  const TileRawChannelContainer* rcCnt;
-  ATH_CHECK( evtStore()->retrieve(rcCnt, containerId) );
+  const TileRawChannelContainer* rcCnt = \
+    SG::makeHandle (containerKey, ctx).get();
   
   TileRawChannelUnit::UNIT rChUnit = rcCnt->get_unit();
   ATH_MSG_VERBOSE( "RawChannel unit is " << rChUnit );
@@ -962,7 +969,7 @@ TileAANtuple::storeMFRawChannels(std::string containerId
     int rosL = rosI;
     int rosH = rosI + N_ROS;
     
-    ATH_MSG_VERBOSE( "TRC ("<< containerId
+    ATH_MSG_VERBOSE( "TRC ("<< containerKey.key()
                     <<") Event# "<< m_evtNr
                     << " Frag id 0x" << MSG::hex << fragId << MSG::dec
                     << " ROS " << ROS
@@ -1082,8 +1089,7 @@ TileAANtuple::storeMFRawChannels(std::string containerId
   
   if (m_compareMode && dspCont) {
     
-    const TileL2Container* l2Cnt;
-    ATH_CHECK( evtStore()->retrieve(l2Cnt, "TileL2Cnt") );
+    const TileL2Container* l2Cnt = SG::makeHandle(m_l2CntKey, ctx).get();
     
     TileL2Container::const_iterator it = l2Cnt->begin();
     TileL2Container::const_iterator end= l2Cnt->end();
@@ -1104,17 +1110,18 @@ TileAANtuple::storeMFRawChannels(std::string containerId
  /// Return true if the collection is empty
  */
 StatusCode
-TileAANtuple::storeDigits(std::string containerId
+TileAANtuple::storeDigits(const EventContext& ctx
+                          , const SG::ReadHandleKey<TileDigitsContainer>& containerKey
                           , short a_sample[N_ROS2][N_MODULES][N_CHANS][N_SAMPLES]
                           , short a_gain[N_ROS2][N_MODULES][N_CHANS]
                           , bool fillAll)
 {
-  if (containerId.size() == 0) // empty name, nothing to do
+  if (containerKey.empty()) // empty name, nothing to do
     return StatusCode::FAILURE;
   
   // Read Digits from TES
-  const TileDigitsContainer* digitsCnt;
-  ATH_CHECK( evtStore()->retrieve(digitsCnt, containerId) );
+  const TileDigitsContainer* digitsCnt =
+    SG::makeHandle (containerKey, ctx).get();
   
   bool emptyColl = true;
   
@@ -1282,18 +1289,18 @@ TileAANtuple::storeDigits(std::string containerId
   else return StatusCode::SUCCESS;
 }
 
-StatusCode TileAANtuple::storeTMDBDecision() {
+StatusCode TileAANtuple::storeTMDBDecision(const EventContext& ctx) {
 
   const char * part[4] = {"LBA","LBC","EBA","EBC"};
 
   // Read Decision from TES
   //
-  if (m_tileMuRcvContainer.size()>0){
+  if (!m_tileMuRcvContainerKey.empty()){
 
-    ATH_MSG_VERBOSE( "reading TMDB decision from " << m_tileMuRcvContainer ); 
+    ATH_MSG_VERBOSE( "reading TMDB decision from " << m_tileMuRcvContainerKey.key() ); 
 
-    const TileMuonReceiverContainer *decisionCnt;
-    ATH_CHECK( evtStore()->retrieve(decisionCnt, m_tileMuRcvContainer) );
+    const TileMuonReceiverContainer *decisionCnt =
+      SG::makeHandle (m_tileMuRcvContainerKey, ctx).get();
   
     TileMuonReceiverContainer::const_iterator it = decisionCnt->begin();
     TileMuonReceiverContainer::const_iterator itLast = decisionCnt->end();
@@ -1338,18 +1345,18 @@ StatusCode TileAANtuple::storeTMDBDecision() {
   return StatusCode::SUCCESS;
 }
  
-StatusCode TileAANtuple::storeTMDBDigits() {
+StatusCode TileAANtuple::storeTMDBDigits(const EventContext& ctx) {
 
   const char * part[4] = {"LBA","LBC","EBA","EBC"};
 
   // Read Digits from TES
   //
-  if (m_tileMuRcvDigitsContainer.size()>0){
+  if (!m_tileMuRcvDigitsContainerKey.empty()){
 
-    ATH_MSG_VERBOSE( "reading TMDB digits from " << m_tileMuRcvDigitsContainer ); 
+    ATH_MSG_VERBOSE( "reading TMDB digits from " << m_tileMuRcvDigitsContainerKey.key() ); 
 
-    const TileDigitsContainer* digitsCnt;
-    ATH_CHECK( evtStore()->retrieve(digitsCnt, m_tileMuRcvDigitsContainer) );
+    const TileDigitsContainer* digitsCnt =
+      SG::makeHandle (m_tileMuRcvDigitsContainerKey, ctx).get();
   
     TileDigitsContainer::const_iterator itColl1 = (*digitsCnt).begin();
     TileDigitsContainer::const_iterator itCollEnd1 = (*digitsCnt).end();
@@ -1410,18 +1417,18 @@ StatusCode TileAANtuple::storeTMDBDigits() {
   return StatusCode::SUCCESS;
 }
 
-StatusCode TileAANtuple::storeTMDBRawChannel() {
+StatusCode TileAANtuple::storeTMDBRawChannel(const EventContext& ctx) {
 
   const char * part[4] = {"LBA","LBC","EBA","EBC"};
 
   // Read Raw Channels from TDS
   //
-  if (m_tileMuRcvRawChannelContainer.size()>0){
+  if (!m_tileMuRcvRawChannelContainerKey.empty()){
 
-    ATH_MSG_VERBOSE( "reading TMDB energies from " << m_tileMuRcvRawChannelContainer ); 
+    ATH_MSG_VERBOSE( "reading TMDB energies from " << m_tileMuRcvRawChannelContainerKey.key() ); 
 
-    const TileRawChannelContainer* rcCnt;
-    ATH_CHECK( evtStore()->retrieve(rcCnt, m_tileMuRcvRawChannelContainer) );
+    const TileRawChannelContainer* rcCnt =
+      SG::makeHandle (m_tileMuRcvRawChannelContainerKey, ctx).get();
 
     TileRawChannelContainer::const_iterator itColl2 = (*rcCnt).begin();
     TileRawChannelContainer::const_iterator itCollEnd2 = (*rcCnt).end();
@@ -1484,7 +1491,7 @@ TileAANtuple::ntuple_clear() {
 }
 
 StatusCode
-TileAANtuple::initNTuple(void) {
+TileAANtuple::initNTuple(const EventContext& ctx) {
   //Aux Ntuple creation
   
   if (m_ntupleID.size() > 0) {
@@ -1507,9 +1514,9 @@ TileAANtuple::initNTuple(void) {
     
     TRIGGER_addBranch();
     CISPAR_addBranch();
-    if (m_laserObject.size() > 0) {
-      const TileLaserObject* laserObj;
-      ATH_CHECK( evtStore()->retrieve(laserObj, m_laserObject) );
+    if (!m_laserObjectKey.empty()) {
+      const TileLaserObject* laserObj =
+        SG::makeHandle(m_laserObjectKey, ctx).get();
       m_las_version = laserObj->getVersion();
       LASER_addBranch();
     }
@@ -1733,7 +1740,7 @@ void TileAANtuple::CISPAR_clearBranch(void) {
  */
 void TileAANtuple::LASER_addBranch(void) {
   
-  if (m_laserObject.size() > 0) {
+  if (!m_laserObjectKey.empty()) {
     
     const char* gainnames[2]  = {"LG","HG"};
     const char* channames[16] = {"Diode0","Diode1","Diode2","Diode3","Diode4","Diode5","Diode6","Diode7",
@@ -2006,7 +2013,7 @@ void TileAANtuple::LASER_addBranch(void) {
  */
 void TileAANtuple::LASER_clearBranch(void) {
   
-  if (m_laserObject.size() > 0) {
+  if (!m_laserObjectKey.empty()) {
     
     m_las_BCID = 0;
     
@@ -2079,35 +2086,35 @@ void TileAANtuple::DIGI_addBranch(void)
     
     std::string f_suf(suf[i]);
     
-    if (m_fltDigitsContainer.size() == 0 && m_digitsContainer.size() == 0
-        && (m_rawChannelContainer.size() > 0
-            || m_fitRawChannelContainer.size() > 0
-            || m_fitcRawChannelContainer.size() > 0
-            || m_optRawChannelContainer.size() > 0
-            || m_qieRawChannelContainer.size() > 0
-            || m_dspRawChannelContainer.size() > 0
-            || m_mfRawChannelContainer.size() > 0
-            || m_of1RawChannelContainer.size() > 0
-            || m_bsInput) ) {
+    if (m_fltDigitsContainerKey.empty() && m_digitsContainerKey.empty()
+        && (!m_rawChannelContainerKey.empty()
+            || !m_fitRawChannelContainerKey.empty()
+            || !m_fitcRawChannelContainerKey.empty()
+            || !m_optRawChannelContainerKey.empty()
+            || !m_qieRawChannelContainerKey.empty()
+            || !m_dspRawChannelContainerKey.empty()
+            || !m_mfRawChannelContainerKey.empty()
+            || !m_of1RawChannelContainerKey.empty()
+            || !m_bsInput) ) {
           
           m_ntuplePtr->Branch(NAME2("gain",f_suf),            m_gain[ir],          NAME3("gain",         f_suf,"[4][64][48]/S"));    // short
           
         } else {
           
-          if (m_fltDigitsContainer.size() > 0) {
-            if (m_digitsContainer.size() > 0) { // should use different names for two containers
+          if (!m_fltDigitsContainerKey.empty()) {
+            if (!m_digitsContainerKey.empty()) { // should use different names for two containers
               
               m_ntuplePtr->Branch(NAME2("sampleFlt",f_suf),   m_sampleFlt[ir],     NAME3("sampleFlt",    f_suf,"[4][64][48][7]/S")); // short
               m_ntuplePtr->Branch(NAME2("gainFlt",f_suf),     m_gainFlt[ir],       NAME3("gainFlt",      f_suf,"[4][64][48]/S"));    // short
             } else {
               m_ntuplePtr->Branch(NAME2("sample",f_suf),      m_sampleFlt[ir],     NAME3("sampleFlt",    f_suf,"[4][64][48][7]/S")); // short
-              if (m_rawChannelContainer.size() > 0
-                  || m_fitRawChannelContainer.size() > 0
-                  || m_fitcRawChannelContainer.size() > 0
-                  || m_optRawChannelContainer.size() > 0
-                  || m_qieRawChannelContainer.size() > 0
-                  || m_of1RawChannelContainer.size() > 0
-                  || m_dspRawChannelContainer.size() > 0
+              if (!m_rawChannelContainerKey.empty()
+                  || !m_fitRawChannelContainerKey.empty()
+                  || !m_fitcRawChannelContainerKey.empty()
+                  || !m_optRawChannelContainerKey.empty()
+                  || !m_qieRawChannelContainerKey.empty()
+                  || !m_of1RawChannelContainerKey.empty()
+                  || !m_dspRawChannelContainerKey.empty()
                   || m_bsInput) {
                 
                 m_ntuplePtr->Branch(NAME2("gain",f_suf),      m_gain[ir],          NAME3("gain",         f_suf,"[4][64][48]/S"));    // short
@@ -2117,7 +2124,7 @@ void TileAANtuple::DIGI_addBranch(void)
             }
           }
           
-          if (m_digitsContainer.size() > 0) {
+          if (!m_digitsContainerKey.empty()) {
             m_ntuplePtr->Branch(NAME2("sample",f_suf),          m_sample[ir],        NAME3("sample",       f_suf,"[4][64][48][7]/S")); // short
             m_ntuplePtr->Branch(NAME2("gain",f_suf),            m_gain[ir],          NAME3("gain",         f_suf,"[4][64][48]/S"));    // short
             
@@ -2143,56 +2150,56 @@ void TileAANtuple::DIGI_addBranch(void)
           }
         }
     
-    if (m_rawChannelContainer.size() > 0) {
+    if (!m_rawChannelContainerKey.empty()) {
       m_ntuplePtr->Branch(NAME2("ene",f_suf),     m_ene[ir],          NAME3("ene",f_suf,"[4][64][48]/F")); // float
       m_ntuplePtr->Branch(NAME2("time",f_suf),    m_time[ir],        NAME3("time",f_suf,"[4][64][48]/F")); // float
       m_ntuplePtr->Branch(NAME2("ped",f_suf),     m_ped[ir],          NAME3("ped",f_suf,"[4][64][48]/F")); // float
       m_ntuplePtr->Branch(NAME2("chi2",f_suf),    m_chi2[ir],        NAME3("chi2",f_suf,"[4][64][48]/F")); // float
     }
     
-    if (m_fitRawChannelContainer.size() > 0) {
+    if (!m_fitRawChannelContainerKey.empty()) {
       m_ntuplePtr->Branch(NAME2("eFit",f_suf),    m_eFit[ir],        NAME3("eFit",f_suf,"[4][64][48]/F")); // float
       m_ntuplePtr->Branch(NAME2("tFit",f_suf),    m_tFit[ir],        NAME3("tFit",f_suf,"[4][64][48]/F")); // float
       m_ntuplePtr->Branch(NAME2("pedFit",f_suf),  m_pedFit[ir],    NAME3("pedFit",f_suf,"[4][64][48]/F")); // float
       m_ntuplePtr->Branch(NAME2("chi2Fit",f_suf), m_chi2Fit[ir],  NAME3("chi2Fit",f_suf,"[4][64][48]/F")); // float
     }
     
-    if (m_fitcRawChannelContainer.size() > 0) {
+    if (!m_fitcRawChannelContainerKey.empty()) {
       m_ntuplePtr->Branch(NAME2("eFitc",f_suf),   m_eFitc[ir],      NAME3("eFitc",f_suf,"[4][64][48]/F")); // float
       m_ntuplePtr->Branch(NAME2("tFitc",f_suf),   m_tFitc[ir],      NAME3("tFitc",f_suf,"[4][64][48]/F")); // float
       m_ntuplePtr->Branch(NAME2("pedFitc",f_suf), m_pedFitc[ir],  NAME3("pedFitc",f_suf,"[4][64][48]/F")); // float
       m_ntuplePtr->Branch(NAME2("chi2Fitc",f_suf),m_chi2Fitc[ir],NAME3("chi2Fitc",f_suf,"[4][64][48]/F")); // float
     }
     
-    if (m_optRawChannelContainer.size() > 0) {
+    if (!m_optRawChannelContainerKey.empty()) {
       m_ntuplePtr->Branch(NAME2("eOpt",f_suf),    m_eOpt[ir],        NAME3("eOpt",f_suf,"[4][64][48]/F")); // float
       m_ntuplePtr->Branch(NAME2("tOpt",f_suf),    m_tOpt[ir],        NAME3("tOpt",f_suf,"[4][64][48]/F")); // float
       m_ntuplePtr->Branch(NAME2("pedOpt",f_suf),  m_pedOpt[ir],    NAME3("pedOpt",f_suf,"[4][64][48]/F")); // float
       m_ntuplePtr->Branch(NAME2("chi2Opt",f_suf), m_chi2Opt[ir],  NAME3("chi2Opt",f_suf,"[4][64][48]/F")); // float
     }
     
-    if (m_qieRawChannelContainer.size() > 0) {
+    if (!m_qieRawChannelContainerKey.empty()) {
       m_ntuplePtr->Branch(NAME2("eQIE",f_suf),    m_eQIE[ir],        NAME3("eQIE",f_suf,"[4][64][48]/F")); // float
       m_ntuplePtr->Branch(NAME2("tQIE",f_suf),    m_tQIE[ir],        NAME3("tQIE",f_suf,"[4][64][48]/F")); // float
       m_ntuplePtr->Branch(NAME2("pedQIE",f_suf),  m_pedQIE[ir],    NAME3("pedQIE",f_suf,"[4][64][48]/F")); // float
       m_ntuplePtr->Branch(NAME2("chi2QIE",f_suf), m_chi2QIE[ir],  NAME3("chi2QIE",f_suf,"[4][64][48]/F")); // float
     }
 
-    if (m_of1RawChannelContainer.size() > 0) {
+    if (!m_of1RawChannelContainerKey.empty()) {
       m_ntuplePtr->Branch(NAME2("eOF1",f_suf),    m_eOF1[ir],        NAME3("eOF1",f_suf,"[4][64][48]/F")); // float
       m_ntuplePtr->Branch(NAME2("tOF1",f_suf),    m_tOF1[ir],        NAME3("tOF1",f_suf,"[4][64][48]/F")); // float
       m_ntuplePtr->Branch(NAME2("pedOF1",f_suf),  m_pedOF1[ir],    NAME3("pedOF1",f_suf,"[4][64][48]/F")); // float
       m_ntuplePtr->Branch(NAME2("chi2OF1",f_suf), m_chi2OF1[ir],  NAME3("chi2OF1",f_suf,"[4][64][48]/F")); // float
     }
     
-    if (m_dspRawChannelContainer.size() > 0) {
+    if (!m_dspRawChannelContainerKey.empty()) {
       m_ntuplePtr->Branch(NAME2("eDsp",f_suf),    m_eDsp[ir],        NAME3("eDsp",f_suf,"[4][64][48]/F")); // float
       m_ntuplePtr->Branch(NAME2("tDsp",f_suf),    m_tDsp[ir],        NAME3("tDsp",f_suf,"[4][64][48]/F")); // float
       m_ntuplePtr->Branch(NAME2("pedDsp",f_suf),  m_pedDsp[ir],    NAME3("pedDsp",f_suf,"[4][64][48]/F")); // float
       m_ntuplePtr->Branch(NAME2("chi2Dsp",f_suf), m_chi2Dsp[ir],  NAME3("chi2Dsp",f_suf,"[4][64][48]/F")); // float
     }
     
-    if (m_mfRawChannelContainer.size() > 0) {
+    if (!m_mfRawChannelContainerKey.empty()) {
       m_ntuplePtr->Branch(NAME2("eMF",f_suf),    m_eMF[ir],        NAME3("eMF",f_suf,"[4][64][48][7]/F")); // float
       m_ntuplePtr->Branch(NAME2("tMF",f_suf),    m_tMF[ir],        NAME3("tMF",f_suf,"[4][64][48][7]/F")); // float
       m_ntuplePtr->Branch(NAME2("chi2MF",f_suf), m_chi2MF[ir],     NAME3("chi2MF",f_suf,"[4][64][48]/F")); // float
@@ -2243,12 +2250,12 @@ void TileAANtuple::DIGI_clearBranch(void) {
   
   CLEAR3(m_gain, size);
   
-  if (m_fltDigitsContainer.size() > 0) {
+  if (!m_fltDigitsContainerKey.empty()) {
     CLEAR3(m_sampleFlt, size);
     CLEAR3(m_gainFlt, size);
   }
   
-  if (m_digitsContainer.size() > 0) {
+  if (!m_digitsContainerKey.empty()) {
     CLEAR3(m_sample, size);
     
     if (m_bsInput) {
@@ -2271,28 +2278,28 @@ void TileAANtuple::DIGI_clearBranch(void) {
     
   }
   
-  if (m_rawChannelContainer.size() > 0) {
+  if (!m_rawChannelContainerKey.empty()) {
     CLEAR2(m_ene, size);
     CLEAR2(m_time, size);
     CLEAR2(m_ped, size);
     CLEAR2(m_chi2, size);
   }
   
-  if (m_fitRawChannelContainer.size() > 0) {
+  if (!m_fitRawChannelContainerKey.empty()) {
     CLEAR2(m_eFit, size);
     CLEAR2(m_tFit, size);
     CLEAR2(m_pedFit, size);
     CLEAR2(m_chi2Fit, size);
   }
   
-  if (m_fitcRawChannelContainer.size() > 0) {
+  if (!m_fitcRawChannelContainerKey.empty()) {
     CLEAR2(m_eFitc, size);
     CLEAR2(m_tFitc, size);
     CLEAR2(m_pedFitc, size);
     CLEAR2(m_chi2Fitc, size);
   }
   
-  if (m_optRawChannelContainer.size() > 0) {
+  if (!m_optRawChannelContainerKey.empty()) {
     CLEAR2(m_eOpt, size);
     CLEAR2(m_tOpt, size);
     CLEAR2(m_pedOpt, size);
@@ -2300,28 +2307,28 @@ void TileAANtuple::DIGI_clearBranch(void) {
   }
   
 
-  if (m_qieRawChannelContainer.size() > 0) {
+  if (!m_qieRawChannelContainerKey.empty()) {
     CLEAR2(m_eQIE, size);
     CLEAR2(m_tQIE, size);
     CLEAR2(m_pedQIE, size);
     CLEAR2(m_chi2QIE, size);
   }
 
-  if (m_of1RawChannelContainer.size() > 0) {
+  if (!m_of1RawChannelContainerKey.empty()) {
     CLEAR2(m_eOF1, size);
     CLEAR2(m_tOF1, size);
     CLEAR2(m_pedOF1, size);
     CLEAR2(m_chi2OF1, size);
   }
   
-  if (m_dspRawChannelContainer.size() > 0) {
+  if (!m_dspRawChannelContainerKey.empty()) {
     CLEAR2(m_eDsp, size);
     CLEAR2(m_tDsp, size);
     CLEAR2(m_pedDsp, size);
     CLEAR2(m_chi2Dsp, size);
   }
   
-  if (m_mfRawChannelContainer.size() > 0) {
+  if (!m_mfRawChannelContainerKey.empty()) {
     CLEAR2(m_eMF, size);
     CLEAR2(m_tMF, size);
     CLEAR2(m_chi2MF, size);
@@ -2354,15 +2361,15 @@ void TileAANtuple::DIGI_clearBranch(void) {
 void TileAANtuple::TMDB_addBranch(void)
 {
 
-  if (m_tileMuRcvRawChannelContainer.size()>0) {
+  if (!m_tileMuRcvRawChannelContainerKey.empty()) {
     m_ntuplePtr->Branch("eTMDB", m_eTMDB, "eTMDB[4][64][8]/F");  // float m_eTMDB[N_ROS][N_MODULES][N_TMDBCHANS]
   }
 
-  if (m_tileMuRcvDigitsContainer.size()>0) {
+  if (!m_tileMuRcvDigitsContainerKey.empty()) {
     m_ntuplePtr->Branch("sampleTMDB", m_sampleTMDB, "sampleTMDB[4][64][8][7]/b"); // unsigned char m_sampleTMDB[N_ROS][N_MODULES][N_TMDBCHANS][N_SAMPLES]
   }
 
-  if (m_tileMuRcvContainer.size()>0) {
+  if (!m_tileMuRcvContainerKey.empty()) {
     m_ntuplePtr->Branch("decisionTMDB", m_decisionTMDB, "decisionTMDB[4][64][4]/b"); // unsigned char m_decisionTMDB[N_ROS][N_MODULES][N_TMDBDECISIONS]
   }
 
@@ -2370,9 +2377,9 @@ void TileAANtuple::TMDB_addBranch(void)
 
 void TileAANtuple::TMDB_clearBranch(void)
 {
-  if (m_tileMuRcvRawChannelContainer.size()>0) CLEAR(m_eTMDB);
-  if (m_tileMuRcvDigitsContainer.size()>0) CLEAR(m_sampleTMDB);
-  if (m_tileMuRcvContainer.size()>0) CLEAR(m_decisionTMDB);
+  if (!m_tileMuRcvRawChannelContainerKey.empty()) CLEAR(m_eTMDB);
+  if (!m_tileMuRcvDigitsContainerKey.empty()) CLEAR(m_sampleTMDB);
+  if (!m_tileMuRcvContainerKey.empty()) CLEAR(m_decisionTMDB);
 }
 
 /*/////////////////////////////////////////////////////////////////////////////
-- 
GitLab


From 171c3541ff67049f15b233c7796a26cb48e8c933 Mon Sep 17 00:00:00 2001
From: scott snyder <snyder@bnl.gov>
Date: Fri, 25 Jan 2019 18:44:35 +0100
Subject: [PATCH 133/192] PyDumper: Explicitly disable CaloRinger during event
 dumping.

CaloRinger is on by default in RecExCommon, and doesn't obey the doWrite
switches.  Futher, it loads Athena libraries during job configuration,
which can lead to crashes in gcc8 builds.  Explicitly disable it.
---
 Event/PyDumper/python/SgDumpLib.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Event/PyDumper/python/SgDumpLib.py b/Event/PyDumper/python/SgDumpLib.py
index 1365d31a5e17..695a0caba281 100644
--- a/Event/PyDumper/python/SgDumpLib.py
+++ b/Event/PyDumper/python/SgDumpLib.py
@@ -73,6 +73,7 @@ def _gen_jobo(dct):
                      'doAOD',
                      'doDPD',
                      'doEgamma',  # avoid dict clash
+                     'doCaloRinger', # avoid loading Ath libs too early
                      ):
             getattr (rec, item).set_Value_and_Lock(False)
 
-- 
GitLab


From 06a3bc98704d424fbaca5b6783bbdc0968d06799 Mon Sep 17 00:00:00 2001
From: scott snyder <scott.snyder@cern.ch>
Date: Wed, 23 Jan 2019 16:39:07 +0100
Subject: [PATCH 134/192] TrkExUtils: Fix gcc9 warnings.

In C++11, implicit declarations of copy and assignment are deprecated if the
class has a user defined destructor or copy or assignment.  gcc9 now warns
about this by default.
Adjust to avoid the warning.
---
 .../TrkExUtils/TrkExUtils/TrackSurfaceIntersection.h        | 4 ++--
 .../TrkExUtils/TrkExUtils/TransportJacobian.h               | 4 ++--
 .../TrkExUtils/src/TrackSurfaceIntersection.cxx             | 6 +-----
 3 files changed, 5 insertions(+), 9 deletions(-)

diff --git a/Tracking/TrkExtrapolation/TrkExUtils/TrkExUtils/TrackSurfaceIntersection.h b/Tracking/TrkExtrapolation/TrkExUtils/TrkExUtils/TrackSurfaceIntersection.h
index 3d48b5df4603..dc32fd49c057 100755
--- a/Tracking/TrkExtrapolation/TrkExUtils/TrkExUtils/TrackSurfaceIntersection.h
+++ b/Tracking/TrkExtrapolation/TrkExUtils/TrkExUtils/TrackSurfaceIntersection.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -31,7 +31,7 @@ namespace Trk {
 	  /**Constructor*/
 	  TrackSurfaceIntersection(const Amg::Vector3D& pos, const Amg::Vector3D& dir, double path);
 	  /**Destructor*/
-	  virtual ~TrackSurfaceIntersection();
+	  virtual ~TrackSurfaceIntersection() = default;
 
           TrackSurfaceIntersection (const TrackSurfaceIntersection& other);
           TrackSurfaceIntersection& operator= (const TrackSurfaceIntersection& other) = default;
diff --git a/Tracking/TrkExtrapolation/TrkExUtils/TrkExUtils/TransportJacobian.h b/Tracking/TrkExtrapolation/TrkExUtils/TrkExUtils/TransportJacobian.h
index afa182a5b86d..5fd345d6263c 100755
--- a/Tracking/TrkExtrapolation/TrkExUtils/TrkExUtils/TransportJacobian.h
+++ b/Tracking/TrkExtrapolation/TrkExUtils/TrkExUtils/TransportJacobian.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -51,7 +51,7 @@ namespace Trk {
       TransportJacobian(const AmgMatrix(5,5)&);
       
       /** Destructor */
-      ~TransportJacobian(){};
+      ~TransportJacobian() = default;
       
     private:
       
diff --git a/Tracking/TrkExtrapolation/TrkExUtils/src/TrackSurfaceIntersection.cxx b/Tracking/TrkExtrapolation/TrkExUtils/src/TrackSurfaceIntersection.cxx
index 7780638f03d5..3640644623b6 100755
--- a/Tracking/TrkExtrapolation/TrkExUtils/src/TrackSurfaceIntersection.cxx
+++ b/Tracking/TrkExtrapolation/TrkExUtils/src/TrackSurfaceIntersection.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -37,10 +37,6 @@ Trk::TrackSurfaceIntersection::TrackSurfaceIntersection(const TrackSurfaceInters
     m_serialNumber	= ++s_serialNumber;
 }
 
-// destructor
-Trk::TrackSurfaceIntersection::~TrackSurfaceIntersection()
-{}
-
 //Overload of << operator for both, MsgStream and std::ostream for debug output
 MsgStream& Trk::operator << ( MsgStream& sl, const Trk::TrackSurfaceIntersection& tsfi)
 {   
-- 
GitLab


From 1100a56d835aad5df2cf45fd530747cbda7eb8c0 Mon Sep 17 00:00:00 2001
From: scott snyder <snyder@bnl.gov>
Date: Fri, 25 Jan 2019 18:48:52 +0100
Subject: [PATCH 135/192] METReconstruction: Make MET tools private.

Needed to get dependencies propagated from tools.
---
 .../METReconstruction/Root/METRecoTool.cxx    | 27 ++++---------------
 .../python/METAssocConfig.py                  |  4 +--
 .../python/METAssocConfig_readAOD.py          |  3 +--
 .../METReconstruction/python/METRecoConfig.py |  9 +------
 .../MET/METReconstruction/src/METRecoAlg.cxx  | 22 +++++----------
 5 files changed, 15 insertions(+), 50 deletions(-)

diff --git a/Reconstruction/MET/METReconstruction/Root/METRecoTool.cxx b/Reconstruction/MET/METReconstruction/Root/METRecoTool.cxx
index cece244e8235..ac454b15e2e8 100644
--- a/Reconstruction/MET/METReconstruction/Root/METRecoTool.cxx
+++ b/Reconstruction/MET/METReconstruction/Root/METRecoTool.cxx
@@ -1,7 +1,7 @@
 ///////////////////////// -*- C++ -*- /////////////////////////////
 
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // METRecoTool.cxx 
@@ -48,6 +48,8 @@ namespace met {
   METRecoTool::METRecoTool(const std::string& name) : 
     AsgTool(name),
     m_doMetSum(false),
+    m_metbuilders(this),
+    m_metrefiners(this),
     m_nevt(0)
   {
     declareProperty( "METBuilders",        m_metbuilders         );
@@ -90,27 +92,8 @@ namespace met {
       ATH_MSG_INFO ("Will not sum MET in this container.");
     }
 
-    // retrieve builders
-    for(ToolHandleArray<IMETToolBase>::const_iterator iBuilder=m_metbuilders.begin();
-	iBuilder != m_metbuilders.end(); ++iBuilder) {
-      ToolHandle<IMETToolBase> tool = *iBuilder;
-      if( tool.retrieve().isFailure() ) {
-	ATH_MSG_FATAL("Failed to retrieve tool: " << tool->name());
-	return StatusCode::FAILURE;
-      };
-      ATH_MSG_INFO("Retrieved tool: " << tool->name() );
-    }
-
-    // retrieve refiners
-    for(ToolHandleArray<IMETToolBase>::const_iterator iRefiner=m_metrefiners.begin();
-	iRefiner != m_metrefiners.end(); ++iRefiner) {
-      ToolHandle<IMETToolBase> tool = *iRefiner;
-      if( tool.retrieve().isFailure() ) {
-	ATH_MSG_FATAL("Failed to retrieve tool: " << tool->name());
-	return StatusCode::FAILURE;
-      };
-      ATH_MSG_INFO("Retrieved tool: " << tool->name() );
-    }
+    ATH_CHECK( m_metbuilders.retrieve() );
+    ATH_CHECK( m_metrefiners.retrieve() );
 
     // generate clocks
     unsigned int ntool = m_metbuilders.size()+m_metrefiners.size();
diff --git a/Reconstruction/MET/METReconstruction/python/METAssocConfig.py b/Reconstruction/MET/METReconstruction/python/METAssocConfig.py
index 4e217139083f..4e4ca3c274ad 100644
--- a/Reconstruction/MET/METReconstruction/python/METAssocConfig.py
+++ b/Reconstruction/MET/METReconstruction/python/METAssocConfig.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaCommon import CfgMgr
 from GaudiKernel.Constants import INFO
@@ -233,9 +233,7 @@ def getMETAssocAlg(algName='METAssociation',configs={},tools=[],msglvl=INFO):
         assocTools.append(assoctool)
         metFlags.METAssocTools()[key] = assoctool
 
-    from AthenaCommon.AppMgr import ToolSvc
     for tool in assocTools:
-        ToolSvc += tool
         print prefix, 'Added METAssocTool \''+tool.name()+'\' to alg '+algName
 
     assocAlg = CfgMgr.met__METRecoAlg(name=algName,
diff --git a/Reconstruction/MET/METReconstruction/python/METAssocConfig_readAOD.py b/Reconstruction/MET/METReconstruction/python/METAssocConfig_readAOD.py
index 51aa6d682256..ed9499b25ee1 100644
--- a/Reconstruction/MET/METReconstruction/python/METAssocConfig_readAOD.py
+++ b/Reconstruction/MET/METReconstruction/python/METAssocConfig_readAOD.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 
 
@@ -231,7 +231,6 @@ def getMETAssocAlg(algName='METAssociation',configs={},tools=[]):
 
     from AthenaCommon.AppMgr import ToolSvc
     for tool in assocTools:
-        ToolSvc += tool
         print prefix, 'Added METAssocTool \''+tool.name()+'\' to alg '+algName
 
     assocAlg = CfgMgr.met__METRecoAlg(name=algName,
diff --git a/Reconstruction/MET/METReconstruction/python/METRecoConfig.py b/Reconstruction/MET/METReconstruction/python/METRecoConfig.py
index ae0940762fa1..73c5cece643f 100644
--- a/Reconstruction/MET/METReconstruction/python/METRecoConfig.py
+++ b/Reconstruction/MET/METReconstruction/python/METRecoConfig.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 from AthenaCommon import CfgMgr
 
@@ -135,8 +135,6 @@ def getBuilder(config,suffix,doTracks,doCells,doTriggerMET,doOriginCorrClus):
         else:
             tool.MissingETKey = config.outputKey
     from AthenaCommon.AppMgr import ToolSvc
-    if not hasattr(ToolSvc,tool.name()):
-       ToolSvc += tool
     return tool
 
 #################################################################################
@@ -169,8 +167,6 @@ def getRefiner(config,suffix,trkseltool=None,trkvxtool=None,trkisotool=None,calo
     if config.type == 'MuonEloss':
         tool = CfgMgr.met__METMuonElossTool('MET_MuonElossTool_'+suffix)
     tool.MissingETKey = config.outputKey
-    if not hasattr(ToolSvc,tool.name()):
-        ToolSvc += tool
     return tool
 
 #################################################################################
@@ -185,8 +181,6 @@ def getRegions(config,suffix):
     tool.InputMETKey = config.outputKey
     tool.RegionValues = [ 1.5, 3.2, 10 ]
     from AthenaCommon.AppMgr import ToolSvc
-    if not hasattr(ToolSvc,tool.name()):
-        ToolSvc += tool
     return tool
 
 #################################################################################
@@ -338,7 +332,6 @@ def getMETRecoAlg(algName='METReconstruction',configs={},tools=[]):
 
     from AthenaCommon.AppMgr import ToolSvc
     for tool in recoTools:
-        ToolSvc += tool
         print prefix, 'Added METRecoTool \''+tool.name()+'\' to alg '+algName
 
     recoAlg = CfgMgr.met__METRecoAlg(name=algName,
diff --git a/Reconstruction/MET/METReconstruction/src/METRecoAlg.cxx b/Reconstruction/MET/METReconstruction/src/METRecoAlg.cxx
index 8a0c6e39ff0a..5b31c5cb8952 100644
--- a/Reconstruction/MET/METReconstruction/src/METRecoAlg.cxx
+++ b/Reconstruction/MET/METReconstruction/src/METRecoAlg.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // METRecoAlg.cxx
@@ -15,7 +15,9 @@ namespace met {
 
   METRecoAlg::METRecoAlg(const std::string& name,
 			 ISvcLocator* pSvcLocator )
-  : ::AthAlgorithm( name, pSvcLocator ) {
+    : ::AthAlgorithm( name, pSvcLocator ),
+      m_recotools (this)
+  {
     declareProperty( "RecoTools", m_recotools);
   }
 
@@ -26,19 +28,9 @@ namespace met {
   //**********************************************************************
 
   StatusCode METRecoAlg::initialize() {
-    ATH_MSG_INFO("Initializing " << name() << "...");
-    ATH_MSG_INFO("Retrieving tools...");
+    ATH_MSG_VERBOSE("Initializing " << name() << "...");
 
-    // retrieve tools
-    for(ToolHandleArray<IMETRecoTool>::const_iterator iTool=m_recotools.begin();
-	iTool != m_recotools.end(); ++iTool) {
-      ToolHandle<IMETRecoTool> tool = *iTool;
-      if( tool.retrieve().isFailure() ) {
-	ATH_MSG_ERROR("Failed to retrieve tool: " << tool->name());
-	return StatusCode::FAILURE;
-      };
-      ATH_MSG_INFO("Retrieved tool: " << tool->name() );
-    }
+    ATH_CHECK( m_recotools.retrieve() );
   
     return StatusCode::SUCCESS;
   }
@@ -46,7 +38,7 @@ namespace met {
   //**********************************************************************
 
   StatusCode METRecoAlg::finalize() {
-    ATH_MSG_INFO ("Finalizing " << name() << "...");
+    ATH_MSG_VERBOSE ("Finalizing " << name() << "...");
     return StatusCode::SUCCESS;
   }
 
-- 
GitLab


From c9981ca1763aa03049cc1a83258fc1c322b74882 Mon Sep 17 00:00:00 2001
From: scott snyder <snyder@bnl.gov>
Date: Fri, 25 Jan 2019 18:47:30 +0100
Subject: [PATCH 136/192] METUtilities: Fix dependency propagation.

HandleKeys must be declared as properties in order for dependencies
to propagate correctly.
---
 .../MET/METUtilities/src/METMakerAlg.cxx      | 32 ++++++-------------
 .../MET/METUtilities/src/METMakerAlg.h        | 18 +++--------
 2 files changed, 15 insertions(+), 35 deletions(-)

diff --git a/Reconstruction/MET/METUtilities/src/METMakerAlg.cxx b/Reconstruction/MET/METUtilities/src/METMakerAlg.cxx
index 60347180be7a..a77c18122018 100644
--- a/Reconstruction/MET/METUtilities/src/METMakerAlg.cxx
+++ b/Reconstruction/MET/METUtilities/src/METMakerAlg.cxx
@@ -31,12 +31,6 @@ namespace met {
   METMakerAlg::METMakerAlg(const std::string& name,
 			   ISvcLocator* pSvcLocator )
     : ::AthAlgorithm( name, pSvcLocator ),
-    m_ElectronContainerKey(""),
-    m_PhotonContainerKey(""),
-    m_TauJetContainerKey(""),
-    m_MuonContainerKey(""),
-    m_JetContainerKey(""), 
-    m_CoreMetKey(""),
     m_metKey(""),
     m_metMap("METAssoc"),
     m_muonSelTool(""),
@@ -45,18 +39,18 @@ namespace met {
     m_tauSelTool("")
  {
     declareProperty( "Maker",          m_metmaker                        );
-    declareProperty( "METCoreName",    m_corename  = "MET_Core"          );
+    declareProperty( "METCoreName",    m_CoreMetKey  = "MET_Core"        );
     declareProperty("METName",         m_metKey = std::string("MET_Reference"),"MET container");
     declareProperty("METMapName",      m_metMap );
 
     declareProperty( "METSoftClName",  m_softclname  = "SoftClus"        );
     declareProperty( "METSoftTrkName", m_softtrkname = "PVSoftTrk"       );
 
-    declareProperty( "InputJets",      m_jetColl   = "AntiKt4LCTopoJets" );
-    declareProperty( "InputElectrons", m_eleColl   = "Electrons"         );
-    declareProperty( "InputPhotons",   m_gammaColl = "Photons"           );
-    declareProperty( "InputTaus",      m_tauColl   = "TauJets"           );
-    declareProperty( "InputMuons",     m_muonColl  = "Muons"             );
+    declareProperty( "InputJets",      m_JetContainerKey      = "AntiKt4LCTopoJets" );
+    declareProperty( "InputElectrons", m_ElectronContainerKey = "Electrons" );
+    declareProperty( "InputPhotons",   m_PhotonContainerKey   = "Photons"   );
+    declareProperty( "InputTaus",      m_TauJetContainerKey   = "TauJets"   );
+    declareProperty( "InputMuons",     m_MuonContainerKey     = "Muons"     );
 
     declareProperty( "MuonSelectionTool",        m_muonSelTool           );
     declareProperty( "ElectronLHSelectionTool",  m_elecSelLHTool         );
@@ -102,17 +96,11 @@ namespace met {
       ATH_MSG_ERROR("Failed to retrieve tool: " << m_tauSelTool->name());
       return StatusCode::FAILURE;
     };
-    ATH_CHECK( m_ElectronContainerKey.assign(m_eleColl) );
     ATH_CHECK( m_ElectronContainerKey.initialize() );
-    ATH_CHECK( m_PhotonContainerKey.assign(m_gammaColl) );
     ATH_CHECK( m_PhotonContainerKey.initialize() );
-    ATH_CHECK( m_TauJetContainerKey.assign(m_tauColl) );
     ATH_CHECK( m_TauJetContainerKey.initialize() );
-    ATH_CHECK( m_MuonContainerKey.assign(m_muonColl) );
     ATH_CHECK( m_MuonContainerKey.initialize() );
-    ATH_CHECK( m_JetContainerKey.assign(m_jetColl) );
     ATH_CHECK( m_JetContainerKey.initialize() );
-    ATH_CHECK( m_CoreMetKey.assign(m_corename) );
     ATH_CHECK( m_CoreMetKey.initialize() );
     ATH_CHECK( m_metKey.initialize() );
 
@@ -191,7 +179,7 @@ namespace met {
     MissingETBase::UsageHandler::Policy objScale = MissingETBase::UsageHandler::PhysicsObject;
     if(m_doTruthLep) objScale = MissingETBase::UsageHandler::TruthParticle;
     // Electrons
-    if(!m_eleColl.empty()) {
+    if(!m_ElectronContainerKey.empty()) {
       ConstDataVector<ElectronContainer> metElectrons(SG::VIEW_ELEMENTS);
       for(const auto& el : *Electrons) {
     	if(accept(el)) {
@@ -209,7 +197,7 @@ namespace met {
     }
 
     // Photons
-    if(!m_gammaColl.empty()) {
+    if(!m_PhotonContainerKey.empty()) {
       ConstDataVector<PhotonContainer> metPhotons(SG::VIEW_ELEMENTS);
       for(const auto& ph : *Gamma) {
     	if(accept(ph)) {
@@ -226,7 +214,7 @@ namespace met {
     }
 
     // Taus
-    if(!m_tauColl.empty()) {
+    if(!m_TauJetContainerKey.empty()) {
       ConstDataVector<TauJetContainer> metTaus(SG::VIEW_ELEMENTS);
       for(const auto& tau : *TauJets) {
     	if(accept(tau)) {
@@ -243,7 +231,7 @@ namespace met {
     }
 
     // Muons
-    if(!m_muonColl.empty()) {
+    if(!m_MuonContainerKey.empty()) {
       ConstDataVector<MuonContainer> metMuons(SG::VIEW_ELEMENTS);
       for(const auto& mu : *Muons) {
     	if(accept(mu)) {
diff --git a/Reconstruction/MET/METUtilities/src/METMakerAlg.h b/Reconstruction/MET/METUtilities/src/METMakerAlg.h
index c1c357afc3b1..ca3b2c7e3113 100644
--- a/Reconstruction/MET/METUtilities/src/METMakerAlg.h
+++ b/Reconstruction/MET/METUtilities/src/METMakerAlg.h
@@ -1,7 +1,7 @@
 ///////////////////////// -*- C++ -*- /////////////////////////////
 
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // METMakerAlg.h
@@ -47,12 +47,12 @@ namespace met {
     METMakerAlg(const std::string& name, ISvcLocator* pSvcLocator);
 
     /// Destructor:
-    ~METMakerAlg(); 
+    virtual ~METMakerAlg(); 
 
     /// Athena algorithm's Hooks
-    StatusCode  initialize();
-    StatusCode  execute();
-    StatusCode  finalize();
+    virtual StatusCode  initialize() override;
+    virtual StatusCode  execute() override;
+    virtual StatusCode  finalize() override;
 
   private: 
 
@@ -64,8 +64,6 @@ namespace met {
     bool accept(const xAOD::TauJet* tau);
     bool accept(const xAOD::Muon* muon);
 
-    std::string m_corename;
-
     std::string m_softclname;
     std::string m_softtrkname;
 
@@ -78,12 +76,6 @@ namespace met {
 
     SG::ReadHandleKey<xAOD::MissingETContainer>           m_CoreMetKey;
 
-    std::string m_eleColl;
-    std::string m_gammaColl;
-    std::string m_tauColl;
-    std::string m_jetColl;
-    std::string m_muonColl;
-
     SG::WriteHandleKey<xAOD::MissingETContainer> m_metKey;
     SG::ReadHandle<xAOD::MissingETAssociationMap> m_metMap;
 
-- 
GitLab


From 24f6abcda94027a832077fcd19bfd827a207777c Mon Sep 17 00:00:00 2001
From: scott snyder <sss@karma>
Date: Fri, 25 Jan 2019 18:43:25 +0100
Subject: [PATCH 137/192] AthExHelloWorld: Enable thread-safety static checker.

Enable thread-safety static checker.

Try to fix irreproducibility in MT2 test.
---
 .../AthExHelloWorld/AthExHelloWorld/ATLAS_CHECK_THREAD_SAFETY   | 1 +
 Control/AthenaExamples/AthExHelloWorld/CMakeLists.txt           | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
 create mode 100644 Control/AthenaExamples/AthExHelloWorld/AthExHelloWorld/ATLAS_CHECK_THREAD_SAFETY

diff --git a/Control/AthenaExamples/AthExHelloWorld/AthExHelloWorld/ATLAS_CHECK_THREAD_SAFETY b/Control/AthenaExamples/AthExHelloWorld/AthExHelloWorld/ATLAS_CHECK_THREAD_SAFETY
new file mode 100644
index 000000000000..0a4738bcd442
--- /dev/null
+++ b/Control/AthenaExamples/AthExHelloWorld/AthExHelloWorld/ATLAS_CHECK_THREAD_SAFETY
@@ -0,0 +1 @@
+Control/AthenaExamples/AthExHelloWorld
diff --git a/Control/AthenaExamples/AthExHelloWorld/CMakeLists.txt b/Control/AthenaExamples/AthExHelloWorld/CMakeLists.txt
index fe06e5d00776..552f735fab9a 100644
--- a/Control/AthenaExamples/AthExHelloWorld/CMakeLists.txt
+++ b/Control/AthenaExamples/AthExHelloWorld/CMakeLists.txt
@@ -37,7 +37,7 @@ atlas_add_test( AthExHelloWorldMT_1
 atlas_add_test( AthExHelloWorldMT_2
     ENVIRONMENT THREADS=2
 		SCRIPT test/test_AthExHelloWorld.sh
-    EXTRA_PATTERNS "AthenaHiveEventLoopMgr.* processing event" #processing order can change
+    EXTRA_PATTERNS "AthenaHiveEventLoopMgr.* processing event|^HelloWorld .*(INFO|WARNING A WARNING|ERROR An ERROR|FATAL A FATAL" #processing order can change
 		)
 
 atlas_add_test( AthExHelloWorld_CfgTest    SCRIPT python -m AthExHelloWorld.HelloWorldConfig    POST_EXEC_SCRIPT nopost.sh )
-- 
GitLab


From bd9aa38811062ead4172a651c95e186ffe13849f Mon Sep 17 00:00:00 2001
From: christos <christos@cern.ch>
Date: Sat, 26 Jan 2019 10:35:36 +0000
Subject: [PATCH 138/192] Static THREAD_SAFETY_CHECKER fixes

---
 Event/xAOD/xAODCaloEvent/Root/CaloTower_v1.cxx            | 6 ++----
 .../xAODCaloEvent/xAODCaloEvent/ATLAS_CHECK_THREAD_SAFETY | 1 +
 .../xAODCaloEvent/xAODCaloEvent/versions/CaloTower_v1.h   | 8 ++++----
 .../xAOD/xAODEgamma/xAODEgamma/ATLAS_CHECK_THREAD_SAFETY  | 1 +
 4 files changed, 8 insertions(+), 8 deletions(-)
 create mode 100644 Event/xAOD/xAODCaloEvent/xAODCaloEvent/ATLAS_CHECK_THREAD_SAFETY
 create mode 100644 Event/xAOD/xAODEgamma/xAODEgamma/ATLAS_CHECK_THREAD_SAFETY

diff --git a/Event/xAOD/xAODCaloEvent/Root/CaloTower_v1.cxx b/Event/xAOD/xAODCaloEvent/Root/CaloTower_v1.cxx
index 7000eb830e85..d82a267f966d 100644
--- a/Event/xAOD/xAODCaloEvent/Root/CaloTower_v1.cxx
+++ b/Event/xAOD/xAODCaloEvent/Root/CaloTower_v1.cxx
@@ -1,15 +1,13 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 
 #include "xAODCaloEvent/versions/CaloTower_v1.h"
 #include "xAODCaloEvent/versions/CaloTowerContainer_v1.h"
-
-
 #include <cmath>
 
-double xAOD::CaloTower_v1::m_towerMass = 0.;
+const double xAOD::CaloTower_v1::m_towerMass = 0.;
 
 xAOD::CaloTower_v1::CaloTower_v1() 
   : IParticle() 
diff --git a/Event/xAOD/xAODCaloEvent/xAODCaloEvent/ATLAS_CHECK_THREAD_SAFETY b/Event/xAOD/xAODCaloEvent/xAODCaloEvent/ATLAS_CHECK_THREAD_SAFETY
new file mode 100644
index 000000000000..9c95d1d136cc
--- /dev/null
+++ b/Event/xAOD/xAODCaloEvent/xAODCaloEvent/ATLAS_CHECK_THREAD_SAFETY
@@ -0,0 +1 @@
+Event/xAOD/xAODCaloEvent
diff --git a/Event/xAOD/xAODCaloEvent/xAODCaloEvent/versions/CaloTower_v1.h b/Event/xAOD/xAODCaloEvent/xAODCaloEvent/versions/CaloTower_v1.h
index cc7523c92adf..6bc9cd8bee46 100644
--- a/Event/xAOD/xAODCaloEvent/xAODCaloEvent/versions/CaloTower_v1.h
+++ b/Event/xAOD/xAODCaloEvent/xAODCaloEvent/versions/CaloTower_v1.h
@@ -1,7 +1,7 @@
 // -*- c++ -*-
 
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef CALOEVENT_CALOTOWER_V1_H
@@ -83,14 +83,14 @@ namespace xAOD {
 
     /// @name Transient four-momentum store
     /// @{
-    static  double m_towerMass;              ///> @brief Convention @f$ m_{\mathrm{tower}} = 0 @f$.
+    static  const double m_towerMass;              ///> @brief Convention @f$ m_{\mathrm{tower}} = 0 @f$.
     /// @}
   };
 }
 
-inline float& xAOD::CaloTower_v1::f_ref_e()    { static Accessor<float> acc("towerE");      return acc(*this); }
+inline float& xAOD::CaloTower_v1::f_ref_e()    { static const Accessor<float> acc("towerE"); return acc(*this); }
 
-inline float xAOD::CaloTower_v1::f_val_e()    const { static ConstAccessor<float> acc("towerE");      return acc(*this); }
+inline float xAOD::CaloTower_v1::f_val_e()    const { static const ConstAccessor<float> acc("towerE");  return acc(*this); }
 
 ///! @class xAOD::CaloTower_v1
 ///
diff --git a/Event/xAOD/xAODEgamma/xAODEgamma/ATLAS_CHECK_THREAD_SAFETY b/Event/xAOD/xAODEgamma/xAODEgamma/ATLAS_CHECK_THREAD_SAFETY
new file mode 100644
index 000000000000..5951f2dad9ab
--- /dev/null
+++ b/Event/xAOD/xAODEgamma/xAODEgamma/ATLAS_CHECK_THREAD_SAFETY
@@ -0,0 +1 @@
+Event/xAOD/xAODEgamma
-- 
GitLab


From 9ab32982ba332c92e03f110cbd9b71b94f6c7fa6 Mon Sep 17 00:00:00 2001
From: christos <christos@cern.ch>
Date: Sat, 26 Jan 2019 12:49:41 +0000
Subject: [PATCH 139/192] xAODTracking, fix 1st the trivial warnings from
 THREAD_SAFETY_CHECKER

---
 Event/xAOD/xAODMuon/Root/Muon_v1.cxx          |   8 +-
 .../xAODTracking/Root/NeutralParticle_v1.cxx  |  47 ++++----
 .../Root/SCTRawHitValidation_v1.cxx           |   2 +-
 .../Root/TrackMeasurementValidation_v1.cxx    |  16 +--
 .../xAODTracking/Root/TrackParticle_v1.cxx    | 104 +++++++++---------
 .../Root/TrackParticlexAODHelpers.cxx         |   6 +-
 .../Root/TrackStateValidation_v1.cxx          |  24 ++--
 .../Root/TrackSummaryAccessors_v1.cxx         |  42 +++----
 Event/xAOD/xAODTracking/Root/Vertex_v1.cxx    |  14 +--
 .../test/xAODTracking_TrackParticle_test.cxx  |   5 +-
 .../xAODTracking/TrackSummaryAccessors_v1.h   |   5 +-
 .../versions/NeutralParticle_v1.h             |  11 +-
 12 files changed, 139 insertions(+), 145 deletions(-)

diff --git a/Event/xAOD/xAODMuon/Root/Muon_v1.cxx b/Event/xAOD/xAODMuon/Root/Muon_v1.cxx
index aeccee57b20e..fe3a6c0e8b00 100644
--- a/Event/xAOD/xAODMuon/Root/Muon_v1.cxx
+++ b/Event/xAOD/xAODMuon/Root/Muon_v1.cxx
@@ -124,7 +124,7 @@ namespace xAOD {
     // @todo ?Could further optimise the below, to see first if the SummaryType value is one of the ones we write to Muons?
     // @todo ?Is there a better way than catching the exception?
     try {
-      Muon_v1::Accessor< uint8_t >* acc = trackSummaryAccessorV1<uint8_t>( information ); 
+      const Muon_v1::Accessor< uint8_t >* acc = trackSummaryAccessorV1<uint8_t>( information ); 
       value = ( *acc )( *this );
       return true;
     } catch ( SG::ExcBadAuxVar& ) {}
@@ -136,7 +136,7 @@ namespace xAOD {
   }  
 
   void Muon_v1::setSummaryValue( uint8_t  value, const SummaryType 	information ) {
-    Muon_v1::Accessor< uint8_t >* acc = trackSummaryAccessorV1<uint8_t>( information ); ///FIXME!
+    const Muon_v1::Accessor< uint8_t >* acc = trackSummaryAccessorV1<uint8_t>( information ); ///FIXME!
     // Set the value:
     ( *acc )( *this ) = value;
   }
@@ -150,12 +150,12 @@ namespace xAOD {
   }  
   
   float Muon_v1::floatSummaryValue(const SummaryType information) const {
-    Muon_v1::Accessor< float >* acc = trackSummaryAccessorV1< float >( information );
+    const Muon_v1::Accessor< float >* acc = trackSummaryAccessorV1< float >( information );
   	return ( *acc )( *this );
   }
 
   uint8_t Muon_v1::uint8SummaryValue(const SummaryType information) const{
-    Muon_v1::Accessor< uint8_t >* acc = trackSummaryAccessorV1< uint8_t >( information );
+    const Muon_v1::Accessor< uint8_t >* acc = trackSummaryAccessorV1< uint8_t >( information );
     return ( *acc )( *this );  	
   }
   
diff --git a/Event/xAOD/xAODTracking/Root/NeutralParticle_v1.cxx b/Event/xAOD/xAODTracking/Root/NeutralParticle_v1.cxx
index 5fb47630ee64..a089fbbdb72d 100644
--- a/Event/xAOD/xAODTracking/Root/NeutralParticle_v1.cxx
+++ b/Event/xAOD/xAODTracking/Root/NeutralParticle_v1.cxx
@@ -1,8 +1,7 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
-// $Id: NeutralParticle_v1.cxx 573493 2013-12-03 13:05:51Z emoyse $
 // Misc includes
 #include <bitset>
 #include <vector>
@@ -73,7 +72,6 @@ namespace xAOD {
 
   NeutralParticle_v1::GenVecFourMom_t NeutralParticle_v1::genvecP4() const {
     using namespace std;
-    // Check if we need to reset the cached object:
     float p = 1/fabs(oneOverP());
     float thetaT = theta();
     float phiT = phi();
@@ -87,7 +85,6 @@ namespace xAOD {
   NeutralParticle_v1::FourMom_t NeutralParticle_v1::p4() const {
     using namespace std;
     FourMom_t p4;
-    // Check if we need to reset the cached object:
     float p = 1/fabs(oneOverP());
     float thetaT = theta();
     float phiT = phi();
@@ -113,9 +110,9 @@ namespace xAOD {
   AUXSTORE_PRIMITIVE_GETTER(NeutralParticle_v1, float, oneOverP)
 
   const DefiningParameters_t& NeutralParticle_v1::definingParameters() const{
-    static DefiningParameters_t tmp;
-    tmp << d0(),z0(),phi0(),theta(),oneOverP();
-    return tmp;
+      static DefiningParameters_t tmp;
+      tmp << d0(),z0(),phi0(),theta(),oneOverP();
+      return tmp;
   }
 
   void NeutralParticle_v1::setDefiningParameters(float d0, float z0, float phi0, float theta, float oneOverP) {
@@ -124,19 +121,19 @@ namespace xAOD {
     delete m_perigeeParameters;
     m_perigeeParameters=0;
     #endif // not XAOD_STANDALONE and not XAOD_MANACORE
-    static Accessor< float > acc1( "d0" );
+    static const Accessor< float > acc1( "d0" );
     acc1( *this ) = d0;
 
-    static Accessor< float > acc2( "z0" );
+    static const Accessor< float > acc2( "z0" );
     acc2( *this ) = z0;
 
-    static Accessor< float > acc3( "phi" );
+    static const Accessor< float > acc3( "phi" );
     acc3( *this ) = phi0;
 
-    static Accessor< float > acc4( "theta" );
+    static const Accessor< float > acc4( "theta" );
     acc4( *this ) = theta;
 
-    static Accessor< float > acc5( "oneOverP" );
+    static const Accessor< float > acc5( "oneOverP" );
     acc5( *this ) = oneOverP;
 
     return;
@@ -149,7 +146,7 @@ namespace xAOD {
     m_perigeeParameters=0;
     #endif // not XAOD_STANDALONE and not XAOD_MANACORE
     
-    static Accessor< std::vector<float> > acc( "definingParametersCovMatrix" );
+    static const Accessor< std::vector<float> > acc( "definingParametersCovMatrix" );
     std::vector<float>& v = acc(*this);
     v.reserve(15);
     for (size_t irow = 0; irow<5; ++irow)
@@ -158,7 +155,7 @@ namespace xAOD {
   }
 
   const xAOD::ParametersCovMatrix_t& NeutralParticle_v1::definingParametersCovMatrix() const {
-    static Accessor< std::vector<float> > acc( "definingParametersCovMatrix" );
+    static const Accessor< std::vector<float> > acc( "definingParametersCovMatrix" );
     std::vector<float> v = acc(*this);
     std::vector<float>::const_iterator it = v.begin();
     static xAOD::ParametersCovMatrix_t cov; cov.setZero();
@@ -169,12 +166,12 @@ namespace xAOD {
   }
 
   const std::vector<float>& NeutralParticle_v1::definingParametersCovMatrixVec() const {
-    static Accessor< std::vector<float> > acc( "definingParametersCovMatrix" );
+    static const Accessor< std::vector<float> > acc( "definingParametersCovMatrix" );
     return acc(*this);
   }
 
   void NeutralParticle_v1::setDefiningParametersCovMatrixVec(const std::vector<float>& cov){
-    static Accessor< std::vector<float> > acc( "definingParametersCovMatrix" );
+    static const Accessor< std::vector<float> > acc( "definingParametersCovMatrix" );
     acc(*this)=cov;
   }
 
@@ -183,25 +180,25 @@ namespace xAOD {
   AUXSTORE_PRIMITIVE_GETTER(NeutralParticle_v1, float, vz)
 
   void NeutralParticle_v1::setParametersOrigin(float x, float y, float z){
-    static Accessor< float > acc1( "vx" );
+    static const Accessor< float > acc1( "vx" );
     acc1( *this ) = x;
 
-    static Accessor< float > acc2( "vy" );
+    static const Accessor< float > acc2( "vy" );
     acc2( *this ) = y;
 
-    static Accessor< float > acc3( "vz" );
+    static const Accessor< float > acc3( "vz" );
     acc3( *this ) = z;
   }
 
 #if ( ! defined(XAOD_STANDALONE) ) && ( ! defined(XAOD_MANACORE) )
   const Trk::NeutralPerigee& NeutralParticle_v1::perigeeParameters() const {
     
-    static Accessor< float > acc1( "d0" );
-    static Accessor< float > acc2( "z0" );
-    static Accessor< float > acc3( "phi" );
-    static Accessor< float > acc4( "theta" );
-    static Accessor< float > acc5( "oneOverP" );
-    static Accessor< std::vector<float> > acc6( "definingParametersCovMatrix" );
+    static const Accessor< float > acc1( "d0" );
+    static const Accessor< float > acc2( "z0" );
+    static const Accessor< float > acc3( "phi" );
+    static const Accessor< float > acc4( "theta" );
+    static const Accessor< float > acc5( "oneOverP" );
+    static const Accessor< std::vector<float> > acc6( "definingParametersCovMatrix" );
     ParametersCovMatrix_t* cov = new ParametersCovMatrix_t;
     cov->setZero();
     auto it= acc6(*this).begin();
diff --git a/Event/xAOD/xAODTracking/Root/SCTRawHitValidation_v1.cxx b/Event/xAOD/xAODTracking/Root/SCTRawHitValidation_v1.cxx
index 0bff0cc2dfc0..b77313167b24 100644
--- a/Event/xAOD/xAODTracking/Root/SCTRawHitValidation_v1.cxx
+++ b/Event/xAOD/xAODTracking/Root/SCTRawHitValidation_v1.cxx
@@ -12,7 +12,7 @@ namespace xAOD {
 
   AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(SCTRawHitValidation_v1, uint64_t, identifier, setIdentifier)
 
-  static SG::AuxElement::Accessor<uint32_t> word_acc("dataword");
+  static const SG::AuxElement::Accessor<uint32_t> word_acc("dataword");
   void SCTRawHitValidation_v1::setWord(uint32_t new_word) {
     word_acc(*this) = new_word;
   }
diff --git a/Event/xAOD/xAODTracking/Root/TrackMeasurementValidation_v1.cxx b/Event/xAOD/xAODTracking/Root/TrackMeasurementValidation_v1.cxx
index ad72b31b0440..e32d4038eb13 100644
--- a/Event/xAOD/xAODTracking/Root/TrackMeasurementValidation_v1.cxx
+++ b/Event/xAOD/xAODTracking/Root/TrackMeasurementValidation_v1.cxx
@@ -28,18 +28,18 @@ namespace xAOD {
   AUXSTORE_PRIMITIVE_GETTER( TrackMeasurementValidation_v1, float, localXYCorrelation )
   
   void TrackMeasurementValidation_v1::setLocalPosition(float localX, float localY) {
-    static Accessor< float > acc1( "localX" );
+    static const Accessor< float > acc1( "localX" );
     acc1( *this ) = localX;
-    static Accessor< float > acc2( "localY" );
+    static const Accessor< float > acc2( "localY" );
     acc2( *this ) = localY;
   }
 
   void TrackMeasurementValidation_v1::setLocalPositionError(float localXError, float localYError, float localXYCorrelation) {
-    static Accessor< float > acc1( "localXError" );
+    static const Accessor< float > acc1( "localXError" );
     acc1( *this ) = localXError;
-    static Accessor< float > acc2( "localYError" );
+    static const Accessor< float > acc2( "localYError" );
     acc2( *this ) = localYError;
-    static Accessor< float > acc3( "localXYCorrelation" );
+    static const Accessor< float > acc3( "localXYCorrelation" );
     acc3( *this ) = localXYCorrelation;
   }
 
@@ -48,11 +48,11 @@ namespace xAOD {
   AUXSTORE_PRIMITIVE_GETTER( TrackMeasurementValidation_v1, float, globalZ )
   
   void TrackMeasurementValidation_v1::setGlobalPosition(float globalX, float globalY, float globalZ) {
-    static Accessor< float > acc1( "globalX" );
+    static const Accessor< float > acc1( "globalX" );
     acc1( *this ) = globalX;
-    static Accessor< float > acc2( "globalY" );
+    static const Accessor< float > acc2( "globalY" );
     acc2( *this ) = globalY;
-    static Accessor< float > acc3( "globalZ" );
+    static const Accessor< float > acc3( "globalZ" );
     acc3( *this ) = globalZ;
   }
 
diff --git a/Event/xAOD/xAODTracking/Root/TrackParticle_v1.cxx b/Event/xAOD/xAODTracking/Root/TrackParticle_v1.cxx
index b650925380d8..d2a35ad677c3 100644
--- a/Event/xAOD/xAODTracking/Root/TrackParticle_v1.cxx
+++ b/Event/xAOD/xAODTracking/Root/TrackParticle_v1.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // $Id: TrackParticle_v1.cxx 576255 2013-12-19 12:54:41Z emoyse $
@@ -114,7 +114,7 @@ namespace xAOD {
 
   float TrackParticle_v1::phi0() const {
 
-     Accessor< float > acc( "phi" );
+     static  const Accessor< float > acc( "phi" );
      return acc( *this );
   }
 
@@ -132,19 +132,19 @@ namespace xAOD {
     // reset perigee cache if existing
     if(m_perigeeParameters.isValid()) m_perigeeParameters.reset();
 #endif // not XAOD_STANDALONE and not XAOD_MANACORE
-    static Accessor< float > acc1( "d0" );
+    static const Accessor< float > acc1( "d0" );
     acc1( *this ) = d0;
 
-    static Accessor< float > acc2( "z0" );
+    static const Accessor< float > acc2( "z0" );
     acc2( *this ) = z0;
 
-    static Accessor< float > acc3( "phi" );
+    static const Accessor< float > acc3( "phi" );
     acc3( *this ) = phi0;
 
-    static Accessor< float > acc4( "theta" );
+    static const Accessor< float > acc4( "theta" );
     acc4( *this ) = theta;
 
-    static Accessor< float > acc5( "qOverP" );
+    static const Accessor< float > acc5( "qOverP" );
     acc5( *this ) = qOverP;
 
     return;
@@ -156,7 +156,7 @@ namespace xAOD {
     if(m_perigeeParameters.isValid()) m_perigeeParameters.reset();
 #endif // not XAOD_STANDALONE and not XAOD_MANACORE
 
-    static Accessor< std::vector<float> > acc( "definingParametersCovMatrix" );
+    static const Accessor< std::vector<float> > acc( "definingParametersCovMatrix" );
     Amg::compress(cov,acc(*this));
   }
 
@@ -170,13 +170,13 @@ namespace xAOD {
 
   const std::vector<float>& TrackParticle_v1::definingParametersCovMatrixVec() const {
   // Can't use AUXSTORE_PRIMITIVE_SETTER_AND_GETTER since I have to add Vec to the end of setDefiningParametersCovMatrix to avoid clash.
-    static Accessor< std::vector<float> > acc( "definingParametersCovMatrix" );
+    static const Accessor< std::vector<float> > acc( "definingParametersCovMatrix" );
     return acc(*this);
   }
 
   void TrackParticle_v1::setDefiningParametersCovMatrixVec(const std::vector<float>& cov){
   // Can't use AUXSTORE_PRIMITIVE_SETTER_AND_GETTER since I have to add Vec to the end of setDefiningParametersCovMatrix to avoid clash.
-    static Accessor< std::vector<float> > acc( "definingParametersCovMatrix" );
+    static const Accessor< std::vector<float> > acc( "definingParametersCovMatrix" );
     acc(*this)=cov;
   }
 
@@ -185,13 +185,13 @@ namespace xAOD {
   AUXSTORE_PRIMITIVE_GETTER(TrackParticle_v1, float, vz)
 
   void TrackParticle_v1::setParametersOrigin(float x, float y, float z){
-    static Accessor< float > acc1( "vx" );
+    static const Accessor< float > acc1( "vx" );
     acc1( *this ) = x;
 
-    static Accessor< float > acc2( "vy" );
+    static const Accessor< float > acc2( "vy" );
     acc2( *this ) = y;
 
-    static Accessor< float > acc3( "vz" );
+    static const Accessor< float > acc3( "vz" );
     acc3( *this ) = z;
   }
 
@@ -204,20 +204,20 @@ namespace xAOD {
 
     // Perigee needs to be calculated, and cached
 
-    static Accessor< float > acc1( "d0" );
-    static Accessor< float > acc2( "z0" );
-    static Accessor< float > acc3( "phi" );
-    static Accessor< float > acc4( "theta" );
-    static Accessor< float > acc5( "qOverP" );
-    static Accessor< std::vector<float> > acc6( "definingParametersCovMatrix" );
+    static const Accessor< float > acc1( "d0" );
+    static const Accessor< float > acc2( "z0" );
+    static const Accessor< float > acc3( "phi" );
+    static const Accessor< float > acc4( "theta" );
+    static const Accessor< float > acc5( "qOverP" );
+    static const Accessor< std::vector<float> > acc6( "definingParametersCovMatrix" );
     ParametersCovMatrix_t* cov = new ParametersCovMatrix_t(definingParametersCovMatrix());
     // cov->setZero();
     // auto it= acc6(*this).begin();
     // for (size_t irow = 0; irow<5; ++irow)
     //   for (size_t icol =0; icol<=irow; ++icol)
     //       cov->fillSymmetric(irow,icol,*it++) ;
-    static Accessor< float > acc7( "beamlineTiltX" );
-    static Accessor< float > acc8( "beamlineTiltY" );
+    static const Accessor< float > acc7( "beamlineTiltX" );
+    static const Accessor< float > acc8( "beamlineTiltY" );
     
     if(!acc7.isAvailable( *this ) || !acc8.isAvailable( *this )){
       Trk::Perigee tmpPerigeeParameters(acc1(*this),acc2(*this),acc3(*this),acc4(*this),acc5(*this),Trk::PerigeeSurface(Amg::Vector3D(vx(),vy(),vz())),cov);
@@ -241,9 +241,9 @@ namespace xAOD {
   AUXSTORE_PRIMITIVE_GETTER(TrackParticle_v1, float, numberDoF)
 
   void TrackParticle_v1::setFitQuality(float chiSquared, float numberDoF){
-    static Accessor< float > acc1( "chiSquared" );
+    static const Accessor< float > acc1( "chiSquared" );
     acc1( *this ) = chiSquared;  
-    static Accessor< float > acc2( "numberDoF" );
+    static const Accessor< float > acc2( "numberDoF" );
     acc2( *this ) = numberDoF;   
   }
 
@@ -261,7 +261,7 @@ namespace xAOD {
 
   size_t TrackParticle_v1::numberOfParameters() const{
     ///@todo - Can we do this in a better way? Not great to force retrieval of one specific parameter - any would do.
-    static Accessor< std::vector<float>  > acc( "parameterX" );
+    static const Accessor< std::vector<float>  > acc( "parameterX" );
     if(! acc.isAvailable( *this )) return 0;
     return acc(*this).size();
   }
@@ -274,14 +274,14 @@ namespace xAOD {
   }
 
   void TrackParticle_v1::setTrackParameters(std::vector<std::vector<float> >& parameters){
-    static Accessor< std::vector < float > > acc1( "parameterX" );
-    static Accessor< std::vector < float > > acc2( "parameterY" );
-    static Accessor< std::vector < float > > acc3( "parameterZ" );
-    static Accessor< std::vector < float > > acc4( "parameterPX" );
-    static Accessor< std::vector < float > > acc5( "parameterPY" );
-    static Accessor< std::vector < float > > acc6( "parameterPZ" );
+    static const Accessor< std::vector < float > > acc1( "parameterX" );
+    static const Accessor< std::vector < float > > acc2( "parameterY" );
+    static const Accessor< std::vector < float > > acc3( "parameterZ" );
+    static const Accessor< std::vector < float > > acc4( "parameterPX" );
+    static const Accessor< std::vector < float > > acc5( "parameterPY" );
+    static const Accessor< std::vector < float > > acc6( "parameterPZ" );
 
-    static Accessor< std::vector<uint8_t>  > acc7( "parameterPosition" );
+    static const Accessor< std::vector<uint8_t>  > acc7( "parameterPosition" );
 
     acc1(*this).resize(parameters.size());
     acc2(*this).resize(parameters.size());
@@ -308,38 +308,38 @@ namespace xAOD {
   }
 
   float TrackParticle_v1::parameterX(unsigned int index) const  {
-    static Accessor< std::vector<float>  > acc( "parameterX" );
+    static const Accessor< std::vector<float>  > acc( "parameterX" );
     return acc(*this).at(index);
   }
 
   float TrackParticle_v1::parameterY(unsigned int index) const  {
-    static Accessor< std::vector<float>  > acc( "parameterY" );
+    static const Accessor< std::vector<float>  > acc( "parameterY" );
     return acc(*this).at(index);
   }
 
   float TrackParticle_v1::parameterZ(unsigned int index) const  {
-    static Accessor< std::vector<float>  > acc( "parameterZ" );
+    static const Accessor< std::vector<float>  > acc( "parameterZ" );
     return acc(*this).at(index);
   }
 
   float TrackParticle_v1::parameterPX(unsigned int index) const {
-    static Accessor< std::vector<float>  > acc( "parameterPX" );
+    static const Accessor< std::vector<float>  > acc( "parameterPX" );
     return acc(*this).at(index);
   }
 
   float TrackParticle_v1::parameterPY(unsigned int index) const {
-    static Accessor< std::vector<float>  > acc( "parameterPY" );
+    static const Accessor< std::vector<float>  > acc( "parameterPY" );
     return acc(*this).at(index);
   }
 
   float TrackParticle_v1::parameterPZ(unsigned int index) const {
-    static Accessor< std::vector<float>  > acc( "parameterPZ" );    
+    static const Accessor< std::vector<float>  > acc( "parameterPZ" );    
     return acc(*this).at(index);
   }
 
   xAOD::ParametersCovMatrix_t TrackParticle_v1::trackParameterCovarianceMatrix(unsigned int index) const
   {
-    static Accessor< std::vector<float>  > acc( "trackParameterCovarianceMatrices" );
+    static const Accessor< std::vector<float>  > acc( "trackParameterCovarianceMatrices" );
     unsigned int offset = index*15;
     // copy the correct values into the temp matrix
     xAOD::ParametersCovMatrix_t tmp;
@@ -351,7 +351,7 @@ namespace xAOD {
   void TrackParticle_v1::setTrackParameterCovarianceMatrix(unsigned int index, std::vector<float>& cov){
     assert(cov.size()==15);
     unsigned int offset = index*15;
-    static Accessor< std::vector < float > > acc( "trackParameterCovarianceMatrices" );
+    static const Accessor< std::vector < float > > acc( "trackParameterCovarianceMatrices" );
     std::vector<float>& v = acc(*this);
     v.resize(offset+15);
     std::copy(cov.begin(),cov.end(),v.begin()+offset );
@@ -359,7 +359,7 @@ namespace xAOD {
 
   xAOD::ParameterPosition TrackParticle_v1::parameterPosition(unsigned int index) const
   {
-    static Accessor< std::vector<uint8_t>  > acc( "parameterPosition" );
+    static const Accessor< std::vector<uint8_t>  > acc( "parameterPosition" );
     return static_cast<xAOD::ParameterPosition>(acc(*this).at(index));
   }
 
@@ -378,14 +378,14 @@ namespace xAOD {
   }
 
   void  TrackParticle_v1::setParameterPosition(unsigned int index, xAOD::ParameterPosition pos){
-    static Accessor< std::vector<uint8_t>  > acc( "parameterPosition" );
+    static const Accessor< std::vector<uint8_t>  > acc( "parameterPosition" );
     acc( *this ).at(index) = static_cast<uint8_t>(pos);
   }
 
 #if ( ! defined(XAOD_STANDALONE) ) && ( ! defined(XAOD_MANACORE) )
   const Trk::CurvilinearParameters TrackParticle_v1::curvilinearParameters(unsigned int index) const {    
 
-    static Accessor< std::vector<float>  > acc( "trackParameterCovarianceMatrices" );
+    static const Accessor< std::vector<float>  > acc( "trackParameterCovarianceMatrices" );
     unsigned int offset = index*15;
     // copy the correct values into the temp matrix
     ParametersCovMatrix_t* cov = new ParametersCovMatrix_t(); 
@@ -407,18 +407,18 @@ namespace xAOD {
   AUXSTORE_PRIMITIVE_SETTER_WITH_CAST(TrackParticle_v1, uint8_t, xAOD::TrackFitter,trackFitter, setTrackFitter)
 
   std::bitset<xAOD::NumberOfTrackRecoInfo>   TrackParticle_v1::patternRecoInfo() const {
-    static Accessor< uint64_t > acc( "patternRecoInfo" );
+    static const Accessor< uint64_t > acc( "patternRecoInfo" );
     std::bitset<xAOD::NumberOfTrackRecoInfo> tmp(acc(*this));
     return tmp;
   }
 
   void TrackParticle_v1::setPatternRecognitionInfo(uint64_t patternReco)  {
-    static Accessor< uint64_t > acc( "patternRecoInfo" );
+    static const Accessor< uint64_t > acc( "patternRecoInfo" );
     acc( *this ) = patternReco;
   }
 
   void TrackParticle_v1::setPatternRecognitionInfo(const std::bitset<xAOD::NumberOfTrackRecoInfo>& patternReco)  {
-    static Accessor< uint64_t > acc( "patternRecoInfo" );
+    static const Accessor< uint64_t > acc( "patternRecoInfo" );
   #if __cplusplus < 201100
     uint64_t value = 0;
     unsigned int i = 0;
@@ -436,7 +436,7 @@ namespace xAOD {
   AUXSTORE_PRIMITIVE_GETTER_WITH_CAST(TrackParticle_v1, uint8_t, xAOD::ParticleHypothesis, particleHypothesis)
 
   bool TrackParticle_v1::summaryValue(uint8_t& value, const SummaryType &information)  const {
-    xAOD::TrackParticle_v1::Accessor< uint8_t >* acc = trackSummaryAccessorV1<uint8_t>( information );
+    const xAOD::TrackParticle_v1::Accessor< uint8_t >* acc = trackSummaryAccessorV1<uint8_t>( information );
     if( ( ! acc ) || ( ! acc->isAvailable( *this ) ) ) return false;
   // Retrieve the value:
     value = ( *acc )( *this );
@@ -444,7 +444,7 @@ namespace xAOD {
   }
   
   bool TrackParticle_v1::summaryValue(float& value, const SummaryType &information)  const {
-    xAOD::TrackParticle_v1::Accessor< float >* acc = trackSummaryAccessorV1<float>( information );
+    const xAOD::TrackParticle_v1::Accessor< float >* acc = trackSummaryAccessorV1<float>( information );
     if( ( ! acc ) || ( ! acc->isAvailable( *this ) ) ) return false;
   // Retrieve the value:
     value = ( *acc )( *this );
@@ -452,13 +452,13 @@ namespace xAOD {
   }
   
   void TrackParticle_v1::setSummaryValue(uint8_t& value, const SummaryType &information){
-    xAOD::TrackParticle_v1::Accessor< uint8_t >* acc = trackSummaryAccessorV1<uint8_t>( information );
+    const xAOD::TrackParticle_v1::Accessor< uint8_t >* acc = trackSummaryAccessorV1<uint8_t>( information );
   // Set the value:
     ( *acc )( *this ) = value;
   }
 
   void TrackParticle_v1::setSummaryValue(float& value, const SummaryType &information){
-    xAOD::TrackParticle_v1::Accessor< float >* acc = trackSummaryAccessorV1<float>( information );
+    const xAOD::TrackParticle_v1::Accessor< float >* acc = trackSummaryAccessorV1<float>( information );
   // Set the value:
     ( *acc )( *this ) = value;
   }
@@ -474,7 +474,7 @@ namespace xAOD {
    const ElementLink< TrackCollection >& TrackParticle_v1::trackLink() const {
 
       // The accessor:
-      static ConstAccessor< ElementLink< TrackCollection > > acc( "trackLink" );
+      static const ConstAccessor< ElementLink< TrackCollection > > acc( "trackLink" );
 
       // Check if one of them is available:
       if( acc.isAvailable( *this ) ) {
@@ -490,7 +490,7 @@ namespace xAOD {
    setTrackLink( const ElementLink< TrackCollection >& el ) {
 
       // The accessor:
-      static Accessor< ElementLink< TrackCollection > > acc( "trackLink" );
+      static const Accessor< ElementLink< TrackCollection > > acc( "trackLink" );
 
       // Do the deed:
       acc( *this ) = el;
@@ -500,7 +500,7 @@ namespace xAOD {
    const Trk::Track* TrackParticle_v1::track() const{
 
       // The accessor:
-      static ConstAccessor< ElementLink< TrackCollection > > acc( "trackLink" );
+      static const ConstAccessor< ElementLink< TrackCollection > > acc( "trackLink" );
 
       if( ! acc.isAvailable( *this ) ) {
          return 0;
diff --git a/Event/xAOD/xAODTracking/Root/TrackParticlexAODHelpers.cxx b/Event/xAOD/xAODTracking/Root/TrackParticlexAODHelpers.cxx
index cbcd352045fc..b0a50ce96a79 100644
--- a/Event/xAOD/xAODTracking/Root/TrackParticlexAODHelpers.cxx
+++ b/Event/xAOD/xAODTracking/Root/TrackParticlexAODHelpers.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "xAODTracking/TrackParticlexAODHelpers.h"
@@ -14,7 +14,7 @@ namespace xAOD {
     if (!tp) {
       throw std::runtime_error("Invalid TrackParticle pointer.");
     }
-    static SG::AuxElement::Accessor< std::vector<float> > acc( "definingParametersCovMatrix" );
+    static const SG::AuxElement::Accessor< std::vector<float> > acc( "definingParametersCovMatrix" );
     if( !acc.isAvailable( *tp ) ) {
       throw std::runtime_error("TrackParticle without covariance matrix for the defining parameters.");
     }
@@ -23,7 +23,7 @@ namespace xAOD {
 
   bool TrackingHelpers::hasValidCov(const xAOD::TrackParticle *tp) {
     if (!tp) return false;
-    static SG::AuxElement::Accessor< std::vector<float> > acc( "definingParametersCovMatrix" );
+    static const SG::AuxElement::Accessor< std::vector<float> > acc( "definingParametersCovMatrix" );
     if( !acc.isAvailable( *tp ) ) return false;
     return true;
   }
diff --git a/Event/xAOD/xAODTracking/Root/TrackStateValidation_v1.cxx b/Event/xAOD/xAODTracking/Root/TrackStateValidation_v1.cxx
index b2de1432252f..a7b27f3fd077 100644
--- a/Event/xAOD/xAODTracking/Root/TrackStateValidation_v1.cxx
+++ b/Event/xAOD/xAODTracking/Root/TrackStateValidation_v1.cxx
@@ -25,9 +25,9 @@ namespace xAOD {
   AUXSTORE_PRIMITIVE_GETTER( TrackStateValidation_v1, float, localY )
   
   void TrackStateValidation_v1::setLocalPosition(float localX, float localY) {
-    static Accessor< float > acc1( "localX" );
+    static const Accessor< float > acc1( "localX" );
     acc1( *this ) = localX;
-    static Accessor< float > acc2( "localY" );
+    static const Accessor< float > acc2( "localY" );
     acc2( *this ) = localY;
   }
 
@@ -35,9 +35,9 @@ namespace xAOD {
   AUXSTORE_PRIMITIVE_GETTER( TrackStateValidation_v1, float, localPhi )
 
   void TrackStateValidation_v1::setLocalAngles(float localTheta, float localPhi) {
-    static Accessor< float > acc1( "localTheta" );
+    static const Accessor< float > acc1( "localTheta" );
     acc1( *this ) = localTheta;
-    static Accessor< float > acc2( "localPhi" );
+    static const Accessor< float > acc2( "localPhi" );
     acc2( *this ) = localPhi;
   }
 
@@ -45,9 +45,9 @@ namespace xAOD {
   AUXSTORE_PRIMITIVE_GETTER( TrackStateValidation_v1, float, unbiasedResidualY )
 
   void TrackStateValidation_v1::setUnbiasedResidual(float unbiasedResidualX, float unbiasedResidualY) {
-    static Accessor< float > acc1( "unbiasedResidualX" );
+    static const Accessor< float > acc1( "unbiasedResidualX" );
     acc1( *this ) = unbiasedResidualX;
-    static Accessor< float > acc2( "unbiasedResidualY" );
+    static const Accessor< float > acc2( "unbiasedResidualY" );
     acc2( *this ) = unbiasedResidualY;
   }
 
@@ -55,9 +55,9 @@ namespace xAOD {
   AUXSTORE_PRIMITIVE_GETTER( TrackStateValidation_v1, float, unbiasedPullY )
 
   void TrackStateValidation_v1::setUnbiasedPull(float unbiasedPullX, float unbiasedPullY) {
-    static Accessor< float > acc1( "unbiasedPullX" );
+    static const Accessor< float > acc1( "unbiasedPullX" );
     acc1( *this ) = unbiasedPullX;
-    static Accessor< float > acc2( "unbiasedPullY" );
+    static const Accessor< float > acc2( "unbiasedPullY" );
     acc2( *this ) = unbiasedPullY;
   }
 
@@ -65,9 +65,9 @@ namespace xAOD {
   AUXSTORE_PRIMITIVE_GETTER( TrackStateValidation_v1, float, biasedResidualY )
 
   void TrackStateValidation_v1::setBiasedResidual(float biasedResidualX, float biasedResidualY) {
-    static Accessor< float > acc1( "biasedResidualX" );
+    static const Accessor< float > acc1( "biasedResidualX" );
     acc1( *this ) = biasedResidualX;
-    static Accessor< float > acc2( "biasedResidualY" );
+    static const Accessor< float > acc2( "biasedResidualY" );
     acc2( *this ) = biasedResidualY;
   }
 
@@ -75,9 +75,9 @@ namespace xAOD {
   AUXSTORE_PRIMITIVE_GETTER( TrackStateValidation_v1, float, biasedPullY )
 
   void TrackStateValidation_v1::setBiasedPull(float biasedPullX, float biasedPullY) {
-    static Accessor< float > acc1( "biasedPullX" );
+    static const Accessor< float > acc1( "biasedPullX" );
     acc1( *this ) = biasedPullX;
-    static Accessor< float > acc2( "biasedPullY" );
+    static const Accessor< float > acc2( "biasedPullY" );
     acc2( *this ) = biasedPullY;
   }
 
diff --git a/Event/xAOD/xAODTracking/Root/TrackSummaryAccessors_v1.cxx b/Event/xAOD/xAODTracking/Root/TrackSummaryAccessors_v1.cxx
index e21a165e0e84..504724992f39 100644
--- a/Event/xAOD/xAODTracking/Root/TrackSummaryAccessors_v1.cxx
+++ b/Event/xAOD/xAODTracking/Root/TrackSummaryAccessors_v1.cxx
@@ -17,7 +17,7 @@ extern "C" {
 #define DEFINE_ACCESSOR(TYPE, NAME )                               \
    case xAOD::NAME:                                                \
    {                                                               \
-      static SG::AuxElement::Accessor< TYPE > a( #NAME );          \
+      static const SG::AuxElement::Accessor< TYPE > a( #NAME );          \
       return &a;                                                   \
    }                                                               \
    break;
@@ -26,39 +26,39 @@ namespace xAOD {
 
   // Generic case. Maybe return warning?
   template<class T>
-   SG::AuxElement::Accessor< T >*
+   const SG::AuxElement::Accessor< T >*
    trackSummaryAccessorV1( xAOD::SummaryType /*type*/ )
    {}
 
   template<>
-   SG::AuxElement::Accessor< uint8_t >*
+   const SG::AuxElement::Accessor< uint8_t >*
    trackSummaryAccessorV1<uint8_t>( xAOD::SummaryType type ) {
 
       switch( type ) {
         DEFINE_ACCESSOR( uint8_t, numberOfContribPixelLayers        );
       case xAOD:: numberOfBLayerHits:                                                    { 
-	static SG::AuxElement::Accessor< uint8_t > a( "numberOfInnermostPixelLayerHits" ); 
-	return &a;								
+        static const SG::AuxElement::Accessor< uint8_t > a( "numberOfInnermostPixelLayerHits" ); 
+        return &a;								
       }								    
 	break;
       case xAOD:: numberOfBLayerOutliers:                                                    { 
-	static SG::AuxElement::Accessor< uint8_t > a( "numberOfInnermostPixelLayerOutliers" ); 
-	return &a;								
+        static const SG::AuxElement::Accessor< uint8_t > a( "numberOfInnermostPixelLayerOutliers" ); 
+        return &a;								
       }								    
 	break;
       case xAOD:: numberOfBLayerSharedHits:                                                    { 
-	static SG::AuxElement::Accessor< uint8_t > a( "numberOfInnermostPixelLayerSharedHits" ); 
-	return &a;								
+        static const SG::AuxElement::Accessor< uint8_t > a( "numberOfInnermostPixelLayerSharedHits" ); 
+        return &a;								
       }								    
 	break;
       case xAOD:: numberOfBLayerSplitHits:                                                    { 
-	static SG::AuxElement::Accessor< uint8_t > a( "numberOfInnermostPixelLayerSplitHits" ); 
+        static const SG::AuxElement::Accessor< uint8_t > a( "numberOfInnermostPixelLayerSplitHits" ); 
 	return &a;								
       }								    
 	break;	
       case xAOD:: expectBLayerHit:                                                    { 
-	static SG::AuxElement::Accessor< uint8_t > a( "expectInnermostPixelLayerHit" ); 
-	return &a;								
+        static const SG::AuxElement::Accessor< uint8_t > a( "expectInnermostPixelLayerHit" ); 
+        return &a;								
       }								    
 	break;	
         DEFINE_ACCESSOR( uint8_t, numberOfPixelHits                 );
@@ -66,21 +66,21 @@ namespace xAOD {
         DEFINE_ACCESSOR( uint8_t, numberOfPixelHoles                );
         DEFINE_ACCESSOR( uint8_t, numberOfPixelSharedHits           );	
         DEFINE_ACCESSOR( uint8_t, numberOfPixelSplitHits            );
-	DEFINE_ACCESSOR( uint8_t, numberOfInnermostPixelLayerHits                );
+        DEFINE_ACCESSOR( uint8_t, numberOfInnermostPixelLayerHits                );
         DEFINE_ACCESSOR( uint8_t, numberOfInnermostPixelLayerOutliers            );
         DEFINE_ACCESSOR( uint8_t, numberOfInnermostPixelLayerSharedHits          );
-	DEFINE_ACCESSOR( uint8_t, numberOfInnermostPixelLayerSplitHits          );
+        DEFINE_ACCESSOR( uint8_t, numberOfInnermostPixelLayerSplitHits          );
         DEFINE_ACCESSOR( uint8_t, expectInnermostPixelLayerHit                   );	
-	DEFINE_ACCESSOR( uint8_t, numberOfNextToInnermostPixelLayerHits                );
+        DEFINE_ACCESSOR( uint8_t, numberOfNextToInnermostPixelLayerHits                );
         DEFINE_ACCESSOR( uint8_t, numberOfNextToInnermostPixelLayerOutliers            );
         DEFINE_ACCESSOR( uint8_t, numberOfNextToInnermostPixelLayerSharedHits          );
-	DEFINE_ACCESSOR( uint8_t, numberOfNextToInnermostPixelLayerSplitHits          );
+        DEFINE_ACCESSOR( uint8_t, numberOfNextToInnermostPixelLayerSplitHits          );
         DEFINE_ACCESSOR( uint8_t, expectNextToInnermostPixelLayerHit                   );	
         DEFINE_ACCESSOR( uint8_t, numberOfGangedPixels              );
         DEFINE_ACCESSOR( uint8_t, numberOfGangedFlaggedFakes        );
         DEFINE_ACCESSOR( uint8_t, numberOfPixelDeadSensors          );
         DEFINE_ACCESSOR( uint8_t, numberOfPixelSpoiltHits           );
-	DEFINE_ACCESSOR( uint8_t, numberOfDBMHits                   );
+        DEFINE_ACCESSOR( uint8_t, numberOfDBMHits                   );
         DEFINE_ACCESSOR( uint8_t, numberOfSCTHits                   );
         DEFINE_ACCESSOR( uint8_t, numberOfSCTOutliers               );
         DEFINE_ACCESSOR( uint8_t, numberOfSCTHoles                  );
@@ -97,7 +97,7 @@ namespace xAOD {
         DEFINE_ACCESSOR( uint8_t, numberOfTRTDeadStraws             );
         DEFINE_ACCESSOR( uint8_t, numberOfTRTTubeHits               );
         DEFINE_ACCESSOR( uint8_t, numberOfTRTXenonHits              );
-	DEFINE_ACCESSOR( uint8_t, numberOfTRTSharedHits              );
+        DEFINE_ACCESSOR( uint8_t, numberOfTRTSharedHits              );
         DEFINE_ACCESSOR( uint8_t, numberOfPrecisionLayers );
         DEFINE_ACCESSOR( uint8_t, numberOfPrecisionHoleLayers );
         DEFINE_ACCESSOR( uint8_t, numberOfPhiLayers );
@@ -106,7 +106,7 @@ namespace xAOD {
         DEFINE_ACCESSOR( uint8_t, numberOfTriggerEtaHoleLayers );
         DEFINE_ACCESSOR( uint8_t, numberOfOutliersOnTrack           );
         DEFINE_ACCESSOR( uint8_t, standardDeviationOfChi2OS         );
-	DEFINE_ACCESSOR( uint8_t, numberOfGoodPrecisionLayers       );
+        DEFINE_ACCESSOR( uint8_t, numberOfGoodPrecisionLayers       );
       default:                  
          std::cerr << "xAOD::TrackParticle_v1 ERROR Unknown SummaryType ("
                    << type << ") requested" << std::endl;
@@ -115,14 +115,14 @@ namespace xAOD {
    }
    
    template<>
-    SG::AuxElement::Accessor< float >*
+    const SG::AuxElement::Accessor< float >*
     trackSummaryAccessorV1<float>( xAOD::SummaryType type ) {
       switch( type ) {
         DEFINE_ACCESSOR( float, eProbabilityComb       ); 
         DEFINE_ACCESSOR( float, eProbabilityHT       );   
         //        DEFINE_ACCESSOR( float, eProbabilityToT       );  
         //        DEFINE_ACCESSOR( float, eProbabilityBrem       ); 
-	DEFINE_ACCESSOR( float, pixeldEdx       ); 
+        DEFINE_ACCESSOR( float, pixeldEdx       ); 
       default:                  
          std::cerr << "xAOD::TrackParticle_v1 ERROR Unknown SummaryType ("
                    << type << ") requested" << std::endl;
diff --git a/Event/xAOD/xAODTracking/Root/Vertex_v1.cxx b/Event/xAOD/xAODTracking/Root/Vertex_v1.cxx
index 324ce8d2afc8..3ea2499b4201 100644
--- a/Event/xAOD/xAODTracking/Root/Vertex_v1.cxx
+++ b/Event/xAOD/xAODTracking/Root/Vertex_v1.cxx
@@ -151,8 +151,8 @@ namespace xAOD {
 
    void Vertex_v1::setFitQuality( float chiSquared, float numberDoF ) {
 
-      static Accessor< float > acc1( "chiSquared" );
-      static Accessor< float > acc2( "numberDoF" );
+      static const Accessor< float > acc1( "chiSquared" );
+      static const Accessor< float > acc2( "numberDoF" );
       acc1( *this ) = chiSquared;
       acc2( *this ) = numberDoF;
 
@@ -169,7 +169,7 @@ namespace xAOD {
 
 #if ( ! defined(XAOD_STANDALONE) ) && ( ! defined(XAOD_MANACORE) )
    /// Helper object for implementing the vxTrackAtVertex functions
-   static SG::AuxElement::Accessor< std::vector< Trk::VxTrackAtVertex > >
+   static const SG::AuxElement::Accessor< std::vector< Trk::VxTrackAtVertex > >
    vxVertAcc( "vxTrackAtVertex" );
 
    /// This function can be used to attach an Athena-only, reconstruction
@@ -220,17 +220,17 @@ namespace xAOD {
    //
 
    /// Accessor for the track links
-   static SG::AuxElement::Accessor< Vertex_v1::TrackParticleLinks_t >
+   static const SG::AuxElement::Accessor< Vertex_v1::TrackParticleLinks_t >
       trackAcc( "trackParticleLinks" );
    /// Accessor for the track weights
-   static SG::AuxElement::Accessor< std::vector< float > >
+   static const SG::AuxElement::Accessor< std::vector< float > >
       weightTrackAcc( "trackWeights" );
 
    /// Accessor for the neutral links
-   static SG::AuxElement::Accessor< Vertex_v1::NeutralParticleLinks_t >
+   static const SG::AuxElement::Accessor< Vertex_v1::NeutralParticleLinks_t >
       neutralAcc( "neutralParticleLinks" );
    /// Accessor for the neutral weights
-   static SG::AuxElement::Accessor< std::vector< float > >
+   static const SG::AuxElement::Accessor< std::vector< float > >
       weightNeutralAcc( "neutralWeights" );
 
    AUXSTORE_OBJECT_SETTER_AND_GETTER( Vertex_v1,
diff --git a/Event/xAOD/xAODTracking/test/xAODTracking_TrackParticle_test.cxx b/Event/xAOD/xAODTracking/test/xAODTracking_TrackParticle_test.cxx
index 312770270884..d504ce03b47e 100644
--- a/Event/xAOD/xAODTracking/test/xAODTracking_TrackParticle_test.cxx
+++ b/Event/xAOD/xAODTracking/test/xAODTracking_TrackParticle_test.cxx
@@ -1,8 +1,7 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
-// $Id: xAODTracking_TrackParticle_test.cxx 606456 2014-07-15 09:20:53Z emoyse $
 
 // System include(s):
 #include <iostream>
@@ -46,7 +45,7 @@ void fill( xAOD::TrackParticle& tp ) {
       { 0.0, 1.0, 2.0, 3.0, 4.0, 5.0 },
       { 6.0, 7.0, 8.0, 9.0, 10.0, 11.0 }
    };
-   static std::vector< std::vector< float > > parametersVec;
+   std::vector< std::vector< float > > parametersVec;
    if( ! parametersVec.size() ) {
       for( int i = 0; i < 2; ++i ) {
          std::vector< float > temp( parameters[ i ],
diff --git a/Event/xAOD/xAODTracking/xAODTracking/TrackSummaryAccessors_v1.h b/Event/xAOD/xAODTracking/xAODTracking/TrackSummaryAccessors_v1.h
index 390b4d94e443..fc08a249a11b 100644
--- a/Event/xAOD/xAODTracking/xAODTracking/TrackSummaryAccessors_v1.h
+++ b/Event/xAOD/xAODTracking/xAODTracking/TrackSummaryAccessors_v1.h
@@ -1,10 +1,9 @@
 // Dear emacs, this is -*- c++ -*-
 
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
-// $Id: TrackSummaryAccessors_v1.h 574227 2013-12-06 14:20:39Z emoyse $
 #ifndef XAOD_TRACKSUMMARYACCESSORS_V1_H
 #define XAOD_TRACKSUMMARYACCESSORS_V1_H
 
@@ -22,7 +21,7 @@ namespace xAOD {
    /// TrackParticle_v1 object at runtime to get/set summary values on themselves.
    ///
    template <class T>
-   SG::AuxElement::Accessor< T >*
+   const SG::AuxElement::Accessor< T >*
    trackSummaryAccessorV1( xAOD::SummaryType type );
 
 } // namespace xAOD
diff --git a/Event/xAOD/xAODTracking/xAODTracking/versions/NeutralParticle_v1.h b/Event/xAOD/xAODTracking/xAODTracking/versions/NeutralParticle_v1.h
index 3b93bf959cab..49eb0ca4ee6e 100644
--- a/Event/xAOD/xAODTracking/xAODTracking/versions/NeutralParticle_v1.h
+++ b/Event/xAOD/xAODTracking/xAODTracking/versions/NeutralParticle_v1.h
@@ -1,10 +1,9 @@
 // Dear emacs, this is -*- c++ -*-
 
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
 */
 
-// $Id: NeutralParticle_v1.h 573493 2013-12-03 13:05:51Z emoyse $
 #ifndef XAODTRACKING_VERSIONS_NEUTRALPARTICLE_V1_H
 #define XAODTRACKING_VERSIONS_NEUTRALPARTICLE_V1_H
 
@@ -43,10 +42,10 @@ namespace xAOD {
       NeutralParticle_v1();
       /// Destructor
       ~NeutralParticle_v1();
-    /// Copy ctor. This involves copying the entire Auxilary store, and is a slow operation which should be used sparingly.
-    NeutralParticle_v1(const NeutralParticle_v1& o );
-    /// Assignment operator. This can involve creating and copying an Auxilary store, and so should be used sparingly.
-    NeutralParticle_v1& operator=(const NeutralParticle_v1& tp );
+      /// Copy ctor. This involves copying the entire Auxilary store, and is a slow operation which should be used sparingly.
+      NeutralParticle_v1(const NeutralParticle_v1& o );
+      /// Assignment operator. This can involve creating and copying an Auxilary store, and so should be used sparingly.
+      NeutralParticle_v1& operator=(const NeutralParticle_v1& tp );
       
       /// @name xAOD::IParticle functions
       /// @{
-- 
GitLab


From 6484e06c75f626ca0b28201ec0cd9a131aa68aa8 Mon Sep 17 00:00:00 2001
From: scott snyder <snyder@bnl.gov>
Date: Sat, 26 Jan 2019 22:08:28 +0100
Subject: [PATCH 140/192] TileRecUtils: Update reference files.

Fix test failures in master.
---
 .../share/TileDQstatusAlg_test.ref            | 94 +++++++++---------
 .../share/TileDQstatusTool_test.ref           | 96 +++++++++---------
 .../share/TileRawChannelBuilder_test.ref      | 98 +++++++++----------
 3 files changed, 144 insertions(+), 144 deletions(-)

diff --git a/TileCalorimeter/TileRecUtils/share/TileDQstatusAlg_test.ref b/TileCalorimeter/TileRecUtils/share/TileDQstatusAlg_test.ref
index e2100d1b7200..3fc8d93852d2 100644
--- a/TileCalorimeter/TileRecUtils/share/TileDQstatusAlg_test.ref
+++ b/TileCalorimeter/TileRecUtils/share/TileDQstatusAlg_test.ref
@@ -1,14 +1,14 @@
-Mon Dec 17 02:29:02 CET 2018
+Sat Jan 26 19:47:02 CET 2019
 Preloading tcmalloc_minimal.so
 Py:Athena            INFO including file "AthenaCommon/Preparation.py"
-Py:Athena            INFO using release [AthenaWorkDir-22.0.1] [x86_64-slc6-gcc62-dbg] [atlas-work3/d6d3116653c] -- built on [2018-12-16T1848]
+Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc8-opt] [atlas-work3/5e0c78d866] -- built on [2019-01-26T1705]
 Py:Athena            INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
 Py:Athena            INFO executing ROOT6Setup
 Py:Athena            INFO including file "AthenaCommon/Execution.py"
 Py:Athena            INFO including file "TileRecUtils/TileDQstatusAlg_test.py"
 [?1034hSetGeometryVersion.py obtained major release version 22
 Py:Athena            INFO including file "IdDictDetDescrCnv/IdDictDetDescrCnv_joboptions.py"
-Py:ConfigurableDb    INFO Read module info for 5459 configurables from 51 genConfDb files
+Py:ConfigurableDb    INFO Read module info for 5455 configurables from 76 genConfDb files
 Py:ConfigurableDb    INFO No duplicates have been found: that's good !
 EventInfoMgtInit: Got release version  Athena-22.0.1
 Py:IOVDbSvc.CondDB    INFO Setting up conditions DB access to instance OFLP200
@@ -28,7 +28,7 @@ ApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to leve
 ApplicationMgr    SUCCESS 
 ====================================================================================================================================
                                                    Welcome to ApplicationMgr (GaudiCoreSvc v30r5)
-                                          running on lxplus073.cern.ch on Mon Dec 17 02:29:22 2018
+                                          running on lxplus063.cern.ch on Sat Jan 26 19:47:29 2019
 ====================================================================================================================================
 ApplicationMgr       INFO Successfully loaded modules : AthenaServices
 ApplicationMgr       INFO Application Manager Configured successfully
@@ -36,7 +36,7 @@ ApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to leve
 StatusCodeSvc        INFO initialize
 AthDictLoaderSvc     INFO in initialize...
 AthDictLoaderSvc     INFO acquired Dso-registry
-ClassIDSvc           INFO  getRegistryEntries: read 6864 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 6914 CLIDRegistry entries for module ALL
 CoreDumpSvc          INFO install f-a-t-a-l handler... (flag = -1)
 CoreDumpSvc          INFO Handling signals: 11(Segmentation fault) 7(Bus error) 4(Illegal instruction) 8(Floating point exception) 
 MetaDataSvc          INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00
@@ -45,8 +45,8 @@ PoolSvc              INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.x
 PoolSvc              INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
 PoolSvc              INFO Frontier compression level set to 5
 DBReplicaSvc         INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data
-DBReplicaSvc         INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-12-15T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/dbreplica.config
-DBReplicaSvc         INFO Total of 10 servers found for host lxplus073.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
+DBReplicaSvc         INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/dbreplica.config
+DBReplicaSvc         INFO Total of 10 servers found for host lxplus063.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
 PoolSvc              INFO Successfully setup replica sorting algorithm
 PoolSvc              INFO Setting up APR FileCatalog and Streams
 PoolSvc           WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables
@@ -83,7 +83,7 @@ IOVDbSvc             INFO Added taginfo remove for /TILE/OFL02/STATUS/ADC
 IOVDbSvc             INFO Added taginfo remove for /TILE/OFL02/TIME/CHANNELOFFSET/PHY
 IOVDbSvc             INFO Added taginfo remove for /TILE/ONL01/STATUS/ADC
 IOVDbSvc             INFO Added taginfo remove for /LAR/LArCellPositionShift
-ClassIDSvc           INFO  getRegistryEntries: read 1919 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 1876 CLIDRegistry entries for module ALL
 ClassIDSvc           INFO  getRegistryEntries: read 17 CLIDRegistry entries for module ALL
 DetDescrCnvSvc       INFO  initializing 
 DetDescrCnvSvc       INFO Found DetectorStore service
@@ -172,7 +172,7 @@ EndcapDMConstru...   INFO Start building EC electronics geometry
   multi-layered version of absorbers activated, mlabs == 1
 ================================================
 EndcapDMConstru...   INFO Start building EC electronics geometry
-GeoModelSvc          INFO GeoModelSvc.LArDetectorToolNV	 SZ= 28576Kb 	 Time = 1.56S
+GeoModelSvc          INFO GeoModelSvc.LArDetectorToolNV	 SZ= 23968Kb 	 Time = 0.86S
 GeoModelSvc.Til...   INFO  Entering TileDetectorTool::create()
 TileDddbManager      INFO m_tag = ATLAS-R2-2016-01-00-01
 TileDddbManager      INFO n_tiglob = 5
@@ -184,7 +184,7 @@ TileDddbManager      INFO n_tileSwitches = 1
 ClassIDSvc           INFO  getRegistryEntries: read 213 CLIDRegistry entries for module ALL
 CaloIDHelper_ID...   INFO in createObj: creating a TileID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-TileNeighbour        INFO Reading file  /afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc62-dbg/x86_64-slc6-gcc62-dbg/share/TileNeighbour_reduced.txt
+TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/TileNeighbour_reduced.txt
 TileHWIDDetDesc...   INFO in createObj: creating a TileHWID helper object in the detector store
 TileHWID             INFO initialize_from_dictionary 
 AtlasDetectorID      INFO initialize_from_dictionary - OK
@@ -196,9 +196,9 @@ CaloIDHelper_ID...   INFO in createObj: creating a LArHEC_ID helper object in th
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIDHelper_ID...   INFO in createObj: creating a LArFCAL_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID      INFO Reading file /afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc62-dbg/x86_64-slc6-gcc62-dbg/share/FCal2DNeighbors-April2011.txt
-LArFCAL_Base_ID      INFO Reading file /afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc62-dbg/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsNext-April2011.txt
-LArFCAL_Base_ID      INFO Reading file /afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc62-dbg/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsPrev-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/FCal2DNeighbors-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/FCal3DNeighborsNext-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/FCal3DNeighborsPrev-April2011.txt
 CaloIDHelper_ID...   INFO in createObj: creating a LArMiniFCAL_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 LArMiniFCAL_ID       INFO  initialize_from_dict - LArCalorimeter dictionary does NOT contain miniFCAL description. Unable to initialize LArMiniFCAL_ID.
@@ -229,11 +229,11 @@ GeoModelSvc.Til...   INFO                                    PLUG2  Rmin= 2981 R
 GeoModelSvc.Til...   INFO  Positioning negative ITC with translation -3405
 GeoModelSvc.Til...   INFO  Positioning negative Gap with translation -3552
 GeoModelSvc.Til...   INFO  Positioning negative Crack with translation -3536
-GeoModelSvc.Til...   INFO  Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
-GeoModelSvc.Til...   INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
-GeoModelSvc.Til...   INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) GeoModelKernelUnits::cm
+GeoModelSvc.Til...   INFO  Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) Gaudi::Units::cm
+GeoModelSvc.Til...   INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) Gaudi::Units::cm
+GeoModelSvc.Til...   INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) Gaudi::Units::cm
 TileDetDescrMan...   INFO Entering create_elements()
-GeoModelSvc          INFO GeoModelSvc.TileDetectorTool	 SZ= 5196Kb 	 Time = 1.62S
+GeoModelSvc          INFO GeoModelSvc.TileDetectorTool	 SZ= 3576Kb 	 Time = 0.21S
 ClassIDSvc           INFO  getRegistryEntries: read 65 CLIDRegistry entries for module ALL
 TileInfoLoader       INFO Initializing....TileInfoLoader
 TileInfoLoader       INFO New ATLAS geometry detected: ATLAS-R2-2016-01-00-01 (010001) version 10001
@@ -255,11 +255,11 @@ TileInfoLoader       INFO Sampling fraction for E2 cells 1/107
 TileInfoLoader       INFO Sampling fraction for E3 cells 1/97
 TileInfoLoader       INFO Sampling fraction for E4 cells 1/75
 TileInfoLoader       INFO Sampling fraction for E4' cells 1/75
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-12-15T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulsehi_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-12-15T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulselo_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-12-15T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_tower_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-12-15T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muonRcv_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-12-15T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muon_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/pulsehi_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/pulselo_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/pulse_adder_tower_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/pulse_adder_muonRcv_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/pulse_adder_muon_physics.dat
 CaloIDHelper_ID...   INFO in createObj: creating a CaloLVL1_ID helper object in the detector store
 CaloLVL1_ID          INFO initialize_from_dictionary
 AtlasDetectorID      INFO initialize_from_dictionary - OK
@@ -312,7 +312,7 @@ TileEMScaleCond...   INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCond
 TileEMScaleCond...   INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCondProxyCool_OnlEms) for folder: "/TILE/OFL02/CALIB/EMS"
 TileSampleNoise...   INFO Creating TileCondProxyCool(TileSampleNoiseCondAlg.TileCondProxyCool_NoiseSample) for folder: "/TILE/OFL02/NOISE/SAMPLE"
 TileTimingCondA...   INFO Creating TileCondProxyCool(TileTimingCondAlg.TileCondProxyCool_AdcOffset) for folder: "/TILE/OFL02/TIME/CHANNELOFFSET/PHY"
-ClassIDSvc           INFO  getRegistryEntries: read 4876 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 4754 CLIDRegistry entries for module ALL
 PyComponentMgr       INFO Initializing PyComponentMgr...
 record1              INFO Initializing record1...
 check1               INFO Initializing check1...
@@ -358,12 +358,12 @@ CaloIDHelper_ID...   INFO in createObj: creating a LArHEC_SuperCell_ID helper ob
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIDHelper_ID...   INFO in createObj: creating a LArFCAL_SuperCell_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID      INFO Reading file /afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc62-dbg/x86_64-slc6-gcc62-dbg/share/FCalSuperCells2DNeighborsNew-April2014.txt
-LArFCAL_Base_ID      INFO Reading file /afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc62-dbg/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
-LArFCAL_Base_ID      INFO Reading file /afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc62-dbg/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/FCalSuperCells2DNeighborsNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
 CaloIDHelper_ID...   INFO in createObj: creating a Tile_SuperCell_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-TileNeighbour        INFO Reading file  /afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc62-dbg/x86_64-slc6-gcc62-dbg/share/TileSuperCellNeighbour.txt
+TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/TileSuperCellNeighbour.txt
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIdMgrDetDes...   INFO  Finished 
 CaloIdMgrDetDes...   INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv 
@@ -392,7 +392,7 @@ TileBadChannels...   INFO TileBchStatus::isNoisy() is defined by: Large HF noise
 TileBadChannels...   INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; 
 TileBadChannels...   INFO TileBchStatus::isBadTiming() is defined by: Bad timing; Online bad timing; 
 TileBadChannels...   INFO No drawer trips probabilities found in DB
-ClassIDSvc           INFO  getRegistryEntries: read 650 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 670 CLIDRegistry entries for module ALL
 ClassIDSvc           INFO  getRegistryEntries: read 196 CLIDRegistry entries for module ALL
 ClassIDSvc           INFO  getRegistryEntries: read 3 CLIDRegistry entries for module ALL
 AthenaEventLoopMgr   INFO   ===>>>  done processing event #1, run #1 1 events processed so far  <<<===
@@ -413,32 +413,32 @@ check1               INFO Finalizing check1...
 IncidentProcAlg2     INFO Finalize
 PyComponentMgr       INFO Finalizing PyComponentMgr...
 IdDictDetDescrCnv    INFO in finalize
-IOVDbFolder          INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/170 ((     0.95 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/103344 ((     1.31 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 ((     1.02 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 ((     0.99 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/92 ((     0.57 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/940 ((     0.63 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/72 ((     0.58 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/76 ((     0.56 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/641476 ((     0.81 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/97884 ((     0.05 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 ((     0.05 ))s
-IOVDbFolder          INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/76 ((     0.01 ))s
-IOVDbFolder          INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/195 ((     0.51 ))s
-IOVDbSvc             INFO  bytes in ((      8.05 ))s
+IOVDbFolder          INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/340 ((     1.13 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104132 ((     1.27 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.87 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     1.00 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/116 ((     0.93 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/964 ((     0.84 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 ((     3.08 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104 ((     0.78 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/643800 ((     1.01 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/97908 ((     0.03 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/120 ((     0.04 ))s
+IOVDbFolder          INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/100 ((     0.00 ))s
+IOVDbFolder          INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.68 ))s
+IOVDbSvc             INFO  bytes in ((     11.66 ))s
 IOVDbSvc             INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: ((     0.00 ))s
-IOVDbSvc             INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     1.46 ))s
-IOVDbSvc             INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: ((     6.59 ))s
+IOVDbSvc             INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     1.81 ))s
+IOVDbSvc             INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: ((     9.85 ))s
 TileInfoLoader       INFO TileInfoLoader::finalize()
 AthDictLoaderSvc     INFO in finalize...
 ToolSvc              INFO Removing all tools created by ToolSvc
 *****Chrono*****     INFO ****************************************************************************************************
 *****Chrono*****     INFO  The Final CPU consumption ( Chrono ) Table (ordered)
 *****Chrono*****     INFO ****************************************************************************************************
-cObjR_ALL            INFO Time User   : Tot= 0.76  [s] Ave/Min/Max= 0.38(+- 0.36)/ 0.02/ 0.74  [s] #=  2
-cObj_ALL             INFO Time User   : Tot=    1  [s] Ave/Min/Max=0.0769(+-0.224)/    0/ 0.84  [s] #= 13
-ChronoStatSvc        INFO Time User   : Tot= 63.9  [s]                                             #=  1
+cObjR_ALL            INFO Time User   : Tot= 0.51  [s] Ave/Min/Max=0.255(+-0.245)/ 0.01/  0.5  [s] #=  2
+cObj_ALL             INFO Time User   : Tot= 0.61  [s] Ave/Min/Max=0.0469(+-0.144)/    0/ 0.54  [s] #= 13
+ChronoStatSvc        INFO Time User   : Tot= 37.1  [s]                                             #=  1
 *****Chrono*****     INFO ****************************************************************************************************
 ChronoStatSvc.f...   INFO  Service finalized successfully 
 ApplicationMgr       INFO Application Manager Finalized successfully
diff --git a/TileCalorimeter/TileRecUtils/share/TileDQstatusTool_test.ref b/TileCalorimeter/TileRecUtils/share/TileDQstatusTool_test.ref
index 6918313d4c69..ea1b58932da5 100644
--- a/TileCalorimeter/TileRecUtils/share/TileDQstatusTool_test.ref
+++ b/TileCalorimeter/TileRecUtils/share/TileDQstatusTool_test.ref
@@ -1,14 +1,14 @@
-Mon Dec 17 02:46:42 CET 2018
+Sat Jan 26 19:39:33 CET 2019
 Preloading tcmalloc_minimal.so
 Py:Athena            INFO including file "AthenaCommon/Preparation.py"
-Py:Athena            INFO using release [AthenaWorkDir-22.0.1] [x86_64-slc6-gcc62-dbg] [atlas-work3/d6d3116653c] -- built on [2018-12-16T1848]
+Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc8-opt] [atlas-work3/5e0c78d866] -- built on [2019-01-26T1705]
 Py:Athena            INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
 Py:Athena            INFO executing ROOT6Setup
 Py:Athena            INFO including file "AthenaCommon/Execution.py"
 Py:Athena            INFO including file "TileRecUtils/TileDQstatusTool_test.py"
 [?1034hSetGeometryVersion.py obtained major release version 22
 Py:Athena            INFO including file "IdDictDetDescrCnv/IdDictDetDescrCnv_joboptions.py"
-Py:ConfigurableDb    INFO Read module info for 5459 configurables from 51 genConfDb files
+Py:ConfigurableDb    INFO Read module info for 5455 configurables from 76 genConfDb files
 Py:ConfigurableDb    INFO No duplicates have been found: that's good !
 EventInfoMgtInit: Got release version  Athena-22.0.1
 Py:IOVDbSvc.CondDB    INFO Setting up conditions DB access to instance OFLP200
@@ -28,7 +28,7 @@ ApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to leve
 ApplicationMgr    SUCCESS 
 ====================================================================================================================================
                                                    Welcome to ApplicationMgr (GaudiCoreSvc v30r5)
-                                          running on lxplus073.cern.ch on Mon Dec 17 02:47:02 2018
+                                          running on lxplus063.cern.ch on Sat Jan 26 19:39:57 2019
 ====================================================================================================================================
 ApplicationMgr       INFO Successfully loaded modules : AthenaServices
 ApplicationMgr       INFO Application Manager Configured successfully
@@ -36,7 +36,7 @@ ApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to leve
 StatusCodeSvc        INFO initialize
 AthDictLoaderSvc     INFO in initialize...
 AthDictLoaderSvc     INFO acquired Dso-registry
-ClassIDSvc           INFO  getRegistryEntries: read 6864 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 6914 CLIDRegistry entries for module ALL
 CoreDumpSvc          INFO install f-a-t-a-l handler... (flag = -1)
 CoreDumpSvc          INFO Handling signals: 11(Segmentation fault) 7(Bus error) 4(Illegal instruction) 8(Floating point exception) 
 MetaDataSvc          INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00
@@ -45,8 +45,8 @@ PoolSvc              INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.x
 PoolSvc              INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
 PoolSvc              INFO Frontier compression level set to 5
 DBReplicaSvc         INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data
-DBReplicaSvc         INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-12-15T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/dbreplica.config
-DBReplicaSvc         INFO Total of 10 servers found for host lxplus073.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
+DBReplicaSvc         INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/dbreplica.config
+DBReplicaSvc         INFO Total of 10 servers found for host lxplus063.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
 PoolSvc              INFO Successfully setup replica sorting algorithm
 PoolSvc              INFO Setting up APR FileCatalog and Streams
 PoolSvc           WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables
@@ -83,7 +83,7 @@ IOVDbSvc             INFO Added taginfo remove for /TILE/OFL02/STATUS/ADC
 IOVDbSvc             INFO Added taginfo remove for /TILE/OFL02/TIME/CHANNELOFFSET/PHY
 IOVDbSvc             INFO Added taginfo remove for /TILE/ONL01/STATUS/ADC
 IOVDbSvc             INFO Added taginfo remove for /LAR/LArCellPositionShift
-ClassIDSvc           INFO  getRegistryEntries: read 1919 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 1876 CLIDRegistry entries for module ALL
 ClassIDSvc           INFO  getRegistryEntries: read 17 CLIDRegistry entries for module ALL
 DetDescrCnvSvc       INFO  initializing 
 DetDescrCnvSvc       INFO Found DetectorStore service
@@ -172,7 +172,7 @@ EndcapDMConstru...   INFO Start building EC electronics geometry
   multi-layered version of absorbers activated, mlabs == 1
 ================================================
 EndcapDMConstru...   INFO Start building EC electronics geometry
-GeoModelSvc          INFO GeoModelSvc.LArDetectorToolNV	 SZ= 28576Kb 	 Time = 1.51S
+GeoModelSvc          INFO GeoModelSvc.LArDetectorToolNV	 SZ= 23968Kb 	 Time = 0.6S
 GeoModelSvc.Til...   INFO  Entering TileDetectorTool::create()
 TileDddbManager      INFO m_tag = ATLAS-R2-2016-01-00-01
 TileDddbManager      INFO n_tiglob = 5
@@ -184,7 +184,7 @@ TileDddbManager      INFO n_tileSwitches = 1
 ClassIDSvc           INFO  getRegistryEntries: read 213 CLIDRegistry entries for module ALL
 CaloIDHelper_ID...   INFO in createObj: creating a TileID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-TileNeighbour        INFO Reading file  /afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc62-dbg/x86_64-slc6-gcc62-dbg/share/TileNeighbour_reduced.txt
+TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/TileNeighbour_reduced.txt
 TileHWIDDetDesc...   INFO in createObj: creating a TileHWID helper object in the detector store
 TileHWID             INFO initialize_from_dictionary 
 AtlasDetectorID      INFO initialize_from_dictionary - OK
@@ -196,9 +196,9 @@ CaloIDHelper_ID...   INFO in createObj: creating a LArHEC_ID helper object in th
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIDHelper_ID...   INFO in createObj: creating a LArFCAL_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID      INFO Reading file /afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc62-dbg/x86_64-slc6-gcc62-dbg/share/FCal2DNeighbors-April2011.txt
-LArFCAL_Base_ID      INFO Reading file /afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc62-dbg/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsNext-April2011.txt
-LArFCAL_Base_ID      INFO Reading file /afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc62-dbg/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsPrev-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/FCal2DNeighbors-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/FCal3DNeighborsNext-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/FCal3DNeighborsPrev-April2011.txt
 CaloIDHelper_ID...   INFO in createObj: creating a LArMiniFCAL_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 LArMiniFCAL_ID       INFO  initialize_from_dict - LArCalorimeter dictionary does NOT contain miniFCAL description. Unable to initialize LArMiniFCAL_ID.
@@ -229,11 +229,11 @@ GeoModelSvc.Til...   INFO                                    PLUG2  Rmin= 2981 R
 GeoModelSvc.Til...   INFO  Positioning negative ITC with translation -3405
 GeoModelSvc.Til...   INFO  Positioning negative Gap with translation -3552
 GeoModelSvc.Til...   INFO  Positioning negative Crack with translation -3536
-GeoModelSvc.Til...   INFO  Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
-GeoModelSvc.Til...   INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
-GeoModelSvc.Til...   INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) GeoModelKernelUnits::cm
+GeoModelSvc.Til...   INFO  Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) Gaudi::Units::cm
+GeoModelSvc.Til...   INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) Gaudi::Units::cm
+GeoModelSvc.Til...   INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) Gaudi::Units::cm
 TileDetDescrMan...   INFO Entering create_elements()
-GeoModelSvc          INFO GeoModelSvc.TileDetectorTool	 SZ= 5196Kb 	 Time = 1.68S
+GeoModelSvc          INFO GeoModelSvc.TileDetectorTool	 SZ= 3576Kb 	 Time = 0.23S
 ClassIDSvc           INFO  getRegistryEntries: read 65 CLIDRegistry entries for module ALL
 TileInfoLoader       INFO Initializing....TileInfoLoader
 TileInfoLoader       INFO New ATLAS geometry detected: ATLAS-R2-2016-01-00-01 (010001) version 10001
@@ -255,11 +255,11 @@ TileInfoLoader       INFO Sampling fraction for E2 cells 1/107
 TileInfoLoader       INFO Sampling fraction for E3 cells 1/97
 TileInfoLoader       INFO Sampling fraction for E4 cells 1/75
 TileInfoLoader       INFO Sampling fraction for E4' cells 1/75
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-12-15T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulsehi_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-12-15T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulselo_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-12-15T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_tower_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-12-15T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muonRcv_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-12-15T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muon_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/pulsehi_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/pulselo_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/pulse_adder_tower_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/pulse_adder_muonRcv_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/pulse_adder_muon_physics.dat
 CaloIDHelper_ID...   INFO in createObj: creating a CaloLVL1_ID helper object in the detector store
 CaloLVL1_ID          INFO initialize_from_dictionary
 AtlasDetectorID      INFO initialize_from_dictionary - OK
@@ -314,7 +314,7 @@ TileSampleNoise...   INFO Creating TileCondProxyCool(TileSampleNoiseCondAlg.Tile
 TileTimingCondA...   INFO Creating TileCondProxyCool(TileTimingCondAlg.TileCondProxyCool_AdcOffset) for folder: "/TILE/OFL02/TIME/CHANNELOFFSET/PHY"
 PyComponentMgr       INFO Initializing PyComponentMgr...
 test1                INFO Initializing test1...
-ClassIDSvc           INFO  getRegistryEntries: read 5660 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 5500 CLIDRegistry entries for module ALL
 HistogramPersis...WARNING Histograms saving not required.
 ApplicationMgr       INFO Application Manager Initialized successfully
 CondInputLoader      INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/TILE/OFL02/CALIB/CES'
@@ -356,12 +356,12 @@ CaloIDHelper_ID...   INFO in createObj: creating a LArHEC_SuperCell_ID helper ob
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIDHelper_ID...   INFO in createObj: creating a LArFCAL_SuperCell_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID      INFO Reading file /afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc62-dbg/x86_64-slc6-gcc62-dbg/share/FCalSuperCells2DNeighborsNew-April2014.txt
-LArFCAL_Base_ID      INFO Reading file /afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc62-dbg/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
-LArFCAL_Base_ID      INFO Reading file /afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc62-dbg/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/FCalSuperCells2DNeighborsNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
 CaloIDHelper_ID...   INFO in createObj: creating a Tile_SuperCell_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-TileNeighbour        INFO Reading file  /afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc62-dbg/x86_64-slc6-gcc62-dbg/share/TileSuperCellNeighbour.txt
+TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/TileSuperCellNeighbour.txt
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIdMgrDetDes...   INFO  Finished 
 CaloIdMgrDetDes...   INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv 
@@ -391,8 +391,8 @@ TileBadChannels...   INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; N
 TileBadChannels...   INFO TileBchStatus::isBadTiming() is defined by: Bad timing; Online bad timing; 
 TileBadChannels...   INFO No drawer trips probabilities found in DB
 *** Starting test1
-ClassIDSvc           INFO  getRegistryEntries: read 650 CLIDRegistry entries for module ALL
-ClassIDSvc           INFO  getRegistryEntries: read 154 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 670 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 177 CLIDRegistry entries for module ALL
 *** Starting test2
 *** Starting test3
 *** Starting test4
@@ -416,32 +416,32 @@ test1                INFO Finalizing test1...
 IncidentProcAlg2     INFO Finalize
 PyComponentMgr       INFO Finalizing PyComponentMgr...
 IdDictDetDescrCnv    INFO in finalize
-IOVDbFolder          INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/170 ((     0.07 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/103344 ((     0.07 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 ((     0.05 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 ((     0.04 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/92 ((     0.05 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/940 ((     0.04 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/72 ((     0.05 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/76 ((     0.04 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/641476 ((     0.07 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/97884 ((     0.05 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 ((     0.05 ))s
-IOVDbFolder          INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/76 ((     0.02 ))s
-IOVDbFolder          INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/195 ((     0.02 ))s
-IOVDbSvc             INFO  bytes in ((      0.62 ))s
+IOVDbFolder          INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/340 ((     4.29 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104132 ((     0.94 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.78 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.71 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/116 ((     1.31 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/964 ((     0.76 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 ((     0.57 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104 ((     0.60 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/643800 ((     0.84 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/97908 ((     1.66 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/120 ((     1.33 ))s
+IOVDbFolder          INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/100 ((     0.08 ))s
+IOVDbFolder          INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.58 ))s
+IOVDbSvc             INFO  bytes in ((     14.44 ))s
 IOVDbSvc             INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: ((     0.00 ))s
-IOVDbSvc             INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     0.09 ))s
-IOVDbSvc             INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: ((     0.53 ))s
+IOVDbSvc             INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     4.87 ))s
+IOVDbSvc             INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: ((     9.58 ))s
 TileInfoLoader       INFO TileInfoLoader::finalize()
 AthDictLoaderSvc     INFO in finalize...
 ToolSvc              INFO Removing all tools created by ToolSvc
 *****Chrono*****     INFO ****************************************************************************************************
 *****Chrono*****     INFO  The Final CPU consumption ( Chrono ) Table (ordered)
 *****Chrono*****     INFO ****************************************************************************************************
-cObjR_ALL            INFO Time User   : Tot= 0.66  [s] Ave/Min/Max= 0.33(+- 0.31)/ 0.02/ 0.64  [s] #=  2
-cObj_ALL             INFO Time User   : Tot= 0.92  [s] Ave/Min/Max=0.0708(+-0.198)/    0/ 0.74  [s] #= 13
-ChronoStatSvc        INFO Time User   : Tot= 69.1  [s]                                             #=  1
+cObjR_ALL            INFO Time User   : Tot=  460 [ms] Ave/Min/Max=  230(+-  230)/    0/  460 [ms] #=  2
+cObj_ALL             INFO Time User   : Tot= 0.56  [s] Ave/Min/Max=0.0431(+- 0.13)/    0/ 0.49  [s] #= 13
+ChronoStatSvc        INFO Time User   : Tot= 40.9  [s]                                             #=  1
 *****Chrono*****     INFO ****************************************************************************************************
 ChronoStatSvc.f...   INFO  Service finalized successfully 
 ApplicationMgr       INFO Application Manager Finalized successfully
diff --git a/TileCalorimeter/TileRecUtils/share/TileRawChannelBuilder_test.ref b/TileCalorimeter/TileRecUtils/share/TileRawChannelBuilder_test.ref
index 43a1b469be9d..2e03a591379f 100644
--- a/TileCalorimeter/TileRecUtils/share/TileRawChannelBuilder_test.ref
+++ b/TileCalorimeter/TileRecUtils/share/TileRawChannelBuilder_test.ref
@@ -1,14 +1,14 @@
-Thu Jan  3 16:25:19 CET 2019
+Sat Jan 26 19:47:02 CET 2019
 Preloading tcmalloc_minimal.so
 Py:Athena            INFO including file "AthenaCommon/Preparation.py"
-Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-opt] [atlas-work3g/be87ec46e65] -- built on [2019-01-03T1609]
+Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc8-opt] [atlas-work3/5e0c78d866] -- built on [2019-01-26T1705]
 Py:Athena            INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
 Py:Athena            INFO executing ROOT6Setup
 Py:Athena            INFO including file "AthenaCommon/Execution.py"
 Py:Athena            INFO including file "TileRecUtils/TileRawChannelBuilder_test.py"
 [?1034hSetGeometryVersion.py obtained major release version 22
 Py:Athena            INFO including file "IdDictDetDescrCnv/IdDictDetDescrCnv_joboptions.py"
-Py:ConfigurableDb    INFO Read module info for 5435 configurables from 6 genConfDb files
+Py:ConfigurableDb    INFO Read module info for 5455 configurables from 76 genConfDb files
 Py:ConfigurableDb    INFO No duplicates have been found: that's good !
 EventInfoMgtInit: Got release version  Athena-22.0.1
 Py:IOVDbSvc.CondDB    INFO Setting up conditions DB access to instance OFLP200
@@ -28,7 +28,7 @@ ApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to leve
 ApplicationMgr    SUCCESS 
 ====================================================================================================================================
                                                    Welcome to ApplicationMgr (GaudiCoreSvc v30r5)
-                                          running on lxplus064.cern.ch on Thu Jan  3 16:25:37 2019
+                                          running on lxplus063.cern.ch on Sat Jan 26 19:47:29 2019
 ====================================================================================================================================
 ApplicationMgr       INFO Successfully loaded modules : AthenaServices
 ApplicationMgr       INFO Application Manager Configured successfully
@@ -36,7 +36,7 @@ ApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to leve
 StatusCodeSvc        INFO initialize
 AthDictLoaderSvc     INFO in initialize...
 AthDictLoaderSvc     INFO acquired Dso-registry
-ClassIDSvc           INFO  getRegistryEntries: read 6912 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 6914 CLIDRegistry entries for module ALL
 CoreDumpSvc          INFO install f-a-t-a-l handler... (flag = -1)
 CoreDumpSvc          INFO Handling signals: 11(Segmentation fault) 7(Bus error) 4(Illegal instruction) 8(Floating point exception) 
 MetaDataSvc          INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00
@@ -45,8 +45,8 @@ PoolSvc              INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.x
 PoolSvc              INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
 PoolSvc              INFO Frontier compression level set to 5
 DBReplicaSvc         INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data
-DBReplicaSvc         INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-02T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config
-DBReplicaSvc         INFO Total of 10 servers found for host lxplus064.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
+DBReplicaSvc         INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/dbreplica.config
+DBReplicaSvc         INFO Total of 10 servers found for host lxplus063.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
 PoolSvc              INFO Successfully setup replica sorting algorithm
 PoolSvc              INFO Setting up APR FileCatalog and Streams
 PoolSvc           WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables
@@ -83,7 +83,7 @@ IOVDbSvc             INFO Added taginfo remove for /TILE/OFL02/STATUS/ADC
 IOVDbSvc             INFO Added taginfo remove for /TILE/OFL02/TIME/CHANNELOFFSET/PHY
 IOVDbSvc             INFO Added taginfo remove for /TILE/ONL01/STATUS/ADC
 IOVDbSvc             INFO Added taginfo remove for /LAR/LArCellPositionShift
-ClassIDSvc           INFO  getRegistryEntries: read 1871 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 1876 CLIDRegistry entries for module ALL
 ClassIDSvc           INFO  getRegistryEntries: read 17 CLIDRegistry entries for module ALL
 DetDescrCnvSvc       INFO  initializing 
 DetDescrCnvSvc       INFO Found DetectorStore service
@@ -172,7 +172,7 @@ EndcapDMConstru...   INFO Start building EC electronics geometry
   multi-layered version of absorbers activated, mlabs == 1
 ================================================
 EndcapDMConstru...   INFO Start building EC electronics geometry
-GeoModelSvc          INFO GeoModelSvc.LArDetectorToolNV	 SZ= 22940Kb 	 Time = 0.66S
+GeoModelSvc          INFO GeoModelSvc.LArDetectorToolNV	 SZ= 22944Kb 	 Time = 0.55S
 GeoModelSvc.Til...   INFO  Entering TileDetectorTool::create()
 TileDddbManager      INFO m_tag = ATLAS-R2-2016-01-00-01
 TileDddbManager      INFO n_tiglob = 5
@@ -184,7 +184,7 @@ TileDddbManager      INFO n_tileSwitches = 1
 ClassIDSvc           INFO  getRegistryEntries: read 213 CLIDRegistry entries for module ALL
 CaloIDHelper_ID...   INFO in createObj: creating a TileID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-02T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileNeighbour_reduced.txt
+TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/TileNeighbour_reduced.txt
 TileHWIDDetDesc...   INFO in createObj: creating a TileHWID helper object in the detector store
 TileHWID             INFO initialize_from_dictionary 
 AtlasDetectorID      INFO initialize_from_dictionary - OK
@@ -196,9 +196,9 @@ CaloIDHelper_ID...   INFO in createObj: creating a LArHEC_ID helper object in th
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIDHelper_ID...   INFO in createObj: creating a LArFCAL_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-02T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal2DNeighbors-April2011.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-02T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsNext-April2011.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-02T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsPrev-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/FCal2DNeighbors-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/FCal3DNeighborsNext-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/FCal3DNeighborsPrev-April2011.txt
 CaloIDHelper_ID...   INFO in createObj: creating a LArMiniFCAL_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 LArMiniFCAL_ID       INFO  initialize_from_dict - LArCalorimeter dictionary does NOT contain miniFCAL description. Unable to initialize LArMiniFCAL_ID.
@@ -229,11 +229,11 @@ GeoModelSvc.Til...   INFO                                    PLUG2  Rmin= 2981 R
 GeoModelSvc.Til...   INFO  Positioning negative ITC with translation -3405
 GeoModelSvc.Til...   INFO  Positioning negative Gap with translation -3552
 GeoModelSvc.Til...   INFO  Positioning negative Crack with translation -3536
-GeoModelSvc.Til...   INFO  Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
-GeoModelSvc.Til...   INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
-GeoModelSvc.Til...   INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) GeoModelKernelUnits::cm
+GeoModelSvc.Til...   INFO  Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) Gaudi::Units::cm
+GeoModelSvc.Til...   INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) Gaudi::Units::cm
+GeoModelSvc.Til...   INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) Gaudi::Units::cm
 TileDetDescrMan...   INFO Entering create_elements()
-GeoModelSvc          INFO GeoModelSvc.TileDetectorTool	 SZ= 3568Kb 	 Time = 0.2S
+GeoModelSvc          INFO GeoModelSvc.TileDetectorTool	 SZ= 3576Kb 	 Time = 0.22S
 ClassIDSvc           INFO  getRegistryEntries: read 65 CLIDRegistry entries for module ALL
 TileInfoLoader       INFO Initializing....TileInfoLoader
 TileInfoLoader       INFO New ATLAS geometry detected: ATLAS-R2-2016-01-00-01 (010001) version 10001
@@ -255,11 +255,11 @@ TileInfoLoader       INFO Sampling fraction for E2 cells 1/107
 TileInfoLoader       INFO Sampling fraction for E3 cells 1/97
 TileInfoLoader       INFO Sampling fraction for E4 cells 1/75
 TileInfoLoader       INFO Sampling fraction for E4' cells 1/75
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-02T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulsehi_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-02T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulselo_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-02T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_tower_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-02T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muonRcv_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-02T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muon_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/pulsehi_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/pulselo_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/pulse_adder_tower_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/pulse_adder_muonRcv_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/pulse_adder_muon_physics.dat
 CaloIDHelper_ID...   INFO in createObj: creating a CaloLVL1_ID helper object in the detector store
 CaloLVL1_ID          INFO initialize_from_dictionary
 AtlasDetectorID      INFO initialize_from_dictionary - OK
@@ -313,7 +313,7 @@ TileEMScaleCond...   INFO Creating TileCondProxyCool(TileEMScaleCondAlg.TileCond
 TileSampleNoise...   INFO Creating TileCondProxyCool(TileSampleNoiseCondAlg.TileCondProxyCool_NoiseSample) for folder: "/TILE/OFL02/NOISE/SAMPLE"
 TileTimingCondA...   INFO Creating TileCondProxyCool(TileTimingCondAlg.TileCondProxyCool_AdcOffset) for folder: "/TILE/OFL02/TIME/CHANNELOFFSET/PHY"
 ClassIDSvc           INFO  getRegistryEntries: read 504 CLIDRegistry entries for module ALL
-ClassIDSvc           INFO  getRegistryEntries: read 4846 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 4754 CLIDRegistry entries for module ALL
 xAODMaker::Even...   INFO Initializing - Package version: xAODEventInfoCnv-00-00-00
 xAODMaker::Even...   INFO Initializing - Package version: xAODEventInfoCnv-00-00-00
 xAODMaker::Even...WARNING Beam conditions service not available
@@ -323,7 +323,7 @@ xAODMaker::Even...   INFO Will take information from the EventInfo object
 PyComponentMgr       INFO Initializing PyComponentMgr...
 prepalg1             INFO Initializing prepalg1...
 testalg1             INFO Initializing testalg1...
-ClassIDSvc           INFO  getRegistryEntries: read 532 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 478 CLIDRegistry entries for module ALL
 ToolSvc.tool1        INFO TileRawChannelBuilder::initialize()
 ToolSvc.tool2        INFO TileRawChannelBuilder::initialize()
 ToolSvc.tool2.n...   INFO Initializing...
@@ -368,12 +368,12 @@ CaloIDHelper_ID...   INFO in createObj: creating a LArHEC_SuperCell_ID helper ob
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIDHelper_ID...   INFO in createObj: creating a LArFCAL_SuperCell_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-02T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells2DNeighborsNew-April2014.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-02T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-02T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/FCalSuperCells2DNeighborsNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
 CaloIDHelper_ID...   INFO in createObj: creating a Tile_SuperCell_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-02T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileSuperCellNeighbour.txt
+TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2352/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/TileSuperCellNeighbour.txt
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIdMgrDetDes...   INFO  Finished 
 CaloIdMgrDetDes...   INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv 
@@ -403,8 +403,8 @@ TileBadChannels...   INFO TileBchStatus::isNoisy() is defined by: Large HF noise
 TileBadChannels...   INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; 
 TileBadChannels...   INFO TileBchStatus::isBadTiming() is defined by: Bad timing; Online bad timing; 
 TileBadChannels...   INFO No drawer trips probabilities found in DB
-ClassIDSvc           INFO  getRegistryEntries: read 650 CLIDRegistry entries for module ALL
-ClassIDSvc           INFO  getRegistryEntries: read 154 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 670 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 177 CLIDRegistry entries for module ALL
 AthenaEventLoopMgr   INFO   ===>>>  done processing event #1, run #1 1 events processed so far  <<<===
 AthenaEventLoopMgr   INFO   ===>>>  start processing event #2, run #1 1 events processed so far  <<<===
 AthenaEventLoopMgr   INFO   ===>>>  done processing event #2, run #1 2 events processed so far  <<<===
@@ -427,23 +427,23 @@ testalg1             INFO Finalizing testalg1...
 IncidentProcAlg2     INFO Finalize
 PyComponentMgr       INFO Finalizing PyComponentMgr...
 IdDictDetDescrCnv    INFO in finalize
-IOVDbFolder          INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/170 ((     0.04 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/103344 ((     0.03 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 ((     0.02 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 ((     0.03 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/92 ((     0.02 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/940 ((     0.02 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/72 ((     0.03 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/76 ((     0.02 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/641476 ((     0.13 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/97884 ((     0.79 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 ((     0.88 ))s
-IOVDbFolder          INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/76 ((     0.06 ))s
-IOVDbFolder          INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/195 ((     0.02 ))s
-IOVDbSvc             INFO  bytes in ((      2.10 ))s
+IOVDbFolder          INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/340 ((     2.86 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104132 ((     2.12 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.88 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.79 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/116 ((     0.69 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/964 ((     0.69 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 ((     0.80 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104 ((     6.88 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/643800 ((     0.83 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/97908 ((     0.02 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/120 ((     0.02 ))s
+IOVDbFolder          INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/100 ((     0.00 ))s
+IOVDbFolder          INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.53 ))s
+IOVDbSvc             INFO  bytes in ((     17.12 ))s
 IOVDbSvc             INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: ((     0.00 ))s
-IOVDbSvc             INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     0.07 ))s
-IOVDbSvc             INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: ((     2.03 ))s
+IOVDbSvc             INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     3.38 ))s
+IOVDbSvc             INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: ((    13.74 ))s
 TileInfoLoader       INFO TileInfoLoader::finalize()
 AthDictLoaderSvc     INFO in finalize...
 ToolSvc              INFO Removing all tools created by ToolSvc
@@ -452,9 +452,9 @@ ToolSvc.tool1        INFO Finalizing
 *****Chrono*****     INFO ****************************************************************************************************
 *****Chrono*****     INFO  The Final CPU consumption ( Chrono ) Table (ordered)
 *****Chrono*****     INFO ****************************************************************************************************
-cObjR_ALL            INFO Time User   : Tot=  430 [ms] Ave/Min/Max=  215(+-  205)/   10/  420 [ms] #=  2
-cObj_ALL             INFO Time User   : Tot= 0.55  [s] Ave/Min/Max=0.0423(+-0.123)/    0/ 0.46  [s] #= 13
-ChronoStatSvc        INFO Time User   : Tot= 46.1  [s]                                             #=  1
+cObjR_ALL            INFO Time User   : Tot=  490 [ms] Ave/Min/Max=  245(+-  235)/   10/  480 [ms] #=  2
+cObj_ALL             INFO Time User   : Tot=  0.6  [s] Ave/Min/Max=0.0462(+-0.138)/    0/ 0.52  [s] #= 13
+ChronoStatSvc        INFO Time User   : Tot= 38.3  [s]                                             #=  1
 *****Chrono*****     INFO ****************************************************************************************************
 ChronoStatSvc.f...   INFO  Service finalized successfully 
 ApplicationMgr       INFO Application Manager Finalized successfully
-- 
GitLab


From 0915f0d9871bbc57931498d285f252787214025f Mon Sep 17 00:00:00 2001
From: scott snyder <snyder@bnl.gov>
Date: Sat, 26 Jan 2019 22:11:39 +0100
Subject: [PATCH 141/192] TileByteStream: Update reference files.

Fix test failures in master.
---
 .../TileBeamElemContByteStreamCnv_test.ref    | 154 +++---
 .../TileDigitsContByteStreamCnv_test.ref      | 448 ++++++++--------
 .../share/TileL2ContByteStreamCnv_test.ref    | 296 +++++-----
 .../share/TileLaserObjByteStreamCnv_test.ref  | 462 ++++++++--------
 .../share/TileMuRcvContByteStreamCnv_test.ref | 504 +++++++++---------
 .../TileRawChannelContByteStreamCnv_test.ref  | 432 +++++++--------
 6 files changed, 1148 insertions(+), 1148 deletions(-)

diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileBeamElemContByteStreamCnv_test.ref b/TileCalorimeter/TileSvc/TileByteStream/share/TileBeamElemContByteStreamCnv_test.ref
index d8f490c66023..f7dc11d9443d 100644
--- a/TileCalorimeter/TileSvc/TileByteStream/share/TileBeamElemContByteStreamCnv_test.ref
+++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileBeamElemContByteStreamCnv_test.ref
@@ -1,14 +1,14 @@
-Tue Jan 22 02:18:29 CET 2019
+Sat Jan 26 19:46:28 CET 2019
 Preloading tcmalloc_minimal.so
 Py:Athena            INFO including file "AthenaCommon/Preparation.py"
-Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-dbg] [atlas-work3/5871b6e8de] -- built on [2019-01-21T2115]
+Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-opt] [atlas-work3/5e0c78d866] -- built on [2019-01-26T1705]
 Py:Athena            INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
 Py:Athena            INFO executing ROOT6Setup
 Py:Athena            INFO including file "AthenaCommon/Execution.py"
 Py:Athena            INFO including file "TileByteStream/TileBeamElemContByteStreamCnv_test.py"
 [?1034hSetGeometryVersion.py obtained major release version 22
 Py:Athena            INFO including file "IdDictDetDescrCnv/IdDictDetDescrCnv_joboptions.py"
-Py:ConfigurableDb    INFO Read module info for 5456 configurables from 80 genConfDb files
+Py:ConfigurableDb    INFO Read module info for 5456 configurables from 76 genConfDb files
 Py:ConfigurableDb    INFO No duplicates have been found: that's good !
 EventInfoMgtInit: Got release version  Athena-22.0.1
 Py:IOVDbSvc.CondDB    INFO Setting up conditions DB access to instance OFLP200
@@ -34,7 +34,7 @@ ApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to leve
 ApplicationMgr    SUCCESS 
 ====================================================================================================================================
                                                    Welcome to ApplicationMgr (GaudiCoreSvc v30r5)
-                                          running on lxplus068.cern.ch on Tue Jan 22 02:18:58 2019
+                                          running on lxplus062.cern.ch on Sat Jan 26 19:46:52 2019
 ====================================================================================================================================
 ApplicationMgr       INFO Successfully loaded modules : AthenaServices
 ApplicationMgr       INFO Application Manager Configured successfully
@@ -51,8 +51,8 @@ PoolSvc              INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.x
 PoolSvc              INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
 PoolSvc              INFO Frontier compression level set to 5
 DBReplicaSvc         INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data
-DBReplicaSvc         INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/dbreplica.config
-DBReplicaSvc         INFO Total of 10 servers found for host lxplus068.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
+DBReplicaSvc         INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config
+DBReplicaSvc         INFO Total of 10 servers found for host lxplus062.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
 PoolSvc              INFO Successfully setup replica sorting algorithm
 PoolSvc              INFO Setting up APR FileCatalog and Streams
 PoolSvc           WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables
@@ -193,7 +193,7 @@ EndcapDMConstru...   INFO Start building EC electronics geometry
   multi-layered version of absorbers activated, mlabs == 1
 ================================================
 EndcapDMConstru...   INFO Start building EC electronics geometry
-GeoModelSvc          INFO GeoModelSvc.LArDetectorToolNV	 SZ= 28576Kb 	 Time = 1.63S
+GeoModelSvc          INFO GeoModelSvc.LArDetectorToolNV	 SZ= 23964Kb 	 Time = 0.65S
 GeoModelSvc.Til...   INFO  Entering TileDetectorTool::create()
 TileDddbManager      INFO m_tag = ATLAS-R2-2016-01-00-01
 TileDddbManager      INFO n_tiglob = 5
@@ -205,7 +205,7 @@ TileDddbManager      INFO n_tileSwitches = 1
 ClassIDSvc           INFO  getRegistryEntries: read 213 CLIDRegistry entries for module ALL
 CaloIDHelper_ID...   INFO in createObj: creating a TileID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileNeighbour_reduced.txt
+TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileNeighbour_reduced.txt
 TileHWIDDetDesc...   INFO in createObj: creating a TileHWID helper object in the detector store
 TileHWID             INFO initialize_from_dictionary 
 AtlasDetectorID      INFO initialize_from_dictionary - OK
@@ -217,9 +217,9 @@ CaloIDHelper_ID...   INFO in createObj: creating a LArHEC_ID helper object in th
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIDHelper_ID...   INFO in createObj: creating a LArFCAL_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal2DNeighbors-April2011.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsNext-April2011.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsPrev-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal2DNeighbors-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsNext-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsPrev-April2011.txt
 CaloIDHelper_ID...   INFO in createObj: creating a LArMiniFCAL_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 LArMiniFCAL_ID       INFO  initialize_from_dict - LArCalorimeter dictionary does NOT contain miniFCAL description. Unable to initialize LArMiniFCAL_ID.
@@ -250,11 +250,11 @@ GeoModelSvc.Til...   INFO                                    PLUG2  Rmin= 2981 R
 GeoModelSvc.Til...   INFO  Positioning negative ITC with translation -3405
 GeoModelSvc.Til...   INFO  Positioning negative Gap with translation -3552
 GeoModelSvc.Til...   INFO  Positioning negative Crack with translation -3536
-GeoModelSvc.Til...   INFO  Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
-GeoModelSvc.Til...   INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
-GeoModelSvc.Til...   INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) GeoModelKernelUnits::cm
+GeoModelSvc.Til...   INFO  Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) Gaudi::Units::cm
+GeoModelSvc.Til...   INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) Gaudi::Units::cm
+GeoModelSvc.Til...   INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) Gaudi::Units::cm
 TileDetDescrMan...   INFO Entering create_elements()
-GeoModelSvc          INFO GeoModelSvc.TileDetectorTool	 SZ= 4172Kb 	 Time = 1.75S
+GeoModelSvc          INFO GeoModelSvc.TileDetectorTool	 SZ= 3568Kb 	 Time = 0.25S
 ClassIDSvc           INFO  getRegistryEntries: read 65 CLIDRegistry entries for module ALL
 TileInfoLoader       INFO Initializing....TileInfoLoader
 TileInfoLoader       INFO New ATLAS geometry detected: ATLAS-R2-2016-01-00-01 (010001) version 10001
@@ -276,11 +276,11 @@ TileInfoLoader       INFO Sampling fraction for E2 cells 1/107
 TileInfoLoader       INFO Sampling fraction for E3 cells 1/97
 TileInfoLoader       INFO Sampling fraction for E4 cells 1/75
 TileInfoLoader       INFO Sampling fraction for E4' cells 1/75
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulsehi_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulselo_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_tower_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muonRcv_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muon_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulsehi_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulselo_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_tower_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muonRcv_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muon_physics.dat
 CaloIDHelper_ID...   INFO in createObj: creating a CaloLVL1_ID helper object in the detector store
 CaloLVL1_ID          INFO initialize_from_dictionary
 AtlasDetectorID      INFO initialize_from_dictionary - OK
@@ -388,12 +388,12 @@ CaloIDHelper_ID...   INFO in createObj: creating a LArHEC_SuperCell_ID helper ob
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIDHelper_ID...   INFO in createObj: creating a LArFCAL_SuperCell_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells2DNeighborsNew-April2014.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells2DNeighborsNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
 CaloIDHelper_ID...   INFO in createObj: creating a Tile_SuperCell_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileSuperCellNeighbour.txt
+TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileSuperCellNeighbour.txt
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIdMgrDetDes...   INFO  Finished 
 CaloIdMgrDetDes...   INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv 
@@ -422,7 +422,7 @@ TileBadChannels...   INFO TileBchStatus::isNoisy() is defined by: Large HF noise
 TileBadChannels...   INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; 
 TileBadChannels...   INFO TileBchStatus::isBadTiming() is defined by: Bad timing; Online bad timing; 
 TileBadChannels...   INFO No drawer trips probabilities found in DB
-ClassIDSvc           INFO  getRegistryEntries: read 2407 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 2427 CLIDRegistry entries for module ALL
 ClassIDSvc           INFO  getRegistryEntries: read 89 CLIDRegistry entries for module ALL
 ToolSvc.TileROD...   INFO TileL2Builder initialization completed
 AthenaEventLoopMgr   INFO   ===>>>  done processing event #1129572, run #204073 1 events processed so far  <<<===
@@ -640,23 +640,23 @@ IncidentProcAlg2     INFO Finalize
 EventInfoByteSt...   INFO finalize 
 PyComponentMgr       INFO Finalizing PyComponentMgr...
 IdDictDetDescrCnv    INFO in finalize
-IOVDbFolder          INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/340 ((     0.47 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104132 ((     0.62 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.51 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.51 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/116 ((     0.42 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/964 ((     0.47 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 ((     0.50 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104 ((     0.49 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/643828 ((     0.59 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/93084 ((     0.68 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/120 ((     0.53 ))s
-IOVDbFolder          INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/100 ((     0.06 ))s
-IOVDbFolder          INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.35 ))s
-IOVDbSvc             INFO  bytes in ((      6.22 ))s
+IOVDbFolder          INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/340 ((     3.69 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104132 ((     0.81 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     1.40 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.86 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/116 ((     0.88 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/964 ((     0.54 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 ((     0.52 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104 ((     0.54 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/643828 ((     3.88 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/93084 ((     0.61 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/120 ((     0.83 ))s
+IOVDbFolder          INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/100 ((     0.04 ))s
+IOVDbFolder          INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.88 ))s
+IOVDbSvc             INFO  bytes in ((     15.48 ))s
 IOVDbSvc             INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: ((     0.00 ))s
-IOVDbSvc             INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     0.82 ))s
-IOVDbSvc             INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: ((     5.40 ))s
+IOVDbSvc             INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     4.58 ))s
+IOVDbSvc             INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: ((    10.91 ))s
 TileInfoLoader       INFO TileInfoLoader::finalize()
 AthDictLoaderSvc     INFO in finalize...
 ToolSvc              INFO Removing all tools created by ToolSvc
@@ -665,18 +665,18 @@ ToolSvc.TileROD...   INFO Finalizing
 *****Chrono*****     INFO ****************************************************************************************************
 *****Chrono*****     INFO  The Final CPU consumption ( Chrono ) Table (ordered)
 *****Chrono*****     INFO ****************************************************************************************************
-cObjR_ALL            INFO Time User   : Tot= 0.77  [s] Ave/Min/Max=0.385(+-0.365)/ 0.02/ 0.75  [s] #=  2
-cObj_ALL             INFO Time User   : Tot= 0.98  [s] Ave/Min/Max=0.0754(+-0.221)/    0/ 0.83  [s] #= 13
-ChronoStatSvc        INFO Time User   : Tot= 26.5  [s]                                             #=  1
+cObjR_ALL            INFO Time User   : Tot=  450 [ms] Ave/Min/Max=  225(+-  225)/    0/  450 [ms] #=  2
+cObj_ALL             INFO Time User   : Tot= 0.55  [s] Ave/Min/Max=0.0423(+-0.128)/    0/ 0.48  [s] #= 13
+ChronoStatSvc        INFO Time User   : Tot= 10.7  [s]                                             #=  1
 *****Chrono*****     INFO ****************************************************************************************************
 ChronoStatSvc.f...   INFO  Service finalized successfully 
 ApplicationMgr       INFO Application Manager Finalized successfully
 ApplicationMgr       INFO Application Manager Terminated successfully
 Py:Athena            INFO leaving with code 0: "successful run"
-Tue Jan 22 02:19:56 CET 2019
+Sat Jan 26 19:47:37 CET 2019
 Preloading tcmalloc_minimal.so
 Py:Athena            INFO including file "AthenaCommon/Preparation.py"
-Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-dbg] [atlas-work3/5871b6e8de] -- built on [2019-01-21T2115]
+Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-opt] [atlas-work3/5e0c78d866] -- built on [2019-01-26T1705]
 Py:Athena            INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
 Py:Athena            INFO executing ROOT6Setup
 Py:Athena            INFO configuring AthenaHive with [4] concurrent threads and [4] concurrent events
@@ -685,7 +685,7 @@ Py:Athena            INFO including file "AthenaCommon/Execution.py"
 Py:Athena            INFO including file "TileByteStream/TileBeamElemContByteStreamCnv_test.py"
 [?1034hSetGeometryVersion.py obtained major release version 22
 Py:Athena            INFO including file "IdDictDetDescrCnv/IdDictDetDescrCnv_joboptions.py"
-Py:ConfigurableDb    INFO Read module info for 5456 configurables from 80 genConfDb files
+Py:ConfigurableDb    INFO Read module info for 5456 configurables from 76 genConfDb files
 Py:ConfigurableDb    INFO No duplicates have been found: that's good !
 EventInfoMgtInit: Got release version  Athena-22.0.1
 Py:IOVDbSvc.CondDB    INFO Setting up conditions DB access to instance OFLP200
@@ -712,7 +712,7 @@ MessageSvc           INFO Activating in a separate thread
 ApplicationMgr    SUCCESS 
 ====================================================================================================================================
                                                    Welcome to ApplicationMgr (GaudiCoreSvc v30r5)
-                                          running on lxplus068.cern.ch on Tue Jan 22 02:20:28 2019
+                                          running on lxplus062.cern.ch on Sat Jan 26 19:48:01 2019
 ====================================================================================================================================
 ApplicationMgr       INFO Successfully loaded modules : AthenaServices
 ApplicationMgr       INFO Application Manager Configured successfully
@@ -728,8 +728,8 @@ PoolSvc                                            INFO io_register[PoolSvc](xml
 PoolSvc                                            INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
 PoolSvc                                            INFO Frontier compression level set to 5
 DBReplicaSvc                                       INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data
-DBReplicaSvc                                       INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/dbreplica.config
-DBReplicaSvc                                       INFO Total of 10 servers found for host lxplus068.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
+DBReplicaSvc                                       INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config
+DBReplicaSvc                                       INFO Total of 10 servers found for host lxplus062.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
 PoolSvc                                            INFO Successfully setup replica sorting algorithm
 PoolSvc                                            INFO Setting up APR FileCatalog and Streams
 PoolSvc                                         WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables
@@ -871,7 +871,7 @@ EndcapDMConstruction                               INFO Start building EC electr
   multi-layered version of absorbers activated, mlabs == 1
 ================================================
 EndcapDMConstruction                               INFO Start building EC electronics geometry
-GeoModelSvc                                        INFO GeoModelSvc.LArDetectorToolNV	 SZ= 28576Kb 	 Time = 1.58S
+GeoModelSvc                                        INFO GeoModelSvc.LArDetectorToolNV	 SZ= 22940Kb 	 Time = 0.69S
 GeoModelSvc.TileDetectorTool                       INFO  Entering TileDetectorTool::create()
 TileDddbManager                                    INFO m_tag = ATLAS-R2-2016-01-00-01
 TileDddbManager                                    INFO n_tiglob = 5
@@ -883,7 +883,7 @@ TileDddbManager                                    INFO n_tileSwitches = 1
 ClassIDSvc                                         INFO  getRegistryEntries: read 213 CLIDRegistry entries for module ALL
 CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a TileID helper object in the detector store
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
-TileNeighbour                                      INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileNeighbour_reduced.txt
+TileNeighbour                                      INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileNeighbour_reduced.txt
 TileHWIDDetDescrCnv                                INFO in createObj: creating a TileHWID helper object in the detector store
 TileHWID                                           INFO initialize_from_dictionary 
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
@@ -895,9 +895,9 @@ CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
 CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a LArFCAL_ID helper object in the detector store
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal2DNeighbors-April2011.txt
-LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsNext-April2011.txt
-LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsPrev-April2011.txt
+LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal2DNeighbors-April2011.txt
+LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsNext-April2011.txt
+LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsPrev-April2011.txt
 CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a LArMiniFCAL_ID helper object in the detector store
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
 LArMiniFCAL_ID                                     INFO  initialize_from_dict - LArCalorimeter dictionary does NOT contain miniFCAL description. Unable to initialize LArMiniFCAL_ID.
@@ -928,11 +928,11 @@ GeoModelSvc.TileDetectorTool                       INFO
 GeoModelSvc.TileDetectorTool                       INFO  Positioning negative ITC with translation -3405
 GeoModelSvc.TileDetectorTool                       INFO  Positioning negative Gap with translation -3552
 GeoModelSvc.TileDetectorTool                       INFO  Positioning negative Crack with translation -3536
-GeoModelSvc.TileDetectorTool                       INFO  Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
-GeoModelSvc.TileDetectorTool                       INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
-GeoModelSvc.TileDetectorTool                       INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) GeoModelKernelUnits::cm
+GeoModelSvc.TileDetectorTool                       INFO  Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) Gaudi::Units::cm
+GeoModelSvc.TileDetectorTool                       INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) Gaudi::Units::cm
+GeoModelSvc.TileDetectorTool                       INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) Gaudi::Units::cm
 TileDetDescrManager                                INFO Entering create_elements()
-GeoModelSvc                                        INFO GeoModelSvc.TileDetectorTool	 SZ= 4172Kb 	 Time = 1.76S
+GeoModelSvc                                        INFO GeoModelSvc.TileDetectorTool	 SZ= 4592Kb 	 Time = 0.21S
 ClassIDSvc                                         INFO  getRegistryEntries: read 65 CLIDRegistry entries for module ALL
 TileInfoLoader                                     INFO Initializing....TileInfoLoader
 TileInfoLoader                                     INFO New ATLAS geometry detected: ATLAS-R2-2016-01-00-01 (010001) version 10001
@@ -954,11 +954,11 @@ TileInfoLoader                                     INFO Sampling fraction for E2
 TileInfoLoader                                     INFO Sampling fraction for E3 cells 1/97
 TileInfoLoader                                     INFO Sampling fraction for E4 cells 1/75
 TileInfoLoader                                     INFO Sampling fraction for E4' cells 1/75
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulsehi_physics.dat
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulselo_physics.dat
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_tower_physics.dat
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muonRcv_physics.dat
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muon_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulsehi_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulselo_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_tower_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muonRcv_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muon_physics.dat
 CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a CaloLVL1_ID helper object in the detector store
 CaloLVL1_ID                                        INFO initialize_from_dictionary
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
@@ -1078,12 +1078,12 @@ CaloIDHelper_IDDetDescrCnv              0   0      INFO in createObj: creating a
 AtlasDetectorID                         0   0      INFO initialize_from_dictionary - OK
 CaloIDHelper_IDDetDescrCnv              0   0      INFO in createObj: creating a LArFCAL_SuperCell_ID helper object in the detector store
 AtlasDetectorID                         0   0      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells2DNeighborsNew-April2014.txt
-LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
-LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
+LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells2DNeighborsNew-April2014.txt
+LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
+LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
 CaloIDHelper_IDDetDescrCnv              0   0      INFO in createObj: creating a Tile_SuperCell_ID helper object in the detector store
 AtlasDetectorID                         0   0      INFO initialize_from_dictionary - OK
-TileNeighbour                           0   0      INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileSuperCellNeighbour.txt
+TileNeighbour                           0   0      INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileSuperCellNeighbour.txt
 AtlasDetectorID                         0   0      INFO initialize_from_dictionary - OK
 CaloIdMgrDetDescrCnv                    0   0      INFO  Finished 
 CaloIdMgrDetDescrCnv                    0   0      INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv 
@@ -1091,7 +1091,7 @@ Domain[ROOT_All]                        0   0      INFO ->  Access   DbDatabase
 Domain[ROOT_All]                        0   0      INFO                           /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root
 RootDatabase.open                       0   0      INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root File version:52200
 AthenaHiveEventLoopMgr                  0   0      INFO   ===>>>  start processing event #1129572, run #204073 on slot 0,  0 events processed so far  <<<===
-ClassIDSvc                              0   0      INFO  getRegistryEntries: read 650 CLIDRegistry entries for module ALL
+ClassIDSvc                              0   0      INFO  getRegistryEntries: read 670 CLIDRegistry entries for module ALL
 ClassIDSvc                              0   0      INFO  getRegistryEntries: read 1757 CLIDRegistry entries for module ALL
 ClassIDSvc                              0   0      INFO  getRegistryEntries: read 89 CLIDRegistry entries for module ALL
 ToolSvc.TileROD_Decoder.TileROD_L2Bui...0   0      INFO TileL2Builder initialization completed
@@ -1294,7 +1294,7 @@ AthenaHiveEventLoopMgr                             INFO   ===>>>  done processin
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148893, run #204073 on slot 0,  98 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1156938, run #204073 on slot 1,  99 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1156351, run #204073 on slot 3,  100 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO ---> Loop Finished (seconds): 25.7376
+AthenaHiveEventLoopMgr                             INFO ---> Loop Finished (seconds): 14.0322
 /cvmfs/atlas-condb.cern.ch/repo/condi...           INFO Database being retired...
 Domain[ROOT_All]                                   INFO ->  Deaccess DbDatabase   READ      [ROOT_All] 06C9EAE8-6F5B-E011-BAAA-003048F0E7AC
 /cvmfs/atlas-condb.cern.ch/repo/condi...           INFO Database being retired...
@@ -1312,7 +1312,7 @@ AvalancheSchedulerSvc                              INFO Joining Scheduler thread
 PyComponentMgr                                     INFO Finalizing PyComponentMgr...
 IdDictDetDescrCnv                                  INFO in finalize
 EventDataSvc                                       INFO Finalizing EventDataSvc - package version StoreGate-00-00-00
-IOVDbFolder                                        INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/340 ((     0.56 ))s
+IOVDbFolder                                        INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/340 ((     0.68 ))s
 IOVDbFolder                                        INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
 IOVDbFolder                                        INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
 IOVDbFolder                                        INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
@@ -1324,10 +1324,10 @@ IOVDbFolder                                        INFO Folder /TILE/OFL02/NOISE
 IOVDbFolder                                        INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
 IOVDbFolder                                        INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
 IOVDbFolder                                        INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
-IOVDbFolder                                        INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.46 ))s
-IOVDbSvc                                           INFO  bytes in ((      1.02 ))s
+IOVDbFolder                                        INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.45 ))s
+IOVDbSvc                                           INFO  bytes in ((      1.13 ))s
 IOVDbSvc                                           INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: ((     0.00 ))s
-IOVDbSvc                                           INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     1.02 ))s
+IOVDbSvc                                           INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     1.13 ))s
 IOVDbSvc                                           INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 1 nFolders: 11 ReadTime: ((     0.00 ))s
 TileInfoLoader                                     INFO TileInfoLoader::finalize()
 AthDictLoaderSvc                                   INFO in finalize...
@@ -1337,9 +1337,9 @@ ToolSvc.TileROD_Decoder.TileROD_L2Bui...           INFO Finalizing
 *****Chrono*****                                   INFO ****************************************************************************************************
 *****Chrono*****                                   INFO  The Final CPU consumption ( Chrono ) Table (ordered)
 *****Chrono*****                                   INFO ****************************************************************************************************
-cObjR_ALL                                          INFO Time User   : Tot= 0.83  [s] Ave/Min/Max=0.415(+-0.395)/ 0.02/ 0.81  [s] #=  2
-cObj_ALL                                           INFO Time User   : Tot= 1.04  [s] Ave/Min/Max= 0.52(+- 0.37)/ 0.15/ 0.89  [s] #=  2
-ChronoStatSvc                                      INFO Time User   : Tot= 24.7  [s]                                             #=  1
+cObjR_ALL                                          INFO Time User   : Tot= 0.61  [s] Ave/Min/Max=0.305(+-0.295)/ 0.01/  0.6  [s] #=  2
+cObj_ALL                                           INFO Time User   : Tot= 0.76  [s] Ave/Min/Max= 0.38(+- 0.29)/ 0.09/ 0.67  [s] #=  2
+ChronoStatSvc                                      INFO Time User   : Tot= 9.34  [s]                                             #=  1
 *****Chrono*****                                   INFO ****************************************************************************************************
 ChronoStatSvc.finalize()                           INFO  Service finalized successfully 
 ApplicationMgr                                     INFO Application Manager Finalized successfully
diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileDigitsContByteStreamCnv_test.ref b/TileCalorimeter/TileSvc/TileByteStream/share/TileDigitsContByteStreamCnv_test.ref
index e224592ce7f2..b7f8a49bb44c 100644
--- a/TileCalorimeter/TileSvc/TileByteStream/share/TileDigitsContByteStreamCnv_test.ref
+++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileDigitsContByteStreamCnv_test.ref
@@ -1,14 +1,14 @@
-Tue Jan 22 03:53:23 CET 2019
+Sat Jan 26 19:51:16 CET 2019
 Preloading tcmalloc_minimal.so
 Py:Athena            INFO including file "AthenaCommon/Preparation.py"
-Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-dbg] [atlas-work3/5871b6e8de] -- built on [2019-01-21T2115]
+Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-opt] [atlas-work3/5e0c78d866] -- built on [2019-01-26T1705]
 Py:Athena            INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
 Py:Athena            INFO executing ROOT6Setup
 Py:Athena            INFO including file "AthenaCommon/Execution.py"
 Py:Athena            INFO including file "TileByteStream/TileDigitsContByteStreamCnv_test.py"
 [?1034hSetGeometryVersion.py obtained major release version 22
 Py:Athena            INFO including file "IdDictDetDescrCnv/IdDictDetDescrCnv_joboptions.py"
-Py:ConfigurableDb    INFO Read module info for 5456 configurables from 80 genConfDb files
+Py:ConfigurableDb    INFO Read module info for 5456 configurables from 76 genConfDb files
 Py:ConfigurableDb    INFO No duplicates have been found: that's good !
 EventInfoMgtInit: Got release version  Athena-22.0.1
 Py:IOVDbSvc.CondDB    INFO Setting up conditions DB access to instance OFLP200
@@ -34,7 +34,7 @@ ApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to leve
 ApplicationMgr    SUCCESS 
 ====================================================================================================================================
                                                    Welcome to ApplicationMgr (GaudiCoreSvc v30r5)
-                                          running on lxplus068.cern.ch on Tue Jan 22 03:53:53 2019
+                                          running on lxplus062.cern.ch on Sat Jan 26 19:51:38 2019
 ====================================================================================================================================
 ApplicationMgr       INFO Successfully loaded modules : AthenaServices
 ApplicationMgr       INFO Application Manager Configured successfully
@@ -51,8 +51,8 @@ PoolSvc              INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.x
 PoolSvc              INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
 PoolSvc              INFO Frontier compression level set to 5
 DBReplicaSvc         INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data
-DBReplicaSvc         INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/dbreplica.config
-DBReplicaSvc         INFO Total of 10 servers found for host lxplus068.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
+DBReplicaSvc         INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config
+DBReplicaSvc         INFO Total of 10 servers found for host lxplus062.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
 PoolSvc              INFO Successfully setup replica sorting algorithm
 PoolSvc              INFO Setting up APR FileCatalog and Streams
 PoolSvc           WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables
@@ -193,7 +193,7 @@ EndcapDMConstru...   INFO Start building EC electronics geometry
   multi-layered version of absorbers activated, mlabs == 1
 ================================================
 EndcapDMConstru...   INFO Start building EC electronics geometry
-GeoModelSvc          INFO GeoModelSvc.LArDetectorToolNV	 SZ= 28576Kb 	 Time = 1.62S
+GeoModelSvc          INFO GeoModelSvc.LArDetectorToolNV	 SZ= 23964Kb 	 Time = 0.68S
 GeoModelSvc.Til...   INFO  Entering TileDetectorTool::create()
 TileDddbManager      INFO m_tag = ATLAS-R2-2016-01-00-01
 TileDddbManager      INFO n_tiglob = 5
@@ -205,7 +205,7 @@ TileDddbManager      INFO n_tileSwitches = 1
 ClassIDSvc           INFO  getRegistryEntries: read 213 CLIDRegistry entries for module ALL
 CaloIDHelper_ID...   INFO in createObj: creating a TileID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileNeighbour_reduced.txt
+TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileNeighbour_reduced.txt
 TileHWIDDetDesc...   INFO in createObj: creating a TileHWID helper object in the detector store
 TileHWID             INFO initialize_from_dictionary 
 AtlasDetectorID      INFO initialize_from_dictionary - OK
@@ -217,9 +217,9 @@ CaloIDHelper_ID...   INFO in createObj: creating a LArHEC_ID helper object in th
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIDHelper_ID...   INFO in createObj: creating a LArFCAL_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal2DNeighbors-April2011.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsNext-April2011.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsPrev-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal2DNeighbors-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsNext-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsPrev-April2011.txt
 CaloIDHelper_ID...   INFO in createObj: creating a LArMiniFCAL_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 LArMiniFCAL_ID       INFO  initialize_from_dict - LArCalorimeter dictionary does NOT contain miniFCAL description. Unable to initialize LArMiniFCAL_ID.
@@ -250,11 +250,11 @@ GeoModelSvc.Til...   INFO                                    PLUG2  Rmin= 2981 R
 GeoModelSvc.Til...   INFO  Positioning negative ITC with translation -3405
 GeoModelSvc.Til...   INFO  Positioning negative Gap with translation -3552
 GeoModelSvc.Til...   INFO  Positioning negative Crack with translation -3536
-GeoModelSvc.Til...   INFO  Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
-GeoModelSvc.Til...   INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
-GeoModelSvc.Til...   INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) GeoModelKernelUnits::cm
+GeoModelSvc.Til...   INFO  Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) Gaudi::Units::cm
+GeoModelSvc.Til...   INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) Gaudi::Units::cm
+GeoModelSvc.Til...   INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) Gaudi::Units::cm
 TileDetDescrMan...   INFO Entering create_elements()
-GeoModelSvc          INFO GeoModelSvc.TileDetectorTool	 SZ= 4172Kb 	 Time = 1.7S
+GeoModelSvc          INFO GeoModelSvc.TileDetectorTool	 SZ= 3568Kb 	 Time = 0.28S
 ClassIDSvc           INFO  getRegistryEntries: read 65 CLIDRegistry entries for module ALL
 TileInfoLoader       INFO Initializing....TileInfoLoader
 TileInfoLoader       INFO New ATLAS geometry detected: ATLAS-R2-2016-01-00-01 (010001) version 10001
@@ -276,11 +276,11 @@ TileInfoLoader       INFO Sampling fraction for E2 cells 1/107
 TileInfoLoader       INFO Sampling fraction for E3 cells 1/97
 TileInfoLoader       INFO Sampling fraction for E4 cells 1/75
 TileInfoLoader       INFO Sampling fraction for E4' cells 1/75
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulsehi_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulselo_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_tower_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muonRcv_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muon_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulsehi_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulselo_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_tower_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muonRcv_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muon_physics.dat
 CaloIDHelper_ID...   INFO in createObj: creating a CaloLVL1_ID helper object in the detector store
 CaloLVL1_ID          INFO initialize_from_dictionary
 AtlasDetectorID      INFO initialize_from_dictionary - OK
@@ -388,12 +388,12 @@ CaloIDHelper_ID...   INFO in createObj: creating a LArHEC_SuperCell_ID helper ob
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIDHelper_ID...   INFO in createObj: creating a LArFCAL_SuperCell_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells2DNeighborsNew-April2014.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells2DNeighborsNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
 CaloIDHelper_ID...   INFO in createObj: creating a Tile_SuperCell_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileSuperCellNeighbour.txt
+TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileSuperCellNeighbour.txt
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIdMgrDetDes...   INFO  Finished 
 CaloIdMgrDetDes...   INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv 
@@ -422,7 +422,7 @@ TileBadChannels...   INFO TileBchStatus::isNoisy() is defined by: Large HF noise
 TileBadChannels...   INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; 
 TileBadChannels...   INFO TileBchStatus::isBadTiming() is defined by: Bad timing; Online bad timing; 
 TileBadChannels...   INFO No drawer trips probabilities found in DB
-ClassIDSvc           INFO  getRegistryEntries: read 2407 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 2427 CLIDRegistry entries for module ALL
 ClassIDSvc           INFO  getRegistryEntries: read 89 CLIDRegistry entries for module ALL
 ToolSvc.TileROD...   INFO TileL2Builder initialization completed
 ToolSvc.TileDig...   INFO Initializing TileDigitsContByteStreamTool
@@ -641,23 +641,23 @@ IncidentProcAlg2     INFO Finalize
 EventInfoByteSt...   INFO finalize 
 PyComponentMgr       INFO Finalizing PyComponentMgr...
 IdDictDetDescrCnv    INFO in finalize
-IOVDbFolder          INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/340 ((     0.23 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104132 ((     0.69 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.05 ))s
+IOVDbFolder          INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/340 ((     0.16 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104132 ((     0.17 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.10 ))s
 IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.05 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/116 ((     0.05 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/116 ((     0.03 ))s
 IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/964 ((     0.06 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 ((     0.07 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104 ((     0.05 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/643828 ((     0.14 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/93084 ((     0.44 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/120 ((     0.66 ))s
-IOVDbFolder          INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/100 ((     0.04 ))s
-IOVDbFolder          INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.02 ))s
-IOVDbSvc             INFO  bytes in ((      2.55 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 ((     0.15 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104 ((     0.06 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/643828 ((     0.25 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/93084 ((     0.08 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/120 ((     0.04 ))s
+IOVDbFolder          INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/100 ((     0.01 ))s
+IOVDbFolder          INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.03 ))s
+IOVDbSvc             INFO  bytes in ((      1.18 ))s
 IOVDbSvc             INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: ((     0.00 ))s
-IOVDbSvc             INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     0.25 ))s
-IOVDbSvc             INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: ((     2.30 ))s
+IOVDbSvc             INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     0.18 ))s
+IOVDbSvc             INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: ((     0.99 ))s
 TileInfoLoader       INFO TileInfoLoader::finalize()
 AthDictLoaderSvc     INFO in finalize...
 ToolSvc              INFO Removing all tools created by ToolSvc
@@ -667,18 +667,18 @@ ToolSvc.TileROD...   INFO Finalizing
 *****Chrono*****     INFO ****************************************************************************************************
 *****Chrono*****     INFO  The Final CPU consumption ( Chrono ) Table (ordered)
 *****Chrono*****     INFO ****************************************************************************************************
-cObjR_ALL            INFO Time User   : Tot= 0.85  [s] Ave/Min/Max=0.425(+-0.395)/ 0.03/ 0.82  [s] #=  2
-cObj_ALL             INFO Time User   : Tot= 1.05  [s] Ave/Min/Max=0.0808(+- 0.24)/    0/  0.9  [s] #= 13
-ChronoStatSvc        INFO Time User   : Tot= 30.1  [s]                                             #=  1
+cObjR_ALL            INFO Time User   : Tot=  460 [ms] Ave/Min/Max=  230(+-  220)/   10/  450 [ms] #=  2
+cObj_ALL             INFO Time User   : Tot= 0.57  [s] Ave/Min/Max=0.0438(+-0.131)/    0/ 0.49  [s] #= 13
+ChronoStatSvc        INFO Time User   : Tot= 11.1  [s]                                             #=  1
 *****Chrono*****     INFO ****************************************************************************************************
 ChronoStatSvc.f...   INFO  Service finalized successfully 
 ApplicationMgr       INFO Application Manager Finalized successfully
 ApplicationMgr       INFO Application Manager Terminated successfully
 Py:Athena            INFO leaving with code 0: "successful run"
-Tue Jan 22 03:54:55 CET 2019
+Sat Jan 26 19:52:07 CET 2019
 Preloading tcmalloc_minimal.so
 Py:Athena            INFO including file "AthenaCommon/Preparation.py"
-Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-dbg] [atlas-work3/5871b6e8de] -- built on [2019-01-21T2115]
+Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-opt] [atlas-work3/5e0c78d866] -- built on [2019-01-26T1705]
 Py:Athena            INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
 Py:Athena            INFO executing ROOT6Setup
 Py:Athena            INFO configuring AthenaHive with [4] concurrent threads and [4] concurrent events
@@ -687,7 +687,7 @@ Py:Athena            INFO including file "AthenaCommon/Execution.py"
 Py:Athena            INFO including file "TileByteStream/TileDigitsContByteStreamCnv_test.py"
 [?1034hSetGeometryVersion.py obtained major release version 22
 Py:Athena            INFO including file "IdDictDetDescrCnv/IdDictDetDescrCnv_joboptions.py"
-Py:ConfigurableDb    INFO Read module info for 5456 configurables from 80 genConfDb files
+Py:ConfigurableDb    INFO Read module info for 5456 configurables from 76 genConfDb files
 Py:ConfigurableDb    INFO No duplicates have been found: that's good !
 EventInfoMgtInit: Got release version  Athena-22.0.1
 Py:IOVDbSvc.CondDB    INFO Setting up conditions DB access to instance OFLP200
@@ -714,7 +714,7 @@ MessageSvc           INFO Activating in a separate thread
 ApplicationMgr    SUCCESS 
 ====================================================================================================================================
                                                    Welcome to ApplicationMgr (GaudiCoreSvc v30r5)
-                                          running on lxplus068.cern.ch on Tue Jan 22 03:55:27 2019
+                                          running on lxplus062.cern.ch on Sat Jan 26 19:52:24 2019
 ====================================================================================================================================
 ApplicationMgr       INFO Successfully loaded modules : AthenaServices
 ApplicationMgr       INFO Application Manager Configured successfully
@@ -730,8 +730,8 @@ PoolSvc                                            INFO io_register[PoolSvc](xml
 PoolSvc                                            INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
 PoolSvc                                            INFO Frontier compression level set to 5
 DBReplicaSvc                                       INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data
-DBReplicaSvc                                       INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/dbreplica.config
-DBReplicaSvc                                       INFO Total of 10 servers found for host lxplus068.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
+DBReplicaSvc                                       INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config
+DBReplicaSvc                                       INFO Total of 10 servers found for host lxplus062.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
 PoolSvc                                            INFO Successfully setup replica sorting algorithm
 PoolSvc                                            INFO Setting up APR FileCatalog and Streams
 PoolSvc                                         WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables
@@ -873,7 +873,7 @@ EndcapDMConstruction                               INFO Start building EC electr
   multi-layered version of absorbers activated, mlabs == 1
 ================================================
 EndcapDMConstruction                               INFO Start building EC electronics geometry
-GeoModelSvc                                        INFO GeoModelSvc.LArDetectorToolNV	 SZ= 28576Kb 	 Time = 1.64S
+GeoModelSvc                                        INFO GeoModelSvc.LArDetectorToolNV	 SZ= 22940Kb 	 Time = 0.69S
 GeoModelSvc.TileDetectorTool                       INFO  Entering TileDetectorTool::create()
 TileDddbManager                                    INFO m_tag = ATLAS-R2-2016-01-00-01
 TileDddbManager                                    INFO n_tiglob = 5
@@ -885,7 +885,7 @@ TileDddbManager                                    INFO n_tileSwitches = 1
 ClassIDSvc                                         INFO  getRegistryEntries: read 213 CLIDRegistry entries for module ALL
 CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a TileID helper object in the detector store
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
-TileNeighbour                                      INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileNeighbour_reduced.txt
+TileNeighbour                                      INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileNeighbour_reduced.txt
 TileHWIDDetDescrCnv                                INFO in createObj: creating a TileHWID helper object in the detector store
 TileHWID                                           INFO initialize_from_dictionary 
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
@@ -897,9 +897,9 @@ CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
 CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a LArFCAL_ID helper object in the detector store
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal2DNeighbors-April2011.txt
-LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsNext-April2011.txt
-LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsPrev-April2011.txt
+LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal2DNeighbors-April2011.txt
+LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsNext-April2011.txt
+LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsPrev-April2011.txt
 CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a LArMiniFCAL_ID helper object in the detector store
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
 LArMiniFCAL_ID                                     INFO  initialize_from_dict - LArCalorimeter dictionary does NOT contain miniFCAL description. Unable to initialize LArMiniFCAL_ID.
@@ -930,11 +930,11 @@ GeoModelSvc.TileDetectorTool                       INFO
 GeoModelSvc.TileDetectorTool                       INFO  Positioning negative ITC with translation -3405
 GeoModelSvc.TileDetectorTool                       INFO  Positioning negative Gap with translation -3552
 GeoModelSvc.TileDetectorTool                       INFO  Positioning negative Crack with translation -3536
-GeoModelSvc.TileDetectorTool                       INFO  Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
-GeoModelSvc.TileDetectorTool                       INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
-GeoModelSvc.TileDetectorTool                       INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) GeoModelKernelUnits::cm
+GeoModelSvc.TileDetectorTool                       INFO  Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) Gaudi::Units::cm
+GeoModelSvc.TileDetectorTool                       INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) Gaudi::Units::cm
+GeoModelSvc.TileDetectorTool                       INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) Gaudi::Units::cm
 TileDetDescrManager                                INFO Entering create_elements()
-GeoModelSvc                                        INFO GeoModelSvc.TileDetectorTool	 SZ= 4172Kb 	 Time = 1.86S
+GeoModelSvc                                        INFO GeoModelSvc.TileDetectorTool	 SZ= 4592Kb 	 Time = 0.24S
 ClassIDSvc                                         INFO  getRegistryEntries: read 65 CLIDRegistry entries for module ALL
 TileInfoLoader                                     INFO Initializing....TileInfoLoader
 TileInfoLoader                                     INFO New ATLAS geometry detected: ATLAS-R2-2016-01-00-01 (010001) version 10001
@@ -956,11 +956,11 @@ TileInfoLoader                                     INFO Sampling fraction for E2
 TileInfoLoader                                     INFO Sampling fraction for E3 cells 1/97
 TileInfoLoader                                     INFO Sampling fraction for E4 cells 1/75
 TileInfoLoader                                     INFO Sampling fraction for E4' cells 1/75
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulsehi_physics.dat
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulselo_physics.dat
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_tower_physics.dat
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muonRcv_physics.dat
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muon_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulsehi_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulselo_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_tower_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muonRcv_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muon_physics.dat
 CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a CaloLVL1_ID helper object in the detector store
 CaloLVL1_ID                                        INFO initialize_from_dictionary
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
@@ -1083,12 +1083,12 @@ CaloIDHelper_IDDetDescrCnv              0   0      INFO in createObj: creating a
 AtlasDetectorID                         0   0      INFO initialize_from_dictionary - OK
 CaloIDHelper_IDDetDescrCnv              0   0      INFO in createObj: creating a LArFCAL_SuperCell_ID helper object in the detector store
 AtlasDetectorID                         0   0      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells2DNeighborsNew-April2014.txt
-LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
-LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
+LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells2DNeighborsNew-April2014.txt
+LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
+LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
 CaloIDHelper_IDDetDescrCnv              0   0      INFO in createObj: creating a Tile_SuperCell_ID helper object in the detector store
 AtlasDetectorID                         0   0      INFO initialize_from_dictionary - OK
-TileNeighbour                           0   0      INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileSuperCellNeighbour.txt
+TileNeighbour                           0   0      INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileSuperCellNeighbour.txt
 AtlasDetectorID                         0   0      INFO initialize_from_dictionary - OK
 CaloIdMgrDetDescrCnv                    0   0      INFO  Finished 
 CaloIdMgrDetDescrCnv                    0   0      INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv 
@@ -1096,7 +1096,7 @@ Domain[ROOT_All]                        0   0      INFO ->  Access   DbDatabase
 Domain[ROOT_All]                        0   0      INFO                           /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root
 RootDatabase.open                       0   0      INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root File version:52200
 AthenaHiveEventLoopMgr                  0   0      INFO   ===>>>  start processing event #1129572, run #204073 on slot 0,  0 events processed so far  <<<===
-ClassIDSvc                              0   0      INFO  getRegistryEntries: read 650 CLIDRegistry entries for module ALL
+ClassIDSvc                              0   0      INFO  getRegistryEntries: read 670 CLIDRegistry entries for module ALL
 SGInputLoader                           0   0   WARNING unable to find proxy for  ( 'TileDigitsContainer' , 'StoreGateSvc+MuRcvDigitsCnt' ) 
 ClassIDSvc                              0   0      INFO  getRegistryEntries: read 1757 CLIDRegistry entries for module ALL
 ClassIDSvc                              0   0      INFO  getRegistryEntries: read 89 CLIDRegistry entries for module ALL
@@ -1108,147 +1108,147 @@ AthenaHiveEventLoopMgr                  2   2      INFO   ===>>>  start processi
 SGInputLoader                           2   2   WARNING unable to find proxy for  ( 'TileDigitsContainer' , 'StoreGateSvc+MuRcvDigitsCnt' ) 
 AthenaHiveEventLoopMgr                  3   3      INFO   ===>>>  start processing event #1131086, run #204073 on slot 3,  0 events processed so far  <<<===
 SGInputLoader                           3   3   WARNING unable to find proxy for  ( 'TileDigitsContainer' , 'StoreGateSvc+MuRcvDigitsCnt' ) 
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1129665, run #204073 on slot 1,  1 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1129572, run #204073 on slot 0,  2 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  4   0      INFO   ===>>>  start processing event #1130272, run #204073 on slot 0,  2 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  5   1      INFO   ===>>>  start processing event #1131269, run #204073 on slot 1,  2 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1129572, run #204073 on slot 0,  1 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1129665, run #204073 on slot 1,  2 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1131212, run #204073 on slot 2,  3 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  4   0      INFO   ===>>>  start processing event #1130272, run #204073 on slot 0,  3 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  5   1      INFO   ===>>>  start processing event #1131269, run #204073 on slot 1,  3 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  6   2      INFO   ===>>>  start processing event #1130716, run #204073 on slot 2,  3 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1131086, run #204073 on slot 3,  4 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  6   2      INFO   ===>>>  start processing event #1130716, run #204073 on slot 2,  4 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  7   3      INFO   ===>>>  start processing event #1132019, run #204073 on slot 3,  4 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1130272, run #204073 on slot 0,  5 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1131269, run #204073 on slot 1,  6 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  7   0      INFO   ===>>>  start processing event #1132019, run #204073 on slot 0,  6 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  8   1      INFO   ===>>>  start processing event #1132092, run #204073 on slot 1,  6 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  9   3      INFO   ===>>>  start processing event #1130238, run #204073 on slot 3,  6 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1130716, run #204073 on slot 2,  7 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  8   0      INFO   ===>>>  start processing event #1132092, run #204073 on slot 0,  7 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  9   1      INFO   ===>>>  start processing event #1130238, run #204073 on slot 1,  7 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  10  2      INFO   ===>>>  start processing event #1134553, run #204073 on slot 2,  7 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132019, run #204073 on slot 3,  8 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132092, run #204073 on slot 0,  9 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1130238, run #204073 on slot 1,  10 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  11  0      INFO   ===>>>  start processing event #1130999, run #204073 on slot 0,  10 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  12  1      INFO   ===>>>  start processing event #1133461, run #204073 on slot 1,  10 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  13  3      INFO   ===>>>  start processing event #1131152, run #204073 on slot 3,  10 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1134553, run #204073 on slot 2,  11 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1130999, run #204073 on slot 0,  12 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1133461, run #204073 on slot 1,  13 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  14  0      INFO   ===>>>  start processing event #1130142, run #204073 on slot 0,  13 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  15  1      INFO   ===>>>  start processing event #1132770, run #204073 on slot 1,  13 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132019, run #204073 on slot 0,  8 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  10  0      INFO   ===>>>  start processing event #1134553, run #204073 on slot 0,  8 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  11  2      INFO   ===>>>  start processing event #1130999, run #204073 on slot 2,  8 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132092, run #204073 on slot 1,  9 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1130238, run #204073 on slot 3,  10 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1134553, run #204073 on slot 0,  11 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  12  0      INFO   ===>>>  start processing event #1133461, run #204073 on slot 0,  11 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  13  1      INFO   ===>>>  start processing event #1131152, run #204073 on slot 1,  11 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  14  3      INFO   ===>>>  start processing event #1130142, run #204073 on slot 3,  11 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1130999, run #204073 on slot 2,  12 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1133461, run #204073 on slot 0,  13 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  15  0      INFO   ===>>>  start processing event #1132770, run #204073 on slot 0,  13 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  16  2      INFO   ===>>>  start processing event #1132365, run #204073 on slot 2,  13 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1131152, run #204073 on slot 3,  14 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1130142, run #204073 on slot 0,  15 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132770, run #204073 on slot 1,  16 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1131152, run #204073 on slot 1,  14 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1130142, run #204073 on slot 3,  15 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132770, run #204073 on slot 0,  16 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  17  0      INFO   ===>>>  start processing event #1136791, run #204073 on slot 0,  16 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  18  1      INFO   ===>>>  start processing event #1133781, run #204073 on slot 1,  16 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  19  3      INFO   ===>>>  start processing event #1132067, run #204073 on slot 3,  16 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132365, run #204073 on slot 2,  17 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  20  2      INFO   ===>>>  start processing event #1138637, run #204073 on slot 2,  17 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1136791, run #204073 on slot 0,  18 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  20  0      INFO   ===>>>  start processing event #1138637, run #204073 on slot 0,  18 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  21  2      INFO   ===>>>  start processing event #1139495, run #204073 on slot 2,  18 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1133781, run #204073 on slot 1,  19 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132067, run #204073 on slot 3,  20 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  21  0      INFO   ===>>>  start processing event #1139495, run #204073 on slot 0,  20 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  22  1      INFO   ===>>>  start processing event #1140193, run #204073 on slot 1,  20 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  23  3      INFO   ===>>>  start processing event #1142953, run #204073 on slot 3,  20 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138637, run #204073 on slot 0,  21 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139495, run #204073 on slot 2,  22 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138637, run #204073 on slot 2,  21 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  24  2      INFO   ===>>>  start processing event #1139127, run #204073 on slot 2,  21 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139495, run #204073 on slot 0,  22 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1140193, run #204073 on slot 1,  23 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  24  0      INFO   ===>>>  start processing event #1139127, run #204073 on slot 0,  23 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  25  1      INFO   ===>>>  start processing event #1141272, run #204073 on slot 1,  23 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  26  2      INFO   ===>>>  start processing event #1137117, run #204073 on slot 2,  23 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142953, run #204073 on slot 3,  24 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139127, run #204073 on slot 0,  25 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  27  0      INFO   ===>>>  start processing event #1139599, run #204073 on slot 0,  25 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  28  3      INFO   ===>>>  start processing event #1140314, run #204073 on slot 3,  25 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1141272, run #204073 on slot 1,  26 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  29  1      INFO   ===>>>  start processing event #1133685, run #204073 on slot 1,  26 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137117, run #204073 on slot 2,  27 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139599, run #204073 on slot 0,  28 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1140314, run #204073 on slot 3,  29 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  30  0      INFO   ===>>>  start processing event #1143279, run #204073 on slot 0,  29 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  31  2      INFO   ===>>>  start processing event #1137563, run #204073 on slot 2,  29 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  32  3      INFO   ===>>>  start processing event #1139927, run #204073 on slot 3,  29 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1133685, run #204073 on slot 1,  30 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143279, run #204073 on slot 0,  31 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  33  0      INFO   ===>>>  start processing event #1141197, run #204073 on slot 0,  31 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  34  1      INFO   ===>>>  start processing event #1140039, run #204073 on slot 1,  31 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137563, run #204073 on slot 2,  32 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139927, run #204073 on slot 3,  33 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  35  2      INFO   ===>>>  start processing event #1142531, run #204073 on slot 2,  33 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  36  3      INFO   ===>>>  start processing event #1139475, run #204073 on slot 3,  33 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1141197, run #204073 on slot 0,  34 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1140039, run #204073 on slot 1,  35 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  37  0      INFO   ===>>>  start processing event #1139958, run #204073 on slot 0,  35 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  38  1      INFO   ===>>>  start processing event #1143765, run #204073 on slot 1,  35 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142531, run #204073 on slot 2,  36 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139475, run #204073 on slot 3,  37 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  39  2      INFO   ===>>>  start processing event #1143097, run #204073 on slot 2,  37 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  40  3      INFO   ===>>>  start processing event #1134147, run #204073 on slot 3,  37 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139958, run #204073 on slot 0,  38 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143765, run #204073 on slot 1,  39 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  41  0      INFO   ===>>>  start processing event #1137156, run #204073 on slot 0,  39 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  42  1      INFO   ===>>>  start processing event #1136377, run #204073 on slot 1,  39 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143097, run #204073 on slot 2,  40 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  43  2      INFO   ===>>>  start processing event #1137842, run #204073 on slot 2,  40 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1134147, run #204073 on slot 3,  41 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  25  0      INFO   ===>>>  start processing event #1141272, run #204073 on slot 0,  24 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  26  1      INFO   ===>>>  start processing event #1137117, run #204073 on slot 1,  24 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  27  3      INFO   ===>>>  start processing event #1139599, run #204073 on slot 3,  24 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139127, run #204073 on slot 2,  25 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  28  2      INFO   ===>>>  start processing event #1140314, run #204073 on slot 2,  25 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1141272, run #204073 on slot 0,  26 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  29  0      INFO   ===>>>  start processing event #1133685, run #204073 on slot 0,  26 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137117, run #204073 on slot 1,  27 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139599, run #204073 on slot 3,  28 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  30  1      INFO   ===>>>  start processing event #1143279, run #204073 on slot 1,  28 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  31  3      INFO   ===>>>  start processing event #1137563, run #204073 on slot 3,  28 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1140314, run #204073 on slot 2,  29 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1133685, run #204073 on slot 0,  30 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143279, run #204073 on slot 1,  31 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  32  0      INFO   ===>>>  start processing event #1139927, run #204073 on slot 0,  31 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  33  1      INFO   ===>>>  start processing event #1141197, run #204073 on slot 1,  31 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  34  2      INFO   ===>>>  start processing event #1140039, run #204073 on slot 2,  31 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137563, run #204073 on slot 3,  32 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139927, run #204073 on slot 0,  33 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1141197, run #204073 on slot 1,  34 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  35  0      INFO   ===>>>  start processing event #1142531, run #204073 on slot 0,  34 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  36  1      INFO   ===>>>  start processing event #1139475, run #204073 on slot 1,  34 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  37  3      INFO   ===>>>  start processing event #1139958, run #204073 on slot 3,  34 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1140039, run #204073 on slot 2,  35 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142531, run #204073 on slot 0,  36 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139475, run #204073 on slot 1,  37 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  38  0      INFO   ===>>>  start processing event #1143765, run #204073 on slot 0,  37 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  39  1      INFO   ===>>>  start processing event #1143097, run #204073 on slot 1,  37 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  40  2      INFO   ===>>>  start processing event #1134147, run #204073 on slot 2,  37 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139958, run #204073 on slot 3,  38 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143765, run #204073 on slot 0,  39 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143097, run #204073 on slot 1,  40 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  41  0      INFO   ===>>>  start processing event #1137156, run #204073 on slot 0,  40 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  42  1      INFO   ===>>>  start processing event #1136377, run #204073 on slot 1,  40 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  43  3      INFO   ===>>>  start processing event #1137842, run #204073 on slot 3,  40 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1134147, run #204073 on slot 2,  41 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137156, run #204073 on slot 0,  42 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1136377, run #204073 on slot 1,  43 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  44  0      INFO   ===>>>  start processing event #1141705, run #204073 on slot 0,  43 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  45  1      INFO   ===>>>  start processing event #1143410, run #204073 on slot 1,  43 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  46  3      INFO   ===>>>  start processing event #1144170, run #204073 on slot 3,  43 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137842, run #204073 on slot 2,  44 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  47  2      INFO   ===>>>  start processing event #1145987, run #204073 on slot 2,  44 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  46  2      INFO   ===>>>  start processing event #1144170, run #204073 on slot 2,  43 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137842, run #204073 on slot 3,  44 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1141705, run #204073 on slot 0,  45 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143410, run #204073 on slot 1,  46 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144170, run #204073 on slot 3,  47 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  48  0      INFO   ===>>>  start processing event #1145633, run #204073 on slot 0,  47 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  49  1      INFO   ===>>>  start processing event #1135005, run #204073 on slot 1,  47 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  50  3      INFO   ===>>>  start processing event #1142167, run #204073 on slot 3,  47 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145987, run #204073 on slot 2,  48 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145633, run #204073 on slot 0,  49 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  51  0      INFO   ===>>>  start processing event #1144646, run #204073 on slot 0,  49 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  52  2      INFO   ===>>>  start processing event #1145027, run #204073 on slot 2,  49 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1135005, run #204073 on slot 1,  50 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142167, run #204073 on slot 3,  51 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  47  0      INFO   ===>>>  start processing event #1145987, run #204073 on slot 0,  46 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  48  1      INFO   ===>>>  start processing event #1145633, run #204073 on slot 1,  46 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  49  3      INFO   ===>>>  start processing event #1135005, run #204073 on slot 3,  46 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144170, run #204073 on slot 2,  47 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145987, run #204073 on slot 0,  48 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  50  0      INFO   ===>>>  start processing event #1142167, run #204073 on slot 0,  48 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  51  2      INFO   ===>>>  start processing event #1144646, run #204073 on slot 2,  48 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145633, run #204073 on slot 1,  49 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1135005, run #204073 on slot 3,  50 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142167, run #204073 on slot 0,  51 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  52  0      INFO   ===>>>  start processing event #1145027, run #204073 on slot 0,  51 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  53  1      INFO   ===>>>  start processing event #1144112, run #204073 on slot 1,  51 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  54  3      INFO   ===>>>  start processing event #1138485, run #204073 on slot 3,  51 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144646, run #204073 on slot 0,  52 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145027, run #204073 on slot 2,  53 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  55  0      INFO   ===>>>  start processing event #1144565, run #204073 on slot 0,  53 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  56  2      INFO   ===>>>  start processing event #1139498, run #204073 on slot 2,  53 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144646, run #204073 on slot 2,  52 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145027, run #204073 on slot 0,  53 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144112, run #204073 on slot 1,  54 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  55  0      INFO   ===>>>  start processing event #1144565, run #204073 on slot 0,  54 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  56  1      INFO   ===>>>  start processing event #1139498, run #204073 on slot 1,  54 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  57  2      INFO   ===>>>  start processing event #1136546, run #204073 on slot 2,  54 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138485, run #204073 on slot 3,  55 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  57  1      INFO   ===>>>  start processing event #1136546, run #204073 on slot 1,  55 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  58  3      INFO   ===>>>  start processing event #1143799, run #204073 on slot 3,  55 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144565, run #204073 on slot 0,  56 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139498, run #204073 on slot 2,  57 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  59  0      INFO   ===>>>  start processing event #1142877, run #204073 on slot 0,  57 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  60  2      INFO   ===>>>  start processing event #1149894, run #204073 on slot 2,  57 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1136546, run #204073 on slot 1,  58 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143799, run #204073 on slot 3,  59 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  61  1      INFO   ===>>>  start processing event #1145364, run #204073 on slot 1,  59 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  62  3      INFO   ===>>>  start processing event #1143770, run #204073 on slot 3,  59 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142877, run #204073 on slot 0,  60 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149894, run #204073 on slot 2,  61 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  63  0      INFO   ===>>>  start processing event #1148361, run #204073 on slot 0,  61 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  64  2      INFO   ===>>>  start processing event #1148167, run #204073 on slot 2,  61 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145364, run #204073 on slot 1,  62 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143770, run #204073 on slot 3,  63 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148361, run #204073 on slot 0,  64 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  65  0      INFO   ===>>>  start processing event #1138948, run #204073 on slot 0,  64 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  66  1      INFO   ===>>>  start processing event #1144808, run #204073 on slot 1,  64 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  67  3      INFO   ===>>>  start processing event #1145832, run #204073 on slot 3,  64 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148167, run #204073 on slot 2,  65 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138948, run #204073 on slot 0,  66 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144808, run #204073 on slot 1,  67 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  68  0      INFO   ===>>>  start processing event #1153100, run #204073 on slot 0,  67 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  69  1      INFO   ===>>>  start processing event #1142524, run #204073 on slot 1,  67 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  70  2      INFO   ===>>>  start processing event #1138294, run #204073 on slot 2,  67 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145832, run #204073 on slot 3,  68 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1153100, run #204073 on slot 0,  69 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  71  0      INFO   ===>>>  start processing event #1138350, run #204073 on slot 0,  69 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139498, run #204073 on slot 1,  57 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  58  0      INFO   ===>>>  start processing event #1143799, run #204073 on slot 0,  57 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  59  1      INFO   ===>>>  start processing event #1142877, run #204073 on slot 1,  57 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  60  3      INFO   ===>>>  start processing event #1149894, run #204073 on slot 3,  57 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1136546, run #204073 on slot 2,  58 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143799, run #204073 on slot 0,  59 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142877, run #204073 on slot 1,  60 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  61  0      INFO   ===>>>  start processing event #1145364, run #204073 on slot 0,  60 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  62  1      INFO   ===>>>  start processing event #1143770, run #204073 on slot 1,  60 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  63  2      INFO   ===>>>  start processing event #1148361, run #204073 on slot 2,  60 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149894, run #204073 on slot 3,  61 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145364, run #204073 on slot 0,  62 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143770, run #204073 on slot 1,  63 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  64  0      INFO   ===>>>  start processing event #1148167, run #204073 on slot 0,  63 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  65  1      INFO   ===>>>  start processing event #1138948, run #204073 on slot 1,  63 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  66  3      INFO   ===>>>  start processing event #1144808, run #204073 on slot 3,  63 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148361, run #204073 on slot 2,  64 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148167, run #204073 on slot 0,  65 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138948, run #204073 on slot 1,  66 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  67  0      INFO   ===>>>  start processing event #1145832, run #204073 on slot 0,  66 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  68  1      INFO   ===>>>  start processing event #1153100, run #204073 on slot 1,  66 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  69  2      INFO   ===>>>  start processing event #1142524, run #204073 on slot 2,  66 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144808, run #204073 on slot 3,  67 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145832, run #204073 on slot 0,  68 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1153100, run #204073 on slot 1,  69 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  70  0      INFO   ===>>>  start processing event #1138294, run #204073 on slot 0,  69 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  71  1      INFO   ===>>>  start processing event #1138350, run #204073 on slot 1,  69 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  72  3      INFO   ===>>>  start processing event #1149424, run #204073 on slot 3,  69 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142524, run #204073 on slot 1,  70 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138294, run #204073 on slot 2,  71 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138350, run #204073 on slot 0,  72 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142524, run #204073 on slot 2,  70 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138294, run #204073 on slot 0,  71 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138350, run #204073 on slot 1,  72 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  73  0      INFO   ===>>>  start processing event #1151102, run #204073 on slot 0,  72 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  74  1      INFO   ===>>>  start processing event #1152242, run #204073 on slot 1,  72 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  75  2      INFO   ===>>>  start processing event #1148416, run #204073 on slot 2,  72 events processed so far  <<<===
@@ -1260,51 +1260,51 @@ AthenaHiveEventLoopMgr                  77  1      INFO   ===>>>  start processi
 AthenaHiveEventLoopMgr                  78  3      INFO   ===>>>  start processing event #1151617, run #204073 on slot 3,  75 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148416, run #204073 on slot 2,  76 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142753, run #204073 on slot 0,  77 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  79  0      INFO   ===>>>  start processing event #1149794, run #204073 on slot 0,  77 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  80  2      INFO   ===>>>  start processing event #1152504, run #204073 on slot 2,  77 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149997, run #204073 on slot 1,  78 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  79  0      INFO   ===>>>  start processing event #1149794, run #204073 on slot 0,  78 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  80  1      INFO   ===>>>  start processing event #1152504, run #204073 on slot 1,  78 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  81  2      INFO   ===>>>  start processing event #1142485, run #204073 on slot 2,  78 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151617, run #204073 on slot 3,  79 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149794, run #204073 on slot 0,  80 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  81  0      INFO   ===>>>  start processing event #1142485, run #204073 on slot 0,  80 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  82  1      INFO   ===>>>  start processing event #1151364, run #204073 on slot 1,  80 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  82  0      INFO   ===>>>  start processing event #1151364, run #204073 on slot 0,  80 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  83  3      INFO   ===>>>  start processing event #1143901, run #204073 on slot 3,  80 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1152504, run #204073 on slot 2,  81 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142485, run #204073 on slot 0,  82 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  84  0      INFO   ===>>>  start processing event #1153979, run #204073 on slot 0,  82 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  85  2      INFO   ===>>>  start processing event #1150212, run #204073 on slot 2,  82 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151364, run #204073 on slot 1,  83 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1152504, run #204073 on slot 1,  81 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142485, run #204073 on slot 2,  82 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151364, run #204073 on slot 0,  83 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  84  0      INFO   ===>>>  start processing event #1153979, run #204073 on slot 0,  83 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  85  1      INFO   ===>>>  start processing event #1150212, run #204073 on slot 1,  83 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  86  2      INFO   ===>>>  start processing event #1152633, run #204073 on slot 2,  83 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143901, run #204073 on slot 3,  84 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1153979, run #204073 on slot 0,  85 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  86  0      INFO   ===>>>  start processing event #1152633, run #204073 on slot 0,  85 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  87  1      INFO   ===>>>  start processing event #1155482, run #204073 on slot 1,  85 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  88  3      INFO   ===>>>  start processing event #1150472, run #204073 on slot 3,  85 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1150212, run #204073 on slot 2,  86 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1152633, run #204073 on slot 0,  87 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  89  0      INFO   ===>>>  start processing event #1140275, run #204073 on slot 0,  87 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  90  2      INFO   ===>>>  start processing event #1145882, run #204073 on slot 2,  87 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1155482, run #204073 on slot 1,  88 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1150472, run #204073 on slot 3,  89 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1140275, run #204073 on slot 0,  90 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  91  0      INFO   ===>>>  start processing event #1151732, run #204073 on slot 0,  90 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  92  1      INFO   ===>>>  start processing event #1137896, run #204073 on slot 1,  90 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  93  3      INFO   ===>>>  start processing event #1156381, run #204073 on slot 3,  90 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145882, run #204073 on slot 2,  91 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151732, run #204073 on slot 0,  92 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137896, run #204073 on slot 1,  93 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  94  0      INFO   ===>>>  start processing event #1149161, run #204073 on slot 0,  93 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  95  1      INFO   ===>>>  start processing event #1153794, run #204073 on slot 1,  93 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  96  2      INFO   ===>>>  start processing event #1151312, run #204073 on slot 2,  93 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1156381, run #204073 on slot 3,  94 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149161, run #204073 on slot 0,  95 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1153794, run #204073 on slot 1,  96 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  97  0      INFO   ===>>>  start processing event #1148893, run #204073 on slot 0,  96 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  98  1      INFO   ===>>>  start processing event #1156938, run #204073 on slot 1,  96 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  99  3      INFO   ===>>>  start processing event #1156351, run #204073 on slot 3,  96 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151312, run #204073 on slot 2,  97 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148893, run #204073 on slot 0,  98 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1156938, run #204073 on slot 1,  99 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1156351, run #204073 on slot 3,  100 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO ---> Loop Finished (seconds): 21.757
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1150212, run #204073 on slot 1,  86 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  87  0      INFO   ===>>>  start processing event #1155482, run #204073 on slot 0,  86 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  88  1      INFO   ===>>>  start processing event #1150472, run #204073 on slot 1,  86 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  89  3      INFO   ===>>>  start processing event #1140275, run #204073 on slot 3,  86 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1152633, run #204073 on slot 2,  87 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1155482, run #204073 on slot 0,  88 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  90  0      INFO   ===>>>  start processing event #1145882, run #204073 on slot 0,  88 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  91  2      INFO   ===>>>  start processing event #1151732, run #204073 on slot 2,  88 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1150472, run #204073 on slot 1,  89 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1140275, run #204073 on slot 3,  90 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145882, run #204073 on slot 0,  91 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  92  0      INFO   ===>>>  start processing event #1137896, run #204073 on slot 0,  91 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  93  1      INFO   ===>>>  start processing event #1156381, run #204073 on slot 1,  91 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  94  3      INFO   ===>>>  start processing event #1149161, run #204073 on slot 3,  91 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151732, run #204073 on slot 2,  92 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137896, run #204073 on slot 0,  93 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1156381, run #204073 on slot 1,  94 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  95  0      INFO   ===>>>  start processing event #1153794, run #204073 on slot 0,  94 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  96  1      INFO   ===>>>  start processing event #1151312, run #204073 on slot 1,  94 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  97  2      INFO   ===>>>  start processing event #1148893, run #204073 on slot 2,  94 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149161, run #204073 on slot 3,  95 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1153794, run #204073 on slot 0,  96 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151312, run #204073 on slot 1,  97 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  98  0      INFO   ===>>>  start processing event #1156938, run #204073 on slot 0,  97 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  99  1      INFO   ===>>>  start processing event #1156351, run #204073 on slot 1,  97 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148893, run #204073 on slot 2,  98 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1156938, run #204073 on slot 0,  99 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1156351, run #204073 on slot 1,  100 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO ---> Loop Finished (seconds): 10.269
 /cvmfs/atlas-condb.cern.ch/repo/condi...           INFO Database being retired...
 Domain[ROOT_All]                                   INFO ->  Deaccess DbDatabase   READ      [ROOT_All] 06C9EAE8-6F5B-E011-BAAA-003048F0E7AC
 /cvmfs/atlas-condb.cern.ch/repo/condi...           INFO Database being retired...
@@ -1336,10 +1336,10 @@ IOVDbFolder                                        INFO Folder /TILE/OFL02/NOISE
 IOVDbFolder                                        INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
 IOVDbFolder                                        INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
 IOVDbFolder                                        INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
-IOVDbFolder                                        INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.03 ))s
-IOVDbSvc                                           INFO  bytes in ((      0.19 ))s
+IOVDbFolder                                        INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.01 ))s
+IOVDbSvc                                           INFO  bytes in ((      0.18 ))s
 IOVDbSvc                                           INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: ((     0.00 ))s
-IOVDbSvc                                           INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     0.19 ))s
+IOVDbSvc                                           INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     0.18 ))s
 IOVDbSvc                                           INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 1 nFolders: 11 ReadTime: ((     0.00 ))s
 TileInfoLoader                                     INFO TileInfoLoader::finalize()
 AthDictLoaderSvc                                   INFO in finalize...
@@ -1350,9 +1350,9 @@ ToolSvc.TileROD_Decoder.TileROD_L2Bui...           INFO Finalizing
 *****Chrono*****                                   INFO ****************************************************************************************************
 *****Chrono*****                                   INFO  The Final CPU consumption ( Chrono ) Table (ordered)
 *****Chrono*****                                   INFO ****************************************************************************************************
-cObjR_ALL                                          INFO Time User   : Tot= 0.77  [s] Ave/Min/Max=0.385(+-0.365)/ 0.02/ 0.75  [s] #=  2
-cObj_ALL                                           INFO Time User   : Tot= 0.98  [s] Ave/Min/Max= 0.49(+- 0.35)/ 0.14/ 0.84  [s] #=  2
-ChronoStatSvc                                      INFO Time User   : Tot= 27.7  [s]                                             #=  1
+cObjR_ALL                                          INFO Time User   : Tot= 0.54  [s] Ave/Min/Max= 0.27(+- 0.26)/ 0.01/ 0.53  [s] #=  2
+cObj_ALL                                           INFO Time User   : Tot= 0.68  [s] Ave/Min/Max= 0.34(+- 0.25)/ 0.09/ 0.59  [s] #=  2
+ChronoStatSvc                                      INFO Time User   : Tot= 9.64  [s]                                             #=  1
 *****Chrono*****                                   INFO ****************************************************************************************************
 ChronoStatSvc.finalize()                           INFO  Service finalized successfully 
 ApplicationMgr                                     INFO Application Manager Finalized successfully
diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileL2ContByteStreamCnv_test.ref b/TileCalorimeter/TileSvc/TileByteStream/share/TileL2ContByteStreamCnv_test.ref
index 01702ded0a18..6df5c6c40fe4 100644
--- a/TileCalorimeter/TileSvc/TileByteStream/share/TileL2ContByteStreamCnv_test.ref
+++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileL2ContByteStreamCnv_test.ref
@@ -1,14 +1,14 @@
-Tue Jan 22 02:31:43 CET 2019
+Sat Jan 26 19:51:16 CET 2019
 Preloading tcmalloc_minimal.so
 Py:Athena            INFO including file "AthenaCommon/Preparation.py"
-Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-dbg] [atlas-work3/5871b6e8de] -- built on [2019-01-21T2115]
+Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-opt] [atlas-work3/5e0c78d866] -- built on [2019-01-26T1705]
 Py:Athena            INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
 Py:Athena            INFO executing ROOT6Setup
 Py:Athena            INFO including file "AthenaCommon/Execution.py"
 Py:Athena            INFO including file "TileByteStream/TileL2ContByteStreamCnv_test.py"
 [?1034hSetGeometryVersion.py obtained major release version 22
 Py:Athena            INFO including file "IdDictDetDescrCnv/IdDictDetDescrCnv_joboptions.py"
-Py:ConfigurableDb    INFO Read module info for 5456 configurables from 80 genConfDb files
+Py:ConfigurableDb    INFO Read module info for 5456 configurables from 76 genConfDb files
 Py:ConfigurableDb    INFO No duplicates have been found: that's good !
 EventInfoMgtInit: Got release version  Athena-22.0.1
 Py:IOVDbSvc.CondDB    INFO Setting up conditions DB access to instance OFLP200
@@ -34,7 +34,7 @@ ApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to leve
 ApplicationMgr    SUCCESS 
 ====================================================================================================================================
                                                    Welcome to ApplicationMgr (GaudiCoreSvc v30r5)
-                                          running on lxplus068.cern.ch on Tue Jan 22 02:32:17 2019
+                                          running on lxplus062.cern.ch on Sat Jan 26 19:51:38 2019
 ====================================================================================================================================
 ApplicationMgr       INFO Successfully loaded modules : AthenaServices
 ApplicationMgr       INFO Application Manager Configured successfully
@@ -51,8 +51,8 @@ PoolSvc              INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.x
 PoolSvc              INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
 PoolSvc              INFO Frontier compression level set to 5
 DBReplicaSvc         INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data
-DBReplicaSvc         INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/dbreplica.config
-DBReplicaSvc         INFO Total of 10 servers found for host lxplus068.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
+DBReplicaSvc         INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config
+DBReplicaSvc         INFO Total of 10 servers found for host lxplus062.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
 PoolSvc              INFO Successfully setup replica sorting algorithm
 PoolSvc              INFO Setting up APR FileCatalog and Streams
 PoolSvc           WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables
@@ -193,7 +193,7 @@ EndcapDMConstru...   INFO Start building EC electronics geometry
   multi-layered version of absorbers activated, mlabs == 1
 ================================================
 EndcapDMConstru...   INFO Start building EC electronics geometry
-GeoModelSvc          INFO GeoModelSvc.LArDetectorToolNV	 SZ= 28576Kb 	 Time = 1.68S
+GeoModelSvc          INFO GeoModelSvc.LArDetectorToolNV	 SZ= 23964Kb 	 Time = 0.67S
 GeoModelSvc.Til...   INFO  Entering TileDetectorTool::create()
 TileDddbManager      INFO m_tag = ATLAS-R2-2016-01-00-01
 TileDddbManager      INFO n_tiglob = 5
@@ -205,7 +205,7 @@ TileDddbManager      INFO n_tileSwitches = 1
 ClassIDSvc           INFO  getRegistryEntries: read 213 CLIDRegistry entries for module ALL
 CaloIDHelper_ID...   INFO in createObj: creating a TileID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileNeighbour_reduced.txt
+TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileNeighbour_reduced.txt
 TileHWIDDetDesc...   INFO in createObj: creating a TileHWID helper object in the detector store
 TileHWID             INFO initialize_from_dictionary 
 AtlasDetectorID      INFO initialize_from_dictionary - OK
@@ -217,9 +217,9 @@ CaloIDHelper_ID...   INFO in createObj: creating a LArHEC_ID helper object in th
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIDHelper_ID...   INFO in createObj: creating a LArFCAL_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal2DNeighbors-April2011.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsNext-April2011.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsPrev-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal2DNeighbors-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsNext-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsPrev-April2011.txt
 CaloIDHelper_ID...   INFO in createObj: creating a LArMiniFCAL_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 LArMiniFCAL_ID       INFO  initialize_from_dict - LArCalorimeter dictionary does NOT contain miniFCAL description. Unable to initialize LArMiniFCAL_ID.
@@ -250,11 +250,11 @@ GeoModelSvc.Til...   INFO                                    PLUG2  Rmin= 2981 R
 GeoModelSvc.Til...   INFO  Positioning negative ITC with translation -3405
 GeoModelSvc.Til...   INFO  Positioning negative Gap with translation -3552
 GeoModelSvc.Til...   INFO  Positioning negative Crack with translation -3536
-GeoModelSvc.Til...   INFO  Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
-GeoModelSvc.Til...   INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
-GeoModelSvc.Til...   INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) GeoModelKernelUnits::cm
+GeoModelSvc.Til...   INFO  Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) Gaudi::Units::cm
+GeoModelSvc.Til...   INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) Gaudi::Units::cm
+GeoModelSvc.Til...   INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) Gaudi::Units::cm
 TileDetDescrMan...   INFO Entering create_elements()
-GeoModelSvc          INFO GeoModelSvc.TileDetectorTool	 SZ= 5196Kb 	 Time = 2S
+GeoModelSvc          INFO GeoModelSvc.TileDetectorTool	 SZ= 3568Kb 	 Time = 0.25S
 ClassIDSvc           INFO  getRegistryEntries: read 65 CLIDRegistry entries for module ALL
 TileInfoLoader       INFO Initializing....TileInfoLoader
 TileInfoLoader       INFO New ATLAS geometry detected: ATLAS-R2-2016-01-00-01 (010001) version 10001
@@ -276,11 +276,11 @@ TileInfoLoader       INFO Sampling fraction for E2 cells 1/107
 TileInfoLoader       INFO Sampling fraction for E3 cells 1/97
 TileInfoLoader       INFO Sampling fraction for E4 cells 1/75
 TileInfoLoader       INFO Sampling fraction for E4' cells 1/75
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulsehi_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulselo_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_tower_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muonRcv_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muon_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulsehi_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulselo_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_tower_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muonRcv_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muon_physics.dat
 CaloIDHelper_ID...   INFO in createObj: creating a CaloLVL1_ID helper object in the detector store
 CaloLVL1_ID          INFO initialize_from_dictionary
 AtlasDetectorID      INFO initialize_from_dictionary - OK
@@ -388,12 +388,12 @@ CaloIDHelper_ID...   INFO in createObj: creating a LArHEC_SuperCell_ID helper ob
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIDHelper_ID...   INFO in createObj: creating a LArFCAL_SuperCell_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells2DNeighborsNew-April2014.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells2DNeighborsNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
 CaloIDHelper_ID...   INFO in createObj: creating a Tile_SuperCell_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileSuperCellNeighbour.txt
+TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileSuperCellNeighbour.txt
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIdMgrDetDes...   INFO  Finished 
 CaloIdMgrDetDes...   INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv 
@@ -422,7 +422,7 @@ TileBadChannels...   INFO TileBchStatus::isNoisy() is defined by: Large HF noise
 TileBadChannels...   INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; 
 TileBadChannels...   INFO TileBchStatus::isBadTiming() is defined by: Bad timing; Online bad timing; 
 TileBadChannels...   INFO No drawer trips probabilities found in DB
-ClassIDSvc           INFO  getRegistryEntries: read 2407 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 2427 CLIDRegistry entries for module ALL
 ClassIDSvc           INFO  getRegistryEntries: read 89 CLIDRegistry entries for module ALL
 ToolSvc.TileROD...   INFO TileL2Builder initialization completed
 ToolSvc.TileL2C...   INFO Initializing TileL2ContByteStreamTool
@@ -641,23 +641,23 @@ IncidentProcAlg2     INFO Finalize
 EventInfoByteSt...   INFO finalize 
 PyComponentMgr       INFO Finalizing PyComponentMgr...
 IdDictDetDescrCnv    INFO in finalize
-IOVDbFolder          INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/340 ((     0.82 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104132 ((     0.71 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.93 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.55 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/116 ((     0.64 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/964 ((     0.51 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 ((     0.53 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104 ((     0.50 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/643828 ((     0.67 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/93084 ((     0.73 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/120 ((     0.61 ))s
-IOVDbFolder          INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/100 ((     0.07 ))s
-IOVDbFolder          INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.61 ))s
-IOVDbSvc             INFO  bytes in ((      7.88 ))s
+IOVDbFolder          INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/340 ((     0.14 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104132 ((     0.21 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.05 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.05 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/116 ((     0.04 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/964 ((     0.15 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 ((     0.07 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104 ((     0.14 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/643828 ((     0.16 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/93084 ((     0.05 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/120 ((     0.04 ))s
+IOVDbFolder          INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/100 ((     0.00 ))s
+IOVDbFolder          INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.02 ))s
+IOVDbSvc             INFO  bytes in ((      1.13 ))s
 IOVDbSvc             INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: ((     0.00 ))s
-IOVDbSvc             INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     1.43 ))s
-IOVDbSvc             INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: ((     6.44 ))s
+IOVDbSvc             INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     0.16 ))s
+IOVDbSvc             INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: ((     0.97 ))s
 TileInfoLoader       INFO TileInfoLoader::finalize()
 AthDictLoaderSvc     INFO in finalize...
 ToolSvc              INFO Removing all tools created by ToolSvc
@@ -666,18 +666,18 @@ ToolSvc.TileROD...   INFO Finalizing
 *****Chrono*****     INFO ****************************************************************************************************
 *****Chrono*****     INFO  The Final CPU consumption ( Chrono ) Table (ordered)
 *****Chrono*****     INFO ****************************************************************************************************
-cObjR_ALL            INFO Time User   : Tot= 0.85  [s] Ave/Min/Max=0.425(+-0.405)/ 0.02/ 0.83  [s] #=  2
-cObj_ALL             INFO Time User   : Tot= 1.08  [s] Ave/Min/Max=0.0831(+-0.241)/    0/  0.9  [s] #= 13
-ChronoStatSvc        INFO Time User   : Tot= 28.5  [s]                                             #=  1
+cObjR_ALL            INFO Time User   : Tot=  490 [ms] Ave/Min/Max=  245(+-  235)/   10/  480 [ms] #=  2
+cObj_ALL             INFO Time User   : Tot= 0.61  [s] Ave/Min/Max=0.0469(+-0.139)/    0/ 0.52  [s] #= 13
+ChronoStatSvc        INFO Time User   : Tot= 11.5  [s]                                             #=  1
 *****Chrono*****     INFO ****************************************************************************************************
 ChronoStatSvc.f...   INFO  Service finalized successfully 
 ApplicationMgr       INFO Application Manager Finalized successfully
 ApplicationMgr       INFO Application Manager Terminated successfully
 Py:Athena            INFO leaving with code 0: "successful run"
-Tue Jan 22 02:33:20 CET 2019
+Sat Jan 26 19:52:03 CET 2019
 Preloading tcmalloc_minimal.so
 Py:Athena            INFO including file "AthenaCommon/Preparation.py"
-Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-dbg] [atlas-work3/5871b6e8de] -- built on [2019-01-21T2115]
+Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-opt] [atlas-work3/5e0c78d866] -- built on [2019-01-26T1705]
 Py:Athena            INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
 Py:Athena            INFO executing ROOT6Setup
 Py:Athena            INFO configuring AthenaHive with [4] concurrent threads and [4] concurrent events
@@ -686,7 +686,7 @@ Py:Athena            INFO including file "AthenaCommon/Execution.py"
 Py:Athena            INFO including file "TileByteStream/TileL2ContByteStreamCnv_test.py"
 [?1034hSetGeometryVersion.py obtained major release version 22
 Py:Athena            INFO including file "IdDictDetDescrCnv/IdDictDetDescrCnv_joboptions.py"
-Py:ConfigurableDb    INFO Read module info for 5456 configurables from 80 genConfDb files
+Py:ConfigurableDb    INFO Read module info for 5456 configurables from 76 genConfDb files
 Py:ConfigurableDb    INFO No duplicates have been found: that's good !
 EventInfoMgtInit: Got release version  Athena-22.0.1
 Py:IOVDbSvc.CondDB    INFO Setting up conditions DB access to instance OFLP200
@@ -713,7 +713,7 @@ MessageSvc           INFO Activating in a separate thread
 ApplicationMgr    SUCCESS 
 ====================================================================================================================================
                                                    Welcome to ApplicationMgr (GaudiCoreSvc v30r5)
-                                          running on lxplus068.cern.ch on Tue Jan 22 02:33:46 2019
+                                          running on lxplus062.cern.ch on Sat Jan 26 19:52:18 2019
 ====================================================================================================================================
 ApplicationMgr       INFO Successfully loaded modules : AthenaServices
 ApplicationMgr       INFO Application Manager Configured successfully
@@ -729,8 +729,8 @@ PoolSvc                                            INFO io_register[PoolSvc](xml
 PoolSvc                                            INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
 PoolSvc                                            INFO Frontier compression level set to 5
 DBReplicaSvc                                       INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data
-DBReplicaSvc                                       INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/dbreplica.config
-DBReplicaSvc                                       INFO Total of 10 servers found for host lxplus068.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
+DBReplicaSvc                                       INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config
+DBReplicaSvc                                       INFO Total of 10 servers found for host lxplus062.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
 PoolSvc                                            INFO Successfully setup replica sorting algorithm
 PoolSvc                                            INFO Setting up APR FileCatalog and Streams
 PoolSvc                                         WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables
@@ -872,7 +872,7 @@ EndcapDMConstruction                               INFO Start building EC electr
   multi-layered version of absorbers activated, mlabs == 1
 ================================================
 EndcapDMConstruction                               INFO Start building EC electronics geometry
-GeoModelSvc                                        INFO GeoModelSvc.LArDetectorToolNV	 SZ= 28576Kb 	 Time = 1.67S
+GeoModelSvc                                        INFO GeoModelSvc.LArDetectorToolNV	 SZ= 22940Kb 	 Time = 0.68S
 GeoModelSvc.TileDetectorTool                       INFO  Entering TileDetectorTool::create()
 TileDddbManager                                    INFO m_tag = ATLAS-R2-2016-01-00-01
 TileDddbManager                                    INFO n_tiglob = 5
@@ -884,7 +884,7 @@ TileDddbManager                                    INFO n_tileSwitches = 1
 ClassIDSvc                                         INFO  getRegistryEntries: read 213 CLIDRegistry entries for module ALL
 CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a TileID helper object in the detector store
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
-TileNeighbour                                      INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileNeighbour_reduced.txt
+TileNeighbour                                      INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileNeighbour_reduced.txt
 TileHWIDDetDescrCnv                                INFO in createObj: creating a TileHWID helper object in the detector store
 TileHWID                                           INFO initialize_from_dictionary 
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
@@ -896,9 +896,9 @@ CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
 CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a LArFCAL_ID helper object in the detector store
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal2DNeighbors-April2011.txt
-LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsNext-April2011.txt
-LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsPrev-April2011.txt
+LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal2DNeighbors-April2011.txt
+LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsNext-April2011.txt
+LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsPrev-April2011.txt
 CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a LArMiniFCAL_ID helper object in the detector store
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
 LArMiniFCAL_ID                                     INFO  initialize_from_dict - LArCalorimeter dictionary does NOT contain miniFCAL description. Unable to initialize LArMiniFCAL_ID.
@@ -929,11 +929,11 @@ GeoModelSvc.TileDetectorTool                       INFO
 GeoModelSvc.TileDetectorTool                       INFO  Positioning negative ITC with translation -3405
 GeoModelSvc.TileDetectorTool                       INFO  Positioning negative Gap with translation -3552
 GeoModelSvc.TileDetectorTool                       INFO  Positioning negative Crack with translation -3536
-GeoModelSvc.TileDetectorTool                       INFO  Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
-GeoModelSvc.TileDetectorTool                       INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
-GeoModelSvc.TileDetectorTool                       INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) GeoModelKernelUnits::cm
+GeoModelSvc.TileDetectorTool                       INFO  Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) Gaudi::Units::cm
+GeoModelSvc.TileDetectorTool                       INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) Gaudi::Units::cm
+GeoModelSvc.TileDetectorTool                       INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) Gaudi::Units::cm
 TileDetDescrManager                                INFO Entering create_elements()
-GeoModelSvc                                        INFO GeoModelSvc.TileDetectorTool	 SZ= 5196Kb 	 Time = 1.77S
+GeoModelSvc                                        INFO GeoModelSvc.TileDetectorTool	 SZ= 4592Kb 	 Time = 0.3S
 ClassIDSvc                                         INFO  getRegistryEntries: read 65 CLIDRegistry entries for module ALL
 TileInfoLoader                                     INFO Initializing....TileInfoLoader
 TileInfoLoader                                     INFO New ATLAS geometry detected: ATLAS-R2-2016-01-00-01 (010001) version 10001
@@ -955,11 +955,11 @@ TileInfoLoader                                     INFO Sampling fraction for E2
 TileInfoLoader                                     INFO Sampling fraction for E3 cells 1/97
 TileInfoLoader                                     INFO Sampling fraction for E4 cells 1/75
 TileInfoLoader                                     INFO Sampling fraction for E4' cells 1/75
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulsehi_physics.dat
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulselo_physics.dat
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_tower_physics.dat
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muonRcv_physics.dat
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muon_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulsehi_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulselo_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_tower_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muonRcv_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muon_physics.dat
 CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a CaloLVL1_ID helper object in the detector store
 CaloLVL1_ID                                        INFO initialize_from_dictionary
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
@@ -1079,12 +1079,12 @@ CaloIDHelper_IDDetDescrCnv              0   0      INFO in createObj: creating a
 AtlasDetectorID                         0   0      INFO initialize_from_dictionary - OK
 CaloIDHelper_IDDetDescrCnv              0   0      INFO in createObj: creating a LArFCAL_SuperCell_ID helper object in the detector store
 AtlasDetectorID                         0   0      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells2DNeighborsNew-April2014.txt
-LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
-LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
+LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells2DNeighborsNew-April2014.txt
+LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
+LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
 CaloIDHelper_IDDetDescrCnv              0   0      INFO in createObj: creating a Tile_SuperCell_ID helper object in the detector store
 AtlasDetectorID                         0   0      INFO initialize_from_dictionary - OK
-TileNeighbour                           0   0      INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileSuperCellNeighbour.txt
+TileNeighbour                           0   0      INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileSuperCellNeighbour.txt
 AtlasDetectorID                         0   0      INFO initialize_from_dictionary - OK
 CaloIdMgrDetDescrCnv                    0   0      INFO  Finished 
 CaloIdMgrDetDescrCnv                    0   0      INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv 
@@ -1092,7 +1092,7 @@ Domain[ROOT_All]                        0   0      INFO ->  Access   DbDatabase
 Domain[ROOT_All]                        0   0      INFO                           /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root
 RootDatabase.open                       0   0      INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root File version:52200
 AthenaHiveEventLoopMgr                  0   0      INFO   ===>>>  start processing event #1129572, run #204073 on slot 0,  0 events processed so far  <<<===
-ClassIDSvc                              0   0      INFO  getRegistryEntries: read 650 CLIDRegistry entries for module ALL
+ClassIDSvc                              0   0      INFO  getRegistryEntries: read 670 CLIDRegistry entries for module ALL
 ClassIDSvc                              0   0      INFO  getRegistryEntries: read 1757 CLIDRegistry entries for module ALL
 ClassIDSvc                              0   0      INFO  getRegistryEntries: read 89 CLIDRegistry entries for module ALL
 ToolSvc.TileROD_Decoder.TileROD_L2Bui...0   0      INFO TileL2Builder initialization completed
@@ -1222,81 +1222,81 @@ AthenaHiveEventLoopMgr                  62  1      INFO   ===>>>  start processi
 AthenaHiveEventLoopMgr                  63  3      INFO   ===>>>  start processing event #1148361, run #204073 on slot 3,  60 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149894, run #204073 on slot 2,  61 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145364, run #204073 on slot 0,  62 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  64  0      INFO   ===>>>  start processing event #1148167, run #204073 on slot 0,  62 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  65  2      INFO   ===>>>  start processing event #1138948, run #204073 on slot 2,  62 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143770, run #204073 on slot 1,  63 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  64  0      INFO   ===>>>  start processing event #1148167, run #204073 on slot 0,  63 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  65  1      INFO   ===>>>  start processing event #1138948, run #204073 on slot 1,  63 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  66  2      INFO   ===>>>  start processing event #1144808, run #204073 on slot 2,  63 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148361, run #204073 on slot 3,  64 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148167, run #204073 on slot 0,  65 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138948, run #204073 on slot 1,  66 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  67  0      INFO   ===>>>  start processing event #1145832, run #204073 on slot 0,  66 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  68  1      INFO   ===>>>  start processing event #1153100, run #204073 on slot 1,  66 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  69  3      INFO   ===>>>  start processing event #1142524, run #204073 on slot 3,  66 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144808, run #204073 on slot 2,  67 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145832, run #204073 on slot 0,  68 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1153100, run #204073 on slot 1,  69 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  70  0      INFO   ===>>>  start processing event #1138294, run #204073 on slot 0,  69 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  71  1      INFO   ===>>>  start processing event #1138350, run #204073 on slot 1,  69 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  72  2      INFO   ===>>>  start processing event #1149424, run #204073 on slot 2,  69 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142524, run #204073 on slot 3,  70 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138294, run #204073 on slot 0,  71 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138350, run #204073 on slot 1,  72 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  73  0      INFO   ===>>>  start processing event #1151102, run #204073 on slot 0,  72 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  74  1      INFO   ===>>>  start processing event #1152242, run #204073 on slot 1,  72 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  75  3      INFO   ===>>>  start processing event #1148416, run #204073 on slot 3,  72 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149424, run #204073 on slot 2,  73 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151102, run #204073 on slot 0,  74 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1152242, run #204073 on slot 1,  75 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  76  0      INFO   ===>>>  start processing event #1142753, run #204073 on slot 0,  75 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  77  1      INFO   ===>>>  start processing event #1149997, run #204073 on slot 1,  75 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  78  2      INFO   ===>>>  start processing event #1151617, run #204073 on slot 2,  75 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148416, run #204073 on slot 3,  76 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142753, run #204073 on slot 0,  77 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149997, run #204073 on slot 1,  78 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  79  0      INFO   ===>>>  start processing event #1149794, run #204073 on slot 0,  78 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  80  1      INFO   ===>>>  start processing event #1152504, run #204073 on slot 1,  78 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  81  3      INFO   ===>>>  start processing event #1142485, run #204073 on slot 3,  78 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151617, run #204073 on slot 2,  79 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149794, run #204073 on slot 0,  80 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1152504, run #204073 on slot 1,  81 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  82  0      INFO   ===>>>  start processing event #1151364, run #204073 on slot 0,  81 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  83  1      INFO   ===>>>  start processing event #1143901, run #204073 on slot 1,  81 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  84  2      INFO   ===>>>  start processing event #1153979, run #204073 on slot 2,  81 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142485, run #204073 on slot 3,  82 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151364, run #204073 on slot 0,  83 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143901, run #204073 on slot 1,  84 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  85  0      INFO   ===>>>  start processing event #1150212, run #204073 on slot 0,  84 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  86  1      INFO   ===>>>  start processing event #1152633, run #204073 on slot 1,  84 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  87  3      INFO   ===>>>  start processing event #1155482, run #204073 on slot 3,  84 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1153979, run #204073 on slot 2,  85 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1150212, run #204073 on slot 0,  86 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1152633, run #204073 on slot 1,  87 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  88  0      INFO   ===>>>  start processing event #1150472, run #204073 on slot 0,  87 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  89  1      INFO   ===>>>  start processing event #1140275, run #204073 on slot 1,  87 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  90  2      INFO   ===>>>  start processing event #1145882, run #204073 on slot 2,  87 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1155482, run #204073 on slot 3,  88 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1150472, run #204073 on slot 0,  89 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1140275, run #204073 on slot 1,  90 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  91  0      INFO   ===>>>  start processing event #1151732, run #204073 on slot 0,  90 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  92  1      INFO   ===>>>  start processing event #1137896, run #204073 on slot 1,  90 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  93  3      INFO   ===>>>  start processing event #1156381, run #204073 on slot 3,  90 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145882, run #204073 on slot 2,  91 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151732, run #204073 on slot 0,  92 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137896, run #204073 on slot 1,  93 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  94  0      INFO   ===>>>  start processing event #1149161, run #204073 on slot 0,  93 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  95  1      INFO   ===>>>  start processing event #1153794, run #204073 on slot 1,  93 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  96  2      INFO   ===>>>  start processing event #1151312, run #204073 on slot 2,  93 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1156381, run #204073 on slot 3,  94 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149161, run #204073 on slot 0,  95 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1153794, run #204073 on slot 1,  96 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  97  0      INFO   ===>>>  start processing event #1148893, run #204073 on slot 0,  96 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  98  1      INFO   ===>>>  start processing event #1156938, run #204073 on slot 1,  96 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  99  3      INFO   ===>>>  start processing event #1156351, run #204073 on slot 3,  96 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151312, run #204073 on slot 2,  97 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148893, run #204073 on slot 0,  98 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1156938, run #204073 on slot 1,  99 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1156351, run #204073 on slot 3,  100 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO ---> Loop Finished (seconds): 20.2948
+AthenaHiveEventLoopMgr                  66  0      INFO   ===>>>  start processing event #1144808, run #204073 on slot 0,  65 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  67  1      INFO   ===>>>  start processing event #1145832, run #204073 on slot 1,  65 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  68  3      INFO   ===>>>  start processing event #1153100, run #204073 on slot 3,  65 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138948, run #204073 on slot 2,  66 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144808, run #204073 on slot 0,  67 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145832, run #204073 on slot 1,  68 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  69  0      INFO   ===>>>  start processing event #1142524, run #204073 on slot 0,  68 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  70  1      INFO   ===>>>  start processing event #1138294, run #204073 on slot 1,  68 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  71  2      INFO   ===>>>  start processing event #1138350, run #204073 on slot 2,  68 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1153100, run #204073 on slot 3,  69 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142524, run #204073 on slot 0,  70 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138294, run #204073 on slot 1,  71 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  72  0      INFO   ===>>>  start processing event #1149424, run #204073 on slot 0,  71 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  73  1      INFO   ===>>>  start processing event #1151102, run #204073 on slot 1,  71 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  74  3      INFO   ===>>>  start processing event #1152242, run #204073 on slot 3,  71 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138350, run #204073 on slot 2,  72 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149424, run #204073 on slot 0,  73 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151102, run #204073 on slot 1,  74 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  75  0      INFO   ===>>>  start processing event #1148416, run #204073 on slot 0,  74 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  76  1      INFO   ===>>>  start processing event #1142753, run #204073 on slot 1,  74 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  77  2      INFO   ===>>>  start processing event #1149997, run #204073 on slot 2,  74 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1152242, run #204073 on slot 3,  75 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148416, run #204073 on slot 0,  76 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142753, run #204073 on slot 1,  77 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  78  0      INFO   ===>>>  start processing event #1151617, run #204073 on slot 0,  77 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  79  1      INFO   ===>>>  start processing event #1149794, run #204073 on slot 1,  77 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  80  3      INFO   ===>>>  start processing event #1152504, run #204073 on slot 3,  77 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149997, run #204073 on slot 2,  78 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151617, run #204073 on slot 0,  79 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  81  0      INFO   ===>>>  start processing event #1142485, run #204073 on slot 0,  79 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  82  2      INFO   ===>>>  start processing event #1151364, run #204073 on slot 2,  79 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149794, run #204073 on slot 1,  80 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1152504, run #204073 on slot 3,  81 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142485, run #204073 on slot 0,  82 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  83  0      INFO   ===>>>  start processing event #1143901, run #204073 on slot 0,  82 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  84  1      INFO   ===>>>  start processing event #1153979, run #204073 on slot 1,  82 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  85  3      INFO   ===>>>  start processing event #1150212, run #204073 on slot 3,  82 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151364, run #204073 on slot 2,  83 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143901, run #204073 on slot 0,  84 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1153979, run #204073 on slot 1,  85 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  86  0      INFO   ===>>>  start processing event #1152633, run #204073 on slot 0,  85 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  87  1      INFO   ===>>>  start processing event #1155482, run #204073 on slot 1,  85 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  88  2      INFO   ===>>>  start processing event #1150472, run #204073 on slot 2,  85 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1150212, run #204073 on slot 3,  86 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1152633, run #204073 on slot 0,  87 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1155482, run #204073 on slot 1,  88 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  89  0      INFO   ===>>>  start processing event #1140275, run #204073 on slot 0,  88 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  90  1      INFO   ===>>>  start processing event #1145882, run #204073 on slot 1,  88 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  91  3      INFO   ===>>>  start processing event #1151732, run #204073 on slot 3,  88 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1150472, run #204073 on slot 2,  89 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1140275, run #204073 on slot 0,  90 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145882, run #204073 on slot 1,  91 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  92  0      INFO   ===>>>  start processing event #1137896, run #204073 on slot 0,  91 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  93  1      INFO   ===>>>  start processing event #1156381, run #204073 on slot 1,  91 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  94  2      INFO   ===>>>  start processing event #1149161, run #204073 on slot 2,  91 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151732, run #204073 on slot 3,  92 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137896, run #204073 on slot 0,  93 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1156381, run #204073 on slot 1,  94 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  95  0      INFO   ===>>>  start processing event #1153794, run #204073 on slot 0,  94 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  96  1      INFO   ===>>>  start processing event #1151312, run #204073 on slot 1,  94 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  97  3      INFO   ===>>>  start processing event #1148893, run #204073 on slot 3,  94 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149161, run #204073 on slot 2,  95 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1153794, run #204073 on slot 0,  96 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151312, run #204073 on slot 1,  97 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  98  0      INFO   ===>>>  start processing event #1156938, run #204073 on slot 0,  97 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  99  1      INFO   ===>>>  start processing event #1156351, run #204073 on slot 1,  97 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148893, run #204073 on slot 3,  98 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1156938, run #204073 on slot 0,  99 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1156351, run #204073 on slot 1,  100 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO ---> Loop Finished (seconds): 10.1798
 /cvmfs/atlas-condb.cern.ch/repo/condi...           INFO Database being retired...
 Domain[ROOT_All]                                   INFO ->  Deaccess DbDatabase   READ      [ROOT_All] 06C9EAE8-6F5B-E011-BAAA-003048F0E7AC
 /cvmfs/atlas-condb.cern.ch/repo/condi...           INFO Database being retired...
@@ -1314,7 +1314,7 @@ AvalancheSchedulerSvc                              INFO Joining Scheduler thread
 PyComponentMgr                                     INFO Finalizing PyComponentMgr...
 IdDictDetDescrCnv                                  INFO in finalize
 EventDataSvc                                       INFO Finalizing EventDataSvc - package version StoreGate-00-00-00
-IOVDbFolder                                        INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/340 ((     0.58 ))s
+IOVDbFolder                                        INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/340 ((     0.14 ))s
 IOVDbFolder                                        INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
 IOVDbFolder                                        INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
 IOVDbFolder                                        INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
@@ -1326,10 +1326,10 @@ IOVDbFolder                                        INFO Folder /TILE/OFL02/NOISE
 IOVDbFolder                                        INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
 IOVDbFolder                                        INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
 IOVDbFolder                                        INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
-IOVDbFolder                                        INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.38 ))s
-IOVDbSvc                                           INFO  bytes in ((      0.96 ))s
+IOVDbFolder                                        INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.02 ))s
+IOVDbSvc                                           INFO  bytes in ((      0.16 ))s
 IOVDbSvc                                           INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: ((     0.00 ))s
-IOVDbSvc                                           INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     0.96 ))s
+IOVDbSvc                                           INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     0.16 ))s
 IOVDbSvc                                           INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 1 nFolders: 11 ReadTime: ((     0.00 ))s
 TileInfoLoader                                     INFO TileInfoLoader::finalize()
 AthDictLoaderSvc                                   INFO in finalize...
@@ -1339,9 +1339,9 @@ ToolSvc.TileROD_Decoder.TileROD_L2Bui...           INFO Finalizing
 *****Chrono*****                                   INFO ****************************************************************************************************
 *****Chrono*****                                   INFO  The Final CPU consumption ( Chrono ) Table (ordered)
 *****Chrono*****                                   INFO ****************************************************************************************************
-cObjR_ALL                                          INFO Time User   : Tot= 0.86  [s] Ave/Min/Max= 0.43(+-  0.4)/ 0.03/ 0.83  [s] #=  2
-cObj_ALL                                           INFO Time User   : Tot= 1.15  [s] Ave/Min/Max=0.575(+-0.415)/ 0.16/ 0.99  [s] #=  2
-ChronoStatSvc                                      INFO Time User   : Tot= 25.9  [s]                                             #=  1
+cObjR_ALL                                          INFO Time User   : Tot=  490 [ms] Ave/Min/Max=  245(+-  235)/   10/  480 [ms] #=  2
+cObj_ALL                                           INFO Time User   : Tot= 0.61  [s] Ave/Min/Max=0.305(+-0.235)/ 0.07/ 0.54  [s] #=  2
+ChronoStatSvc                                      INFO Time User   : Tot= 10.3  [s]                                             #=  1
 *****Chrono*****                                   INFO ****************************************************************************************************
 ChronoStatSvc.finalize()                           INFO  Service finalized successfully 
 ApplicationMgr                                     INFO Application Manager Finalized successfully
diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileLaserObjByteStreamCnv_test.ref b/TileCalorimeter/TileSvc/TileByteStream/share/TileLaserObjByteStreamCnv_test.ref
index d3db850feec1..4bdfa41ced06 100644
--- a/TileCalorimeter/TileSvc/TileByteStream/share/TileLaserObjByteStreamCnv_test.ref
+++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileLaserObjByteStreamCnv_test.ref
@@ -1,14 +1,14 @@
-Tue Jan 22 02:34:42 CET 2019
+Sat Jan 26 19:48:39 CET 2019
 Preloading tcmalloc_minimal.so
 Py:Athena            INFO including file "AthenaCommon/Preparation.py"
-Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-dbg] [atlas-work3/5871b6e8de] -- built on [2019-01-21T2115]
+Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-opt] [atlas-work3/5e0c78d866] -- built on [2019-01-26T1705]
 Py:Athena            INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
 Py:Athena            INFO executing ROOT6Setup
 Py:Athena            INFO including file "AthenaCommon/Execution.py"
 Py:Athena            INFO including file "TileByteStream/TileLaserObjByteStreamCnv_test.py"
 [?1034hSetGeometryVersion.py obtained major release version 22
 Py:Athena            INFO including file "IdDictDetDescrCnv/IdDictDetDescrCnv_joboptions.py"
-Py:ConfigurableDb    INFO Read module info for 5456 configurables from 80 genConfDb files
+Py:ConfigurableDb    INFO Read module info for 5456 configurables from 76 genConfDb files
 Py:ConfigurableDb    INFO No duplicates have been found: that's good !
 EventInfoMgtInit: Got release version  Athena-22.0.1
 Py:IOVDbSvc.CondDB    INFO Setting up conditions DB access to instance OFLP200
@@ -34,7 +34,7 @@ ApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to leve
 ApplicationMgr    SUCCESS 
 ====================================================================================================================================
                                                    Welcome to ApplicationMgr (GaudiCoreSvc v30r5)
-                                          running on lxplus068.cern.ch on Tue Jan 22 02:35:16 2019
+                                          running on lxplus062.cern.ch on Sat Jan 26 19:48:59 2019
 ====================================================================================================================================
 ApplicationMgr       INFO Successfully loaded modules : AthenaServices
 ApplicationMgr       INFO Application Manager Configured successfully
@@ -51,8 +51,8 @@ PoolSvc              INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.x
 PoolSvc              INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
 PoolSvc              INFO Frontier compression level set to 5
 DBReplicaSvc         INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data
-DBReplicaSvc         INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/dbreplica.config
-DBReplicaSvc         INFO Total of 10 servers found for host lxplus068.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
+DBReplicaSvc         INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config
+DBReplicaSvc         INFO Total of 10 servers found for host lxplus062.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
 PoolSvc              INFO Successfully setup replica sorting algorithm
 PoolSvc              INFO Setting up APR FileCatalog and Streams
 PoolSvc           WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables
@@ -192,7 +192,7 @@ EndcapDMConstru...   INFO Start building EC electronics geometry
   multi-layered version of absorbers activated, mlabs == 1
 ================================================
 EndcapDMConstru...   INFO Start building EC electronics geometry
-GeoModelSvc          INFO GeoModelSvc.LArDetectorToolNV	 SZ= 28576Kb 	 Time = 1.68S
+GeoModelSvc          INFO GeoModelSvc.LArDetectorToolNV	 SZ= 22940Kb 	 Time = 0.6S
 GeoModelSvc.Til...   INFO  Entering TileDetectorTool::create()
 TileDddbManager      INFO m_tag = ATLAS-R2-2016-01-00-01
 TileDddbManager      INFO n_tiglob = 5
@@ -204,7 +204,7 @@ TileDddbManager      INFO n_tileSwitches = 1
 ClassIDSvc           INFO  getRegistryEntries: read 213 CLIDRegistry entries for module ALL
 CaloIDHelper_ID...   INFO in createObj: creating a TileID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileNeighbour_reduced.txt
+TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileNeighbour_reduced.txt
 TileHWIDDetDesc...   INFO in createObj: creating a TileHWID helper object in the detector store
 TileHWID             INFO initialize_from_dictionary 
 AtlasDetectorID      INFO initialize_from_dictionary - OK
@@ -216,9 +216,9 @@ CaloIDHelper_ID...   INFO in createObj: creating a LArHEC_ID helper object in th
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIDHelper_ID...   INFO in createObj: creating a LArFCAL_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal2DNeighbors-April2011.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsNext-April2011.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsPrev-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal2DNeighbors-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsNext-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsPrev-April2011.txt
 CaloIDHelper_ID...   INFO in createObj: creating a LArMiniFCAL_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 LArMiniFCAL_ID       INFO  initialize_from_dict - LArCalorimeter dictionary does NOT contain miniFCAL description. Unable to initialize LArMiniFCAL_ID.
@@ -249,11 +249,11 @@ GeoModelSvc.Til...   INFO                                    PLUG2  Rmin= 2981 R
 GeoModelSvc.Til...   INFO  Positioning negative ITC with translation -3405
 GeoModelSvc.Til...   INFO  Positioning negative Gap with translation -3552
 GeoModelSvc.Til...   INFO  Positioning negative Crack with translation -3536
-GeoModelSvc.Til...   INFO  Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
-GeoModelSvc.Til...   INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
-GeoModelSvc.Til...   INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) GeoModelKernelUnits::cm
+GeoModelSvc.Til...   INFO  Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) Gaudi::Units::cm
+GeoModelSvc.Til...   INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) Gaudi::Units::cm
+GeoModelSvc.Til...   INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) Gaudi::Units::cm
 TileDetDescrMan...   INFO Entering create_elements()
-GeoModelSvc          INFO GeoModelSvc.TileDetectorTool	 SZ= 5196Kb 	 Time = 1.84S
+GeoModelSvc          INFO GeoModelSvc.TileDetectorTool	 SZ= 4592Kb 	 Time = 0.25S
 ClassIDSvc           INFO  getRegistryEntries: read 65 CLIDRegistry entries for module ALL
 TileInfoLoader       INFO Initializing....TileInfoLoader
 TileInfoLoader       INFO New ATLAS geometry detected: ATLAS-R2-2016-01-00-01 (010001) version 10001
@@ -275,11 +275,11 @@ TileInfoLoader       INFO Sampling fraction for E2 cells 1/107
 TileInfoLoader       INFO Sampling fraction for E3 cells 1/97
 TileInfoLoader       INFO Sampling fraction for E4 cells 1/75
 TileInfoLoader       INFO Sampling fraction for E4' cells 1/75
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulsehi_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulselo_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_tower_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muonRcv_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muon_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulsehi_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulselo_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_tower_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muonRcv_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muon_physics.dat
 CaloIDHelper_ID...   INFO in createObj: creating a CaloLVL1_ID helper object in the detector store
 CaloLVL1_ID          INFO initialize_from_dictionary
 AtlasDetectorID      INFO initialize_from_dictionary - OK
@@ -387,12 +387,12 @@ CaloIDHelper_ID...   INFO in createObj: creating a LArHEC_SuperCell_ID helper ob
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIDHelper_ID...   INFO in createObj: creating a LArFCAL_SuperCell_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells2DNeighborsNew-April2014.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells2DNeighborsNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
 CaloIDHelper_ID...   INFO in createObj: creating a Tile_SuperCell_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileSuperCellNeighbour.txt
+TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileSuperCellNeighbour.txt
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIdMgrDetDes...   INFO  Finished 
 CaloIdMgrDetDes...   INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv 
@@ -421,7 +421,7 @@ TileBadChannels...   INFO TileBchStatus::isNoisy() is defined by: Large HF noise
 TileBadChannels...   INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; 
 TileBadChannels...   INFO TileBchStatus::isBadTiming() is defined by: Bad timing; 
 TileBadChannels...   INFO No drawer trips probabilities found in DB
-ClassIDSvc           INFO  getRegistryEntries: read 2407 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 2427 CLIDRegistry entries for module ALL
 ClassIDSvc           INFO  getRegistryEntries: read 89 CLIDRegistry entries for module ALL
 ToolSvc.TileROD...   INFO TileL2Builder initialization completed
 AthenaEventLoopMgr   INFO   ===>>>  done processing event #18124, run #363899 1 events processed so far  <<<===
@@ -639,23 +639,23 @@ IncidentProcAlg2     INFO Finalize
 EventInfoByteSt...   INFO finalize 
 PyComponentMgr       INFO Finalizing PyComponentMgr...
 IdDictDetDescrCnv    INFO in finalize
-IOVDbFolder          INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/340 ((     0.94 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/105700 ((     1.34 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.82 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     1.34 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/116 ((     0.79 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/964 ((     4.07 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 ((     0.66 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104 ((     0.55 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/643860 ((     2.91 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/43200 ((     2.02 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/120 ((     1.31 ))s
-IOVDbFolder          INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/100 ((     0.08 ))s
-IOVDbFolder          INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.39 ))s
-IOVDbSvc             INFO  bytes in ((     17.22 ))s
+IOVDbFolder          INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/340 ((     0.17 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/105700 ((     0.15 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.03 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.03 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/116 ((     0.03 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/964 ((     0.03 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 ((     0.02 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104 ((     0.03 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/643860 ((     0.04 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/43200 ((     0.03 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/120 ((     0.03 ))s
+IOVDbFolder          INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/100 ((     0.01 ))s
+IOVDbFolder          INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.02 ))s
+IOVDbSvc             INFO  bytes in ((      0.59 ))s
 IOVDbSvc             INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: ((     0.00 ))s
-IOVDbSvc             INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     1.32 ))s
-IOVDbSvc             INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: ((    15.90 ))s
+IOVDbSvc             INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     0.18 ))s
+IOVDbSvc             INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: ((     0.40 ))s
 TileInfoLoader       INFO TileInfoLoader::finalize()
 AthDictLoaderSvc     INFO in finalize...
 ToolSvc              INFO Removing all tools created by ToolSvc
@@ -664,18 +664,18 @@ ToolSvc.TileROD...   INFO Finalizing
 *****Chrono*****     INFO ****************************************************************************************************
 *****Chrono*****     INFO  The Final CPU consumption ( Chrono ) Table (ordered)
 *****Chrono*****     INFO ****************************************************************************************************
-cObjR_ALL            INFO Time User   : Tot= 0.82  [s] Ave/Min/Max= 0.41(+- 0.38)/ 0.03/ 0.79  [s] #=  2
-cObj_ALL             INFO Time User   : Tot= 1.04  [s] Ave/Min/Max= 0.08(+-0.232)/    0/ 0.87  [s] #= 13
-ChronoStatSvc        INFO Time User   : Tot= 21.9  [s]                                             #=  1
+cObjR_ALL            INFO Time User   : Tot=  430 [ms] Ave/Min/Max=  215(+-  215)/    0/  430 [ms] #=  2
+cObj_ALL             INFO Time User   : Tot= 0.53  [s] Ave/Min/Max=0.0408(+-0.122)/    0/ 0.46  [s] #= 13
+ChronoStatSvc        INFO Time User   : Tot= 5.52  [s]                                             #=  1
 *****Chrono*****     INFO ****************************************************************************************************
 ChronoStatSvc.f...   INFO  Service finalized successfully 
 ApplicationMgr       INFO Application Manager Finalized successfully
 ApplicationMgr       INFO Application Manager Terminated successfully
 Py:Athena            INFO leaving with code 0: "successful run"
-Tue Jan 22 02:36:12 CET 2019
+Sat Jan 26 19:49:12 CET 2019
 Preloading tcmalloc_minimal.so
 Py:Athena            INFO including file "AthenaCommon/Preparation.py"
-Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-dbg] [atlas-work3/5871b6e8de] -- built on [2019-01-21T2115]
+Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-opt] [atlas-work3/5e0c78d866] -- built on [2019-01-26T1705]
 Py:Athena            INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
 Py:Athena            INFO executing ROOT6Setup
 Py:Athena            INFO configuring AthenaHive with [4] concurrent threads and [4] concurrent events
@@ -684,7 +684,7 @@ Py:Athena            INFO including file "AthenaCommon/Execution.py"
 Py:Athena            INFO including file "TileByteStream/TileLaserObjByteStreamCnv_test.py"
 [?1034hSetGeometryVersion.py obtained major release version 22
 Py:Athena            INFO including file "IdDictDetDescrCnv/IdDictDetDescrCnv_joboptions.py"
-Py:ConfigurableDb    INFO Read module info for 5456 configurables from 80 genConfDb files
+Py:ConfigurableDb    INFO Read module info for 5456 configurables from 76 genConfDb files
 Py:ConfigurableDb    INFO No duplicates have been found: that's good !
 EventInfoMgtInit: Got release version  Athena-22.0.1
 Py:IOVDbSvc.CondDB    INFO Setting up conditions DB access to instance OFLP200
@@ -711,7 +711,7 @@ MessageSvc           INFO Activating in a separate thread
 ApplicationMgr    SUCCESS 
 ====================================================================================================================================
                                                    Welcome to ApplicationMgr (GaudiCoreSvc v30r5)
-                                          running on lxplus068.cern.ch on Tue Jan 22 02:36:37 2019
+                                          running on lxplus062.cern.ch on Sat Jan 26 19:49:28 2019
 ====================================================================================================================================
 ApplicationMgr       INFO Successfully loaded modules : AthenaServices
 ApplicationMgr       INFO Application Manager Configured successfully
@@ -727,8 +727,8 @@ PoolSvc                                            INFO io_register[PoolSvc](xml
 PoolSvc                                            INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
 PoolSvc                                            INFO Frontier compression level set to 5
 DBReplicaSvc                                       INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data
-DBReplicaSvc                                       INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/dbreplica.config
-DBReplicaSvc                                       INFO Total of 10 servers found for host lxplus068.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
+DBReplicaSvc                                       INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config
+DBReplicaSvc                                       INFO Total of 10 servers found for host lxplus062.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
 PoolSvc                                            INFO Successfully setup replica sorting algorithm
 PoolSvc                                            INFO Setting up APR FileCatalog and Streams
 PoolSvc                                         WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables
@@ -869,7 +869,7 @@ EndcapDMConstruction                               INFO Start building EC electr
   multi-layered version of absorbers activated, mlabs == 1
 ================================================
 EndcapDMConstruction                               INFO Start building EC electronics geometry
-GeoModelSvc                                        INFO GeoModelSvc.LArDetectorToolNV	 SZ= 29600Kb 	 Time = 1.63S
+GeoModelSvc                                        INFO GeoModelSvc.LArDetectorToolNV	 SZ= 21916Kb 	 Time = 0.61S
 GeoModelSvc.TileDetectorTool                       INFO  Entering TileDetectorTool::create()
 TileDddbManager                                    INFO m_tag = ATLAS-R2-2016-01-00-01
 TileDddbManager                                    INFO n_tiglob = 5
@@ -881,7 +881,7 @@ TileDddbManager                                    INFO n_tileSwitches = 1
 ClassIDSvc                                         INFO  getRegistryEntries: read 213 CLIDRegistry entries for module ALL
 CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a TileID helper object in the detector store
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
-TileNeighbour                                      INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileNeighbour_reduced.txt
+TileNeighbour                                      INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileNeighbour_reduced.txt
 TileHWIDDetDescrCnv                                INFO in createObj: creating a TileHWID helper object in the detector store
 TileHWID                                           INFO initialize_from_dictionary 
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
@@ -893,9 +893,9 @@ CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
 CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a LArFCAL_ID helper object in the detector store
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal2DNeighbors-April2011.txt
-LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsNext-April2011.txt
-LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsPrev-April2011.txt
+LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal2DNeighbors-April2011.txt
+LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsNext-April2011.txt
+LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsPrev-April2011.txt
 CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a LArMiniFCAL_ID helper object in the detector store
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
 LArMiniFCAL_ID                                     INFO  initialize_from_dict - LArCalorimeter dictionary does NOT contain miniFCAL description. Unable to initialize LArMiniFCAL_ID.
@@ -926,11 +926,11 @@ GeoModelSvc.TileDetectorTool                       INFO
 GeoModelSvc.TileDetectorTool                       INFO  Positioning negative ITC with translation -3405
 GeoModelSvc.TileDetectorTool                       INFO  Positioning negative Gap with translation -3552
 GeoModelSvc.TileDetectorTool                       INFO  Positioning negative Crack with translation -3536
-GeoModelSvc.TileDetectorTool                       INFO  Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
-GeoModelSvc.TileDetectorTool                       INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
-GeoModelSvc.TileDetectorTool                       INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) GeoModelKernelUnits::cm
+GeoModelSvc.TileDetectorTool                       INFO  Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) Gaudi::Units::cm
+GeoModelSvc.TileDetectorTool                       INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) Gaudi::Units::cm
+GeoModelSvc.TileDetectorTool                       INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) Gaudi::Units::cm
 TileDetDescrManager                                INFO Entering create_elements()
-GeoModelSvc                                        INFO GeoModelSvc.TileDetectorTool	 SZ= 4172Kb 	 Time = 1.77S
+GeoModelSvc                                        INFO GeoModelSvc.TileDetectorTool	 SZ= 4592Kb 	 Time = 0.22S
 ClassIDSvc                                         INFO  getRegistryEntries: read 65 CLIDRegistry entries for module ALL
 TileInfoLoader                                     INFO Initializing....TileInfoLoader
 TileInfoLoader                                     INFO New ATLAS geometry detected: ATLAS-R2-2016-01-00-01 (010001) version 10001
@@ -952,11 +952,11 @@ TileInfoLoader                                     INFO Sampling fraction for E2
 TileInfoLoader                                     INFO Sampling fraction for E3 cells 1/97
 TileInfoLoader                                     INFO Sampling fraction for E4 cells 1/75
 TileInfoLoader                                     INFO Sampling fraction for E4' cells 1/75
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulsehi_physics.dat
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulselo_physics.dat
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_tower_physics.dat
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muonRcv_physics.dat
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muon_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulsehi_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulselo_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_tower_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muonRcv_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muon_physics.dat
 CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a CaloLVL1_ID helper object in the detector store
 CaloLVL1_ID                                        INFO initialize_from_dictionary
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
@@ -1076,12 +1076,12 @@ CaloIDHelper_IDDetDescrCnv              0   0      INFO in createObj: creating a
 AtlasDetectorID                         0   0      INFO initialize_from_dictionary - OK
 CaloIDHelper_IDDetDescrCnv              0   0      INFO in createObj: creating a LArFCAL_SuperCell_ID helper object in the detector store
 AtlasDetectorID                         0   0      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells2DNeighborsNew-April2014.txt
-LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
-LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
+LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells2DNeighborsNew-April2014.txt
+LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
+LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
 CaloIDHelper_IDDetDescrCnv              0   0      INFO in createObj: creating a Tile_SuperCell_ID helper object in the detector store
 AtlasDetectorID                         0   0      INFO initialize_from_dictionary - OK
-TileNeighbour                           0   0      INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileSuperCellNeighbour.txt
+TileNeighbour                           0   0      INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileSuperCellNeighbour.txt
 AtlasDetectorID                         0   0      INFO initialize_from_dictionary - OK
 CaloIdMgrDetDescrCnv                    0   0      INFO  Finished 
 CaloIdMgrDetDescrCnv                    0   0      INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv 
@@ -1092,45 +1092,45 @@ AthenaHiveEventLoopMgr                  0   0      INFO   ===>>>  start processi
 AthenaHiveEventLoopMgr                  1   1      INFO   ===>>>  start processing event #18125, run #363899 on slot 1,  0 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  2   2      INFO   ===>>>  start processing event #18126, run #363899 on slot 2,  0 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  3   3      INFO   ===>>>  start processing event #18127, run #363899 on slot 3,  0 events processed so far  <<<===
-ClassIDSvc                              0   0      INFO  getRegistryEntries: read 650 CLIDRegistry entries for module ALL
-ClassIDSvc                              0   0      INFO  getRegistryEntries: read 1757 CLIDRegistry entries for module ALL
-ClassIDSvc                              0   0      INFO  getRegistryEntries: read 89 CLIDRegistry entries for module ALL
-ToolSvc.TileROD_Decoder.TileROD_L2Bui...0   0      INFO TileL2Builder initialization completed
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18126, run #363899 on slot 2,  1 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  4   2      INFO   ===>>>  start processing event #18128, run #363899 on slot 2,  1 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18125, run #363899 on slot 1,  2 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18124, run #363899 on slot 0,  3 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18127, run #363899 on slot 3,  4 events processed so far  <<<===
+ClassIDSvc                              0   0      INFO  getRegistryEntries: read 670 CLIDRegistry entries for module ALL
+ClassIDSvc                              1   1      INFO  getRegistryEntries: read 1757 CLIDRegistry entries for module ALL
+ClassIDSvc                              1   1      INFO  getRegistryEntries: read 89 CLIDRegistry entries for module ALL
+ToolSvc.TileROD_Decoder.TileROD_L2Bui...1   1      INFO TileL2Builder initialization completed
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18125, run #363899 on slot 1,  1 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  4   1      INFO   ===>>>  start processing event #18128, run #363899 on slot 1,  1 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18124, run #363899 on slot 0,  2 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18127, run #363899 on slot 3,  3 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18126, run #363899 on slot 2,  4 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  5   0      INFO   ===>>>  start processing event #18129, run #363899 on slot 0,  4 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  6   1      INFO   ===>>>  start processing event #18130, run #363899 on slot 1,  4 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  6   2      INFO   ===>>>  start processing event #18130, run #363899 on slot 2,  4 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  7   3      INFO   ===>>>  start processing event #18131, run #363899 on slot 3,  4 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18128, run #363899 on slot 2,  5 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  8   2      INFO   ===>>>  start processing event #18132, run #363899 on slot 2,  5 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18128, run #363899 on slot 1,  5 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  8   1      INFO   ===>>>  start processing event #18132, run #363899 on slot 1,  5 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18129, run #363899 on slot 0,  6 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18130, run #363899 on slot 1,  7 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  9   0      INFO   ===>>>  start processing event #18133, run #363899 on slot 0,  7 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  10  1      INFO   ===>>>  start processing event #18134, run #363899 on slot 1,  7 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  9   0      INFO   ===>>>  start processing event #18133, run #363899 on slot 0,  6 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18130, run #363899 on slot 2,  7 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18131, run #363899 on slot 3,  8 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18132, run #363899 on slot 2,  9 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18132, run #363899 on slot 1,  9 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  10  1      INFO   ===>>>  start processing event #18134, run #363899 on slot 1,  9 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  11  2      INFO   ===>>>  start processing event #18135, run #363899 on slot 2,  9 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  12  3      INFO   ===>>>  start processing event #18136, run #363899 on slot 3,  9 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18133, run #363899 on slot 0,  10 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  13  0      INFO   ===>>>  start processing event #18137, run #363899 on slot 0,  10 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18134, run #363899 on slot 1,  11 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  13  0      INFO   ===>>>  start processing event #18137, run #363899 on slot 0,  11 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  14  1      INFO   ===>>>  start processing event #18138, run #363899 on slot 1,  11 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18135, run #363899 on slot 2,  12 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  14  1      INFO   ===>>>  start processing event #18138, run #363899 on slot 1,  12 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  15  2      INFO   ===>>>  start processing event #18139, run #363899 on slot 2,  12 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18136, run #363899 on slot 3,  13 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  15  2      INFO   ===>>>  start processing event #18139, run #363899 on slot 2,  13 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  16  3      INFO   ===>>>  start processing event #18140, run #363899 on slot 3,  13 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18137, run #363899 on slot 0,  14 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  16  0      INFO   ===>>>  start processing event #18140, run #363899 on slot 0,  14 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  17  3      INFO   ===>>>  start processing event #18141, run #363899 on slot 3,  14 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18138, run #363899 on slot 1,  15 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  17  0      INFO   ===>>>  start processing event #18141, run #363899 on slot 0,  15 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  18  1      INFO   ===>>>  start processing event #18142, run #363899 on slot 1,  15 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18140, run #363899 on slot 3,  16 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18139, run #363899 on slot 2,  17 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  19  2      INFO   ===>>>  start processing event #18143, run #363899 on slot 2,  17 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18139, run #363899 on slot 2,  16 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  19  2      INFO   ===>>>  start processing event #18143, run #363899 on slot 2,  16 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18141, run #363899 on slot 3,  17 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  20  3      INFO   ===>>>  start processing event #18144, run #363899 on slot 3,  17 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18141, run #363899 on slot 0,  18 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18140, run #363899 on slot 0,  18 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18142, run #363899 on slot 1,  19 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  21  0      INFO   ===>>>  start processing event #18145, run #363899 on slot 0,  19 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  22  1      INFO   ===>>>  start processing event #18146, run #363899 on slot 1,  19 events processed so far  <<<===
@@ -1139,160 +1139,160 @@ AthenaHiveEventLoopMgr                             INFO   ===>>>  done processin
 AthenaHiveEventLoopMgr                  23  2      INFO   ===>>>  start processing event #18147, run #363899 on slot 2,  21 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  24  3      INFO   ===>>>  start processing event #18148, run #363899 on slot 3,  21 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18145, run #363899 on slot 0,  22 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  25  0      INFO   ===>>>  start processing event #18149, run #363899 on slot 0,  22 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18146, run #363899 on slot 1,  23 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  25  0      INFO   ===>>>  start processing event #18149, run #363899 on slot 0,  23 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  26  1      INFO   ===>>>  start processing event #18150, run #363899 on slot 1,  23 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18147, run #363899 on slot 2,  24 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18148, run #363899 on slot 3,  25 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  26  1      INFO   ===>>>  start processing event #18150, run #363899 on slot 1,  25 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  27  2      INFO   ===>>>  start processing event #18151, run #363899 on slot 2,  25 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  28  3      INFO   ===>>>  start processing event #18152, run #363899 on slot 3,  25 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18149, run #363899 on slot 0,  26 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  29  0      INFO   ===>>>  start processing event #18153, run #363899 on slot 0,  26 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18150, run #363899 on slot 1,  27 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  29  0      INFO   ===>>>  start processing event #18153, run #363899 on slot 0,  27 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  30  1      INFO   ===>>>  start processing event #18154, run #363899 on slot 1,  27 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18151, run #363899 on slot 2,  28 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18152, run #363899 on slot 3,  29 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18153, run #363899 on slot 0,  30 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  31  0      INFO   ===>>>  start processing event #18155, run #363899 on slot 0,  30 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  32  2      INFO   ===>>>  start processing event #18156, run #363899 on slot 2,  30 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  33  3      INFO   ===>>>  start processing event #18157, run #363899 on slot 3,  30 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18154, run #363899 on slot 1,  31 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  31  2      INFO   ===>>>  start processing event #18155, run #363899 on slot 2,  29 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  32  3      INFO   ===>>>  start processing event #18156, run #363899 on slot 3,  29 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18154, run #363899 on slot 1,  30 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18153, run #363899 on slot 0,  31 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  33  0      INFO   ===>>>  start processing event #18157, run #363899 on slot 0,  31 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  34  1      INFO   ===>>>  start processing event #18158, run #363899 on slot 1,  31 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18156, run #363899 on slot 2,  32 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  35  2      INFO   ===>>>  start processing event #18159, run #363899 on slot 2,  32 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18157, run #363899 on slot 3,  33 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18155, run #363899 on slot 0,  34 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18155, run #363899 on slot 2,  32 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18156, run #363899 on slot 3,  33 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  35  2      INFO   ===>>>  start processing event #18159, run #363899 on slot 2,  33 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  36  3      INFO   ===>>>  start processing event #18160, run #363899 on slot 3,  33 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18157, run #363899 on slot 0,  34 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18158, run #363899 on slot 1,  35 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  36  0      INFO   ===>>>  start processing event #18160, run #363899 on slot 0,  35 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  37  1      INFO   ===>>>  start processing event #18161, run #363899 on slot 1,  35 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  38  3      INFO   ===>>>  start processing event #18162, run #363899 on slot 3,  35 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  37  0      INFO   ===>>>  start processing event #18161, run #363899 on slot 0,  35 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  38  1      INFO   ===>>>  start processing event #18162, run #363899 on slot 1,  35 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18159, run #363899 on slot 2,  36 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  39  2      INFO   ===>>>  start processing event #18163, run #363899 on slot 2,  36 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18160, run #363899 on slot 0,  37 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18161, run #363899 on slot 1,  38 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  40  0      INFO   ===>>>  start processing event #18164, run #363899 on slot 0,  38 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  41  1      INFO   ===>>>  start processing event #18165, run #363899 on slot 1,  38 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18162, run #363899 on slot 3,  39 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18163, run #363899 on slot 2,  40 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  42  2      INFO   ===>>>  start processing event #18166, run #363899 on slot 2,  40 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  43  3      INFO   ===>>>  start processing event #18167, run #363899 on slot 3,  40 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18164, run #363899 on slot 0,  41 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18165, run #363899 on slot 1,  42 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  44  0      INFO   ===>>>  start processing event #18168, run #363899 on slot 0,  42 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  45  1      INFO   ===>>>  start processing event #18169, run #363899 on slot 1,  42 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18166, run #363899 on slot 2,  43 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18167, run #363899 on slot 3,  44 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  46  2      INFO   ===>>>  start processing event #18170, run #363899 on slot 2,  44 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  47  3      INFO   ===>>>  start processing event #18171, run #363899 on slot 3,  44 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18168, run #363899 on slot 0,  45 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18169, run #363899 on slot 1,  46 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  48  0      INFO   ===>>>  start processing event #18172, run #363899 on slot 0,  46 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  49  1      INFO   ===>>>  start processing event #18173, run #363899 on slot 1,  46 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18170, run #363899 on slot 2,  47 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18171, run #363899 on slot 3,  48 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  50  2      INFO   ===>>>  start processing event #18174, run #363899 on slot 2,  48 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  51  3      INFO   ===>>>  start processing event #18175, run #363899 on slot 3,  48 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18172, run #363899 on slot 0,  49 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18173, run #363899 on slot 1,  50 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  52  0      INFO   ===>>>  start processing event #18176, run #363899 on slot 0,  50 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  53  1      INFO   ===>>>  start processing event #18177, run #363899 on slot 1,  50 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18174, run #363899 on slot 2,  51 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18175, run #363899 on slot 3,  52 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  54  2      INFO   ===>>>  start processing event #18178, run #363899 on slot 2,  52 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  55  3      INFO   ===>>>  start processing event #18179, run #363899 on slot 3,  52 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18176, run #363899 on slot 0,  53 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18177, run #363899 on slot 1,  54 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  56  0      INFO   ===>>>  start processing event #18180, run #363899 on slot 0,  54 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  57  1      INFO   ===>>>  start processing event #18181, run #363899 on slot 1,  54 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18178, run #363899 on slot 2,  55 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18179, run #363899 on slot 3,  56 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  58  2      INFO   ===>>>  start processing event #18182, run #363899 on slot 2,  56 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  59  3      INFO   ===>>>  start processing event #18183, run #363899 on slot 3,  56 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18180, run #363899 on slot 0,  57 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18181, run #363899 on slot 1,  58 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  60  0      INFO   ===>>>  start processing event #18184, run #363899 on slot 0,  58 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  61  1      INFO   ===>>>  start processing event #18185, run #363899 on slot 1,  58 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18182, run #363899 on slot 2,  59 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18183, run #363899 on slot 3,  60 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  62  2      INFO   ===>>>  start processing event #18186, run #363899 on slot 2,  60 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  63  3      INFO   ===>>>  start processing event #18187, run #363899 on slot 3,  60 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18184, run #363899 on slot 0,  61 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18185, run #363899 on slot 1,  62 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  64  0      INFO   ===>>>  start processing event #18188, run #363899 on slot 0,  62 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  65  1      INFO   ===>>>  start processing event #18189, run #363899 on slot 1,  62 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18186, run #363899 on slot 2,  63 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18187, run #363899 on slot 3,  64 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  66  2      INFO   ===>>>  start processing event #18190, run #363899 on slot 2,  64 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  67  3      INFO   ===>>>  start processing event #18191, run #363899 on slot 3,  64 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18188, run #363899 on slot 0,  65 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18189, run #363899 on slot 1,  66 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  68  0      INFO   ===>>>  start processing event #18192, run #363899 on slot 0,  66 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  69  1      INFO   ===>>>  start processing event #18193, run #363899 on slot 1,  66 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18190, run #363899 on slot 2,  67 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18191, run #363899 on slot 3,  68 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  70  2      INFO   ===>>>  start processing event #18194, run #363899 on slot 2,  68 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  71  3      INFO   ===>>>  start processing event #18195, run #363899 on slot 3,  68 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18160, run #363899 on slot 3,  37 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  39  2      INFO   ===>>>  start processing event #18163, run #363899 on slot 2,  37 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  40  3      INFO   ===>>>  start processing event #18164, run #363899 on slot 3,  37 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18161, run #363899 on slot 0,  38 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  41  0      INFO   ===>>>  start processing event #18165, run #363899 on slot 0,  38 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18162, run #363899 on slot 1,  39 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  42  1      INFO   ===>>>  start processing event #18166, run #363899 on slot 1,  39 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18164, run #363899 on slot 3,  40 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18163, run #363899 on slot 2,  41 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  43  2      INFO   ===>>>  start processing event #18167, run #363899 on slot 2,  41 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  44  3      INFO   ===>>>  start processing event #18168, run #363899 on slot 3,  41 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18165, run #363899 on slot 0,  42 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  45  0      INFO   ===>>>  start processing event #18169, run #363899 on slot 0,  42 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18166, run #363899 on slot 1,  43 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  46  1      INFO   ===>>>  start processing event #18170, run #363899 on slot 1,  43 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18167, run #363899 on slot 2,  44 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18168, run #363899 on slot 3,  45 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  47  2      INFO   ===>>>  start processing event #18171, run #363899 on slot 2,  45 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  48  3      INFO   ===>>>  start processing event #18172, run #363899 on slot 3,  45 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18169, run #363899 on slot 0,  46 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18170, run #363899 on slot 1,  47 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  49  0      INFO   ===>>>  start processing event #18173, run #363899 on slot 0,  47 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  50  1      INFO   ===>>>  start processing event #18174, run #363899 on slot 1,  47 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18171, run #363899 on slot 2,  48 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18172, run #363899 on slot 3,  49 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  51  2      INFO   ===>>>  start processing event #18175, run #363899 on slot 2,  49 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  52  3      INFO   ===>>>  start processing event #18176, run #363899 on slot 3,  49 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18173, run #363899 on slot 0,  50 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18174, run #363899 on slot 1,  51 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  53  0      INFO   ===>>>  start processing event #18177, run #363899 on slot 0,  51 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  54  1      INFO   ===>>>  start processing event #18178, run #363899 on slot 1,  51 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18175, run #363899 on slot 2,  52 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18176, run #363899 on slot 3,  53 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  55  2      INFO   ===>>>  start processing event #18179, run #363899 on slot 2,  53 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  56  3      INFO   ===>>>  start processing event #18180, run #363899 on slot 3,  53 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18177, run #363899 on slot 0,  54 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  57  0      INFO   ===>>>  start processing event #18181, run #363899 on slot 0,  54 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18178, run #363899 on slot 1,  55 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18180, run #363899 on slot 3,  56 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18179, run #363899 on slot 2,  57 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  58  1      INFO   ===>>>  start processing event #18182, run #363899 on slot 1,  57 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  59  2      INFO   ===>>>  start processing event #18183, run #363899 on slot 2,  57 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  60  3      INFO   ===>>>  start processing event #18184, run #363899 on slot 3,  57 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18181, run #363899 on slot 0,  58 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  61  0      INFO   ===>>>  start processing event #18185, run #363899 on slot 0,  58 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18182, run #363899 on slot 1,  59 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  62  1      INFO   ===>>>  start processing event #18186, run #363899 on slot 1,  59 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18183, run #363899 on slot 2,  60 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18184, run #363899 on slot 3,  61 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  63  2      INFO   ===>>>  start processing event #18187, run #363899 on slot 2,  61 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  64  3      INFO   ===>>>  start processing event #18188, run #363899 on slot 3,  61 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18185, run #363899 on slot 0,  62 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18186, run #363899 on slot 1,  63 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  65  0      INFO   ===>>>  start processing event #18189, run #363899 on slot 0,  63 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  66  1      INFO   ===>>>  start processing event #18190, run #363899 on slot 1,  63 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18187, run #363899 on slot 2,  64 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  67  2      INFO   ===>>>  start processing event #18191, run #363899 on slot 2,  64 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18188, run #363899 on slot 3,  65 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18189, run #363899 on slot 0,  66 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18190, run #363899 on slot 1,  67 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  68  0      INFO   ===>>>  start processing event #18192, run #363899 on slot 0,  67 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  69  1      INFO   ===>>>  start processing event #18193, run #363899 on slot 1,  67 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  70  3      INFO   ===>>>  start processing event #18194, run #363899 on slot 3,  67 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18191, run #363899 on slot 2,  68 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  71  2      INFO   ===>>>  start processing event #18195, run #363899 on slot 2,  68 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18192, run #363899 on slot 0,  69 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  72  0      INFO   ===>>>  start processing event #18196, run #363899 on slot 0,  69 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18193, run #363899 on slot 1,  70 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  72  0      INFO   ===>>>  start processing event #18196, run #363899 on slot 0,  70 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  73  1      INFO   ===>>>  start processing event #18197, run #363899 on slot 1,  70 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18194, run #363899 on slot 2,  71 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18195, run #363899 on slot 3,  72 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  74  2      INFO   ===>>>  start processing event #18198, run #363899 on slot 2,  72 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  75  3      INFO   ===>>>  start processing event #18199, run #363899 on slot 3,  72 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18194, run #363899 on slot 3,  71 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  73  1      INFO   ===>>>  start processing event #18197, run #363899 on slot 1,  71 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  74  3      INFO   ===>>>  start processing event #18198, run #363899 on slot 3,  71 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18195, run #363899 on slot 2,  72 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18196, run #363899 on slot 0,  73 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  75  0      INFO   ===>>>  start processing event #18199, run #363899 on slot 0,  73 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  76  2      INFO   ===>>>  start processing event #18200, run #363899 on slot 2,  73 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18197, run #363899 on slot 1,  74 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  76  0      INFO   ===>>>  start processing event #18200, run #363899 on slot 0,  74 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  77  1      INFO   ===>>>  start processing event #18201, run #363899 on slot 1,  74 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18198, run #363899 on slot 2,  75 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18199, run #363899 on slot 3,  76 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  78  2      INFO   ===>>>  start processing event #18202, run #363899 on slot 2,  76 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  79  3      INFO   ===>>>  start processing event #18203, run #363899 on slot 3,  76 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18200, run #363899 on slot 0,  77 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18198, run #363899 on slot 3,  75 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  78  3      INFO   ===>>>  start processing event #18202, run #363899 on slot 3,  75 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18199, run #363899 on slot 0,  76 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18200, run #363899 on slot 2,  77 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18201, run #363899 on slot 1,  78 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  80  0      INFO   ===>>>  start processing event #18204, run #363899 on slot 0,  78 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  81  1      INFO   ===>>>  start processing event #18205, run #363899 on slot 1,  78 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18202, run #363899 on slot 2,  79 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18203, run #363899 on slot 3,  80 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  82  2      INFO   ===>>>  start processing event #18206, run #363899 on slot 2,  80 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  83  3      INFO   ===>>>  start processing event #18207, run #363899 on slot 3,  80 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18204, run #363899 on slot 0,  81 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18205, run #363899 on slot 1,  82 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  84  0      INFO   ===>>>  start processing event #18208, run #363899 on slot 0,  82 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  85  1      INFO   ===>>>  start processing event #18209, run #363899 on slot 1,  82 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18206, run #363899 on slot 2,  83 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18207, run #363899 on slot 3,  84 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  86  2      INFO   ===>>>  start processing event #18210, run #363899 on slot 2,  84 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  87  3      INFO   ===>>>  start processing event #18211, run #363899 on slot 3,  84 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18208, run #363899 on slot 0,  85 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18209, run #363899 on slot 1,  86 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  79  0      INFO   ===>>>  start processing event #18203, run #363899 on slot 0,  78 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  80  1      INFO   ===>>>  start processing event #18204, run #363899 on slot 1,  78 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  81  2      INFO   ===>>>  start processing event #18205, run #363899 on slot 2,  78 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18202, run #363899 on slot 3,  79 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  82  3      INFO   ===>>>  start processing event #18206, run #363899 on slot 3,  79 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18203, run #363899 on slot 0,  80 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18204, run #363899 on slot 1,  81 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18205, run #363899 on slot 2,  82 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  83  0      INFO   ===>>>  start processing event #18207, run #363899 on slot 0,  82 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  84  1      INFO   ===>>>  start processing event #18208, run #363899 on slot 1,  82 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  85  2      INFO   ===>>>  start processing event #18209, run #363899 on slot 2,  82 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18206, run #363899 on slot 3,  83 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  86  3      INFO   ===>>>  start processing event #18210, run #363899 on slot 3,  83 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18208, run #363899 on slot 1,  84 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  87  1      INFO   ===>>>  start processing event #18211, run #363899 on slot 1,  84 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18207, run #363899 on slot 0,  85 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18210, run #363899 on slot 3,  86 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  88  0      INFO   ===>>>  start processing event #18212, run #363899 on slot 0,  86 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  89  1      INFO   ===>>>  start processing event #18213, run #363899 on slot 1,  86 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18210, run #363899 on slot 2,  87 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18211, run #363899 on slot 3,  88 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  90  2      INFO   ===>>>  start processing event #18214, run #363899 on slot 2,  88 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  91  3      INFO   ===>>>  start processing event #18215, run #363899 on slot 3,  88 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  89  3      INFO   ===>>>  start processing event #18213, run #363899 on slot 3,  86 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18209, run #363899 on slot 2,  87 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18211, run #363899 on slot 1,  88 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  90  1      INFO   ===>>>  start processing event #18214, run #363899 on slot 1,  88 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  91  2      INFO   ===>>>  start processing event #18215, run #363899 on slot 2,  88 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18212, run #363899 on slot 0,  89 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18213, run #363899 on slot 1,  90 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  92  0      INFO   ===>>>  start processing event #18216, run #363899 on slot 0,  90 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  93  1      INFO   ===>>>  start processing event #18217, run #363899 on slot 1,  90 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18214, run #363899 on slot 2,  91 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18215, run #363899 on slot 3,  92 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  94  2      INFO   ===>>>  start processing event #18218, run #363899 on slot 2,  92 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  95  3      INFO   ===>>>  start processing event #18219, run #363899 on slot 3,  92 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  92  0      INFO   ===>>>  start processing event #18216, run #363899 on slot 0,  89 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18213, run #363899 on slot 3,  90 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  93  3      INFO   ===>>>  start processing event #18217, run #363899 on slot 3,  90 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18214, run #363899 on slot 1,  91 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18215, run #363899 on slot 2,  92 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  94  1      INFO   ===>>>  start processing event #18218, run #363899 on slot 1,  92 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  95  2      INFO   ===>>>  start processing event #18219, run #363899 on slot 2,  92 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18216, run #363899 on slot 0,  93 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18217, run #363899 on slot 1,  94 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  96  0      INFO   ===>>>  start processing event #18220, run #363899 on slot 0,  94 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  97  1      INFO   ===>>>  start processing event #18221, run #363899 on slot 1,  94 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18218, run #363899 on slot 2,  95 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18219, run #363899 on slot 3,  96 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  98  2      INFO   ===>>>  start processing event #18222, run #363899 on slot 2,  96 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  99  3      INFO   ===>>>  start processing event #18223, run #363899 on slot 3,  96 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  96  0      INFO   ===>>>  start processing event #18220, run #363899 on slot 0,  93 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18217, run #363899 on slot 3,  94 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  97  3      INFO   ===>>>  start processing event #18221, run #363899 on slot 3,  94 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18218, run #363899 on slot 1,  95 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18219, run #363899 on slot 2,  96 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  98  1      INFO   ===>>>  start processing event #18222, run #363899 on slot 1,  96 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  99  2      INFO   ===>>>  start processing event #18223, run #363899 on slot 2,  96 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18220, run #363899 on slot 0,  97 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18221, run #363899 on slot 1,  98 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18222, run #363899 on slot 2,  99 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18223, run #363899 on slot 3,  100 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO ---> Loop Finished (seconds): 23.6664
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18221, run #363899 on slot 3,  98 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18222, run #363899 on slot 1,  99 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18223, run #363899 on slot 2,  100 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO ---> Loop Finished (seconds): 4.80402
 /cvmfs/atlas-condb.cern.ch/repo/condi...           INFO Database being retired...
 Domain[ROOT_All]                                   INFO ->  Deaccess DbDatabase   READ      [ROOT_All] 06C9EAE8-6F5B-E011-BAAA-003048F0E7AC
 /cvmfs/atlas-condb.cern.ch/repo/condi...           INFO Database being retired...
@@ -1310,7 +1310,7 @@ AvalancheSchedulerSvc                              INFO Joining Scheduler thread
 PyComponentMgr                                     INFO Finalizing PyComponentMgr...
 IdDictDetDescrCnv                                  INFO in finalize
 EventDataSvc                                       INFO Finalizing EventDataSvc - package version StoreGate-00-00-00
-IOVDbFolder                                        INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/340 ((     1.48 ))s
+IOVDbFolder                                        INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/340 ((     0.22 ))s
 IOVDbFolder                                        INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
 IOVDbFolder                                        INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
 IOVDbFolder                                        INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
@@ -1322,10 +1322,10 @@ IOVDbFolder                                        INFO Folder /TILE/OFL02/NOISE
 IOVDbFolder                                        INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
 IOVDbFolder                                        INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
 IOVDbFolder                                        INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
-IOVDbFolder                                        INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.36 ))s
-IOVDbSvc                                           INFO  bytes in ((      1.84 ))s
+IOVDbFolder                                        INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.02 ))s
+IOVDbSvc                                           INFO  bytes in ((      0.24 ))s
 IOVDbSvc                                           INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: ((     0.00 ))s
-IOVDbSvc                                           INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     1.84 ))s
+IOVDbSvc                                           INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     0.24 ))s
 IOVDbSvc                                           INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 1 nFolders: 11 ReadTime: ((     0.00 ))s
 TileInfoLoader                                     INFO TileInfoLoader::finalize()
 AthDictLoaderSvc                                   INFO in finalize...
@@ -1335,9 +1335,9 @@ ToolSvc.TileROD_Decoder.TileROD_L2Bui...           INFO Finalizing
 *****Chrono*****                                   INFO ****************************************************************************************************
 *****Chrono*****                                   INFO  The Final CPU consumption ( Chrono ) Table (ordered)
 *****Chrono*****                                   INFO ****************************************************************************************************
-cObjR_ALL                                          INFO Time User   : Tot= 0.84  [s] Ave/Min/Max= 0.42(+-  0.4)/ 0.02/ 0.82  [s] #=  2
-cObj_ALL                                           INFO Time User   : Tot= 1.05  [s] Ave/Min/Max=0.525(+-0.395)/ 0.13/ 0.92  [s] #=  2
-ChronoStatSvc                                      INFO Time User   : Tot= 19.1  [s]                                             #=  1
+cObjR_ALL                                          INFO Time User   : Tot=  450 [ms] Ave/Min/Max=  225(+-  225)/    0/  450 [ms] #=  2
+cObj_ALL                                           INFO Time User   : Tot= 0.57  [s] Ave/Min/Max=0.285(+-0.215)/ 0.07/  0.5  [s] #=  2
+ChronoStatSvc                                      INFO Time User   : Tot= 4.22  [s]                                             #=  1
 *****Chrono*****                                   INFO ****************************************************************************************************
 ChronoStatSvc.finalize()                           INFO  Service finalized successfully 
 ApplicationMgr                                     INFO Application Manager Finalized successfully
diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileMuRcvContByteStreamCnv_test.ref b/TileCalorimeter/TileSvc/TileByteStream/share/TileMuRcvContByteStreamCnv_test.ref
index 3bd2d06a7093..5bda63d102d7 100644
--- a/TileCalorimeter/TileSvc/TileByteStream/share/TileMuRcvContByteStreamCnv_test.ref
+++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileMuRcvContByteStreamCnv_test.ref
@@ -1,14 +1,14 @@
-Tue Jan 22 03:44:22 CET 2019
+Sat Jan 26 19:52:46 CET 2019
 Preloading tcmalloc_minimal.so
 Py:Athena            INFO including file "AthenaCommon/Preparation.py"
-Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-dbg] [atlas-work3/5871b6e8de] -- built on [2019-01-21T2115]
+Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-opt] [atlas-work3/5e0c78d866] -- built on [2019-01-26T1705]
 Py:Athena            INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
 Py:Athena            INFO executing ROOT6Setup
 Py:Athena            INFO including file "AthenaCommon/Execution.py"
 Py:Athena            INFO including file "TileByteStream/TileMuRcvContByteStreamCnv_test.py"
 [?1034hSetGeometryVersion.py obtained major release version 22
 Py:Athena            INFO including file "IdDictDetDescrCnv/IdDictDetDescrCnv_joboptions.py"
-Py:ConfigurableDb    INFO Read module info for 5456 configurables from 80 genConfDb files
+Py:ConfigurableDb    INFO Read module info for 5456 configurables from 76 genConfDb files
 Py:ConfigurableDb    INFO No duplicates have been found: that's good !
 EventInfoMgtInit: Got release version  Athena-22.0.1
 Py:IOVDbSvc.CondDB    INFO Setting up conditions DB access to instance OFLP200
@@ -34,7 +34,7 @@ ApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to leve
 ApplicationMgr    SUCCESS 
 ====================================================================================================================================
                                                    Welcome to ApplicationMgr (GaudiCoreSvc v30r5)
-                                          running on lxplus068.cern.ch on Tue Jan 22 03:44:49 2019
+                                          running on lxplus062.cern.ch on Sat Jan 26 19:53:04 2019
 ====================================================================================================================================
 ApplicationMgr       INFO Successfully loaded modules : AthenaServices
 ApplicationMgr       INFO Application Manager Configured successfully
@@ -51,8 +51,8 @@ PoolSvc              INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.x
 PoolSvc              INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
 PoolSvc              INFO Frontier compression level set to 5
 DBReplicaSvc         INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data
-DBReplicaSvc         INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/dbreplica.config
-DBReplicaSvc         INFO Total of 10 servers found for host lxplus068.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
+DBReplicaSvc         INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config
+DBReplicaSvc         INFO Total of 10 servers found for host lxplus062.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
 PoolSvc              INFO Successfully setup replica sorting algorithm
 PoolSvc              INFO Setting up APR FileCatalog and Streams
 PoolSvc           WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables
@@ -193,7 +193,7 @@ EndcapDMConstru...   INFO Start building EC electronics geometry
   multi-layered version of absorbers activated, mlabs == 1
 ================================================
 EndcapDMConstru...   INFO Start building EC electronics geometry
-GeoModelSvc          INFO GeoModelSvc.LArDetectorToolNV	 SZ= 28576Kb 	 Time = 1.7S
+GeoModelSvc          INFO GeoModelSvc.LArDetectorToolNV	 SZ= 23964Kb 	 Time = 0.64S
 GeoModelSvc.Til...   INFO  Entering TileDetectorTool::create()
 TileDddbManager      INFO m_tag = ATLAS-R2-2016-01-00-01
 TileDddbManager      INFO n_tiglob = 5
@@ -205,7 +205,7 @@ TileDddbManager      INFO n_tileSwitches = 1
 ClassIDSvc           INFO  getRegistryEntries: read 213 CLIDRegistry entries for module ALL
 CaloIDHelper_ID...   INFO in createObj: creating a TileID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileNeighbour_reduced.txt
+TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileNeighbour_reduced.txt
 TileHWIDDetDesc...   INFO in createObj: creating a TileHWID helper object in the detector store
 TileHWID             INFO initialize_from_dictionary 
 AtlasDetectorID      INFO initialize_from_dictionary - OK
@@ -217,9 +217,9 @@ CaloIDHelper_ID...   INFO in createObj: creating a LArHEC_ID helper object in th
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIDHelper_ID...   INFO in createObj: creating a LArFCAL_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal2DNeighbors-April2011.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsNext-April2011.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsPrev-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal2DNeighbors-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsNext-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsPrev-April2011.txt
 CaloIDHelper_ID...   INFO in createObj: creating a LArMiniFCAL_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 LArMiniFCAL_ID       INFO  initialize_from_dict - LArCalorimeter dictionary does NOT contain miniFCAL description. Unable to initialize LArMiniFCAL_ID.
@@ -250,11 +250,11 @@ GeoModelSvc.Til...   INFO                                    PLUG2  Rmin= 2981 R
 GeoModelSvc.Til...   INFO  Positioning negative ITC with translation -3405
 GeoModelSvc.Til...   INFO  Positioning negative Gap with translation -3552
 GeoModelSvc.Til...   INFO  Positioning negative Crack with translation -3536
-GeoModelSvc.Til...   INFO  Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
-GeoModelSvc.Til...   INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
-GeoModelSvc.Til...   INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) GeoModelKernelUnits::cm
+GeoModelSvc.Til...   INFO  Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) Gaudi::Units::cm
+GeoModelSvc.Til...   INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) Gaudi::Units::cm
+GeoModelSvc.Til...   INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) Gaudi::Units::cm
 TileDetDescrMan...   INFO Entering create_elements()
-GeoModelSvc          INFO GeoModelSvc.TileDetectorTool	 SZ= 5196Kb 	 Time = 1.74S
+GeoModelSvc          INFO GeoModelSvc.TileDetectorTool	 SZ= 3568Kb 	 Time = 0.22S
 ClassIDSvc           INFO  getRegistryEntries: read 65 CLIDRegistry entries for module ALL
 TileInfoLoader       INFO Initializing....TileInfoLoader
 TileInfoLoader       INFO New ATLAS geometry detected: ATLAS-R2-2016-01-00-01 (010001) version 10001
@@ -276,11 +276,11 @@ TileInfoLoader       INFO Sampling fraction for E2 cells 1/107
 TileInfoLoader       INFO Sampling fraction for E3 cells 1/97
 TileInfoLoader       INFO Sampling fraction for E4 cells 1/75
 TileInfoLoader       INFO Sampling fraction for E4' cells 1/75
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulsehi_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulselo_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_tower_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muonRcv_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muon_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulsehi_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulselo_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_tower_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muonRcv_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muon_physics.dat
 CaloIDHelper_ID...   INFO in createObj: creating a CaloLVL1_ID helper object in the detector store
 CaloLVL1_ID          INFO initialize_from_dictionary
 AtlasDetectorID      INFO initialize_from_dictionary - OK
@@ -388,12 +388,12 @@ CaloIDHelper_ID...   INFO in createObj: creating a LArHEC_SuperCell_ID helper ob
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIDHelper_ID...   INFO in createObj: creating a LArFCAL_SuperCell_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells2DNeighborsNew-April2014.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells2DNeighborsNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
 CaloIDHelper_ID...   INFO in createObj: creating a Tile_SuperCell_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileSuperCellNeighbour.txt
+TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileSuperCellNeighbour.txt
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIdMgrDetDes...   INFO  Finished 
 CaloIdMgrDetDes...   INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv 
@@ -422,7 +422,7 @@ TileBadChannels...   INFO TileBchStatus::isNoisy() is defined by: Large HF noise
 TileBadChannels...   INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; 
 TileBadChannels...   INFO TileBchStatus::isBadTiming() is defined by: Bad timing; 
 TileBadChannels...   INFO No drawer trips probabilities found in DB
-ClassIDSvc           INFO  getRegistryEntries: read 2407 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 2427 CLIDRegistry entries for module ALL
 ClassIDSvc           INFO  getRegistryEntries: read 89 CLIDRegistry entries for module ALL
 ToolSvc.TileROD...   INFO TileL2Builder initialization completed
 ToolSvc.TileMuR...   INFO Initializing TileMuRcvContByteStreamTool
@@ -641,23 +641,23 @@ IncidentProcAlg2     INFO Finalize
 EventInfoByteSt...   INFO finalize 
 PyComponentMgr       INFO Finalizing PyComponentMgr...
 IdDictDetDescrCnv    INFO in finalize
-IOVDbFolder          INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/340 ((     0.14 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/105700 ((     0.09 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.07 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.07 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/116 ((     0.05 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/964 ((     0.04 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 ((     0.05 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104 ((     0.05 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/643860 ((     0.05 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/43200 ((     0.07 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/120 ((     0.05 ))s
-IOVDbFolder          INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/100 ((     0.02 ))s
+IOVDbFolder          INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/340 ((     0.30 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/105700 ((     0.48 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.02 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.02 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/116 ((     0.02 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/964 ((     0.03 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 ((     0.03 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104 ((     0.02 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/643860 ((     0.03 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/43200 ((     0.03 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/120 ((     0.03 ))s
+IOVDbFolder          INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/100 ((     0.00 ))s
 IOVDbFolder          INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.02 ))s
-IOVDbSvc             INFO  bytes in ((      0.75 ))s
+IOVDbSvc             INFO  bytes in ((      1.04 ))s
 IOVDbSvc             INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: ((     0.00 ))s
-IOVDbSvc             INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     0.15 ))s
-IOVDbSvc             INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: ((     0.60 ))s
+IOVDbSvc             INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     0.32 ))s
+IOVDbSvc             INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: ((     0.72 ))s
 TileInfoLoader       INFO TileInfoLoader::finalize()
 AthDictLoaderSvc     INFO in finalize...
 ToolSvc              INFO Removing all tools created by ToolSvc
@@ -667,18 +667,18 @@ ToolSvc.TileROD...   INFO Finalizing
 *****Chrono*****     INFO ****************************************************************************************************
 *****Chrono*****     INFO  The Final CPU consumption ( Chrono ) Table (ordered)
 *****Chrono*****     INFO ****************************************************************************************************
-cObjR_ALL            INFO Time User   : Tot= 0.86  [s] Ave/Min/Max= 0.43(+- 0.41)/ 0.02/ 0.84  [s] #=  2
-cObj_ALL             INFO Time User   : Tot= 1.09  [s] Ave/Min/Max=0.0838(+-0.248)/    0/ 0.93  [s] #= 13
-ChronoStatSvc        INFO Time User   : Tot= 22.8  [s]                                             #=  1
+cObjR_ALL            INFO Time User   : Tot=  410 [ms] Ave/Min/Max=  205(+-  205)/    0/  410 [ms] #=  2
+cObj_ALL             INFO Time User   : Tot= 0.52  [s] Ave/Min/Max= 0.04(+- 0.12)/    0/ 0.45  [s] #= 13
+ChronoStatSvc        INFO Time User   : Tot= 5.47  [s]                                             #=  1
 *****Chrono*****     INFO ****************************************************************************************************
 ChronoStatSvc.f...   INFO  Service finalized successfully 
 ApplicationMgr       INFO Application Manager Finalized successfully
 ApplicationMgr       INFO Application Manager Terminated successfully
 Py:Athena            INFO leaving with code 0: "successful run"
-Tue Jan 22 03:45:40 CET 2019
+Sat Jan 26 19:53:19 CET 2019
 Preloading tcmalloc_minimal.so
 Py:Athena            INFO including file "AthenaCommon/Preparation.py"
-Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-dbg] [atlas-work3/5871b6e8de] -- built on [2019-01-21T2115]
+Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-opt] [atlas-work3/5e0c78d866] -- built on [2019-01-26T1705]
 Py:Athena            INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
 Py:Athena            INFO executing ROOT6Setup
 Py:Athena            INFO configuring AthenaHive with [4] concurrent threads and [4] concurrent events
@@ -687,7 +687,7 @@ Py:Athena            INFO including file "AthenaCommon/Execution.py"
 Py:Athena            INFO including file "TileByteStream/TileMuRcvContByteStreamCnv_test.py"
 [?1034hSetGeometryVersion.py obtained major release version 22
 Py:Athena            INFO including file "IdDictDetDescrCnv/IdDictDetDescrCnv_joboptions.py"
-Py:ConfigurableDb    INFO Read module info for 5456 configurables from 80 genConfDb files
+Py:ConfigurableDb    INFO Read module info for 5456 configurables from 76 genConfDb files
 Py:ConfigurableDb    INFO No duplicates have been found: that's good !
 EventInfoMgtInit: Got release version  Athena-22.0.1
 Py:IOVDbSvc.CondDB    INFO Setting up conditions DB access to instance OFLP200
@@ -714,7 +714,7 @@ MessageSvc           INFO Activating in a separate thread
 ApplicationMgr    SUCCESS 
 ====================================================================================================================================
                                                    Welcome to ApplicationMgr (GaudiCoreSvc v30r5)
-                                          running on lxplus068.cern.ch on Tue Jan 22 03:46:11 2019
+                                          running on lxplus062.cern.ch on Sat Jan 26 19:53:36 2019
 ====================================================================================================================================
 ApplicationMgr       INFO Successfully loaded modules : AthenaServices
 ApplicationMgr       INFO Application Manager Configured successfully
@@ -730,8 +730,8 @@ PoolSvc                                            INFO io_register[PoolSvc](xml
 PoolSvc                                            INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
 PoolSvc                                            INFO Frontier compression level set to 5
 DBReplicaSvc                                       INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data
-DBReplicaSvc                                       INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/dbreplica.config
-DBReplicaSvc                                       INFO Total of 10 servers found for host lxplus068.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
+DBReplicaSvc                                       INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config
+DBReplicaSvc                                       INFO Total of 10 servers found for host lxplus062.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
 PoolSvc                                            INFO Successfully setup replica sorting algorithm
 PoolSvc                                            INFO Setting up APR FileCatalog and Streams
 PoolSvc                                         WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables
@@ -873,7 +873,7 @@ EndcapDMConstruction                               INFO Start building EC electr
   multi-layered version of absorbers activated, mlabs == 1
 ================================================
 EndcapDMConstruction                               INFO Start building EC electronics geometry
-GeoModelSvc                                        INFO GeoModelSvc.LArDetectorToolNV	 SZ= 28576Kb 	 Time = 1.62S
+GeoModelSvc                                        INFO GeoModelSvc.LArDetectorToolNV	 SZ= 22940Kb 	 Time = 0.61S
 GeoModelSvc.TileDetectorTool                       INFO  Entering TileDetectorTool::create()
 TileDddbManager                                    INFO m_tag = ATLAS-R2-2016-01-00-01
 TileDddbManager                                    INFO n_tiglob = 5
@@ -885,7 +885,7 @@ TileDddbManager                                    INFO n_tileSwitches = 1
 ClassIDSvc                                         INFO  getRegistryEntries: read 213 CLIDRegistry entries for module ALL
 CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a TileID helper object in the detector store
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
-TileNeighbour                                      INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileNeighbour_reduced.txt
+TileNeighbour                                      INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileNeighbour_reduced.txt
 TileHWIDDetDescrCnv                                INFO in createObj: creating a TileHWID helper object in the detector store
 TileHWID                                           INFO initialize_from_dictionary 
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
@@ -897,9 +897,9 @@ CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
 CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a LArFCAL_ID helper object in the detector store
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal2DNeighbors-April2011.txt
-LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsNext-April2011.txt
-LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsPrev-April2011.txt
+LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal2DNeighbors-April2011.txt
+LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsNext-April2011.txt
+LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsPrev-April2011.txt
 CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a LArMiniFCAL_ID helper object in the detector store
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
 LArMiniFCAL_ID                                     INFO  initialize_from_dict - LArCalorimeter dictionary does NOT contain miniFCAL description. Unable to initialize LArMiniFCAL_ID.
@@ -930,11 +930,11 @@ GeoModelSvc.TileDetectorTool                       INFO
 GeoModelSvc.TileDetectorTool                       INFO  Positioning negative ITC with translation -3405
 GeoModelSvc.TileDetectorTool                       INFO  Positioning negative Gap with translation -3552
 GeoModelSvc.TileDetectorTool                       INFO  Positioning negative Crack with translation -3536
-GeoModelSvc.TileDetectorTool                       INFO  Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
-GeoModelSvc.TileDetectorTool                       INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
-GeoModelSvc.TileDetectorTool                       INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) GeoModelKernelUnits::cm
+GeoModelSvc.TileDetectorTool                       INFO  Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) Gaudi::Units::cm
+GeoModelSvc.TileDetectorTool                       INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) Gaudi::Units::cm
+GeoModelSvc.TileDetectorTool                       INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) Gaudi::Units::cm
 TileDetDescrManager                                INFO Entering create_elements()
-GeoModelSvc                                        INFO GeoModelSvc.TileDetectorTool	 SZ= 5196Kb 	 Time = 1.71S
+GeoModelSvc                                        INFO GeoModelSvc.TileDetectorTool	 SZ= 4592Kb 	 Time = 0.21S
 ClassIDSvc                                         INFO  getRegistryEntries: read 65 CLIDRegistry entries for module ALL
 TileInfoLoader                                     INFO Initializing....TileInfoLoader
 TileInfoLoader                                     INFO New ATLAS geometry detected: ATLAS-R2-2016-01-00-01 (010001) version 10001
@@ -956,11 +956,11 @@ TileInfoLoader                                     INFO Sampling fraction for E2
 TileInfoLoader                                     INFO Sampling fraction for E3 cells 1/97
 TileInfoLoader                                     INFO Sampling fraction for E4 cells 1/75
 TileInfoLoader                                     INFO Sampling fraction for E4' cells 1/75
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulsehi_physics.dat
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulselo_physics.dat
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_tower_physics.dat
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muonRcv_physics.dat
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muon_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulsehi_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulselo_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_tower_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muonRcv_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muon_physics.dat
 CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a CaloLVL1_ID helper object in the detector store
 CaloLVL1_ID                                        INFO initialize_from_dictionary
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
@@ -1080,12 +1080,12 @@ CaloIDHelper_IDDetDescrCnv              0   0      INFO in createObj: creating a
 AtlasDetectorID                         0   0      INFO initialize_from_dictionary - OK
 CaloIDHelper_IDDetDescrCnv              0   0      INFO in createObj: creating a LArFCAL_SuperCell_ID helper object in the detector store
 AtlasDetectorID                         0   0      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells2DNeighborsNew-April2014.txt
-LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
-LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
+LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells2DNeighborsNew-April2014.txt
+LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
+LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
 CaloIDHelper_IDDetDescrCnv              0   0      INFO in createObj: creating a Tile_SuperCell_ID helper object in the detector store
 AtlasDetectorID                         0   0      INFO initialize_from_dictionary - OK
-TileNeighbour                           0   0      INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileSuperCellNeighbour.txt
+TileNeighbour                           0   0      INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileSuperCellNeighbour.txt
 AtlasDetectorID                         0   0      INFO initialize_from_dictionary - OK
 CaloIdMgrDetDescrCnv                    0   0      INFO  Finished 
 CaloIdMgrDetDescrCnv                    0   0      INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv 
@@ -1096,208 +1096,208 @@ AthenaHiveEventLoopMgr                  0   0      INFO   ===>>>  start processi
 AthenaHiveEventLoopMgr                  1   1      INFO   ===>>>  start processing event #18125, run #363899 on slot 1,  0 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  2   2      INFO   ===>>>  start processing event #18126, run #363899 on slot 2,  0 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  3   3      INFO   ===>>>  start processing event #18127, run #363899 on slot 3,  0 events processed so far  <<<===
-ClassIDSvc                              0   0      INFO  getRegistryEntries: read 650 CLIDRegistry entries for module ALL
-ClassIDSvc                              0   0      INFO  getRegistryEntries: read 1757 CLIDRegistry entries for module ALL
-ClassIDSvc                              0   0      INFO  getRegistryEntries: read 89 CLIDRegistry entries for module ALL
-ToolSvc.TileROD_Decoder.TileROD_L2Bui...0   0      INFO TileL2Builder initialization completed
-ToolSvc.TileMuRcvContByteStreamTool     0   0      INFO Initializing TileMuRcvContByteStreamTool
+ClassIDSvc                              1   1      INFO  getRegistryEntries: read 670 CLIDRegistry entries for module ALL
+ClassIDSvc                              1   1      INFO  getRegistryEntries: read 1757 CLIDRegistry entries for module ALL
+ClassIDSvc                              1   1      INFO  getRegistryEntries: read 89 CLIDRegistry entries for module ALL
+ToolSvc.TileROD_Decoder.TileROD_L2Bui...1   1      INFO TileL2Builder initialization completed
+ToolSvc.TileMuRcvContByteStreamTool     1   1      INFO Initializing TileMuRcvContByteStreamTool
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18125, run #363899 on slot 1,  1 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18124, run #363899 on slot 0,  2 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18126, run #363899 on slot 2,  3 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  4   0      INFO   ===>>>  start processing event #18128, run #363899 on slot 0,  3 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  5   1      INFO   ===>>>  start processing event #18129, run #363899 on slot 1,  3 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  6   2      INFO   ===>>>  start processing event #18130, run #363899 on slot 2,  3 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  4   1      INFO   ===>>>  start processing event #18128, run #363899 on slot 1,  1 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18126, run #363899 on slot 2,  2 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18124, run #363899 on slot 0,  3 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18127, run #363899 on slot 3,  4 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  5   0      INFO   ===>>>  start processing event #18129, run #363899 on slot 0,  4 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  6   2      INFO   ===>>>  start processing event #18130, run #363899 on slot 2,  4 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  7   3      INFO   ===>>>  start processing event #18131, run #363899 on slot 3,  4 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18128, run #363899 on slot 0,  5 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  8   0      INFO   ===>>>  start processing event #18132, run #363899 on slot 0,  5 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18130, run #363899 on slot 2,  6 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18129, run #363899 on slot 1,  7 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18128, run #363899 on slot 1,  5 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  8   1      INFO   ===>>>  start processing event #18132, run #363899 on slot 1,  5 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18129, run #363899 on slot 0,  6 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  9   0      INFO   ===>>>  start processing event #18133, run #363899 on slot 0,  6 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18130, run #363899 on slot 2,  7 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18131, run #363899 on slot 3,  8 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  9   1      INFO   ===>>>  start processing event #18133, run #363899 on slot 1,  8 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  10  2      INFO   ===>>>  start processing event #18134, run #363899 on slot 2,  8 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  11  3      INFO   ===>>>  start processing event #18135, run #363899 on slot 3,  8 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18132, run #363899 on slot 0,  9 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  12  0      INFO   ===>>>  start processing event #18136, run #363899 on slot 0,  9 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18133, run #363899 on slot 1,  10 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  13  1      INFO   ===>>>  start processing event #18137, run #363899 on slot 1,  10 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18134, run #363899 on slot 2,  11 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  14  2      INFO   ===>>>  start processing event #18138, run #363899 on slot 2,  11 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18135, run #363899 on slot 3,  12 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  15  3      INFO   ===>>>  start processing event #18139, run #363899 on slot 3,  12 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18136, run #363899 on slot 0,  13 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18137, run #363899 on slot 1,  14 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  16  0      INFO   ===>>>  start processing event #18140, run #363899 on slot 0,  14 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  17  1      INFO   ===>>>  start processing event #18141, run #363899 on slot 1,  14 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18138, run #363899 on slot 2,  15 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18139, run #363899 on slot 3,  16 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  18  2      INFO   ===>>>  start processing event #18142, run #363899 on slot 2,  16 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  19  3      INFO   ===>>>  start processing event #18143, run #363899 on slot 3,  16 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18140, run #363899 on slot 0,  17 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  20  0      INFO   ===>>>  start processing event #18144, run #363899 on slot 0,  17 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18141, run #363899 on slot 1,  18 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  21  1      INFO   ===>>>  start processing event #18145, run #363899 on slot 1,  18 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18142, run #363899 on slot 2,  19 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18143, run #363899 on slot 3,  20 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  22  2      INFO   ===>>>  start processing event #18146, run #363899 on slot 2,  20 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  23  3      INFO   ===>>>  start processing event #18147, run #363899 on slot 3,  20 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18144, run #363899 on slot 0,  21 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18145, run #363899 on slot 1,  22 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  24  0      INFO   ===>>>  start processing event #18148, run #363899 on slot 0,  22 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  25  1      INFO   ===>>>  start processing event #18149, run #363899 on slot 1,  22 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18146, run #363899 on slot 2,  23 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  26  2      INFO   ===>>>  start processing event #18150, run #363899 on slot 2,  23 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18147, run #363899 on slot 3,  24 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  27  3      INFO   ===>>>  start processing event #18151, run #363899 on slot 3,  24 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18148, run #363899 on slot 0,  25 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18149, run #363899 on slot 1,  26 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  28  0      INFO   ===>>>  start processing event #18152, run #363899 on slot 0,  26 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  29  1      INFO   ===>>>  start processing event #18153, run #363899 on slot 1,  26 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18150, run #363899 on slot 2,  27 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  30  2      INFO   ===>>>  start processing event #18154, run #363899 on slot 2,  27 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18151, run #363899 on slot 3,  28 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18153, run #363899 on slot 1,  29 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18152, run #363899 on slot 0,  30 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  31  0      INFO   ===>>>  start processing event #18155, run #363899 on slot 0,  30 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  32  1      INFO   ===>>>  start processing event #18156, run #363899 on slot 1,  30 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  33  3      INFO   ===>>>  start processing event #18157, run #363899 on slot 3,  30 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18154, run #363899 on slot 2,  31 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  34  2      INFO   ===>>>  start processing event #18158, run #363899 on slot 2,  31 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18155, run #363899 on slot 0,  32 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  35  0      INFO   ===>>>  start processing event #18159, run #363899 on slot 0,  32 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18157, run #363899 on slot 3,  33 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18156, run #363899 on slot 1,  34 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18158, run #363899 on slot 2,  35 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  36  1      INFO   ===>>>  start processing event #18160, run #363899 on slot 1,  35 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  37  2      INFO   ===>>>  start processing event #18161, run #363899 on slot 2,  35 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  38  3      INFO   ===>>>  start processing event #18162, run #363899 on slot 3,  35 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18159, run #363899 on slot 0,  36 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  39  0      INFO   ===>>>  start processing event #18163, run #363899 on slot 0,  36 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18160, run #363899 on slot 1,  37 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  40  1      INFO   ===>>>  start processing event #18164, run #363899 on slot 1,  37 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18161, run #363899 on slot 2,  38 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  41  2      INFO   ===>>>  start processing event #18165, run #363899 on slot 2,  38 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18162, run #363899 on slot 3,  39 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  42  3      INFO   ===>>>  start processing event #18166, run #363899 on slot 3,  39 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18163, run #363899 on slot 0,  40 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  43  0      INFO   ===>>>  start processing event #18167, run #363899 on slot 0,  40 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18164, run #363899 on slot 1,  41 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18165, run #363899 on slot 2,  42 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  44  1      INFO   ===>>>  start processing event #18168, run #363899 on slot 1,  42 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  45  2      INFO   ===>>>  start processing event #18169, run #363899 on slot 2,  42 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18166, run #363899 on slot 3,  43 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18167, run #363899 on slot 0,  44 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  46  0      INFO   ===>>>  start processing event #18170, run #363899 on slot 0,  44 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  47  3      INFO   ===>>>  start processing event #18171, run #363899 on slot 3,  44 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18168, run #363899 on slot 1,  45 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  48  1      INFO   ===>>>  start processing event #18172, run #363899 on slot 1,  45 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18169, run #363899 on slot 2,  46 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  49  2      INFO   ===>>>  start processing event #18173, run #363899 on slot 2,  46 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18170, run #363899 on slot 0,  47 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  50  0      INFO   ===>>>  start processing event #18174, run #363899 on slot 0,  47 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18171, run #363899 on slot 3,  48 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18172, run #363899 on slot 1,  49 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18173, run #363899 on slot 2,  50 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  51  1      INFO   ===>>>  start processing event #18175, run #363899 on slot 1,  50 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  52  2      INFO   ===>>>  start processing event #18176, run #363899 on slot 2,  50 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18132, run #363899 on slot 1,  9 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  10  1      INFO   ===>>>  start processing event #18134, run #363899 on slot 1,  9 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  11  2      INFO   ===>>>  start processing event #18135, run #363899 on slot 2,  9 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  12  3      INFO   ===>>>  start processing event #18136, run #363899 on slot 3,  9 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18133, run #363899 on slot 0,  10 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  13  0      INFO   ===>>>  start processing event #18137, run #363899 on slot 0,  10 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18134, run #363899 on slot 1,  11 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  14  1      INFO   ===>>>  start processing event #18138, run #363899 on slot 1,  11 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18136, run #363899 on slot 3,  12 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18135, run #363899 on slot 2,  13 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  15  2      INFO   ===>>>  start processing event #18139, run #363899 on slot 2,  13 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  16  3      INFO   ===>>>  start processing event #18140, run #363899 on slot 3,  13 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18137, run #363899 on slot 0,  14 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  17  0      INFO   ===>>>  start processing event #18141, run #363899 on slot 0,  14 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18138, run #363899 on slot 1,  15 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  18  1      INFO   ===>>>  start processing event #18142, run #363899 on slot 1,  15 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18139, run #363899 on slot 2,  16 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  19  2      INFO   ===>>>  start processing event #18143, run #363899 on slot 2,  16 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18140, run #363899 on slot 3,  17 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  20  3      INFO   ===>>>  start processing event #18144, run #363899 on slot 3,  17 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18141, run #363899 on slot 0,  18 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18142, run #363899 on slot 1,  19 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  21  0      INFO   ===>>>  start processing event #18145, run #363899 on slot 0,  19 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  22  1      INFO   ===>>>  start processing event #18146, run #363899 on slot 1,  19 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18143, run #363899 on slot 2,  20 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  23  2      INFO   ===>>>  start processing event #18147, run #363899 on slot 2,  20 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18144, run #363899 on slot 3,  21 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  24  3      INFO   ===>>>  start processing event #18148, run #363899 on slot 3,  21 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18145, run #363899 on slot 0,  22 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18146, run #363899 on slot 1,  23 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  25  0      INFO   ===>>>  start processing event #18149, run #363899 on slot 0,  23 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  26  1      INFO   ===>>>  start processing event #18150, run #363899 on slot 1,  23 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18147, run #363899 on slot 2,  24 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18148, run #363899 on slot 3,  25 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  27  2      INFO   ===>>>  start processing event #18151, run #363899 on slot 2,  25 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  28  3      INFO   ===>>>  start processing event #18152, run #363899 on slot 3,  25 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18149, run #363899 on slot 0,  26 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  29  0      INFO   ===>>>  start processing event #18153, run #363899 on slot 0,  26 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18150, run #363899 on slot 1,  27 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  30  1      INFO   ===>>>  start processing event #18154, run #363899 on slot 1,  27 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18151, run #363899 on slot 2,  28 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  31  2      INFO   ===>>>  start processing event #18155, run #363899 on slot 2,  28 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18152, run #363899 on slot 3,  29 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  32  3      INFO   ===>>>  start processing event #18156, run #363899 on slot 3,  29 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18153, run #363899 on slot 0,  30 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  33  0      INFO   ===>>>  start processing event #18157, run #363899 on slot 0,  30 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18154, run #363899 on slot 1,  31 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  34  1      INFO   ===>>>  start processing event #18158, run #363899 on slot 1,  31 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18155, run #363899 on slot 2,  32 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  35  2      INFO   ===>>>  start processing event #18159, run #363899 on slot 2,  32 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18156, run #363899 on slot 3,  33 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  36  3      INFO   ===>>>  start processing event #18160, run #363899 on slot 3,  33 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18157, run #363899 on slot 0,  34 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  37  0      INFO   ===>>>  start processing event #18161, run #363899 on slot 0,  34 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18158, run #363899 on slot 1,  35 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  38  1      INFO   ===>>>  start processing event #18162, run #363899 on slot 1,  35 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18159, run #363899 on slot 2,  36 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  39  2      INFO   ===>>>  start processing event #18163, run #363899 on slot 2,  36 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18160, run #363899 on slot 3,  37 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  40  3      INFO   ===>>>  start processing event #18164, run #363899 on slot 3,  37 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18161, run #363899 on slot 0,  38 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  41  0      INFO   ===>>>  start processing event #18165, run #363899 on slot 0,  38 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18162, run #363899 on slot 1,  39 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  42  1      INFO   ===>>>  start processing event #18166, run #363899 on slot 1,  39 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18163, run #363899 on slot 2,  40 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  43  2      INFO   ===>>>  start processing event #18167, run #363899 on slot 2,  40 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18164, run #363899 on slot 3,  41 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  44  3      INFO   ===>>>  start processing event #18168, run #363899 on slot 3,  41 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18165, run #363899 on slot 0,  42 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  45  0      INFO   ===>>>  start processing event #18169, run #363899 on slot 0,  42 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18166, run #363899 on slot 1,  43 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  46  1      INFO   ===>>>  start processing event #18170, run #363899 on slot 1,  43 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18167, run #363899 on slot 2,  44 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  47  2      INFO   ===>>>  start processing event #18171, run #363899 on slot 2,  44 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18169, run #363899 on slot 0,  45 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  48  0      INFO   ===>>>  start processing event #18172, run #363899 on slot 0,  45 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18168, run #363899 on slot 3,  46 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  49  3      INFO   ===>>>  start processing event #18173, run #363899 on slot 3,  46 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18170, run #363899 on slot 1,  47 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  50  1      INFO   ===>>>  start processing event #18174, run #363899 on slot 1,  47 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18171, run #363899 on slot 2,  48 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  51  2      INFO   ===>>>  start processing event #18175, run #363899 on slot 2,  48 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18172, run #363899 on slot 0,  49 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18173, run #363899 on slot 3,  50 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  52  0      INFO   ===>>>  start processing event #18176, run #363899 on slot 0,  50 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  53  3      INFO   ===>>>  start processing event #18177, run #363899 on slot 3,  50 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18174, run #363899 on slot 0,  51 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  54  0      INFO   ===>>>  start processing event #18178, run #363899 on slot 0,  51 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18175, run #363899 on slot 1,  52 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  55  1      INFO   ===>>>  start processing event #18179, run #363899 on slot 1,  52 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18176, run #363899 on slot 2,  53 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  56  2      INFO   ===>>>  start processing event #18180, run #363899 on slot 2,  53 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18174, run #363899 on slot 1,  51 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18175, run #363899 on slot 2,  52 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  54  1      INFO   ===>>>  start processing event #18178, run #363899 on slot 1,  52 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  55  2      INFO   ===>>>  start processing event #18179, run #363899 on slot 2,  52 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18176, run #363899 on slot 0,  53 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  56  0      INFO   ===>>>  start processing event #18180, run #363899 on slot 0,  53 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18177, run #363899 on slot 3,  54 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18178, run #363899 on slot 0,  55 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18179, run #363899 on slot 1,  56 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  57  0      INFO   ===>>>  start processing event #18181, run #363899 on slot 0,  56 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  58  1      INFO   ===>>>  start processing event #18182, run #363899 on slot 1,  56 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  59  3      INFO   ===>>>  start processing event #18183, run #363899 on slot 3,  56 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18180, run #363899 on slot 2,  57 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18181, run #363899 on slot 0,  58 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  60  0      INFO   ===>>>  start processing event #18184, run #363899 on slot 0,  58 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  61  2      INFO   ===>>>  start processing event #18185, run #363899 on slot 2,  58 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  57  3      INFO   ===>>>  start processing event #18181, run #363899 on slot 3,  54 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18178, run #363899 on slot 1,  55 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  58  1      INFO   ===>>>  start processing event #18182, run #363899 on slot 1,  55 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18179, run #363899 on slot 2,  56 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  59  2      INFO   ===>>>  start processing event #18183, run #363899 on slot 2,  56 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18180, run #363899 on slot 0,  57 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  60  0      INFO   ===>>>  start processing event #18184, run #363899 on slot 0,  57 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18181, run #363899 on slot 3,  58 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18182, run #363899 on slot 1,  59 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18183, run #363899 on slot 3,  60 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  62  1      INFO   ===>>>  start processing event #18186, run #363899 on slot 1,  60 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  63  3      INFO   ===>>>  start processing event #18187, run #363899 on slot 3,  60 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  61  1      INFO   ===>>>  start processing event #18185, run #363899 on slot 1,  59 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  62  3      INFO   ===>>>  start processing event #18186, run #363899 on slot 3,  59 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18183, run #363899 on slot 2,  60 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  63  2      INFO   ===>>>  start processing event #18187, run #363899 on slot 2,  60 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18184, run #363899 on slot 0,  61 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  64  0      INFO   ===>>>  start processing event #18188, run #363899 on slot 0,  61 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18185, run #363899 on slot 2,  62 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  65  2      INFO   ===>>>  start processing event #18189, run #363899 on slot 2,  62 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18186, run #363899 on slot 1,  63 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  66  1      INFO   ===>>>  start processing event #18190, run #363899 on slot 1,  63 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18187, run #363899 on slot 3,  64 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18185, run #363899 on slot 1,  62 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  64  0      INFO   ===>>>  start processing event #18188, run #363899 on slot 0,  62 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  65  1      INFO   ===>>>  start processing event #18189, run #363899 on slot 1,  62 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18186, run #363899 on slot 3,  63 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18187, run #363899 on slot 2,  64 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  66  2      INFO   ===>>>  start processing event #18190, run #363899 on slot 2,  64 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  67  3      INFO   ===>>>  start processing event #18191, run #363899 on slot 3,  64 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18188, run #363899 on slot 0,  65 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  67  0      INFO   ===>>>  start processing event #18191, run #363899 on slot 0,  65 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  68  3      INFO   ===>>>  start processing event #18192, run #363899 on slot 3,  65 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18189, run #363899 on slot 2,  66 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18190, run #363899 on slot 1,  67 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  69  1      INFO   ===>>>  start processing event #18193, run #363899 on slot 1,  67 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  68  0      INFO   ===>>>  start processing event #18192, run #363899 on slot 0,  65 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18189, run #363899 on slot 1,  66 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  69  1      INFO   ===>>>  start processing event #18193, run #363899 on slot 1,  66 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18190, run #363899 on slot 2,  67 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  70  2      INFO   ===>>>  start processing event #18194, run #363899 on slot 2,  67 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18191, run #363899 on slot 0,  68 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18192, run #363899 on slot 3,  69 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  71  0      INFO   ===>>>  start processing event #18195, run #363899 on slot 0,  69 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  72  3      INFO   ===>>>  start processing event #18196, run #363899 on slot 3,  69 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18191, run #363899 on slot 3,  68 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  71  3      INFO   ===>>>  start processing event #18195, run #363899 on slot 3,  68 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18192, run #363899 on slot 0,  69 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18193, run #363899 on slot 1,  70 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  72  0      INFO   ===>>>  start processing event #18196, run #363899 on slot 0,  70 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  73  1      INFO   ===>>>  start processing event #18197, run #363899 on slot 1,  70 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18194, run #363899 on slot 2,  71 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  74  2      INFO   ===>>>  start processing event #18198, run #363899 on slot 2,  71 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18195, run #363899 on slot 0,  72 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18196, run #363899 on slot 3,  73 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  75  0      INFO   ===>>>  start processing event #18199, run #363899 on slot 0,  73 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  76  3      INFO   ===>>>  start processing event #18200, run #363899 on slot 3,  73 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18195, run #363899 on slot 3,  72 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18196, run #363899 on slot 0,  73 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18197, run #363899 on slot 1,  74 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  77  1      INFO   ===>>>  start processing event #18201, run #363899 on slot 1,  74 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  75  0      INFO   ===>>>  start processing event #18199, run #363899 on slot 0,  74 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  76  1      INFO   ===>>>  start processing event #18200, run #363899 on slot 1,  74 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  77  3      INFO   ===>>>  start processing event #18201, run #363899 on slot 3,  74 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18198, run #363899 on slot 2,  75 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  78  2      INFO   ===>>>  start processing event #18202, run #363899 on slot 2,  75 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18199, run #363899 on slot 0,  76 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18200, run #363899 on slot 3,  77 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  79  0      INFO   ===>>>  start processing event #18203, run #363899 on slot 0,  77 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  80  3      INFO   ===>>>  start processing event #18204, run #363899 on slot 3,  77 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18201, run #363899 on slot 1,  78 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  81  1      INFO   ===>>>  start processing event #18205, run #363899 on slot 1,  78 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  79  0      INFO   ===>>>  start processing event #18203, run #363899 on slot 0,  76 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18200, run #363899 on slot 1,  77 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  80  1      INFO   ===>>>  start processing event #18204, run #363899 on slot 1,  77 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18201, run #363899 on slot 3,  78 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  81  3      INFO   ===>>>  start processing event #18205, run #363899 on slot 3,  78 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18202, run #363899 on slot 2,  79 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  82  2      INFO   ===>>>  start processing event #18206, run #363899 on slot 2,  79 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18203, run #363899 on slot 0,  80 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  83  0      INFO   ===>>>  start processing event #18207, run #363899 on slot 0,  80 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18204, run #363899 on slot 3,  81 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  84  3      INFO   ===>>>  start processing event #18208, run #363899 on slot 3,  81 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18205, run #363899 on slot 1,  82 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  85  1      INFO   ===>>>  start processing event #18209, run #363899 on slot 1,  82 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18206, run #363899 on slot 2,  83 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18207, run #363899 on slot 0,  84 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  86  0      INFO   ===>>>  start processing event #18210, run #363899 on slot 0,  84 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  87  2      INFO   ===>>>  start processing event #18211, run #363899 on slot 2,  84 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18208, run #363899 on slot 3,  85 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18209, run #363899 on slot 1,  86 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  88  1      INFO   ===>>>  start processing event #18212, run #363899 on slot 1,  86 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18204, run #363899 on slot 1,  81 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  82  0      INFO   ===>>>  start processing event #18206, run #363899 on slot 0,  81 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  83  1      INFO   ===>>>  start processing event #18207, run #363899 on slot 1,  81 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  84  2      INFO   ===>>>  start processing event #18208, run #363899 on slot 2,  81 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18205, run #363899 on slot 3,  82 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  85  3      INFO   ===>>>  start processing event #18209, run #363899 on slot 3,  82 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18206, run #363899 on slot 0,  83 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  86  0      INFO   ===>>>  start processing event #18210, run #363899 on slot 0,  83 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18207, run #363899 on slot 1,  84 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  87  1      INFO   ===>>>  start processing event #18211, run #363899 on slot 1,  84 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18208, run #363899 on slot 2,  85 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18209, run #363899 on slot 3,  86 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  88  2      INFO   ===>>>  start processing event #18212, run #363899 on slot 2,  86 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  89  3      INFO   ===>>>  start processing event #18213, run #363899 on slot 3,  86 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18210, run #363899 on slot 0,  87 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18211, run #363899 on slot 2,  88 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  90  0      INFO   ===>>>  start processing event #18214, run #363899 on slot 0,  88 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  91  2      INFO   ===>>>  start processing event #18215, run #363899 on slot 2,  88 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18212, run #363899 on slot 1,  89 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  90  0      INFO   ===>>>  start processing event #18214, run #363899 on slot 0,  87 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18211, run #363899 on slot 1,  88 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  91  1      INFO   ===>>>  start processing event #18215, run #363899 on slot 1,  88 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18212, run #363899 on slot 2,  89 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  92  2      INFO   ===>>>  start processing event #18216, run #363899 on slot 2,  89 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18213, run #363899 on slot 3,  90 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  92  1      INFO   ===>>>  start processing event #18216, run #363899 on slot 1,  90 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  93  3      INFO   ===>>>  start processing event #18217, run #363899 on slot 3,  90 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18214, run #363899 on slot 0,  91 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18215, run #363899 on slot 2,  92 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  94  0      INFO   ===>>>  start processing event #18218, run #363899 on slot 0,  92 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  95  2      INFO   ===>>>  start processing event #18219, run #363899 on slot 2,  92 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18216, run #363899 on slot 1,  93 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  96  1      INFO   ===>>>  start processing event #18220, run #363899 on slot 1,  93 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18217, run #363899 on slot 3,  94 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  97  3      INFO   ===>>>  start processing event #18221, run #363899 on slot 3,  94 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18218, run #363899 on slot 0,  95 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18219, run #363899 on slot 2,  96 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  98  0      INFO   ===>>>  start processing event #18222, run #363899 on slot 0,  96 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  99  2      INFO   ===>>>  start processing event #18223, run #363899 on slot 2,  96 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18220, run #363899 on slot 1,  97 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18221, run #363899 on slot 3,  98 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18222, run #363899 on slot 0,  99 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18223, run #363899 on slot 2,  100 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO ---> Loop Finished (seconds): 14.4819
+AthenaHiveEventLoopMgr                  93  0      INFO   ===>>>  start processing event #18217, run #363899 on slot 0,  91 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  94  3      INFO   ===>>>  start processing event #18218, run #363899 on slot 3,  91 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18215, run #363899 on slot 1,  92 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  95  1      INFO   ===>>>  start processing event #18219, run #363899 on slot 1,  92 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18216, run #363899 on slot 2,  93 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  96  2      INFO   ===>>>  start processing event #18220, run #363899 on slot 2,  93 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18217, run #363899 on slot 0,  94 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  97  0      INFO   ===>>>  start processing event #18221, run #363899 on slot 0,  94 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18218, run #363899 on slot 3,  95 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  98  3      INFO   ===>>>  start processing event #18222, run #363899 on slot 3,  95 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18219, run #363899 on slot 1,  96 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18220, run #363899 on slot 2,  97 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  99  1      INFO   ===>>>  start processing event #18223, run #363899 on slot 1,  97 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18221, run #363899 on slot 0,  98 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18222, run #363899 on slot 3,  99 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #18223, run #363899 on slot 1,  100 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO ---> Loop Finished (seconds): 2.61152
 /cvmfs/atlas-condb.cern.ch/repo/condi...           INFO Database being retired...
 Domain[ROOT_All]                                   INFO ->  Deaccess DbDatabase   READ      [ROOT_All] 06C9EAE8-6F5B-E011-BAAA-003048F0E7AC
 /cvmfs/atlas-condb.cern.ch/repo/condi...           INFO Database being retired...
@@ -1315,7 +1315,7 @@ AvalancheSchedulerSvc                              INFO Joining Scheduler thread
 PyComponentMgr                                     INFO Finalizing PyComponentMgr...
 IdDictDetDescrCnv                                  INFO in finalize
 EventDataSvc                                       INFO Finalizing EventDataSvc - package version StoreGate-00-00-00
-IOVDbFolder                                        INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/340 ((     0.07 ))s
+IOVDbFolder                                        INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/340 ((     0.16 ))s
 IOVDbFolder                                        INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
 IOVDbFolder                                        INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
 IOVDbFolder                                        INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
@@ -1327,10 +1327,10 @@ IOVDbFolder                                        INFO Folder /TILE/OFL02/NOISE
 IOVDbFolder                                        INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
 IOVDbFolder                                        INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
 IOVDbFolder                                        INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
-IOVDbFolder                                        INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.04 ))s
-IOVDbSvc                                           INFO  bytes in ((      0.11 ))s
+IOVDbFolder                                        INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.01 ))s
+IOVDbSvc                                           INFO  bytes in ((      0.17 ))s
 IOVDbSvc                                           INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: ((     0.00 ))s
-IOVDbSvc                                           INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     0.11 ))s
+IOVDbSvc                                           INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     0.17 ))s
 IOVDbSvc                                           INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 1 nFolders: 11 ReadTime: ((     0.00 ))s
 TileInfoLoader                                     INFO TileInfoLoader::finalize()
 AthDictLoaderSvc                                   INFO in finalize...
@@ -1341,9 +1341,9 @@ ToolSvc.TileROD_Decoder.TileROD_L2Bui...           INFO Finalizing
 *****Chrono*****                                   INFO ****************************************************************************************************
 *****Chrono*****                                   INFO  The Final CPU consumption ( Chrono ) Table (ordered)
 *****Chrono*****                                   INFO ****************************************************************************************************
-cObjR_ALL                                          INFO Time User   : Tot= 0.81  [s] Ave/Min/Max=0.405(+-0.385)/ 0.02/ 0.79  [s] #=  2
-cObj_ALL                                           INFO Time User   : Tot= 1.05  [s] Ave/Min/Max=0.525(+-0.365)/ 0.16/ 0.89  [s] #=  2
-ChronoStatSvc                                      INFO Time User   : Tot= 20.5  [s]                                             #=  1
+cObjR_ALL                                          INFO Time User   : Tot=  440 [ms] Ave/Min/Max=  220(+-  220)/    0/  440 [ms] #=  2
+cObj_ALL                                           INFO Time User   : Tot= 0.58  [s] Ave/Min/Max= 0.29(+- 0.21)/ 0.08/  0.5  [s] #=  2
+ChronoStatSvc                                      INFO Time User   : Tot= 3.98  [s]                                             #=  1
 *****Chrono*****                                   INFO ****************************************************************************************************
 ChronoStatSvc.finalize()                           INFO  Service finalized successfully 
 ApplicationMgr                                     INFO Application Manager Finalized successfully
diff --git a/TileCalorimeter/TileSvc/TileByteStream/share/TileRawChannelContByteStreamCnv_test.ref b/TileCalorimeter/TileSvc/TileByteStream/share/TileRawChannelContByteStreamCnv_test.ref
index 84fd67399e26..f3fbb829603f 100644
--- a/TileCalorimeter/TileSvc/TileByteStream/share/TileRawChannelContByteStreamCnv_test.ref
+++ b/TileCalorimeter/TileSvc/TileByteStream/share/TileRawChannelContByteStreamCnv_test.ref
@@ -1,14 +1,14 @@
-Tue Jan 22 03:41:29 CET 2019
+Sat Jan 26 19:51:16 CET 2019
 Preloading tcmalloc_minimal.so
 Py:Athena            INFO including file "AthenaCommon/Preparation.py"
-Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-dbg] [atlas-work3/5871b6e8de] -- built on [2019-01-21T2115]
+Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-opt] [atlas-work3/5e0c78d866] -- built on [2019-01-26T1705]
 Py:Athena            INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
 Py:Athena            INFO executing ROOT6Setup
 Py:Athena            INFO including file "AthenaCommon/Execution.py"
 Py:Athena            INFO including file "TileByteStream/TileRawChannelContByteStreamCnv_test.py"
 [?1034hSetGeometryVersion.py obtained major release version 22
 Py:Athena            INFO including file "IdDictDetDescrCnv/IdDictDetDescrCnv_joboptions.py"
-Py:ConfigurableDb    INFO Read module info for 5456 configurables from 80 genConfDb files
+Py:ConfigurableDb    INFO Read module info for 5456 configurables from 76 genConfDb files
 Py:ConfigurableDb    INFO No duplicates have been found: that's good !
 EventInfoMgtInit: Got release version  Athena-22.0.1
 Py:IOVDbSvc.CondDB    INFO Setting up conditions DB access to instance OFLP200
@@ -34,7 +34,7 @@ ApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to leve
 ApplicationMgr    SUCCESS 
 ====================================================================================================================================
                                                    Welcome to ApplicationMgr (GaudiCoreSvc v30r5)
-                                          running on lxplus068.cern.ch on Tue Jan 22 03:41:59 2019
+                                          running on lxplus062.cern.ch on Sat Jan 26 19:51:38 2019
 ====================================================================================================================================
 ApplicationMgr       INFO Successfully loaded modules : AthenaServices
 ApplicationMgr       INFO Application Manager Configured successfully
@@ -51,8 +51,8 @@ PoolSvc              INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.x
 PoolSvc              INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
 PoolSvc              INFO Frontier compression level set to 5
 DBReplicaSvc         INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data
-DBReplicaSvc         INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/dbreplica.config
-DBReplicaSvc         INFO Total of 10 servers found for host lxplus068.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
+DBReplicaSvc         INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config
+DBReplicaSvc         INFO Total of 10 servers found for host lxplus062.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
 PoolSvc              INFO Successfully setup replica sorting algorithm
 PoolSvc              INFO Setting up APR FileCatalog and Streams
 PoolSvc           WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables
@@ -193,7 +193,7 @@ EndcapDMConstru...   INFO Start building EC electronics geometry
   multi-layered version of absorbers activated, mlabs == 1
 ================================================
 EndcapDMConstru...   INFO Start building EC electronics geometry
-GeoModelSvc          INFO GeoModelSvc.LArDetectorToolNV	 SZ= 28576Kb 	 Time = 1.57S
+GeoModelSvc          INFO GeoModelSvc.LArDetectorToolNV	 SZ= 23964Kb 	 Time = 0.69S
 GeoModelSvc.Til...   INFO  Entering TileDetectorTool::create()
 TileDddbManager      INFO m_tag = ATLAS-R2-2016-01-00-01
 TileDddbManager      INFO n_tiglob = 5
@@ -205,7 +205,7 @@ TileDddbManager      INFO n_tileSwitches = 1
 ClassIDSvc           INFO  getRegistryEntries: read 213 CLIDRegistry entries for module ALL
 CaloIDHelper_ID...   INFO in createObj: creating a TileID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileNeighbour_reduced.txt
+TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileNeighbour_reduced.txt
 TileHWIDDetDesc...   INFO in createObj: creating a TileHWID helper object in the detector store
 TileHWID             INFO initialize_from_dictionary 
 AtlasDetectorID      INFO initialize_from_dictionary - OK
@@ -217,9 +217,9 @@ CaloIDHelper_ID...   INFO in createObj: creating a LArHEC_ID helper object in th
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIDHelper_ID...   INFO in createObj: creating a LArFCAL_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal2DNeighbors-April2011.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsNext-April2011.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsPrev-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal2DNeighbors-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsNext-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsPrev-April2011.txt
 CaloIDHelper_ID...   INFO in createObj: creating a LArMiniFCAL_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 LArMiniFCAL_ID       INFO  initialize_from_dict - LArCalorimeter dictionary does NOT contain miniFCAL description. Unable to initialize LArMiniFCAL_ID.
@@ -250,11 +250,11 @@ GeoModelSvc.Til...   INFO                                    PLUG2  Rmin= 2981 R
 GeoModelSvc.Til...   INFO  Positioning negative ITC with translation -3405
 GeoModelSvc.Til...   INFO  Positioning negative Gap with translation -3552
 GeoModelSvc.Til...   INFO  Positioning negative Crack with translation -3536
-GeoModelSvc.Til...   INFO  Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
-GeoModelSvc.Til...   INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
-GeoModelSvc.Til...   INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) GeoModelKernelUnits::cm
+GeoModelSvc.Til...   INFO  Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) Gaudi::Units::cm
+GeoModelSvc.Til...   INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) Gaudi::Units::cm
+GeoModelSvc.Til...   INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) Gaudi::Units::cm
 TileDetDescrMan...   INFO Entering create_elements()
-GeoModelSvc          INFO GeoModelSvc.TileDetectorTool	 SZ= 4172Kb 	 Time = 1.81S
+GeoModelSvc          INFO GeoModelSvc.TileDetectorTool	 SZ= 3568Kb 	 Time = 0.26S
 ClassIDSvc           INFO  getRegistryEntries: read 65 CLIDRegistry entries for module ALL
 TileInfoLoader       INFO Initializing....TileInfoLoader
 TileInfoLoader       INFO New ATLAS geometry detected: ATLAS-R2-2016-01-00-01 (010001) version 10001
@@ -276,11 +276,11 @@ TileInfoLoader       INFO Sampling fraction for E2 cells 1/107
 TileInfoLoader       INFO Sampling fraction for E3 cells 1/97
 TileInfoLoader       INFO Sampling fraction for E4 cells 1/75
 TileInfoLoader       INFO Sampling fraction for E4' cells 1/75
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulsehi_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulselo_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_tower_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muonRcv_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muon_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulsehi_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulselo_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_tower_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muonRcv_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muon_physics.dat
 CaloIDHelper_ID...   INFO in createObj: creating a CaloLVL1_ID helper object in the detector store
 CaloLVL1_ID          INFO initialize_from_dictionary
 AtlasDetectorID      INFO initialize_from_dictionary - OK
@@ -388,12 +388,12 @@ CaloIDHelper_ID...   INFO in createObj: creating a LArHEC_SuperCell_ID helper ob
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIDHelper_ID...   INFO in createObj: creating a LArFCAL_SuperCell_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells2DNeighborsNew-April2014.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
-LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells2DNeighborsNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
 CaloIDHelper_ID...   INFO in createObj: creating a Tile_SuperCell_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileSuperCellNeighbour.txt
+TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileSuperCellNeighbour.txt
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIdMgrDetDes...   INFO  Finished 
 CaloIdMgrDetDes...   INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv 
@@ -422,7 +422,7 @@ TileBadChannels...   INFO TileBchStatus::isNoisy() is defined by: Large HF noise
 TileBadChannels...   INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; 
 TileBadChannels...   INFO TileBchStatus::isBadTiming() is defined by: Bad timing; Online bad timing; 
 TileBadChannels...   INFO No drawer trips probabilities found in DB
-ClassIDSvc           INFO  getRegistryEntries: read 2407 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 2427 CLIDRegistry entries for module ALL
 ClassIDSvc           INFO  getRegistryEntries: read 89 CLIDRegistry entries for module ALL
 ToolSvc.TileROD...   INFO TileL2Builder initialization completed
 ToolSvc.TileRaw...   INFO Initializing TileRawChannelContByteStreamTool
@@ -641,22 +641,22 @@ IncidentProcAlg2     INFO Finalize
 EventInfoByteSt...   INFO finalize 
 PyComponentMgr       INFO Finalizing PyComponentMgr...
 IdDictDetDescrCnv    INFO in finalize
-IOVDbFolder          INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/340 ((     0.07 ))s
+IOVDbFolder          INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/340 ((     0.15 ))s
 IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104132 ((     0.16 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.10 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.10 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.08 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/108 ((     0.04 ))s
 IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/116 ((     0.05 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/964 ((     0.06 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 ((     0.05 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104 ((     0.07 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/643828 ((     0.18 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/93084 ((     0.06 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/120 ((     0.10 ))s
-IOVDbFolder          INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/100 ((     0.02 ))s
-IOVDbFolder          INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.02 ))s
-IOVDbSvc             INFO  bytes in ((      1.03 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/964 ((     0.03 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 ((     0.14 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/104 ((     0.06 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/643828 ((     0.20 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/93084 ((     0.10 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/120 ((     0.05 ))s
+IOVDbFolder          INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/100 ((     0.01 ))s
+IOVDbFolder          INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.03 ))s
+IOVDbSvc             INFO  bytes in ((      1.10 ))s
 IOVDbSvc             INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: ((     0.00 ))s
-IOVDbSvc             INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     0.10 ))s
+IOVDbSvc             INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     0.17 ))s
 IOVDbSvc             INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: ((     0.93 ))s
 TileInfoLoader       INFO TileInfoLoader::finalize()
 AthDictLoaderSvc     INFO in finalize...
@@ -667,18 +667,18 @@ ToolSvc.TileROD...   INFO Finalizing
 *****Chrono*****     INFO ****************************************************************************************************
 *****Chrono*****     INFO  The Final CPU consumption ( Chrono ) Table (ordered)
 *****Chrono*****     INFO ****************************************************************************************************
-cObjR_ALL            INFO Time User   : Tot= 0.82  [s] Ave/Min/Max= 0.41(+- 0.39)/ 0.02/  0.8  [s] #=  2
-cObj_ALL             INFO Time User   : Tot= 1.03  [s] Ave/Min/Max=0.0792(+-0.235)/    0/ 0.88  [s] #= 13
-ChronoStatSvc        INFO Time User   : Tot= 41.7  [s]                                             #=  1
+cObjR_ALL            INFO Time User   : Tot=  460 [ms] Ave/Min/Max=  230(+-  220)/   10/  450 [ms] #=  2
+cObj_ALL             INFO Time User   : Tot= 0.56  [s] Ave/Min/Max=0.0431(+-0.128)/    0/ 0.48  [s] #= 13
+ChronoStatSvc        INFO Time User   : Tot= 13.4  [s]                                             #=  1
 *****Chrono*****     INFO ****************************************************************************************************
 ChronoStatSvc.f...   INFO  Service finalized successfully 
 ApplicationMgr       INFO Application Manager Finalized successfully
 ApplicationMgr       INFO Application Manager Terminated successfully
 Py:Athena            INFO leaving with code 0: "successful run"
-Tue Jan 22 03:43:23 CET 2019
+Sat Jan 26 19:52:09 CET 2019
 Preloading tcmalloc_minimal.so
 Py:Athena            INFO including file "AthenaCommon/Preparation.py"
-Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-dbg] [atlas-work3/5871b6e8de] -- built on [2019-01-21T2115]
+Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc62-opt] [atlas-work3/5e0c78d866] -- built on [2019-01-26T1705]
 Py:Athena            INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
 Py:Athena            INFO executing ROOT6Setup
 Py:Athena            INFO configuring AthenaHive with [4] concurrent threads and [4] concurrent events
@@ -687,7 +687,7 @@ Py:Athena            INFO including file "AthenaCommon/Execution.py"
 Py:Athena            INFO including file "TileByteStream/TileRawChannelContByteStreamCnv_test.py"
 [?1034hSetGeometryVersion.py obtained major release version 22
 Py:Athena            INFO including file "IdDictDetDescrCnv/IdDictDetDescrCnv_joboptions.py"
-Py:ConfigurableDb    INFO Read module info for 5456 configurables from 80 genConfDb files
+Py:ConfigurableDb    INFO Read module info for 5456 configurables from 76 genConfDb files
 Py:ConfigurableDb    INFO No duplicates have been found: that's good !
 EventInfoMgtInit: Got release version  Athena-22.0.1
 Py:IOVDbSvc.CondDB    INFO Setting up conditions DB access to instance OFLP200
@@ -714,7 +714,7 @@ MessageSvc           INFO Activating in a separate thread
 ApplicationMgr    SUCCESS 
 ====================================================================================================================================
                                                    Welcome to ApplicationMgr (GaudiCoreSvc v30r5)
-                                          running on lxplus068.cern.ch on Tue Jan 22 03:43:53 2019
+                                          running on lxplus062.cern.ch on Sat Jan 26 19:52:27 2019
 ====================================================================================================================================
 ApplicationMgr       INFO Successfully loaded modules : AthenaServices
 ApplicationMgr       INFO Application Manager Configured successfully
@@ -730,8 +730,8 @@ PoolSvc                                            INFO io_register[PoolSvc](xml
 PoolSvc                                            INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
 PoolSvc                                            INFO Frontier compression level set to 5
 DBReplicaSvc                                       INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data
-DBReplicaSvc                                       INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/dbreplica.config
-DBReplicaSvc                                       INFO Total of 10 servers found for host lxplus068.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
+DBReplicaSvc                                       INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/dbreplica.config
+DBReplicaSvc                                       INFO Total of 10 servers found for host lxplus062.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
 PoolSvc                                            INFO Successfully setup replica sorting algorithm
 PoolSvc                                            INFO Setting up APR FileCatalog and Streams
 PoolSvc                                         WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables
@@ -873,7 +873,7 @@ EndcapDMConstruction                               INFO Start building EC electr
   multi-layered version of absorbers activated, mlabs == 1
 ================================================
 EndcapDMConstruction                               INFO Start building EC electronics geometry
-GeoModelSvc                                        INFO GeoModelSvc.LArDetectorToolNV	 SZ= 28576Kb 	 Time = 1.76S
+GeoModelSvc                                        INFO GeoModelSvc.LArDetectorToolNV	 SZ= 22940Kb 	 Time = 0.68S
 GeoModelSvc.TileDetectorTool                       INFO  Entering TileDetectorTool::create()
 TileDddbManager                                    INFO m_tag = ATLAS-R2-2016-01-00-01
 TileDddbManager                                    INFO n_tiglob = 5
@@ -885,7 +885,7 @@ TileDddbManager                                    INFO n_tileSwitches = 1
 ClassIDSvc                                         INFO  getRegistryEntries: read 213 CLIDRegistry entries for module ALL
 CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a TileID helper object in the detector store
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
-TileNeighbour                                      INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileNeighbour_reduced.txt
+TileNeighbour                                      INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileNeighbour_reduced.txt
 TileHWIDDetDescrCnv                                INFO in createObj: creating a TileHWID helper object in the detector store
 TileHWID                                           INFO initialize_from_dictionary 
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
@@ -897,9 +897,9 @@ CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
 CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a LArFCAL_ID helper object in the detector store
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal2DNeighbors-April2011.txt
-LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsNext-April2011.txt
-LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsPrev-April2011.txt
+LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal2DNeighbors-April2011.txt
+LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsNext-April2011.txt
+LArFCAL_Base_ID                                    INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCal3DNeighborsPrev-April2011.txt
 CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a LArMiniFCAL_ID helper object in the detector store
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
 LArMiniFCAL_ID                                     INFO  initialize_from_dict - LArCalorimeter dictionary does NOT contain miniFCAL description. Unable to initialize LArMiniFCAL_ID.
@@ -930,11 +930,11 @@ GeoModelSvc.TileDetectorTool                       INFO
 GeoModelSvc.TileDetectorTool                       INFO  Positioning negative ITC with translation -3405
 GeoModelSvc.TileDetectorTool                       INFO  Positioning negative Gap with translation -3552
 GeoModelSvc.TileDetectorTool                       INFO  Positioning negative Crack with translation -3536
-GeoModelSvc.TileDetectorTool                       INFO  Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
-GeoModelSvc.TileDetectorTool                       INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) GeoModelKernelUnits::cm
-GeoModelSvc.TileDetectorTool                       INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) GeoModelKernelUnits::cm
+GeoModelSvc.TileDetectorTool                       INFO  Global positioning of barrel with rotation (0,0,0)) and translation (0,0,0) Gaudi::Units::cm
+GeoModelSvc.TileDetectorTool                       INFO  Global positioning of positive ext.barrel with rotation (0,0,0)) and translation (0,0,0) Gaudi::Units::cm
+GeoModelSvc.TileDetectorTool                       INFO  Global positioning of negative ext.barrel with rotation (0,0,0)) and translation (0,0,1) Gaudi::Units::cm
 TileDetDescrManager                                INFO Entering create_elements()
-GeoModelSvc                                        INFO GeoModelSvc.TileDetectorTool	 SZ= 4172Kb 	 Time = 1.78S
+GeoModelSvc                                        INFO GeoModelSvc.TileDetectorTool	 SZ= 4592Kb 	 Time = 0.22S
 ClassIDSvc                                         INFO  getRegistryEntries: read 65 CLIDRegistry entries for module ALL
 TileInfoLoader                                     INFO Initializing....TileInfoLoader
 TileInfoLoader                                     INFO New ATLAS geometry detected: ATLAS-R2-2016-01-00-01 (010001) version 10001
@@ -956,11 +956,11 @@ TileInfoLoader                                     INFO Sampling fraction for E2
 TileInfoLoader                                     INFO Sampling fraction for E3 cells 1/97
 TileInfoLoader                                     INFO Sampling fraction for E4 cells 1/75
 TileInfoLoader                                     INFO Sampling fraction for E4' cells 1/75
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulsehi_physics.dat
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulselo_physics.dat
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_tower_physics.dat
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muonRcv_physics.dat
-TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muon_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulsehi_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulselo_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_tower_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muonRcv_physics.dat
+TileInfoLoader                                     INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/pulse_adder_muon_physics.dat
 CaloIDHelper_IDDetDescrCnv                         INFO in createObj: creating a CaloLVL1_ID helper object in the detector store
 CaloLVL1_ID                                        INFO initialize_from_dictionary
 AtlasDetectorID                                    INFO initialize_from_dictionary - OK
@@ -1083,12 +1083,12 @@ CaloIDHelper_IDDetDescrCnv              0   0      INFO in createObj: creating a
 AtlasDetectorID                         0   0      INFO initialize_from_dictionary - OK
 CaloIDHelper_IDDetDescrCnv              0   0      INFO in createObj: creating a LArFCAL_SuperCell_ID helper object in the detector store
 AtlasDetectorID                         0   0      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells2DNeighborsNew-April2014.txt
-LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
-LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
+LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells2DNeighborsNew-April2014.txt
+LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
+LArFCAL_Base_ID                         0   0      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
 CaloIDHelper_IDDetDescrCnv              0   0      INFO in createObj: creating a Tile_SuperCell_ID helper object in the detector store
 AtlasDetectorID                         0   0      INFO initialize_from_dictionary - OK
-TileNeighbour                           0   0      INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-20T2256/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileSuperCellNeighbour.txt
+TileNeighbour                           0   0      INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-25T2258/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-opt/share/TileSuperCellNeighbour.txt
 AtlasDetectorID                         0   0      INFO initialize_from_dictionary - OK
 CaloIdMgrDetDescrCnv                    0   0      INFO  Finished 
 CaloIdMgrDetDescrCnv                    0   0      INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv 
@@ -1096,7 +1096,7 @@ Domain[ROOT_All]                        0   0      INFO ->  Access   DbDatabase
 Domain[ROOT_All]                        0   0      INFO                           /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root
 RootDatabase.open                       0   0      INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root File version:52200
 AthenaHiveEventLoopMgr                  0   0      INFO   ===>>>  start processing event #1129572, run #204073 on slot 0,  0 events processed so far  <<<===
-ClassIDSvc                              0   0      INFO  getRegistryEntries: read 650 CLIDRegistry entries for module ALL
+ClassIDSvc                              0   0      INFO  getRegistryEntries: read 670 CLIDRegistry entries for module ALL
 SGInputLoader                           0   0   WARNING unable to find proxy for  ( 'TileRawChannelContainer' , 'StoreGateSvc+MuRcvRawChCnt' ) 
 ClassIDSvc                              0   0      INFO  getRegistryEntries: read 1757 CLIDRegistry entries for module ALL
 ClassIDSvc                              0   0      INFO  getRegistryEntries: read 89 CLIDRegistry entries for module ALL
@@ -1109,202 +1109,202 @@ SGInputLoader                           2   2   WARNING unable to find proxy for
 AthenaHiveEventLoopMgr                  3   3      INFO   ===>>>  start processing event #1131086, run #204073 on slot 3,  0 events processed so far  <<<===
 SGInputLoader                           3   3   WARNING unable to find proxy for  ( 'TileRawChannelContainer' , 'StoreGateSvc+MuRcvRawChCnt' ) 
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1129572, run #204073 on slot 0,  1 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  4   0      INFO   ===>>>  start processing event #1130272, run #204073 on slot 0,  1 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1129665, run #204073 on slot 1,  2 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1131212, run #204073 on slot 2,  3 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  4   0      INFO   ===>>>  start processing event #1130272, run #204073 on slot 0,  3 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  5   1      INFO   ===>>>  start processing event #1131269, run #204073 on slot 1,  3 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  6   2      INFO   ===>>>  start processing event #1130716, run #204073 on slot 2,  3 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1131086, run #204073 on slot 3,  4 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  5   1      INFO   ===>>>  start processing event #1131269, run #204073 on slot 1,  4 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  6   2      INFO   ===>>>  start processing event #1130716, run #204073 on slot 2,  4 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  7   3      INFO   ===>>>  start processing event #1132019, run #204073 on slot 3,  4 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1130272, run #204073 on slot 0,  5 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  8   0      INFO   ===>>>  start processing event #1132092, run #204073 on slot 0,  5 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1131269, run #204073 on slot 1,  6 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  9   1      INFO   ===>>>  start processing event #1130238, run #204073 on slot 1,  6 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1130716, run #204073 on slot 2,  7 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  9   1      INFO   ===>>>  start processing event #1130238, run #204073 on slot 1,  7 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  10  2      INFO   ===>>>  start processing event #1134553, run #204073 on slot 2,  7 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132019, run #204073 on slot 3,  8 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132092, run #204073 on slot 0,  9 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  11  0      INFO   ===>>>  start processing event #1130999, run #204073 on slot 0,  9 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  12  3      INFO   ===>>>  start processing event #1133461, run #204073 on slot 3,  9 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1130238, run #204073 on slot 1,  10 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  13  1      INFO   ===>>>  start processing event #1131152, run #204073 on slot 1,  10 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1134553, run #204073 on slot 2,  11 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1130999, run #204073 on slot 0,  12 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  14  0      INFO   ===>>>  start processing event #1130142, run #204073 on slot 0,  12 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  13  0      INFO   ===>>>  start processing event #1131152, run #204073 on slot 0,  12 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  14  1      INFO   ===>>>  start processing event #1130142, run #204073 on slot 1,  12 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  15  2      INFO   ===>>>  start processing event #1132770, run #204073 on slot 2,  12 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1133461, run #204073 on slot 3,  13 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  16  3      INFO   ===>>>  start processing event #1132365, run #204073 on slot 3,  13 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1131152, run #204073 on slot 1,  14 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  17  1      INFO   ===>>>  start processing event #1136791, run #204073 on slot 1,  14 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1130142, run #204073 on slot 0,  15 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  18  0      INFO   ===>>>  start processing event #1133781, run #204073 on slot 0,  15 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1131152, run #204073 on slot 0,  14 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  16  0      INFO   ===>>>  start processing event #1132365, run #204073 on slot 0,  14 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  17  3      INFO   ===>>>  start processing event #1136791, run #204073 on slot 3,  14 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1130142, run #204073 on slot 1,  15 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132770, run #204073 on slot 2,  16 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  19  2      INFO   ===>>>  start processing event #1132067, run #204073 on slot 2,  16 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132365, run #204073 on slot 3,  17 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  20  3      INFO   ===>>>  start processing event #1138637, run #204073 on slot 3,  17 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1136791, run #204073 on slot 1,  18 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  21  1      INFO   ===>>>  start processing event #1139495, run #204073 on slot 1,  18 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132365, run #204073 on slot 0,  17 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  18  0      INFO   ===>>>  start processing event #1133781, run #204073 on slot 0,  17 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  19  1      INFO   ===>>>  start processing event #1132067, run #204073 on slot 1,  17 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  20  2      INFO   ===>>>  start processing event #1138637, run #204073 on slot 2,  17 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1136791, run #204073 on slot 3,  18 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1133781, run #204073 on slot 0,  19 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  22  0      INFO   ===>>>  start processing event #1140193, run #204073 on slot 0,  19 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132067, run #204073 on slot 2,  20 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  23  2      INFO   ===>>>  start processing event #1142953, run #204073 on slot 2,  20 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138637, run #204073 on slot 3,  21 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  24  3      INFO   ===>>>  start processing event #1139127, run #204073 on slot 3,  21 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1140193, run #204073 on slot 0,  22 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  25  0      INFO   ===>>>  start processing event #1141272, run #204073 on slot 0,  22 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139495, run #204073 on slot 1,  23 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  26  1      INFO   ===>>>  start processing event #1137117, run #204073 on slot 1,  23 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142953, run #204073 on slot 2,  24 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139127, run #204073 on slot 3,  25 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  27  2      INFO   ===>>>  start processing event #1139599, run #204073 on slot 2,  25 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  28  3      INFO   ===>>>  start processing event #1140314, run #204073 on slot 3,  25 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1141272, run #204073 on slot 0,  26 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1132067, run #204073 on slot 1,  20 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  21  0      INFO   ===>>>  start processing event #1139495, run #204073 on slot 0,  20 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  22  1      INFO   ===>>>  start processing event #1140193, run #204073 on slot 1,  20 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  23  3      INFO   ===>>>  start processing event #1142953, run #204073 on slot 3,  20 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138637, run #204073 on slot 2,  21 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139495, run #204073 on slot 0,  22 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  24  0      INFO   ===>>>  start processing event #1139127, run #204073 on slot 0,  22 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  25  2      INFO   ===>>>  start processing event #1141272, run #204073 on slot 2,  22 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1140193, run #204073 on slot 1,  23 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142953, run #204073 on slot 3,  24 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  26  1      INFO   ===>>>  start processing event #1137117, run #204073 on slot 1,  24 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  27  3      INFO   ===>>>  start processing event #1139599, run #204073 on slot 3,  24 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139127, run #204073 on slot 0,  25 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1141272, run #204073 on slot 2,  26 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  28  0      INFO   ===>>>  start processing event #1140314, run #204073 on slot 0,  26 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  29  2      INFO   ===>>>  start processing event #1133685, run #204073 on slot 2,  26 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137117, run #204073 on slot 1,  27 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  29  0      INFO   ===>>>  start processing event #1133685, run #204073 on slot 0,  27 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  30  1      INFO   ===>>>  start processing event #1143279, run #204073 on slot 1,  27 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139599, run #204073 on slot 2,  28 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  31  2      INFO   ===>>>  start processing event #1137563, run #204073 on slot 2,  28 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1140314, run #204073 on slot 3,  29 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  32  3      INFO   ===>>>  start processing event #1139927, run #204073 on slot 3,  29 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1133685, run #204073 on slot 0,  30 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  33  0      INFO   ===>>>  start processing event #1141197, run #204073 on slot 0,  30 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139599, run #204073 on slot 3,  28 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  30  1      INFO   ===>>>  start processing event #1143279, run #204073 on slot 1,  28 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  31  3      INFO   ===>>>  start processing event #1137563, run #204073 on slot 3,  28 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1140314, run #204073 on slot 0,  29 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1133685, run #204073 on slot 2,  30 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143279, run #204073 on slot 1,  31 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  34  1      INFO   ===>>>  start processing event #1140039, run #204073 on slot 1,  31 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137563, run #204073 on slot 2,  32 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139927, run #204073 on slot 3,  33 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  35  2      INFO   ===>>>  start processing event #1142531, run #204073 on slot 2,  33 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  32  0      INFO   ===>>>  start processing event #1139927, run #204073 on slot 0,  31 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  33  1      INFO   ===>>>  start processing event #1141197, run #204073 on slot 1,  31 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  34  2      INFO   ===>>>  start processing event #1140039, run #204073 on slot 2,  31 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137563, run #204073 on slot 3,  32 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139927, run #204073 on slot 0,  33 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  35  0      INFO   ===>>>  start processing event #1142531, run #204073 on slot 0,  33 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  36  3      INFO   ===>>>  start processing event #1139475, run #204073 on slot 3,  33 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1141197, run #204073 on slot 0,  34 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  37  0      INFO   ===>>>  start processing event #1139958, run #204073 on slot 0,  34 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1140039, run #204073 on slot 1,  35 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  38  1      INFO   ===>>>  start processing event #1143765, run #204073 on slot 1,  35 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142531, run #204073 on slot 2,  36 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1141197, run #204073 on slot 1,  34 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1140039, run #204073 on slot 2,  35 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142531, run #204073 on slot 0,  36 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  37  0      INFO   ===>>>  start processing event #1139958, run #204073 on slot 0,  36 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  38  1      INFO   ===>>>  start processing event #1143765, run #204073 on slot 1,  36 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  39  2      INFO   ===>>>  start processing event #1143097, run #204073 on slot 2,  36 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139475, run #204073 on slot 3,  37 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139958, run #204073 on slot 0,  38 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  40  0      INFO   ===>>>  start processing event #1134147, run #204073 on slot 0,  38 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  41  3      INFO   ===>>>  start processing event #1137156, run #204073 on slot 3,  38 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143765, run #204073 on slot 1,  39 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  42  1      INFO   ===>>>  start processing event #1136377, run #204073 on slot 1,  39 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  40  0      INFO   ===>>>  start processing event #1134147, run #204073 on slot 0,  39 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  41  1      INFO   ===>>>  start processing event #1137156, run #204073 on slot 1,  39 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  42  3      INFO   ===>>>  start processing event #1136377, run #204073 on slot 3,  39 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143097, run #204073 on slot 2,  40 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  43  2      INFO   ===>>>  start processing event #1137842, run #204073 on slot 2,  40 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1134147, run #204073 on slot 0,  41 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  44  0      INFO   ===>>>  start processing event #1141705, run #204073 on slot 0,  41 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137156, run #204073 on slot 3,  42 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  45  3      INFO   ===>>>  start processing event #1143410, run #204073 on slot 3,  42 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1136377, run #204073 on slot 1,  43 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  46  1      INFO   ===>>>  start processing event #1144170, run #204073 on slot 1,  43 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137842, run #204073 on slot 2,  44 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  47  2      INFO   ===>>>  start processing event #1145987, run #204073 on slot 2,  44 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1141705, run #204073 on slot 0,  45 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  48  0      INFO   ===>>>  start processing event #1145633, run #204073 on slot 0,  45 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143410, run #204073 on slot 3,  46 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  49  3      INFO   ===>>>  start processing event #1135005, run #204073 on slot 3,  46 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144170, run #204073 on slot 1,  47 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  50  1      INFO   ===>>>  start processing event #1142167, run #204073 on slot 1,  47 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145987, run #204073 on slot 2,  48 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145633, run #204073 on slot 0,  49 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  51  0      INFO   ===>>>  start processing event #1144646, run #204073 on slot 0,  49 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  52  2      INFO   ===>>>  start processing event #1145027, run #204073 on slot 2,  49 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1135005, run #204073 on slot 3,  50 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  53  3      INFO   ===>>>  start processing event #1144112, run #204073 on slot 3,  50 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137156, run #204073 on slot 1,  42 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  43  0      INFO   ===>>>  start processing event #1137842, run #204073 on slot 0,  42 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  44  1      INFO   ===>>>  start processing event #1141705, run #204073 on slot 1,  42 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  45  2      INFO   ===>>>  start processing event #1143410, run #204073 on slot 2,  42 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1136377, run #204073 on slot 3,  43 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137842, run #204073 on slot 0,  44 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1141705, run #204073 on slot 1,  45 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  46  0      INFO   ===>>>  start processing event #1144170, run #204073 on slot 0,  45 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  47  1      INFO   ===>>>  start processing event #1145987, run #204073 on slot 1,  45 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  48  3      INFO   ===>>>  start processing event #1145633, run #204073 on slot 3,  45 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143410, run #204073 on slot 2,  46 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144170, run #204073 on slot 0,  47 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145987, run #204073 on slot 1,  48 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  49  0      INFO   ===>>>  start processing event #1135005, run #204073 on slot 0,  48 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  50  1      INFO   ===>>>  start processing event #1142167, run #204073 on slot 1,  48 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  51  2      INFO   ===>>>  start processing event #1144646, run #204073 on slot 2,  48 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145633, run #204073 on slot 3,  49 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  52  3      INFO   ===>>>  start processing event #1145027, run #204073 on slot 3,  49 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1135005, run #204073 on slot 0,  50 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142167, run #204073 on slot 1,  51 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  54  1      INFO   ===>>>  start processing event #1138485, run #204073 on slot 1,  51 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144646, run #204073 on slot 0,  52 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  55  0      INFO   ===>>>  start processing event #1144565, run #204073 on slot 0,  52 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145027, run #204073 on slot 2,  53 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  56  2      INFO   ===>>>  start processing event #1139498, run #204073 on slot 2,  53 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144112, run #204073 on slot 3,  54 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144646, run #204073 on slot 2,  52 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  53  0      INFO   ===>>>  start processing event #1144112, run #204073 on slot 0,  52 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  54  1      INFO   ===>>>  start processing event #1138485, run #204073 on slot 1,  52 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  55  2      INFO   ===>>>  start processing event #1144565, run #204073 on slot 2,  52 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145027, run #204073 on slot 3,  53 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144112, run #204073 on slot 0,  54 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  56  0      INFO   ===>>>  start processing event #1139498, run #204073 on slot 0,  54 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  57  3      INFO   ===>>>  start processing event #1136546, run #204073 on slot 3,  54 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138485, run #204073 on slot 1,  55 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  58  1      INFO   ===>>>  start processing event #1143799, run #204073 on slot 1,  55 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144565, run #204073 on slot 0,  56 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  59  0      INFO   ===>>>  start processing event #1142877, run #204073 on slot 0,  56 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139498, run #204073 on slot 2,  57 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  60  2      INFO   ===>>>  start processing event #1149894, run #204073 on slot 2,  57 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144565, run #204073 on slot 2,  56 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  58  1      INFO   ===>>>  start processing event #1143799, run #204073 on slot 1,  56 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  59  2      INFO   ===>>>  start processing event #1142877, run #204073 on slot 2,  56 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1139498, run #204073 on slot 0,  57 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1136546, run #204073 on slot 3,  58 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143799, run #204073 on slot 1,  59 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  60  0      INFO   ===>>>  start processing event #1149894, run #204073 on slot 0,  59 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  61  1      INFO   ===>>>  start processing event #1145364, run #204073 on slot 1,  59 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  62  3      INFO   ===>>>  start processing event #1143770, run #204073 on slot 3,  59 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142877, run #204073 on slot 0,  60 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  63  0      INFO   ===>>>  start processing event #1148361, run #204073 on slot 0,  60 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149894, run #204073 on slot 2,  61 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142877, run #204073 on slot 2,  60 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149894, run #204073 on slot 0,  61 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145364, run #204073 on slot 1,  62 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  63  0      INFO   ===>>>  start processing event #1148361, run #204073 on slot 0,  62 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  64  1      INFO   ===>>>  start processing event #1148167, run #204073 on slot 1,  62 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  65  2      INFO   ===>>>  start processing event #1138948, run #204073 on slot 2,  62 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143770, run #204073 on slot 3,  63 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  66  3      INFO   ===>>>  start processing event #1144808, run #204073 on slot 3,  63 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148361, run #204073 on slot 0,  64 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  67  0      INFO   ===>>>  start processing event #1145832, run #204073 on slot 0,  64 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  66  0      INFO   ===>>>  start processing event #1144808, run #204073 on slot 0,  64 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  67  3      INFO   ===>>>  start processing event #1145832, run #204073 on slot 3,  64 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148167, run #204073 on slot 1,  65 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  68  1      INFO   ===>>>  start processing event #1153100, run #204073 on slot 1,  65 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138948, run #204073 on slot 2,  66 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  69  2      INFO   ===>>>  start processing event #1142524, run #204073 on slot 2,  66 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144808, run #204073 on slot 3,  67 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  70  3      INFO   ===>>>  start processing event #1138294, run #204073 on slot 3,  67 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1153100, run #204073 on slot 1,  68 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  71  1      INFO   ===>>>  start processing event #1138350, run #204073 on slot 1,  68 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145832, run #204073 on slot 0,  69 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  72  0      INFO   ===>>>  start processing event #1149424, run #204073 on slot 0,  69 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142524, run #204073 on slot 2,  70 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  73  2      INFO   ===>>>  start processing event #1151102, run #204073 on slot 2,  70 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138294, run #204073 on slot 3,  71 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  74  3      INFO   ===>>>  start processing event #1152242, run #204073 on slot 3,  71 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138350, run #204073 on slot 1,  72 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  75  1      INFO   ===>>>  start processing event #1148416, run #204073 on slot 1,  72 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149424, run #204073 on slot 0,  73 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  76  0      INFO   ===>>>  start processing event #1142753, run #204073 on slot 0,  73 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151102, run #204073 on slot 2,  74 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  77  2      INFO   ===>>>  start processing event #1149997, run #204073 on slot 2,  74 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1152242, run #204073 on slot 3,  75 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1144808, run #204073 on slot 0,  67 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  68  0      INFO   ===>>>  start processing event #1153100, run #204073 on slot 0,  67 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  69  1      INFO   ===>>>  start processing event #1142524, run #204073 on slot 1,  67 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  70  2      INFO   ===>>>  start processing event #1138294, run #204073 on slot 2,  67 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145832, run #204073 on slot 3,  68 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1153100, run #204073 on slot 0,  69 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142524, run #204073 on slot 1,  70 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  71  0      INFO   ===>>>  start processing event #1138350, run #204073 on slot 0,  70 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  72  1      INFO   ===>>>  start processing event #1149424, run #204073 on slot 1,  70 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  73  3      INFO   ===>>>  start processing event #1151102, run #204073 on slot 3,  70 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138294, run #204073 on slot 2,  71 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1138350, run #204073 on slot 0,  72 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  74  0      INFO   ===>>>  start processing event #1152242, run #204073 on slot 0,  72 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  75  2      INFO   ===>>>  start processing event #1148416, run #204073 on slot 2,  72 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149424, run #204073 on slot 1,  73 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151102, run #204073 on slot 3,  74 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1152242, run #204073 on slot 0,  75 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  76  0      INFO   ===>>>  start processing event #1142753, run #204073 on slot 0,  75 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  77  1      INFO   ===>>>  start processing event #1149997, run #204073 on slot 1,  75 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  78  3      INFO   ===>>>  start processing event #1151617, run #204073 on slot 3,  75 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148416, run #204073 on slot 1,  76 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  79  1      INFO   ===>>>  start processing event #1149794, run #204073 on slot 1,  76 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148416, run #204073 on slot 2,  76 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142753, run #204073 on slot 0,  77 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149997, run #204073 on slot 2,  78 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  80  0      INFO   ===>>>  start processing event #1152504, run #204073 on slot 0,  78 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  81  2      INFO   ===>>>  start processing event #1142485, run #204073 on slot 2,  78 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  79  0      INFO   ===>>>  start processing event #1149794, run #204073 on slot 0,  77 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  80  2      INFO   ===>>>  start processing event #1152504, run #204073 on slot 2,  77 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149997, run #204073 on slot 1,  78 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151617, run #204073 on slot 3,  79 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  81  1      INFO   ===>>>  start processing event #1142485, run #204073 on slot 1,  79 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  82  3      INFO   ===>>>  start processing event #1151364, run #204073 on slot 3,  79 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149794, run #204073 on slot 1,  80 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  83  1      INFO   ===>>>  start processing event #1143901, run #204073 on slot 1,  80 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1152504, run #204073 on slot 0,  81 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  84  0      INFO   ===>>>  start processing event #1153979, run #204073 on slot 0,  81 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142485, run #204073 on slot 2,  82 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  85  2      INFO   ===>>>  start processing event #1150212, run #204073 on slot 2,  82 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149794, run #204073 on slot 0,  80 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1152504, run #204073 on slot 2,  81 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  83  0      INFO   ===>>>  start processing event #1143901, run #204073 on slot 0,  81 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  84  2      INFO   ===>>>  start processing event #1153979, run #204073 on slot 2,  81 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1142485, run #204073 on slot 1,  82 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151364, run #204073 on slot 3,  83 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  85  1      INFO   ===>>>  start processing event #1150212, run #204073 on slot 1,  83 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  86  3      INFO   ===>>>  start processing event #1152633, run #204073 on slot 3,  83 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143901, run #204073 on slot 1,  84 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  87  1      INFO   ===>>>  start processing event #1155482, run #204073 on slot 1,  84 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1153979, run #204073 on slot 0,  85 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  88  0      INFO   ===>>>  start processing event #1150472, run #204073 on slot 0,  85 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1150212, run #204073 on slot 2,  86 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  89  2      INFO   ===>>>  start processing event #1140275, run #204073 on slot 2,  86 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1143901, run #204073 on slot 0,  84 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1153979, run #204073 on slot 2,  85 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  87  0      INFO   ===>>>  start processing event #1155482, run #204073 on slot 0,  85 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  88  2      INFO   ===>>>  start processing event #1150472, run #204073 on slot 2,  85 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1150212, run #204073 on slot 1,  86 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1152633, run #204073 on slot 3,  87 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  89  1      INFO   ===>>>  start processing event #1140275, run #204073 on slot 1,  87 events processed so far  <<<===
 AthenaHiveEventLoopMgr                  90  3      INFO   ===>>>  start processing event #1145882, run #204073 on slot 3,  87 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1155482, run #204073 on slot 1,  88 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  91  1      INFO   ===>>>  start processing event #1151732, run #204073 on slot 1,  88 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1150472, run #204073 on slot 0,  89 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  92  0      INFO   ===>>>  start processing event #1137896, run #204073 on slot 0,  89 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1140275, run #204073 on slot 2,  90 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  93  2      INFO   ===>>>  start processing event #1156381, run #204073 on slot 2,  90 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1155482, run #204073 on slot 0,  88 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1150472, run #204073 on slot 2,  89 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  91  0      INFO   ===>>>  start processing event #1151732, run #204073 on slot 0,  89 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  92  2      INFO   ===>>>  start processing event #1137896, run #204073 on slot 2,  89 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1140275, run #204073 on slot 1,  90 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1145882, run #204073 on slot 3,  91 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  94  3      INFO   ===>>>  start processing event #1149161, run #204073 on slot 3,  91 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151732, run #204073 on slot 1,  92 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137896, run #204073 on slot 0,  93 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  95  0      INFO   ===>>>  start processing event #1153794, run #204073 on slot 0,  93 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  96  1      INFO   ===>>>  start processing event #1151312, run #204073 on slot 1,  93 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1156381, run #204073 on slot 2,  94 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  97  2      INFO   ===>>>  start processing event #1148893, run #204073 on slot 2,  94 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149161, run #204073 on slot 3,  95 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  98  3      INFO   ===>>>  start processing event #1156938, run #204073 on slot 3,  95 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1153794, run #204073 on slot 0,  96 events processed so far  <<<===
-AthenaHiveEventLoopMgr                  99  0      INFO   ===>>>  start processing event #1156351, run #204073 on slot 0,  96 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151312, run #204073 on slot 1,  97 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148893, run #204073 on slot 2,  98 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1156938, run #204073 on slot 3,  99 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151732, run #204073 on slot 0,  92 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  93  0      INFO   ===>>>  start processing event #1156381, run #204073 on slot 0,  92 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  94  1      INFO   ===>>>  start processing event #1149161, run #204073 on slot 1,  92 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  95  3      INFO   ===>>>  start processing event #1153794, run #204073 on slot 3,  92 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1137896, run #204073 on slot 2,  93 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1156381, run #204073 on slot 0,  94 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1149161, run #204073 on slot 1,  95 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  96  0      INFO   ===>>>  start processing event #1151312, run #204073 on slot 0,  95 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  97  1      INFO   ===>>>  start processing event #1148893, run #204073 on slot 1,  95 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  98  2      INFO   ===>>>  start processing event #1156938, run #204073 on slot 2,  95 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1153794, run #204073 on slot 3,  96 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1151312, run #204073 on slot 0,  97 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1148893, run #204073 on slot 1,  98 events processed so far  <<<===
+AthenaHiveEventLoopMgr                  99  0      INFO   ===>>>  start processing event #1156351, run #204073 on slot 0,  98 events processed so far  <<<===
+AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1156938, run #204073 on slot 2,  99 events processed so far  <<<===
 AthenaHiveEventLoopMgr                             INFO   ===>>>  done processing event #1156351, run #204073 on slot 0,  100 events processed so far  <<<===
-AthenaHiveEventLoopMgr                             INFO ---> Loop Finished (seconds): 27.2973
+AthenaHiveEventLoopMgr                             INFO ---> Loop Finished (seconds): 9.61478
 /cvmfs/atlas-condb.cern.ch/repo/condi...           INFO Database being retired...
 Domain[ROOT_All]                                   INFO ->  Deaccess DbDatabase   READ      [ROOT_All] 06C9EAE8-6F5B-E011-BAAA-003048F0E7AC
 /cvmfs/atlas-condb.cern.ch/repo/condi...           INFO Database being retired...
@@ -1324,7 +1324,7 @@ AvalancheSchedulerSvc                              INFO Joining Scheduler thread
 PyComponentMgr                                     INFO Finalizing PyComponentMgr...
 IdDictDetDescrCnv                                  INFO in finalize
 EventDataSvc                                       INFO Finalizing EventDataSvc - package version StoreGate-00-00-00
-IOVDbFolder                                        INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/340 ((     0.14 ))s
+IOVDbFolder                                        INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/340 ((     0.19 ))s
 IOVDbFolder                                        INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
 IOVDbFolder                                        INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
 IOVDbFolder                                        INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
@@ -1336,10 +1336,10 @@ IOVDbFolder                                        INFO Folder /TILE/OFL02/NOISE
 IOVDbFolder                                        INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
 IOVDbFolder                                        INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
 IOVDbFolder                                        INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 0/0 objs/chan/bytes 0/277/0 ((     0.00 ))s
-IOVDbFolder                                        INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.09 ))s
-IOVDbSvc                                           INFO  bytes in ((      0.23 ))s
+IOVDbFolder                                        INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/390 ((     0.03 ))s
+IOVDbSvc                                           INFO  bytes in ((      0.22 ))s
 IOVDbSvc                                           INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: ((     0.00 ))s
-IOVDbSvc                                           INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     0.23 ))s
+IOVDbSvc                                           INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     0.22 ))s
 IOVDbSvc                                           INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 1 nFolders: 11 ReadTime: ((     0.00 ))s
 TileInfoLoader                                     INFO TileInfoLoader::finalize()
 AthDictLoaderSvc                                   INFO in finalize...
@@ -1350,9 +1350,9 @@ ToolSvc.TileROD_Decoder.TileROD_L2Bui...           INFO Finalizing
 *****Chrono*****                                   INFO ****************************************************************************************************
 *****Chrono*****                                   INFO  The Final CPU consumption ( Chrono ) Table (ordered)
 *****Chrono*****                                   INFO ****************************************************************************************************
-cObjR_ALL                                          INFO Time User   : Tot= 1.05  [s] Ave/Min/Max=0.525(+-0.505)/ 0.02/ 1.03  [s] #=  2
-cObj_ALL                                           INFO Time User   : Tot= 1.33  [s] Ave/Min/Max=0.665(+-0.485)/ 0.18/ 1.15  [s] #=  2
-ChronoStatSvc                                      INFO Time User   : Tot= 40.2  [s]                                             #=  1
+cObjR_ALL                                          INFO Time User   : Tot= 0.69  [s] Ave/Min/Max=0.345(+-0.335)/ 0.01/ 0.68  [s] #=  2
+cObj_ALL                                           INFO Time User   : Tot= 0.84  [s] Ave/Min/Max= 0.42(+- 0.33)/ 0.09/ 0.75  [s] #=  2
+ChronoStatSvc                                      INFO Time User   : Tot=   12  [s]                                             #=  1
 *****Chrono*****                                   INFO ****************************************************************************************************
 ChronoStatSvc.finalize()                           INFO  Service finalized successfully 
 ApplicationMgr                                     INFO Application Manager Finalized successfully
-- 
GitLab


From 354721ce3ee090a5c3b042db9c47c26e38300a7a Mon Sep 17 00:00:00 2001
From: scott snyder <sss@karma>
Date: Sat, 26 Jan 2019 16:53:34 +0100
Subject: [PATCH 142/192] TrkExStraightLineIntersector: Preparing to make
 interfaces const.

The tool was caching event information in member variables.
Rework to remove this caching, to allow the interfaces to eventually
be made const.
Results are identical, and this is not expected to have any significant
effect on performance.

Also changed CRLF line endings to LF.
---
 .../StraightLineIntersector.h                 | 297 +++++++-------
 .../src/StraightLineIntersector.cxx           | 384 ++++++++----------
 2 files changed, 320 insertions(+), 361 deletions(-)

diff --git a/Tracking/TrkExtrapolation/TrkExStraightLineIntersector/TrkExStraightLineIntersector/StraightLineIntersector.h b/Tracking/TrkExtrapolation/TrkExStraightLineIntersector/TrkExStraightLineIntersector/StraightLineIntersector.h
index 7ffee9df5b14..325057f2df8c 100755
--- a/Tracking/TrkExtrapolation/TrkExStraightLineIntersector/TrkExStraightLineIntersector/StraightLineIntersector.h
+++ b/Tracking/TrkExtrapolation/TrkExStraightLineIntersector/TrkExStraightLineIntersector/StraightLineIntersector.h
@@ -1,147 +1,156 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2017, 2019 CERN for the benefit of the ATLAS collaboration
 */
 
-//////////////////////////////////////////////////////////////////////
-// provide straight line intersection to a surface
-// (useful for abstract interfaces in track/segment fitters)
-// (c) ATLAS Tracking software
-//////////////////////////////////////////////////////////////////////
-
-#ifndef TRKEXSTRAIGHTLINEINTERSECTOR_STRAIGHTLINEINTERSECTOR_H
-#define TRKEXSTRAIGHTLINEINTERSECTOR_STRAIGHTLINEINTERSECTOR_H
-
-#include "AthenaBaseComps/AthAlgTool.h"
-#include "TrkExInterfaces/IIntersector.h"
-#include "TrkExUtils/TrackSurfaceIntersection.h"
-
-namespace Trk
-{
-    
-class StraightLineIntersector: public AthAlgTool,
-			       virtual public IIntersector
-{
-    
-public:
-    StraightLineIntersector	(const std::string& type, 
-				 const std::string& name,
-				 const IInterface* parent);
-    ~StraightLineIntersector	(void); 	// destructor
-
-    StatusCode			initialize();
-    StatusCode			finalize();
-
-    /**IIntersector interface method for general Surface type */
-    const TrackSurfaceIntersection*		intersectSurface(const Surface&		surface,
-						 const TrackSurfaceIntersection*	trackTrackSurfaceIntersection,
-						 const double      	qOverP);
-	                                     
-    /**IIntersector interface method for specific Surface type : PerigeeSurface */
-    const TrackSurfaceIntersection*		approachPerigeeSurface(const PerigeeSurface&	surface,
-						       const TrackSurfaceIntersection*	trackTrackSurfaceIntersection,
-						       const double      	/*qOverP*/);
-	
-    /**IIntersector interface method for specific Surface type : StraightLineSurface */
-    const TrackSurfaceIntersection*		approachStraightLineSurface(const StraightLineSurface& surface,
-							    const TrackSurfaceIntersection*	trackTrackSurfaceIntersection,
-							    const double      	/*qOverP*/);
-              
-    /**IIntersector interface method for specific Surface type : CylinderSurface */
-    const TrackSurfaceIntersection*		intersectCylinderSurface (const CylinderSurface& surface,
-							  const TrackSurfaceIntersection*	trackTrackSurfaceIntersection,
-							  const double      	/*qOverP*/);
-
-    /**IIntersector interface method for specific Surface type : DiscSurface */
-    const TrackSurfaceIntersection*		intersectDiscSurface (const DiscSurface&	surface,
-						      const TrackSurfaceIntersection*	trackTrackSurfaceIntersection,
-						      const double      	/*qOverP*/);
-
-    /**IIntersector interface method for specific Surface type : PlaneSurface */
-    const TrackSurfaceIntersection*		intersectPlaneSurface(const PlaneSurface&	surface,
-						      const TrackSurfaceIntersection*	trackTrackSurfaceIntersection,
-						      const double      	/*qOverP*/);
- 
-    /**IIntersector interface method for validity check over a particular extrapolation range */
-    bool			isValid(Amg::Vector3D /*startPosition*/,
-					Amg::Vector3D /*endPosition*/) const
-	{ return true; }
-	
-private:
-
-    // private methods
-    void		distanceToCylinder (const double cylinderRadius);
-    void		distanceToDisc (const double discZ);
-    void		distanceToLine (const Amg::Vector3D&	linePosition,
-					const Amg::Vector3D&	lineDirection);
-    void		distanceToPlane (const Amg::Vector3D&	planePosition,
-					 const Amg::Vector3D&	planeNormal);
-    void		step (void);
-    
-    // current parameters:
-    Amg::Vector3D		m_direction;
-    unsigned			m_intersectionNumber;
-    Amg::Vector3D		m_position;
-    double       		m_stepLength;
-    double			m_transverseLength;
-
-    // counters
-    unsigned long long		m_countExtrapolations;
-    
-};
-
-//<<<<<< INLINE PRIVATE MEMBER FUNCTIONS                                >>>>>>
-
-inline void
-StraightLineIntersector::distanceToCylinder (const double cylinderRadius)
-{
-    double sinThsqinv	= 1./m_direction.perp2();
-    m_stepLength	= (-m_position.x()*m_direction.x() - m_position.y()*m_direction.y()) *
-			  sinThsqinv;
-    double deltaRSq	= (cylinderRadius*cylinderRadius - m_position.perp2())*sinThsqinv +
-			  m_stepLength*m_stepLength;
-    if (deltaRSq > 0.) m_stepLength += sqrt(deltaRSq);
-}
-    
-inline void
-StraightLineIntersector::distanceToDisc (const double discZ)
-{
-    m_stepLength	= (discZ - m_position.z())/m_direction.z();
-}
-
-inline void
-  StraightLineIntersector::distanceToLine (const Amg::Vector3D&	linePosition,
-					   const Amg::Vector3D&	lineDirection)
-{
-    // offset joining track to line is given by
-    //   offset = linePosition + a*lineDirection - trackPosition - b*trackDirection
-    // 
-    // offset is perpendicular to both line and track at solution i.e.
-    //   lineDirection.dot(offset) = 0
-    //   trackDirection.dot(offset) = 0
-    double cosAngle	= lineDirection.dot(m_direction);
-    m_stepLength	= (linePosition - m_position).dot(m_direction - lineDirection*cosAngle) /
-			  (1. - cosAngle*cosAngle);
-}
-    
-inline void
-  StraightLineIntersector::distanceToPlane (const Amg::Vector3D&	planePosition,
-					    const Amg::Vector3D&	planeNormal)
-{
-    // take the normal component of the offset from track position to plane position
-    // this is equal to the normal component of the required distance along the track direction
-    m_stepLength	= planeNormal.dot(planePosition - m_position) /
-			  planeNormal.dot(m_direction);
-}
-
-inline void
-StraightLineIntersector::step (void)
-{
-    m_position		+= m_stepLength*m_direction;
-    m_transverseLength	+= m_stepLength;
-}
-
-    
-} // end of namespace
-
-
-#endif // TRKEXSTRAIGHTLINEINTERSECTOR_STRAIGHTLINEINTERSECTOR_H
+//////////////////////////////////////////////////////////////////////
+// provide straight line intersection to a surface
+// (useful for abstract interfaces in track/segment fitters)
+// (c) ATLAS Tracking software
+//////////////////////////////////////////////////////////////////////
+
+#ifndef TRKEXSTRAIGHTLINEINTERSECTOR_STRAIGHTLINEINTERSECTOR_H
+#define TRKEXSTRAIGHTLINEINTERSECTOR_STRAIGHTLINEINTERSECTOR_H
+
+#include "AthenaBaseComps/AthAlgTool.h"
+#include "TrkExInterfaces/IIntersector.h"
+#include "TrkExUtils/TrackSurfaceIntersection.h"
+#include <atomic>
+
+namespace Trk
+{
+    
+class StraightLineIntersector: public AthAlgTool,
+			       virtual public IIntersector
+{
+    
+public:
+    StraightLineIntersector	(const std::string& type, 
+				 const std::string& name,
+				 const IInterface* parent);
+    ~StraightLineIntersector	(void); 	// destructor
+
+    StatusCode			initialize();
+    StatusCode			finalize();
+
+    /**IIntersector interface method for general Surface type */
+    const TrackSurfaceIntersection*		intersectSurface(const Surface&		surface,
+						 const TrackSurfaceIntersection*	trackTrackSurfaceIntersection,
+						 const double      	qOverP);
+	                                     
+    /**IIntersector interface method for specific Surface type : PerigeeSurface */
+    const TrackSurfaceIntersection*		approachPerigeeSurface(const PerigeeSurface&	surface,
+						       const TrackSurfaceIntersection*	trackTrackSurfaceIntersection,
+						       const double      	/*qOverP*/);
+	
+    /**IIntersector interface method for specific Surface type : StraightLineSurface */
+    const TrackSurfaceIntersection*		approachStraightLineSurface(const StraightLineSurface& surface,
+							    const TrackSurfaceIntersection*	trackTrackSurfaceIntersection,
+							    const double      	/*qOverP*/);
+              
+    /**IIntersector interface method for specific Surface type : CylinderSurface */
+    const TrackSurfaceIntersection*		intersectCylinderSurface (const CylinderSurface& surface,
+							  const TrackSurfaceIntersection*	trackTrackSurfaceIntersection,
+							  const double      	/*qOverP*/);
+
+    /**IIntersector interface method for specific Surface type : DiscSurface */
+    const TrackSurfaceIntersection*		intersectDiscSurface (const DiscSurface&	surface,
+						      const TrackSurfaceIntersection*	trackTrackSurfaceIntersection,
+						      const double      	/*qOverP*/);
+
+    /**IIntersector interface method for specific Surface type : PlaneSurface */
+    const TrackSurfaceIntersection*		intersectPlaneSurface(const PlaneSurface&	surface,
+						      const TrackSurfaceIntersection*	trackTrackSurfaceIntersection,
+						      const double      	/*qOverP*/);
+ 
+    /**IIntersector interface method for validity check over a particular extrapolation range */
+    bool			isValid(Amg::Vector3D /*startPosition*/,
+					Amg::Vector3D /*endPosition*/) const
+	{ return true; }
+	
+private:
+    // private methods
+    double		distanceToCylinder (const TrackSurfaceIntersection& isect,
+                                            const double cylinderRadius) const;
+    double		distanceToDisc (const TrackSurfaceIntersection& isect,
+                                        const double discZ) const;
+    double		distanceToLine (const TrackSurfaceIntersection& isect,
+                                        const Amg::Vector3D&	linePosition,
+					const Amg::Vector3D&	lineDirection) const;
+    double		distanceToPlane (const TrackSurfaceIntersection& isect,
+                                         const Amg::Vector3D&	planePosition,
+					 const Amg::Vector3D&	planeNormal) const;
+    void		step (TrackSurfaceIntersection& isect, double stepLength) const;
+    
+    // counters
+    mutable std::atomic<unsigned long long>		m_countExtrapolations;
+    
+};
+
+//<<<<<< INLINE PRIVATE MEMBER FUNCTIONS                                >>>>>>
+
+inline double
+StraightLineIntersector::distanceToCylinder (const TrackSurfaceIntersection& isect,
+                                             const double cylinderRadius) const
+{
+  const Amg::Vector3D& pos = isect.position();
+  const Amg::Vector3D& dir = isect.direction();
+  double sinThsqinv	= 1./dir.perp2();
+  double stepLength	= (-pos.x()*dir.x() - pos.y()*dir.y()) * sinThsqinv;
+  double deltaRSq	= (cylinderRadius*cylinderRadius - pos.perp2())*sinThsqinv +
+    stepLength*stepLength;
+  if (deltaRSq > 0.) stepLength += sqrt(deltaRSq);
+  return stepLength;
+}
+    
+inline double
+StraightLineIntersector::distanceToDisc (const TrackSurfaceIntersection& isect,
+                                         const double discZ) const
+{
+  const Amg::Vector3D& pos = isect.position();
+  const Amg::Vector3D& dir = isect.direction();
+  return (discZ - pos.z())/dir.z();
+}
+
+inline double
+StraightLineIntersector::distanceToLine (const TrackSurfaceIntersection& isect,
+                                         const Amg::Vector3D&	linePosition,
+                                         const Amg::Vector3D&	lineDirection) const
+{
+  // offset joining track to line is given by
+  //   offset = linePosition + a*lineDirection - trackPosition - b*trackDirection
+  // 
+  // offset is perpendicular to both line and track at solution i.e.
+  //   lineDirection.dot(offset) = 0
+  //   trackDirection.dot(offset) = 0
+  const Amg::Vector3D& pos = isect.position();
+  const Amg::Vector3D& dir = isect.direction();
+  double cosAngle	= lineDirection.dot(dir);
+  return (linePosition - pos).dot(dir - lineDirection*cosAngle) /
+      (1. - cosAngle*cosAngle);
+}
+    
+inline double
+  StraightLineIntersector::distanceToPlane (const TrackSurfaceIntersection& isect,
+                                            const Amg::Vector3D&	planePosition,
+					    const Amg::Vector3D&	planeNormal) const
+{
+  // take the normal component of the offset from track position to plane position
+  // this is equal to the normal component of the required distance along the track direction
+  const Amg::Vector3D& pos = isect.position();
+  const Amg::Vector3D& dir = isect.direction();
+  return planeNormal.dot(planePosition - pos) / planeNormal.dot(dir);
+}
+
+    
+inline void
+StraightLineIntersector::step (TrackSurfaceIntersection& isect, double stepLength) const
+{
+    isect.position()	+= stepLength*isect.direction();
+    isect.pathlength()	+= stepLength;
+}
+
+    
+} // end of namespace
+
+
+#endif // TRKEXSTRAIGHTLINEINTERSECTOR_STRAIGHTLINEINTERSECTOR_H
diff --git a/Tracking/TrkExtrapolation/TrkExStraightLineIntersector/src/StraightLineIntersector.cxx b/Tracking/TrkExtrapolation/TrkExStraightLineIntersector/src/StraightLineIntersector.cxx
index 083e72ae841e..2e19682f3cbc 100755
--- a/Tracking/TrkExtrapolation/TrkExStraightLineIntersector/src/StraightLineIntersector.cxx
+++ b/Tracking/TrkExtrapolation/TrkExStraightLineIntersector/src/StraightLineIntersector.cxx
@@ -1,220 +1,170 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2017, 2019 CERN for the benefit of the ATLAS collaboration
 */
 
-//////////////////////////////////////////////////////////////////////
-// provide straight line intersection to a surface
-// (useful for abstract interfaces in track/segment fitters)
-// (c) ATLAS Tracking software
-//////////////////////////////////////////////////////////////////////
-
-#include <cmath>
-#include "CLHEP/Units/SystemOfUnits.h"
-#include "TrkExStraightLineIntersector/StraightLineIntersector.h"
-#include "TrkExUtils/TrackSurfaceIntersection.h"
-//#include "TrkParameters/Perigee.h"
-#include "TrkParameters/TrackParameters.h"
-#include "TrkSurfaces/CylinderSurface.h"
-#include "TrkSurfaces/DiscSurface.h"
-#include "TrkSurfaces/PerigeeSurface.h"
-#include "TrkSurfaces/PlaneSurface.h"
-#include "TrkSurfaces/StraightLineSurface.h"
-#include "TrkSurfaces/Surface.h"
-
-namespace Trk
-{
-
-StraightLineIntersector::StraightLineIntersector (const std::string&	type,
-						  const std::string&	name, 
-						  const IInterface*	parent)
-    :	AthAlgTool		(type, name, parent),
-	m_intersectionNumber	(0),
-	m_countExtrapolations	(0)
-{
-    declareInterface<Trk::IIntersector>(this);
-}
-
-StraightLineIntersector::~StraightLineIntersector (void)
-{}
- 
-StatusCode
-StraightLineIntersector::initialize()
-{
-    // print name and package version
-    ATH_MSG_INFO( "StraightLineIntersector::initialize()"
-		  << " - package version " << PACKAGE_VERSION );
-
-    // initialize base class
-    if (StatusCode::SUCCESS != AlgTool::initialize()) return StatusCode::FAILURE;
-
-    return StatusCode::SUCCESS;
-}
-
-StatusCode
-StraightLineIntersector::finalize()
-{
-    ATH_MSG_INFO( "finalized after " << m_countExtrapolations << " extrapolations" );
-
-    return StatusCode::SUCCESS;
-}
-
-/**IIntersector interface method for general Surface type */
-const Trk::TrackSurfaceIntersection*
-StraightLineIntersector::intersectSurface(const Surface&	surface,
-					  const TrackSurfaceIntersection*	trackIntersection,
-					  const double      	qOverP)
-{
-    const PlaneSurface* plane			= dynamic_cast<const PlaneSurface*>(&surface);
-    if (plane)		return intersectPlaneSurface(*plane,trackIntersection,qOverP);
-    
-    const StraightLineSurface* straightLine	= dynamic_cast<const StraightLineSurface*>(&surface);
-    if (straightLine)	return approachStraightLineSurface(*straightLine,trackIntersection,qOverP);
-
-    const CylinderSurface* cylinder		= dynamic_cast<const CylinderSurface*>(&surface);
-    if (cylinder)	return intersectCylinderSurface(*cylinder,trackIntersection,qOverP);
-	
-    const DiscSurface* disc			= dynamic_cast<const DiscSurface*>(&surface);
-    if (disc)		return intersectDiscSurface(*disc,trackIntersection,qOverP);
-    
-    const PerigeeSurface* perigee		= dynamic_cast<const PerigeeSurface*>(&surface);
-    if (perigee)	return approachPerigeeSurface(*perigee,trackIntersection,qOverP);
-    
-    ATH_MSG_WARNING( " unrecognized Surface" );
-    return 0;
-}
-                                    
-/**IIntersector interface method for specific Surface type : PerigeeSurface */
-const Trk::TrackSurfaceIntersection*
-StraightLineIntersector::approachPerigeeSurface(const PerigeeSurface&	surface,
-						const TrackSurfaceIntersection*	trackIntersection,
-						const double      	/*qOverP*/)
-{
-    // set member data
-    if (trackIntersection->serialNumber() != m_intersectionNumber)
-    {
-	m_position		= trackIntersection->position();
-	m_direction		= trackIntersection->direction();
-	m_transverseLength	= trackIntersection->pathlength();
-	++m_countExtrapolations;
-    }
-
-    // straight line distance along track to closest approach to line
-    const Amg::Vector3D&	lineDirection = surface.transform().rotation().col(2);
-    distanceToLine (surface.center(),lineDirection);
-    step();
-    
-    const Trk::TrackSurfaceIntersection* intersection	= new TrackSurfaceIntersection(m_position,
-								       m_direction,
-								       m_transverseLength);
-    m_intersectionNumber		= intersection->serialNumber();
-    return intersection;
-}
-	
-/**IIntersector interface method for specific Surface type : StraightLineSurface */
-const Trk::TrackSurfaceIntersection*
-StraightLineIntersector::approachStraightLineSurface(const StraightLineSurface& surface,
-						     const TrackSurfaceIntersection*	trackIntersection,
-						     const double      		/*qOverP*/)
-{
-    // set member data
-    if (trackIntersection->serialNumber() != m_intersectionNumber)
-    {
-	m_position		= trackIntersection->position();
-	m_direction		= trackIntersection->direction();
-	m_transverseLength	= trackIntersection->pathlength();
-	++m_countExtrapolations;
-    }
-
-    // straight line distance along track to closest approach to line
-    const Amg::Vector3D&	lineDirection = surface.transform().rotation().col(2);
-    distanceToLine (surface.center(),lineDirection);
-    step();
-
-    const Trk::TrackSurfaceIntersection* intersection	= new TrackSurfaceIntersection(m_position,
-								       m_direction,
-								       m_transverseLength);
-    m_intersectionNumber		= intersection->serialNumber();
-    return intersection;
-}
-            
-/**IIntersector interface method for specific Surface type : CylinderSurface */
-const Trk::TrackSurfaceIntersection*
-StraightLineIntersector::intersectCylinderSurface (const CylinderSurface&	surface,
-						   const TrackSurfaceIntersection*		trackIntersection,
-						   const double      		/*qOverP*/)
-{
-    // set member data
-    if (trackIntersection->serialNumber() != m_intersectionNumber)
-    {
-	m_position		= trackIntersection->position();
-	m_direction		= trackIntersection->direction();
-	m_transverseLength	= trackIntersection->pathlength();
-	++m_countExtrapolations;
-    }
-
-    // calculate straight line distance along track to intersect with cylinder radius
-    double cylinderRadius = surface.globalReferencePoint().perp();
-    distanceToCylinder(cylinderRadius);
-    step();
-
-    const Trk::TrackSurfaceIntersection* intersection	= new TrackSurfaceIntersection(m_position,
-								       m_direction,
-								       m_transverseLength);
-    m_intersectionNumber		= intersection->serialNumber();
-    return intersection;
-}
-
-/**IIntersector interface method for specific Surface type : DiscSurface */
-const Trk::TrackSurfaceIntersection*
-StraightLineIntersector::intersectDiscSurface (const DiscSurface&	surface,
-					       const TrackSurfaceIntersection*	trackIntersection,
-					       const double      	/*qOverP*/)
-{
-    if (trackIntersection->serialNumber() != m_intersectionNumber)
-    {
-	m_position		= trackIntersection->position();
-	m_direction		= trackIntersection->direction();
-	m_transverseLength	= trackIntersection->pathlength();
-	++m_countExtrapolations;
-    }
-
-    // straight line distance along track to intersect with disc
-    distanceToDisc(surface.center().z());
-    step();
-  
-    const Trk::TrackSurfaceIntersection* intersection	= new TrackSurfaceIntersection(m_position,
-								       m_direction,
-								       m_transverseLength);
-    m_intersectionNumber		= intersection->serialNumber();
-    return intersection;
-}
-
-/**IIntersector interface method for specific Surface type : PlaneSurface */
-const Trk::TrackSurfaceIntersection*
-StraightLineIntersector::intersectPlaneSurface(const PlaneSurface&	surface,
-					       const TrackSurfaceIntersection*	trackIntersection,
-					       const double      	/*qOverP*/)
-{
-    // set member data
-    if (trackIntersection->serialNumber() != m_intersectionNumber)
-    {
-	m_position		= trackIntersection->position();
-	m_direction		= trackIntersection->direction();
-	m_transverseLength	= trackIntersection->pathlength();
-	++m_countExtrapolations;
-    }
-
-    // straight line distance along track to intersect with plane
-    distanceToPlane (surface.center(),surface.normal());
-    step();
-    distanceToPlane(surface.center(),surface.normal());
-
-    const Trk::TrackSurfaceIntersection* intersection	= new TrackSurfaceIntersection(m_position,
-								       m_direction,
-								       m_transverseLength);
-    m_intersectionNumber		= intersection->serialNumber();
-    return intersection;
-}
-
-
-} // end of namespace
+//////////////////////////////////////////////////////////////////////
+// provide straight line intersection to a surface
+// (useful for abstract interfaces in track/segment fitters)
+// (c) ATLAS Tracking software
+//////////////////////////////////////////////////////////////////////
+
+#include <cmath>
+#include "CLHEP/Units/SystemOfUnits.h"
+#include "TrkExStraightLineIntersector/StraightLineIntersector.h"
+#include "TrkExUtils/TrackSurfaceIntersection.h"
+//#include "TrkParameters/Perigee.h"
+#include "TrkParameters/TrackParameters.h"
+#include "TrkSurfaces/CylinderSurface.h"
+#include "TrkSurfaces/DiscSurface.h"
+#include "TrkSurfaces/PerigeeSurface.h"
+#include "TrkSurfaces/PlaneSurface.h"
+#include "TrkSurfaces/StraightLineSurface.h"
+#include "TrkSurfaces/Surface.h"
+
+namespace Trk
+{
+
+StraightLineIntersector::StraightLineIntersector (const std::string&	type,
+						  const std::string&	name, 
+						  const IInterface*	parent)
+    :	AthAlgTool		(type, name, parent),
+	m_countExtrapolations	(0)
+{
+    declareInterface<Trk::IIntersector>(this);
+}
+
+StraightLineIntersector::~StraightLineIntersector (void)
+{}
+ 
+StatusCode
+StraightLineIntersector::initialize()
+{
+    // print name and package version
+    ATH_MSG_INFO( "StraightLineIntersector::initialize()"
+		  << " - package version " << PACKAGE_VERSION );
+
+    // initialize base class
+    if (StatusCode::SUCCESS != AlgTool::initialize()) return StatusCode::FAILURE;
+
+    return StatusCode::SUCCESS;
+}
+
+StatusCode
+StraightLineIntersector::finalize()
+{
+    ATH_MSG_INFO( "finalized after " << m_countExtrapolations << " extrapolations" );
+
+    return StatusCode::SUCCESS;
+}
+
+/**IIntersector interface method for general Surface type */
+const Trk::TrackSurfaceIntersection*
+StraightLineIntersector::intersectSurface(const Surface&	surface,
+					  const TrackSurfaceIntersection*	trackIntersection,
+					  const double      	qOverP)
+{
+    const PlaneSurface* plane			= dynamic_cast<const PlaneSurface*>(&surface);
+    if (plane)		return intersectPlaneSurface(*plane,trackIntersection,qOverP);
+    
+    const StraightLineSurface* straightLine	= dynamic_cast<const StraightLineSurface*>(&surface);
+    if (straightLine)	return approachStraightLineSurface(*straightLine,trackIntersection,qOverP);
+
+    const CylinderSurface* cylinder		= dynamic_cast<const CylinderSurface*>(&surface);
+    if (cylinder)	return intersectCylinderSurface(*cylinder,trackIntersection,qOverP);
+	
+    const DiscSurface* disc			= dynamic_cast<const DiscSurface*>(&surface);
+    if (disc)		return intersectDiscSurface(*disc,trackIntersection,qOverP);
+    
+    const PerigeeSurface* perigee		= dynamic_cast<const PerigeeSurface*>(&surface);
+    if (perigee)	return approachPerigeeSurface(*perigee,trackIntersection,qOverP);
+    
+    ATH_MSG_WARNING( " unrecognized Surface" );
+    return 0;
+}
+                                    
+/**IIntersector interface method for specific Surface type : PerigeeSurface */
+const Trk::TrackSurfaceIntersection*
+StraightLineIntersector::approachPerigeeSurface(const PerigeeSurface&	surface,
+						const TrackSurfaceIntersection*	trackIntersection,
+						const double      	/*qOverP*/)
+{
+  auto isect = std::make_unique<TrackSurfaceIntersection> (*trackIntersection);
+  ++m_countExtrapolations;
+
+  // straight line distance along track to closest approach to line
+  const Amg::Vector3D&	lineDirection = surface.transform().rotation().col(2);
+  double stepLength = distanceToLine (*isect, surface.center(),lineDirection);
+  step(*isect, stepLength);
+    
+  return isect.release();
+}
+	
+/**IIntersector interface method for specific Surface type : StraightLineSurface */
+const Trk::TrackSurfaceIntersection*
+StraightLineIntersector::approachStraightLineSurface(const StraightLineSurface& surface,
+						     const TrackSurfaceIntersection*	trackIntersection,
+						     const double      		/*qOverP*/)
+{
+  auto isect = std::make_unique<TrackSurfaceIntersection> (*trackIntersection);
+  ++m_countExtrapolations;
+
+  // straight line distance along track to closest approach to line
+  const Amg::Vector3D&	lineDirection = surface.transform().rotation().col(2);
+  double stepLength = distanceToLine (*isect, surface.center(),lineDirection);
+  step(*isect, stepLength);
+
+  return isect.release();
+}
+            
+/**IIntersector interface method for specific Surface type : CylinderSurface */
+const Trk::TrackSurfaceIntersection*
+StraightLineIntersector::intersectCylinderSurface (const CylinderSurface&	surface,
+						   const TrackSurfaceIntersection*		trackIntersection,
+						   const double      		/*qOverP*/)
+{
+  auto isect = std::make_unique<TrackSurfaceIntersection> (*trackIntersection);
+  ++m_countExtrapolations;
+  
+  // calculate straight line distance along track to intersect with cylinder radius
+  double cylinderRadius = surface.globalReferencePoint().perp();
+  double stepLength = distanceToCylinder(*isect, cylinderRadius);
+  step(*isect, stepLength);
+
+  return isect.release();
+}
+
+/**IIntersector interface method for specific Surface type : DiscSurface */
+const Trk::TrackSurfaceIntersection*
+StraightLineIntersector::intersectDiscSurface (const DiscSurface&	surface,
+					       const TrackSurfaceIntersection*	trackIntersection,
+					       const double      	/*qOverP*/)
+{
+  auto isect = std::make_unique<TrackSurfaceIntersection> (*trackIntersection);
+  ++m_countExtrapolations;
+
+  // straight line distance along track to intersect with disc
+  double stepLength = distanceToDisc(*isect, surface.center().z());
+  step(*isect, stepLength);
+  
+  return isect.release();
+}
+
+/**IIntersector interface method for specific Surface type : PlaneSurface */
+const Trk::TrackSurfaceIntersection*
+StraightLineIntersector::intersectPlaneSurface(const PlaneSurface&	surface,
+					       const TrackSurfaceIntersection*	trackIntersection,
+					       const double      	/*qOverP*/)
+{
+  auto isect = std::make_unique<TrackSurfaceIntersection> (*trackIntersection);
+  ++m_countExtrapolations;
+
+  // straight line distance along track to intersect with plane
+  double stepLength = distanceToPlane (*isect, surface.center(),surface.normal());
+  step(*isect, stepLength);
+  stepLength = distanceToPlane (*isect, surface.center(),surface.normal());
+
+  return isect.release();
+}
+
+
+} // end of namespace
-- 
GitLab


From 2cfa8623e7b51b0aad0f0989fb8f26a5ef1cae89 Mon Sep 17 00:00:00 2001
From: scott snyder <snyder@bnl.gov>
Date: Sat, 26 Jan 2019 16:57:44 +0100
Subject: [PATCH 143/192] EventBookkeeperTools: VarHandle migration.

Change EventCounterAlg to use ReadHandle.
---
 Event/EventBookkeeperTools/src/EventCounterAlg.cxx |  8 +++++---
 Event/EventBookkeeperTools/src/EventCounterAlg.h   | 12 ++++++++----
 2 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/Event/EventBookkeeperTools/src/EventCounterAlg.cxx b/Event/EventBookkeeperTools/src/EventCounterAlg.cxx
index 6483fbc951ed..f9709885509a 100644
--- a/Event/EventBookkeeperTools/src/EventCounterAlg.cxx
+++ b/Event/EventBookkeeperTools/src/EventCounterAlg.cxx
@@ -1,7 +1,7 @@
 ///////////////////////// -*- C++ -*- /////////////////////////////
 
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // EventCounterAlg.cxx
@@ -21,6 +21,7 @@
 // EDM includes
 #include "xAODCutFlow/CutBookkeeper.h"
 #include "xAODEventInfo/EventInfo.h"
+#include "StoreGate/ReadHandle.h"
 
 
 
@@ -64,6 +65,7 @@ StatusCode EventCounterAlg::initialize()
                                    xAOD::CutBookkeeper::CutLogic::ALLEVENTSPROCESSED,
                                    "AllStreams");
 
+  ATH_CHECK( m_eventInfoKey.initialize() );
   return StatusCode::SUCCESS;
 }
 
@@ -79,6 +81,7 @@ StatusCode EventCounterAlg::finalize()
 
 StatusCode EventCounterAlg::execute()
 {
+  const EventContext& ctx = Gaudi::Hive::currentContext();
   ATH_MSG_VERBOSE ("Executing " << this->name() << "...");
 
   setFilterPassed(true);
@@ -86,8 +89,7 @@ StatusCode EventCounterAlg::execute()
   // Update also the other counters for the non-nominal MC weights
   if (m_trackOtherMCWeights) {
     // Get the EventInfo object
-    const xAOD::EventInfo* evtInfo = 0;
-    ATH_CHECK( evtStore()->retrieve(evtInfo) );
+    SG::ReadHandle<xAOD::EventInfo> evtInfo (m_eventInfoKey, ctx);
     // Only try to access the mcEventWeight is we are running on Monte Carlo, duhhh!
     if ( !(evtInfo->eventType(xAOD::EventInfo::IS_SIMULATION)) ) {
       ATH_MSG_DEBUG("We are not running on simulation and thus, nothing to be done here");
diff --git a/Event/EventBookkeeperTools/src/EventCounterAlg.h b/Event/EventBookkeeperTools/src/EventCounterAlg.h
index 6b9fe87f1ab6..20feee502017 100644
--- a/Event/EventBookkeeperTools/src/EventCounterAlg.h
+++ b/Event/EventBookkeeperTools/src/EventCounterAlg.h
@@ -1,7 +1,7 @@
 ///////////////////////// -*- C++ -*- /////////////////////////////
 
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // EventCounterAlg.h
@@ -17,6 +17,8 @@
 
 // FrameWork includes
 #include "AthenaBaseComps/AthFilterAlgorithm.h"
+#include "StoreGate/ReadHandleKey.h"
+#include "xAODEventInfo/EventInfo.h"
 
 
 class EventCounterAlg
@@ -40,9 +42,9 @@ class EventCounterAlg
   //EventCounterAlg &operator=(const EventCounterAlg &alg);
 
   // Athena algorithm's Hooks
-  virtual StatusCode  initialize();
-  virtual StatusCode  execute();
-  virtual StatusCode  finalize();
+  virtual StatusCode  initialize() override;
+  virtual StatusCode  execute() override;
+  virtual StatusCode  finalize() override;
 
   ///////////////////////////////////////////////////////////////////
   // Const methods:
@@ -69,6 +71,8 @@ class EventCounterAlg
   /// Keep a vector of all cutIDs for the non-nominal MC event weights
   std::vector<CutIdentifier> m_mcCutIDs;
 
+  SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey
+  { this, "EventInfoKey", "EventInfo", "" };
 };
 
 // I/O operators
-- 
GitLab


From 1b964879055ebd0fd06df5c3cfb00e081c1a762a Mon Sep 17 00:00:00 2001
From: scott snyder <snyder@bnl.gov>
Date: Sat, 26 Jan 2019 16:58:09 +0100
Subject: [PATCH 144/192] InDetAlignmentMonitoring; Migrate IDAlignMonResiduals
 to VarHandle.

Use ReadHandle to access SG data.
---
 .../src/IDAlignMonResiduals.cxx                   | 14 ++++++--------
 .../src/IDAlignMonResiduals.h                     | 15 ++++++++++-----
 2 files changed, 16 insertions(+), 13 deletions(-)

diff --git a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx
index 8df68f42033f..0caa5d55f195 100755
--- a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx
+++ b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // ***************************************************************************************
@@ -24,9 +24,8 @@
 #include "TFitResult.h"
 #include "TFitResultPtr.h"
 
-#include "xAODEventInfo/EventInfo.h"
-
 #include "GaudiKernel/IJobOptionsSvc.h"
+#include "StoreGate/ReadHandle.h"
 #include "AtlasDetDescr/AtlasDetectorID.h"
 #include "InDetIdentifier/PixelID.h"
 #include "InDetIdentifier/SCT_ID.h"
@@ -629,6 +628,8 @@ StatusCode IDAlignMonResiduals::initialize()
 	  }
 	}
 
+        ATH_CHECK( m_eventInfoKey.initialize() );
+
 	return StatusCode::SUCCESS;
 }
 
@@ -1061,16 +1062,13 @@ void IDAlignMonResiduals::RegisterHisto(MonGroup& mon, TH2* histo) {
 StatusCode IDAlignMonResiduals::fillHistograms()
 {
 
+  const EventContext& ctx = Gaudi::Hive::currentContext();
   ++m_events;
 
   m_hasBeenCalledThisEvent=false;
   m_mu=0.;
 
-  const DataHandle<xAOD::EventInfo> eventInfo;
-  if (StatusCode::SUCCESS != evtStore()->retrieve( eventInfo ) ){
-    msg(MSG::ERROR) << "Cannot get event info." << endmsg;
-  }
-
+  SG::ReadHandle<xAOD::EventInfo> eventInfo (m_eventInfoKey, ctx);
 
   m_changedlumiblock = false;
   m_lumiblock = eventInfo->lumiBlock();
diff --git a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.h b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.h
index d9ceb28f9868..1b4e6c38d386 100755
--- a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.h
+++ b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef IDAlignMonResiduals_H
@@ -18,6 +18,8 @@
 #include "AthenaMonitoring/ManagedMonitorToolBase.h"
 #include "EventPrimitives/EventPrimitives.h"
 #include "TrkParameters/TrackParameters.h"
+#include "xAODEventInfo/EventInfo.h"
+#include "StoreGate/ReadHandleKey.h"
 #include "GaudiKernel/ServiceHandle.h"
 #include "GaudiKernel/ServiceHandle.h"
 #include "GaudiKernel/ToolHandle.h"
@@ -71,10 +73,10 @@ class IDAlignMonResiduals : public ManagedMonitorToolBase
 
   virtual ~IDAlignMonResiduals();
 
-  virtual StatusCode initialize();
-  virtual StatusCode bookHistograms();
-  virtual StatusCode fillHistograms();
-  virtual StatusCode procHistograms();
+  virtual StatusCode initialize() override;
+  virtual StatusCode bookHistograms() override;
+  virtual StatusCode fillHistograms() override;
+  virtual StatusCode procHistograms() override;
 
   void MakePIXBarrelHistograms (MonGroup& al_mon);
   void MakePIXEndCapsHistograms (MonGroup& al_mon);
@@ -886,6 +888,9 @@ class IDAlignMonResiduals : public ManagedMonitorToolBase
   float m_z_fix{};
   int m_minIBLhits{};
   bool m_doIBLLBPlots{};
+
+  SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey
+  { this, "EventInfoKey", "EventInfo", "" };
 };
 
 #endif
-- 
GitLab


From f03437c87ff3b4537607e96452e39abbaf9891ba Mon Sep 17 00:00:00 2001
From: scott snyder <snyder@bnl.gov>
Date: Sat, 26 Jan 2019 16:58:42 +0100
Subject: [PATCH 145/192] TrigT1CaloCalibTools: Migrate to VarHandle.

Migrate L1CaloTriggerTowerDecoratorAlg/L1CaloxAODOfflineTriggerTowerTools
to use Read/WriteHandle.  Make tool private.
---
 .../L1CaloTriggerTowerDecoratorAlg.h          |  7 ++++-
 .../L1CaloxAODOfflineTriggerTowerTools.h      | 10 +++----
 ...ateL1CaloTriggerTowers_prodJobOFragment.py |  4 +--
 .../src/L1CaloTriggerTowerDecoratorAlg.cxx    | 17 ++++++------
 .../L1CaloxAODOfflineTriggerTowerTools.cxx    | 27 +++++--------------
 5 files changed, 26 insertions(+), 39 deletions(-)

diff --git a/Trigger/TrigT1/TrigT1CaloCalibTools/TrigT1CaloCalibTools/L1CaloTriggerTowerDecoratorAlg.h b/Trigger/TrigT1/TrigT1CaloCalibTools/TrigT1CaloCalibTools/L1CaloTriggerTowerDecoratorAlg.h
index 5caa1eaea818..5c748db207e8 100644
--- a/Trigger/TrigT1/TrigT1CaloCalibTools/TrigT1CaloCalibTools/L1CaloTriggerTowerDecoratorAlg.h
+++ b/Trigger/TrigT1/TrigT1CaloCalibTools/TrigT1CaloCalibTools/L1CaloTriggerTowerDecoratorAlg.h
@@ -1,7 +1,7 @@
 // Dear emacs, this is -*- c++ -*-
 
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // $Id: L1CaloTriggerTowerDecoratorAlg.h 728363 2016-03-08 12:45:29Z amazurov $
@@ -9,11 +9,14 @@
 #define TRIGGER_TRIGT1_TRIGT1CALOXAODCALIBTOOLS_DECORATETRIGGERTOWERSALG_H
 
 // Gaudi/Athena include(s):
+#include "xAODTrigL1Calo/TriggerTowerContainer.h"
 #include "AthenaBaseComps/AthAlgorithm.h"
 #include "AsgTools/ToolHandle.h"
+#include "StoreGate/ReadHandleKey.h"
 
 // Local include(s):
 #include "TrigT1CaloCalibToolInterfaces/IL1CaloxAODOfflineTriggerTowerTools.h"
+#include "TrigT1Interfaces/TrigT1CaloDefs.h"
 
 namespace LVL1 {
 class L1CaloTriggerTowerDecoratorAlg : public AthAlgorithm {
@@ -28,6 +31,8 @@ class L1CaloTriggerTowerDecoratorAlg : public AthAlgorithm {
   virtual StatusCode execute();
 
  private:
+  SG::ReadHandleKey<xAOD::TriggerTowerContainer> m_triggerTowerContainerKey
+  { this, "sgKey_TriggerTowers", LVL1::TrigT1CaloDefs::xAODTriggerTowerLocation, "" };
   std::string m_sgKey_TriggerTowers;
 
   /// Decoration strings (leave empty to disable the decoration)
diff --git a/Trigger/TrigT1/TrigT1CaloCalibTools/TrigT1CaloCalibTools/L1CaloxAODOfflineTriggerTowerTools.h b/Trigger/TrigT1/TrigT1CaloCalibTools/TrigT1CaloCalibTools/L1CaloxAODOfflineTriggerTowerTools.h
index 9f2f676e74df..8b69243491a3 100644
--- a/Trigger/TrigT1/TrigT1CaloCalibTools/TrigT1CaloCalibTools/L1CaloxAODOfflineTriggerTowerTools.h
+++ b/Trigger/TrigT1/TrigT1CaloCalibTools/TrigT1CaloCalibTools/L1CaloxAODOfflineTriggerTowerTools.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 //  ***************************************************************************
 //  *   Author: John Morris (john.morris@cern.ch)                             *
@@ -12,6 +12,7 @@
 
 // Framework include(s):
 #include "AsgTools/AsgTool.h"
+#include "StoreGate/ReadHandleKey.h"
 #include "GaudiKernel/ToolHandle.h"
 
 // STL include(s):
@@ -73,8 +74,6 @@ namespace LVL1{
       
       /// Calo Cells into maps for L1Calo use
       StatusCode                                 initCaloCells(); 
-      /// Database init 
-      StatusCode                                 initDatabase();      
 
       std::vector<L1CaloRxCoolChannelId>         receivers( const xAOD::TriggerTower& tt ) const;
       std::vector<unsigned int>                  receiversId( const xAOD::TriggerTower& tt ) const;
@@ -179,9 +178,8 @@ namespace LVL1{
       CaloTriggerTowerService*                     m_ttSvc;
       
       /// StoreGate keys for the Calo Cells 
-      std::string m_sgKey_CaloCells;
-      /// StoreGate keys for the Database
-      std::string m_sgKey_dbPpmChanCalib;
+      SG::ReadHandleKey<CaloCellContainer> m_caloCellContainerKey
+      { this, "CaloCellContainerKey", "AllCalo" };
       
       /// Database
       const CondAttrListCollection* m_dbPpmChanCalib;
diff --git a/Trigger/TrigT1/TrigT1CaloCalibTools/share/DecorateL1CaloTriggerTowers_prodJobOFragment.py b/Trigger/TrigT1/TrigT1CaloCalibTools/share/DecorateL1CaloTriggerTowers_prodJobOFragment.py
index 829cda4897fd..be5f98defb9a 100644
--- a/Trigger/TrigT1/TrigT1CaloCalibTools/share/DecorateL1CaloTriggerTowers_prodJobOFragment.py
+++ b/Trigger/TrigT1/TrigT1CaloCalibTools/share/DecorateL1CaloTriggerTowers_prodJobOFragment.py
@@ -7,6 +7,6 @@ include.block( "TrigT1CaloCalibTools/DecorateL1CaloTriggerTowers_prodJobOFragmen
 
 include("TrigT1CaloCalibConditions/L1CaloCalibConditions_jobOptions.py")
 
-ToolSvc += CfgMgr.LVL1__L1CaloxAODOfflineTriggerTowerTools( "LVL1__L1CaloxAODOfflineTriggerTowerTools" )
+triggerTowerTools = CfgMgr.LVL1__L1CaloxAODOfflineTriggerTowerTools( "LVL1__L1CaloxAODOfflineTriggerTowerTools" )
 # decorate L1Calo Trigger Towers
-topSequence += CfgMgr.LVL1__L1CaloTriggerTowerDecoratorAlg( TriggerTowerTools = ToolSvc.LVL1__L1CaloxAODOfflineTriggerTowerTools )
+topSequence += CfgMgr.LVL1__L1CaloTriggerTowerDecoratorAlg( TriggerTowerTools = triggerTowerTools )
diff --git a/Trigger/TrigT1/TrigT1CaloCalibTools/src/L1CaloTriggerTowerDecoratorAlg.cxx b/Trigger/TrigT1/TrigT1CaloCalibTools/src/L1CaloTriggerTowerDecoratorAlg.cxx
index 69bc22f05c67..4204f82e83da 100644
--- a/Trigger/TrigT1/TrigT1CaloCalibTools/src/L1CaloTriggerTowerDecoratorAlg.cxx
+++ b/Trigger/TrigT1/TrigT1CaloCalibTools/src/L1CaloTriggerTowerDecoratorAlg.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // $Id: L1CaloTriggerTowerDecoratorAlg.cxx 728363 2016-03-08 12:45:29Z amazurov $
@@ -31,17 +31,15 @@ namespace LVL1 {
 L1CaloTriggerTowerDecoratorAlg::L1CaloTriggerTowerDecoratorAlg(
     const std::string& name, ISvcLocator* svcLoc)
     : AthAlgorithm(name, svcLoc),
-      m_sgKey_TriggerTowers(LVL1::TrigT1CaloDefs::xAODTriggerTowerLocation),
       m_caloCellEnergy(""),  // disabled by default
       m_caloCellET(""),      // disabled by default
       m_caloCellEnergyByLayer("CaloCellEnergyByLayer"),
       m_caloCellETByLayer("CaloCellETByLayer"),
       m_caloCellsQuality("CaloCellQuality"),
       m_caloCellEnergyByLayerByReceiver(""),  // disabled by default
-      m_caloCellETByLayerByReceiver("")       // disabled by default
+      m_caloCellETByLayerByReceiver(""),       // disabled by default
+      m_ttTools(this)
 {
-  declareProperty("sgKey_TriggerTowers", m_sgKey_TriggerTowers);
-
   declareProperty("DecorName_caloCellEnergy",
                   m_caloCellEnergy,  // disabled by default
                   "Decoration name - leave empty to disable");
@@ -108,6 +106,8 @@ StatusCode L1CaloTriggerTowerDecoratorAlg::initialize() {
             m_caloCellETByLayerByReceiver);
   }
 
+  CHECK( m_triggerTowerContainerKey.initialize(SG::AllowEmpty) );
+
   // Return gracefully:
   return StatusCode::SUCCESS;
 }
@@ -132,12 +132,11 @@ StatusCode L1CaloTriggerTowerDecoratorAlg::execute() {
   // use decorators to avoid the costly name -> auxid lookup
 
   // Shall I proceed?
-  if (evtStore()->contains<xAOD::TriggerTowerContainer>(
-          m_sgKey_TriggerTowers)) {
+  if (!m_triggerTowerContainerKey.empty()) {
     CHECK(m_ttTools->initCaloCells());
 
-    const xAOD::TriggerTowerContainer* tts(nullptr);
-    CHECK(evtStore()->retrieve(tts, m_sgKey_TriggerTowers));
+    const EventContext& ctx = Gaudi::Hive::currentContext();
+    SG::ReadHandle<xAOD::TriggerTowerContainer> tts (m_triggerTowerContainerKey, ctx);
     for (const auto x : *tts) {
       if (caloCellEnergyDecorator)
         (*caloCellEnergyDecorator)(*x) = m_ttTools->caloCellsEnergy(*x);
diff --git a/Trigger/TrigT1/TrigT1CaloCalibTools/src/L1CaloxAODOfflineTriggerTowerTools.cxx b/Trigger/TrigT1/TrigT1CaloCalibTools/src/L1CaloxAODOfflineTriggerTowerTools.cxx
index 063b38344acb..36535e4219e8 100644
--- a/Trigger/TrigT1/TrigT1CaloCalibTools/src/L1CaloxAODOfflineTriggerTowerTools.cxx
+++ b/Trigger/TrigT1/TrigT1CaloCalibTools/src/L1CaloxAODOfflineTriggerTowerTools.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 //  ***************************************************************************
 //  *   Author: John Morris (john.morris@cern.ch)                             *
@@ -9,6 +9,7 @@
 // Like it says above, please chop up this code until it does what you want !
 
 #include "TrigT1CaloCalibTools/L1CaloxAODOfflineTriggerTowerTools.h"
+#include "StoreGate/ReadHandle.h"
 
 #include <algorithm> // for std::transform
 #include <iterator> // for std::back_inserter
@@ -24,8 +25,6 @@ namespace LVL1{
     m_caloMgr(nullptr),
     m_lvl1Helper(nullptr),
     m_ttSvc(nullptr),
-    m_sgKey_CaloCells("AllCalo"),
-    m_sgKey_dbPpmChanCalib("/TRIGGER/L1Calo/V1/Calibration/Physics/PprChanCalib"),
     m_dbPpmChanCalib(nullptr)
   {      
   }
@@ -53,8 +52,9 @@ namespace LVL1{
 
     CHECK( svcLoc->service( "ToolSvc",toolSvc  ) );
     CHECK( toolSvc->retrieveTool("CaloTriggerTowerService",m_ttSvc) );
-   
-    
+
+    CHECK( m_caloCellContainerKey.initialize() );
+
     // Return gracefully:    
     return StatusCode::SUCCESS; 
   }
@@ -71,28 +71,13 @@ namespace LVL1{
   StatusCode                                 
   L1CaloxAODOfflineTriggerTowerTools::initCaloCells()
   {
-    if( ! evtStore()->contains< CaloCellContainer >( m_sgKey_CaloCells ) ){
-      ATH_MSG_INFO("Could not find CaloCellContainer with key "<<m_sgKey_CaloCells);
-      return StatusCode::FAILURE;
-    }
-    
-    const CaloCellContainer* cells(nullptr);
-    CHECK( evtStore()->retrieve( cells , m_sgKey_CaloCells ) );
+    SG::ReadHandle<CaloCellContainer> cells (m_caloCellContainerKey);
     m_cells2tt->initCaloCellsTriggerTowers( *cells );
     
     // Return gracefully:
     return StatusCode::SUCCESS;      
   }
   
-  StatusCode                                 
-  L1CaloxAODOfflineTriggerTowerTools::initDatabase()
-  {
-    CHECK( evtStore()->retrieve( m_dbPpmChanCalib , m_sgKey_dbPpmChanCalib ) );
-    
-    // Return gracefully:
-    return StatusCode::SUCCESS;     
-  }
-  
   std::vector<L1CaloRxCoolChannelId>         
   L1CaloxAODOfflineTriggerTowerTools::receivers( const xAOD::TriggerTower& tt ) const
   {
-- 
GitLab


From c110b9b9357f4112ae2ec5fb2ed8a84bdf7a8795 Mon Sep 17 00:00:00 2001
From: scott snyder <snyder@bnl.gov>
Date: Sat, 26 Jan 2019 16:58:27 +0100
Subject: [PATCH 146/192] TrigT1CaloCalibToolInterfaces: Remove unused
 interface.

IL1CaloxAODOfflineTriggerTowerTools::initDatabase is never called,
and the concrete implementation is problematic for MT.
Remove it.
---
 .../IL1CaloxAODOfflineTriggerTowerTools.h                     | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/Trigger/TrigT1/TrigT1CaloCalibToolInterfaces/TrigT1CaloCalibToolInterfaces/IL1CaloxAODOfflineTriggerTowerTools.h b/Trigger/TrigT1/TrigT1CaloCalibToolInterfaces/TrigT1CaloCalibToolInterfaces/IL1CaloxAODOfflineTriggerTowerTools.h
index d502266c9ac0..45442d0fd7b2 100644
--- a/Trigger/TrigT1/TrigT1CaloCalibToolInterfaces/TrigT1CaloCalibToolInterfaces/IL1CaloxAODOfflineTriggerTowerTools.h
+++ b/Trigger/TrigT1/TrigT1CaloCalibToolInterfaces/TrigT1CaloCalibToolInterfaces/IL1CaloxAODOfflineTriggerTowerTools.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 //  ***************************************************************************
 //  *   Author: John Morris (john.morris@cern.ch)                             *
@@ -43,8 +43,6 @@ namespace LVL1{
       
       /// Calo Cells into maps for L1Calo use
       virtual StatusCode                                 initCaloCells() = 0;
-      /// Database init 
-      virtual StatusCode                                 initDatabase() = 0;
 
       virtual std::vector<L1CaloRxCoolChannelId>         receivers( const xAOD::TriggerTower& tt ) const = 0;
       virtual std::vector<unsigned int>                  receiversId( const xAOD::TriggerTower& tt ) const = 0;
-- 
GitLab


From cc815bc83c0b798767a5d5163da94beb8dd55b02 Mon Sep 17 00:00:00 2001
From: Scott Snyder <scott.snyder@cern.ch>
Date: Sun, 27 Jan 2019 07:42:55 +0000
Subject: [PATCH 147/192] ZdcRec+ZdcAnalysis: Migrate to VarHandles.

---
 .../ZDC/ZdcAnalysis/Root/ZdcAnalysisTool.cxx  |  14 +-
 .../ZdcAnalysis/IZdcAnalysisTool.h            |   7 +-
 .../ZdcAnalysis/ZdcAnalysis/ZdcAnalysisTool.h |  12 +-
 .../ZDC/ZdcRec/ZdcRec/ZdcRecChannelToolV2.h   |  20 +--
 ForwardDetectors/ZDC/ZdcRec/ZdcRec/ZdcRecV3.h |  43 ++----
 .../ZDC/ZdcRec/python/ZdcModuleGetter.py      |  21 +--
 .../ZDC/ZdcRec/src/ZdcRecChannelToolV2.cxx    |  12 +-
 ForwardDetectors/ZDC/ZdcRec/src/ZdcRecV3.cxx  | 129 ++++--------------
 8 files changed, 79 insertions(+), 179 deletions(-)

diff --git a/ForwardDetectors/ZDC/ZdcAnalysis/Root/ZdcAnalysisTool.cxx b/ForwardDetectors/ZDC/ZdcAnalysis/Root/ZdcAnalysisTool.cxx
index f3480cb92fe2..52ab89e72fef 100644
--- a/ForwardDetectors/ZDC/ZdcAnalysis/Root/ZdcAnalysisTool.cxx
+++ b/ForwardDetectors/ZDC/ZdcAnalysis/Root/ZdcAnalysisTool.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "ZdcAnalysis/ZdcAnalysisTool.h"
@@ -28,7 +28,6 @@ namespace ZDC
    declareInterface<IZdcAnalysisTool>(this);
 #endif
 
-  declareProperty("ZdcModuleContainerName",m_zdcModuleContainerName="ZdcModules","Location of ZDC processed data");
   declareProperty("EventInfoKey",          m_eventInfoKey,          "Location of the event info.");
   declareProperty("ZdcModuleWriteKey",     m_ZdcModuleWriteKey,     "Output location of ZDC reprocessed data");
   declareProperty("Configuration", m_configuration = "PbPb2015");
@@ -586,7 +585,6 @@ StatusCode ZdcAnalysisTool::initializeTool()
   ATH_MSG_INFO("ChisqRatioCut: "<<m_ChisqRatioCut);
 
   ATH_CHECK( m_eventInfoKey.initialize());
-  ATH_CHECK( m_zdcModuleContainerName.initialize());
   ATH_CHECK( m_ZdcModuleWriteKey.initialize() );
 
   return StatusCode::SUCCESS;
@@ -918,16 +916,6 @@ void ZdcAnalysisTool::setTimeCalibrations(unsigned int runNumber)
   fCalib->Close();
 }
 
-StatusCode ZdcAnalysisTool::reprocessZdc()
-{
-  SG::ReadHandle<xAOD::ZdcModuleContainer> zdc_modules(m_zdcModuleContainerName);
-  if (!zdc_modules.isValid()) return StatusCode::FAILURE;
-
-  ATH_CHECK(recoZdcModules(*zdc_modules));
-
-  return StatusCode::SUCCESS;
-}
-
   bool ZdcAnalysisTool::sigprocMaxFinder(const std::vector<unsigned short>& adc, float deltaT, float& amp, float& time, float& qual)
   {
     size_t nsamp = adc.size();
diff --git a/ForwardDetectors/ZDC/ZdcAnalysis/ZdcAnalysis/IZdcAnalysisTool.h b/ForwardDetectors/ZDC/ZdcAnalysis/ZdcAnalysis/IZdcAnalysisTool.h
index c4a9e9bdeb9f..81de4ccc6899 100644
--- a/ForwardDetectors/ZDC/ZdcAnalysis/ZdcAnalysis/IZdcAnalysisTool.h
+++ b/ForwardDetectors/ZDC/ZdcAnalysis/ZdcAnalysis/IZdcAnalysisTool.h
@@ -1,9 +1,9 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
-#ifndef __IZDCRECTOOL_H__
-#define __IZDCRECTOOL_H__
+#ifndef ZDCANALYSIS_IZDCRECTOOL_H
+#define ZDCANALYSIS_IZDCRECTOOL_H
 
 #include "AsgTools/IAsgTool.h"
 #include "xAODForward/ZdcModuleContainer.h"
@@ -21,7 +21,6 @@ class IZdcAnalysisTool : virtual public asg::IAsgTool
   virtual StatusCode initializeTool() = 0;
   virtual StatusCode recoZdcModule(const xAOD::ZdcModule& module) = 0;
   virtual StatusCode recoZdcModules(const xAOD::ZdcModuleContainer& moduleContainer) = 0;
-  virtual StatusCode reprocessZdc() = 0;
 };
 
 }
diff --git a/ForwardDetectors/ZDC/ZdcAnalysis/ZdcAnalysis/ZdcAnalysisTool.h b/ForwardDetectors/ZDC/ZdcAnalysis/ZdcAnalysis/ZdcAnalysisTool.h
index 3b401b9b571c..8d944608d957 100644
--- a/ForwardDetectors/ZDC/ZdcAnalysis/ZdcAnalysis/ZdcAnalysisTool.h
+++ b/ForwardDetectors/ZDC/ZdcAnalysis/ZdcAnalysis/ZdcAnalysisTool.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef ZDCANALYSIS_ZDCANALYSISTOOL_H
@@ -30,15 +30,14 @@ class ZdcAnalysisTool : public virtual IZdcAnalysisTool, public asg::AsgTool
   virtual ~ZdcAnalysisTool();
 
   //interface from AsgTool
-  StatusCode initializeTool();
-  StatusCode initialize() {return initializeTool();}
+  virtual StatusCode initializeTool() override;
+  virtual StatusCode initialize() override {return initializeTool();}
   void initialize80MHz();
   void initialize40MHz();
   void initializeTriggerEffs(unsigned int runNumber);
 
-  StatusCode recoZdcModule(const xAOD::ZdcModule& module);
-  StatusCode recoZdcModules(const xAOD::ZdcModuleContainer& moduleContainer);
-  StatusCode reprocessZdc();
+  virtual StatusCode recoZdcModule(const xAOD::ZdcModule& module) override;
+  virtual StatusCode recoZdcModules(const xAOD::ZdcModuleContainer& moduleContainer) override;
 
   // methods for processing, used for decoration
   bool sigprocMaxFinder(const std::vector<unsigned short>& adc, float deltaT, float& amp, float& time, float& qual);
@@ -95,7 +94,6 @@ class ZdcAnalysisTool : public virtual IZdcAnalysisTool, public asg::AsgTool
   TF1* m_tf1SincInterp;
 
   SG::ReadHandleKey<xAOD::EventInfo>           m_eventInfoKey;
-  SG::ReadHandleKey<xAOD::ZdcModuleContainer>  m_zdcModuleContainerName;
   SG::WriteHandleKey<xAOD::ZdcModuleContainer> m_ZdcModuleWriteKey;
   bool m_flipEMDelay;
   bool m_lowGainOnly;
diff --git a/ForwardDetectors/ZDC/ZdcRec/ZdcRec/ZdcRecChannelToolV2.h b/ForwardDetectors/ZDC/ZdcRec/ZdcRec/ZdcRecChannelToolV2.h
index 54c276804cce..4c6f7ec8b47d 100644
--- a/ForwardDetectors/ZDC/ZdcRec/ZdcRec/ZdcRecChannelToolV2.h
+++ b/ForwardDetectors/ZDC/ZdcRec/ZdcRec/ZdcRecChannelToolV2.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /*
@@ -42,15 +42,15 @@ class ZdcRecChannelToolV2: public asg::AsgTool, virtual public IIncidentListener
   ZdcRecChannelToolV2(const std::string& name);
   virtual ~ZdcRecChannelToolV2() {};
   
-  virtual StatusCode initialize();
-  virtual StatusCode finalize();
-  virtual void handle( const Incident& );
-
-  int convertTT2ZM(const xAOD::TriggerTowerContainer* ttCollection, xAOD::ZdcModuleContainer* zdcModules);
-  int makeRawFromDigits(xAOD::ZdcModuleContainer& zdcModules); // NOT const -- we're going to modify the objects to add signal processing
-  int makeWaveformFromDigits(xAOD::ZdcModule& module);
-  int splitWaveform(std::map<int,float>& waveform, std::vector<float>& times, std::vector<float>& adcs);
-  int getPeakProperties(std::vector<float>& times, std::vector<float>& adcs, float& time, float& amp, float& qual, float& presamp);
+  virtual StatusCode initialize() override;
+  virtual StatusCode finalize() override;
+  virtual void handle( const Incident& ) override;
+
+  int convertTT2ZM(const xAOD::TriggerTowerContainer* ttCollection, xAOD::ZdcModuleContainer* zdcModules) const;
+  int makeRawFromDigits(xAOD::ZdcModuleContainer& zdcModules) const; // NOT const -- we're going to modify the objects to add signal processing
+  int makeWaveformFromDigits(xAOD::ZdcModule& module) const;
+  int splitWaveform(std::map<int,float>& waveform, std::vector<float>& times, std::vector<float>& adcs) const;
+  int getPeakProperties(std::vector<float>& times, std::vector<float>& adcs, float& time, float& amp, float& qual, float& presamp) const;
 
 private:
 
diff --git a/ForwardDetectors/ZDC/ZdcRec/ZdcRec/ZdcRecV3.h b/ForwardDetectors/ZDC/ZdcRec/ZdcRec/ZdcRecV3.h
index 9862c24b6e65..e6294d6d1c84 100755
--- a/ForwardDetectors/ZDC/ZdcRec/ZdcRec/ZdcRecV3.h
+++ b/ForwardDetectors/ZDC/ZdcRec/ZdcRec/ZdcRecV3.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -16,6 +16,8 @@
 
 //which one ???
 #include "AthenaBaseComps/AthAlgorithm.h"
+#include "StoreGate/WriteHandleKey.h"
+#include "StoreGate/ReadHandleKey.h"
 //#include "GaudiKernel/Algorithm.h"
 #include "GaudiKernel/ToolHandle.h"
 #include "GaudiKernel/ServiceHandle.h"
@@ -51,44 +53,29 @@ class ZdcRecV3 : public AthAlgorithm
 public:
 
 	ZdcRecV3(const std::string& name, ISvcLocator* pSvcLocator);
-	~ZdcRecV3();
+	virtual ~ZdcRecV3();
 
-	StatusCode initialize();
-	StatusCode execute();
-	StatusCode finalize();
+	virtual StatusCode initialize() override;
+	virtual StatusCode execute() override;
+	virtual StatusCode finalize() override;
 
 private:
-
-  /** class member version of retrieving StoreGate */
-	//StoreGateSvc* m_storeGate;
-	 ServiceHandle<StoreGateSvc> m_storeGate;
-
-
-	/** Does the collection own it's objects ? **/
-	int m_ownPolicy;
-
-
 	/** Digits data container name */
-	std::string m_ttContainerName;
+        SG::ReadHandleKey<xAOD::TriggerTowerContainer> m_ttContainerName
+        { this, "DigitsContainerName", "ZdcTriggerTowers", "" };
 
 	/** Raw data object name */
-	std::string m_zdcModuleContainerName;
-	std::string m_zdcModuleAuxContainerName;
-
+        SG::WriteHandleKey<xAOD::ZdcModuleContainer> m_zdcModuleContainerName
+        { this, "ZdcModuleContainerName", "ZdcModules", "" };
 
-	/** Pointer to Zdc input "digits" data */
-	const xAOD::TriggerTowerContainer* m_ttContainer;
-
-	int m_eventCount;
-	bool m_complainContain;
-	bool m_complainRetrieve;
 
 	//Include here all tools to do the job. They will be called by the algorithm execute method
 	//Another option is to use ToolHandleArray<IZdcRecTool>, where IZdcRecTool is the factory for
 	//the tools
-	ToolHandle<ZdcRecChannelToolV2> m_ChannelTool;
-	ToolHandle<ZDC::IZdcAnalysisTool> m_zdcTool;
-
+	ToolHandle<ZdcRecChannelToolV2> m_ChannelTool
+        { this, "ChannelTool", "ZdcRecChannelToolV2", "" };
+	ToolHandle<ZDC::IZdcAnalysisTool> m_zdcTool
+        { this, "ZdcAnalysisTool", "ZDC::ZdcAnalysisTool/ZdcAnalysisTool", "" };
 };
 
 #endif
diff --git a/ForwardDetectors/ZDC/ZdcRec/python/ZdcModuleGetter.py b/ForwardDetectors/ZDC/ZdcRec/python/ZdcModuleGetter.py
index d5545e751dd6..e7dbc4cbce16 100644
--- a/ForwardDetectors/ZDC/ZdcRec/python/ZdcModuleGetter.py
+++ b/ForwardDetectors/ZDC/ZdcRec/python/ZdcModuleGetter.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 # specifies egamma"standard"
 from AthenaCommon.Logging import logging
@@ -53,23 +53,24 @@ class ZdcModuleGetter ( Configured ) :
 
         from AthenaCommon.AppMgr import ToolSvc
         from AthenaCommon import CfgMgr
-        mlog.info("adding ZDC::ZdcAnalysisTool to ToolSvc with default parameters, and no calibrations enabled");
+        #mlog.info("adding ZDC::ZdcAnalysisTool to ToolSvc with default parameters, and no calibrations enabled");
         #ToolSvc += CfgMgr.ZDC__ZdcAnalysisTool("ZdcAnalysisTool",DoCalib=False,Configuration="default")   
-        ToolSvc += CfgMgr.ZDC__ZdcAnalysisTool("ZdcAnalysisTool",DoCalib=False,Configuration="pPb2016")   
+        zdcAnalysisTool = CfgMgr.ZDC__ZdcAnalysisTool("ZdcAnalysisTool",DoCalib=False,Configuration="pPb2016")   
         
-        ToolSvc.ZdcAnalysisTool.FixTau1=True
-        ToolSvc.ZdcAnalysisTool.FixTau2=True
-        ToolSvc.ZdcAnalysisTool.Tau1=5
-        ToolSvc.ZdcAnalysisTool.Tau2=21
-        ToolSvc.ZdcAnalysisTool.Peak2ndDerivThresh=15
+        zdcAnalysisTool.FixTau1=True
+        zdcAnalysisTool.FixTau2=True
+        zdcAnalysisTool.Tau1=5
+        zdcAnalysisTool.Tau2=21
+        zdcAnalysisTool.Peak2ndDerivThresh=15
 
         try:
             from ZdcRec.ZdcRecConf import ZdcRecV3
             mlog.info("got ZdcRecV2")
-            self._zdcRecHandle = ZdcRecV3()
+            self._zdcRecHandle = ZdcRecV3(ZdcAnalysisTool = zdcAnalysisTool)
         except Exception:
             mlog.error("could not get handle to ZdcRecV3")
-            print traceback.format_exc()
+            import traceback
+            traceback.print_exc()
             return False
 
 
diff --git a/ForwardDetectors/ZDC/ZdcRec/src/ZdcRecChannelToolV2.cxx b/ForwardDetectors/ZDC/ZdcRec/src/ZdcRecChannelToolV2.cxx
index 9d6073f16364..cbae6914fb23 100644
--- a/ForwardDetectors/ZDC/ZdcRec/src/ZdcRecChannelToolV2.cxx
+++ b/ForwardDetectors/ZDC/ZdcRec/src/ZdcRecChannelToolV2.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /*
@@ -113,7 +113,7 @@ StatusCode ZdcRecChannelToolV2::finalize()
 }
 //==================================================================================================
 
-int ZdcRecChannelToolV2::convertTT2ZM(const xAOD::TriggerTowerContainer* ttCollection, xAOD::ZdcModuleContainer* zdcModules )
+int ZdcRecChannelToolV2::convertTT2ZM(const xAOD::TriggerTowerContainer* ttCollection, xAOD::ZdcModuleContainer* zdcModules ) const
 {
 
   //typedef std::map<uint64_t,xAOD::ZdcModule*> hashmapType;
@@ -200,7 +200,7 @@ int ZdcRecChannelToolV2::convertTT2ZM(const xAOD::TriggerTowerContainer* ttColle
 
 }
 
-int ZdcRecChannelToolV2::makeWaveformFromDigits(xAOD::ZdcModule& module)
+int ZdcRecChannelToolV2::makeWaveformFromDigits(xAOD::ZdcModule& module) const
 {
   
   size_t nsamp = 0;
@@ -335,7 +335,7 @@ int ZdcRecChannelToolV2::makeWaveformFromDigits(xAOD::ZdcModule& module)
 
 //Returns a pointer to a RawChannel Collection with energy and time
 //==================================================================================================
-int  ZdcRecChannelToolV2::makeRawFromDigits(xAOD::ZdcModuleContainer&  ChannelCollection)
+int  ZdcRecChannelToolV2::makeRawFromDigits(xAOD::ZdcModuleContainer&  ChannelCollection) const
 {
 
 	Identifier id;
@@ -345,7 +345,7 @@ int  ZdcRecChannelToolV2::makeRawFromDigits(xAOD::ZdcModuleContainer&  ChannelCo
 	return 0;
 }
 
-int ZdcRecChannelToolV2::splitWaveform(std::map<int,float>& waveform, std::vector<float>& times, std::vector<float>& adcs)
+int ZdcRecChannelToolV2::splitWaveform(std::map<int,float>& waveform, std::vector<float>& times, std::vector<float>& adcs) const
 {
   times.clear();
   adcs.clear();
@@ -360,7 +360,7 @@ int ZdcRecChannelToolV2::splitWaveform(std::map<int,float>& waveform, std::vecto
   return 1;
 }
 
-int ZdcRecChannelToolV2::getPeakProperties(std::vector<float>& times, std::vector<float>& adcs, float& time, float& amp, float& qual, float& presamp)
+int ZdcRecChannelToolV2::getPeakProperties(std::vector<float>& times, std::vector<float>& adcs, float& time, float& amp, float& qual, float& presamp) const
 {
 
   if (times.size() != adcs.size()) 
diff --git a/ForwardDetectors/ZDC/ZdcRec/src/ZdcRecV3.cxx b/ForwardDetectors/ZDC/ZdcRec/src/ZdcRecV3.cxx
index 4ce47705129d..81df40dbfa13 100644
--- a/ForwardDetectors/ZDC/ZdcRec/src/ZdcRecV3.cxx
+++ b/ForwardDetectors/ZDC/ZdcRec/src/ZdcRecV3.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /*
@@ -16,6 +16,8 @@
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/StatusCode.h"
 #include "StoreGate/StoreGateSvc.h"
+#include "StoreGate/WriteHandle.h"
+#include "StoreGate/ReadHandle.h"
 //#include "Identifier/Identifier.h"
 
 #include "xAODForward/ZdcModuleAuxContainer.h"
@@ -29,24 +31,8 @@
 //==================================================================================================
 ZdcRecV3::ZdcRecV3(const std::string& name, ISvcLocator* pSvcLocator) :
 
-	AthAlgorithm(name, pSvcLocator),
-	m_storeGate("StoreGateSvc", name),
-	m_ownPolicy(static_cast<int> (SG::OWN_ELEMENTS)),
-	m_ttContainerName("ZdcTriggerTowers"),
-	m_zdcModuleContainerName("ZdcModules"),
-	m_zdcModuleAuxContainerName("ZdcModulesAux."),
-	m_ttContainer(0),
-	m_eventCount(0),
-	m_complainContain(1),
-	m_complainRetrieve(1),
-        m_ChannelTool("ZdcRecChannelToolV2"),
-	m_zdcTool("ZDC::ZdcAnalysisTool/ZdcAnalysisTool")
+	AthAlgorithm(name, pSvcLocator)
 {
-	declareProperty("OwnPolicy",m_ownPolicy) ;
-
-	declareProperty("DigitsContainerName", m_ttContainerName, "ZdcTriggerTowers");
-	declareProperty("ZdcModuleContainerName",    m_zdcModuleContainerName,    "ZdcModules");
-	declareProperty("ZdcModuleAuxContainerName",    m_zdcModuleAuxContainerName,    "ZdcModulesAux.");
 }
 //==================================================================================================
 
@@ -57,93 +43,38 @@ ZdcRecV3::~ZdcRecV3() {}
 //==================================================================================================
 StatusCode ZdcRecV3::initialize()
 {
-	MsgStream mLog(msgSvc(), name());
-
-	// Look up the Storegate service
-	StatusCode sc = m_storeGate.retrieve();
-	if (sc.isFailure())
-	{
-		mLog << MSG::FATAL << "--> ZDC: Unable to retrieve pointer to StoreGateSvc" << endmsg;
-		return sc;
-	}
-
+  ATH_CHECK( m_ChannelTool.retrieve() );
+  ATH_CHECK( m_zdcTool.retrieve() );
 
-	// Reconstruction Tool
-	StatusCode scTool = m_ChannelTool.retrieve();
-	if (scTool.isFailure())
-	{
-		mLog << MSG::WARNING << "--> ZDC: Could not retrieve " << m_ChannelTool << endmsg;
-		return StatusCode::FAILURE;
-	}
-	mLog << MSG::DEBUG << "--> ZDC: SUCCESS retrieving " << m_ChannelTool << endmsg;
-
-	// Reconstruction Tool
-	StatusCode zdcTool = m_zdcTool.retrieve();
-	if (zdcTool.isFailure())
-	{
-		mLog << MSG::WARNING << "--> ZDC: Could not retrieve " << m_zdcTool << endmsg;
-		return StatusCode::FAILURE;
-	}
-	mLog << MSG::DEBUG << "--> ZDC: SUCCESS retrieving " << m_zdcTool << endmsg;
+  // Container output name
+  //TODO: change MESSAGE !!
+  ATH_MSG_DEBUG( " Output Container Name " << m_zdcModuleContainerName );
 
-	// Container output name
-	//TODO: change MESSAGE !!
-	mLog << MSG::DEBUG << " Output Container Name " << m_zdcModuleContainerName << endmsg;
-	if (m_ownPolicy == SG::OWN_ELEMENTS)
-		mLog << MSG::DEBUG << "...will OWN its cells." << endmsg;
-	else
-		mLog << MSG::DEBUG << "...will VIEW its cells." << endmsg;
+  ATH_CHECK( m_zdcModuleContainerName.initialize() );
+  ATH_CHECK( m_ttContainerName.initialize(SG::AllowEmpty) );
 
+  ATH_MSG_DEBUG( "--> ZDC: ZdcRecV3 initialization complete" );
 
-	mLog << MSG::DEBUG << "--> ZDC: ZdcRecV3 initialization complete" << endmsg;
-
-	return StatusCode::SUCCESS;
+  return StatusCode::SUCCESS;
 }
 //==================================================================================================
 
 //==================================================================================================
 StatusCode ZdcRecV3::execute()
 {
-
-  MsgStream mLog(msgSvc(), name());
-	mLog << MSG::DEBUG
-	     << "--> ZDC: ZdcRecV3 execute starting on "
-	     << m_eventCount
-	     << "th event"
-		 << endmsg;
-
-	m_eventCount++;
+  const EventContext& ctx = Gaudi::Hive::currentContext();
+  ATH_MSG_DEBUG ("--> ZDC: ZdcRecV3 execute starting on "
+                 << ctx.evt()
+                 << "th event");
 
 	//Look for the container presence
-	bool dg = m_storeGate->contains<xAOD::TriggerTowerContainer>( m_ttContainerName);
-	if (!dg) {
-	  if (m_complainContain) mLog << MSG::WARNING << "--> ZDC: StoreGate does not contain " << m_ttContainerName << endmsg;
-	  m_complainContain = 0;
+        if (m_ttContainerName.empty()) {
 	  return StatusCode::SUCCESS;
 	}
 
 	// Look up the Digits "TriggerTowerContainer" in Storegate
-	StatusCode digitsLookupSC = m_storeGate->retrieve(m_ttContainer, m_ttContainerName);
-	if (digitsLookupSC.isFailure())
-	{
-	  if (m_complainRetrieve)
-	    mLog << MSG::WARNING
-		 << "--> ZDC: Could not retrieve "
-		 << m_ttContainerName
-		 << " from StoreGate"
-		 << endmsg;
-	  m_complainRetrieve = 0;
-	  return StatusCode::SUCCESS;
-	}
-
-	if (digitsLookupSC.isSuccess() && !m_ttContainer)
-	{
-		mLog << MSG::ERROR
-			 << "--> ZDC: Storegate returned zero pointer for "
-			 << m_ttContainerName
-			 << endmsg;
-		return StatusCode::SUCCESS;
-	}
+        SG::ReadHandle<xAOD::TriggerTowerContainer> ttContainer
+          (m_ttContainerName, ctx);
 
     	//Create the containers to hold the reconstructed information (you just pass the pointer and the converter does the work)	
 	std::unique_ptr<xAOD::ZdcModuleContainer> moduleContainer( new xAOD::ZdcModuleContainer());
@@ -151,17 +82,19 @@ StatusCode ZdcRecV3::execute()
 	moduleContainer->setStore( moduleAuxContainer.get() );
 
 	// rearrange ZDC channels and perform fast reco on all channels (including non-big tubes)
-	int ncha = m_ChannelTool->convertTT2ZM(m_ttContainer, moduleContainer.get() );
+	int ncha = m_ChannelTool->convertTT2ZM(ttContainer.get(), moduleContainer.get() );
 	
 	msg( MSG::DEBUG ) << "Channel tool returns " << ncha << endmsg;
 	msg( MSG::DEBUG ) << ZdcModuleToString(*moduleContainer) << endmsg;
 
 	// re-reconstruct big tubes
- 
-	ATH_CHECK( evtStore()->record( std::move(moduleContainer), m_zdcModuleContainerName) );
-	ATH_CHECK( evtStore()->record( std::move(moduleAuxContainer), m_zdcModuleAuxContainerName) );
 
-	ATH_CHECK( m_zdcTool->reprocessZdc() ); // pulls the modules out of the event store
+	ATH_CHECK( m_zdcTool->recoZdcModules(*moduleContainer) );
+
+        SG::WriteHandle<xAOD::ZdcModuleContainer> moduleContainerH
+          (m_zdcModuleContainerName, ctx);
+        ATH_CHECK( moduleContainerH.record (std::move(moduleContainer),
+                                            std::move(moduleAuxContainer)) );
 
 	return StatusCode::SUCCESS;
 
@@ -171,13 +104,7 @@ StatusCode ZdcRecV3::execute()
 //==================================================================================================
 StatusCode ZdcRecV3::finalize()
 {
-
-  MsgStream mLog(msgSvc(),name());
-
-  mLog << MSG::DEBUG
-		  << "--> ZDC: ZdcRecV3 finalize complete"
-		  << endmsg;
-
+  ATH_MSG_DEBUG( "--> ZDC: ZdcRecV3 finalize complete" );
   return StatusCode::SUCCESS;
 
 }
-- 
GitLab


From 4bb4d32b395aec5bce1b791327de6d092a8d14a1 Mon Sep 17 00:00:00 2001
From: MihaMuskinja <miha.muskinja@gmail.com>
Date: Fri, 25 Jan 2019 15:39:42 +0100
Subject: [PATCH 148/192] User action that sets G4 looper threshold values

---
 .../G4UserActions/LooperThresholdSet.h        |  44 +++++++
 .../G4UserActions/LooperThresholdSetTool.h    |  54 ++++++++
 .../python/G4UserActionsConfig.py             |   7 ++
 .../python/G4UserActionsConfigDb.py           |   2 +-
 .../share/preInclude.LooperThresholdSet.py    |  14 +++
 .../G4UserActions/src/G4LooperThresholdSet.h  |  29 +++++
 .../G4UserActions/src/LooperThresholdSet.cxx  | 116 ++++++++++++++++++
 .../src/LooperThresholdSetTool.cxx            |  51 ++++++++
 .../src/components/G4UserActions_entries.cxx  |   2 +
 9 files changed, 318 insertions(+), 1 deletion(-)
 create mode 100644 Simulation/G4Utilities/G4UserActions/G4UserActions/LooperThresholdSet.h
 create mode 100644 Simulation/G4Utilities/G4UserActions/G4UserActions/LooperThresholdSetTool.h
 create mode 100644 Simulation/G4Utilities/G4UserActions/share/preInclude.LooperThresholdSet.py
 create mode 100644 Simulation/G4Utilities/G4UserActions/src/G4LooperThresholdSet.h
 create mode 100644 Simulation/G4Utilities/G4UserActions/src/LooperThresholdSet.cxx
 create mode 100644 Simulation/G4Utilities/G4UserActions/src/LooperThresholdSetTool.cxx

diff --git a/Simulation/G4Utilities/G4UserActions/G4UserActions/LooperThresholdSet.h b/Simulation/G4Utilities/G4UserActions/G4UserActions/LooperThresholdSet.h
new file mode 100644
index 000000000000..89d0499f5e26
--- /dev/null
+++ b/Simulation/G4Utilities/G4UserActions/G4UserActions/LooperThresholdSet.h
@@ -0,0 +1,44 @@
+/*
+   Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+ */
+
+#ifndef G4UserActions_LooperThresholdSet_H
+#define G4UserActions_LooperThresholdSet_H
+
+#include "G4UserRunAction.hh"
+#include "AthenaBaseComps/AthMessaging.h"
+
+#include "G4Run.hh"
+#include "G4ParticleDefinition.hh"
+#include "G4Transportation.hh"
+#include "G4CoupledTransportation.hh"
+#include "G4SystemOfUnits.hh"
+
+namespace G4UA
+{
+
+class LooperThresholdSet : public AthMessaging, public G4UserRunAction
+{
+public:
+
+struct Config
+{
+        double WarningEnergy = 100.0 * CLHEP::MeV;
+        double ImportantEnergy = 250.0 * CLHEP::MeV;
+        int NumberOfTrials = 10;
+};
+
+LooperThresholdSet( const Config& config );
+virtual void BeginOfRunAction( const G4Run* ) override;
+
+private:
+
+Config m_config;
+
+void ChangeLooperParameters( const G4ParticleDefinition* particleDef );
+std::pair<G4Transportation*, G4CoupledTransportation*> findTransportation( const G4ParticleDefinition* particleDef );
+};   // class LooperThresholdSet
+
+} // namespace G4UA
+
+#endif
diff --git a/Simulation/G4Utilities/G4UserActions/G4UserActions/LooperThresholdSetTool.h b/Simulation/G4Utilities/G4UserActions/G4UserActions/LooperThresholdSetTool.h
new file mode 100644
index 000000000000..8405b065486f
--- /dev/null
+++ b/Simulation/G4Utilities/G4UserActions/G4UserActions/LooperThresholdSetTool.h
@@ -0,0 +1,54 @@
+/*
+   Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+ */
+
+#ifndef G4USERACTIONS_G4UA_LooperThresholdSetTOOL_H
+#define G4USERACTIONS_G4UA_LooperThresholdSetTOOL_H
+
+// System includes
+#include <string>
+
+// Infrastructure includes
+#include "G4AtlasTools/UserActionToolBase.h"
+
+// Local includes
+#include "G4UserActions/LooperThresholdSet.h"
+
+namespace G4UA
+{
+
+/// @class LooperThresholdSetTool
+/// @brief Tool which manages the Looper Threshold options.
+///
+/// Create the LooperThresholdSet for each worker thread
+///
+/// @author Miha Muskinja
+///
+class LooperThresholdSetTool : public UserActionToolBase<LooperThresholdSet>
+{
+
+public:
+
+/// Standard constructor
+LooperThresholdSetTool(const std::string& type, const std::string& name,
+                       const IInterface* parent);
+
+virtual StatusCode initialize() override;
+virtual StatusCode finalize() override;
+
+protected:
+
+/// Create action for this thread
+virtual std::unique_ptr<LooperThresholdSet>
+makeAndFillAction(G4AtlasUserActions&) override final;
+
+private:
+
+/// Configuration parameters
+LooperThresholdSet::Config m_config;
+
+};   // class LooperThresholdSetTool
+
+} // namespace G4UA
+
+#endif
diff --git a/Simulation/G4Utilities/G4UserActions/python/G4UserActionsConfig.py b/Simulation/G4Utilities/G4UserActions/python/G4UserActionsConfig.py
index 799c1f6d005a..641db08c0fa5 100644
--- a/Simulation/G4Utilities/G4UserActions/python/G4UserActionsConfig.py
+++ b/Simulation/G4Utilities/G4UserActions/python/G4UserActionsConfig.py
@@ -108,3 +108,10 @@ def getRadLengthActionTool(name="G4UA::RadLengthActionTool", **kwargs):
         for prop,value in simFlags.UserActionConfig.get_Value()[name].iteritems():
             kwargs.setdefault(prop,value)
     return CfgMgr.G4UA__RadLengthActionTool(name, **kwargs)
+
+def getLooperThresholdSetTool(name="G4UA::LooperThresholdSetTool", **kwargs):
+    from G4AtlasApps.SimFlags import simFlags
+    if name in simFlags.UserActionConfig.get_Value().keys():
+        for prop,value in simFlags.UserActionConfig.get_Value()[name].iteritems():
+            kwargs.setdefault(prop,value)
+    return CfgMgr.G4UA__LooperThresholdSetTool(name, **kwargs)
diff --git a/Simulation/G4Utilities/G4UserActions/python/G4UserActionsConfigDb.py b/Simulation/G4Utilities/G4UserActions/python/G4UserActionsConfigDb.py
index 0a54357fc924..cc35a37919f7 100644
--- a/Simulation/G4Utilities/G4UserActions/python/G4UserActionsConfigDb.py
+++ b/Simulation/G4Utilities/G4UserActions/python/G4UserActionsConfigDb.py
@@ -25,4 +25,4 @@ addTool("G4UserActions.G4UserActionsConfig.getScoringPlaneTool", "G4UA::ScoringP
 addTool("G4UserActions.G4UserActionsConfig.getRadiationMapsMakerTool", "G4UA::RadiationMapsMakerTool")
 addTool("G4UserActions.G4UserActionsConfig.getStoppedParticleActionTool", "G4UA::StoppedParticleActionTool")
 addTool("G4UserActions.G4UserActionsConfig.getRadLengthActionTool", "G4UA::RadLengthActionTool")
-
+addTool("G4UserActions.G4UserActionsConfig.getLooperThresholdSetTool", "G4UA::LooperThresholdSetTool")
diff --git a/Simulation/G4Utilities/G4UserActions/share/preInclude.LooperThresholdSet.py b/Simulation/G4Utilities/G4UserActions/share/preInclude.LooperThresholdSet.py
new file mode 100644
index 000000000000..f80237385758
--- /dev/null
+++ b/Simulation/G4Utilities/G4UserActions/share/preInclude.LooperThresholdSet.py
@@ -0,0 +1,14 @@
+#########################################################
+#
+# G4UserActions/preInclude.LooperThresholdSet.py
+# @author Miha Muskinja
+#
+# Sets the looper threshold values in transportation processes
+#
+#########################################################
+
+from G4AtlasApps.SimFlags import simFlags
+simFlags.OptionalUserActionList.addAction('G4UA::LooperThresholdSetTool')
+simFlags.UserActionConfig.addConfig('G4UA::LooperThresholdSetTool', 'WarningEnergy', 0)
+simFlags.UserActionConfig.addConfig('G4UA::LooperThresholdSetTool', 'ImportantEnergy', 0)
+simFlags.UserActionConfig.addConfig('G4UA::LooperThresholdSetTool', 'NumberOfTrials', 10)
diff --git a/Simulation/G4Utilities/G4UserActions/src/G4LooperThresholdSet.h b/Simulation/G4Utilities/G4UserActions/src/G4LooperThresholdSet.h
new file mode 100644
index 000000000000..6730902cf789
--- /dev/null
+++ b/Simulation/G4Utilities/G4UserActions/src/G4LooperThresholdSet.h
@@ -0,0 +1,29 @@
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef G4UserActions_LooperThresholdSet_H
+#define G4UserActions_LooperThresholdSet_H
+
+#include "G4UserSteppingAction.hh"
+#include "AthenaBaseComps/AthMessaging.h"
+
+#include "G4Run.hh"
+
+namespace G4UA
+{
+
+  /// @brief Kills Monopoles and QBalls with energy < 1 MeV
+  class LooperThresholdSet : public G4UserSteppingAction, public AthMessaging
+  {
+    public:
+      LooperThresholdSet();
+      virtual void BeginOfRunAction(const G4Run* aRun) override;
+    private:
+      void ChangeLooperParameters(const G4ParticleDefinition* particleDef );
+      std::pair<G4Transportation*, G4CoupledTransportation*> findTransportation( const G4ParticleDefinition* particleDef, bool reportError );
+  }; // class LooperThresholdSet
+
+} // namespace G4UA
+
+#endif
diff --git a/Simulation/G4Utilities/G4UserActions/src/LooperThresholdSet.cxx b/Simulation/G4Utilities/G4UserActions/src/LooperThresholdSet.cxx
new file mode 100644
index 000000000000..f15310c97158
--- /dev/null
+++ b/Simulation/G4Utilities/G4UserActions/src/LooperThresholdSet.cxx
@@ -0,0 +1,116 @@
+/*
+   Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+ */
+
+#include "G4UserActions/LooperThresholdSet.h"
+#include <iostream>
+
+#include "G4Version.hh"
+
+#include "G4Electron.hh"
+#include "G4ProcessManager.hh"
+
+#include "GaudiKernel/Bootstrap.h"
+#include "GaudiKernel/ISvcLocator.h"
+#include "GaudiKernel/IMessageSvc.h"
+
+namespace G4UA
+{
+
+//---------------------------------------------------------------------------
+LooperThresholdSet::LooperThresholdSet(const Config& config) :
+        AthMessaging(Gaudi::svcLocator()->service<IMessageSvc>("MessageSvc"), "LooperThresholdSet"),
+        m_config(config)
+{
+}
+
+//---------------------------------------------------------------------------
+void LooperThresholdSet::BeginOfRunAction(const G4Run*)
+{
+        ChangeLooperParameters( G4Electron::Electron() );
+}
+
+void LooperThresholdSet::ChangeLooperParameters(const G4ParticleDefinition* particleDef)
+{
+        if( particleDef == nullptr )
+                particleDef = G4Electron::Electron();
+        auto transportPair = findTransportation( particleDef );
+        auto transport = transportPair.first;
+        auto coupledTransport = transportPair.second;
+
+        if( transport != nullptr )
+        {
+                // Change the values of the looping particle parameters of Transportation
+                ATH_MSG_INFO("Setting looper values of G4Transportation process...");
+                if( m_config.WarningEnergy   >= 0.0 ) {
+                        transport->SetThresholdWarningEnergy(  m_config.WarningEnergy );
+                        ATH_MSG_INFO("Set ThresholdWarningEnergy to " << m_config.WarningEnergy);
+                }
+                else
+                        ATH_MSG_WARNING("Invalid ThresholdEnergy: " << m_config.WarningEnergy);
+                if( m_config.ImportantEnergy >= 0.0 ) {
+                        transport->SetThresholdImportantEnergy(  m_config.ImportantEnergy );
+                        ATH_MSG_INFO("Set ImportantEnergy to " << m_config.ImportantEnergy);
+
+                }
+                else
+                        ATH_MSG_WARNING("Invalid ImportantEnergy: " << m_config.ImportantEnergy);
+                if( m_config.NumberOfTrials  > 0 ) {
+                        transport->SetThresholdTrials( m_config.NumberOfTrials );
+                        ATH_MSG_INFO("Set NumberOfTrials to " << m_config.NumberOfTrials);
+
+                }
+                else
+                        ATH_MSG_WARNING("Invalid NumberOfTrials: " << m_config.NumberOfTrials);
+                // Geant4 printout
+#if G4VERSION_NUMBER > 1049
+                transport->ReportLooperThresholds();
+#endif
+        }
+        else if( coupledTransport != nullptr )
+        {
+                // Change the values for Coupled Transport
+                ATH_MSG_INFO("Setting looper values of G4CoupledTransportation process...");
+                if( m_config.WarningEnergy   >= 0.0 ) {
+                        coupledTransport->SetThresholdWarningEnergy(  m_config.WarningEnergy );
+                        ATH_MSG_INFO("Set ThresholdWarningEnergy to " << m_config.WarningEnergy);
+                }
+                else
+                        ATH_MSG_WARNING("Invalid ThresholdEnergy: " << m_config.WarningEnergy);
+                if( m_config.ImportantEnergy >= 0.0 ) {
+                        coupledTransport->SetThresholdImportantEnergy(  m_config.ImportantEnergy );
+                        ATH_MSG_INFO("Set ImportantEnergy to " << m_config.ImportantEnergy);
+
+                }
+                else
+                        ATH_MSG_WARNING("Invalid ImportantEnergy: " << m_config.ImportantEnergy);
+                if( m_config.NumberOfTrials  > 0 ) {
+                        coupledTransport->SetThresholdTrials( m_config.NumberOfTrials );
+                        ATH_MSG_INFO("Set NumberOfTrials to " << m_config.NumberOfTrials);
+
+                }
+                else
+                        ATH_MSG_WARNING("Invalid NumberOfTrials: " << m_config.NumberOfTrials);
+                // Geant4 printout
+#if G4VERSION_NUMBER > 1049
+                transport->ReportLooperThresholds();
+#endif
+        }
+}
+
+std::pair<G4Transportation*, G4CoupledTransportation*>
+LooperThresholdSet::findTransportation( const G4ParticleDefinition* particleDef )
+{
+        const auto *partPM =  particleDef->GetProcessManager();
+
+        G4VProcess* partTransport = partPM->GetProcess("Transportation");
+        auto transport = dynamic_cast<G4Transportation*>(partTransport);
+
+        partTransport = partPM->GetProcess("CoupledTransportation");
+        auto coupledTransport=
+                dynamic_cast<G4CoupledTransportation*>(partTransport);
+
+        return std::make_pair( transport, coupledTransport );
+}
+
+} // namespace G4UA
diff --git a/Simulation/G4Utilities/G4UserActions/src/LooperThresholdSetTool.cxx b/Simulation/G4Utilities/G4UserActions/src/LooperThresholdSetTool.cxx
new file mode 100644
index 000000000000..52964741a01b
--- /dev/null
+++ b/Simulation/G4Utilities/G4UserActions/src/LooperThresholdSetTool.cxx
@@ -0,0 +1,51 @@
+/*
+   Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+ */
+
+#include "G4UserActions/LooperThresholdSetTool.h"
+
+namespace G4UA
+{
+
+//---------------------------------------------------------------------------
+// Constructor
+//---------------------------------------------------------------------------
+LooperThresholdSetTool::LooperThresholdSetTool(const std::string& type, const std::string& name,
+                                               const IInterface* parent) :
+        UserActionToolBase<LooperThresholdSet>(type, name, parent),
+        m_config()
+{
+        declareProperty("WarningEnergy", m_config.WarningEnergy);
+        declareProperty("ImportantEnergy", m_config.ImportantEnergy);
+        declareProperty("NumberOfTrials", m_config.NumberOfTrials);
+}
+
+//---------------------------------------------------------------------------
+// Initialize - temporarily here for debugging
+//---------------------------------------------------------------------------
+StatusCode LooperThresholdSetTool::initialize()
+{
+        ATH_MSG_DEBUG("initialize");
+        return StatusCode::SUCCESS;
+}
+
+StatusCode LooperThresholdSetTool::finalize()
+{
+        ATH_MSG_DEBUG("finalize");
+        return StatusCode::SUCCESS;
+}
+
+
+//---------------------------------------------------------------------------
+// Create the action on request
+//---------------------------------------------------------------------------
+std::unique_ptr<LooperThresholdSet>
+LooperThresholdSetTool::makeAndFillAction(G4AtlasUserActions& actionList)
+{
+        ATH_MSG_DEBUG("Making a LooperThresholdSet action");
+        auto action =  std::make_unique<LooperThresholdSet>(m_config);
+        actionList.runActions.push_back( action.get() );
+        return action;
+}
+
+}
diff --git a/Simulation/G4Utilities/G4UserActions/src/components/G4UserActions_entries.cxx b/Simulation/G4Utilities/G4UserActions/src/components/G4UserActions_entries.cxx
index 2273268922dd..20927db73188 100644
--- a/Simulation/G4Utilities/G4UserActions/src/components/G4UserActions_entries.cxx
+++ b/Simulation/G4Utilities/G4UserActions/src/components/G4UserActions_entries.cxx
@@ -15,6 +15,7 @@
 #include "G4UserActions/ScoringPlaneTool.h"
 #include "G4UserActions/RadiationMapsMakerTool.h"
 #include "G4UserActions/RadLengthActionTool.h"
+#include "G4UserActions/LooperThresholdSetTool.h"
 #include "../TestActionTool.h"
 
 DECLARE_COMPONENT( G4UA::G4SimTimerTool )
@@ -34,4 +35,5 @@ DECLARE_COMPONENT( G4UA::FluxRecorderTool )
 DECLARE_COMPONENT( G4UA::ScoringPlaneTool )
 DECLARE_COMPONENT( G4UA::RadiationMapsMakerTool )
 DECLARE_COMPONENT( G4UA::RadLengthActionTool )
+DECLARE_COMPONENT( G4UA::LooperThresholdSetTool )
 DECLARE_COMPONENT( G4UA::TestActionTool )
-- 
GitLab


From d4c3594d2f670f46f8072ebd1423918200264afb Mon Sep 17 00:00:00 2001
From: christos <christos@cern.ch>
Date: Sun, 27 Jan 2019 14:49:40 +0000
Subject: [PATCH 149/192] Const-correctness, potential thread safety issues

---
 .../Root/CaloClusterAccessors_v1.cxx             | 16 ++++++++--------
 .../xAODCaloEvent/Root/CaloClusterAccessors_v1.h |  2 +-
 Event/xAOD/xAODCaloEvent/Root/CaloCluster_v1.cxx |  2 +-
 Event/xAOD/xAODCaloEvent/Root/CaloTower_v1.cxx   |  6 ++++--
 .../xAODCaloEvent/versions/CaloTower_v1.h        |  4 ----
 5 files changed, 14 insertions(+), 16 deletions(-)

diff --git a/Event/xAOD/xAODCaloEvent/Root/CaloClusterAccessors_v1.cxx b/Event/xAOD/xAODCaloEvent/Root/CaloClusterAccessors_v1.cxx
index 1761b0fd24f9..3a8d455d0c3b 100644
--- a/Event/xAOD/xAODCaloEvent/Root/CaloClusterAccessors_v1.cxx
+++ b/Event/xAOD/xAODCaloEvent/Root/CaloClusterAccessors_v1.cxx
@@ -14,13 +14,13 @@
 #define DEFINE_ACCESSOR( NAME )                                   \
    case xAOD::CaloCluster_v1::NAME:                               \
    {                                                              \
-      static SG::AuxElement::Accessor< float > a( #NAME );        \
+      static const SG::AuxElement::Accessor< float > a( #NAME );        \
       return &a;                                                  \
    }                                                              \
    break
 namespace xAOD {
 
-   SG::AuxElement::Accessor< float >*
+   const SG::AuxElement::Accessor< float >*
    momentAccessorV1( xAOD::CaloCluster_v1::MomentType moment ) {
 
       switch( moment ) {
@@ -65,14 +65,14 @@ namespace xAOD {
          DEFINE_ACCESSOR( OOC_WEIGHT );
          DEFINE_ACCESSOR( DM_WEIGHT );
          DEFINE_ACCESSOR( TILE_CONFIDENCE_LEVEL );
-	 DEFINE_ACCESSOR( VERTEX_FRACTION );
-	 DEFINE_ACCESSOR( NVERTEX_FRACTION );
+         DEFINE_ACCESSOR( VERTEX_FRACTION );
+         DEFINE_ACCESSOR( NVERTEX_FRACTION );
          DEFINE_ACCESSOR( ETACALOFRAME );
          DEFINE_ACCESSOR( PHICALOFRAME ); 
-	 DEFINE_ACCESSOR( ETA1CALOFRAME );
-	 DEFINE_ACCESSOR( PHI1CALOFRAME );
-	 DEFINE_ACCESSOR( ETA2CALOFRAME );
-	 DEFINE_ACCESSOR( PHI2CALOFRAME );
+         DEFINE_ACCESSOR( ETA1CALOFRAME );
+         DEFINE_ACCESSOR( PHI1CALOFRAME );
+         DEFINE_ACCESSOR( ETA2CALOFRAME );
+         DEFINE_ACCESSOR( PHI2CALOFRAME );
          DEFINE_ACCESSOR( ENG_CALIB_TOT );
          DEFINE_ACCESSOR( ENG_CALIB_OUT_L );
          DEFINE_ACCESSOR( ENG_CALIB_OUT_M );
diff --git a/Event/xAOD/xAODCaloEvent/Root/CaloClusterAccessors_v1.h b/Event/xAOD/xAODCaloEvent/Root/CaloClusterAccessors_v1.h
index 668964ec81f3..0103e956a81c 100644
--- a/Event/xAOD/xAODCaloEvent/Root/CaloClusterAccessors_v1.h
+++ b/Event/xAOD/xAODCaloEvent/Root/CaloClusterAccessors_v1.h
@@ -21,7 +21,7 @@ namespace xAOD {
    /// @param moment The cluster moment for which an Accessor should be returned
    /// @returns A pointer to an Accessor if successful, <code>0</code> if not
    ///
-   SG::AuxElement::Accessor< float >*
+   const SG::AuxElement::Accessor< float >*
    momentAccessorV1( xAOD::CaloCluster_v1::MomentType moment );
 
 } // namespace xAOD
diff --git a/Event/xAOD/xAODCaloEvent/Root/CaloCluster_v1.cxx b/Event/xAOD/xAODCaloEvent/Root/CaloCluster_v1.cxx
index 5cb6d4cda360..726723fbc38e 100644
--- a/Event/xAOD/xAODCaloEvent/Root/CaloCluster_v1.cxx
+++ b/Event/xAOD/xAODCaloEvent/Root/CaloCluster_v1.cxx
@@ -791,7 +791,7 @@ namespace xAOD {
   bool CaloCluster_v1::retrieveMoment( MomentType type, double& value ) const {
 
       // Get the moment accessor:
-      Accessor< float >* acc = momentAccessorV1( type );
+      const Accessor< float >* acc = momentAccessorV1( type );
       if( ! acc ) return false;
       // Check if the moment is available:
       if( ! acc->isAvailable( *this ) ) {
diff --git a/Event/xAOD/xAODCaloEvent/Root/CaloTower_v1.cxx b/Event/xAOD/xAODCaloEvent/Root/CaloTower_v1.cxx
index d82a267f966d..a064b4552115 100644
--- a/Event/xAOD/xAODCaloEvent/Root/CaloTower_v1.cxx
+++ b/Event/xAOD/xAODCaloEvent/Root/CaloTower_v1.cxx
@@ -7,7 +7,9 @@
 #include "xAODCaloEvent/versions/CaloTowerContainer_v1.h"
 #include <cmath>
 
-const double xAOD::CaloTower_v1::m_towerMass = 0.;
+namespace{
+const double s_towerMass{0.};
+}
 
 xAOD::CaloTower_v1::CaloTower_v1() 
   : IParticle() 
@@ -45,7 +47,7 @@ double xAOD::CaloTower_v1::phi()      const {
   return pTowCont->phi(index());
 }
 
-double xAOD::CaloTower_v1::m()        const { return m_towerMass; }
+double xAOD::CaloTower_v1::m()        const { return s_towerMass; }
 double xAOD::CaloTower_v1::rapidity() const { return eta(); }
 double xAOD::CaloTower_v1::pt()       const { return genvecP4().Pt(); } 
 
diff --git a/Event/xAOD/xAODCaloEvent/xAODCaloEvent/versions/CaloTower_v1.h b/Event/xAOD/xAODCaloEvent/xAODCaloEvent/versions/CaloTower_v1.h
index 6bc9cd8bee46..0131656b4d08 100644
--- a/Event/xAOD/xAODCaloEvent/xAODCaloEvent/versions/CaloTower_v1.h
+++ b/Event/xAOD/xAODCaloEvent/xAODCaloEvent/versions/CaloTower_v1.h
@@ -81,10 +81,6 @@ namespace xAOD {
     float f_val_e()    const;   ///< @brief Accessor for energy 
     /// @}
 
-    /// @name Transient four-momentum store
-    /// @{
-    static  const double m_towerMass;              ///> @brief Convention @f$ m_{\mathrm{tower}} = 0 @f$.
-    /// @}
   };
 }
 
-- 
GitLab


From cd3000fa2cff3c2dae8ace274d58b7406af6bf98 Mon Sep 17 00:00:00 2001
From: christos <christos@cern.ch>
Date: Sun, 27 Jan 2019 15:10:00 +0000
Subject: [PATCH 150/192] xAODBase/xAODPrimitives pass THREAD_SAFETY_CHECKER

---
 Event/xAOD/xAODBase/Root/IParticleHelpers.cxx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Event/xAOD/xAODBase/Root/IParticleHelpers.cxx b/Event/xAOD/xAODBase/Root/IParticleHelpers.cxx
index 1350ca88bb59..fc1e915bce00 100644
--- a/Event/xAOD/xAODBase/Root/IParticleHelpers.cxx
+++ b/Event/xAOD/xAODBase/Root/IParticleHelpers.cxx
@@ -16,7 +16,7 @@
 namespace xAOD {
 
    /// Object used for setting/getting the dynamic decoration in question
-   static SG::AuxElement::Accessor< ElementLink< IParticleContainer > >
+   static const SG::AuxElement::Accessor< ElementLink< IParticleContainer > >
       acc( "originalObjectLink" );
 
    /// This function should be used by CP tools when they make a deep copy
-- 
GitLab


From 3360153145e73be5bd4bbcaf4229002de5edc023 Mon Sep 17 00:00:00 2001
From: christos <christos@cern.ch>
Date: Sun, 27 Jan 2019 15:13:25 +0000
Subject: [PATCH 151/192] add the files forcing the check, for now as a mean to
 not revert back to non-safe constructs

---
 Event/xAOD/xAODBase/xAODBase/ATLAS_CHECK_THREAD_SAFETY           | 1 +
 .../xAOD/xAODPrimitives/xAODPrimitives/ATLAS_CHECK_THREAD_SAFETY | 1 +
 2 files changed, 2 insertions(+)
 create mode 100644 Event/xAOD/xAODBase/xAODBase/ATLAS_CHECK_THREAD_SAFETY
 create mode 100644 Event/xAOD/xAODPrimitives/xAODPrimitives/ATLAS_CHECK_THREAD_SAFETY

diff --git a/Event/xAOD/xAODBase/xAODBase/ATLAS_CHECK_THREAD_SAFETY b/Event/xAOD/xAODBase/xAODBase/ATLAS_CHECK_THREAD_SAFETY
new file mode 100644
index 000000000000..78b65e6b1544
--- /dev/null
+++ b/Event/xAOD/xAODBase/xAODBase/ATLAS_CHECK_THREAD_SAFETY
@@ -0,0 +1 @@
+Event/xAOD/xAODBase
diff --git a/Event/xAOD/xAODPrimitives/xAODPrimitives/ATLAS_CHECK_THREAD_SAFETY b/Event/xAOD/xAODPrimitives/xAODPrimitives/ATLAS_CHECK_THREAD_SAFETY
new file mode 100644
index 000000000000..1757f5133730
--- /dev/null
+++ b/Event/xAOD/xAODPrimitives/xAODPrimitives/ATLAS_CHECK_THREAD_SAFETY
@@ -0,0 +1 @@
+Event/xAOD/xAODPrimitives
-- 
GitLab


From 3fc211f3ddf7882a84db3725fd0798989a3015ce Mon Sep 17 00:00:00 2001
From: Peter Onyisi <ponyisi@utexas.edu>
Date: Sun, 27 Jan 2019 19:11:25 +0100
Subject: [PATCH 152/192] Fix unused variable warning

---
 DataQuality/dqm_algorithms/src/MDTTDCOfflineSpectrum.cxx | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/DataQuality/dqm_algorithms/src/MDTTDCOfflineSpectrum.cxx b/DataQuality/dqm_algorithms/src/MDTTDCOfflineSpectrum.cxx
index 29a4fd1ec2a7..e93a39b52c39 100644
--- a/DataQuality/dqm_algorithms/src/MDTTDCOfflineSpectrum.cxx
+++ b/DataQuality/dqm_algorithms/src/MDTTDCOfflineSpectrum.cxx
@@ -52,6 +52,10 @@ dqm_algorithms::MDTTDCOfflineSpectrum::execute(	const std::string &  name,
   }
 
   const double minstat = dqm_algorithms::tools::GetFirstFromMap( "MinStat", config.getParameters(), -1);
+  /*
+  const bool publish = (bool) dqm_algorithms::tools::GetFirstFromMap( "PublishBins", config.getParameters(), 0); 
+  const int maxpublish = (int) dqm_algorithms::tools::GetFirstFromMap( "MaxPublish", config.getParameters(), 20); 
+  */
   
   if (histogram->GetEntries() < minstat ) {
     dqm_core::Result *result = new dqm_core::Result(dqm_core::Result::Undefined);
-- 
GitLab


From df5ae669593a766b56004b4ac8d74f5d3686ff9f Mon Sep 17 00:00:00 2001
From: Peter Onyisi <ponyisi@utexas.edu>
Date: Sun, 27 Jan 2019 19:11:47 +0100
Subject: [PATCH 153/192] Sweep 21.0 dqm_algorithms to master

---
 DataQuality/dqm_algorithms/src/GatherData.cxx       | 13 +++++++++++--
 .../dqm_algorithms/tools/AlgorithmHelper.cxx        | 11 +++++++++--
 2 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/DataQuality/dqm_algorithms/src/GatherData.cxx b/DataQuality/dqm_algorithms/src/GatherData.cxx
index 2e5f058fc480..af65fdf705f7 100644
--- a/DataQuality/dqm_algorithms/src/GatherData.cxx
+++ b/DataQuality/dqm_algorithms/src/GatherData.cxx
@@ -14,6 +14,7 @@
 
 #include <TH1.h>
 #include <TGraph.h>
+#include <TEfficiency.h>
 
 #include "dqm_core/exceptions.h"
 #include "dqm_core/AlgorithmManager.h"
@@ -60,8 +61,9 @@ execute( const std::string& name, const TObject& data, const dqm_core::Algorithm
   // Cast to the type of TObject to assess
   const TH1* h = dynamic_cast<const TH1*>( &data );
   const TGraph* g = dynamic_cast<const TGraph*>( &data );
-  if( h == 0 && g == 0 ) {
-    throw dqm_core::BadConfig( ERS_HERE, name, "Cannot cast data to type TH1" );
+  const TEfficiency* e = dynamic_cast<const TEfficiency*>( &data );
+  if( h == 0 && g == 0 && e==0 ) {
+    throw dqm_core::BadConfig( ERS_HERE, name, "Cannot cast data to type TH1, TGraph, or TEfficiency" );
   }
   
   std::map<std::string,double> tags;
@@ -78,6 +80,13 @@ execute( const std::string& name, const TObject& data, const dqm_core::Algorithm
     tags["XRMS"]  = g->GetRMS(1);
     tags["YRMS"]  = g->GetRMS(2);
   }
+
+  if ( e != 0 ) {
+    tags["Mean"] = e->GetCopyPassedHisto()->GetMean();
+    tags["MeanError"] = e->GetCopyPassedHisto()->GetMeanError();
+    tags["RMS"] = e->GetCopyPassedHisto()->GetRMS();
+    tags["RMSError"] = e->GetCopyPassedHisto()->GetRMSError();
+  }
   
   dqm_core::Result* result = new dqm_core::Result( status );
   result->tags_ = tags;
diff --git a/DataQuality/dqm_algorithms/tools/AlgorithmHelper.cxx b/DataQuality/dqm_algorithms/tools/AlgorithmHelper.cxx
index 29e2dd00105f..c4ee85c94116 100644
--- a/DataQuality/dqm_algorithms/tools/AlgorithmHelper.cxx
+++ b/DataQuality/dqm_algorithms/tools/AlgorithmHelper.cxx
@@ -379,10 +379,17 @@ std::vector<int> dqm_algorithms::tools::GetBinRange(const TH1 *h, const std::map
   const double xmax = dqm_algorithms::tools::GetFirstFromMap("xmax", params, notFound);
   const double ymin = dqm_algorithms::tools::GetFirstFromMap("ymin", params, notFound);
   const double ymax = dqm_algorithms::tools::GetFirstFromMap("ymax", params, notFound);
+
+  /**The nested ternaries do the following. 
+   * Suppose xmax (or ymax) happen to be a value that corresponds to the boundary of a bin. 
+   * TAxis::FindBin then returns the bin for which the xmax is the lower edge of the bin.
+   * The nested ternaries prevent this happening by decrementing the bin number returned by TAxis::FindBin by 1.
+   */
   const int xlow    = (xmin == notFound) ? 1                 : xAxis->FindBin(xmin);
-  const int xhigh   = (xmax == notFound) ? xAxis->GetNbins() : xAxis->FindBin(xmax);
+  const int xhigh   = (xmax == notFound) ? xAxis->GetNbins() : (xAxis->GetBinLowEdge(xAxis->FindBin(xmax))== xmax) ? (xAxis->FindBin(xmax)-1) : xAxis->FindBin(xmax);
   const int ylow    = (ymin == notFound) ? 1                 : yAxis->FindBin(ymin);
-  const int yhigh   = (ymax == notFound) ? yAxis->GetNbins() : yAxis->FindBin(ymax);
+  const int yhigh   = (ymax == notFound) ? yAxis->GetNbins() : (yAxis->GetBinLowEdge(yAxis->FindBin(ymax))== ymax) ? (yAxis->FindBin(ymax)-1) : yAxis->FindBin(ymax);
+
                                                                                                                                                              
   if (xlow>xhigh) {
     char temp[128];
-- 
GitLab


From 4c7ad2bea0b4693c6595c58c7edbf8a02daa6bb1 Mon Sep 17 00:00:00 2001
From: Peter Onyisi <ponyisi@utexas.edu>
Date: Sun, 27 Jan 2019 19:59:12 +0100
Subject: [PATCH 154/192] Sweep 21.0 DataQualityConfigurations to master

---
 .../config/HLT/HLTegamma/heavyions_run.config | 33807 +++++++++----
 .../config/HLT/HLTjet/heavyions_run.config    |  1375 +-
 .../config/HLT/HLTmuon/collisions_run.config  |   113 +-
 .../config/HLT/HLTmuon/heavyions_run.config   |   125 +-
 .../config/HLT/HLTtau/collisions_run.config   | 41660 +++++++---------
 .../JetTagging/collisions_minutes10.config    |    72 +-
 .../config/JetTagging/collisions_run.config   |   101 +-
 .../JetTagging/heavyions_minutes10.config     |    95 +-
 .../config/JetTagging/heavyions_run.config    |  1191 +-
 .../config/MuonCombined/collisions_run.config |    34 +-
 .../config/common/collisions_run.config       |    24 +-
 .../scripts/UploadDQAMITag.py                 |     2 +-
 12 files changed, 42155 insertions(+), 36444 deletions(-)

diff --git a/DataQuality/DataQualityConfigurations/config/HLT/HLTegamma/heavyions_run.config b/DataQuality/DataQualityConfigurations/config/HLT/HLTegamma/heavyions_run.config
index b8adc2e8d45f..b5020b9104af 100644
--- a/DataQuality/DataQualityConfigurations/config/HLT/HLTegamma/heavyions_run.config
+++ b/DataQuality/DataQualityConfigurations/config/HLT/HLTegamma/heavyions_run.config
@@ -1,9 +1,9 @@
 ######################################################################
-# $Id: collisions_run.config Fri Nov  4 11:59:15 2016 rwhite $
+# file  egamma_ATR-18760.config  Fri Oct  5 15:53:37 2018 mifeng
 ######################################################################
 
 #######################
-# HLTegamma
+# HLTidtrk
 #######################
 
 
@@ -20,25 +20,37 @@ output top_level {
 			output Expert {
 				output Event {
 				}
-				output HLT_g13_etcut {
-					output Efficiency {
+				output HLT_e15_etcut_ion {
+					output AbsResolutions {
+						output L1Calo {
+						}
+					}
+					output Distributions {
+						output EFCalo {
+						}
 						output HLT {
 						}
+						output L1Calo {
+						}
 						output L2Calo {
+							output discriminant_binned {
+							}
 						}
-						output L2 {
+						output L2Electron {
 						}
-						output EFCalo {
+						output Offline {
+						}
+						output RoI {
 						}
 					}
-					output Distributions {
-						output Offline {
+					output Efficiency {
+						output EFCalo {
 						}
 						output HLT {
 						}
-						output EFCalo {
+						output L1Calo {
 						}
-						output L2Photon {
+						output L2 {
 						}
 						output L2Calo {
 						}
@@ -46,29 +58,43 @@ output top_level {
 					output Resolutions {
 						output HLT {
 						}
+						output L1Calo {
+						}
 						output L2Calo_vs_HLT {
 						}
 					}
 				}
-				output HLT_g15_loose {
-					output Efficiency {
+				output HLT_e15_lhloose_ion_L1EM12 {
+					output AbsResolutions {
+						output L1Calo {
+						}
+					}
+					output Distributions {
+						output EFCalo {
+						}
 						output HLT {
 						}
+						output L1Calo {
+						}
 						output L2Calo {
+							output discriminant_binned {
+							}
 						}
-						output L2 {
+						output L2Electron {
 						}
-						output EFCalo {
+						output Offline {
+						}
+						output RoI {
 						}
 					}
-					output Distributions {
-						output Offline {
+					output Efficiency {
+						output EFCalo {
 						}
 						output HLT {
 						}
-						output EFCalo {
+						output L1Calo {
 						}
-						output L2Photon {
+						output L2 {
 						}
 						output L2Calo {
 						}
@@ -76,29 +102,43 @@ output top_level {
 					output Resolutions {
 						output HLT {
 						}
+						output L1Calo {
+						}
 						output L2Calo_vs_HLT {
 						}
 					}
 				}
-				output HLT_g18_etcut {
-					output Efficiency {
+				output HLT_e15_lhmedium_ion_L1EM12 {
+					output AbsResolutions {
+						output L1Calo {
+						}
+					}
+					output Distributions {
+						output EFCalo {
+						}
 						output HLT {
 						}
+						output L1Calo {
+						}
 						output L2Calo {
+							output discriminant_binned {
+							}
 						}
-						output L2 {
+						output L2Electron {
 						}
-						output EFCalo {
+						output Offline {
+						}
+						output RoI {
 						}
 					}
-					output Distributions {
-						output Offline {
+					output Efficiency {
+						output EFCalo {
 						}
 						output HLT {
 						}
-						output EFCalo {
+						output L1Calo {
 						}
-						output L2Photon {
+						output L2 {
 						}
 						output L2Calo {
 						}
@@ -106,29 +146,43 @@ output top_level {
 					output Resolutions {
 						output HLT {
 						}
+						output L1Calo {
+						}
 						output L2Calo_vs_HLT {
 						}
 					}
 				}
-				output HLT_g20_loose {
-					output Efficiency {
+				output HLT_e15_loose_ion {
+					output AbsResolutions {
+						output L1Calo {
+						}
+					}
+					output Distributions {
+						output EFCalo {
+						}
 						output HLT {
 						}
+						output L1Calo {
+						}
 						output L2Calo {
+							output discriminant_binned {
+							}
 						}
-						output L2 {
+						output L2Electron {
 						}
-						output EFCalo {
+						output Offline {
+						}
+						output RoI {
 						}
 					}
-					output Distributions {
-						output Offline {
+					output Efficiency {
+						output EFCalo {
 						}
 						output HLT {
 						}
-						output EFCalo {
+						output L1Calo {
 						}
-						output L2Photon {
+						output L2 {
 						}
 						output L2Calo {
 						}
@@ -136,29 +190,43 @@ output top_level {
 					output Resolutions {
 						output HLT {
 						}
+						output L1Calo {
+						}
 						output L2Calo_vs_HLT {
 						}
 					}
 				}
-				output HLT_g35_loose {
-					output Efficiency {
+				output HLT_e15_medium_ion {
+					output AbsResolutions {
+						output L1Calo {
+						}
+					}
+					output Distributions {
+						output EFCalo {
+						}
 						output HLT {
 						}
+						output L1Calo {
+						}
 						output L2Calo {
+							output discriminant_binned {
+							}
 						}
-						output L2 {
+						output L2Electron {
 						}
-						output EFCalo {
+						output Offline {
+						}
+						output RoI {
 						}
 					}
-					output Distributions {
-						output Offline {
+					output Efficiency {
+						output EFCalo {
 						}
 						output HLT {
 						}
-						output EFCalo {
+						output L1Calo {
 						}
-						output L2Photon {
+						output L2 {
 						}
 						output L2Calo {
 						}
@@ -166,29 +234,43 @@ output top_level {
 					output Resolutions {
 						output HLT {
 						}
+						output L1Calo {
+						}
 						output L2Calo_vs_HLT {
 						}
 					}
 				}
-				output HLT_e15_etcut {
-					output Efficiency {
+				output HLT_e18_etcut_ion {
+					output AbsResolutions {
+						output L1Calo {
+						}
+					}
+					output Distributions {
+						output EFCalo {
+						}
 						output HLT {
 						}
+						output L1Calo {
+						}
 						output L2Calo {
+							output discriminant_binned {
+							}
 						}
-						output L2 {
+						output L2Electron {
 						}
-						output EFCalo {
+						output Offline {
+						}
+						output RoI {
 						}
 					}
-					output Distributions {
-						output Offline {
+					output Efficiency {
+						output EFCalo {
 						}
 						output HLT {
 						}
-						output EFCalo {
+						output L1Calo {
 						}
-						output L2Electron {
+						output L2 {
 						}
 						output L2Calo {
 						}
@@ -196,29 +278,43 @@ output top_level {
 					output Resolutions {
 						output HLT {
 						}
+						output L1Calo {
+						}
 						output L2Calo_vs_HLT {
 						}
 					}
 				}
-				output HLT_e15_lhloose {
-					output Efficiency {
+				output HLT_e18_lhloose_ion {
+					output AbsResolutions {
+						output L1Calo {
+						}
+					}
+					output Distributions {
+						output EFCalo {
+						}
 						output HLT {
 						}
+						output L1Calo {
+						}
 						output L2Calo {
+							output discriminant_binned {
+							}
 						}
-						output L2 {
+						output L2Electron {
 						}
-						output EFCalo {
+						output Offline {
+						}
+						output RoI {
 						}
 					}
-					output Distributions {
-						output Offline {
+					output Efficiency {
+						output EFCalo {
 						}
 						output HLT {
 						}
-						output EFCalo {
+						output L1Calo {
 						}
-						output L2Electron {
+						output L2 {
 						}
 						output L2Calo {
 						}
@@ -226,29 +322,43 @@ output top_level {
 					output Resolutions {
 						output HLT {
 						}
+						output L1Calo {
+						}
 						output L2Calo_vs_HLT {
 						}
 					}
 				}
-				output HLT_e17_lhloose {
-					output Efficiency {
+				output HLT_e18_lhmedium_ion {
+					output AbsResolutions {
+						output L1Calo {
+						}
+					}
+					output Distributions {
+						output EFCalo {
+						}
 						output HLT {
 						}
+						output L1Calo {
+						}
 						output L2Calo {
+							output discriminant_binned {
+							}
 						}
-						output L2 {
+						output L2Electron {
 						}
-						output EFCalo {
+						output Offline {
+						}
+						output RoI {
 						}
 					}
-					output Distributions {
-						output Offline {
+					output Efficiency {
+						output EFCalo {
 						}
 						output HLT {
 						}
-						output EFCalo {
+						output L1Calo {
 						}
-						output L2Electron {
+						output L2 {
 						}
 						output L2Calo {
 						}
@@ -256,29 +366,43 @@ output top_level {
 					output Resolutions {
 						output HLT {
 						}
+						output L1Calo {
+						}
 						output L2Calo_vs_HLT {
 						}
 					}
 				}
-				output HLT_e15_lhloose_nod0 {
-					output Efficiency {
+				output HLT_e18_loose_ion {
+					output AbsResolutions {
+						output L1Calo {
+						}
+					}
+					output Distributions {
+						output EFCalo {
+						}
 						output HLT {
 						}
+						output L1Calo {
+						}
 						output L2Calo {
+							output discriminant_binned {
+							}
 						}
-						output L2 {
+						output L2Electron {
 						}
-						output EFCalo {
+						output Offline {
+						}
+						output RoI {
 						}
 					}
-					output Distributions {
-						output Offline {
+					output Efficiency {
+						output EFCalo {
 						}
 						output HLT {
 						}
-						output EFCalo {
+						output L1Calo {
 						}
-						output L2Electron {
+						output L2 {
 						}
 						output L2Calo {
 						}
@@ -286,29 +410,43 @@ output top_level {
 					output Resolutions {
 						output HLT {
 						}
+						output L1Calo {
+						}
 						output L2Calo_vs_HLT {
 						}
 					}
 				}
-				output HLT_e15_loose {
-					output Efficiency {
+				output HLT_e18_medium_ion {
+					output AbsResolutions {
+						output L1Calo {
+						}
+					}
+					output Distributions {
+						output EFCalo {
+						}
 						output HLT {
 						}
+						output L1Calo {
+						}
 						output L2Calo {
+							output discriminant_binned {
+							}
 						}
-						output L2 {
+						output L2Electron {
 						}
-						output EFCalo {
+						output Offline {
+						}
+						output RoI {
 						}
 					}
-					output Distributions {
-						output Offline {
+					output Efficiency {
+						output EFCalo {
 						}
 						output HLT {
 						}
-						output EFCalo {
+						output L1Calo {
 						}
-						output L2Electron {
+						output L2 {
 						}
 						output L2Calo {
 						}
@@ -316,29 +454,43 @@ output top_level {
 					output Resolutions {
 						output HLT {
 						}
+						output L1Calo {
+						}
 						output L2Calo_vs_HLT {
 						}
 					}
 				}
-				output HLT_e17_lhloose_nod0 {
-					output Efficiency {
+				output HLT_e20_loose_ion {
+					output AbsResolutions {
+						output L1Calo {
+						}
+					}
+					output Distributions {
+						output EFCalo {
+						}
 						output HLT {
 						}
+						output L1Calo {
+						}
 						output L2Calo {
+							output discriminant_binned {
+							}
 						}
-						output L2 {
+						output L2Electron {
 						}
-						output EFCalo {
+						output Offline {
+						}
+						output RoI {
 						}
 					}
-					output Distributions {
-						output Offline {
+					output Efficiency {
+						output EFCalo {
 						}
 						output HLT {
 						}
-						output EFCalo {
+						output L1Calo {
 						}
-						output L2Electron {
+						output L2 {
 						}
 						output L2Calo {
 						}
@@ -346,29 +498,43 @@ output top_level {
 					output Resolutions {
 						output HLT {
 						}
+						output L1Calo {
+						}
 						output L2Calo_vs_HLT {
 						}
 					}
 				}
-				output HLT_e22_lhloose_nod0 {
-					output Efficiency {
+				output HLT_g13_etcut_ion {
+					output AbsResolutions {
+						output L1Calo {
+						}
+					}
+					output Distributions {
+						output EFCalo {
+						}
 						output HLT {
 						}
+						output L1Calo {
+						}
 						output L2Calo {
+							output discriminant_binned {
+							}
 						}
-						output L2 {
+						output L2Photon {
 						}
-						output EFCalo {
+						output Offline {
+						}
+						output RoI {
 						}
 					}
-					output Distributions {
-						output Offline {
+					output Efficiency {
+						output EFCalo {
 						}
 						output HLT {
 						}
-						output EFCalo {
+						output L1Calo {
 						}
-						output L2Electron {
+						output L2 {
 						}
 						output L2Calo {
 						}
@@ -376,15334 +542,27828 @@ output top_level {
 					output Resolutions {
 						output HLT {
 						}
+						output L1Calo {
+						}
 						output L2Calo_vs_HLT {
 						}
 					}
 				}
-			}
-			output Shifter {
-				output primary_single_pho {
-				}
-				output primary_single_ele {
-				}
-				output primary_single_ele_cutbased {
-				}
-			}
-		}
-	}
-}
-
-
-#######################
-# Histogram Assessments
+				output HLT_g15_loose_ion {
+					output AbsResolutions {
+						output L1Calo {
+						}
+					}
+					output Distributions {
+						output EFCalo {
+						}
+						output HLT {
+						}
+						output L1Calo {
+						}
+						output L2Calo {
+							output discriminant_binned {
+							}
+						}
+						output L2Photon {
+						}
+						output Offline {
+						}
+						output RoI {
+						}
+					}
+					output Efficiency {
+						output EFCalo {
+						}
+						output HLT {
+						}
+						output L1Calo {
+						}
+						output L2 {
+						}
+						output L2Calo {
+						}
+					}
+					output Resolutions {
+						output HLT {
+						}
+						output L1Calo {
+						}
+						output L2Calo_vs_HLT {
+						}
+					}
+				}
+				output HLT_g18_etcut_ion {
+					output AbsResolutions {
+						output L1Calo {
+						}
+					}
+					output Distributions {
+						output EFCalo {
+						}
+						output HLT {
+						}
+						output L1Calo {
+						}
+						output L2Calo {
+							output discriminant_binned {
+							}
+						}
+						output L2Photon {
+						}
+						output Offline {
+						}
+						output RoI {
+						}
+					}
+					output Efficiency {
+						output EFCalo {
+						}
+						output HLT {
+						}
+						output L1Calo {
+						}
+						output L2 {
+						}
+						output L2Calo {
+						}
+					}
+					output Resolutions {
+						output HLT {
+						}
+						output L1Calo {
+						}
+						output L2Calo_vs_HLT {
+						}
+					}
+				}
+				output HLT_g20_loose_ion {
+					output AbsResolutions {
+						output L1Calo {
+						}
+					}
+					output Distributions {
+						output EFCalo {
+						}
+						output HLT {
+						}
+						output L1Calo {
+						}
+						output L2Calo {
+							output discriminant_binned {
+							}
+						}
+						output L2Photon {
+						}
+						output Offline {
+						}
+						output RoI {
+						}
+					}
+					output Efficiency {
+						output EFCalo {
+						}
+						output HLT {
+						}
+						output L1Calo {
+						}
+						output L2 {
+						}
+						output L2Calo {
+						}
+					}
+					output Resolutions {
+						output HLT {
+						}
+						output L1Calo {
+						}
+						output L2Calo_vs_HLT {
+						}
+					}
+				}
+			}
+			output Shifter {
+				output primary_single_ele {
+				}
+				output primary_single_ele_cutbased {
+				}
+				output primary_single_pho {
+				}
+			}
+		}
+	}
+}
+
+
+#######################
+# Histogram Assessments
 #######################
 
 dir HLT {
 	dir Egamma {
 		dir Expert {
 			dir Event {
-				hist Photons_electrons {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Expert/Event
-					display     	= StatBox
-				}
-				hist Photons_trigger_counts {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Expert/Event
-					display     	= StatBox
-				}
 				hist Electrons_electrons {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Expert/Event
 					display     	= StatBox
 				}
 				hist Electrons_trigger_counts {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Expert/Event
-					display     	= StatBox
-				}
-				hist Zee_ProbeCutCounter {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Expert/Event
-					display     	= StatBox
-				}
-				hist Zee_TagCutCounter {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Expert/Event
-					display     	= StatBox
-				}
-				hist Zee_Mee {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Expert/Event
-					display     	= StatBox
-				}
-				hist Zee_CutCounter {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Expert/Event
-					display     	= StatBox
-				}
-				hist Zee_trigger_counts {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Expert/Event
-					display     	= StatBox
-				}
-				hist Zee_nProbes {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Expert/Event
-					display     	= StatBox
-				}
-				hist Zee_nProbesL1 {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Expert/Event
-					display     	= StatBox
-				}
-				hist Zee_nProbesL2 {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Expert/Event
-					display     	= StatBox
-				}
-				hist Zee_nProbesL2Calo {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Expert/Event
-					display     	= StatBox
-				}
-				hist Zee_nProbesEFCalo {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Expert/Event
-					display     	= StatBox
-				}
-				hist Zee_nProbesHLT {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Expert/Event
-					display     	= StatBox
-				}
-				hist Zee_EffL1 {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Expert/Event
-					display     	= StatBox
-				}
-				hist Zee_EffL2 {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Expert/Event
 					display     	= StatBox
 				}
-				hist Zee_EffL2Calo {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Expert/Event
-					display     	= StatBox
-				}
-				hist Zee_EffEFCalo {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+				hist Photons_electrons {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Expert/Event
 					display     	= StatBox
 				}
-				hist Zee_EffHLT {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+				hist Photons_trigger_counts {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Expert/Event
 					display     	= StatBox
 				}
 			}
-			dir HLT_g13_etcut {
-				dir Efficiency {
+			dir HLT_e15_etcut_ion {
+				dir AbsResolutions {
+					dir L1Calo {
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/AbsResolutions/L1Calo
+							display     	= StatBox
+						}
+					}
+				}
+				dir Distributions {
+					dir EFCalo {
+						hist energy {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist energyBE0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist energyBE1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist energyBE2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist energyBE3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist eta_calo {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist phi_calo {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/EFCalo
+							display     	= StatBox
+						}
+					}
 					dir HLT {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/HLT
+						hist Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist charge {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist d0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist d0sig {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist deta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist deta1_EMEBA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist deta1_EMEBC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist deta1_EMECA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist deta1_EMECC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist deta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist dphi2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist dphiresc {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist eprobht {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist npixhits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist nscthits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist ptcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist ptcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist ptvarcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist ptvarcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist rejection {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist topoetcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist topoetcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist topoetcone40_shift {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist topoetcone40_shift_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+					}
+					dir L1Calo {
+						hist emClusVsEmIsol {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist emClusVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist emClusVsHadCore {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist emIso {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist energy {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist hadCore {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist roi_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L1Calo
+							display     	= StatBox
+						}
+					}
+					dir L2Calo {
+						hist discriminant {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+						hist discriminantVsMu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+						dir discriminant_binned {
+							hist discriminantVsMu_et_0_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+					}
+					dir L2Electron {
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Electron
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Electron
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Electron
+							display     	= StatBox
+						}
+						hist trkClusDeta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Electron
+							display     	= StatBox
+						}
+						hist trkClusDphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/L2Electron
+							display     	= StatBox
+						}
+					}
+					dir Offline {
+						hist Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist charge {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist d0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist d0sig {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist deta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist deta1_EMEBA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist deta1_EMEBC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist deta1_EMECA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist deta1_EMECC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist deta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist dphi2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist dphiresc {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist eprobht {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist npixhits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist nscthits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist ptcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist ptcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist ptvarcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist ptvarcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist rejection {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist topoetcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist topoetcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist topoetcone40_shift {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist topoetcone40_shift_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+					}
+					dir RoI {
+						hist roi_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/RoI
+							display     	= StatBox
+						}
+						hist roi_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Distributions/RoI
+							display     	= StatBox
+						}
+					}
+				}
+				dir Efficiency {
+					dir EFCalo {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+					}
+					dir HLT {
+						hist FailisEMLHMedium {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist IneffisEMLHMedium {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_hltreco {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_triggerstep {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+					}
+					dir L1Calo {
+						hist coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+					}
+					dir L2 {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2
+							display     	= StatBox
+						}
+					}
+					dir L2Calo {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+					}
+				}
+				dir Resolutions {
+					dir HLT {
+						hist res_Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_d0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_d0sig {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_deta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_deta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_dphi2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_dphiresc {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_eprobht {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_eprobhtVsPt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_eprobht_onVsOff {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_etInEta0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_etInEta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_etInEta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_etInEta3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_npixhits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_nscthits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_wtots1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+					}
+					dir L1Calo {
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/L1Calo
+							display     	= StatBox
+						}
+					}
+					dir L2Calo_vs_HLT {
+						hist res_Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_etcut_ion/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+					}
+				}
+			}
+			dir HLT_e15_lhloose_ion_L1EM12 {
+				dir AbsResolutions {
+					dir L1Calo {
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/AbsResolutions/L1Calo
+							display     	= StatBox
+						}
+					}
+				}
+				dir Distributions {
+					dir EFCalo {
+						hist energy {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist energyBE0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist energyBE1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist energyBE2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist energyBE3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist eta_calo {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist phi_calo {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/EFCalo
+							display     	= StatBox
+						}
+					}
+					dir HLT {
+						hist Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist charge {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist d0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist d0sig {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist deta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist deta1_EMEBA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist deta1_EMEBC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist deta1_EMECA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist deta1_EMECC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist deta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist dphi2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist dphiresc {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist eprobht {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist npixhits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist nscthits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist ptcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist ptcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist ptvarcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist ptvarcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist rejection {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist topoetcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist topoetcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist topoetcone40_shift {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist topoetcone40_shift_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+					}
+					dir L1Calo {
+						hist emClusVsEmIsol {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist emClusVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist emClusVsHadCore {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist emIso {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist energy {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist hadCore {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist roi_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L1Calo
+							display     	= StatBox
+						}
+					}
+					dir L2Calo {
+						hist discriminant {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo
+							display     	= StatBox
+						}
+						hist discriminantVsMu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo
+							display     	= StatBox
+						}
+						dir discriminant_binned {
+							hist discriminantVsMu_et_0_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Calo
+							display     	= StatBox
+						}
+					}
+					dir L2Electron {
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Electron
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Electron
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Electron
+							display     	= StatBox
+						}
+						hist trkClusDeta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Electron
+							display     	= StatBox
+						}
+						hist trkClusDphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/L2Electron
+							display     	= StatBox
+						}
+					}
+					dir Offline {
+						hist Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist charge {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist d0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist d0sig {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist deta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist deta1_EMEBA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist deta1_EMEBC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist deta1_EMECA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist deta1_EMECC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist deta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist dphi2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist dphiresc {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist eprobht {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist npixhits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist nscthits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist ptcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist ptcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist ptvarcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist ptvarcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist rejection {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist topoetcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist topoetcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist topoetcone40_shift {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist topoetcone40_shift_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+					}
+					dir RoI {
+						hist roi_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/RoI
+							display     	= StatBox
+						}
+						hist roi_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Distributions/RoI
+							display     	= StatBox
+						}
+					}
+				}
+				dir Efficiency {
+					dir EFCalo {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+					}
+					dir HLT {
+						hist FailisEMLHLoose {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist IneffisEMLHLoose {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_hltreco {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_triggerstep {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+					}
+					dir L1Calo {
+						hist coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+					}
+					dir L2 {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+					}
+					dir L2Calo {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+					}
+				}
+				dir Resolutions {
+					dir HLT {
+						hist res_Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_d0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_d0sig {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_deta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_deta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_dphi2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_dphiresc {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_eprobht {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_eprobhtVsPt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_eprobht_onVsOff {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_etInEta0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_etInEta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_etInEta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_etInEta3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_npixhits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_nscthits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_wtots1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+					}
+					dir L1Calo {
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/L1Calo
+							display     	= StatBox
+						}
+					}
+					dir L2Calo_vs_HLT {
+						hist res_Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhloose_ion_L1EM12/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+					}
+				}
+			}
+			dir HLT_e15_lhmedium_ion_L1EM12 {
+				dir AbsResolutions {
+					dir L1Calo {
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/AbsResolutions/L1Calo
+							display     	= StatBox
+						}
+					}
+				}
+				dir Distributions {
+					dir EFCalo {
+						hist energy {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist energyBE0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist energyBE1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist energyBE2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist energyBE3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist eta_calo {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist phi_calo {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/EFCalo
+							display     	= StatBox
+						}
+					}
+					dir HLT {
+						hist Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist charge {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist d0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist d0sig {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist deta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist deta1_EMEBA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist deta1_EMEBC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist deta1_EMECA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist deta1_EMECC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist deta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist dphi2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist dphiresc {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist eprobht {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist npixhits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist nscthits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist ptcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist ptcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist ptvarcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist ptvarcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist rejection {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist topoetcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist topoetcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist topoetcone40_shift {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist topoetcone40_shift_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+						hist weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/HLT
+							display     	= StatBox
+						}
+					}
+					dir L1Calo {
+						hist emClusVsEmIsol {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist emClusVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist emClusVsHadCore {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist emIso {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist energy {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist hadCore {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist roi_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L1Calo
+							display     	= StatBox
+						}
+					}
+					dir L2Calo {
+						hist discriminant {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo
+							display     	= StatBox
+						}
+						hist discriminantVsMu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo
+							display     	= StatBox
+						}
+						dir discriminant_binned {
+							hist discriminantVsMu_et_0_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Calo
+							display     	= StatBox
+						}
+					}
+					dir L2Electron {
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Electron
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Electron
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Electron
+							display     	= StatBox
+						}
+						hist trkClusDeta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Electron
+							display     	= StatBox
+						}
+						hist trkClusDphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/L2Electron
+							display     	= StatBox
+						}
+					}
+					dir Offline {
+						hist Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist charge {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist d0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist d0sig {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist deta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist deta1_EMEBA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist deta1_EMEBC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist deta1_EMECA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist deta1_EMECC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist deta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist dphi2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist dphiresc {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist eprobht {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist npixhits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist nscthits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist ptcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist ptcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist ptvarcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist ptvarcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist rejection {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist topoetcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist topoetcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist topoetcone40_shift {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist topoetcone40_shift_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+						hist weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/Offline
+							display     	= StatBox
+						}
+					}
+					dir RoI {
+						hist roi_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/RoI
+							display     	= StatBox
+						}
+						hist roi_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Distributions/RoI
+							display     	= StatBox
+						}
+					}
+				}
+				dir Efficiency {
+					dir EFCalo {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/EFCalo
+							display     	= StatBox
+						}
+					}
+					dir HLT {
+						hist FailisEMLHMedium {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist IneffisEMLHMedium {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_hltreco {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_triggerstep {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/HLT
+							display     	= StatBox
+						}
+					}
+					dir L1Calo {
+						hist coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L1Calo
+							display     	= StatBox
+						}
+					}
+					dir L2 {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2
+							display     	= StatBox
+						}
+					}
+					dir L2Calo {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Efficiency/L2Calo
+							display     	= StatBox
+						}
+					}
+				}
+				dir Resolutions {
+					dir HLT {
+						hist res_Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_d0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_d0sig {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_deta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_deta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_dphi2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_dphiresc {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_eprobht {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_eprobhtVsPt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_eprobht_onVsOff {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_etInEta0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_etInEta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_etInEta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_etInEta3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_npixhits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_nscthits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_wtots1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/HLT
+							display     	= StatBox
+						}
+					}
+					dir L1Calo {
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/L1Calo
+							display     	= StatBox
+						}
+					}
+					dir L2Calo_vs_HLT {
+						hist res_Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_lhmedium_ion_L1EM12/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+					}
+				}
+			}
+			dir HLT_e15_loose_ion {
+				dir AbsResolutions {
+					dir L1Calo {
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/AbsResolutions/L1Calo
+							display     	= StatBox
+						}
+					}
+				}
+				dir Distributions {
+					dir EFCalo {
+						hist energy {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist energyBE0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist energyBE1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist energyBE2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist energyBE3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist eta_calo {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist phi_calo {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/EFCalo
+							display     	= StatBox
+						}
+					}
+					dir HLT {
+						hist Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist charge {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist d0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist d0sig {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist deta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist deta1_EMEBA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist deta1_EMEBC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist deta1_EMECA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist deta1_EMECC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist deta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist dphi2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist dphiresc {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist eprobht {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist npixhits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist nscthits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist ptcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist ptcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist ptvarcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist ptvarcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist rejection {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist topoetcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist topoetcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist topoetcone40_shift {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist topoetcone40_shift_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+					}
+					dir L1Calo {
+						hist emClusVsEmIsol {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist emClusVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist emClusVsHadCore {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist emIso {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist energy {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist hadCore {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist roi_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L1Calo
+							display     	= StatBox
+						}
+					}
+					dir L2Calo {
+						hist discriminant {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+						hist discriminantVsMu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+						dir discriminant_binned {
+							hist discriminantVsMu_et_0_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+					}
+					dir L2Electron {
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Electron
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Electron
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Electron
+							display     	= StatBox
+						}
+						hist trkClusDeta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Electron
+							display     	= StatBox
+						}
+						hist trkClusDphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/L2Electron
+							display     	= StatBox
+						}
+					}
+					dir Offline {
+						hist Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist charge {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist d0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist d0sig {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist deta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist deta1_EMEBA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist deta1_EMEBC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist deta1_EMECA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist deta1_EMECC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist deta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist dphi2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist dphiresc {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist eprobht {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist npixhits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist nscthits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist ptcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist ptcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist ptvarcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist ptvarcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist rejection {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist topoetcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist topoetcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist topoetcone40_shift {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist topoetcone40_shift_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/Offline
+							display     	= StatBox
+						}
+					}
+					dir RoI {
+						hist roi_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/RoI
+							display     	= StatBox
+						}
+						hist roi_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Distributions/RoI
+							display     	= StatBox
+						}
+					}
+				}
+				dir Efficiency {
+					dir EFCalo {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+					}
+					dir HLT {
+						hist FailisEMLoose {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist IneffisEMLoose {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist IneffisEMLooseTRT {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist IneffisEMLooseTrk {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist IneffisEMLooseTrkClus {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_hltreco {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_triggerstep {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+					}
+					dir L1Calo {
+						hist coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+					}
+					dir L2 {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2
+							display     	= StatBox
+						}
+					}
+					dir L2Calo {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+					}
+				}
+				dir Resolutions {
+					dir HLT {
+						hist res_Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_d0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_d0sig {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_deta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_deta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_dphi2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_dphiresc {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_eprobht {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_eprobhtVsPt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_eprobht_onVsOff {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_etInEta0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_etInEta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_etInEta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_etInEta3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_npixhits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_nscthits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_wtots1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+					}
+					dir L1Calo {
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/L1Calo
+							display     	= StatBox
+						}
+					}
+					dir L2Calo_vs_HLT {
+						hist res_Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_loose_ion/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+					}
+				}
+			}
+			dir HLT_e15_medium_ion {
+				dir AbsResolutions {
+					dir L1Calo {
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/AbsResolutions/L1Calo
+							display     	= StatBox
+						}
+					}
+				}
+				dir Distributions {
+					dir EFCalo {
+						hist energy {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist energyBE0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist energyBE1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist energyBE2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist energyBE3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist eta_calo {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist phi_calo {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/EFCalo
+							display     	= StatBox
+						}
+					}
+					dir HLT {
+						hist Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist charge {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist d0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist d0sig {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist deta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist deta1_EMEBA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist deta1_EMEBC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist deta1_EMECA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist deta1_EMECC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist deta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist dphi2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist dphiresc {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist eprobht {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist npixhits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist nscthits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist ptcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist ptcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist ptvarcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist ptvarcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist rejection {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist topoetcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist topoetcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist topoetcone40_shift {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist topoetcone40_shift_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+					}
+					dir L1Calo {
+						hist emClusVsEmIsol {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist emClusVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist emClusVsHadCore {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist emIso {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist energy {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist hadCore {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L1Calo
+							display     	= StatBox
+						}
+						hist roi_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L1Calo
+							display     	= StatBox
+						}
+					}
+					dir L2Calo {
+						hist discriminant {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+						hist discriminantVsMu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+						dir discriminant_binned {
+							hist discriminantVsMu_et_0_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+					}
+					dir L2Electron {
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Electron
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Electron
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Electron
+							display     	= StatBox
+						}
+						hist trkClusDeta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Electron
+							display     	= StatBox
+						}
+						hist trkClusDphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/L2Electron
+							display     	= StatBox
+						}
+					}
+					dir Offline {
+						hist Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist charge {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist d0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist d0sig {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist deta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist deta1_EMEBA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist deta1_EMEBC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist deta1_EMECA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist deta1_EMECC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist deta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist dphi2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist dphiresc {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist eprobht {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist npixhits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist nscthits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist ptcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist ptcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist ptvarcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist ptvarcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist rejection {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist topoetcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist topoetcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist topoetcone40_shift {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist topoetcone40_shift_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/Offline
+							display     	= StatBox
+						}
+					}
+					dir RoI {
+						hist roi_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/RoI
+							display     	= StatBox
+						}
+						hist roi_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Distributions/RoI
+							display     	= StatBox
+						}
+					}
+				}
+				dir Efficiency {
+					dir EFCalo {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+					}
+					dir HLT {
+						hist FailisEMMedium {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist IneffisEMMedium {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist IneffisEMMediumTRT {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist IneffisEMMediumTrk {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist IneffisEMMediumTrkClus {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_hltreco {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_triggerstep {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+					}
+					dir L1Calo {
+						hist coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+					}
+					dir L2 {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2
+							display     	= StatBox
+						}
+					}
+					dir L2Calo {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+					}
+				}
+				dir Resolutions {
+					dir HLT {
+						hist res_Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_d0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_d0sig {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_deta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_deta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_dphi2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_dphiresc {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_eprobht {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_eprobhtVsPt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_eprobht_onVsOff {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_etInEta0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_etInEta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/HLT
+						hist res_etInEta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/HLT
+						hist res_etInEta3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/HLT
+						hist res_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/HLT
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/HLT
+						hist res_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/HLT
+						hist res_ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/HLT
+						hist res_ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/HLT
+						hist res_f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/HLT
+						hist res_f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/HLT
+						hist res_npixhits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/HLT
+						hist res_nscthits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/HLT
+						hist res_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/HLT
+						hist res_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/HLT
+						hist res_weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/HLT
+						hist res_weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/HLT
+						hist res_wtots1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/HLT
+					}
+					dir L1Calo {
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/L1Calo
 							display     	= StatBox
 						}
-						hist match_coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/HLT
+					}
+					dir L2Calo_vs_HLT {
+						hist res_Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/HLT
+						hist res_Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist eff_coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/HLT
+						hist res_Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-					}
-					dir L2Calo {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2Calo
+						hist res_Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2Calo
+						hist res_eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2Calo
+						hist res_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2Calo
+						hist res_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2Calo
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2Calo
+						hist res_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2Calo
+						hist res_ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2Calo
+						hist res_ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2Calo
+						hist res_f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2Calo
+						hist res_f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2Calo
+						hist res_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2Calo
+						hist res_weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2Calo
+						hist res_weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e15_medium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2Calo
+					}
+				}
+			}
+			dir HLT_e18_etcut_ion {
+				dir AbsResolutions {
+					dir L1Calo {
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/AbsResolutions/L1Calo
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2Calo
+					}
+				}
+				dir Distributions {
+					dir EFCalo {
+						hist energy {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2Calo
+						hist energyBE0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2Calo
+						hist energyBE1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2Calo
+						hist energyBE2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-					}
-					dir L2 {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2
+						hist energyBE3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2
+						hist eta_calo {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2
+						hist phi_calo {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2
+					}
+					dir HLT {
+						hist Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2
+						hist Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2
+						hist Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2
+						hist Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2
+						hist charge {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2
+						hist d0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2
+						hist d0sig {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2
+						hist deta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2
+						hist deta1_EMEBA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2
+						hist deta1_EMEBC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2
+						hist deta1_EMECA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/L2
+						hist deta1_EMECC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-					}
-					dir EFCalo {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/EFCalo
+						hist deta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/EFCalo
+						hist dphi2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/EFCalo
+						hist dphiresc {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/EFCalo
+						hist eprobht {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/EFCalo
+						hist eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/EFCalo
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/EFCalo
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/EFCalo
+						hist ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/EFCalo
+						hist ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/EFCalo
+						hist f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/EFCalo
+						hist f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/EFCalo
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist npixhits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist nscthits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
 						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/EFCalo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/EFCalo
+						hist ptcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/EFCalo
+						hist ptcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/EFCalo
+						hist ptvarcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/EFCalo
+						hist ptvarcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Efficiency/EFCalo
+						hist rejection {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-					}
-				}
-				dir Distributions {
-					dir Offline {
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/Offline
+						hist topoetcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/Offline
+						hist topoetcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/Offline
+						hist topoetcone40_shift {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist topoetcone40_shift_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
 						hist weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/Offline
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
 						hist weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/Offline
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/Offline
+					}
+					dir L1Calo {
+						hist emClusVsEmIsol {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/Offline
+						hist emClusVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/Offline
+						hist emClusVsHadCore {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/Offline
+						hist emIso {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/Offline
+						hist energy {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/Offline
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/Offline
+						hist hadCore {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist topoetcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/Offline
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist topoetcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/Offline
+						hist roi_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist rejection {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/Offline
-							display     	= StatBox
+					}
+					dir L2Calo {
+						hist discriminant {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+						hist discriminantVsMu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+						dir discriminant_binned {
+							hist discriminantVsMu_et_0_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
 						}
 						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/Offline
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo
 							display     	= StatBox
 						}
 						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/Offline
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo
 							display     	= StatBox
 						}
 						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/Offline
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Calo
 							display     	= StatBox
 						}
 					}
-					dir HLT {
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/HLT
+					dir L2Electron {
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Electron
 							display     	= StatBox
 						}
-						hist ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Electron
 							display     	= StatBox
 						}
-						hist ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Electron
 							display     	= StatBox
 						}
-						hist weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/HLT
+						hist trkClusDeta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Electron
 							display     	= StatBox
 						}
-						hist weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/HLT
+						hist trkClusDphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/L2Electron
 							display     	= StatBox
 						}
-						hist f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/HLT
+					}
+					dir Offline {
+						hist Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/HLT
+						hist Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/HLT
+						hist Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
 						hist Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/HLT
+						hist charge {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/HLT
+						hist d0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/HLT
+						hist d0sig {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist topoetcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/HLT
+						hist deta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist topoetcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/HLT
+						hist deta1_EMEBA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist rejection {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/HLT
+						hist deta1_EMEBC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/HLT
+						hist deta1_EMECA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/HLT
+						hist deta1_EMECC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/HLT
+						hist deta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-					}
-					dir EFCalo {
-						hist energyBE0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/EFCalo
+						hist dphi2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist energyBE1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/EFCalo
+						hist dphiresc {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist energyBE2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/EFCalo
+						hist eprobht {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist energyBE3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/EFCalo
+						hist eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist energy {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/EFCalo
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eta_calo {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/EFCalo
+						hist ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist phi_calo {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/EFCalo
+						hist ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/EFCalo
+						hist f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/EFCalo
+						hist f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/EFCalo
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-					}
-					dir L2Photon {
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/L2Photon
+						hist npixhits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/L2Photon
+						hist nscthits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
 						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/L2Photon
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-					}
-					dir L2Calo {
-						hist ringer_nnOutput {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/L2Calo
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist ringer_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/L2Calo
+						hist ptcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/L2Calo
+						hist ptcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/L2Calo
+						hist ptvarcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Distributions/L2Calo
+						hist ptvarcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-					}
-				}
-				dir Resolutions {
-					dir HLT {
-						hist res_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+						hist rejection {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist res_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+						hist topoetcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist res_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+						hist topoetcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist res_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+						hist topoetcone40_shift {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist res_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+						hist topoetcone40_shift_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist res_ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+						hist weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist res_ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+						hist weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist res_Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+					}
+					dir RoI {
+						hist roi_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/RoI
 							display     	= StatBox
 						}
-						hist res_Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+						hist roi_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Distributions/RoI
 							display     	= StatBox
 						}
-						hist res_Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+					}
+				}
+				dir Efficiency {
+					dir EFCalo {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist res_Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist res_weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist res_weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist res_f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist res_f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist res_eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist res_et_cnv {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist res_et_uncnv {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist res_cnv_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist res_cnv_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist res_uncnv_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist res_uncnv_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist res_cnv_etInEta0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist res_cnv_etInEta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist res_cnv_etInEta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist res_cnv_etInEta3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist res_uncnv_etInEta0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist res_uncnv_etInEta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+					}
+					dir HLT {
+						hist FailisEMLHMedium {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_uncnv_etInEta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+						hist IneffisEMLHMedium {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_uncnv_etInEta3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+						hist coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_etInEta0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+						hist eff_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_etInEta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_etInEta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_etInEta3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_wtots1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/HLT
+						hist eff_hltreco {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-					}
-					dir L2Calo_vs_HLT {
-						hist res_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/L2Calo_vs_HLT
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/L2Calo_vs_HLT
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/L2Calo_vs_HLT
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/L2Calo_vs_HLT
+						hist eff_triggerstep {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/L2Calo_vs_HLT
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/L2Calo_vs_HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/L2Calo_vs_HLT
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/L2Calo_vs_HLT
+						hist match_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/L2Calo_vs_HLT
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/L2Calo_vs_HLT
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/L2Calo_vs_HLT
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/L2Calo_vs_HLT
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/L2Calo_vs_HLT
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/L2Calo_vs_HLT
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/L2Calo_vs_HLT
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g13_etcut/Resolutions/L2Calo_vs_HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
 					}
-				}
-			}
-			dir HLT_g15_loose {
-				dir Efficiency {
-					dir HLT {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/HLT
+					dir L1Calo {
+						hist coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/HLT
+						hist eff_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/HLT
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
 						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/HLT
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
 						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/HLT
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/HLT
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/HLT
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/HLT
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/HLT
+						hist match_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/HLT
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/HLT
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/HLT
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/HLT
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/HLT
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/HLT
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist match_coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/HLT
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist eff_coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/HLT
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
 					}
-					dir L2Calo {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2Calo
+					dir L2 {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2Calo
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
 						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2Calo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2Calo
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
 						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2Calo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2Calo
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2Calo
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2Calo
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2Calo
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2Calo
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2Calo
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2Calo
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2Calo
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2Calo
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2Calo
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2Calo
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
 						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2Calo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2Calo
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
 					}
-					dir L2 {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2
-							display     	= StatBox
-						}
+					dir L2Calo {
 						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2
-							display     	= StatBox
-						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
 						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
 						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
 						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/L2
-							display     	= StatBox
-						}
-					}
-					dir EFCalo {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/EFCalo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/EFCalo
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/EFCalo
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/EFCalo
+					}
+				}
+				dir Resolutions {
+					dir HLT {
+						hist res_Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/EFCalo
+						hist res_Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/EFCalo
+						hist res_Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/EFCalo
+						hist res_Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/EFCalo
+						hist res_d0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/EFCalo
+						hist res_d0sig {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/EFCalo
+						hist res_deta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/EFCalo
+						hist res_deta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/EFCalo
+						hist res_dphi2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/EFCalo
+						hist res_dphiresc {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/EFCalo
+						hist res_eprobht {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/EFCalo
+						hist res_eprobhtVsPt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/EFCalo
+						hist res_eprobht_onVsOff {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/EFCalo
+						hist res_eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Efficiency/EFCalo
+						hist res_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-					}
-				}
-				dir Distributions {
-					dir Offline {
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/Offline
+						hist res_etInEta0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/Offline
+						hist res_etInEta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/Offline
+						hist res_etInEta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/Offline
+						hist res_etInEta3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/Offline
+						hist res_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/Offline
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/Offline
+						hist res_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/Offline
+						hist res_ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/Offline
+						hist res_ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/Offline
+						hist res_f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/Offline
+						hist res_f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/Offline
+						hist res_npixhits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist topoetcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/Offline
+						hist res_nscthits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist topoetcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/Offline
+						hist res_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist rejection {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/Offline
+						hist res_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/Offline
+						hist res_weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/Offline
+						hist res_weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/Offline
+						hist res_wtots1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
 					}
-					dir HLT {
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/HLT
+					dir L1Calo {
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/L1Calo
 							display     	= StatBox
 						}
-						hist ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/HLT
+					}
+					dir L2Calo_vs_HLT {
+						hist res_Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/HLT
+						hist res_Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/HLT
+						hist res_Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/HLT
+						hist res_Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/HLT
+						hist res_eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/HLT
+						hist res_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/HLT
+						hist res_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/HLT
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/HLT
+						hist res_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/HLT
+						hist res_ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/HLT
+						hist res_ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist topoetcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/HLT
+						hist res_f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist topoetcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/HLT
+						hist res_f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist rejection {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/HLT
+						hist res_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/HLT
+						hist res_weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/HLT
+						hist res_weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/HLT
+					}
+				}
+			}
+			dir HLT_e18_lhloose_ion {
+				dir AbsResolutions {
+					dir L1Calo {
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/AbsResolutions/L1Calo
 							display     	= StatBox
 						}
 					}
+				}
+				dir Distributions {
 					dir EFCalo {
+						hist energy {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/EFCalo
+							display     	= StatBox
+						}
 						hist energyBE0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/EFCalo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
 						hist energyBE1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/EFCalo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
 						hist energyBE2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/EFCalo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
 						hist energyBE3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/EFCalo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist energy {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/EFCalo
-							display     	= StatBox
-						}
-						hist eta_calo {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/EFCalo
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist phi_calo {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/EFCalo
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/EFCalo
+						hist eta_calo {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/EFCalo
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/EFCalo
+						hist phi_calo {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
 					}
-					dir L2Photon {
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/L2Photon
+					dir HLT {
+						hist Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/L2Photon
+						hist Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/L2Photon
+						hist Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-					}
-					dir L2Calo {
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/L2Calo
+						hist Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/L2Calo
+						hist charge {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Distributions/L2Calo
+						hist d0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-					}
-				}
-				dir Resolutions {
-					dir HLT {
-						hist res_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist d0sig {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist deta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist deta1_EMEBA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist deta1_EMEBC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist deta1_EMECA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist deta1_EMECC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist deta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist dphi2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist dphiresc {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist eprobht {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_et_cnv {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_et_uncnv {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_cnv_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist npixhits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_cnv_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist nscthits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_uncnv_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_uncnv_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_cnv_etInEta0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist ptcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_cnv_etInEta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist ptcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_cnv_etInEta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist ptvarcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_cnv_etInEta3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist ptvarcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_uncnv_etInEta0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist rejection {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_uncnv_etInEta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist topoetcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_uncnv_etInEta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist topoetcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_uncnv_etInEta3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist topoetcone40_shift {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_etInEta0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist topoetcone40_shift_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_etInEta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_etInEta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_etInEta3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+					}
+					dir L1Calo {
+						hist emClusVsEmIsol {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist res_wtots1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/HLT
+						hist emClusVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-					}
-					dir L2Calo_vs_HLT {
-						hist res_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/L2Calo_vs_HLT
+						hist emClusVsHadCore {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist res_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/L2Calo_vs_HLT
+						hist emIso {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist res_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/L2Calo_vs_HLT
+						hist energy {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist res_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/L2Calo_vs_HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist res_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/L2Calo_vs_HLT
+						hist hadCore {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist res_ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/L2Calo_vs_HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist res_ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/L2Calo_vs_HLT
+						hist roi_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist res_Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/L2Calo_vs_HLT
-							display     	= StatBox
+					}
+					dir L2Calo {
+						hist discriminant {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+						hist discriminantVsMu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+						dir discriminant_binned {
+							hist discriminantVsMu_et_0_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
 						}
-						hist res_Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/L2Calo_vs_HLT
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo
 							display     	= StatBox
 						}
-						hist res_Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/L2Calo_vs_HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo
 							display     	= StatBox
 						}
-						hist res_Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/L2Calo_vs_HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Calo
 							display     	= StatBox
 						}
-						hist res_weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/L2Calo_vs_HLT
+					}
+					dir L2Electron {
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Electron
 							display     	= StatBox
 						}
-						hist res_weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/L2Calo_vs_HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Electron
 							display     	= StatBox
 						}
-						hist res_f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/L2Calo_vs_HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Electron
 							display     	= StatBox
 						}
-						hist res_f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/L2Calo_vs_HLT
+						hist trkClusDeta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Electron
 							display     	= StatBox
 						}
-						hist res_eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g15_loose/Resolutions/L2Calo_vs_HLT
+						hist trkClusDphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/L2Electron
 							display     	= StatBox
 						}
 					}
-				}
-			}
-			dir HLT_g18_etcut {
-				dir Efficiency {
-					dir HLT {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/HLT
+					dir Offline {
+						hist Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/HLT
+						hist Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/HLT
+						hist Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/HLT
+						hist Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/HLT
+						hist charge {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/HLT
+						hist d0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/HLT
+						hist d0sig {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/HLT
+						hist deta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/HLT
+						hist deta1_EMEBA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/HLT
+						hist deta1_EMEBC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/HLT
+						hist deta1_EMECA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/HLT
+						hist deta1_EMECC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/HLT
+						hist deta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/HLT
+						hist dphi2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/HLT
+						hist dphiresc {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/HLT
+						hist eprobht {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/HLT
+						hist eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/HLT
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/HLT
+						hist ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/HLT
+						hist ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-					}
-					dir L2Calo {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2Calo
+						hist f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2Calo
+						hist f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2Calo
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2Calo
+						hist npixhits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2Calo
+						hist nscthits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2Calo
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2Calo
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2Calo
+						hist ptcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2Calo
+						hist ptcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2Calo
+						hist ptvarcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2Calo
+						hist ptvarcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2Calo
+						hist rejection {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2Calo
+						hist topoetcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2Calo
+						hist topoetcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2Calo
+						hist topoetcone40_shift {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2Calo
+						hist topoetcone40_shift_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2Calo
+						hist weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2Calo
+						hist weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/Offline
 							display     	= StatBox
 						}
 					}
-					dir L2 {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2
+					dir RoI {
+						hist roi_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/RoI
+							display     	= StatBox
+						}
+						hist roi_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Distributions/RoI
 							display     	= StatBox
 						}
+					}
+				}
+				dir Efficiency {
+					dir EFCalo {
 						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
 						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
 						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
 						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/L2
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
 					}
-					dir EFCalo {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/EFCalo
+					dir HLT {
+						hist FailisEMLHLoose {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/EFCalo
+						hist IneffisEMLHLoose {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/EFCalo
+						hist coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/EFCalo
+						hist eff_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/EFCalo
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/EFCalo
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/EFCalo
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/EFCalo
+						hist eff_hltreco {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/EFCalo
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/EFCalo
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/EFCalo
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/EFCalo
+						hist eff_triggerstep {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/EFCalo
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/EFCalo
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
 						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/EFCalo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/EFCalo
+						hist match_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/EFCalo
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Efficiency/EFCalo
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-					}
-				}
-				dir Distributions {
-					dir Offline {
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/Offline
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/Offline
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/Offline
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/Offline
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/Offline
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/Offline
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/Offline
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/Offline
+					}
+					dir L1Calo {
+						hist coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/Offline
+						hist eff_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/Offline
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/Offline
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/Offline
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist topoetcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/Offline
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist topoetcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/Offline
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist rejection {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/Offline
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
 						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/Offline
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
 						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/Offline
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/Offline
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-					}
-					dir HLT {
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/HLT
+						hist match_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/HLT
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/HLT
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/HLT
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/HLT
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/HLT
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/HLT
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/HLT
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/HLT
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/HLT
+					}
+					dir L2 {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/HLT
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist topoetcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/HLT
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist topoetcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/HLT
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist rejection {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/HLT
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2
+							display     	= StatBox
+						}
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2
 							display     	= StatBox
 						}
 						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2
 							display     	= StatBox
 						}
 						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/HLT
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-					}
-					dir EFCalo {
-						hist energyBE0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/EFCalo
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist energyBE1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/EFCalo
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist energyBE2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/EFCalo
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist energyBE3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/EFCalo
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist energy {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/EFCalo
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist eta_calo {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/EFCalo
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist phi_calo {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/EFCalo
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/EFCalo
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/EFCalo
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/EFCalo
+					}
+					dir L2Calo {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-					}
-					dir L2Photon {
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/L2Photon
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/L2Photon
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/L2Photon
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-					}
-					dir L2Calo {
-						hist ringer_nnOutput {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/L2Calo
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist ringer_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/L2Calo
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
 						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/L2Calo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
 						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/L2Calo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Distributions/L2Calo
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-					}
-				}
-				dir Resolutions {
-					dir HLT {
-						hist res_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist res_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist res_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist res_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist res_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist res_ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist res_ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist res_Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist res_Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
+					}
+				}
+				dir Resolutions {
+					dir HLT {
 						hist res_Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist res_Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist res_Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist res_Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist res_d0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist res_d0sig {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist res_deta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_et_cnv {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist res_deta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_et_uncnv {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist res_dphi2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_cnv_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist res_dphiresc {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_cnv_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist res_eprobht {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_uncnv_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist res_eprobhtVsPt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_uncnv_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist res_eprobht_onVsOff {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_cnv_etInEta0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist res_eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_cnv_etInEta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist res_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_cnv_etInEta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist res_etInEta0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_cnv_etInEta3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist res_etInEta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_uncnv_etInEta0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist res_etInEta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_uncnv_etInEta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist res_etInEta3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_uncnv_etInEta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist res_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_uncnv_etInEta3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_etInEta0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist res_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_etInEta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist res_ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_etInEta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist res_ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_etInEta3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist res_f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_wtots1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/HLT
+						hist res_f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-					}
-					dir L2Calo_vs_HLT {
-						hist res_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/L2Calo_vs_HLT
+						hist res_npixhits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/L2Calo_vs_HLT
+						hist res_nscthits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
 						hist res_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/L2Calo_vs_HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/L2Calo_vs_HLT
+						hist res_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/L2Calo_vs_HLT
+						hist res_weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/L2Calo_vs_HLT
+						hist res_weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/L2Calo_vs_HLT
+						hist res_wtots1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/L2Calo_vs_HLT
+					}
+					dir L1Calo {
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/L1Calo
 							display     	= StatBox
 						}
-						hist res_Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/L2Calo_vs_HLT
+					}
+					dir L2Calo_vs_HLT {
+						hist res_Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/L2Calo_vs_HLT
+						hist res_Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/L2Calo_vs_HLT
+							display     	= StatBox
+						}
+						hist res_Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
 						hist res_Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/L2Calo_vs_HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/L2Calo_vs_HLT
+						hist res_eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/L2Calo_vs_HLT
+						hist res_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/L2Calo_vs_HLT
+						hist res_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/L2Calo_vs_HLT
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g18_etcut/Resolutions/L2Calo_vs_HLT
+						hist res_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-					}
-				}
-			}
-			dir HLT_g20_loose {
-				dir Efficiency {
-					dir HLT {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/HLT
+						hist res_ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/HLT
+						hist res_ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/HLT
+						hist res_f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/HLT
+						hist res_f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/HLT
+						hist res_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/HLT
+						hist res_weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/HLT
+						hist res_weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhloose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/HLT
+					}
+				}
+			}
+			dir HLT_e18_lhmedium_ion {
+				dir AbsResolutions {
+					dir L1Calo {
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/AbsResolutions/L1Calo
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/HLT
+					}
+				}
+				dir Distributions {
+					dir EFCalo {
+						hist energy {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/HLT
+						hist energyBE0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/HLT
+						hist energyBE1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/HLT
+						hist energyBE2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/HLT
+						hist energyBE3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
 						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/HLT
+						hist eta_calo {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
 						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/HLT
+						hist phi_calo {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist match_coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/HLT
+					}
+					dir HLT {
+						hist Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/HLT
+						hist Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/HLT
+						hist Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-					}
-					dir L2Calo {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2Calo
+						hist Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2Calo
+						hist charge {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2Calo
+						hist d0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2Calo
+						hist d0sig {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2Calo
+						hist deta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2Calo
+						hist deta1_EMEBA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2Calo
+						hist deta1_EMEBC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2Calo
+						hist deta1_EMECA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2Calo
+						hist deta1_EMECC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2Calo
+						hist deta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2Calo
+						hist dphi2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2Calo
+						hist dphiresc {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2Calo
+						hist eprobht {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2Calo
+						hist eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2Calo
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
 						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2Calo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2Calo
+						hist ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2Calo
+						hist ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-					}
-					dir L2 {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2
+						hist f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2
+						hist f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2
+						hist npixhits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2
+						hist nscthits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2
+						hist ptcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2
+						hist ptcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2
+						hist ptvarcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2
+						hist ptvarcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2
+						hist rejection {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2
+						hist topoetcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2
+						hist topoetcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2
+						hist topoetcone40_shift {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2
+						hist topoetcone40_shift_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2
+						hist weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/L2
+						hist weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/HLT
 							display     	= StatBox
 						}
 					}
-					dir EFCalo {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/EFCalo
-							display     	= StatBox
-						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/EFCalo
-							display     	= StatBox
-						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/EFCalo
+					dir L1Calo {
+						hist emClusVsEmIsol {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/EFCalo
+						hist emClusVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/EFCalo
+						hist emClusVsHadCore {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/EFCalo
+						hist emIso {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/EFCalo
+						hist energy {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/EFCalo
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/EFCalo
+						hist hadCore {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/EFCalo
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/EFCalo
+						hist roi_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/EFCalo
+					}
+					dir L2Calo {
+						hist discriminant {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+						hist discriminantVsMu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+						dir discriminant_binned {
+							hist discriminantVsMu_et_0_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/EFCalo
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/EFCalo
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Calo
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/EFCalo
+					}
+					dir L2Electron {
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Electron
 							display     	= StatBox
 						}
 						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/EFCalo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Electron
 							display     	= StatBox
 						}
 						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/EFCalo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Electron
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Efficiency/EFCalo
+						hist trkClusDeta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Electron
+							display     	= StatBox
+						}
+						hist trkClusDphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/L2Electron
 							display     	= StatBox
 						}
 					}
-				}
-				dir Distributions {
 					dir Offline {
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/Offline
+						hist Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/Offline
+						hist Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/Offline
+						hist Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/Offline
+						hist Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/Offline
+						hist charge {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/Offline
+						hist d0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/Offline
+						hist d0sig {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/Offline
+						hist deta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/Offline
+						hist deta1_EMEBA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/Offline
+						hist deta1_EMEBC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/Offline
+						hist deta1_EMECA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/Offline
+						hist deta1_EMECC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist topoetcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/Offline
+						hist deta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist topoetcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/Offline
+						hist dphi2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist rejection {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/Offline
+						hist dphiresc {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/Offline
+						hist eprobht {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/Offline
+						hist eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/Offline
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-					}
-					dir HLT {
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
 						hist ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
 						hist ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/HLT
+						hist f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/HLT
+						hist f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/HLT
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/HLT
+						hist npixhits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/HLT
+						hist nscthits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/HLT
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/HLT
+						hist ptcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/HLT
+						hist ptcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist topoetcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/HLT
+						hist ptvarcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist topoetcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/HLT
+						hist ptvarcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
 						hist rejection {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/HLT
+						hist topoetcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/HLT
+						hist topoetcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/HLT
+						hist topoetcone40_shift {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-					}
-					dir EFCalo {
-						hist energyBE0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/EFCalo
+						hist topoetcone40_shift_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist energyBE1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/EFCalo
+						hist weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist energyBE2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/EFCalo
+						hist weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist energyBE3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/EFCalo
+					}
+					dir RoI {
+						hist roi_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/RoI
 							display     	= StatBox
 						}
-						hist energy {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/EFCalo
+						hist roi_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Distributions/RoI
 							display     	= StatBox
 						}
-						hist eta_calo {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/EFCalo
+					}
+				}
+				dir Efficiency {
+					dir EFCalo {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist phi_calo {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/EFCalo
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/EFCalo
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/EFCalo
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/EFCalo
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-					}
-					dir L2Photon {
 						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/L2Photon
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
 						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/L2Photon
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/L2Photon
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-					}
-					dir L2Calo {
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/L2Calo
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/L2Calo
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Distributions/L2Calo
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-					}
-				}
-				dir Resolutions {
-					dir HLT {
-						hist res_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist res_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist res_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist res_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist res_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist res_ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist res_ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+					}
+					dir HLT {
+						hist FailisEMLHMedium {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+						hist IneffisEMLHMedium {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+						hist coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+						hist eff_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+						hist eff_hltreco {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_et_cnv {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_et_uncnv {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+						hist eff_triggerstep {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_cnv_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_cnv_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_uncnv_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_uncnv_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+						hist match_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_cnv_etInEta0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_cnv_etInEta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_cnv_etInEta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_cnv_etInEta3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_uncnv_etInEta0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_uncnv_etInEta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_uncnv_etInEta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_uncnv_etInEta3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_etInEta0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist res_etInEta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+					}
+					dir L1Calo {
+						hist coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist res_etInEta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+						hist eff_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist res_etInEta3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist res_wtots1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/HLT
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-					}
-					dir L2Calo_vs_HLT {
-						hist res_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/L2Calo_vs_HLT
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist res_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/L2Calo_vs_HLT
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist res_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/L2Calo_vs_HLT
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist res_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/L2Calo_vs_HLT
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist res_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/L2Calo_vs_HLT
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist res_ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/L2Calo_vs_HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist res_ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/L2Calo_vs_HLT
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist res_Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/L2Calo_vs_HLT
+						hist match_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist res_Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/L2Calo_vs_HLT
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist res_Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/L2Calo_vs_HLT
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist res_Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/L2Calo_vs_HLT
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist res_weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/L2Calo_vs_HLT
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist res_weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/L2Calo_vs_HLT
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist res_f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/L2Calo_vs_HLT
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist res_f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/L2Calo_vs_HLT
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist res_eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g20_loose/Resolutions/L2Calo_vs_HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-					}
-				}
-			}
-			dir HLT_g35_loose {
-				dir Efficiency {
-					dir HLT {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/HLT
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
+					}
+					dir L2 {
 						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/HLT
-							display     	= StatBox
-						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2
 							display     	= StatBox
 						}
 						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/HLT
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2
 							display     	= StatBox
 						}
 						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/HLT
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/HLT
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/HLT
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/HLT
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/HLT
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/HLT
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/HLT
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/HLT
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/HLT
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/HLT
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2
 							display     	= StatBox
 						}
 						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/HLT
-							display     	= StatBox
-						}
-						hist match_coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist eff_coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/HLT
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2
 							display     	= StatBox
 						}
 					}
 					dir L2Calo {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2Calo
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2Calo
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
 						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2Calo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2Calo
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
 						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2Calo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2Calo
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2Calo
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2Calo
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2Calo
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2Calo
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2Calo
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2Calo
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2Calo
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2Calo
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2Calo
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2Calo
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
 						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2Calo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2Calo
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
 					}
-					dir L2 {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2
+				}
+				dir Resolutions {
+					dir HLT {
+						hist res_Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2
+						hist res_Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2
+						hist res_Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2
+						hist res_Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2
+						hist res_d0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2
+						hist res_d0sig {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2
+						hist res_deta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2
+						hist res_deta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2
+						hist res_dphi2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2
+						hist res_dphiresc {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2
+						hist res_eprobht {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2
+						hist res_eprobhtVsPt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2
+						hist res_eprobht_onVsOff {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2
+						hist res_eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2
+						hist res_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2
+						hist res_etInEta0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2
+						hist res_etInEta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/L2
+						hist res_etInEta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-					}
-					dir EFCalo {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/EFCalo
+						hist res_etInEta3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/EFCalo
+						hist res_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/EFCalo
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/EFCalo
+						hist res_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/EFCalo
+						hist res_ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/EFCalo
+						hist res_ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/EFCalo
+						hist res_f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/EFCalo
+						hist res_f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/EFCalo
+						hist res_npixhits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/EFCalo
+						hist res_nscthits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/EFCalo
+						hist res_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/EFCalo
+						hist res_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/EFCalo
+						hist res_weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/EFCalo
+						hist res_weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/EFCalo
+						hist res_wtots1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/EFCalo
+					}
+					dir L1Calo {
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/L1Calo
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/EFCalo
+					}
+					dir L2Calo_vs_HLT {
+						hist res_Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Efficiency/EFCalo
+						hist res_Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-					}
-				}
-				dir Distributions {
-					dir Offline {
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/Offline
+						hist res_Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/Offline
+						hist res_Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/Offline
+						hist res_eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/Offline
+						hist res_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/Offline
+						hist res_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/Offline
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/Offline
+						hist res_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/Offline
+						hist res_ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/Offline
+						hist res_ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/Offline
+						hist res_f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/Offline
+						hist res_f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/Offline
+						hist res_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist topoetcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/Offline
+						hist res_weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist topoetcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/Offline
+						hist res_weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_lhmedium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist rejection {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/Offline
+					}
+				}
+			}
+			dir HLT_e18_loose_ion {
+				dir AbsResolutions {
+					dir L1Calo {
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/AbsResolutions/L1Calo
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/Offline
+					}
+				}
+				dir Distributions {
+					dir EFCalo {
+						hist energy {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/Offline
+						hist energyBE0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/Offline
+						hist energyBE1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-					}
-					dir HLT {
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/HLT
+						hist energyBE2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/HLT
+						hist energyBE3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/HLT
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/HLT
+						hist eta_calo {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/HLT
+						hist phi_calo {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
+					}
+					dir HLT {
 						hist Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/HLT
-							display     	= StatBox
-						}
-						hist Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
 						hist Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
 						hist Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/HLT
+						hist Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist topoetcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/HLT
+						hist charge {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist topoetcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/HLT
+						hist d0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist rejection {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/HLT
+						hist d0sig {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/HLT
+						hist deta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/HLT
+						hist deta1_EMEBA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/HLT
+						hist deta1_EMEBC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-					}
-					dir EFCalo {
-						hist energyBE0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/EFCalo
+						hist deta1_EMECA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist energyBE1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/EFCalo
+						hist deta1_EMECC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist energyBE2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/EFCalo
+						hist deta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist energyBE3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/EFCalo
+						hist dphi2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist energy {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/EFCalo
+						hist dphiresc {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eta_calo {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/EFCalo
+						hist eprobht {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist phi_calo {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/EFCalo
+						hist eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
 						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/EFCalo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
 						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/EFCalo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/EFCalo
+						hist ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-					}
-					dir L2Photon {
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/L2Photon
+						hist ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/L2Photon
+						hist f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/L2Photon
+						hist f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-					}
-					dir L2Calo {
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/L2Calo
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/L2Calo
+						hist npixhits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist nscthits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
 						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Distributions/L2Calo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-					}
-				}
-				dir Resolutions {
-					dir HLT {
-						hist res_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+						hist ptcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+						hist ptcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+						hist ptvarcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+						hist ptvarcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+						hist rejection {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+						hist topoetcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+						hist topoetcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+						hist topoetcone40_shift {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+						hist topoetcone40_shift_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+						hist weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+						hist weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+					}
+					dir L1Calo {
+						hist emClusVsEmIsol {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist res_f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+						hist emClusVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist res_f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+						hist emClusVsHadCore {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist res_eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+						hist emIso {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist res_et_cnv {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+						hist energy {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist res_et_uncnv {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist res_cnv_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+						hist hadCore {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist res_cnv_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist res_uncnv_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+						hist roi_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist res_uncnv_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+					}
+					dir L2Calo {
+						hist discriminant {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+						hist discriminantVsMu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+						dir discriminant_binned {
+							hist discriminantVsMu_et_0_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo
 							display     	= StatBox
 						}
-						hist res_cnv_etInEta0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo
 							display     	= StatBox
 						}
-						hist res_cnv_etInEta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Calo
 							display     	= StatBox
 						}
-						hist res_cnv_etInEta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+					}
+					dir L2Electron {
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Electron
 							display     	= StatBox
 						}
-						hist res_cnv_etInEta3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Electron
 							display     	= StatBox
 						}
-						hist res_uncnv_etInEta0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Electron
 							display     	= StatBox
 						}
-						hist res_uncnv_etInEta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+						hist trkClusDeta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Electron
 							display     	= StatBox
 						}
-						hist res_uncnv_etInEta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+						hist trkClusDphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/L2Electron
 							display     	= StatBox
 						}
-						hist res_uncnv_etInEta3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+					}
+					dir Offline {
+						hist Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist res_etInEta0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+						hist Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist res_etInEta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+						hist Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist res_etInEta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+						hist Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist res_etInEta3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+						hist charge {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist res_wtots1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/HLT
+						hist d0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-					}
-					dir L2Calo_vs_HLT {
-						hist res_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/L2Calo_vs_HLT
+						hist d0sig {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist res_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/L2Calo_vs_HLT
+						hist deta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist res_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/L2Calo_vs_HLT
+						hist deta1_EMEBA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist res_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/L2Calo_vs_HLT
+						hist deta1_EMEBC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist res_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/L2Calo_vs_HLT
+						hist deta1_EMECA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist res_ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/L2Calo_vs_HLT
+						hist deta1_EMECC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist res_ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/L2Calo_vs_HLT
+						hist deta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist res_Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/L2Calo_vs_HLT
+						hist dphi2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist res_Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/L2Calo_vs_HLT
+						hist dphiresc {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist res_Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/L2Calo_vs_HLT
+						hist eprobht {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist res_Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/L2Calo_vs_HLT
+						hist eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist res_weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/L2Calo_vs_HLT
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist res_weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/L2Calo_vs_HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist res_f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/L2Calo_vs_HLT
+						hist ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist res_f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/L2Calo_vs_HLT
+						hist ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist res_eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_g35_loose/Resolutions/L2Calo_vs_HLT
+						hist f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-					}
-				}
-			}
-			dir HLT_e15_etcut {
-				dir Efficiency {
-					dir HLT {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/HLT
+						hist f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/HLT
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/HLT
+						hist npixhits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/HLT
+						hist nscthits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/HLT
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/HLT
+						hist ptcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/HLT
+						hist ptcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/HLT
+						hist ptvarcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/HLT
+						hist ptvarcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/HLT
+						hist rejection {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/HLT
+						hist topoetcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/HLT
+						hist topoetcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/HLT
+						hist topoetcone40_shift {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/HLT
+						hist topoetcone40_shift_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/HLT
+						hist weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/HLT
+						hist weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/HLT
+					}
+					dir RoI {
+						hist roi_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/RoI
 							display     	= StatBox
 						}
-						hist match_coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/HLT
+						hist roi_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Distributions/RoI
 							display     	= StatBox
 						}
-						hist coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/HLT
+					}
+				}
+				dir Efficiency {
+					dir EFCalo {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist eff_coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/HLT
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist eff_triggerstep {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/HLT
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist eff_hltreco {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/HLT
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist IsEmFailLoose {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/HLT
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist IsEmFailMedium {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/HLT
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist IsEmFailTight {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/HLT
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist IneffIsEmLoose {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist IneffIsEmMedium {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/HLT
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist IneffIsEmTight {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/HLT
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist IsEmLHFailLoose {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/HLT
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist IsEmLHFailMedium {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/HLT
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist IsEmLHFailTight {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/HLT
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-					}
-					dir L2Calo {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2Calo
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2Calo
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2Calo
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2Calo
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2Calo
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2Calo
+					}
+					dir HLT {
+						hist FailisEMLoose {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2Calo
+						hist IneffisEMLoose {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2Calo
+						hist IneffisEMLooseTRT {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2Calo
+						hist IneffisEMLooseTrk {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2Calo
+						hist IneffisEMLooseTrkClus {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2Calo
+						hist coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2Calo
+						hist eff_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2Calo
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2Calo
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2Calo
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2Calo
+						hist eff_hltreco {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2Calo
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2Calo
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-					}
-					dir L2 {
 						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2
+						hist eff_triggerstep {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2
+						hist match_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
 						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
 						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
 						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2
+					}
+					dir L1Calo {
+						hist coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2
+						hist eff_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/L2
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-					}
-					dir EFCalo {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/EFCalo
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/EFCalo
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/EFCalo
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/EFCalo
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/EFCalo
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/EFCalo
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/EFCalo
+						hist match_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
 						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/EFCalo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
 						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/EFCalo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/EFCalo
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
 						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/EFCalo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/EFCalo
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/EFCalo
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/EFCalo
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/EFCalo
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/EFCalo
+					}
+					dir L2 {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/EFCalo
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Efficiency/EFCalo
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-					}
-				}
-				dir Distributions {
-					dir Offline {
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist topoetcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist topoetcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
 						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist deta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+					}
+					dir L2Calo {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist deta1_EMECA {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist deta1_EMECC {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist deta1_EMEBA {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist deta1_EMEBC {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist deta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist dphi2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist dphiresc {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist d0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist d0sig {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist eprobht {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist nscthits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist npixhits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist charge {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist ptcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist ptcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist ptvarcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist ptvarcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist rejection {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+					}
+				}
+				dir Resolutions {
+					dir HLT {
+						hist res_Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist res_Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist res_Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/Offline
+						hist res_Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-					}
-					dir HLT {
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_d0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_d0sig {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_deta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_deta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_dphi2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_dphiresc {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_eprobht {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_eprobhtVsPt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_eprobht_onVsOff {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_etInEta0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist topoetcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_etInEta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist topoetcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_etInEta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_etInEta3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist deta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist deta1_EMECA {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist deta1_EMECC {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist deta1_EMEBA {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist deta1_EMEBC {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist deta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist dphi2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist dphiresc {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_npixhits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist d0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_nscthits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist d0sig {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eprobht {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist nscthits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist npixhits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist charge {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_wtots1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist ptcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+					}
+					dir L1Calo {
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/L1Calo
 							display     	= StatBox
 						}
-						hist ptcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+					}
+					dir L2Calo_vs_HLT {
+						hist res_Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist ptvarcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist ptvarcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist rejection {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/HLT
+						hist res_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-					}
-					dir EFCalo {
-						hist energyBE0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/EFCalo
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist energyBE1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/EFCalo
+						hist res_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist energyBE2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/EFCalo
+						hist res_ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist energyBE3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/EFCalo
+						hist res_ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist energy {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/EFCalo
+						hist res_f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist eta_calo {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/EFCalo
+						hist res_f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist phi_calo {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/EFCalo
+						hist res_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/EFCalo
+						hist res_weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/EFCalo
+						hist res_weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/EFCalo
+					}
+				}
+			}
+			dir HLT_e18_medium_ion {
+				dir AbsResolutions {
+					dir L1Calo {
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/AbsResolutions/L1Calo
 							display     	= StatBox
 						}
 					}
-					dir L2Electron {
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/L2Electron
+				}
+				dir Distributions {
+					dir EFCalo {
+						hist energy {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/L2Electron
+						hist energyBE0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/L2Electron
+						hist energyBE1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist trkClusDeta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/L2Electron
+						hist energyBE2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist trkClusDphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/L2Electron
+						hist energyBE3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-					}
-					dir L2Calo {
-						hist ringer_nnOutput {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/L2Calo
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist ringer_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/L2Calo
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/L2Calo
+						hist eta_calo {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/L2Calo
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Distributions/L2Calo
+						hist phi_calo {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
 					}
-				}
-				dir Resolutions {
 					dir HLT {
-						hist res_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/HLT
+						hist Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/HLT
+						hist Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/HLT
+						hist Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/HLT
+						hist Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/HLT
+						hist charge {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/HLT
+						hist d0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/HLT
+						hist d0sig {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/HLT
+						hist deta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/HLT
+						hist deta1_EMEBA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/HLT
+						hist deta1_EMEBC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/HLT
+						hist deta1_EMECA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/HLT
+						hist deta1_EMECC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/HLT
+						hist deta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist dphi2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/HLT
+						hist dphiresc {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/HLT
+						hist eprobht {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/HLT
+						hist eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/HLT
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_deta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_deta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/HLT
+						hist ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_dphi2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/HLT
+						hist ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_dphiresc {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/HLT
+						hist f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_d0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/HLT
+						hist f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_d0sig {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/HLT
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_eprobht {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/HLT
+						hist npixhits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_nscthits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/HLT
+						hist nscthits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_npixhits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_etInEta0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/HLT
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_etInEta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/HLT
+						hist ptcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_etInEta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/HLT
+						hist ptcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_etInEta3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/HLT
+						hist ptvarcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_wtots1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/HLT
+						hist ptvarcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-					}
-					dir L2Calo_vs_HLT {
-						hist res_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/L2Calo_vs_HLT
+						hist rejection {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/L2Calo_vs_HLT
+						hist topoetcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/L2Calo_vs_HLT
+						hist topoetcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/L2Calo_vs_HLT
+						hist topoetcone40_shift {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/L2Calo_vs_HLT
+						hist topoetcone40_shift_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/L2Calo_vs_HLT
+						hist weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/L2Calo_vs_HLT
+						hist weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/L2Calo_vs_HLT
+					}
+					dir L1Calo {
+						hist emClusVsEmIsol {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist res_Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/L2Calo_vs_HLT
+						hist emClusVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist res_Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/L2Calo_vs_HLT
+						hist emClusVsHadCore {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist res_Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/L2Calo_vs_HLT
+						hist emIso {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist res_weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/L2Calo_vs_HLT
+						hist energy {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist res_weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/L2Calo_vs_HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist res_f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/L2Calo_vs_HLT
+						hist hadCore {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist res_f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/L2Calo_vs_HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist res_eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_etcut/Resolutions/L2Calo_vs_HLT
+						hist roi_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
 					}
-				}
-			}
-			dir HLT_e15_lhloose {
-				dir Efficiency {
-					dir HLT {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/HLT
-							display     	= StatBox
+					dir L2Calo {
+						hist discriminant {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+						hist discriminantVsMu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+						dir discriminant_binned {
+							hist discriminantVsMu_et_0_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/HLT
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Calo
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/HLT
+					}
+					dir L2Electron {
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Electron
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Electron
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Electron
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/HLT
+						hist trkClusDeta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Electron
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/HLT
+						hist trkClusDphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/L2Electron
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/HLT
+					}
+					dir Offline {
+						hist Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/HLT
+						hist Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/HLT
+						hist Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/HLT
+						hist Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/HLT
+						hist charge {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/HLT
+						hist d0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/HLT
+						hist d0sig {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/HLT
+						hist deta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/HLT
+						hist deta1_EMEBA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/HLT
+						hist deta1_EMEBC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/HLT
+						hist deta1_EMECA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/HLT
+						hist deta1_EMECC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_triggerstep {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/HLT
+						hist deta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_hltreco {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/HLT
+						hist dphi2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist IsEmFailLoose {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/HLT
+						hist dphiresc {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist IsEmFailMedium {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/HLT
+						hist eprobht {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist IsEmFailTight {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/HLT
+						hist eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist IneffIsEmLoose {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/HLT
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist IneffIsEmMedium {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist IneffIsEmTight {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/HLT
+						hist ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist IsEmLHFailLoose {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/HLT
+						hist ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist IsEmLHFailMedium {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/HLT
+						hist f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist IsEmLHFailTight {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/HLT
+						hist f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-					}
-					dir L2Calo {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2Calo
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2Calo
+						hist npixhits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2Calo
+						hist nscthits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2Calo
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2Calo
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2Calo
+						hist ptcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2Calo
+						hist ptcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2Calo
+						hist ptvarcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2Calo
+						hist ptvarcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2Calo
+						hist rejection {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2Calo
+						hist topoetcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2Calo
+						hist topoetcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2Calo
+						hist topoetcone40_shift {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2Calo
+						hist topoetcone40_shift_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2Calo
+						hist weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2Calo
+						hist weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2Calo
+					}
+					dir RoI {
+						hist roi_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/RoI
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2Calo
+						hist roi_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Distributions/RoI
 							display     	= StatBox
 						}
 					}
-					dir L2 {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2
+				}
+				dir Efficiency {
+					dir EFCalo {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
 						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
 						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
 						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/L2
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
 					}
-					dir EFCalo {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/EFCalo
+					dir HLT {
+						hist FailisEMMedium {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/EFCalo
+						hist IneffisEMMedium {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/EFCalo
+						hist IneffisEMMediumTRT {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/EFCalo
+						hist IneffisEMMediumTrk {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/EFCalo
+						hist IneffisEMMediumTrkClus {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/EFCalo
+						hist coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/EFCalo
+						hist eff_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/EFCalo
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/EFCalo
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/EFCalo
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/EFCalo
+						hist eff_hltreco {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/EFCalo
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/EFCalo
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eff_triggerstep {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
 						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/EFCalo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
 						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/EFCalo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/EFCalo
+						hist match_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/EFCalo
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Efficiency/EFCalo
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-					}
-				}
-				dir Distributions {
-					dir Offline {
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+					}
+					dir L1Calo {
+						hist coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+						hist eff_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist topoetcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist topoetcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist deta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist deta1_EMECA {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist deta1_EMECC {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist deta1_EMEBA {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+						hist match_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist deta1_EMEBC {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist deta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist dphi2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist dphiresc {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist d0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist d0sig {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist eprobht {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist nscthits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist npixhits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist charge {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+					}
+					dir L2 {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist ptcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist ptcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist ptvarcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist ptvarcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist rejection {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2
 							display     	= StatBox
 						}
 						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2
 							display     	= StatBox
 						}
 						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/Offline
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2
 							display     	= StatBox
 						}
-					}
-					dir HLT {
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+					}
+					dir L2Calo {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist topoetcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist topoetcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist deta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist deta1_EMECA {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist deta1_EMECC {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist deta1_EMEBA {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist deta1_EMEBC {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist deta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist dphi2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist dphiresc {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist d0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist d0sig {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist eprobht {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist nscthits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist npixhits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+					}
+				}
+				dir Resolutions {
+					dir HLT {
+						hist res_Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist charge {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist res_Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist ptcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist res_Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist ptcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist res_Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist ptvarcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist res_d0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist ptvarcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist res_d0sig {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist rejection {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist res_deta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist res_deta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist res_dphi2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/HLT
+						hist res_dphiresc {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-					}
-					dir EFCalo {
-						hist energyBE0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/EFCalo
+						hist res_eprobht {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist energyBE1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/EFCalo
+						hist res_eprobhtVsPt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist energyBE2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/EFCalo
+						hist res_eprobht_onVsOff {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist energyBE3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/EFCalo
+						hist res_eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist energy {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/EFCalo
+						hist res_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eta_calo {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/EFCalo
+						hist res_etInEta0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist phi_calo {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/EFCalo
+						hist res_etInEta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/EFCalo
+						hist res_etInEta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/EFCalo
+						hist res_etInEta3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/EFCalo
+						hist res_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-					}
-					dir L2Electron {
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/L2Electron
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/L2Electron
+						hist res_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/L2Electron
+						hist res_ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist trkClusDeta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/L2Electron
+						hist res_ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist trkClusDphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/L2Electron
+						hist res_f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-					}
-					dir L2Calo {
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/L2Calo
+						hist res_f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/L2Calo
+						hist res_npixhits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Distributions/L2Calo
+						hist res_nscthits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-					}
-				}
-				dir Resolutions {
-					dir HLT {
-						hist res_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/HLT
+						hist res_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/HLT
+						hist res_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/HLT
+						hist res_weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/HLT
+						hist res_weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/HLT
+						hist res_wtots1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/HLT
+					}
+					dir L1Calo {
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/L1Calo
 							display     	= StatBox
 						}
-						hist res_ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/HLT
+					}
+					dir L2Calo_vs_HLT {
+						hist res_Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
 						hist res_Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
 						hist res_Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/HLT
+						hist res_Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/HLT
+						hist res_eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/HLT
+						hist res_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/HLT
+						hist res_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/HLT
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/HLT
+						hist res_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/HLT
+						hist res_ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/HLT
+						hist res_ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_deta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/HLT
+						hist res_f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_deta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/HLT
+						hist res_f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_dphi2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/HLT
+						hist res_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_dphiresc {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/HLT
+						hist res_weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_d0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/HLT
+						hist res_weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e18_medium_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_d0sig {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/HLT
+					}
+				}
+			}
+			dir HLT_e20_loose_ion {
+				dir AbsResolutions {
+					dir L1Calo {
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/AbsResolutions/L1Calo
 							display     	= StatBox
 						}
-						hist res_eprobht {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/HLT
+					}
+				}
+				dir Distributions {
+					dir EFCalo {
+						hist energy {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist res_nscthits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/HLT
+						hist energyBE0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist res_npixhits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/HLT
+						hist energyBE1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist res_etInEta0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/HLT
+						hist energyBE2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist res_etInEta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/HLT
+						hist energyBE3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist res_etInEta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/HLT
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist res_etInEta3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist res_wtots1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/HLT
+						hist eta_calo {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-					}
-					dir L2Calo_vs_HLT {
-						hist res_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/L2Calo_vs_HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/EFCalo
+							display     	= StatBox
+						}
+						hist phi_calo {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist res_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/L2Calo_vs_HLT
+					}
+					dir HLT {
+						hist Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/L2Calo_vs_HLT
+						hist Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/L2Calo_vs_HLT
+						hist Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/L2Calo_vs_HLT
+						hist Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/L2Calo_vs_HLT
+						hist charge {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/L2Calo_vs_HLT
+						hist d0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/L2Calo_vs_HLT
+						hist d0sig {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/L2Calo_vs_HLT
+						hist deta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/L2Calo_vs_HLT
+						hist deta1_EMEBA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/L2Calo_vs_HLT
+						hist deta1_EMEBC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/L2Calo_vs_HLT
+						hist deta1_EMECA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/L2Calo_vs_HLT
+						hist deta1_EMECC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/L2Calo_vs_HLT
+						hist deta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/L2Calo_vs_HLT
+						hist dphi2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist res_eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose/Resolutions/L2Calo_vs_HLT
+						hist dphiresc {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-					}
-				}
-			}
-			dir HLT_e17_lhloose {
-				dir Efficiency {
-					dir HLT {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/HLT
+						hist eprobht {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/HLT
+						hist eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/HLT
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/HLT
+						hist ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/HLT
+						hist ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/HLT
+						hist f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/HLT
+						hist f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/HLT
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/HLT
+						hist npixhits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/HLT
+						hist nscthits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
 						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/HLT
+						hist ptcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/HLT
+						hist ptcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/HLT
+						hist ptvarcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/HLT
+						hist ptvarcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/HLT
+						hist rejection {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/HLT
+						hist topoetcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/HLT
+						hist topoetcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/HLT
+						hist topoetcone40_shift {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_triggerstep {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/HLT
+						hist topoetcone40_shift_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_hltreco {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/HLT
+						hist weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
+							display     	= StatBox
+						}
+						hist weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist IsEmFailLoose {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/HLT
+					}
+					dir L1Calo {
+						hist emClusVsEmIsol {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist IsEmFailMedium {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/HLT
+						hist emClusVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist IsEmFailTight {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/HLT
+						hist emClusVsHadCore {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist IneffIsEmLoose {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/HLT
+						hist emIso {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist IneffIsEmMedium {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/HLT
+						hist energy {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist IneffIsEmTight {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist IsEmLHFailLoose {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/HLT
+						hist hadCore {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist IsEmLHFailMedium {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist IsEmLHFailTight {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/HLT
+						hist roi_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
 					}
 					dir L2Calo {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2Calo
-							display     	= StatBox
+						hist discriminant {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+						hist discriminantVsMu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+						dir discriminant_binned {
+							hist discriminantVsMu_et_0_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2Calo
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2Calo
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2Calo
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Calo
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2Calo
+					}
+					dir L2Electron {
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Electron
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2Calo
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Electron
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2Calo
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Electron
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2Calo
+						hist trkClusDeta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Electron
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2Calo
+						hist trkClusDphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/L2Electron
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2Calo
+					}
+					dir Offline {
+						hist Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2Calo
+						hist Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2Calo
+						hist Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2Calo
+						hist Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2Calo
+						hist charge {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2Calo
+						hist d0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2Calo
+						hist d0sig {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2Calo
+						hist deta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2Calo
+						hist deta1_EMEBA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-					}
-					dir L2 {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2
+						hist deta1_EMEBC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2
+						hist deta1_EMECA {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2
+						hist deta1_EMECC {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2
+						hist deta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2
+						hist dphi2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2
+						hist dphiresc {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2
+						hist eprobht {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2
+						hist eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2
+						hist ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2
+						hist ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2
+						hist f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2
+						hist f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
 						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2
-							display     	= StatBox
-						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2
+						hist npixhits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/L2
+						hist nscthits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-					}
-					dir EFCalo {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/EFCalo
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/EFCalo
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/EFCalo
+						hist ptcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/EFCalo
+						hist ptcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/EFCalo
+						hist ptvarcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/EFCalo
+						hist ptvarcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/EFCalo
+						hist rejection {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/EFCalo
+						hist topoetcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/EFCalo
+						hist topoetcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/EFCalo
+						hist topoetcone40_shift {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/EFCalo
+						hist topoetcone40_shift_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/EFCalo
+						hist weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/EFCalo
+						hist weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/EFCalo
+					}
+					dir RoI {
+						hist roi_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/RoI
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/EFCalo
+						hist roi_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Distributions/RoI
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/EFCalo
+					}
+				}
+				dir Efficiency {
+					dir EFCalo {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/EFCalo
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Efficiency/EFCalo
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-					}
-				}
-				dir Distributions {
-					dir Offline {
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist topoetcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist topoetcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
 						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
-							display     	= StatBox
-						}
-						hist deta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist deta1_EMECA {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+					}
+					dir HLT {
+						hist FailisEMLoose {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist deta1_EMECC {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist IneffisEMLoose {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist deta1_EMEBA {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist IneffisEMLooseTRT {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist deta1_EMEBC {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist IneffisEMLooseTrk {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist deta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist IneffisEMLooseTrkClus {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist dphi2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist dphiresc {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist eff_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist d0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist d0sig {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist eprobht {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist nscthits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist eff_hltreco {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist npixhits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist charge {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist ptcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist ptcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist eff_triggerstep {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist ptvarcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist ptvarcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist rejection {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist match_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/Offline
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-					}
-					dir HLT {
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+					}
+					dir L1Calo {
+						hist coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+						hist eff_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist topoetcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist topoetcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist deta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist deta1_EMECA {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist deta1_EMECC {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist deta1_EMEBA {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+						hist match_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist deta1_EMEBC {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist deta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist dphi2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist dphiresc {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist d0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist d0sig {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist eprobht {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist nscthits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist npixhits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist charge {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+					}
+					dir L2 {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist ptcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist ptcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist ptvarcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist ptvarcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist rejection {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
 						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
 						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/HLT
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-					}
-					dir EFCalo {
-						hist energyBE0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/EFCalo
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist energyBE1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/EFCalo
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist energyBE2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/EFCalo
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist energyBE3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/EFCalo
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist energy {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/EFCalo
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist eta_calo {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/EFCalo
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist phi_calo {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/EFCalo
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/EFCalo
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/EFCalo
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/EFCalo
+					}
+					dir L2Calo {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-					}
-					dir L2Electron {
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/L2Electron
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/L2Electron
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/L2Electron
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist trkClusDeta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/L2Electron
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist trkClusDphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/L2Electron
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-					}
-					dir L2Calo {
 						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/L2Calo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
 						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/L2Calo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Distributions/L2Calo
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-					}
-				}
-				dir Resolutions {
-					dir HLT {
-						hist res_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/HLT
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist res_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/HLT
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist res_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/HLT
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist res_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/HLT
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist res_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/HLT
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist res_ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/HLT
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist res_ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/HLT
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist res_Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist res_Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/HLT
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
+					}
+				}
+				dir Resolutions {
+					dir HLT {
 						hist res_Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/HLT
-							display     	= StatBox
-						}
-						hist res_Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/HLT
-							display     	= StatBox
-						}
-						hist res_weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/HLT
+						hist res_Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/HLT
+						hist res_Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/HLT
+						hist res_Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/HLT
+						hist res_d0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/HLT
+						hist res_d0sig {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
 						hist res_deta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
 						hist res_deta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
 						hist res_dphi2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
 						hist res_dphiresc {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_d0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/HLT
+						hist res_eprobht {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_d0sig {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/HLT
+						hist res_eprobhtVsPt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_eprobht {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/HLT
+						hist res_eprobht_onVsOff {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_nscthits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/HLT
+						hist res_eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_npixhits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/HLT
+						hist res_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
 						hist res_etInEta0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
 						hist res_etInEta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
 						hist res_etInEta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
 						hist res_etInEta3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/HLT
-							display     	= StatBox
-						}
-						hist res_wtots1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/HLT
-							display     	= StatBox
-						}
-					}
-					dir L2Calo_vs_HLT {
-						hist res_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/L2Calo_vs_HLT
-							display     	= StatBox
-						}
-						hist res_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/L2Calo_vs_HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/L2Calo_vs_HLT
+						hist res_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
 						hist res_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/L2Calo_vs_HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/L2Calo_vs_HLT
+						hist res_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
 						hist res_ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/L2Calo_vs_HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
 						hist res_ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/L2Calo_vs_HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/L2Calo_vs_HLT
+						hist res_f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/L2Calo_vs_HLT
+						hist res_f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/L2Calo_vs_HLT
+						hist res_npixhits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/L2Calo_vs_HLT
+						hist res_nscthits {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/L2Calo_vs_HLT
+						hist res_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/L2Calo_vs_HLT
+						hist res_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/L2Calo_vs_HLT
+						hist res_weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/L2Calo_vs_HLT
+						hist res_weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose/Resolutions/L2Calo_vs_HLT
+						hist res_wtots1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
 					}
-				}
-			}
-			dir HLT_e15_lhloose_nod0 {
-				dir Efficiency {
-					dir HLT {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/HLT
-							display     	= StatBox
-						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/HLT
-							display     	= StatBox
-						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/HLT
-							display     	= StatBox
-						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/HLT
-							display     	= StatBox
-						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/HLT
+					dir L1Calo {
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/L1Calo
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/HLT
+					}
+					dir L2Calo_vs_HLT {
+						hist res_Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/HLT
+						hist res_Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/HLT
+						hist res_Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/HLT
+						hist res_Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/HLT
+						hist res_eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/HLT
+						hist res_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/HLT
+						hist res_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/HLT
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/HLT
+						hist res_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/HLT
+						hist res_ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/HLT
+						hist res_ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/HLT
+						hist res_f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/HLT
+						hist res_f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist match_coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/HLT
+						hist res_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/HLT
+						hist res_weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist eff_coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/HLT
+						hist res_weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_e20_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist eff_triggerstep {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/HLT
+					}
+				}
+			}
+			dir HLT_g13_etcut_ion {
+				dir AbsResolutions {
+					dir L1Calo {
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/AbsResolutions/L1Calo
 							display     	= StatBox
 						}
-						hist eff_hltreco {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/HLT
+					}
+				}
+				dir Distributions {
+					dir EFCalo {
+						hist energy {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist IsEmFailLoose {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/HLT
+						hist energyBE0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist IsEmFailMedium {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/HLT
+						hist energyBE1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist IsEmFailTight {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/HLT
+						hist energyBE2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist IneffIsEmLoose {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/HLT
+						hist energyBE3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist IneffIsEmMedium {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/HLT
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist IneffIsEmTight {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist IsEmLHFailLoose {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/HLT
+						hist eta_calo {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist IsEmLHFailMedium {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist IsEmLHFailTight {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/HLT
+						hist phi_calo {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
 					}
-					dir L2Calo {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2Calo
+					dir HLT {
+						hist Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2Calo
+						hist Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2Calo
+						hist Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2Calo
+						hist Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2Calo
+						hist eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2Calo
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2Calo
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2Calo
+						hist ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2Calo
+						hist ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2Calo
+						hist f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2Calo
+						hist f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2Calo
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2Calo
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2Calo
+						hist rejection {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2Calo
+						hist topoetcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2Calo
+						hist topoetcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2Calo
+						hist topoetcone40_shift {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2Calo
+						hist topoetcone40_shift_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-					}
-					dir L2 {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2
+						hist weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2
+						hist weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2
+					}
+					dir L1Calo {
+						hist emClusVsEmIsol {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2
+						hist emClusVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2
+						hist emClusVsHadCore {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2
+						hist emIso {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2
+						hist energy {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2
+						hist hadCore {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2
+						hist roi_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2
+					}
+					dir L2Calo {
+						hist discriminant {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+						hist discriminantVsMu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+						dir discriminant_binned {
+							hist discriminantVsMu_et_0_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Calo
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2
+					}
+					dir L2Photon {
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Photon
 							display     	= StatBox
 						}
 						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Photon
 							display     	= StatBox
 						}
 						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/L2Photon
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/L2
+					}
+					dir Offline {
+						hist Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-					}
-					dir EFCalo {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/EFCalo
+						hist Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/EFCalo
+						hist Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/EFCalo
+						hist Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/EFCalo
+						hist eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/EFCalo
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/EFCalo
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/EFCalo
+						hist ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/EFCalo
+						hist ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/EFCalo
+						hist f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/EFCalo
+						hist f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/EFCalo
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/EFCalo
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/EFCalo
+						hist rejection {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/EFCalo
+						hist topoetcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/EFCalo
+						hist topoetcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/EFCalo
+						hist topoetcone40_shift {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/EFCalo
+						hist topoetcone40_shift_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Efficiency/EFCalo
+						hist weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+						hist weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/Offline
+							display     	= StatBox
+						}
+					}
+					dir RoI {
+						hist roi_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/RoI
+							display     	= StatBox
+						}
+						hist roi_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Distributions/RoI
 							display     	= StatBox
 						}
 					}
 				}
-				dir Distributions {
-					dir Offline {
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+				dir Efficiency {
+					dir EFCalo {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist topoetcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist topoetcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist deta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist deta1_EMECA {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist deta1_EMECC {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist deta1_EMEBA {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+					}
+					dir HLT {
+						hist coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist deta1_EMEBC {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist eff_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist deta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist dphi2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist dphiresc {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist d0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist d0sig {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist eprobht {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist nscthits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist npixhits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist charge {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist ptcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist match_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist ptcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist ptvarcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist ptvarcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist rejection {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
 						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/Offline
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/HLT
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
 					}
-					dir HLT {
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+					dir L1Calo {
+						hist coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist eff_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist match_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist topoetcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist topoetcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist deta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist deta1_EMECA {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist deta1_EMECC {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist deta1_EMEBA {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist deta1_EMEBC {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist deta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+					}
+					dir L2 {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist dphi2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist dphiresc {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist d0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist d0sig {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist eprobht {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist nscthits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist npixhits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist charge {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist ptcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist ptcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist ptvarcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist ptvarcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist rejection {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
 						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-					}
-					dir EFCalo {
-						hist energyBE0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/EFCalo
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist energyBE1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/EFCalo
+					}
+					dir L2Calo {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist energyBE2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/EFCalo
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist energyBE3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/EFCalo
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist energy {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/EFCalo
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist eta_calo {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/EFCalo
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist phi_calo {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/EFCalo
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
 						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/EFCalo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
 						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/EFCalo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/EFCalo
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-					}
-					dir L2Electron {
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/L2Electron
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/L2Electron
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/L2Electron
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist trkClusDeta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/L2Electron
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist trkClusDphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/L2Electron
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-					}
-					dir L2Calo {
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/L2Calo
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/L2Calo
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
 						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Distributions/L2Calo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
 					}
 				}
 				dir Resolutions {
 					dir HLT {
-						hist res_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/HLT
-							display     	= StatBox
-						}
-						hist res_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/HLT
+						hist res_Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/HLT
+						hist res_Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/HLT
+						hist res_Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/HLT
+						hist res_Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/HLT
+						hist res_cnv_etInEta0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/HLT
+						hist res_cnv_etInEta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/HLT
+						hist res_cnv_etInEta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/HLT
+						hist res_cnv_etInEta3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/HLT
+						hist res_cnv_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/HLT
+						hist res_cnv_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/HLT
+						hist res_eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/HLT
+						hist res_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/HLT
+						hist res_etInEta0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/HLT
+						hist res_etInEta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/HLT
+						hist res_etInEta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/HLT
+						hist res_etInEta3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_deta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/HLT
+						hist res_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_deta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/HLT
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_dphi2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/HLT
+						hist res_et_cnv {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_dphiresc {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/HLT
+						hist res_et_uncnv {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_d0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/HLT
+						hist res_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_d0sig {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/HLT
+						hist res_ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_eprobht {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/HLT
+						hist res_ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_nscthits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/HLT
+						hist res_f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_npixhits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/HLT
+						hist res_f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_etInEta0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/HLT
+						hist res_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_etInEta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/HLT
+						hist res_uncnv_etInEta0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_etInEta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/HLT
+						hist res_uncnv_etInEta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_etInEta3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/HLT
+						hist res_uncnv_etInEta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_wtots1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/HLT
+						hist res_uncnv_etInEta3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-					}
-					dir L2Calo_vs_HLT {
-						hist res_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+						hist res_uncnv_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+						hist res_uncnv_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+						hist res_weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+						hist res_weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+						hist res_wtots1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+					}
+					dir L1Calo {
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/L1Calo
 							display     	= StatBox
 						}
-						hist res_ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+					}
+					dir L2Calo_vs_HLT {
+						hist res_Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
 						hist res_Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
 						hist res_Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/L2Calo_vs_HLT
-							display     	= StatBox
-						}
-						hist res_Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
 						hist res_Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+						hist res_eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+						hist res_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+						hist res_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+						hist res_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-					}
-				}
-			}
-			dir HLT_e15_loose {
-				dir Efficiency {
-					dir HLT {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/HLT
+						hist res_ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/HLT
+						hist res_ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/HLT
+						hist res_f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/HLT
+						hist res_f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/HLT
+						hist res_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/HLT
+						hist res_weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/HLT
+						hist res_weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g13_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/HLT
+					}
+				}
+			}
+			dir HLT_g15_loose_ion {
+				dir AbsResolutions {
+					dir L1Calo {
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/AbsResolutions/L1Calo
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/HLT
+					}
+				}
+				dir Distributions {
+					dir EFCalo {
+						hist energy {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/HLT
+						hist energyBE0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/HLT
+						hist energyBE1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/HLT
+						hist energyBE2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/HLT
+						hist energyBE3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
 						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/HLT
-							display     	= StatBox
-						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
 						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/HLT
-							display     	= StatBox
-						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/HLT
-							display     	= StatBox
-						}
-						hist match_coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/HLT
+						hist eta_calo {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist eff_coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/HLT
+						hist phi_calo {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist eff_triggerstep {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/HLT
+					}
+					dir HLT {
+						hist Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_hltreco {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/HLT
+						hist Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist IsEmFailLoose {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/HLT
+						hist Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist IsEmFailMedium {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/HLT
+						hist Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist IsEmFailTight {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/HLT
+						hist eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist IneffIsEmLoose {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/HLT
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist IneffIsEmMedium {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist IneffIsEmTight {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/HLT
+						hist ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist IsEmLHFailLoose {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/HLT
+						hist ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist IsEmLHFailMedium {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/HLT
+						hist f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist IsEmLHFailTight {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/HLT
+						hist f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-					}
-					dir L2Calo {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2Calo
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2Calo
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2Calo
+						hist rejection {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2Calo
+						hist topoetcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2Calo
+						hist topoetcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2Calo
+						hist topoetcone40_shift {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2Calo
+						hist topoetcone40_shift_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2Calo
+						hist weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2Calo
+						hist weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2Calo
+					}
+					dir L1Calo {
+						hist emClusVsEmIsol {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2Calo
+						hist emClusVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2Calo
+						hist emClusVsHadCore {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2Calo
+						hist emIso {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2Calo
+						hist energy {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2Calo
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2Calo
+						hist hadCore {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
 						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2Calo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2Calo
+						hist roi_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
 					}
-					dir L2 {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2
-							display     	= StatBox
-						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2
-							display     	= StatBox
+					dir L2Calo {
+						hist discriminant {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+						hist discriminantVsMu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+						dir discriminant_binned {
+							hist discriminantVsMu_et_0_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Calo
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2
+					}
+					dir L2Photon {
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Photon
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Photon
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/L2Photon
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2
+					}
+					dir Offline {
+						hist Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2
+						hist Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2
+						hist Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2
+						hist Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2
+						hist eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
 						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2
-							display     	= StatBox
-						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
 						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2
-							display     	= StatBox
-						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/L2
-							display     	= StatBox
-						}
-					}
-					dir EFCalo {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/EFCalo
+						hist ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/EFCalo
+						hist ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/EFCalo
+						hist f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/EFCalo
+						hist f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/EFCalo
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/EFCalo
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/EFCalo
+						hist rejection {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/EFCalo
+						hist topoetcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/EFCalo
+						hist topoetcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/EFCalo
+						hist topoetcone40_shift {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/EFCalo
+						hist topoetcone40_shift_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/EFCalo
+						hist weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/EFCalo
+						hist weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/EFCalo
+					}
+					dir RoI {
+						hist roi_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/RoI
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/EFCalo
+						hist roi_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Distributions/RoI
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/EFCalo
+					}
+				}
+				dir Efficiency {
+					dir EFCalo {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/EFCalo
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Efficiency/EFCalo
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-					}
-				}
-				dir Distributions {
-					dir Offline {
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist topoetcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist topoetcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
 						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist deta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+					}
+					dir HLT {
+						hist coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist deta1_EMECA {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist eff_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist deta1_EMECC {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist deta1_EMEBA {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist deta1_EMEBC {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist deta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist dphi2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist dphiresc {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist d0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist d0sig {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist eprobht {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist nscthits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist match_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist npixhits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist charge {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist ptcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist ptcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist ptvarcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist ptvarcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist rejection {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/Offline
+					}
+					dir L1Calo {
+						hist coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-					}
-					dir HLT {
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist eff_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist match_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist topoetcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist topoetcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist deta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist deta1_EMECA {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist deta1_EMECC {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist deta1_EMEBA {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist deta1_EMEBC {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist deta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+					}
+					dir L2 {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist dphi2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist dphiresc {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist d0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist d0sig {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist eprobht {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist nscthits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist npixhits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist charge {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist ptcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist ptcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist ptvarcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist ptvarcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist rejection {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
 						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-					}
-					dir EFCalo {
-						hist energyBE0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/EFCalo
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist energyBE1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/EFCalo
+					}
+					dir L2Calo {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist energyBE2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/EFCalo
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist energyBE3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/EFCalo
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist energy {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/EFCalo
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist eta_calo {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/EFCalo
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist phi_calo {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/EFCalo
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
 						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/EFCalo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
 						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/EFCalo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/EFCalo
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-					}
-					dir L2Electron {
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/L2Electron
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/L2Electron
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/L2Electron
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist trkClusDeta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/L2Electron
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist trkClusDphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/L2Electron
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-					}
-					dir L2Calo {
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/L2Calo
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/L2Calo
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
 						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Distributions/L2Calo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2Calo
+							display     	= StatBox
+						}
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
 					}
 				}
 				dir Resolutions {
 					dir HLT {
-						hist res_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/HLT
-							display     	= StatBox
-						}
-						hist res_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/HLT
+						hist res_Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/HLT
+						hist res_Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/HLT
+						hist res_Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/HLT
+						hist res_Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/HLT
+						hist res_cnv_etInEta0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/HLT
+						hist res_cnv_etInEta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/HLT
+						hist res_cnv_etInEta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/HLT
+						hist res_cnv_etInEta3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/HLT
+						hist res_cnv_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/HLT
+						hist res_cnv_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/HLT
+						hist res_eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/HLT
+						hist res_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/HLT
+						hist res_etInEta0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/HLT
+						hist res_etInEta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/HLT
+						hist res_etInEta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/HLT
+						hist res_etInEta3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_deta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/HLT
+						hist res_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_deta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/HLT
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_dphi2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/HLT
+						hist res_et_cnv {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_dphiresc {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/HLT
+						hist res_et_uncnv {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_d0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/HLT
+						hist res_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_d0sig {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/HLT
+						hist res_ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_eprobht {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/HLT
+						hist res_ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_nscthits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/HLT
+						hist res_f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_npixhits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/HLT
+						hist res_f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_etInEta0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/HLT
+						hist res_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_etInEta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/HLT
+						hist res_uncnv_etInEta0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_etInEta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/HLT
+						hist res_uncnv_etInEta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_etInEta3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/HLT
+						hist res_uncnv_etInEta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_wtots1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/HLT
+						hist res_uncnv_etInEta3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-					}
-					dir L2Calo_vs_HLT {
-						hist res_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/L2Calo_vs_HLT
+						hist res_uncnv_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/L2Calo_vs_HLT
+						hist res_uncnv_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/L2Calo_vs_HLT
+						hist res_weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/L2Calo_vs_HLT
+						hist res_weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/L2Calo_vs_HLT
+						hist res_wtots1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/L2Calo_vs_HLT
+					}
+					dir L1Calo {
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/L1Calo
 							display     	= StatBox
 						}
-						hist res_ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/L2Calo_vs_HLT
+					}
+					dir L2Calo_vs_HLT {
+						hist res_Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
 						hist res_Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/L2Calo_vs_HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
 						hist res_Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/L2Calo_vs_HLT
-							display     	= StatBox
-						}
-						hist res_Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/L2Calo_vs_HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
 						hist res_Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/L2Calo_vs_HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/L2Calo_vs_HLT
+						hist res_eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/L2Calo_vs_HLT
+						hist res_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/L2Calo_vs_HLT
+						hist res_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/L2Calo_vs_HLT
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e15_loose/Resolutions/L2Calo_vs_HLT
+						hist res_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-					}
-				}
-			}
-			dir HLT_e17_lhloose_nod0 {
-				dir Efficiency {
-					dir HLT {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/HLT
+						hist res_ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/HLT
+						hist res_ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/HLT
+						hist res_f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/HLT
+						hist res_f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/HLT
+						hist res_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/HLT
+						hist res_weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/HLT
+						hist res_weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g15_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/HLT
+					}
+				}
+			}
+			dir HLT_g18_etcut_ion {
+				dir AbsResolutions {
+					dir L1Calo {
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/AbsResolutions/L1Calo
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/HLT
+					}
+				}
+				dir Distributions {
+					dir EFCalo {
+						hist energy {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/HLT
+						hist energyBE0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/HLT
+						hist energyBE1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/HLT
+						hist energyBE2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/HLT
+						hist energyBE3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
 						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/HLT
+						hist eta_calo {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
 						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/HLT
+						hist phi_calo {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist match_coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/HLT
+					}
+					dir HLT {
+						hist Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/HLT
+						hist Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/HLT
+						hist Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_triggerstep {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/HLT
+						hist Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_hltreco {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/HLT
+						hist eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist IsEmFailLoose {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/HLT
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist IsEmFailMedium {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist IsEmFailTight {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/HLT
+						hist ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist IneffIsEmLoose {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/HLT
+						hist ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist IneffIsEmMedium {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/HLT
+						hist f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist IneffIsEmTight {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/HLT
+						hist f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist IsEmLHFailLoose {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/HLT
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist IsEmLHFailMedium {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist IsEmLHFailTight {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/HLT
+						hist rejection {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-					}
-					dir L2Calo {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2Calo
+						hist topoetcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2Calo
+						hist topoetcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2Calo
+						hist topoetcone40_shift {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2Calo
+						hist topoetcone40_shift_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2Calo
+						hist weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2Calo
+						hist weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2Calo
+					}
+					dir L1Calo {
+						hist emClusVsEmIsol {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2Calo
+						hist emClusVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2Calo
+						hist emClusVsHadCore {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2Calo
+						hist emIso {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2Calo
+						hist energy {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2Calo
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2Calo
+						hist hadCore {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2Calo
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2Calo
+						hist roi_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2Calo
+					}
+					dir L2Calo {
+						hist discriminant {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+						hist discriminantVsMu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+						dir discriminant_binned {
+							hist discriminantVsMu_et_0_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+						}
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2Calo
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2Calo
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Calo
 							display     	= StatBox
 						}
 					}
-					dir L2 {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2
+					dir L2Photon {
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Photon
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Photon
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/L2Photon
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2
+					}
+					dir Offline {
+						hist Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2
+						hist Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2
+						hist Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2
+						hist Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2
+						hist eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2
+						hist ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2
+						hist ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2
+						hist f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2
+						hist f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
 						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2
+						hist rejection {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/L2
+						hist topoetcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-					}
-					dir EFCalo {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/EFCalo
+						hist topoetcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/EFCalo
+						hist topoetcone40_shift {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/EFCalo
+						hist topoetcone40_shift_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/EFCalo
+						hist weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/EFCalo
+						hist weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/EFCalo
+					}
+					dir RoI {
+						hist roi_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/RoI
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/EFCalo
+						hist roi_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Distributions/RoI
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/EFCalo
+					}
+				}
+				dir Efficiency {
+					dir EFCalo {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/EFCalo
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/EFCalo
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/EFCalo
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/EFCalo
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/EFCalo
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
 						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/EFCalo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/EFCalo
+							display     	= StatBox
+						}
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
 						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/EFCalo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/EFCalo
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/EFCalo
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Efficiency/EFCalo
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-					}
-				}
-				dir Distributions {
-					dir Offline {
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+					}
+					dir HLT {
+						hist coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+						hist eff_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist topoetcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist topoetcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist deta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist deta1_EMECA {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist deta1_EMECC {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+						hist match_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist deta1_EMEBA {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist deta1_EMEBC {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist deta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist dphi2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist dphiresc {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist d0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist d0sig {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist eprobht {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist nscthits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist npixhits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+					}
+					dir L1Calo {
+						hist coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist charge {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+						hist eff_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist ptcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist ptcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist ptvarcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist ptvarcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist rejection {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L1Calo
+							display     	= StatBox
+						}
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
 						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
 						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/Offline
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-					}
-					dir HLT {
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+						hist match_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+					}
+					dir L2 {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist topoetcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist topoetcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist deta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist deta1_EMECA {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist deta1_EMECC {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist deta1_EMEBA {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist deta1_EMEBC {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist deta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist dphi2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist dphiresc {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist d0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist d0sig {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist eprobht {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist nscthits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist npixhits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist charge {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+					}
+					dir L2Calo {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist ptcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist ptcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist ptvarcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist ptvarcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist rejection {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
 						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
 						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/HLT
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-					}
-					dir EFCalo {
-						hist energyBE0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/EFCalo
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist energyBE1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/EFCalo
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist energyBE2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/EFCalo
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist energyBE3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/EFCalo
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist energy {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/EFCalo
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist eta_calo {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/EFCalo
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist phi_calo {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/EFCalo
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/EFCalo
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/EFCalo
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/EFCalo
+					}
+				}
+				dir Resolutions {
+					dir HLT {
+						hist res_Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-					}
-					dir L2Electron {
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/L2Electron
+						hist res_Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/L2Electron
+						hist res_Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/L2Electron
+						hist res_cnv_etInEta0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist trkClusDeta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/L2Electron
+						hist res_cnv_etInEta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist trkClusDphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/L2Electron
+						hist res_cnv_etInEta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-					}
-					dir L2Calo {
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/L2Calo
+						hist res_cnv_etInEta3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/L2Calo
+						hist res_cnv_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Distributions/L2Calo
+						hist res_cnv_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-					}
-				}
-				dir Resolutions {
-					dir HLT {
-						hist res_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/HLT
+						hist res_eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/HLT
+						hist res_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/HLT
+						hist res_etInEta0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/HLT
+						hist res_etInEta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/HLT
+						hist res_etInEta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/HLT
+						hist res_etInEta3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/HLT
+						hist res_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/HLT
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/HLT
+						hist res_et_cnv {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/HLT
+						hist res_et_uncnv {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/HLT
+						hist res_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/HLT
+						hist res_ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/HLT
+						hist res_ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
 						hist res_f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
 						hist res_f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/HLT
+						hist res_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/HLT
+						hist res_uncnv_etInEta0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_deta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/HLT
+						hist res_uncnv_etInEta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_deta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/HLT
+						hist res_uncnv_etInEta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_dphi2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/HLT
+						hist res_uncnv_etInEta3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_dphiresc {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/HLT
+						hist res_uncnv_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_d0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/HLT
+						hist res_uncnv_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_d0sig {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/HLT
+						hist res_weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_eprobht {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/HLT
+						hist res_weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_nscthits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/HLT
+						hist res_wtots1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_npixhits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/HLT
+					}
+					dir L1Calo {
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/L1Calo
 							display     	= StatBox
 						}
-						hist res_etInEta0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/HLT
+					}
+					dir L2Calo_vs_HLT {
+						hist res_Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_etInEta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/HLT
+						hist res_Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_etInEta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/HLT
+						hist res_Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_etInEta3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/HLT
+						hist res_Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_wtots1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/HLT
+						hist res_eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-					}
-					dir L2Calo_vs_HLT {
 						hist res_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/L2Calo_vs_HLT
-							display     	= StatBox
-						}
-						hist res_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+						hist res_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
 						hist res_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+						hist res_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
 						hist res_ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
 						hist res_ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/L2Calo_vs_HLT
-							display     	= StatBox
-						}
-						hist res_Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+						hist res_f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+						hist res_f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+						hist res_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
 						hist res_weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
 						hist res_weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/L2Calo_vs_HLT
-							display     	= StatBox
-						}
-						hist res_f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/L2Calo_vs_HLT
-							display     	= StatBox
-						}
-						hist res_f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/L2Calo_vs_HLT
-							display     	= StatBox
-						}
-						hist res_eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e17_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g18_etcut_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
 					}
 				}
 			}
-			dir HLT_e22_lhloose_nod0 {
-				dir Efficiency {
-					dir HLT {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/HLT
-							display     	= StatBox
-						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/HLT
+			dir HLT_g20_loose_ion {
+				dir AbsResolutions {
+					dir L1Calo {
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/AbsResolutions/L1Calo
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/HLT
+					}
+				}
+				dir Distributions {
+					dir EFCalo {
+						hist energy {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/HLT
+						hist energyBE0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/HLT
+						hist energyBE1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/HLT
+						hist energyBE2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/HLT
+						hist energyBE3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/HLT
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/HLT
+						hist eta_calo {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/HLT
+						hist phi_calo {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/EFCalo
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/HLT
+					}
+					dir HLT {
+						hist Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/HLT
+						hist Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/HLT
+						hist Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/HLT
+						hist Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/HLT
+						hist eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/HLT
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist match_coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/HLT
+						hist ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_coarse_et_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/HLT
+						hist ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_triggerstep {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/HLT
+						hist f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist eff_hltreco {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/HLT
+						hist f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist IsEmFailLoose {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/HLT
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist IsEmFailMedium {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist IsEmFailTight {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/HLT
+						hist rejection {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist IneffIsEmLoose {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/HLT
+						hist topoetcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist IneffIsEmMedium {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/HLT
+						hist topoetcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist IneffIsEmTight {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/HLT
+						hist topoetcone40_shift {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist IsEmLHFailLoose {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/HLT
+						hist topoetcone40_shift_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist IsEmLHFailMedium {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/HLT
+						hist weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
-						hist IsEmLHFailTight {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/HLT
+						hist weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/HLT
 							display     	= StatBox
 						}
 					}
-					dir L2Calo {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2Calo
+					dir L1Calo {
+						hist emClusVsEmIsol {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2Calo
+						hist emClusVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2Calo
+						hist emClusVsHadCore {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2Calo
+						hist emIso {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2Calo
+						hist energy {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2Calo
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2Calo
+						hist hadCore {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2Calo
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2Calo
+						hist roi_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L1Calo
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2Calo
-							display     	= StatBox
+					}
+					dir L2Calo {
+						hist discriminant {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+						hist discriminantVsMu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo
+							display     	= StatBox
+						}
+						dir discriminant_binned {
+							hist discriminantVsMu_et_0_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_0_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_1_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_2_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_3_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminantVsMu_et_4_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_0_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_1_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_2_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_3_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_0 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_1 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_2 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_3 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
+							hist discriminant_et_4_eta_4 {
+								algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+								description 	= DQWebdisplay ATR-18760
+								output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo/discriminant_binned
+								display     	= StatBox
+							}
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2Calo
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2Calo
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2Calo
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Calo
 							display     	= StatBox
 						}
+					}
+					dir L2Photon {
 						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2Calo
-							display     	= StatBox
-						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2Calo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Photon
 							display     	= StatBox
 						}
 						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2Calo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Photon
 							display     	= StatBox
 						}
 						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2Calo
-							display     	= StatBox
-						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2Calo
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/L2Photon
 							display     	= StatBox
 						}
 					}
-					dir L2 {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2
-							display     	= StatBox
-						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2
+					dir Offline {
+						hist Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2
+						hist Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2
+						hist Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2
+						hist Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2
+						hist eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2
+						hist ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2
+						hist ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2
+						hist f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2
+						hist f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2
+						hist rejection {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2
+						hist topoetcone20 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2
+						hist topoetcone20_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/L2
+						hist topoetcone40_shift {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-					}
-					dir EFCalo {
-						hist eff_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/EFCalo
+						hist topoetcone40_shift_rel {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/EFCalo
+						hist weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/EFCalo
+						hist weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/Offline
 							display     	= StatBox
 						}
-						hist eff_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/EFCalo
+					}
+					dir RoI {
+						hist roi_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/RoI
 							display     	= StatBox
 						}
-						hist eff_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/EFCalo
+						hist roi_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Distributions/RoI
 							display     	= StatBox
 						}
-						hist eff_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/EFCalo
+					}
+				}
+				dir Efficiency {
+					dir EFCalo {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist match_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/EFCalo
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist match_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/EFCalo
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist match_highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/EFCalo
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist match_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/EFCalo
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist match_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/EFCalo
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist match_mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/EFCalo
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/EFCalo
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/EFCalo
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/EFCalo
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/EFCalo
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/EFCalo
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist mu {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Efficiency/EFCalo
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-					}
-				}
-				dir Distributions {
-					dir Offline {
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/EFCalo
 							display     	= StatBox
 						}
-						hist f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+					}
+					dir HLT {
+						hist coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+						hist eff_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist topoetcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist topoetcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist deta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist deta1_EMECA {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+						hist match_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist deta1_EMECC {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist deta1_EMEBA {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist deta1_EMEBC {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist deta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist dphi2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist dphiresc {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist d0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist d0sig {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist eprobht {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/HLT
 							display     	= StatBox
 						}
-						hist nscthits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+					}
+					dir L1Calo {
+						hist coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist npixhits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+						hist eff_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist charge {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist ptcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist ptcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist ptvarcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist ptvarcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist rejection {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
 						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
 						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/Offline
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-					}
-					dir HLT {
-						hist highet {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+						hist match_coarse_et_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L1Calo
 							display     	= StatBox
 						}
-						hist Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+					}
+					dir L2 {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist topoetcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist topoetcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist deta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist deta1_EMECA {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+						hist et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist deta1_EMECC {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+						hist eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist deta1_EMEBA {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist deta1_EMEBC {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist deta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist dphi2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist dphiresc {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist d0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist d0sig {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist eprobht {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist nscthits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist npixhits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2
 							display     	= StatBox
 						}
-						hist charge {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+					}
+					dir L2Calo {
+						hist eff_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist ptcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+						hist eff_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist ptcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+						hist eff_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist ptvarcone20 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+						hist eff_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist ptvarcone20_rel {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+						hist eff_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist rejection {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+						hist eff_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
 						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
 						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/HLT
+						hist highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-					}
-					dir EFCalo {
-						hist energyBE0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/EFCalo
+						hist match_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist energyBE1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/EFCalo
+						hist match_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist energyBE2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/EFCalo
+						hist match_highet {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist energyBE3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/EFCalo
+						hist match_mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist energy {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/EFCalo
+						hist match_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist eta_calo {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/EFCalo
+						hist match_pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist phi_calo {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/EFCalo
+						hist mu {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/EFCalo
+						hist phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/EFCalo
+						hist pt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Efficiency/L2Calo
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/EFCalo
+					}
+				}
+				dir Resolutions {
+					dir HLT {
+						hist res_Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-					}
-					dir L2Electron {
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/L2Electron
+						hist res_Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/L2Electron
+						hist res_Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/L2Electron
+						hist res_Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist trkClusDeta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/L2Electron
+						hist res_cnv_etInEta0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist trkClusDphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/L2Electron
+						hist res_cnv_etInEta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-					}
-					dir L2Calo {
-						hist et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/L2Calo
+						hist res_cnv_etInEta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/L2Calo
+						hist res_cnv_etInEta3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Distributions/L2Calo
+						hist res_cnv_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-					}
-				}
-				dir Resolutions {
-					dir HLT {
-						hist res_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/HLT
+						hist res_cnv_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/HLT
+						hist res_eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/HLT
+						hist res_et {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/HLT
+						hist res_etInEta0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/HLT
+						hist res_etInEta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/HLT
+						hist res_etInEta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/HLT
+						hist res_etInEta3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/HLT
+						hist res_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/HLT
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/HLT
+						hist res_et_cnv {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/HLT
+						hist res_et_uncnv {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/HLT
+						hist res_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/HLT
+						hist res_ethad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
+							display     	= StatBox
+						}
+						hist res_ethad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
 						hist res_f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
 						hist res_f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/HLT
+						hist res_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_pt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/HLT
+						hist res_uncnv_etInEta0 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_deta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/HLT
+						hist res_uncnv_etInEta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_deta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/HLT
+						hist res_uncnv_etInEta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_dphi2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/HLT
+						hist res_uncnv_etInEta3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_dphiresc {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/HLT
+						hist res_uncnv_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_d0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/HLT
+						hist res_uncnv_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_d0sig {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/HLT
+						hist res_weta1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_eprobht {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/HLT
+						hist res_weta2 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_nscthits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/HLT
+						hist res_wtots1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/HLT
 							display     	= StatBox
 						}
-						hist res_npixhits {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/HLT
+					}
+					dir L1Calo {
+						hist res_etVsEta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/L1Calo
 							display     	= StatBox
 						}
-						hist res_etInEta0 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/HLT
+					}
+					dir L2Calo_vs_HLT {
+						hist res_Reta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_etInEta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/HLT
+						hist res_Rhad {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_etInEta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/HLT
+						hist res_Rhad1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_etInEta3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/HLT
+						hist res_Rphi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_wtots1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/HLT
+						hist res_eratio {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-					}
-					dir L2Calo_vs_HLT {
 						hist res_et {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/L2Calo_vs_HLT
-							display     	= StatBox
-						}
-						hist res_eta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_phi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+						hist res_etVsEt {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
 						hist res_etVsEta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_etVsEt {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+						hist res_eta {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
 						hist res_ethad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
 						hist res_ethad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_Rhad {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/L2Calo_vs_HLT
-							display     	= StatBox
-						}
-						hist res_Rhad1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+						hist res_f1 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_Reta {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+						hist res_f3 {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
-						hist res_Rphi {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+						hist res_phi {
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
 						hist res_weta1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
 						hist res_weta2 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/L2Calo_vs_HLT
-							display     	= StatBox
-						}
-						hist res_f1 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/L2Calo_vs_HLT
-							display     	= StatBox
-						}
-						hist res_f3 {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/L2Calo_vs_HLT
-							display     	= StatBox
-						}
-						hist res_eratio {
-							algorithm   	= HLT_Histogram_Not_Empty&GatherData
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-							output      	= HLT/TREG/Expert/HLT_e22_lhloose_nod0/Resolutions/L2Calo_vs_HLT
+							algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+							description 	= DQWebdisplay ATR-18760
+							output      	= HLT/TREG/Expert/HLT_g20_loose_ion/Resolutions/L2Calo_vs_HLT
 							display     	= StatBox
 						}
 					}
@@ -15711,342 +28371,361 @@ dir HLT {
 			}
 		}
 		dir Shifter {
-			dir primary_single_pho {
-				hist eff_et {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Shifter/primary_single_pho
-					display     	= StatBox
-				}
-				hist eff_eta {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Shifter/primary_single_pho
-					display     	= StatBox
-				}
-				hist eff_mu {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Shifter/primary_single_pho
-					display     	= StatBox
-				}
-				hist et {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Shifter/primary_single_pho
-					display     	= StatBox
-				}
-				hist eta {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Shifter/primary_single_pho
-					display     	= StatBox
-				}
+			dir primary_single_ele {
 				hist Reta {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Shifter/primary_single_pho
-					display     	= StatBox
-				}
-				hist Rphi {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Shifter/primary_single_pho
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
+					output      	= HLT/TREG/Shifter/primary_single_ele
 					display     	= StatBox
 				}
 				hist Rhad {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Shifter/primary_single_pho
-					display     	= StatBox
-				}
-				hist f1 {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Shifter/primary_single_pho
-					display     	= StatBox
-				}
-				hist f3 {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Shifter/primary_single_pho
-					display     	= StatBox
-				}
-				hist eratio {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Shifter/primary_single_pho
-					display     	= StatBox
-				}
-				hist res_et {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Shifter/primary_single_pho
-					display     	= StatBox
-				}
-				hist res_Rphi {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Shifter/primary_single_pho
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
+					output      	= HLT/TREG/Shifter/primary_single_ele
 					display     	= StatBox
 				}
-				hist res_Reta {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Shifter/primary_single_pho
+				hist Rphi {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
+					output      	= HLT/TREG/Shifter/primary_single_ele
 					display     	= StatBox
 				}
-				hist res_Rhad {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Shifter/primary_single_pho
+				hist deta2 {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
+					output      	= HLT/TREG/Shifter/primary_single_ele
 					display     	= StatBox
 				}
-			}
-			dir primary_single_ele {
 				hist eff_et {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele
 					display     	= StatBox
 				}
 				hist eff_eta {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Shifter/primary_single_ele
-					display     	= StatBox
-				}
-				hist eff_mu {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele
 					display     	= StatBox
 				}
-				hist et {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+				hist eff_highet {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele
 					display     	= StatBox
 				}
-				hist eta {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+				hist eff_mu {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele
 					display     	= StatBox
 				}
-				hist Reta {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+				hist eratio {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele
 					display     	= StatBox
 				}
-				hist Rphi {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+				hist et {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele
 					display     	= StatBox
 				}
-				hist Rhad {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+				hist eta {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele
 					display     	= StatBox
 				}
 				hist f1 {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele
 					display     	= StatBox
 				}
 				hist f3 {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Shifter/primary_single_ele
-					display     	= StatBox
-				}
-				hist eratio {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
-					output      	= HLT/TREG/Shifter/primary_single_ele
-					display     	= StatBox
-				}
-				hist deta2 {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele
 					display     	= StatBox
 				}
 				hist npixhits {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele
 					display     	= StatBox
 				}
 				hist nscthits {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele
 					display     	= StatBox
 				}
 				hist ptvarcone20 {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele
 					display     	= StatBox
 				}
-				hist res_et {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+				hist res_Reta {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele
 					display     	= StatBox
 				}
-				hist res_Rphi {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+				hist res_Rhad {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele
 					display     	= StatBox
 				}
-				hist res_Reta {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+				hist res_Rphi {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele
 					display     	= StatBox
 				}
-				hist res_Rhad {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+				hist res_deta2 {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele
 					display     	= StatBox
 				}
-				hist res_deta2 {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+				hist res_et {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele
 					display     	= StatBox
 				}
 			}
 			dir primary_single_ele_cutbased {
-				hist eff_et {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+				hist Reta {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele_cutbased
 					display     	= StatBox
 				}
-				hist eff_eta {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+				hist Rhad {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele_cutbased
 					display     	= StatBox
 				}
-				hist eff_mu {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+				hist Rphi {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele_cutbased
 					display     	= StatBox
 				}
-				hist et {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+				hist deta2 {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele_cutbased
 					display     	= StatBox
 				}
-				hist eta {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+				hist eff_et {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele_cutbased
 					display     	= StatBox
 				}
-				hist Reta {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+				hist eff_eta {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele_cutbased
 					display     	= StatBox
 				}
-				hist Rphi {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+				hist eff_highet {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele_cutbased
 					display     	= StatBox
 				}
-				hist Rhad {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+				hist eff_mu {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele_cutbased
 					display     	= StatBox
 				}
-				hist f1 {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+				hist eratio {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele_cutbased
 					display     	= StatBox
 				}
-				hist f3 {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+				hist et {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele_cutbased
 					display     	= StatBox
 				}
-				hist eratio {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+				hist eta {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele_cutbased
 					display     	= StatBox
 				}
-				hist deta2 {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+				hist f1 {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
+					output      	= HLT/TREG/Shifter/primary_single_ele_cutbased
+					display     	= StatBox
+				}
+				hist f3 {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele_cutbased
 					display     	= StatBox
 				}
 				hist npixhits {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele_cutbased
 					display     	= StatBox
 				}
 				hist nscthits {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele_cutbased
 					display     	= StatBox
 				}
 				hist ptvarcone20 {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele_cutbased
 					display     	= StatBox
 				}
-				hist res_et {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+				hist res_Reta {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele_cutbased
 					display     	= StatBox
 				}
-				hist res_Rphi {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+				hist res_Rhad {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele_cutbased
 					display     	= StatBox
 				}
-				hist res_Reta {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+				hist res_Rphi {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele_cutbased
 					display     	= StatBox
 				}
-				hist res_Rhad {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+				hist res_deta2 {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele_cutbased
 					display     	= StatBox
 				}
-				hist res_deta2 {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/TrigEgammaDataQualityAndMonitoring
+				hist res_et {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
 					output      	= HLT/TREG/Shifter/primary_single_ele_cutbased
 					display     	= StatBox
 				}
 			}
+			dir primary_single_pho {
+				hist Reta {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
+					output      	= HLT/TREG/Shifter/primary_single_pho
+					display     	= StatBox
+				}
+				hist Rhad {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
+					output      	= HLT/TREG/Shifter/primary_single_pho
+					display     	= StatBox
+				}
+				hist Rphi {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
+					output      	= HLT/TREG/Shifter/primary_single_pho
+					display     	= StatBox
+				}
+				hist eff_et {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
+					output      	= HLT/TREG/Shifter/primary_single_pho
+					display     	= StatBox
+				}
+				hist eff_eta {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
+					output      	= HLT/TREG/Shifter/primary_single_pho
+					display     	= StatBox
+				}
+				hist eff_highet {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
+					output      	= HLT/TREG/Shifter/primary_single_pho
+					display     	= StatBox
+				}
+				hist eff_mu {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
+					output      	= HLT/TREG/Shifter/primary_single_pho
+					display     	= StatBox
+				}
+				hist eratio {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
+					output      	= HLT/TREG/Shifter/primary_single_pho
+					display     	= StatBox
+				}
+				hist et {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
+					output      	= HLT/TREG/Shifter/primary_single_pho
+					display     	= StatBox
+				}
+				hist eta {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
+					output      	= HLT/TREG/Shifter/primary_single_pho
+					display     	= StatBox
+				}
+				hist f1 {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
+					output      	= HLT/TREG/Shifter/primary_single_pho
+					display     	= StatBox
+				}
+				hist f3 {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
+					output      	= HLT/TREG/Shifter/primary_single_pho
+					display     	= StatBox
+				}
+				hist res_Reta {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
+					output      	= HLT/TREG/Shifter/primary_single_pho
+					display     	= StatBox
+				}
+				hist res_Rhad {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
+					output      	= HLT/TREG/Shifter/primary_single_pho
+					display     	= StatBox
+				}
+				hist res_Rphi {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
+					output      	= HLT/TREG/Shifter/primary_single_pho
+					display     	= StatBox
+				}
+				hist res_et {
+					algorithm   	= HLT_Histogram_Not_Empty_with_Ref&GatherData
+					description 	= DQWebdisplay ATR-18760
+					output      	= HLT/TREG/Shifter/primary_single_pho
+					display     	= StatBox
+				}
+			}
 		}
 	}
 }
+
diff --git a/DataQuality/DataQualityConfigurations/config/HLT/HLTjet/heavyions_run.config b/DataQuality/DataQualityConfigurations/config/HLT/HLTjet/heavyions_run.config
index 480bfd91ce71..94b6786151f3 100644
--- a/DataQuality/DataQualityConfigurations/config/HLT/HLTjet/heavyions_run.config
+++ b/DataQuality/DataQualityConfigurations/config/HLT/HLTjet/heavyions_run.config
@@ -24,49 +24,52 @@ reference HLTJetRef {
 
 
 output top_level {
-#  algorithm = HLTjetWorstCaseSummary
-#  algorithm = HLTjetSimpleSummary
 
   output HLT {
 
     ## Begin TRJET
     output TRJET {
 
-      #algorithm = HLTjetWorstCaseSummary
-      #algorithm = HLTjetSimpleSummary
-
       output EXPERT {
       	output HLT {
-          output a4tcemsubjesFS {
+          output j85_ion_TE50 {
 	  }
-	  output j30_ion_L1TE20 {
+	  output j85_ion_L1J20 {
 	  }
-	  output j30_L1TE20 {
+	  output j100_ion_L1J30 {
 	  }
-  	  output j100_ion_L1J20 {
+  	  output j110_ion_L1J30 {
 	  }
-  	  output j150_ion_L1J30 {
+  	  output j120_ion_L1J30 {
 	  }
-  	  output j100_L1J20 {
+  	  output j50_320eta490_ion {
 	  }
-  	  output j150_L1J30 {
+  	  output j60_320eta490_ion {
 	  }
-  	  output j45_320eta490_ion {
+  	  output j70_320eta490_ion {
 	  }
-  	  output j45_320eta490 {
+  	  output mu4_j30_a2_ion_dr05 {
 	  }
-  	  output j50_ion_2j30_ion_0eta490_L1J10 {
+  	  output mu4_j40_a2_ion_dr05 {
 	  }
-  	  output j50_2j30_0eta490_L1J10 {
+  	  output mu4_j30_a2_ion {
 	  }	 
+	  output mu4_j40_a2_ion {
+	  }
 	} ## End HLT
 	output L1 {
 	  output L1_J20 {
+ 	  }
+	  output L1_J30 {
  	  }  
 	  output L1_TE50 {
- 	  }  
+ 	  }
+	  output L1_J15.31ETA49 {
+ 	  }
+	  output L1_J20.31ETA49 {
+ 	  }
 	} ## End L1
-	output OF {
+	output Collections {
 	  output AntiKt4HIJets {
           }
 	} ## End OF
@@ -75,17 +78,19 @@ output top_level {
       output SHIFTER {
 	output HLT {
 	  output a4ionemsubjesFS {
-	  }
-	  output j75_ion_L1J20 {
-	  }
-	  output j75_L1J20 {
+	  }	
+	  output j85_ion_L1TE50 {
 	  }
 	  output j85_ion_L1J20 {
 	  }
-	  output j85_L1J20 {
-	  }
 	} ## End HLT
 	output L1 {
+	  output L1_J20 {
+	  }
+	  output L1_J30 {
+	  }
+	  output L1_TE50 {
+ 	  }
 	} ## End L1
 
       } ## End SHIFTER
@@ -93,7 +98,6 @@ output top_level {
     } ## End TRJET
 
   } ## End HLT
-
 } ## End top_level
 
 
@@ -143,107 +147,833 @@ dir HLT {
         output = HLT/TRJET/EXPERT/L1
       }
       dir L1_J20 {
-        hist .* {
-          regex = 1
+        hist L1Jet_n@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output =  HLT/TRJET/EXPERT/L1/L1_J20
+        }
+        hist L1Jet_Et@Expert {
           algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
           output = HLT/TRJET/EXPERT/L1/L1_J20
-      	}
-      }
+          description = The distribution should not be broad. Check with reference when available.
+        }
+        hist L1Jet_eta@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/L1/L1_J20
+        }
+        hist L1Jet_phi@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/L1/L1_J20
+        }
+        hist L1Jet_phi_vs_eta@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/L1/L1_J20
+          description = Particular attention should be payed in checking hot regions. The distribution should not have peaks.
+        }
+        hist L1Jet_E_vs_eta@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/L1/L1_J20
+        }
+        hist L1Jet_E_vs_phi@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/L1/L1_J20
+        }
+        hist L1Sigma_vs_LB@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/L1/L1_J20
+        }
+      } ## End L1_J20
+      dir L1_J30 {
+        hist L1Jet_n@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output =  HLT/TRJET/EXPERT/L1/L1_J30
+        }
+        hist L1Jet_Et@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/L1/L1_J30
+          description = The distribution should not be broad. Check with reference when available.
+        }
+        hist L1Jet_eta@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/L1/L1_J30
+        }
+        hist L1Jet_phi@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/L1/L1_J30
+        }
+        hist L1Jet_phi_vs_eta@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/L1/L1_J30
+          description = Particular attention should be payed in checking hot regions. The distribution should not have peaks.
+        }
+        hist L1Jet_E_vs_eta@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/L1/L1_J30
+        }
+        hist L1Jet_E_vs_phi@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/L1/L1_J30
+        }
+        hist L1Sigma_vs_LB@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/L1/L1_J30
+        }
+      } ## End L1_J30
       dir L1_TE50 {
-        hist .* {
-          regex = 1
+        hist L1Jet_n@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output =  HLT/TRJET/EXPERT/L1/L1_TE50
+        }
+        hist L1Jet_Et@Expert {
           algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
           output = HLT/TRJET/EXPERT/L1/L1_TE50
-      	}
-      }
+          description = The distribution should not be broad. Check with reference when available.
+        }
+        hist L1Jet_eta@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/L1/L1_TE50
+        }
+        hist L1Jet_phi@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/L1/L1_TE50
+        }
+        hist L1Jet_phi_vs_eta@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/L1/L1_TE50
+          description = Particular attention should be payed in checking hot regions. The distribution should not have peaks.
+        }
+        hist L1Jet_E_vs_eta@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/L1/L1_TE50
+        }
+        hist L1Jet_E_vs_phi@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/L1/L1_TE50
+        }
+        hist L1Sigma_vs_LB@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/L1/L1_TE50
+        }
+      } ## End L1_TE50
+      dir L1_J15.31ETA49 {
+        hist L1Jet_n@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output =  HLT/TRJET/EXPERT/L1/L1_J15.31ETA49
+        }
+        hist L1Jet_Et@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/L1/L1_J15.31ETA49
+          description = The distribution should not be broad. Check with reference when available.
+        }
+        hist L1Jet_eta@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/L1/L1_J15.31ETA49
+        }
+        hist L1Jet_phi@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/L1/L1_J15.31ETA49
+        }
+        hist L1Jet_phi_vs_eta@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/L1/L1_J15.31ETA49
+          description = Particular attention should be payed in checking hot regions. The distribution should not have peaks.
+        }
+        hist L1Jet_E_vs_eta@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/L1/L1_J15.31ETA49
+        }
+        hist L1Jet_E_vs_phi@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/L1/L1_J15.31ETA49
+        }
+        hist L1Sigma_vs_LB@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/L1/L1_J15.31ETA49
+        }
+      } ## End L1_J15.31ETA49
+      dir L1_J20.31ETA49 {
+        hist L1Jet_n@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output =  HLT/TRJET/EXPERT/L1/L1_J20.31ETA49
+        }
+        hist L1Jet_Et@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/L1/L1_J20.31ETA49
+          description = The distribution should not be broad. Check with reference when available.
+        }
+        hist L1Jet_eta@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/L1/L1_J20.31ETA49
+        }
+        hist L1Jet_phi@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/L1/L1_J20.31ETA49
+        }
+        hist L1Jet_phi_vs_eta@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/L1/L1_J20.31ETA49
+          description = Particular attention should be payed in checking hot regions. The distribution should not have peaks.
+        }
+        hist L1Jet_E_vs_eta@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/L1/L1_J20.31ETA49
+        }
+        hist L1Jet_E_vs_phi@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/L1/L1_J20.31ETA49
+        }
+        hist L1Sigma_vs_LB@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/L1/L1_J20.31ETA49
+        }
+      } ## End L1_J20.31ETA49
     } ## End L1
   } ##End JetMon
 } ##End HLT
 
 
 ############################## HLT ###################################
+# Need to directly reference the histograms to avoid a loss of the reference histograms.
+######################################################################
+
 dir HLT {
   dir JetMon {
     dir HLT {
-      dir a4tcemsubjesFS {
-        hist .* {
-          regex = 1
+      dir j85_ion_TE50 {
+        hist HLTJet_n@Expert {
+          display = LogY
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j85_ion_TE50
+          description = Red means: mean of the histogram different from reference. NJet plot: this plot should be close to the reference. Red can be due to: 1) Low statistics wrt reference. 2) Current bunch spacing different from reference. 3) Strange shape. i.e. bumps at high multiplicity.
+      	}
+      	hist HLTJet_Et@Expert {
+          display = LogY
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j85_ion_TE50
+          description = Red means: mean of the histogram different from reference. Et plot: This plot should be close to the reference. Red can be due to: 1) The histogram threshold is not the same as HLT threshold. 2) Slope of the histogram significantly different from reference. 3) Strange shape, i.e. bumps at high Et.
+      	}
+      	hist HLTJet_eta@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j85_ion_TE50
+          description = Red means: mean of the histogram different from reference. Eta plot: this plot should be symmetrical. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference.
+      	}
+      	hist HLTJet_phi@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j85_ion_TE50
+          description = Red means: mean of the histogram different from reference. Phi plot: this plot should be symmetrical and flat. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference. 3) Hotspots. i.e bins higher than average.
+      	}
+      	hist HLTJet_phi_vs_eta@Expert {
+          algorithm = HLTjet_Bins_Diff_FromAvg
+          output = HLT/TRJET/EXPERT/HLT/j85_ion_TE50
+          description = Red means: A critical number (1) bins is greater than average. Eta vs Phi plot: this distribution should not show hotspots. Check that there is sufficient statistics to claim an hotspot.
+      	}
+       	hist HLTJet_E_vs_eta@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/j85_ion_TE50
+      	}
+       	hist HLTJet_E_vs_phi@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/j85_ion_TE50
+      	}
+      	hist HLTJet_phi_vs_eta_LAr@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/j85_ion_TE50
+      	}	  	
+	hist HLTJet_emfrac@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j85_ion_TE50
+      	}
+	hist HLTJet_hecfrac@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j85_ion_TE50
+      	}
+	hist HLTSigma_vs_LB@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/j85_ion_TE50
+      	}
+      } ## End j85_ion_TE50
+      dir j85_ion_L1J20 {
+        hist HLTJet_n@Expert {
+          display = LogY
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j85_ion_L1J20
+          description = Red means: mean of the histogram different from reference. NJet plot: this plot should be close to the reference. Red can be due to: 1) Low statistics wrt reference. 2) Current bunch spacing different from reference. 3) Strange shape. i.e. bumps at high multiplicity.
+      	}
+      	hist HLTJet_Et@Expert {
+          display = LogY
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j85_ion_L1J20
+          description = Red means: mean of the histogram different from reference. Et plot: This plot should be close to the reference. Red can be due to: 1) The histogram threshold is not the same as HLT threshold. 2) Slope of the histogram significantly different from reference. 3) Strange shape, i.e. bumps at high Et.
+      	}
+      	hist HLTJet_eta@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j85_ion_L1J20
+          description = Red means: mean of the histogram different from reference. Eta plot: this plot should be symmetrical. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference.
+      	}
+      	hist HLTJet_phi@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j85_ion_L1J20
+          description = Red means: mean of the histogram different from reference. Phi plot: this plot should be symmetrical and flat. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference. 3) Hotspots. i.e bins higher than average.
+      	}
+      	hist HLTJet_phi_vs_eta@Expert {
+          algorithm = HLTjet_Bins_Diff_FromAvg
+          output = HLT/TRJET/EXPERT/HLT/j85_ion_L1J20
+          description = Red means: A critical number (1) bins is greater than average. Eta vs Phi plot: this distribution should not show hotspots. Check that there is sufficient statistics to claim an hotspot.
+      	}
+       	hist HLTJet_E_vs_eta@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/j85_ion_L1J20
+      	}
+       	hist HLTJet_E_vs_phi@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/j85_ion_L1J20
+      	}
+      	hist HLTJet_phi_vs_eta_LAr@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/j85_ion_L1J20
+      	}	  	
+	hist HLTJet_emfrac@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j85_ion_L1J20
+      	}
+	hist HLTJet_hecfrac@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j85_ion_L1J20
+      	}
+	hist HLTSigma_vs_LB@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/j85_ion_L1J20
+      	}
+      } ## End j85_ion_L1J20
+      dir j100_ion_L1J30 {
+        hist HLTJet_n@Expert {
+          display = LogY
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j100_ion_L1J30
+          description = Red means: mean of the histogram different from reference. NJet plot: this plot should be close to the reference. Red can be due to: 1) Low statistics wrt reference. 2) Current bunch spacing different from reference. 3) Strange shape. i.e. bumps at high multiplicity.
+      	}
+      	hist HLTJet_Et@Expert {
+          display = LogY
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j100_ion_L1J30
+          description = Red means: mean of the histogram different from reference. Et plot: This plot should be close to the reference. Red can be due to: 1) The histogram threshold is not the same as HLT threshold. 2) Slope of the histogram significantly different from reference. 3) Strange shape, i.e. bumps at high Et.
+      	}
+      	hist HLTJet_eta@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j100_ion_L1J30
+          description = Red means: mean of the histogram different from reference. Eta plot: this plot should be symmetrical. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference.
+      	}
+      	hist HLTJet_phi@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j100_ion_L1J30
+          description = Red means: mean of the histogram different from reference. Phi plot: this plot should be symmetrical and flat. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference. 3) Hotspots. i.e bins higher than average.
+      	}
+      	hist HLTJet_phi_vs_eta@Expert {
+          algorithm = HLTjet_Bins_Diff_FromAvg
+          output = HLT/TRJET/EXPERT/HLT/j100_ion_L1J30
+          description = Red means: A critical number (1) bins is greater than average. Eta vs Phi plot: this distribution should not show hotspots. Check that there is sufficient statistics to claim an hotspot.
+      	}
+       	hist HLTJet_E_vs_eta@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/j100_ion_L1J30
+      	}
+       	hist HLTJet_E_vs_phi@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/j100_ion_L1J30
+      	}
+      	hist HLTJet_phi_vs_eta_LAr@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/j100_ion_L1J30
+      	}	  	
+	hist HLTJet_emfrac@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j100_ion_L1J30
+      	}
+	hist HLTJet_hecfrac@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j100_ion_L1J30
+      	}
+	hist HLTSigma_vs_LB@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/j100_ion_L1J30
+      	}
+      } ## End j100_ion_L1J30
+      dir j110_ion_L1J30 {
+        hist HLTJet_n@Expert {
+          display = LogY
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j110_ion_L1J30
+          description = Red means: mean of the histogram different from reference. NJet plot: this plot should be close to the reference. Red can be due to: 1) Low statistics wrt reference. 2) Current bunch spacing different from reference. 3) Strange shape. i.e. bumps at high multiplicity.
+      	}
+      	hist HLTJet_Et@Expert {
+          display = LogY
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j110_ion_L1J30
+          description = Red means: mean of the histogram different from reference. Et plot: This plot should be close to the reference. Red can be due to: 1) The histogram threshold is not the same as HLT threshold. 2) Slope of the histogram significantly different from reference. 3) Strange shape, i.e. bumps at high Et.
+      	}
+      	hist HLTJet_eta@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j110_ion_L1J30
+          description = Red means: mean of the histogram different from reference. Eta plot: this plot should be symmetrical. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference.
+      	}
+      	hist HLTJet_phi@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j110_ion_L1J30
+          description = Red means: mean of the histogram different from reference. Phi plot: this plot should be symmetrical and flat. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference. 3) Hotspots. i.e bins higher than average.
+      	}
+      	hist HLTJet_phi_vs_eta@Expert {
+          algorithm = HLTjet_Bins_Diff_FromAvg
+          output = HLT/TRJET/EXPERT/HLT/j110_ion_L1J30
+          description = Red means: A critical number (1) bins is greater than average. Eta vs Phi plot: this distribution should not show hotspots. Check that there is sufficient statistics to claim an hotspot.
+      	}
+       	hist HLTJet_E_vs_eta@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/j110_ion_L1J30
+      	}
+       	hist HLTJet_E_vs_phi@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/j110_ion_L1J30
+      	}
+      	hist HLTJet_phi_vs_eta_LAr@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/j110_ion_L1J30
+      	}	  	
+	hist HLTJet_emfrac@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j110_ion_L1J30
+      	}
+	hist HLTJet_hecfrac@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j110_ion_L1J30
+      	}
+	hist HLTSigma_vs_LB@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/j110_ion_L1J30
+      	}
+      } ## End j110_ion_L1J30
+      dir j120_ion_L1J30 {
+        hist HLTJet_n@Expert {
+          display = LogY
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j120_ion_L1J30
+          description = Red means: mean of the histogram different from reference. NJet plot: this plot should be close to the reference. Red can be due to: 1) Low statistics wrt reference. 2) Current bunch spacing different from reference. 3) Strange shape. i.e. bumps at high multiplicity.
+      	}
+      	hist HLTJet_Et@Expert {
+          display = LogY
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j120_ion_L1J30
+          description = Red means: mean of the histogram different from reference. Et plot: This plot should be close to the reference. Red can be due to: 1) The histogram threshold is not the same as HLT threshold. 2) Slope of the histogram significantly different from reference. 3) Strange shape, i.e. bumps at high Et.
+      	}
+      	hist HLTJet_eta@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j120_ion_L1J30
+          description = Red means: mean of the histogram different from reference. Eta plot: this plot should be symmetrical. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference.
+      	}
+      	hist HLTJet_phi@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j120_ion_L1J30
+          description = Red means: mean of the histogram different from reference. Phi plot: this plot should be symmetrical and flat. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference. 3) Hotspots. i.e bins higher than average.
+      	}
+      	hist HLTJet_phi_vs_eta@Expert {
+          algorithm = HLTjet_Bins_Diff_FromAvg
+          output = HLT/TRJET/EXPERT/HLT/j120_ion_L1J30
+          description = Red means: A critical number (1) bins is greater than average. Eta vs Phi plot: this distribution should not show hotspots. Check that there is sufficient statistics to claim an hotspot.
+      	}
+       	hist HLTJet_E_vs_eta@Expert {
           algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
-          output = HLT/TRJET/EXPERT/HLT/a4tcemsubjesFS
+          output = HLT/TRJET/EXPERT/HLT/j120_ion_L1J30
+      	}
+       	hist HLTJet_E_vs_phi@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/j120_ion_L1J30
+      	}
+      	hist HLTJet_phi_vs_eta_LAr@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/j120_ion_L1J30
+      	}	  	
+	hist HLTJet_emfrac@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j120_ion_L1J30
+      	}
+	hist HLTJet_hecfrac@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j120_ion_L1J30
+      	}
+	hist HLTSigma_vs_LB@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/j120_ion_L1J30
+      	}
+      } ## End j120_ion_L1J30
+      dir j50_320eta490_ion {
+        hist HLTJet_n@Expert {
+          display = LogY
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j50_320eta490_ion
+          description = Red means: mean of the histogram different from reference. NJet plot: this plot should be close to the reference. Red can be due to: 1) Low statistics wrt reference. 2) Current bunch spacing different from reference. 3) Strange shape. i.e. bumps at high multiplicity.
+      	}
+      	hist HLTJet_Et@Expert {
+          display = LogY
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j50_320eta490_ion
+          description = Red means: mean of the histogram different from reference. Et plot: This plot should be close to the reference. Red can be due to: 1) The histogram threshold is not the same as HLT threshold. 2) Slope of the histogram significantly different from reference. 3) Strange shape, i.e. bumps at high Et.
+      	}
+      	hist HLTJet_eta@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j50_320eta490_ion
+          description = Red means: mean of the histogram different from reference. Eta plot: this plot should be symmetrical. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference.
+      	}
+      	hist HLTJet_phi@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j50_320eta490_ion
+          description = Red means: mean of the histogram different from reference. Phi plot: this plot should be symmetrical and flat. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference. 3) Hotspots. i.e bins higher than average.
+      	}
+      	hist HLTJet_phi_vs_eta@Expert {
+          algorithm = HLTjet_Bins_Diff_FromAvg
+          output = HLT/TRJET/EXPERT/HLT/j50_320eta490_ion
+          description = Red means: A critical number (1) bins is greater than average. Eta vs Phi plot: this distribution should not show hotspots. Check that there is sufficient statistics to claim an hotspot.
+      	}
+       	hist HLTJet_E_vs_eta@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/j50_320eta490_ion
+      	}
+       	hist HLTJet_E_vs_phi@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/j50_320eta490_ion
+      	}
+      	hist HLTJet_phi_vs_eta_LAr@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/j50_320eta490_ion
+      	}	  	
+	hist HLTJet_emfrac@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j50_320eta490_ion
+      	}
+	hist HLTJet_hecfrac@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j50_320eta490_ion
+      	}
+	hist HLTSigma_vs_LB@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/j50_320eta490_ion
+      	}
+      } ## End j50_320eta490_ion
+      dir j60_320eta490_ion {
+        hist HLTJet_n@Expert {
+          display = LogY
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j60_320eta490_ion
+          description = Red means: mean of the histogram different from reference. NJet plot: this plot should be close to the reference. Red can be due to: 1) Low statistics wrt reference. 2) Current bunch spacing different from reference. 3) Strange shape. i.e. bumps at high multiplicity.
+      	}
+      	hist HLTJet_Et@Expert {
+          display = LogY
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j60_320eta490_ion
+          description = Red means: mean of the histogram different from reference. Et plot: This plot should be close to the reference. Red can be due to: 1) The histogram threshold is not the same as HLT threshold. 2) Slope of the histogram significantly different from reference. 3) Strange shape, i.e. bumps at high Et.
+      	}
+      	hist HLTJet_eta@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j60_320eta490_ion
+          description = Red means: mean of the histogram different from reference. Eta plot: this plot should be symmetrical. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference.
+      	}
+      	hist HLTJet_phi@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j60_320eta490_ion
+          description = Red means: mean of the histogram different from reference. Phi plot: this plot should be symmetrical and flat. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference. 3) Hotspots. i.e bins higher than average.
+      	}
+      	hist HLTJet_phi_vs_eta@Expert {
+          algorithm = HLTjet_Bins_Diff_FromAvg
+          output = HLT/TRJET/EXPERT/HLT/j60_320eta490_ion
+          description = Red means: A critical number (1) bins is greater than average. Eta vs Phi plot: this distribution should not show hotspots. Check that there is sufficient statistics to claim an hotspot.
+      	}
+       	hist HLTJet_E_vs_eta@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/j60_320eta490_ion
+      	}
+       	hist HLTJet_E_vs_phi@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/j60_320eta490_ion
+      	}
+      	hist HLTJet_phi_vs_eta_LAr@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/j60_320eta490_ion
+      	}	  	
+	hist HLTJet_emfrac@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j60_320eta490_ion
+      	}
+	hist HLTJet_hecfrac@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j60_320eta490_ion
+      	}
+	hist HLTSigma_vs_LB@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/j60_320eta490_ion
+      	}
+      } ## End j60_320eta490_ion
+      dir j70_320eta490_ion {
+        hist HLTJet_n@Expert {
+          display = LogY
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j70_320eta490_ion
+          description = Red means: mean of the histogram different from reference. NJet plot: this plot should be close to the reference. Red can be due to: 1) Low statistics wrt reference. 2) Current bunch spacing different from reference. 3) Strange shape. i.e. bumps at high multiplicity.
+      	}
+      	hist HLTJet_Et@Expert {
+          display = LogY
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j70_320eta490_ion
+          description = Red means: mean of the histogram different from reference. Et plot: This plot should be close to the reference. Red can be due to: 1) The histogram threshold is not the same as HLT threshold. 2) Slope of the histogram significantly different from reference. 3) Strange shape, i.e. bumps at high Et.
+      	}
+      	hist HLTJet_eta@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j70_320eta490_ion
+          description = Red means: mean of the histogram different from reference. Eta plot: this plot should be symmetrical. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference.
+      	}
+      	hist HLTJet_phi@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j70_320eta490_ion
+          description = Red means: mean of the histogram different from reference. Phi plot: this plot should be symmetrical and flat. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference. 3) Hotspots. i.e bins higher than average.
+      	}
+      	hist HLTJet_phi_vs_eta@Expert {
+          algorithm = HLTjet_Bins_Diff_FromAvg
+          output = HLT/TRJET/EXPERT/HLT/j70_320eta490_ion
+          description = Red means: A critical number (1) bins is greater than average. Eta vs Phi plot: this distribution should not show hotspots. Check that there is sufficient statistics to claim an hotspot.
+      	}
+       	hist HLTJet_E_vs_eta@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/j70_320eta490_ion
+      	}
+       	hist HLTJet_E_vs_phi@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/j70_320eta490_ion
+      	}
+      	hist HLTJet_phi_vs_eta_LAr@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/j70_320eta490_ion
+      	}	  	
+	hist HLTJet_emfrac@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j70_320eta490_ion
+      	}
+	hist HLTJet_hecfrac@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/j70_320eta490_ion
+      	}
+	hist HLTSigma_vs_LB@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/j70_320eta490_ion
+      	}
+      } ## End j70_320eta490_ion
+      dir mu4_j30_a2_ion_dr05 {
+        hist HLTJet_n@Expert {
+          display = LogY
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/mu4_j30_a2_ion_dr05
+          description = Red means: mean of the histogram different from reference. NJet plot: this plot should be close to the reference. Red can be due to: 1) Low statistics wrt reference. 2) Current bunch spacing different from reference. 3) Strange shape. i.e. bumps at high multiplicity.
+      	}
+      	hist HLTJet_Et@Expert {
+          display = LogY
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/mu4_j30_a2_ion_dr05
+          description = Red means: mean of the histogram different from reference. Et plot: This plot should be close to the reference. Red can be due to: 1) The histogram threshold is not the same as HLT threshold. 2) Slope of the histogram significantly different from reference. 3) Strange shape, i.e. bumps at high Et.
+      	}
+      	hist HLTJet_eta@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/mu4_j30_a2_ion_dr05
+          description = Red means: mean of the histogram different from reference. Eta plot: this plot should be symmetrical. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference.
+      	}
+      	hist HLTJet_phi@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/mu4_j30_a2_ion_dr05
+          description = Red means: mean of the histogram different from reference. Phi plot: this plot should be symmetrical and flat. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference. 3) Hotspots. i.e bins higher than average.
+      	}
+      	hist HLTJet_phi_vs_eta@Expert {
+          algorithm = HLTjet_Bins_Diff_FromAvg
+          output = HLT/TRJET/EXPERT/HLT/mu4_j30_a2_ion_dr05
+          description = Red means: A critical number (1) bins is greater than average. Eta vs Phi plot: this distribution should not show hotspots. Check that there is sufficient statistics to claim an hotspot.
+      	}
+       	hist HLTJet_E_vs_eta@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/mu4_j30_a2_ion_dr05
+      	}
+       	hist HLTJet_E_vs_phi@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/mu4_j30_a2_ion_dr05
+      	}
+      	hist HLTJet_phi_vs_eta_LAr@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/mu4_j30_a2_ion_dr05
+      	}	  	
+	hist HLTJet_emfrac@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/mu4_j30_a2_ion_dr05
+      	}
+	hist HLTJet_hecfrac@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/mu4_j30_a2_ion_dr05
+      	}
+	hist HLTSigma_vs_LB@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/mu4_j30_a2_ion_dr05
+      	}
+      } ## End mu4_j30_a2_ion_dr05
+      dir mu4_j40_a2_ion_dr05 {
+        hist HLTJet_n@Expert {
+          display = LogY
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/mu4_j40_a2_ion_dr05
+          description = Red means: mean of the histogram different from reference. NJet plot: this plot should be close to the reference. Red can be due to: 1) Low statistics wrt reference. 2) Current bunch spacing different from reference. 3) Strange shape. i.e. bumps at high multiplicity.
+      	}
+      	hist HLTJet_Et@Expert {
+          display = LogY
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/mu4_j40_a2_ion_dr05
+          description = Red means: mean of the histogram different from reference. Et plot: This plot should be close to the reference. Red can be due to: 1) The histogram threshold is not the same as HLT threshold. 2) Slope of the histogram significantly different from reference. 3) Strange shape, i.e. bumps at high Et.
+      	}
+      	hist HLTJet_eta@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/mu4_j40_a2_ion_dr05
+          description = Red means: mean of the histogram different from reference. Eta plot: this plot should be symmetrical. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference.
+      	}
+      	hist HLTJet_phi@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/mu4_j40_a2_ion_dr05
+          description = Red means: mean of the histogram different from reference. Phi plot: this plot should be symmetrical and flat. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference. 3) Hotspots. i.e bins higher than average.
+      	}
+      	hist HLTJet_phi_vs_eta@Expert {
+          algorithm = HLTjet_Bins_Diff_FromAvg
+          output = HLT/TRJET/EXPERT/HLT/mu4_j40_a2_ion_dr05
+          description = Red means: A critical number (1) bins is greater than average. Eta vs Phi plot: this distribution should not show hotspots. Check that there is sufficient statistics to claim an hotspot.
+      	}
+       	hist HLTJet_E_vs_eta@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/mu4_j40_a2_ion_dr05
+      	}
+       	hist HLTJet_E_vs_phi@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/mu4_j40_a2_ion_dr05
+      	}
+      	hist HLTJet_phi_vs_eta_LAr@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/mu4_j40_a2_ion_dr05
+      	}	  	
+	hist HLTJet_emfrac@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/mu4_j40_a2_ion_dr05
+      	}
+	hist HLTJet_hecfrac@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/mu4_j40_a2_ion_dr05
+      	}
+	hist HLTSigma_vs_LB@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/mu4_j40_a2_ion_dr05
+      	}
+      } ## End mu4_j40_a2_ion_dr05
+      dir mu4_j30_a2_ion {
+        hist HLTJet_n@Expert {
+          display = LogY
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/mu4_j30_a2_ion
+          description = Red means: mean of the histogram different from reference. NJet plot: this plot should be close to the reference. Red can be due to: 1) Low statistics wrt reference. 2) Current bunch spacing different from reference. 3) Strange shape. i.e. bumps at high multiplicity.
+      	}
+      	hist HLTJet_Et@Expert {
+          display = LogY
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/mu4_j30_a2_ion
+          description = Red means: mean of the histogram different from reference. Et plot: This plot should be close to the reference. Red can be due to: 1) The histogram threshold is not the same as HLT threshold. 2) Slope of the histogram significantly different from reference. 3) Strange shape, i.e. bumps at high Et.
+      	}
+      	hist HLTJet_eta@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/mu4_j30_a2_ion
+          description = Red means: mean of the histogram different from reference. Eta plot: this plot should be symmetrical. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference.
+      	}
+      	hist HLTJet_phi@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/mu4_j30_a2_ion
+          description = Red means: mean of the histogram different from reference. Phi plot: this plot should be symmetrical and flat. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference. 3) Hotspots. i.e bins higher than average.
+      	}
+      	hist HLTJet_phi_vs_eta@Expert {
+          algorithm = HLTjet_Bins_Diff_FromAvg
+          output = HLT/TRJET/EXPERT/HLT/mu4_j30_a2_ion
+          description = Red means: A critical number (1) bins is greater than average. Eta vs Phi plot: this distribution should not show hotspots. Check that there is sufficient statistics to claim an hotspot.
+      	}
+       	hist HLTJet_E_vs_eta@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/mu4_j30_a2_ion
+      	}
+       	hist HLTJet_E_vs_phi@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/mu4_j30_a2_ion
+      	}
+      	hist HLTJet_phi_vs_eta_LAr@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/mu4_j30_a2_ion
+      	}	  	
+	hist HLTJet_emfrac@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/mu4_j30_a2_ion
+      	}
+	hist HLTJet_hecfrac@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/mu4_j30_a2_ion
+      	}
+	hist HLTSigma_vs_LB@Expert {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/EXPERT/HLT/mu4_j30_a2_ion
+      	}
+      } ## End mu4_j30_a2_ion
+      dir mu4_j40_a2_ion {
+        hist HLTJet_n@Expert {
+          display = LogY
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/mu4_j40_a2_ion
+          description = Red means: mean of the histogram different from reference. NJet plot: this plot should be close to the reference. Red can be due to: 1) Low statistics wrt reference. 2) Current bunch spacing different from reference. 3) Strange shape. i.e. bumps at high multiplicity.
+      	}
+      	hist HLTJet_Et@Expert {
+          display = LogY
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/mu4_j40_a2_ion
+          description = Red means: mean of the histogram different from reference. Et plot: This plot should be close to the reference. Red can be due to: 1) The histogram threshold is not the same as HLT threshold. 2) Slope of the histogram significantly different from reference. 3) Strange shape, i.e. bumps at high Et.
+      	}
+      	hist HLTJet_eta@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/mu4_j40_a2_ion
+          description = Red means: mean of the histogram different from reference. Eta plot: this plot should be symmetrical. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference.
+      	}
+      	hist HLTJet_phi@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/mu4_j40_a2_ion
+          description = Red means: mean of the histogram different from reference. Phi plot: this plot should be symmetrical and flat. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference. 3) Hotspots. i.e bins higher than average.
+      	}
+      	hist HLTJet_phi_vs_eta@Expert {
+          algorithm = HLTjet_Bins_Diff_FromAvg
+          output = HLT/TRJET/EXPERT/HLT/mu4_j40_a2_ion
+          description = Red means: A critical number (1) bins is greater than average. Eta vs Phi plot: this distribution should not show hotspots. Check that there is sufficient statistics to claim an hotspot.
       	}
-      } ## End a10tcemsubFS
-    } ## End HLT
-  } ##End JetMon
-} ##End HLT
-
-dir HLT {
-  dir JetMon {
-    dir HLT {
-      dir j30_ion_L1TE20 {
-      	hist .* {
-          regex = 1	
+       	hist HLTJet_E_vs_eta@Expert {
           algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
-          output = HLT/TRJET/EXPERT/HLT/j30_ion_L1TE20
+          output = HLT/TRJET/EXPERT/HLT/mu4_j40_a2_ion
       	}
-      } ## End j30_ion_L1TE20
-    } ## End HLT
-  } ##End JetMon
-} ##End HLT
-
-dir HLT {
-  dir JetMon {
-    dir HLT {
-      dir j30_L1TE20 {
-      	hist .* {
-          regex = 1	
+       	hist HLTJet_E_vs_phi@Expert {
           algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
-          output = HLT/TRJET/EXPERT/HLT/j30_L1TE20
+          output = HLT/TRJET/EXPERT/HLT/mu4_j40_a2_ion
       	}
-      } ## End j30_L1TE20
-    } ## End HLT
-  } ##End JetMon
-} ##End HLT
-
-
-dir HLT {
-  dir JetMon {
-    dir HLT {
-      dir j100_ion_L1J20 {
-      	hist .* {
-          regex = 1	
+      	hist HLTJet_phi_vs_eta_LAr@Expert {
           algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
-          output = HLT/TRJET/EXPERT/HLT/j100_ion_L1J20
+          output = HLT/TRJET/EXPERT/HLT/mu4_j40_a2_ion
+      	}	  	
+	hist HLTJet_emfrac@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/mu4_j40_a2_ion
       	}
-      } ## End j100_ion_L1J20
-    } ## End HLT
-  } ##End JetMon
-} ##End HLT
-
-dir HLT {
-  dir JetMon {
-    dir HLT {
-      dir j150_ion_L1J30 {
-      	hist .* {
-          regex = 1	
-          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
-          output = HLT/TRJET/EXPERT/HLT/j150_ion_L1J30
+	hist HLTJet_hecfrac@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/HLT/mu4_j40_a2_ion
       	}
-      } ## End j150_ion_L1J30
-    } ## End HLT
-  } ##End JetMon
-} ##End HLT
-
-
-dir HLT {
-  dir JetMon {
-    dir HLT {
-      dir j100_L1J20 {
-      	hist .* {
-          regex = 1	
+	hist HLTSigma_vs_LB@Expert {
           algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
-          output = HLT/TRJET/EXPERT/HLT/j100_L1J20
+          output = HLT/TRJET/EXPERT/HLT/mu4_j40_a2_ion
       	}
-      } ## End j75_L1J20
+      } ## End mu4_j40_a2_ion
     } ## End HLT
   } ##End JetMon
 } ##End HLT
@@ -251,90 +981,65 @@ dir HLT {
 dir HLT {
   dir JetMon {
     dir HLT {
-      dir j150_L1J30 {
-      	hist .* {
-          regex = 1	
-          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
-          output = HLT/TRJET/EXPERT/HLT/j150_L1J30
+      dir a4ionemsubjesISFS {
+        hist HLTJet_n@Expert {
+          display = LogY
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/Collections/AntiKt4HIJets
+          description = Red means: mean of the histogram different from reference. NJet plot: this plot should be close to the reference. Red can be due to: 1) Low statistics wrt reference. 2) Current bunch spacing different from reference. 3) Strange shape. i.e. bumps at high multiplicity.
       	}
-      } ## End j75_L1J20
-    } ## End HLT
-  } ##End JetMon
-} ##End HLT
-
-dir HLT {
-  dir JetMon {
-    dir HLT {
-      dir j45_320eta490_ion {
-      	hist .* {
-          regex = 1	
-          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
-          output = HLT/TRJET/EXPERT/HLT/j45_320eta490_ion
+      	hist HLTJet_Et@Expert {
+          display = LogY
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/Collections/AntiKt4HIJets
+          description = Red means: mean of the histogram different from reference. Et plot: This plot should be close to the reference. Red can be due to: 1) The histogram threshold is not the same as HLT threshold. 2) Slope of the histogram significantly different from reference. 3) Strange shape, i.e. bumps at high Et.
       	}
-      } ## End j75_L1J20
-    } ## End HLT
-  } ##End JetMon
-} ##End HLT
-
-dir HLT {
-  dir JetMon {
-    dir HLT {
-      dir j45_320eta490 {
-      	hist .* {
-          regex = 1	
+      	hist HLTJet_eta@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/Collections/AntiKt4HIJets
+          description = Red means: mean of the histogram different from reference. Eta plot: this plot should be symmetrical. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference.
+      	}
+      	hist HLTJet_phi@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/Collections/AntiKt4HIJets
+          description = Red means: mean of the histogram different from reference. Phi plot: this plot should be symmetrical and flat. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference. 3) Hotspots. i.e bins higher than average.
+      	}
+      	hist HLTJet_phi_vs_eta@Expert {
+          algorithm = HLTjet_Bins_Diff_FromAvg
+          output = HLT/TRJET/EXPERT/Collections/AntiKt4HIJets
+          description = Red means: A critical number (1) bins is greater than average. Eta vs Phi plot: this distribution should not show hotspots. Check that there is sufficient statistics to claim an hotspot.
+      	}
+       	hist HLTJet_E_vs_eta@Expert {
           algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
-          output = HLT/TRJET/EXPERT/HLT/j45_320eta490
+          output = HLT/TRJET/EXPERT/Collections/AntiKt4HIJets
       	}
-      } ## End j75_L1J20
-    } ## End HLT
-  } ##End JetMon
-} ##End HLT
-
-dir HLT {
-  dir JetMon {
-    dir HLT {
-      dir j50_ion_2j30_ion_0eta490_L1J10 {
-      	hist .* {
-          regex = 1	
+       	hist HLTJet_E_vs_phi@Expert {
           algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
-          output = HLT/TRJET/EXPERT/HLT/j50_ion_2j30_ion_0eta490_L1J10
+          output = HLT/TRJET/EXPERT/Collections/AntiKt4HIJets
       	}
-      } ## End j75_L1J20
-    } ## End HLT
-  } ##End JetMon
-} ##End HLT
-
-dir HLT {
-  dir JetMon {
-    dir HLT {
-      dir j50_2j30_0eta490_L1J10 {
-      	hist .* {
-          regex = 1	
+      	hist HLTJet_phi_vs_eta_LAr@Expert {
           algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
-          output = HLT/TRJET/EXPERT/HLT/j50_2j30_0eta490_L1J10
+          output = HLT/TRJET/EXPERT/Collections/AntiKt4HIJets
+      	}	  	
+	hist HLTJet_emfrac@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/Collections/AntiKt4HIJets
       	}
-      } ## End j75_L1J20
-    } ## End HLT
-  } ##End JetMon
-} ##End HLT
-
-############################### OF ################################
-
-dir HLT {
-  dir JetMon {
-    dir OF {
-      dir AntiKt4HIJets {
-      	hist OFJet.* {
-          regex = 1
+	hist HLTJet_hecfrac@Expert {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/EXPERT/Collections/AntiKt4HIJets
+      	}
+	hist HLTSigma_vs_LB@Expert {
           algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
-          output = HLT/TRJET/EXPERT/OF/AntiKt4HIJets
+          output = HLT/TRJET/EXPERT/Collections/AntiKt4HIJets
       	}
-      } ## End AntiKt4HIJets
-    } ## End OF
+      } ## End L1_J20
+    } ## End L1
   } ##End JetMon
 } ##End HLT
 
 
+
 ########################################################################
 
 
@@ -346,45 +1051,114 @@ dir HLT {
 dir HLT {
   dir JetMon {
     dir L1 {
-      hist L1Jet_n@Shifter {
-        display = LogY
-        algorithm = HLTjet_KolmogorovTest_MaxDist
-        output =  HLT/TRJET/SHIFTER/L1 
-        description = Red means: mean of the histogram different from reference. NJet plot: this plot should be close to the reference. Red can be due to: 1) Low statistics wrt reference. 2) Current bunch spacing different from reference. 3) Strange shape. i.e. bumps at high multiplicity.
-      }
-      hist L1Jet_Et@Shifter {
-        display = LogY
-        algorithm = HLTjet_KolmogorovTest_MaxDist
-        output = HLT/TRJET/SHIFTER/L1
-        description = Red means: mean of the histogram different from reference. Et plot: This plot should be close to the reference. Red can be due to: 1) The histogram threshold is not the same as HLT threshold. 2) Slope of the histogram significantly different from reference. 3) Strange shape, i.e. bumps at high Et.
-      }
-      hist L1Jet_eta@Shifter {
-        algorithm = HLTjet_KolmogorovTest_MaxDist
-        output = HLT/TRJET/SHIFTER/L1
-        description = Red means: mean of the histogram different from reference. Eta plot: this plot should be symmetrical. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference.
-      }
-      hist L1Jet_phi@Shifter {
-        algorithm = HLTjet_KolmogorovTest_MaxDist
-        output = HLT/TRJET/SHIFTER/L1
-        description = Red means: mean of the histogram different from reference. Phi plot: this plot should be symmetrical and flat. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference. 3) Hotspots. i.e bins higher than average.
-      }
-      hist L1Jet_phi_vs_eta@Shifter {
-        algorithm = HLTjet_Bins_Diff_FromAvg
-        output = HLT/TRJET/SHIFTER/L1
-        description = Red means: A critical number (1) bins is greater than average. Eta vs Phi plot: this distribution should not show hotspots. Check that there is sufficient statistics to claim an hotspot.
-      }
-      hist L1Jet_E_vs_eta@Shifter {
-        algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
-        output = HLT/TRJET/SHIFTER/L1
-      }
-      hist L1Jet_E_vs_phi@Shifter {
-        algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
-        output = HLT/TRJET/SHIFTER/L1
-      }
-      hist L1Sigma_vs_LB@Shifter {
-        algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
-        output = HLT/TRJET/SHIFTER/L1
-      }
+      dir L1_J20 {
+        hist L1Jet_n@Shifter {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output =  HLT/TRJET/SHIFTER/L1/L1_J20
+        }
+        hist L1Jet_Et@Shifter {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/SHIFTER/L1/L1_J20
+          description = The distribution should not be broad. Check with reference when available.
+        }
+        hist L1Jet_eta@Shifter {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/SHIFTER/L1/L1_J20
+        }
+        hist L1Jet_phi@Shifter {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/SHIFTER/L1/L1_J20
+        }
+        hist L1Jet_phi_vs_eta@Shifter {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/SHIFTER/L1/L1_J20
+          description = Particular attention should be payed in checking hot regions. The distribution should not have peaks.
+        }
+        hist L1Jet_E_vs_eta@Shifter {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/SHIFTER/L1/L1_J20
+        }
+        hist L1Jet_E_vs_phi@Shifter {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/SHIFTER/L1/L1_J20
+        }
+        hist L1Sigma_vs_LB@Shifter {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/SHIFTER/L1/L1_J20
+        }
+      } ## End L1_J20
+      dir L1_J30 {
+        hist L1Jet_n@Shifter {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output =  HLT/TRJET/SHIFTER/L1/L1_J30
+        }
+        hist L1Jet_Et@Shifter {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/SHIFTER/L1/L1_J30
+          description = The distribution should not be broad. Check with reference when available.
+        }
+        hist L1Jet_eta@Shifter {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/SHIFTER/L1/L1_J30
+        }
+        hist L1Jet_phi@Shifter {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/SHIFTER/L1/L1_J30
+        }
+        hist L1Jet_phi_vs_eta@Shifter {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/SHIFTER/L1/L1_J30
+          description = Particular attention should be payed in checking hot regions. The distribution should not have peaks.
+        }
+        hist L1Jet_E_vs_eta@Shifter {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/SHIFTER/L1/L1_J30
+        }
+        hist L1Jet_E_vs_phi@Shifter {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/SHIFTER/L1/L1_J30
+        }
+        hist L1Sigma_vs_LB@Shifter {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/SHIFTER/L1/L1_J30
+        }
+      } ## End L1_J30
+      dir L1_TE50 {
+        hist L1Jet_n@Shifter {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output =  HLT/TRJET/SHIFTER/L1/L1_TE50
+        }
+        hist L1Jet_Et@Shifter {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/SHIFTER/L1/L1_TE50
+          description = The distribution should not be broad. Check with reference when available.
+        }
+        hist L1Jet_eta@Shifter {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/SHIFTER/L1/L1_TE50
+        }
+        hist L1Jet_phi@Shifter {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/SHIFTER/L1/L1_TE50
+        }
+        hist L1Jet_phi_vs_eta@Shifter {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/SHIFTER/L1/L1_TE50
+          description = Particular attention should be payed in checking hot regions. The distribution should not have peaks.
+        }
+        hist L1Jet_E_vs_eta@Shifter {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/SHIFTER/L1/L1_TE50
+        }
+        hist L1Jet_E_vs_phi@Shifter {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/SHIFTER/L1/L1_TE50
+        }
+        hist L1Sigma_vs_LB@Shifter {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+          output = HLT/TRJET/SHIFTER/L1/L1_TE50
+        }
+      } ## End L1_TE50
     } ## End L1
   } ##End JetMon
 } ##End HLT
@@ -460,185 +1234,67 @@ dir HLT {
 dir HLT {
   dir JetMon {
     dir HLT {
-      dir j75_L1J20 {
-      	hist HLTJet_Et@Shifter {
-          display = LogY
-          algorithm = HLTjet_KolmogorovTest_MaxDist
-          output = HLT/TRJET/SHIFTER/HLT/j75_L1J20
-          description = Red means: mean of the histogram different from reference. Et plot: This plot should be close to the reference. Red can be due to: 1) The histogram threshold is not the same as HLT threshold. 2) Slope of the histogram significantly different from reference. 3) Strange shape, i.e. bumps at high Et.
-      	}
-      	hist HLTJet_Leading_Et@Shifter { 
+      dir j85_ion_TE50 {
+        hist HLTJet_n@Shifter {
           display = LogY
           algorithm = HLTjet_KolmogorovTest_MaxDist
-          output = HLT/TRJET/SHIFTER/HLT/j75_L1J20
-          description = Red means: mean of the histogram different from reference. Et plot: This plot should be close to the reference. Red can be due to: 1) The histogram threshold is not the same as HLT threshold. 2) Slope of the histogram significantly different from reference. 3) Strange shape, i.e. bumps at high Et.
-      	}
-      	hist HLTJet_eta@Shifter {
-          algorithm = HLTjet_KolmogorovTest_MaxDist
-          output = HLT/TRJET/SHIFTER/HLT/j75_L1J20
-          description = Red means: mean of the histogram different from reference. Eta plot: this plot should be symmetrical. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference.
-      	}
-      	hist HLTJet_phi@Shifter {
-          algorithm = HLTjet_KolmogorovTest_MaxDist
-          output = HLT/TRJET/SHIFTER/HLT/j75_L1J20
-          description = Red means: mean of the histogram different from reference. Phi plot: this plot should be symmetrical and flat. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference. 3) Hotspots. i.e bins higher than average.
-      	}
-      	hist HLTJet_phi_vs_eta@Shifter {
-          algorithm = HLTjet_Bins_Diff_FromAvg
-          output = HLT/TRJET/SHIFTER/HLT/j75_L1J20
-          description = Red means: A critical number (1) bins is greater than average. Eta vs Phi plot: this distribution should not show hotspots. Check that there is sufficient statistics to claim an hotspot.
-      	}
-	hist HLTJet_emfrac@Shifter {
-          algorithm = HLTjet_KolmogorovTest_MaxDist
-          output = HLT/TRJET/SHIFTER/HLT/j75_L1J20
-      	}
-	hist HLTJet_hecfrac@Shifter {
-          algorithm = HLTjet_KolmogorovTest_MaxDist
-          output = HLT/TRJET/SHIFTER/HLT/j75_L1J20
-      	}
-	hist HLTJet_E_vs_eta@Shifter {
-          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
-          output = HLT/TRJET/SHIFTER/HLT/j75_L1J20
-      	}
-	hist HLTJet_E_vs_phi@Shifter {
-          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
-          output = HLT/TRJET/SHIFTER/HLT/j75_L1J20
-      	}
-	hist HLTSigma_vs_LB@Shifter {
-          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
-          output = HLT/TRJET/SHIFTER/HLT/j75_L1J20
+          output = HLT/TRJET/SHIFTER/HLT/j85_ion_L1TE50
+          description = Red means: mean of the histogram different from reference. NJet plot: this plot should be close to the reference. Red can be due to: 1) Low statistics wrt reference. 2) Current bunch spacing different from reference. 3) Strange shape. i.e. bumps at high multiplicity.
       	}
-      } ## End j75_L1J20
-    } ## End HLT
-  } ##End JetMon
-} ##End HLT
-
-
-dir HLT {
-  dir JetMon {
-    dir HLT {
-      dir j75_ion_L1J20 {
       	hist HLTJet_Et@Shifter {
           display = LogY
           algorithm = HLTjet_KolmogorovTest_MaxDist
-          output = HLT/TRJET/SHIFTER/HLT/j75_ion_L1J20
-          description = Red means: mean of the histogram different from reference. Et plot: This plot should be close to the reference. Red can be due to: 1) The histogram threshold is not the same as HLT threshold. 2) Slope of the histogram significantly different from reference. 3) Strange shape, i.e. bumps at high Et.
-      	}
-      	hist HLTJet_Leading_Et@Shifter { 
-          display = LogY
-          algorithm = HLTjet_KolmogorovTest_MaxDist
-          output = HLT/TRJET/SHIFTER/HLT/j75_ion_L1J20
+          output = HLT/TRJET/SHIFTER/HLT/j85_ion_L1TE50
           description = Red means: mean of the histogram different from reference. Et plot: This plot should be close to the reference. Red can be due to: 1) The histogram threshold is not the same as HLT threshold. 2) Slope of the histogram significantly different from reference. 3) Strange shape, i.e. bumps at high Et.
       	}
       	hist HLTJet_eta@Shifter {
           algorithm = HLTjet_KolmogorovTest_MaxDist
-          output = HLT/TRJET/SHIFTER/HLT/j75_ion_L1J20
+          output = HLT/TRJET/SHIFTER/HLT/j85_ion_L1TE50
           description = Red means: mean of the histogram different from reference. Eta plot: this plot should be symmetrical. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference.
       	}
       	hist HLTJet_phi@Shifter {
           algorithm = HLTjet_KolmogorovTest_MaxDist
-          output = HLT/TRJET/SHIFTER/HLT/j75_ion_L1J20
+          output = HLT/TRJET/SHIFTER/HLT/j85_ion_L1TE50
           description = Red means: mean of the histogram different from reference. Phi plot: this plot should be symmetrical and flat. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference. 3) Hotspots. i.e bins higher than average.
       	}
       	hist HLTJet_phi_vs_eta@Shifter {
           algorithm = HLTjet_Bins_Diff_FromAvg
-          output = HLT/TRJET/SHIFTER/HLT/j75_ion_L1J20
+          output = HLT/TRJET/SHIFTER/HLT/j85_ion_L1TE50
           description = Red means: A critical number (1) bins is greater than average. Eta vs Phi plot: this distribution should not show hotspots. Check that there is sufficient statistics to claim an hotspot.
       	}
-	hist HLTJet_emfrac@Shifter {
-          algorithm = HLTjet_KolmogorovTest_MaxDist
-          output = HLT/TRJET/SHIFTER/HLT/j75_ion_L1J20
-      	}
-	hist HLTJet_hecfrac@Shifter {
-          algorithm = HLTjet_KolmogorovTest_MaxDist
-          output = HLT/TRJET/SHIFTER/HLT/j75_ion_L1J20
-      	}
-	hist HLTJet_E_vs_eta@Shifter {
+       	hist HLTJet_E_vs_eta@Shifter {
           algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
-          output = HLT/TRJET/SHIFTER/HLT/j75_ion_L1J20
+          output = HLT/TRJET/SHIFTER/HLT/j85_ion_L1TE50
       	}
-	hist HLTJet_E_vs_phi@Shifter {
+       	hist HLTJet_E_vs_phi@Shifter {
           algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
-          output = HLT/TRJET/SHIFTER/HLT/j75_ion_L1J20
+          output = HLT/TRJET/SHIFTER/HLT/j85_ion_L1TE50
       	}
-	hist HLTSigma_vs_LB@Shifter {
+      	hist HLTJet_phi_vs_eta_LAr@Shifter {
           algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
-          output = HLT/TRJET/SHIFTER/HLT/j75_ion_L1J20
-      	}
-      } ## End j75_ion_L1J20
-    } ## End HLT
-  } ##End JetMon
-} ##End HLT
-
-
-dir HLT {
-  dir JetMon {
-    dir HLT {
-      dir j85_L1J20 {
-      	hist HLTJet_Et@Shifter {
-          display = LogY
-          algorithm = HLTjet_KolmogorovTest_MaxDist
-          output = HLT/TRJET/SHIFTER/HLT/j85_L1J20
-          description = Red means: mean of the histogram different from reference. Et plot: This plot should be close to the reference. Red can be due to: 1) The histogram threshold is not the same as HLT threshold. 2) Slope of the histogram significantly different from reference. 3) Strange shape, i.e. bumps at high Et.
-      	}
-      	hist HLTJet_Leading_Et@Shifter { 
-          display = LogY
-          algorithm = HLTjet_KolmogorovTest_MaxDist
-          output = HLT/TRJET/SHIFTER/HLT/j85_L1J20
-          description = Red means: mean of the histogram different from reference. Et plot: This plot should be close to the reference. Red can be due to: 1) The histogram threshold is not the same as HLT threshold. 2) Slope of the histogram significantly different from reference. 3) Strange shape, i.e. bumps at high Et.
-      	}
-      	hist HLTJet_eta@Shifter {
-          algorithm = HLTjet_KolmogorovTest_MaxDist
-          output = HLT/TRJET/SHIFTER/HLT/j85_L1J20
-          description = Red means: mean of the histogram different from reference. Eta plot: this plot should be symmetrical. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference.
-      	}
-      	hist HLTJet_phi@Shifter {
-          algorithm = HLTjet_KolmogorovTest_MaxDist
-          output = HLT/TRJET/SHIFTER/HLT/j85_L1J20
-          description = Red means: mean of the histogram different from reference. Phi plot: this plot should be symmetrical and flat. Red can be due to: 1) Distribution not simmetric. 2) Histogram significantly different from reference. 3) Hotspots. i.e bins higher than average.
-      	}
-      	hist HLTJet_phi_vs_eta@Shifter {
-          algorithm = HLTjet_Bins_Diff_FromAvg
-          output = HLT/TRJET/SHIFTER/HLT/j85_L1J20
-          description = Red means: A critical number (1) bins is greater than average. Eta vs Phi plot: this distribution should not show hotspots. Check that there is sufficient statistics to claim an hotspot.
-      	}
+          output = HLT/TRJET/SHIFTER/HLT/j85_ion_L1TE50
+      	}	  	
 	hist HLTJet_emfrac@Shifter {
           algorithm = HLTjet_KolmogorovTest_MaxDist
-          output = HLT/TRJET/SHIFTER/HLT/j85_L1J20
+          output = HLT/TRJET/SHIFTER/HLT/j85_ion_L1TE50
       	}
 	hist HLTJet_hecfrac@Shifter {
           algorithm = HLTjet_KolmogorovTest_MaxDist
-          output = HLT/TRJET/SHIFTER/HLT/j85_L1J20
-      	}
-	hist HLTJet_E_vs_eta@Shifter {
-          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
-          output = HLT/TRJET/SHIFTER/HLT/j85_L1J20
-      	}
-	hist HLTJet_E_vs_phi@Shifter {
-          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
-          output = HLT/TRJET/SHIFTER/HLT/j85_L1J20
+          output = HLT/TRJET/SHIFTER/HLT/j85_ion_L1TE50
       	}
 	hist HLTSigma_vs_LB@Shifter {
           algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
-          output = HLT/TRJET/SHIFTER/HLT/j85_L1J20
+          output = HLT/TRJET/SHIFTER/HLT/j85_ion_L1TE50
       	}
-      } ## End j85_L1J20
-    } ## End HLT
-  } ##End JetMon
-} ##End HLT
-
-
-dir HLT {
-  dir JetMon {
-    dir HLT {
+      } ## End j85_ion_TE50
       dir j85_ion_L1J20 {
-      	hist HLTJet_Et@Shifter {
+        hist HLTJet_n@Shifter {
           display = LogY
           algorithm = HLTjet_KolmogorovTest_MaxDist
           output = HLT/TRJET/SHIFTER/HLT/j85_ion_L1J20
-          description = Red means: mean of the histogram different from reference. Et plot: This plot should be close to the reference. Red can be due to: 1) The histogram threshold is not the same as HLT threshold. 2) Slope of the histogram significantly different from reference. 3) Strange shape, i.e. bumps at high Et.
+          description = Red means: mean of the histogram different from reference. NJet plot: this plot should be close to the reference. Red can be due to: 1) Low statistics wrt reference. 2) Current bunch spacing different from reference. 3) Strange shape. i.e. bumps at high multiplicity.
       	}
-      	hist HLTJet_Leading_Et@Shifter { 
+      	hist HLTJet_Et@Shifter {
           display = LogY
           algorithm = HLTjet_KolmogorovTest_MaxDist
           output = HLT/TRJET/SHIFTER/HLT/j85_ion_L1J20
@@ -659,20 +1315,24 @@ dir HLT {
           output = HLT/TRJET/SHIFTER/HLT/j85_ion_L1J20
           description = Red means: A critical number (1) bins is greater than average. Eta vs Phi plot: this distribution should not show hotspots. Check that there is sufficient statistics to claim an hotspot.
       	}
-	hist HLTJet_emfrac@Shifter {
-          algorithm = HLTjet_KolmogorovTest_MaxDist
+       	hist HLTJet_E_vs_eta@Shifter {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
           output = HLT/TRJET/SHIFTER/HLT/j85_ion_L1J20
       	}
-	hist HLTJet_hecfrac@Shifter {
-          algorithm = HLTjet_KolmogorovTest_MaxDist
+       	hist HLTJet_E_vs_phi@Shifter {
+          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
           output = HLT/TRJET/SHIFTER/HLT/j85_ion_L1J20
       	}
-	hist HLTJet_E_vs_eta@Shifter {
+      	hist HLTJet_phi_vs_eta_LAr@Shifter {
           algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
           output = HLT/TRJET/SHIFTER/HLT/j85_ion_L1J20
+      	}	  	
+	hist HLTJet_emfrac@Shifter {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
+          output = HLT/TRJET/SHIFTER/HLT/j85_ion_L1J20
       	}
-	hist HLTJet_E_vs_phi@Shifter {
-          algorithm = HLTjet_Histogram_Not_Empty_with_Ref&GatherData
+	hist HLTJet_hecfrac@Shifter {
+          algorithm = HLTjet_KolmogorovTest_MaxDist
           output = HLT/TRJET/SHIFTER/HLT/j85_ion_L1J20
       	}
 	hist HLTSigma_vs_LB@Shifter {
@@ -684,7 +1344,6 @@ dir HLT {
   } ##End JetMon
 } ##End HLT
 
-
 #################################################################################################
 
 
diff --git a/DataQuality/DataQualityConfigurations/config/HLT/HLTmuon/collisions_run.config b/DataQuality/DataQualityConfigurations/config/HLT/HLTmuon/collisions_run.config
index 2c03c14b371c..d1883e4ead21 100644
--- a/DataQuality/DataQualityConfigurations/config/HLT/HLTmuon/collisions_run.config
+++ b/DataQuality/DataQualityConfigurations/config/HLT/HLTmuon/collisions_run.config
@@ -563,7 +563,9 @@ dir HLT {
       }
       hist muChainEFiso1_ESid_L2MuonSA_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/ES_muChainEFiso1/idtrk/wrtOffline
-        algorithm = TRMUO_fermi_fit_mu24i_L2MuonSA_Fit
+	#algorithm = TRMUO_fermi_fit_mu24i_L2MuonSA_Fit
+        algorithm = TRMUO_fermi_fit_L1MU20_Fit
+# we see almost L1 turn-on curves for L2MuonSA eff wrt offline muons
       }
       hist muChainEFiso1_ESid_MuComb_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/ES_muChainEFiso1/idtrk/wrtOffline
@@ -689,7 +691,9 @@ dir HLT {
 # wrtOffline
       hist muChainEFiso1_L2MuonSA_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChainEFiso1/wrtOffline
-        algorithm = TRMUO_fermi_fit_mu24i_L2MuonSA_Fit
+        #algorithm = TRMUO_fermi_fit_mu24i_L2MuonSA_Fit
+        algorithm = TRMUO_fermi_fit_L1MU20_Fit
+# we see almost L1 turn-on curves for L2MuonSA eff wrt offline muons
       }
       hist muChainEFiso1_MuComb_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChainEFiso1/wrtOffline
@@ -701,7 +705,9 @@ dir HLT {
       }
       hist muChainEFiso1_L2MuonSA_Barrel_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChainEFiso1/wrtOffline
-        algorithm = TRMUO_fermi_fit_mu24i_L2MuonSA_Fit
+        #algorithm = TRMUO_fermi_fit_mu24i_L2MuonSA_Fit
+        algorithm = TRMUO_fermi_fit_L1MU20_Fit
+# we see almost L1 turn-on curves for L2MuonSA eff wrt offline muons
       }
       hist muChainEFiso1_MuComb_Barrel_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChainEFiso1/wrtOffline
@@ -713,7 +719,9 @@ dir HLT {
       }
       hist muChainEFiso1_L2MuonSA_Endcap_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChainEFiso1/wrtOffline
-        algorithm = TRMUO_fermi_fit_mu24i_L2MuonSA_Fit
+        #algorithm = TRMUO_fermi_fit_mu24i_L2MuonSA_Fit
+        algorithm = TRMUO_fermi_fit_L1MU20_Fit
+# we see almost L1 turn-on curves for L2MuonSA eff wrt offline muons
       }
       hist muChainEFiso1_MuComb_Endcap_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChainEFiso1/wrtOffline
@@ -727,7 +735,9 @@ dir HLT {
 # wrtOffline/TakenByMSonly
       hist muChainEFiso1_MSb_L2MuonSA_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChainEFiso1/wrtOffline/TakenByMSonly
-        algorithm = TRMUO_fermi_fit_mu24i_L2MuonSA_Fit
+        #algorithm = TRMUO_fermi_fit_mu24i_L2MuonSA_Fit
+        algorithm = TRMUO_fermi_fit_L1MU20_Fit
+# we see almost L1 turn-on curves for L2MuonSA eff wrt offline muons
       }
       hist muChainEFiso1_MSb_MuComb_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChainEFiso1/wrtOffline/TakenByMSonly
@@ -825,7 +835,8 @@ dir HLT {
       }
       hist muChain1_ESid_L2MuonSA_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/ES_muChain1/idtrk/wrtOffline
-        algorithm = TRMUO_fermi_fit_mu50_L2MuonSA_Fit
+        algorithm = TRMUO_fermi_fit_L1MU20_Fit
+# we see almost L1 threshold for L2MuonSA eff wrt offline muons
       }
       hist muChain1_ESid_MuComb_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/ES_muChain1/idtrk/wrtOffline
@@ -946,7 +957,9 @@ dir HLT {
 # wrtOffline
       hist muChain1_L2MuonSA_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtOffline
-        algorithm = TRMUO_fermi_fit_mu50_L2MuonSA_Fit
+        #algorithm = TRMUO_fermi_fit_mu50_L2MuonSA_Fit
+        algorithm = TRMUO_fermi_fit_L1MU20_Fit
+# we see almost L1 threshold for L2MuonSA eff wrt offline muons
       }
       hist muChain1_MuComb_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtOffline
@@ -958,7 +971,9 @@ dir HLT {
       }
       hist muChain1_L2MuonSA_Barrel_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtOffline
-        algorithm = TRMUO_fermi_fit_mu50_L2MuonSA_Fit
+        #algorithm = TRMUO_fermi_fit_mu50_L2MuonSA_Fit
+        algorithm = TRMUO_fermi_fit_L1MU20_Fit
+# we see almost L1 threshold for L2MuonSA eff wrt offline muons
       }
       hist muChain1_MuComb_Barrel_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtOffline
@@ -970,7 +985,9 @@ dir HLT {
       }
       hist muChain1_L2MuonSA_Endcap_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtOffline
-        algorithm = TRMUO_fermi_fit_mu50_L2MuonSA_Fit
+        #algorithm = TRMUO_fermi_fit_mu50_L2MuonSA_Fit
+        algorithm = TRMUO_fermi_fit_L1MU20_Fit
+# we see almost L1 threshold for L2MuonSA eff wrt offline muons
       }
       hist muChain1_MuComb_Endcap_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtOffline
@@ -983,7 +1000,9 @@ dir HLT {
 # wrtOffline/TakenByMSonly
       hist muChain1_MSb_L2MuonSA_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtOffline/TakenByMSonly
-        algorithm = TRMUO_fermi_fit_mu50_L2MuonSA_Fit
+        #algorithm = TRMUO_fermi_fit_mu50_L2MuonSA_Fit
+        algorithm = TRMUO_fermi_fit_L1MU20_Fit
+# we see almost L1 turn-on curves for L2MuonSA eff wrt offline muons
       }
       hist muChain1_MSb_MuComb_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtOffline/TakenByMSonly
@@ -1070,7 +1089,9 @@ dir HLT {
       }
       hist muChainMSonly1_EStag_L2MuonSA_Turn_On_Curve_wrt_MuidSA_Fit {
         output = HLT/TRMUO/Expert/ES_muChainMSonly1/muCombTag/wrtOffline
-        algorithm = TRMUO_fermi_fit_mu60_MSonly_barrel_L2MuonSA_Fit
+	#algorithm = TRMUO_fermi_fit_mu60_MSonly_barrel_L2MuonSA_Fit
+        algorithm = TRMUO_fermi_fit_L1MU20_barrel_Fit
+# we see almost L1 turn-on curves for L2MuonSA wrt offline muons
       }
       hist muChainMSonly1_EStag_MuonEFSA_Turn_On_Curve_wrt_MuidSA_Fit {
         output = HLT/TRMUO/Expert/ES_muChainMSonly1/muCombTag/wrtOffline
@@ -1126,7 +1147,9 @@ dir HLT {
 # wrtOffline
       hist muChainMSonly1_L2MuonSA_Turn_On_Curve_wrt_MuidSA_Fit {
         output = HLT/TRMUO/Expert/muChainMSonly1/wrtOffline
-        algorithm = TRMUO_fermi_fit_mu60_MSonly_barrel_L2MuonSA_Fit
+        #algorithm = TRMUO_fermi_fit_mu60_MSonly_barrel_L2MuonSA_Fit
+        algorithm = TRMUO_fermi_fit_L1MU20_barrel_Fit
+# we see almost L1 turn-on curves for L2MuonSA wrt offline muons
       }
       hist muChainMSonly1_MuonEFSA_Turn_On_Curve_wrt_MuidSA_Fit {
         output = HLT/TRMUO/Expert/muChainMSonly1/wrtOffline
@@ -1134,7 +1157,9 @@ dir HLT {
       }
       hist muChainMSonly1_L2MuonSA_Barrel_Turn_On_Curve_wrt_MuidSA_Fit {
         output = HLT/TRMUO/Expert/muChainMSonly1/wrtOffline
-        algorithm = TRMUO_fermi_fit_mu60_MSonly_barrel_L2MuonSA_Fit
+        #algorithm = TRMUO_fermi_fit_mu60_MSonly_barrel_L2MuonSA_Fit
+        algorithm = TRMUO_fermi_fit_L1MU20_barrel_Fit
+# we see almost L1 turn-on curves for L2MuonSA wrt offline muons
       }
       hist muChainMSonly1_MuonEFSA_Barrel_Turn_On_Curve_wrt_MuidSA_Fit {
         output = HLT/TRMUO/Expert/muChainMSonly1/wrtOffline
@@ -2692,7 +2717,7 @@ algorithm TRMUO_fermi_fit_mu60_MSonly_barrel_EStag_L2MuonSA_upstream_Fit {
   libname = libdqm_algorithms.so
   name = Simple_fermi_Fit_Graph
   thresholds = th_TRMUO_fermi_fit_mu60_MSonly_barrel_EStag_L2MuonSA_upstream
-  MinPoint = 120
+  MinPoint = 50
   ImproveFit = 1.0
 #  MinSignificance = 2.0
 }
@@ -2710,7 +2735,7 @@ algorithm TRMUO_fermi_fit_mu60_MSonly_barrel_EStag_MuonEFSA_upstream_Fit {
   libname = libdqm_algorithms.so
   name = Simple_fermi_Fit_Graph
   thresholds = th_TRMUO_fermi_fit_mu60_MSonly_barrel_EStag_MuonEFSA_upstream
-  MinPoint = 120 
+  MinPoint = 50
   ImproveFit = 1.0
 #  MinSignificance = 2.0
 }
@@ -2740,7 +2765,7 @@ algorithm TRMUO_fermi_fit_mu50_ESid_MuonEFCB_upstream_Fit {
   libname = libdqm_algorithms.so
   name = Simple_fermi_Fit_Graph
   thresholds = th_TRMUO_fermi_fit_mu50_ESid_MuonEFCB_upstream
-  MinPoint = 120
+  MinPoint = 40
   ImproveFit = 1.0
 #  MinSignificance = 2.0
 }
@@ -3465,8 +3490,8 @@ thresholds th_TRMUO_fermi_fit_mu60_MSonly_barrel_EStag_L2MuonSA_upstream {
     error = 0.899
   }
   limits Threshold {
-    warning = 60.0
-    error   = 65.0
+    warning = 8.0
+    error   = 10.0
   }
   limits Resolution {
     warning = 3.0
@@ -3512,8 +3537,8 @@ thresholds th_TRMUO_fermi_fit_mu50_ESid_L2MuonSA_upstream {
     error = 0.979
   }
   limits Threshold {
-    warning = 50.0
-    error = 52.0
+    warning = 8.0
+    error = 10.0
   }
   limits Resolution {
     warning = 3.0
@@ -3529,8 +3554,8 @@ thresholds th_TRMUO_fermi_fit_mu50_ESid_muComb_upstream {
     error = 0.964
   }
   limits Threshold {
-    warning = 50.0
-    error = 52.0
+    warning = 22.0
+    error = 24.0
   }
   limits Resolution {
     warning = 3.0
@@ -3706,8 +3731,8 @@ thresholds th_TRMUO_fermi_fit_mu60_MSonly_barrel_L2MuonSA_upstream {
     error = 0.799
   }
   limits Threshold {
-    warning = 60.0
-    error   = 65.0
+    warning = 8.0
+    error   = 10.0
   }
   limits Resolution {
     warning = 3.0
@@ -3801,8 +3826,8 @@ thresholds th_TRMUO_fermi_fit_mu50_L2MuonSA_upstream {
     error = 0.98
   }
   limits Threshold {
-    warning = 50.0
-    error = 52.0
+    warning = 8.0
+    error = 10.0
   }
   limits Resolution {
     warning = 3.0
@@ -3817,8 +3842,8 @@ thresholds th_TRMUO_fermi_fit_mu50_muComb_upstream {
     error = 0.97
   }
   limits Threshold {
-    warning = 50.0
-    error = 52.0
+    warning = 22.0
+    error = 24.0
   }
   limits Resolution {
     warning = 2.0
@@ -3880,8 +3905,8 @@ thresholds th_TRMUO_fermi_fit_mu50_L2MuonSA {
     error = 0.599
   }
   limits Threshold {
-    warning = 50.0
-    error = 52.0
+    warning = 8.0
+    error = 10.0
   }
   limits Resolution {
     warning = 3.0
@@ -3896,8 +3921,8 @@ thresholds th_TRMUO_fermi_fit_mu50_muComb {
     error = 0.599
   }
   limits Threshold {
-    warning = 50.0
-    error = 52.0
+    warning = 22.0
+    error = 24.0
   }
   limits Resolution {
     warning = 2.0
@@ -3958,8 +3983,8 @@ thresholds th_TRMUO_fermi_fit_mu24i_L2MuonSA_upstream {
     error = 0.799
   }
   limits Threshold {
-    warning = 26.5
-    error   = 28.0
+    warning = 8.0
+    error   = 10.0
   }
   limits Resolution {
     warning = 2.0
@@ -3974,8 +3999,8 @@ thresholds th_TRMUO_fermi_fit_mu24i_muComb_upstream {
     error = 0.799
   }
   limits Threshold {
-    warning = 26.5
-    error   = 28.0
+    warning = 22.0
+    error   = 24.0
   }
   limits Resolution {
     warning = 1.0
@@ -4038,8 +4063,8 @@ thresholds th_TRMUO_fermi_fit_mu24i_ESid_L2MuonSA_upstream {
     error = 0.979
   }
   limits Threshold {
-    warning = 26.5
-    error   = 28.0
+    warning = 8.0
+    error   = 10.0
   }
   limits Resolution {
     warning = 2.0
@@ -4056,8 +4081,8 @@ thresholds th_TRMUO_fermi_fit_mu24i_ESid_muComb_upstream {
     error = 0.964
   }
   limits Threshold {
-    warning = 26.5
-    error   = 28.0
+    warning = 22.0
+    error   = 24.0
   }
   limits Resolution {
     warning = 2.0
@@ -4090,8 +4115,8 @@ thresholds th_TRMUO_fermi_fit_mu24i_L2MuonSA {
     error = 0.599
   }
   limits Threshold {
-    warning = 26.5
-    error   = 28.0
+    warning = 8.0
+    error   = 10.0
   }
   limits Resolution {
     warning = 2.0
@@ -4106,8 +4131,8 @@ thresholds th_TRMUO_fermi_fit_mu24i_muComb {
     error = 0.599
   }
   limits Threshold {
-    warning = 26.5
-    error   = 28.0
+    warning = 22.0
+    error   = 24.0
   }
   limits Resolution {
     warning = 1.0
diff --git a/DataQuality/DataQualityConfigurations/config/HLT/HLTmuon/heavyions_run.config b/DataQuality/DataQualityConfigurations/config/HLT/HLTmuon/heavyions_run.config
index 4c275cf3285d..55fcd7f7dcd9 100644
--- a/DataQuality/DataQualityConfigurations/config/HLT/HLTmuon/heavyions_run.config
+++ b/DataQuality/DataQualityConfigurations/config/HLT/HLTmuon/heavyions_run.config
@@ -476,13 +476,14 @@ dir HLT {
       hist muChain1_highpt_effsummary_by_ESid {
         output = HLT/TRMUO/Expert/ES_muChain1
         algorithm = TRMUO_GatherDataNoRef
+        description = muChain1 corresponds to chain HLT_mu8.
 	##description = check history efficiencies <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FES_muChain1%2Fmu8_highpt_effsummary_by_ESid%40shifter&result=BinContentDump%7CEF+algorithm&error=&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.85&high_y=1.05&outputtype=png">EF algorithm</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FES_muChain1%2Fmu8_highpt_effsummary_by_ESid%40shifter&result=BinContentDump%7CMuComb&error=&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.85&high_y=1.05&outputtype=png" >MuComb</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FES_muChain1%2Fmu8_highpt_effsummary_by_ESid%40shifter&result=BinContentDump%7CL2MuonSA&error=&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.85&high_y=1.05&outputtype=png">L2MuonSA</a>
         ## need to put reference and compare!
       }
       hist muChain1_highpt_effsummary_by_ESid@shifter {
         output = HLT/TRMUO/Shift/ES_muChain1
         algorithm = effalgmin_3bins
-        description = muChain1 corresponds to chain HLT_mu15_L1MU10. Shifters could click on the link (BinContentDump) on bottom right to see the history efficiencies for each bin.
+        description = muChain1 corresponds to chain HLT_mu8. Shifters could click on the link (BinContentDump) on bottom right to see the history efficiencies for each bin.
 	#description = check history efficiencies <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FES_muChain1%2Fmu8_highpt_effsummary_by_ESid%40shifter&result=BinContentDump%7CEF+algorithm&error=BinContentDump%7CEF+algorithmError&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.85&high_y=1.05&outputtype=png">EF algorithm</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FES_muChain1%2Fmu8_highpt_effsummary_by_ESid%40shifter&result=BinContentDump%7CMuComb&error=BinContentDump%7CMuCombError&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.85&high_y=1.05&outputtype=png" >MuComb</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FES_muChain1%2Fmu8_highpt_effsummary_by_ESid%40shifter&result=BinContentDump%7CL2MuonSA&error=BinContentDump%7CL2MuonSAError&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.85&high_y=1.05&outputtype=png">L2MuonSA</a>
         ## need to put reference and compare!
       }
@@ -491,51 +492,63 @@ dir HLT {
       hist muChain1_ESid_L2MuonSA_Turn_On_Curve_wrt_L1_Fit {
         output = HLT/TRMUO/Expert/ES_muChain1/idtrk/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu10_L2MuonSA_upstream_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_ESid_MuComb_Turn_On_Curve_wrt_L2MuonSA_Fit {
         output = HLT/TRMUO/Expert/ES_muChain1/idtrk/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu10_muComb_upstream_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_ESid_EFmuon_Turn_On_Curve_wrt_MuComb_Fit {
         output = HLT/TRMUO/Expert/ES_muChain1/idtrk/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu10_MuonEFCB_upstream_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_ESid_L2MuonSA_Turn_On_Curve_wrt_L1_Fit@shifter {
         output = HLT/TRMUO/Shift/ES_muChain1
         algorithm = TRMUO_fermi_fit_mu10_ESid_L2MuonSA_upstream_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_ESid_MuComb_Turn_On_Curve_wrt_L2MuonSA_Fit@shifter {
         output = HLT/TRMUO/Shift/ES_muChain1
         algorithm = TRMUO_fermi_fit_mu10_ESid_muComb_upstream_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_ESid_EFmuon_Turn_On_Curve_wrt_MuComb_Fit@shifter {
         output = HLT/TRMUO/Shift/ES_muChain1
         algorithm = TRMUO_fermi_fit_mu10_ESid_MuonEFCB_upstream_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
 # ESid/wrtOffline
       hist muChain1_ESid_L1_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/ES_muChain1/idtrk/wrtOffline
         algorithm = TRMUO_fermi_fit_L1MU0_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_ESid_L1_Barrel_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/ES_muChain1/idtrk/wrtOffline
         algorithm = TRMUO_fermi_fit_L1MU0_barrel_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_ESid_L1_Endcap_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/ES_muChain1/idtrk/wrtOffline
         algorithm = TRMUO_fermi_fit_L1MU0_endcap_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_ESid_L2MuonSA_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/ES_muChain1/idtrk/wrtOffline
         algorithm = TRMUO_fermi_fit_mu10_L2MuonSA_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_ESid_MuComb_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/ES_muChain1/idtrk/wrtOffline
         algorithm = TRMUO_fermi_fit_mu10_muComb_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_ESid_EFmuon_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/ES_muChain1/idtrk/wrtOffline
         algorithm = TRMUO_fermi_fit_mu10_MuonEFCB_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
 
 ### mu10 (all ES and bulk)
@@ -543,27 +556,28 @@ dir HLT {
       hist muChain1_highptL1plateau_wrtOffline {
         output = HLT/TRMUO/Expert/muChain1
         algorithm = TRMUO_GatherDataNoRef
-	description = the L1 item for muChain1 (HLT_mu15_L1MU10) is L1MU10. For express stream, efficiencies measured with Jpsi T&P method are biased due to stream prescales, thus significantly larger than reference. For physics stream, no such bias. Shifters should check the efficiencies carefully for physics stream.
+	description = the L1 item for muChain1 (HLT_mu8) is L1MU6. For express stream, efficiencies measured with Jpsi T&P method are biased due to stream prescales, thus significantly larger than reference. For physics stream, no such bias. Shifters should check the efficiencies carefully for physics stream.
 	#description = check history efficiencies: <br> express_express: <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu8_highptL1plateau_wrtOffline%40shifter&result=BinContentDump%7CBarrel+30-100+GeV+Z+T%26P&error=&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=-0.05&high_y=1.05&outputtype=png">Barrel 30-100 GeV Z T&P</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu8_highptL1plateau_wrtOffline%40shifter&result=BinContentDump%7CEndcap+30-100+GeV+Z+T%26P&error=&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=-0.05&high_y=1.05&outputtype=png">Endcap 30-100 GeV Z T&P</a> <br> physics_Muons: <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu8_highptL1plateau_wrtOffline%40shifter&result=BinContentDump%7CBarrel+30-100+GeV+Z+T%26P&error=&stream=physics_Muons&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=-0.05&high_y=1.05&outputtype=png">Barrel 30-100 GeV Z T&P</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu8_highptL1plateau_wrtOffline%40shifter&result=BinContentDump%7CEndcap+30-100+GeV+Z+T%26P&error=&stream=physics_Muons&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=-0.05&high_y=1.05&outputtype=png">Endcap 30-100 GeV Z T&P</a>
         ## need to put reference and compare!
       }
       hist muChain1_highptL1plateau_wrtOffline@shifter {
         output = HLT/TRMUO/Shift/JpsiTP
         algorithm = effalgmin_3bins
-	description = the L1 item for muChain1 (HLT_mu15_L1MU10) is L1MU10. For express stream, efficiencies measured with Jpsi T&P method are biased due to stream prescales, thus significantly larger than reference. For physics stream, no such bias. Shifters should check the efficiencies carefully for physics stream.
+	description = the L1 item for muChain1 (HLT_mu8) is L1MU6. For express stream, efficiencies measured with Jpsi T&P method are biased due to stream prescales, thus significantly larger than reference. For physics stream, no such bias. Shifters should check the efficiencies carefully for physics stream.
 	#description = check history efficiencies: <br> express_express: <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu8_highptL1plateau_wrtOffline%40shifter&result=BinContentDump%7CBarrel+30-100+GeV+Z+T%26P&error=BinContentDump%7CBarrel+30-100+GeV+Z+T%26PError&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.55&high_y=1.01&outputtype=png">Barrel 30-100 GeV Z T&P</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu8_highptL1plateau_wrtOffline%40shifter&result=BinContentDump%7CEndcap+30-100+GeV+Z+T%26P&error=BinContentDump%7CEndcap+30-100+GeV+Z+T%26PError&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.75&high_y=1.01&outputtype=png">Endcap 30-100 GeV Z T&P</a> <br> physics_Muons: <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu8_highptL1plateau_wrtOffline%40shifter&result=BinContentDump%7CBarrel+30-100+GeV+Z+T%26P&error=BinContentDump%7CBarrel+30-100+GeV+Z+T%26PError&stream=physics_Muons&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.55&high_y=0.80&outputtype=png">Barrel 30-100 GeV Z T&P</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu8_highptL1plateau_wrtOffline%40shifter&result=BinContentDump%7CEndcap+30-100+GeV+Z+T%26P&error=BinContentDump%7CEndcap+30-100+GeV+Z+T%26PError&stream=physics_Muons&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.75&high_y=0.95&outputtype=png">Endcap 30-100 GeV Z T&P</a>
         ## need to put reference and compare!
       }
       hist muChain1_highpt3bins_effwrtL1 {
         output = HLT/TRMUO/Expert/muChain1
         algorithm = TRMUO_GatherDataNoRef
-	description = muChain1 corresponds to chain HLT_mu15_L1MU10. For express stream, efficiencies measured with Z T&P method are biased due to stream prescales, thus expected to be larger than reference. For physics stream, no such bias. Shifters should check the efficiencies carefully for physics stream.
+	description = muChain1 corresponds to chain HLT_mu8. For express stream, efficiencies measured with Z T&P method are biased due to stream prescales, thus expected to be larger than reference. For physics stream, no such bias. Shifters should check the efficiencies carefully for physics stream.
 	#description = check history efficiencies: <br> express_express: <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu8_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C30-50+GeV+Z+T%26P&error=&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.90&high_y=1.05&outputtype=png">30-50 GeV Z T&P</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu8_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C50-100+GeV+Z+T%26P&error=&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.90&high_y=1.05&outputtype=png">50-100 GeV Z T&P</a> <br> physics_Muons: <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu8_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C30-50+GeV+Z+T%26P&error=&stream=physics_Muons&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.90&high_y=1.05&outputtype=png">30-50 GeV Z T&P</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu8_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C50-100+GeV+Z+T%26P&error=&stream=physics_Muons&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.90&high_y=1.05&outputtype=png">50-100 GeV Z T&P</a>
         ## need to put reference and compare!
       }
       hist muChain1_highpt3bins_effwrtL1@shifter {
         output = HLT/TRMUO/Shift/JpsiTP
         algorithm = effalgmin_2bins
+        description = muChain1 corresponds to chain HLT_mu8.
 	#description = check history efficiencies: <br> express_express: <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu8_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C30-50+GeV+Z+T%26P&error=BinContentDump%7C30-50+GeV+Z+T%26PError&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.90&high_y=1.05&outputtype=png">30-50 GeV Z T&P</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu8_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C50-100+GeV+Z+T%26P&error=BinContentDump%7C50-100+GeV+Z+T%26PError&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.90&high_y=1.05&outputtype=png">50-100 GeV Z T&P</a> <br> physics_Muons: <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu8_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C30-50+GeV+Z+T%26P&error=BinContentDump%7C30-50+GeV+Z+T%26PError&stream=physics_Muons&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.90&high_y=1.05&outputtype=png">30-50 GeV Z T&P</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu8_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C50-100+GeV+Z+T%26P&error=BinContentDump%7C50-100+GeV+Z+T%26PError&stream=physics_Muons&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.90&high_y=1.05&outputtype=png">50-100 GeV Z T&P</a>
         ## need to put reference and compare!
       }
@@ -576,38 +590,47 @@ dir HLT {
       hist muChain1_L2MuonSA_Turn_On_Curve_wrt_L1_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu10_L2MuonSA_upstream_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_MuComb_Turn_On_Curve_wrt_L2MuonSA_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu10_muComb_upstream_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_EFmuon_Turn_On_Curve_wrt_MuComb_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu10_MuonEFCB_upstream_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_L2MuonSA_Turn_On_Curve_wrt_L1_Barrel_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu10_L2MuonSA_upstream_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_MuComb_Turn_On_Curve_wrt_L2MuonSA_Barrel_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu10_muComb_upstream_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_EFmuon_Turn_On_Curve_wrt_MuComb_Barrel_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu10_MuonEFCB_upstream_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_L2MuonSA_Turn_On_Curve_wrt_L1_Endcap_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu10_L2MuonSA_upstream_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_MuComb_Turn_On_Curve_wrt_L2MuonSA_Endcap_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu10_muComb_upstream_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_EFmuon_Turn_On_Curve_wrt_MuComb_Endcap_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu10_MuonEFCB_upstream_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
 # wrtUpstream/TakenByMSonly
       hist muChain1_MSb_L2MuonSA_Turn_On_Curve_wrt_L1_Fit {
@@ -651,38 +674,47 @@ dir HLT {
       hist muChain1_L2MuonSA_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtOffline
         algorithm = TRMUO_fermi_fit_mu10_L2MuonSA_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_MuComb_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtOffline
         algorithm = TRMUO_fermi_fit_mu10_muComb_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_EFmuon_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtOffline
         algorithm = TRMUO_fermi_fit_mu10_MuonEFCB_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_L2MuonSA_Barrel_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtOffline
         algorithm = TRMUO_fermi_fit_mu10_L2MuonSA_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_MuComb_Barrel_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtOffline
         algorithm = TRMUO_fermi_fit_mu10_muComb_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_EFmuon_Barrel_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtOffline
         algorithm = TRMUO_fermi_fit_mu10_MuonEFCB_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_L2MuonSA_Endcap_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtOffline
         algorithm = TRMUO_fermi_fit_mu10_L2MuonSA_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_MuComb_Endcap_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtOffline
         algorithm = TRMUO_fermi_fit_mu10_muComb_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
       hist muChain1_EFmuon_Endcap_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain1/wrtOffline
         algorithm = TRMUO_fermi_fit_mu10_MuonEFCB_Fit
+        description = muChain1 corresponds to chain HLT_mu8.
       }
 # wrtOffline/TakenByMSonly
       hist muChain1_MSb_L2MuonSA_Turn_On_Curve_wrt_MuidCB_Fit {
@@ -731,14 +763,14 @@ dir HLT {
       hist muChain2_highpt_effsummary_by_ESid {
         output = HLT/TRMUO/Expert/ES_muChain2
         algorithm = TRMUO_GatherDataNoRef
-        description = muChain2 corresponds to chain HLT_mu14. Shifters could click on the link (BinContentDump) on bottom right to see the history efficiencies for each bin. 
+        description = muChain2 corresponds to chain HLT_mu3. Shifters could click on the link (BinContentDump) on bottom right to see the history efficiencies for each bin. 
 	#description = check history efficiencies <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FES_muChain2%2Fmu6_highpt_effsummary_by_ESid%40shifter&result=BinContentDump%7CEF+algorithm&error=&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.85&high_y=1.05&outputtype=png">EF algorithm</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FES_muChain2%2Fmu6_highpt_effsummary_by_ESid%40shifter&result=BinContentDump%7CMuComb&error=&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.85&high_y=1.05&outputtype=png" >MuComb</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FES_muChain2%2Fmu6_highpt_effsummary_by_ESid%40shifter&result=BinContentDump%7CL2MuonSA&error=&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.85&high_y=1.05&outputtype=png">L2MuonSA</a>
         ## need to put reference and compare!
       }
       hist muChain2_highpt_effsummary_by_ESid@shifter {
         output = HLT/TRMUO/Shift/ES_muChain2
         algorithm = effalgmin_3bins
-        description = muChain2 corresponds to chain HLT_mu14. Shifters could click on the link (BinContentDump) on bottom right to see the history efficiencies for each bin. 
+        description = muChain2 corresponds to chain HLT_mu3. Shifters could click on the link (BinContentDump) on bottom right to see the history efficiencies for each bin. 
 #	description = check history efficiencies <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FES_muChain2%2Fmu6_highpt_effsummary_by_ESid%40shifter&result=BinContentDump%7CEF+algorithm&error=BinContentDump%7CEF+algorithmError&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.85&high_y=1.05&outputtype=png">EF algorithm</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FES_muChain2%2Fmu6_highpt_effsummary_by_ESid%40shifter&result=BinContentDump%7CMuComb&error=BinContentDump%7CMuCombError&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.85&high_y=1.05&outputtype=png" >MuComb</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FES_muChain2%2Fmu6_highpt_effsummary_by_ESid%40shifter&result=BinContentDump%7CL2MuonSA&error=BinContentDump%7CL2MuonSAError&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.85&high_y=1.05&outputtype=png">L2MuonSA</a>
         ## need to put reference and compare!
       }
@@ -747,51 +779,63 @@ dir HLT {
       hist muChain2_ESid_L2MuonSA_Turn_On_Curve_wrt_L1_Fit {
         output = HLT/TRMUO/Expert/ES_muChain2/idtrk/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu14_L2MuonSA_upstream_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_ESid_MuComb_Turn_On_Curve_wrt_L2MuonSA_Fit {
         output = HLT/TRMUO/Expert/ES_muChain2/idtrk/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu14_muComb_upstream_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_ESid_EFmuon_Turn_On_Curve_wrt_MuComb_Fit {
         output = HLT/TRMUO/Expert/ES_muChain2/idtrk/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu14_MuonEFCB_upstream_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_ESid_L2MuonSA_Turn_On_Curve_wrt_L1_Fit@shifter {
         output = HLT/TRMUO/Shift/ES_muChain2
         algorithm = TRMUO_fermi_fit_mu14_ESid_L2MuonSA_upstream_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_ESid_MuComb_Turn_On_Curve_wrt_L2MuonSA_Fit@shifter {
         output = HLT/TRMUO/Shift/ES_muChain2
         algorithm = TRMUO_fermi_fit_mu14_ESid_muComb_upstream_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_ESid_EFmuon_Turn_On_Curve_wrt_MuComb_Fit@shifter {
         output = HLT/TRMUO/Shift/ES_muChain2
         algorithm = TRMUO_fermi_fit_mu14_ESid_MuonEFCB_upstream_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
 # ESid/wrtOffline
       hist muChain2_ESid_L1_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/ES_muChain2/idtrk/wrtOffline
         algorithm = TRMUO_fermi_fit_L1MU0_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_ESid_L1_Barrel_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/ES_muChain2/idtrk/wrtOffline
         algorithm = TRMUO_fermi_fit_L1MU0_barrel_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_ESid_L1_Endcap_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/ES_muChain2/idtrk/wrtOffline
         algorithm = TRMUO_fermi_fit_L1MU0_endcap_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_ESid_L2MuonSA_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/ES_muChain2/idtrk/wrtOffline
         algorithm = TRMUO_fermi_fit_mu14_L2MuonSA_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_ESid_MuComb_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/ES_muChain2/idtrk/wrtOffline
         algorithm = TRMUO_fermi_fit_mu14_muComb_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_ESid_EFmuon_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/ES_muChain2/idtrk/wrtOffline
         algorithm = TRMUO_fermi_fit_mu14_MuonEFCB_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
 
 ### mu14 (all ES and bulk)
@@ -799,19 +843,20 @@ dir HLT {
       hist muChain2_highptL1plateau_wrtOffline {
         output = HLT/TRMUO/Expert/muChain2
         algorithm = TRMUO_GatherDataNoRef
+	description = muChain2 corresponds to chain HLT_mu3.
         ## need to put reference and compare!
       }
       hist muChain2_highpt3bins_effwrtL1 {
         output = HLT/TRMUO/Expert/muChain2
         algorithm = TRMUO_GatherDataNoRef
-	description = muChain2 corresponds to chain HLT_mu14. For express stream, efficiencies measured with Jpsi T&P method are biased due to stream prescales, thus expected to be larger than reference. For physics stream, no such bias. Shifters should check the efficiencies carefully for physics stream.
+	description = muChain2 corresponds to chain HLT_mu3. For express stream, efficiencies measured with Jpsi T&P method are biased due to stream prescales, thus expected to be larger than reference. For physics stream, no such bias. Shifters should check the efficiencies carefully for physics stream.
 	#description = check history efficiencies: <br> express_express: <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu6_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C30-50+GeV+Z+T%26P&error=&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=-0.05&high_y=1.05&outputtype=png">30-50 GeV Z T&P</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu6_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C50-100+GeV+Z+T%26P&error=&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=-0.05&high_y=1.05&outputtype=png">50-100 GeV Z T&P</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu6_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C100-300+GeV+MSonly_barrel-tagged&error=&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=-0.05&high_y=1.05&outputtype=png">100-300 GeV MSonly_barrel-tagged</a> <br> physics_Muons: <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu6_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C30-50+GeV+Z+T%26P&error=&stream=physics_Muons&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=-0.05&high_y=1.05&outputtype=png">30-50 GeV Z T&P</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu6_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C50-100+GeV+Z+T%26P&error=&stream=physics_Muons&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=-0.05&high_y=1.05&outputtype=png">50-100 GeV Z T&P</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu6_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C100-300+GeV+MSonly_barrel-tagged&error=&stream=physics_Muons&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=-0.05&high_y=1.05&outputtype=png">100-300 GeV MSonly_barrel-tagged</a>
         ## need to put reference and compare!
       }
       hist muChain2_highpt3bins_effwrtL1@shifter {
         output = HLT/TRMUO/Shift/JpsiTP
         algorithm = effalgmin_2bins
-	description = muChain2 corresponds to chain HLT_mu14. For express stream, efficiencies measured with Jpsi T&P method are biased due to stream prescales, thus expected to be larger than reference. For physics stream, no such bias. Shifters should check the efficiencies carefully for physics stream.
+	description = muChain2 corresponds to chain HLT_mu3. For express stream, efficiencies measured with Jpsi T&P method are biased due to stream prescales, thus expected to be larger than reference. For physics stream, no such bias. Shifters should check the efficiencies carefully for physics stream.
 	#description = check history efficiencies: <br> express_express: <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu6_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C30-50+GeV+Z+T%26P&error=BinContentDump%7C30-50+GeV+Z+T%26PError&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.75&high_y=0.90&outputtype=png">30-50 GeV Z T&P</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu6_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C50-100+GeV+Z+T%26P&error=BinContentDump%7C50-100+GeV+Z+T%26PError&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.90&high_y=1.01&outputtype=png">50-100 GeV Z T&P</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu6_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C100-300+GeV+MSonly_barrel-tagged&error=BinContentDump%7C100-300+GeV+MSonly_barrel-taggedError&stream=express_express&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.90&high_y=1.01&outputtype=png">100-300 GeV MSonly_barrel-tagged</a> <br> physics_Muons: <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu6_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C30-50+GeV+Z+T%26P&error=BinContentDump%7C30-50+GeV+Z+T%26PError&stream=physics_Muons&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.75&high_y=0.90&outputtype=png">30-50 GeV Z T&P</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu6_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C50-100+GeV+Z+T%26P&error=BinContentDump%7C50-100+GeV+Z+T%26PError&stream=physics_Muons&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.90&high_y=1.01&outputtype=png">50-100 GeV Z T&P</a> <a href="https://atlasdqm.cern.ch/dqmfquery/query?histogram=HLT%2FTRMUO%2FShift%2FZTP%2Fmu6_highpt3bins_effwrtL1%40shifter&result=BinContentDump%7C100-300+GeV+MSonly_barrel-tagged&error=BinContentDump%7C100-300+GeV+MSonly_barrel-taggedError&stream=physics_Muons&period_type=run&source=tier0&proc_ver=1&low_run=201000&high_run=&low_y=0.90&high_y=1.01&outputtype=png">100-300 GeV MSonly_barrel-tagged</a>
         ## need to put reference and compare!
       }
@@ -824,38 +869,47 @@ dir HLT {
       hist muChain2_L2MuonSA_Turn_On_Curve_wrt_L1_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu14_L2MuonSA_upstream_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_MuComb_Turn_On_Curve_wrt_L2MuonSA_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu14_muComb_upstream_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_EFmuon_Turn_On_Curve_wrt_MuComb_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu14_MuonEFCB_upstream_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_L2MuonSA_Turn_On_Curve_wrt_L1_Barrel_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu14_L2MuonSA_upstream_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_MuComb_Turn_On_Curve_wrt_L2MuonSA_Barrel_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu14_muComb_upstream_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_EFmuon_Turn_On_Curve_wrt_MuComb_Barrel_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu14_MuonEFCB_upstream_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_L2MuonSA_Turn_On_Curve_wrt_L1_Endcap_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu14_L2MuonSA_upstream_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_MuComb_Turn_On_Curve_wrt_L2MuonSA_Endcap_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu14_muComb_upstream_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_EFmuon_Turn_On_Curve_wrt_MuComb_Endcap_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtUpstream
         algorithm = TRMUO_fermi_fit_mu14_MuonEFCB_upstream_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
 # wrtUpstream/TakenByMSonly
       hist muChain2_MSb_L2MuonSA_Turn_On_Curve_wrt_L1_Fit {
@@ -899,38 +953,47 @@ dir HLT {
       hist muChain2_L2MuonSA_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtOffline
         algorithm = TRMUO_fermi_fit_mu14_L2MuonSA_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_MuComb_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtOffline
         algorithm = TRMUO_fermi_fit_mu14_muComb_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_EFmuon_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtOffline
         algorithm = TRMUO_fermi_fit_mu14_MuonEFCB_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_L2MuonSA_Barrel_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtOffline
         algorithm = TRMUO_fermi_fit_mu14_L2MuonSA_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_MuComb_Barrel_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtOffline
         algorithm = TRMUO_fermi_fit_mu14_muComb_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_EFmuon_Barrel_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtOffline
         algorithm = TRMUO_fermi_fit_mu14_MuonEFCB_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_L2MuonSA_Endcap_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtOffline
         algorithm = TRMUO_fermi_fit_mu14_L2MuonSA_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_MuComb_Endcap_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtOffline
         algorithm = TRMUO_fermi_fit_mu14_muComb_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
       hist muChain2_EFmuon_Endcap_Turn_On_Curve_wrt_MuidCB_Fit {
         output = HLT/TRMUO/Expert/muChain2/wrtOffline
         algorithm = TRMUO_fermi_fit_mu14_MuonEFCB_Fit
+	description = muChain2 corresponds to chain HLT_mu3.
       }
 # wrtOffline/TakenByMSonly
       hist muChain2_MSb_L2MuonSA_Turn_On_Curve_wrt_MuidCB_Fit {
@@ -3415,16 +3478,16 @@ thresholds th_TRMUO_fermi_fit_mu15_MSonly_EStag_MuonEFSA_upstream {
 
 thresholds th_TRMUO_fermi_fit_mu10_ESid_L2MuonSA_upstream {
   limits Plateau {
-    warning = 0.93
-    error = 0.929
+    warning = 0.95
+    error = 0.93
   }
   limits Threshold {
-    warning = 10.0
-    error   = 11.0
+    warning = 8.0
+    error   = 10.0
   }
   limits Resolution {
-    warning = 1.0
-    error   = 2.0
+    warning = 2.0
+    error   = 3.0
   }
 }
 
@@ -3463,16 +3526,16 @@ thresholds th_TRMUO_fermi_fit_mu10_ESid_MuonEFCB_upstream {
 #for Shift mu14
 thresholds th_TRMUO_fermi_fit_mu14_ESid_L2MuonSA_upstream {
   limits Plateau {
-    warning = 0.70
-    error = 0.699
+    warning = 0.95
+    error = 0.93
   }
   limits Threshold {
-    warning = 14.0
-    error = 15.0
+    warning = 5.0
+    error = 7.0
   }
   limits Resolution {
-    warning = 1.0
-    error   = 2.0
+    warning = 2.0
+    error   = 3.0
   }
 }
 
@@ -3481,11 +3544,11 @@ thresholds th_TRMUO_fermi_fit_mu14_ESid_muComb_upstream {
 #    warning = 0.98 # 120830
 #   warning = 0.97 # 110909
     warning = 0.95
-    error = 0.949
+    error = 0.93
   }
   limits Threshold {
-    warning = 14.0
-    error = 15.0
+    warning = 5.0
+    error = 7.0
   }
   limits Resolution {
     warning = 1.0
@@ -3496,16 +3559,16 @@ thresholds th_TRMUO_fermi_fit_mu14_ESid_muComb_upstream {
 
 thresholds th_TRMUO_fermi_fit_mu14_ESid_MuonEFCB_upstream {
   limits Plateau {
-    warning = 0.98
-    error = 0.979
+    warning = 0.95
+    error = 0.93
   }
   limits Threshold {
-    warning = 14.0
-    error = 15.0
+    warning = 5.0
+    error = 7.0
   }
   limits Resolution {
-    warning = 0.5
-    error   = 1.0
+    warning = 1.0
+    error   = 2.0
   }
 }
 
@@ -3683,8 +3746,8 @@ thresholds th_TRMUO_fermi_fit_mu10_L2MuonSA_upstream {
     error   = 11.0
   }
   limits Resolution {
-    warning = 1.0
-    error   = 2.0
+    warning = 2.0
+    error   = 3.0
   }
 }
 
diff --git a/DataQuality/DataQualityConfigurations/config/HLT/HLTtau/collisions_run.config b/DataQuality/DataQualityConfigurations/config/HLT/HLTtau/collisions_run.config
index 94fa0bd324d3..70d314ca9974 100644
--- a/DataQuality/DataQualityConfigurations/config/HLT/HLTtau/collisions_run.config
+++ b/DataQuality/DataQualityConfigurations/config/HLT/HLTtau/collisions_run.config
@@ -15,988 +15,784 @@
 
 
 output top_level {
-	output HLT {
-		output TauMon {
-			output Expert {
-				output Emulation {
-				}
-				output HLTefficiency {
-					output EffRatios_FTKvsNonFTK {
-					}
-				}
-				output RealZtautauEff {
-					output tau25_medium1_tracktwo {
-					}
-				}
-				output TopoDiTau {
-					output tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF {
-					}
-					output tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF_03dR30_L1DR-TAU20ITAU12I-J25 {
-					}
-					output tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF_L1DR-TAU20ITAU12I-J25 {
-					}
-					output tau35_medium1_tracktwo_tau25_medium1_tracktwo {
-					}
-					output tau35_medium1_tracktwo_tau25_medium1_tracktwo_03dR30_L1DR-TAU20ITAU12I {
-					}
-					output tau35_medium1_tracktwo_tau25_medium1_tracktwo_03dR30_L1DR-TAU20ITAU12I-J25 {
-					}
-					output tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1DR-TAU20ITAU12I {
-					}
-					output tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1DR-TAU20ITAU12I-J25 {
-					}
-					output tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM {
-					}
-					output tau80_medium1_tracktwoEF_L1TAU60_tau35_medium1_tracktwoEF_L1TAU12IM_L1TAU60_DR-TAU20ITAU12I {
-					}
-					output tau80_medium1_tracktwo_L1TAU60_tau35_medium1_tracktwo_L1TAU12IM_L1TAU60_DR-TAU20ITAU12I {
-					}
-				}
-				output TopoElTau {
-					output e17_lhmedium_nod0_ivarloose_tau25_medium1_tracktwo {
-					}
-					output e17_lhmedium_nod0_ivarloose_tau25_medium1_tracktwo_L1DR-EM15TAU12I-J25 {
-					}
-				}
-				output TopoMuTau {
-					output mu14_ivarloose_tau25_medium1_tracktwo {
-					}
-					output mu14_ivarloose_tau25_medium1_tracktwo_L1DR-MU10TAU12I_TAU12I-J25 {
-					}
-				}
-				output dijetFakeTausEff {
-					output tau160_idperf_tracktwo_L1TAU100 {
-					}
-					output tau160_medium1_tracktwo_L1TAU100 {
-					}
-					output tau80_medium1_tracktwo_L1TAU60 {
-					}
-				}
-				output tau0_perf_ptonly_L1TAU100 {
-					output EFTau {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output EFVsOffline {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output L1RoI {
-					}
-					output L1VsOffline {
-					}
-					output TurnOnCurves {
-						output RecoEfficiency {
-						}
-					}
-				}
-				output tau0_perf_ptonly_L1TAU12 {
-					output EFTau {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output EFVsOffline {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output L1RoI {
-					}
-					output L1VsOffline {
-					}
-					output TurnOnCurves {
-						output RecoEfficiency {
-						}
-					}
-				}
-				output tau160_idperf_tracktwo_L1TAU100 {
-					output EFTau {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output EFVsOffline {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output L1RoI {
-					}
-					output L1VsOffline {
-					}
-					output PreselectionTau {
-					}
-					output PreselectionVsOffline {
-					}
-					output TurnOnCurves {
-						output RecoEfficiency {
-						}
-					}
-				}
-				output tau160_medium1_tracktwo_L1TAU100 {
-					output EFTau {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output EFVsOffline {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output L1RoI {
-					}
-					output L1VsOffline {
-					}
-					output PreselectionTau {
-					}
-					output PreselectionVsOffline {
-					}
-					output TurnOnCurves {
-						output RecoEfficiency {
-						}
-					}
-				}
-				output tau160_perf_tracktwo_L1TAU100 {
-					output EFTau {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output EFVsOffline {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output L1RoI {
-					}
-					output L1VsOffline {
-					}
-					output PreselectionTau {
-					}
-					output PreselectionVsOffline {
-					}
-					output TurnOnCurves {
-						output RecoEfficiency {
-						}
-					}
-				}
-				output tau25_idperf_tracktwo {
-					output EFTau {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output EFVsOffline {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output L1RoI {
-					}
-					output L1VsOffline {
-					}
-					output PreselectionTau {
-					}
-					output PreselectionVsOffline {
-					}
-					output TurnOnCurves {
-						output RecoEfficiency {
-						}
-					}
-				}
-				output tau25_idperf_tracktwoEF {
-					output EFTau {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output EFVsOffline {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output L1RoI {
-					}
-					output L1VsOffline {
-					}
-					output TurnOnCurves {
-						output RecoEfficiency {
-						}
-					}
-				}
-				output tau25_idperf_tracktwoEFmvaTES {
-					output EFTau {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output EFVsOffline {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output L1RoI {
-					}
-					output L1VsOffline {
-					}
-					output TurnOnCurves {
-						output RecoEfficiency {
-						}
-					}
-				}
-				output tau25_idperf_tracktwoMVA {
-					output EFTau {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-						output RNN {
-							output InputScalar1p {
-							}
-							output InputScalar3p {
-							}
-							output Output {
-							}
-						}
-					}
-					output EFVsOffline {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output L1RoI {
-					}
-					output L1VsOffline {
-					}
-					output TurnOnCurves {
-						output RecoEfficiency {
-						}
-					}
-				}
-				output tau25_looseRNN_tracktwo {
-					output EFTau {
-						output RNN {
-							output InputScalar1p {
-							}
-							output InputScalar3p {
-							}
-							output Output {
-							}
-						}
-					}
-					output EFVsOffline {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output L1RoI {
-					}
-					output L1VsOffline {
-					}
-					output PreselectionTau {
-					}
-					output PreselectionVsOffline {
-					}
-					output TurnOnCurves {
-						output RecoEfficiency {
-						}
-					}
-				}
-				output tau25_looseRNN_tracktwoMVA {
-					output EFTau {
-						output RNN {
-							output InputScalar1p {
-							}
-							output InputScalar3p {
-							}
-							output Output {
-							}
-						}
-					}
-					output EFVsOffline {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output L1RoI {
-					}
-					output L1VsOffline {
-					}
-					output TurnOnCurves {
-						output RecoEfficiency {
-						}
-					}
-				}
-				output tau25_medium1NoPt_tracktwoEFmvaTES {
-					output EFTau {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output EFVsOffline {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output L1RoI {
-					}
-					output L1VsOffline {
-					}
-					output TurnOnCurves {
-						output RecoEfficiency {
-						}
-					}
-				}
-				output tau25_medium1_tracktwo {
-					output EFTau {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output EFVsOffline {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output L1RoI {
-					}
-					output L1VsOffline {
-					}
-					output PreselectionTau {
-					}
-					output PreselectionVsOffline {
-					}
-					output TurnOnCurves {
-						output RecoEfficiency {
-						}
-					}
-				}
-				output tau25_medium1_tracktwoEF {
-					output EFTau {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output EFVsOffline {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output L1RoI {
-					}
-					output L1VsOffline {
-					}
-					output TurnOnCurves {
-						output RecoEfficiency {
-						}
-					}
-				}
-				output tau25_medium1_tracktwoEFmvaTES {
-					output EFTau {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output EFVsOffline {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output L1RoI {
-					}
-					output L1VsOffline {
-					}
-					output TurnOnCurves {
-						output RecoEfficiency {
-						}
-					}
-				}
-				output tau25_medium1_tracktwoMVA {
-					output EFTau {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output EFVsOffline {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output L1RoI {
-					}
-					output L1VsOffline {
-					}
-					output TurnOnCurves {
-						output RecoEfficiency {
-						}
-					}
-				}
-				output tau25_mediumRNN_tracktwo {
-					output EFTau {
-						output RNN {
-							output InputScalar1p {
-							}
-							output InputScalar3p {
-							}
-							output Output {
-							}
-						}
-					}
-					output EFVsOffline {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output L1RoI {
-					}
-					output L1VsOffline {
-					}
-					output PreselectionTau {
-					}
-					output PreselectionVsOffline {
-					}
-					output TurnOnCurves {
-						output RecoEfficiency {
-						}
-					}
-				}
-				output tau25_mediumRNN_tracktwoMVA {
-					output EFTau {
-						output RNN {
-							output InputScalar1p {
-							}
-							output InputScalar3p {
-							}
-							output Output {
-							}
-						}
-					}
-					output EFVsOffline {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output L1RoI {
-					}
-					output L1VsOffline {
-					}
-					output TurnOnCurves {
-						output RecoEfficiency {
-						}
-					}
-				}
-				output tau25_perf_tracktwo {
-					output EFTau {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output EFVsOffline {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output L1RoI {
-					}
-					output L1VsOffline {
-					}
-					output PreselectionTau {
-					}
-					output PreselectionVsOffline {
-					}
-					output TurnOnCurves {
-						output RecoEfficiency {
-						}
-					}
-				}
-				output tau25_perf_tracktwoEF {
-					output EFTau {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output EFVsOffline {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output L1RoI {
-					}
-					output L1VsOffline {
-					}
-					output TurnOnCurves {
-						output RecoEfficiency {
-						}
-					}
-				}
-				output tau25_perf_tracktwoEFmvaTES {
-					output EFTau {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output EFVsOffline {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output L1RoI {
-					}
-					output L1VsOffline {
-					}
-					output TurnOnCurves {
-						output RecoEfficiency {
-						}
-					}
-				}
-				output tau25_perf_tracktwoMVA {
-					output EFTau {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-						output RNN {
-							output InputScalar1p {
-							}
-							output InputScalar3p {
-							}
-							output Output {
-							}
-						}
-					}
-					output EFVsOffline {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output L1RoI {
-					}
-					output L1VsOffline {
-					}
-					output TurnOnCurves {
-						output RecoEfficiency {
-						}
-					}
-				}
-				output tau25_tightRNN_tracktwo {
-					output EFTau {
-						output RNN {
-							output InputScalar1p {
-							}
-							output InputScalar3p {
-							}
-							output Output {
-							}
-						}
-					}
-					output EFVsOffline {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output L1RoI {
-					}
-					output L1VsOffline {
-					}
-					output PreselectionTau {
-					}
-					output PreselectionVsOffline {
-					}
-					output TurnOnCurves {
-						output RecoEfficiency {
-						}
-					}
-				}
-				output tau25_tightRNN_tracktwoMVA {
-					output EFTau {
-						output RNN {
-							output InputScalar1p {
-							}
-							output InputScalar3p {
-							}
-							output Output {
-							}
-						}
-					}
-					output EFVsOffline {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output L1RoI {
-					}
-					output L1VsOffline {
-					}
-					output TurnOnCurves {
-						output RecoEfficiency {
-						}
-					}
-				}
-				output tau25_verylooseRNN_tracktwo {
-					output EFTau {
-						output RNN {
-							output InputScalar1p {
-							}
-							output InputScalar3p {
-							}
-							output Output {
-							}
-						}
-					}
-					output EFVsOffline {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output L1RoI {
-					}
-					output L1VsOffline {
-					}
-					output PreselectionTau {
-					}
-					output PreselectionVsOffline {
-					}
-					output TurnOnCurves {
-						output RecoEfficiency {
-						}
-					}
-				}
-				output tau25_verylooseRNN_tracktwoMVA {
-					output EFTau {
-						output RNN {
-							output InputScalar1p {
-							}
-							output InputScalar3p {
-							}
-							output Output {
-							}
-						}
-					}
-					output EFVsOffline {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output L1RoI {
-					}
-					output L1VsOffline {
-					}
-					output TurnOnCurves {
-						output RecoEfficiency {
-						}
-					}
-				}
-				output tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM {
-					output EFTau {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output EFVsOffline {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output L1RoI {
-					}
-					output L1VsOffline {
-					}
-					output PreselectionTau {
-					}
-					output PreselectionVsOffline {
-					}
-					output TurnOnCurves {
-						output RecoEfficiency {
-						}
-					}
-				}
-				output tau35_medium1_tracktwo_xe70_L1XE45 {
-					output EFTau {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output EFVsOffline {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output L1RoI {
-					}
-					output L1VsOffline {
-					}
-					output PreselectionTau {
-					}
-					output PreselectionVsOffline {
-					}
-					output TurnOnCurves {
-						output RecoEfficiency {
-						}
-					}
-				}
-				output tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12 {
-					output EFTau {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output EFVsOffline {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output L1RoI {
-					}
-					output L1VsOffline {
-					}
-					output PreselectionTau {
-					}
-					output PreselectionVsOffline {
-					}
-					output TurnOnCurves {
-						output RecoEfficiency {
-						}
-					}
-				}
-				output tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40 {
-					output EFTau {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output EFVsOffline {
-						output BDT {
-							output 1p_nonCorrected {
-							}
-							output mp_nonCorrected {
-							}
-						}
-					}
-					output L1RoI {
-					}
-					output L1VsOffline {
-					}
-					output PreselectionTau {
-					}
-					output PreselectionVsOffline {
-					}
-					output TurnOnCurves {
-						output RecoEfficiency {
-						}
-					}
-				}
-			}
-			output Shifter {
-				output OtherPlots {
-					output tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF {
-					}
-					output tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF_03dR30_L1DR-TAU20ITAU12I-J25 {
-					}
-					output tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF_L1DR-TAU20ITAU12I-J25 {
-					}
-					output tau35_medium1_tracktwo_tau25_medium1_tracktwo {
-					}
-					output tau35_medium1_tracktwo_tau25_medium1_tracktwo_03dR30_L1DR-TAU20ITAU12I {
-					}
-					output tau35_medium1_tracktwo_tau25_medium1_tracktwo_03dR30_L1DR-TAU20ITAU12I-J25 {
-					}
-					output tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1DR-TAU20ITAU12I {
-					}
-					output tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1DR-TAU20ITAU12I-J25 {
-					}
-					output tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM {
-					}
-					output tau80_medium1_tracktwoEF_L1TAU60_tau35_medium1_tracktwoEF_L1TAU12IM_L1TAU60_DR-TAU20ITAU12I {
-					}
-					output tau80_medium1_tracktwo_L1TAU60_tau35_medium1_tracktwo_L1TAU12IM_L1TAU60_DR-TAU20ITAU12I {
-					}
-				}
-				output tau25_medium1_tracktwo {
-					output EFTau {
-					}
-					output EFVsOffline {
-					}
-					output L1RoI {
-					}
-					output L1VsOffline {
-					}
-					output PreselectionTau {
-					}
-					output PreselectionVsOffline {
-					}
-					output TurnOnCurves {
-					}
-				}
-				output tau25_medium1_tracktwoEF {
-					output EFTau {
-					}
-					output EFVsOffline {
-					}
-					output L1RoI {
-					}
-					output L1VsOffline {
-					}
-					output TurnOnCurves {
-					}
-				}
-			}
-		}
-	}
+  output HLT {
+    output TauMon {
+      output Expert {
+        output Emulation {
+        }
+        output HLTefficiency {
+          output EffRatios_FTKvsNonFTK {
+          }
+        }
+        output RealZtautauEff {
+          output tau25_medium1_tracktwoEF {
+          }
+          output tau25_mediumRNN_tracktwoMVA {
+          }
+        }
+        output TopoDiTau {
+          output tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF {
+          }
+          output tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF_03dR30_L1DR-TAU20ITAU12I-J25 {
+          }
+          output tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF_L1DR-TAU20ITAU12I-J25 {
+          }
+          output tau35_medium1_tracktwo_tau25_medium1_tracktwo {
+          }
+          output tau35_medium1_tracktwo_tau25_medium1_tracktwo_03dR30_L1DR-TAU20ITAU12I-J25 {
+          }
+          output tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1DR-TAU20ITAU12I-J25 {
+          }
+          output tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM {
+          }
+          output tau80_medium1_tracktwoEF_L1TAU60_tau35_medium1_tracktwoEF_L1TAU12IM_L1TAU60_DR-TAU20ITAU12I {
+          }
+          output tau80_medium1_tracktwo_L1TAU60_tau35_medium1_tracktwo_L1TAU12IM_L1TAU60_DR-TAU20ITAU12I {
+          }
+        }
+        output TopoElTau {
+          output e17_lhmedium_nod0_ivarloose_tau25_medium1_tracktwo {
+          }
+          output e17_lhmedium_nod0_ivarloose_tau25_medium1_tracktwo_L1DR-EM15TAU12I-J25 {
+          }
+        }
+        output TopoMuTau {
+          output mu14_ivarloose_tau25_medium1_tracktwo {
+          }
+          output mu14_ivarloose_tau25_medium1_tracktwo_L1DR-MU10TAU12I_TAU12I-J25 {
+          }
+        }
+        output dijetFakeTausEff {
+          output tau160_idperf_tracktwo_L1TAU100 {
+          }
+          output tau160_medium1_tracktwo_L1TAU100 {
+          }
+          output tau80_medium1_tracktwo_L1TAU60 {
+          }
+        }
+        output tau0_perf_ptonly_L1TAU100 {
+          output EFTau {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output EFVsOffline {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output L1RoI {
+          }
+          output L1VsOffline {
+          }
+          output TurnOnCurves {
+            output RecoEfficiency {
+            }
+          }
+        }
+        output tau0_perf_ptonly_L1TAU12 {
+          output EFTau {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output EFVsOffline {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output L1RoI {
+          }
+          output L1VsOffline {
+          }
+          output TurnOnCurves {
+            output RecoEfficiency {
+            }
+          }
+        }
+        output tau160_idperf_tracktwo_L1TAU100 {
+          output EFTau {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output EFVsOffline {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output L1RoI {
+          }
+          output L1VsOffline {
+          }
+          output PreselectionTau {
+          }
+          output PreselectionVsOffline {
+          }
+          output TurnOnCurves {
+            output RecoEfficiency {
+            }
+          }
+        }
+        output tau160_medium1_tracktwo_L1TAU100 {
+          output EFTau {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output EFVsOffline {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output L1RoI {
+          }
+          output L1VsOffline {
+          }
+          output PreselectionTau {
+          }
+          output PreselectionVsOffline {
+          }
+          output TurnOnCurves {
+            output RecoEfficiency {
+            }
+          }
+        }
+        output tau160_perf_tracktwo_L1TAU100 {
+          output EFTau {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output EFVsOffline {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output L1RoI {
+          }
+          output L1VsOffline {
+          }
+          output PreselectionTau {
+          }
+          output PreselectionVsOffline {
+          }
+          output TurnOnCurves {
+            output RecoEfficiency {
+            }
+          }
+        }
+        output tau25_idperf_tracktwo {
+          output EFTau {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output EFVsOffline {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output L1RoI {
+          }
+          output L1VsOffline {
+          }
+          output PreselectionTau {
+          }
+          output PreselectionVsOffline {
+          }
+          output TurnOnCurves {
+            output RecoEfficiency {
+            }
+          }
+        }
+        output tau25_idperf_tracktwoEF {
+          output EFTau {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output EFVsOffline {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output L1RoI {
+          }
+          output L1VsOffline {
+          }
+          output TurnOnCurves {
+            output RecoEfficiency {
+            }
+          }
+        }
+        output tau25_idperf_tracktwoEFmvaTES {
+          output EFTau {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output EFVsOffline {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output L1RoI {
+          }
+          output L1VsOffline {
+          }
+          output TurnOnCurves {
+            output RecoEfficiency {
+            }
+          }
+        }
+        output tau25_idperf_tracktwoMVA {
+          output EFTau {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+            output RNN {
+              output InputScalar1p {
+              }
+              output InputScalar3p {
+              }
+              output InputTrack {
+              }
+              output InputCluster {
+              }
+              output Output {
+              }
+            }
+          }
+          output EFVsOffline {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output L1RoI {
+          }
+          output L1VsOffline {
+          }
+          output TurnOnCurves {
+            output RecoEfficiency {
+            }
+          }
+        }
+        output tau25_looseRNN_tracktwoMVA {
+          output EFTau {
+            output RNN {
+              output InputScalar1p {
+              }
+              output InputScalar3p {
+              }
+              output InputTrack {
+              }
+              output InputCluster {
+              }
+              output Output {
+              }
+            }
+          }
+          output EFVsOffline {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output L1RoI {
+          }
+          output L1VsOffline {
+          }
+          output TurnOnCurves {
+            output RecoEfficiency {
+            }
+          }
+        }
+        output tau25_medium1NoPt_tracktwoEFmvaTES {
+          output EFTau {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output EFVsOffline {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output L1RoI {
+          }
+          output L1VsOffline {
+          }
+          output TurnOnCurves {
+            output RecoEfficiency {
+            }
+          }
+        }
+        output tau25_medium1_tracktwo {
+          output EFTau {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output EFVsOffline {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output L1RoI {
+          }
+          output L1VsOffline {
+          }
+          output PreselectionTau {
+          }
+          output PreselectionVsOffline {
+          }
+          output TurnOnCurves {
+            output RecoEfficiency {
+            }
+          }
+        }
+        output tau25_medium1_tracktwoEF {
+          output EFTau {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output EFVsOffline {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output L1RoI {
+          }
+          output L1VsOffline {
+          }
+          output TurnOnCurves {
+            output RecoEfficiency {
+            }
+          }
+        }
+        output tau25_medium1_tracktwoEFmvaTES {
+          output EFTau {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output EFVsOffline {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output L1RoI {
+          }
+          output L1VsOffline {
+          }
+          output TurnOnCurves {
+            output RecoEfficiency {
+            }
+          }
+        }
+        output tau25_mediumRNN_tracktwoMVA {
+          output EFTau {
+            output RNN {
+              output InputScalar1p {
+              }
+              output InputScalar3p {
+              }
+              output InputTrack {
+              }
+              output InputCluster {
+              }
+              output Output {
+              }
+            }
+          }
+          output EFVsOffline {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output L1RoI {
+          }
+          output L1VsOffline {
+          }
+          output TurnOnCurves {
+            output RecoEfficiency {
+            }
+          }
+        }
+        output tau25_perf_tracktwo {
+          output EFTau {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output EFVsOffline {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output L1RoI {
+          }
+          output L1VsOffline {
+          }
+          output PreselectionTau {
+          }
+          output PreselectionVsOffline {
+          }
+          output TurnOnCurves {
+            output RecoEfficiency {
+            }
+          }
+        }
+        output tau25_perf_tracktwoEF {
+          output EFTau {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output EFVsOffline {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output L1RoI {
+          }
+          output L1VsOffline {
+          }
+          output TurnOnCurves {
+            output RecoEfficiency {
+            }
+          }
+        }
+        output tau25_perf_tracktwoEFmvaTES {
+          output EFTau {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output EFVsOffline {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output L1RoI {
+          }
+          output L1VsOffline {
+          }
+          output TurnOnCurves {
+            output RecoEfficiency {
+            }
+          }
+        }
+        output tau25_perf_tracktwoMVA {
+          output EFTau {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+            output RNN {
+              output InputScalar1p {
+              }
+              output InputScalar3p {
+              }
+              output InputTrack {
+              }
+              output InputCluster {
+              }
+              output Output {
+              }
+            }
+          }
+          output EFVsOffline {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output L1RoI {
+          }
+          output L1VsOffline {
+          }
+          output TurnOnCurves {
+            output RecoEfficiency {
+            }
+          }
+        }
+        output tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM {
+          output EFTau {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output EFVsOffline {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output L1RoI {
+          }
+          output L1VsOffline {
+          }
+          output PreselectionTau {
+          }
+          output PreselectionVsOffline {
+          }
+          output TurnOnCurves {
+            output RecoEfficiency {
+            }
+          }
+        }
+        output tau35_medium1_tracktwo_xe70_L1XE45 {
+          output EFTau {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output EFVsOffline {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output L1RoI {
+          }
+          output L1VsOffline {
+          }
+          output PreselectionTau {
+          }
+          output PreselectionVsOffline {
+          }
+          output TurnOnCurves {
+            output RecoEfficiency {
+            }
+          }
+        }
+        output tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12 {
+          output EFTau {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output EFVsOffline {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output L1RoI {
+          }
+          output L1VsOffline {
+          }
+          output PreselectionTau {
+          }
+          output PreselectionVsOffline {
+          }
+          output TurnOnCurves {
+            output RecoEfficiency {
+            }
+          }
+        }
+        output tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40 {
+          output EFTau {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output EFVsOffline {
+            output BDT {
+              output 1p_nonCorrected {
+              }
+              output mp_nonCorrected {
+              }
+            }
+          }
+          output L1RoI {
+          }
+          output L1VsOffline {
+          }
+          output PreselectionTau {
+          }
+          output PreselectionVsOffline {
+          }
+          output TurnOnCurves {
+            output RecoEfficiency {
+            }
+          }
+        }
+      }
+      output Shifter {
+        output OtherPlots {
+          output tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF {
+          }
+          output tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF_03dR30_L1DR-TAU20ITAU12I-J25 {
+          }
+          output tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF_L1DR-TAU20ITAU12I-J25 {
+          }
+          output tau35_medium1_tracktwo_tau25_medium1_tracktwo {
+          }
+          output tau35_medium1_tracktwo_tau25_medium1_tracktwo_03dR30_L1DR-TAU20ITAU12I-J25 {
+          }
+          output tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1DR-TAU20ITAU12I-J25 {
+          }
+          output tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM {
+          }
+          output tau80_medium1_tracktwoEF_L1TAU60_tau35_medium1_tracktwoEF_L1TAU12IM_L1TAU60_DR-TAU20ITAU12I {
+          }
+          output tau80_medium1_tracktwo_L1TAU60_tau35_medium1_tracktwo_L1TAU12IM_L1TAU60_DR-TAU20ITAU12I {
+          }
+        }
+        output tau25_mediumRNN_tracktwoMVA {
+          output EFTau {
+          }
+          output EFVsOffline {
+          }
+          output L1RoI {
+          }
+          output L1VsOffline {
+          }
+          output TurnOnCurves {
+          }
+        }
+        output tau25_medium1_tracktwoEF {
+          output EFTau {
+          }
+          output EFVsOffline {
+          }
+          output L1RoI {
+          }
+          output L1VsOffline {
+          }
+          output TurnOnCurves {
+          }
+        }
+      }
+    }
+  }
 }
 
 
@@ -1005,23708 +801,16174 @@ output top_level {
 #######################
 
 dir HLT {
-	dir TauMon {
-		dir Expert {
-			dir Emulation {
-				hist hL1Emulation {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/Emulation
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-			}
-			dir HLTefficiency {
-				dir EffRatios_FTKvsNonFTK {
-					hist TProfRecoHLTLSTEta1PEfficiency_CompFTKNoPrecvsNonFTK_medium0 {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfRecoHLTLSTEta1PEfficiency_CompFTKNoPrecvsNonFTK_medium1 {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfRecoHLTLSTEta3PEfficiency_CompFTKNoPrecvsNonFTK_medium0 {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfRecoHLTLSTEta3PEfficiency_CompFTKNoPrecvsNonFTK_medium1 {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfRecoHLTLSTEtaEfficiency_CompFTKNoPrecvsNonFTK_medium0 {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfRecoHLTLSTEtaEfficiency_CompFTKNoPrecvsNonFTK_medium1 {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfRecoHLTLSTMu1PEfficiency_CompFTKNoPrecvsNonFTK_medium0 {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfRecoHLTLSTMu1PEfficiency_CompFTKNoPrecvsNonFTK_medium1 {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfRecoHLTLSTMu3PEfficiency_CompFTKNoPrecvsNonFTK_medium0 {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfRecoHLTLSTMu3PEfficiency_CompFTKNoPrecvsNonFTK_medium1 {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfRecoHLTLSTMuEfficiency_CompFTKNoPrecvsNonFTK_medium0 {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfRecoHLTLSTMuEfficiency_CompFTKNoPrecvsNonFTK_medium1 {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfRecoHLTLSTNTrackEfficiency_CompFTKNoPrecvsNonFTK_medium0 {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfRecoHLTLSTNTrackEfficiency_CompFTKNoPrecvsNonFTK_medium1 {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfRecoHLTLSTPt1PEfficiency_CompFTKNoPrecvsNonFTK_medium0 {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfRecoHLTLSTPt1PEfficiency_CompFTKNoPrecvsNonFTK_medium1 {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfRecoHLTLSTPt3PEfficiency_CompFTKNoPrecvsNonFTK_medium0 {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfRecoHLTLSTPt3PEfficiency_CompFTKNoPrecvsNonFTK_medium1 {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfRecoHLTLSTPtEfficiency_CompFTKNoPrecvsNonFTK_medium0 {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfRecoHLTLSTPtEfficiency_CompFTKNoPrecvsNonFTK_medium1 {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				hist TProfRecoHLT160PtEfficiency {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLT160PtEfficiency_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLT25Eta1PEfficiency {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLT25Eta1PEfficiency_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLT25Eta3PEfficiency {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLT25Eta3PEfficiency_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLT25EtaEfficiency {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLT25EtaEfficiency_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLT25Mu1PEfficiency {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLT25Mu1PEfficiency_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLT25Mu3PEfficiency {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLT25Mu3PEfficiency_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLT25MuEfficiency {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLT25MuEfficiency_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLT25NTrackEfficiency {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLT25NTrackEfficiency_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLT25NVtxEfficiency {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLT25NVtxEfficiency_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLT25PhiEfficiency {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLT25PhiEfficiency_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLT25Pt1PEfficiency {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLT25Pt1PEfficiency_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLT25Pt3PEfficiency {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLT25Pt3PEfficiency_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLT25PtEfficiency {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLT25PtEfficiency_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTEtaEfficiency_0prong_FTKNoPrec_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTEtaEfficiency_0prong_FTK_1 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTEtaEfficiency_0prong_FTK_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTEtaEfficiency_FTKNoPrec_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTEtaEfficiency_FTK_1 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTEtaEfficiency_FTK_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTMuEfficiency_0prong_FTKNoPrec_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTMuEfficiency_0prong_FTK_1 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTMuEfficiency_0prong_FTK_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTMuEfficiency_FTKNoPrec_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTMuEfficiency_FTK_1 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTMuEfficiency_FTK_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTNTrackEfficiency_0prong_FTKNoPrec_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTNTrackEfficiency_0prong_FTK_1 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTNTrackEfficiency_0prong_FTK_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTNTrackEfficiency_FTKNoPrec_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTNTrackEfficiency_FTK_1 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTNTrackEfficiency_FTK_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTPt1PEfficiency_0prong_FTKNoPrec_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTPt1PEfficiency_0prong_FTK_1 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTPt1PEfficiency_0prong_FTK_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTPt1PEfficiency_FTKNoPrec_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTPt1PEfficiency_FTK_1 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTPt1PEfficiency_FTK_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTPt3PEfficiency_0prong_FTKNoPrec_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTPt3PEfficiency_0prong_FTK_1 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTPt3PEfficiency_0prong_FTK_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTPt3PEfficiency_FTKNoPrec_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTPt3PEfficiency_FTK_1 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTPt3PEfficiency_FTK_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTPtEfficiency_0prong_FTKNoPrec_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTPtEfficiency_0prong_FTK_1 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTPtEfficiency_0prong_FTK_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTPtEfficiency_FTKNoPrec_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTPtEfficiency_FTK_1 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoHLTLSTPtEfficiency_FTK_2 {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoL1_J25Pt1PEfficiency {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoL1_J25Pt3PEfficiency {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist TProfRecoL1_J25PtEfficiency {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist hRecoHLT25EtaVsPhiEfficiency {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist hRecoHLT25EtaVsPhiEfficiency_2 {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist hRecoHLT25EtaVsPhiNum {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist hRecoHLT25EtaVsPhiNum_2 {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist hRecoTau25EtaVsPhiDenom {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-				hist hRecoTau25EtaVsPhiDenom_2 {
-					algorithm   	= HLT_Histogram_Not_Empty&GatherData
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Expert/HLTefficiency
-					display     	= StatBox
-					reference     = CentrallyManagedReferences_Trigger
-				}
-			}
-			dir RealZtautauEff {
-				dir tau25_medium1_tracktwo {
-					hist TProfRealZttHLTPtEfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/RealZtautauEff/tau25_medium1_tracktwo
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfRealZttL1PtEfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/RealZtautauEff/tau25_medium1_tracktwo
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-			}
-			dir TopoDiTau {
-				dir tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF {
-					hist TProfRecoL1_dREfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/TopoDiTau/tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hHLTdR {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/TopoDiTau/tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF_03dR30_L1DR-TAU20ITAU12I-J25 {
-					hist TProfRecoL1_dREfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/TopoDiTau/tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF_03dR30_L1DR-TAU20ITAU12I-J25
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hHLTdR {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/TopoDiTau/tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF_03dR30_L1DR-TAU20ITAU12I-J25
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF_L1DR-TAU20ITAU12I-J25 {
-					hist TProfRecoL1_dREfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/TopoDiTau/tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF_L1DR-TAU20ITAU12I-J25
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hHLTdR {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/TopoDiTau/tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF_L1DR-TAU20ITAU12I-J25
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir tau35_medium1_tracktwo_tau25_medium1_tracktwo {
-					hist TProfRecoL1_dREfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/TopoDiTau/tau35_medium1_tracktwo_tau25_medium1_tracktwo
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hHLTdR {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/TopoDiTau/tau35_medium1_tracktwo_tau25_medium1_tracktwo
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir tau35_medium1_tracktwo_tau25_medium1_tracktwo_03dR30_L1DR-TAU20ITAU12I {
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/TopoDiTau/tau35_medium1_tracktwo_tau25_medium1_tracktwo_03dR30_L1DR-TAU20ITAU12I
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir tau35_medium1_tracktwo_tau25_medium1_tracktwo_03dR30_L1DR-TAU20ITAU12I-J25 {
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/TopoDiTau/tau35_medium1_tracktwo_tau25_medium1_tracktwo_03dR30_L1DR-TAU20ITAU12I-J25
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1DR-TAU20ITAU12I {
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/TopoDiTau/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1DR-TAU20ITAU12I
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1DR-TAU20ITAU12I-J25 {
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/TopoDiTau/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1DR-TAU20ITAU12I-J25
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM {
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/TopoDiTau/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir tau80_medium1_tracktwoEF_L1TAU60_tau35_medium1_tracktwoEF_L1TAU12IM_L1TAU60_DR-TAU20ITAU12I {
-					hist TProfRecoL1_dREfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/TopoDiTau/tau80_medium1_tracktwoEF_L1TAU60_tau35_medium1_tracktwoEF_L1TAU12IM_L1TAU60_DR-TAU20ITAU12I
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hHLTdR {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/TopoDiTau/tau80_medium1_tracktwoEF_L1TAU60_tau35_medium1_tracktwoEF_L1TAU12IM_L1TAU60_DR-TAU20ITAU12I
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir tau80_medium1_tracktwo_L1TAU60_tau35_medium1_tracktwo_L1TAU12IM_L1TAU60_DR-TAU20ITAU12I {
-					hist TProfRecoL1_dREfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/TopoDiTau/tau80_medium1_tracktwo_L1TAU60_tau35_medium1_tracktwo_L1TAU12IM_L1TAU60_DR-TAU20ITAU12I
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hHLTdR {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/TopoDiTau/tau80_medium1_tracktwo_L1TAU60_tau35_medium1_tracktwo_L1TAU12IM_L1TAU60_DR-TAU20ITAU12I
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-			}
-			dir TopoElTau {
-				dir e17_lhmedium_nod0_ivarloose_tau25_medium1_tracktwo {
-					hist TProfRecoL1_dREfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/TopoElTau/e17_lhmedium_nod0_ivarloose_tau25_medium1_tracktwo
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hHLTdR {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/TopoElTau/e17_lhmedium_nod0_ivarloose_tau25_medium1_tracktwo
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir e17_lhmedium_nod0_ivarloose_tau25_medium1_tracktwo_L1DR-EM15TAU12I-J25 {
-					hist TProfRecoL1_dREfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/TopoElTau/e17_lhmedium_nod0_ivarloose_tau25_medium1_tracktwo_L1DR-EM15TAU12I-J25
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hHLTdR {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/TopoElTau/e17_lhmedium_nod0_ivarloose_tau25_medium1_tracktwo_L1DR-EM15TAU12I-J25
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-			}
-			dir TopoMuTau {
-				dir mu14_ivarloose_tau25_medium1_tracktwo {
-					hist TProfRecoL1_dREfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/TopoMuTau/mu14_ivarloose_tau25_medium1_tracktwo
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hHLTdR {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/TopoMuTau/mu14_ivarloose_tau25_medium1_tracktwo
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir mu14_ivarloose_tau25_medium1_tracktwo_L1DR-MU10TAU12I_TAU12I-J25 {
-					hist TProfRecoL1_dREfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/TopoMuTau/mu14_ivarloose_tau25_medium1_tracktwo_L1DR-MU10TAU12I_TAU12I-J25
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hHLTdR {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/TopoMuTau/mu14_ivarloose_tau25_medium1_tracktwo_L1DR-MU10TAU12I_TAU12I-J25
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-			}
-			dir dijetFakeTausEff {
-				dir tau160_idperf_tracktwo_L1TAU100 {
-					hist TProfDijetFakeTausHLTEtaEfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau160_idperf_tracktwo_L1TAU100
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfDijetFakeTausHLTMuEfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau160_idperf_tracktwo_L1TAU100
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfDijetFakeTausHLTNTracksEfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau160_idperf_tracktwo_L1TAU100
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfDijetFakeTausHLTPtEfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau160_idperf_tracktwo_L1TAU100
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfDijetFakeTausL1EtaEfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau160_idperf_tracktwo_L1TAU100
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfDijetFakeTausL1MuEfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau160_idperf_tracktwo_L1TAU100
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfDijetFakeTausL1NTracksEfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau160_idperf_tracktwo_L1TAU100
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfDijetFakeTausL1PtEfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau160_idperf_tracktwo_L1TAU100
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir tau160_medium1_tracktwo_L1TAU100 {
-					hist TProfDijetFakeTausHLTEtaEfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau160_medium1_tracktwo_L1TAU100
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfDijetFakeTausHLTMuEfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau160_medium1_tracktwo_L1TAU100
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfDijetFakeTausHLTNTracksEfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau160_medium1_tracktwo_L1TAU100
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfDijetFakeTausHLTPtEfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau160_medium1_tracktwo_L1TAU100
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfDijetFakeTausL1EtaEfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau160_medium1_tracktwo_L1TAU100
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfDijetFakeTausL1MuEfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau160_medium1_tracktwo_L1TAU100
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfDijetFakeTausL1NTracksEfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau160_medium1_tracktwo_L1TAU100
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfDijetFakeTausL1PtEfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau160_medium1_tracktwo_L1TAU100
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir tau80_medium1_tracktwo_L1TAU60 {
-					hist TProfDijetFakeTausHLTEtaEfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau80_medium1_tracktwo_L1TAU60
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfDijetFakeTausHLTMuEfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau80_medium1_tracktwo_L1TAU60
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfDijetFakeTausHLTNTracksEfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau80_medium1_tracktwo_L1TAU60
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfDijetFakeTausHLTPtEfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau80_medium1_tracktwo_L1TAU60
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfDijetFakeTausL1EtaEfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau80_medium1_tracktwo_L1TAU60
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfDijetFakeTausL1MuEfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau80_medium1_tracktwo_L1TAU60
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfDijetFakeTausL1NTracksEfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau80_medium1_tracktwo_L1TAU60
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist TProfDijetFakeTausL1PtEfficiency {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau80_medium1_tracktwo_L1TAU60
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-			}
-			dir tau0_perf_ptonly_L1TAU100 {
-				dir EFTau {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hEFChPiEMEOverCaloEME1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysP1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFSumPtTrkFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDist1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFipSigLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApprox1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hEFChPiEMEOverCaloEMEMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysPMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFracMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFdRmaxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrkMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDistMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmassTrkSysMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFtrFlightPathSigMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist hEFEMFraction {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtRaw {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFIsoFrac {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUM {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUMvsmu {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScore1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTrans1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTransmp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoremp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir EFVsOffline {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hCentFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hIpSigLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hSumPtTrkFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTopoInvMassRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hCentFracRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMassTrkSysRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTrFlightPathSigRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1RoI {
-					hist hL1EtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEMIso {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadCore {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadIsol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClus {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClusEMIso {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIeT {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIisol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1VsOffline {
-					hist hL1EtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/L1VsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir TurnOnCurves {
-					dir RecoEfficiency {
-						hist TProfRecoHLTEtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt1pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt3pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTMuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1EtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1MuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-					}
-				}
-			}
-			dir tau0_perf_ptonly_L1TAU12 {
-				dir EFTau {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hEFChPiEMEOverCaloEME1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysP1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFSumPtTrkFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDist1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFipSigLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApprox1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hEFChPiEMEOverCaloEMEMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysPMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFracMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFdRmaxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrkMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDistMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmassTrkSysMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFtrFlightPathSigMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist hEFEMFraction {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtRaw {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFIsoFrac {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUM {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUMvsmu {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScore1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTrans1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTransmp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoremp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir EFVsOffline {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hCentFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hIpSigLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hSumPtTrkFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTopoInvMassRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hCentFracRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMassTrkSysRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTrFlightPathSigRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1RoI {
-					hist hL1EtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEMIso {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadCore {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadIsol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClus {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClusEMIso {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIeT {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIisol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1VsOffline {
-					hist hL1EtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/L1VsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir TurnOnCurves {
-					dir RecoEfficiency {
-						hist TProfRecoHLTEtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt1pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt3pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTMuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1EtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1MuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-					}
-				}
-			}
-			dir tau160_idperf_tracktwo_L1TAU100 {
-				dir EFTau {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hEFChPiEMEOverCaloEME1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysP1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFSumPtTrkFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDist1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFipSigLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApprox1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hEFChPiEMEOverCaloEMEMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysPMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFracMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFdRmaxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrkMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDistMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmassTrkSysMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFtrFlightPathSigMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist hEFEMFraction {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtRaw {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFIsoFrac {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUM {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUMvsmu {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScore1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTrans1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTransmp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoremp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir EFVsOffline {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hCentFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hIpSigLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hSumPtTrkFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTopoInvMassRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hCentFracRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMassTrkSysRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTrFlightPathSigRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1RoI {
-					hist hL1EtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEMIso {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadCore {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadIsol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClus {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClusEMIso {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIeT {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIisol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1VsOffline {
-					hist hL1EtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/L1VsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir PreselectionTau {
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt2 {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hFTFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hFTFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir PreselectionVsOffline {
-					hist hEFEtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtaRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPhiRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPreselvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPreselvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir TurnOnCurves {
-					dir RecoEfficiency {
-						hist TProfRecoHLTEtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt1pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt3pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTMuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1EtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1MuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-					}
-				}
-			}
-			dir tau160_medium1_tracktwo_L1TAU100 {
-				dir EFTau {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hEFChPiEMEOverCaloEME1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysP1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFSumPtTrkFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDist1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFipSigLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApprox1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hEFChPiEMEOverCaloEMEMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysPMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFracMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFdRmaxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrkMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDistMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmassTrkSysMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFtrFlightPathSigMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist hEFEMFraction {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtRaw {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFIsoFrac {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUM {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUMvsmu {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScore1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTrans1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTransmp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoremp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir EFVsOffline {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hCentFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hIpSigLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hSumPtTrkFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTopoInvMassRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hCentFracRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMassTrkSysRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTrFlightPathSigRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1RoI {
-					hist hL1EtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEMIso {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadCore {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadIsol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClus {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClusEMIso {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIeT {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIisol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1VsOffline {
-					hist hL1EtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/L1VsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir PreselectionTau {
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt2 {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hFTFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hFTFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir PreselectionVsOffline {
-					hist hEFEtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtaRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPhiRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPreselvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPreselvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir TurnOnCurves {
-					dir RecoEfficiency {
-						hist TProfRecoHLTEtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt1pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt3pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTMuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1EtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1MuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-					}
-				}
-			}
-			dir tau160_perf_tracktwo_L1TAU100 {
-				dir EFTau {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hEFChPiEMEOverCaloEME1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysP1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFSumPtTrkFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDist1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFipSigLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApprox1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hEFChPiEMEOverCaloEMEMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysPMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFracMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFdRmaxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrkMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDistMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmassTrkSysMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFtrFlightPathSigMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist hEFEMFraction {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtRaw {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFIsoFrac {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUM {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUMvsmu {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScore1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTrans1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTransmp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoremp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir EFVsOffline {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hCentFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hIpSigLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hSumPtTrkFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTopoInvMassRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hCentFracRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMassTrkSysRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTrFlightPathSigRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1RoI {
-					hist hL1EtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEMIso {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadCore {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadIsol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClus {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClusEMIso {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIeT {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIisol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1VsOffline {
-					hist hL1EtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/L1VsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir PreselectionTau {
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt2 {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hFTFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hFTFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir PreselectionVsOffline {
-					hist hEFEtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtaRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPhiRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPreselvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPreselvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir TurnOnCurves {
-					dir RecoEfficiency {
-						hist TProfRecoHLTEtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt1pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt3pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTMuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1EtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1MuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-					}
-				}
-			}
-			dir tau25_idperf_tracktwo {
-				dir EFTau {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hEFChPiEMEOverCaloEME1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysP1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFSumPtTrkFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDist1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFipSigLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApprox1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hEFChPiEMEOverCaloEMEMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysPMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFracMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFdRmaxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrkMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDistMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmassTrkSysMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFtrFlightPathSigMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist hEFEMFraction {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtRaw {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFIsoFrac {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUM {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUMvsmu {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScore1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTrans1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTransmp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoremp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir EFVsOffline {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hCentFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hIpSigLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hSumPtTrkFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTopoInvMassRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hCentFracRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMassTrkSysRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTrFlightPathSigRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1RoI {
-					hist hL1EtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEMIso {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadCore {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadIsol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClus {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClusEMIso {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIeT {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIisol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1VsOffline {
-					hist hL1EtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/L1VsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir PreselectionTau {
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt2 {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hFTFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hFTFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir PreselectionVsOffline {
-					hist hEFEtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtaRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPhiRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPreselvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPreselvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir TurnOnCurves {
-					dir RecoEfficiency {
-						hist TProfRecoHLTEtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt1pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt3pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTMuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1EtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1MuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-					}
-				}
-			}
-			dir tau25_idperf_tracktwoEF {
-				dir EFTau {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hEFChPiEMEOverCaloEME1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysP1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFSumPtTrkFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDist1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFipSigLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApprox1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hEFChPiEMEOverCaloEMEMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysPMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFracMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFdRmaxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrkMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDistMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmassTrkSysMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFtrFlightPathSigMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist hEFEMFraction {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtRaw {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFIsoFrac {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUM {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUMvsmu {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScore1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTrans1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTransmp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoremp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir EFVsOffline {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hCentFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hIpSigLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hSumPtTrkFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTopoInvMassRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hCentFracRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMassTrkSysRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTrFlightPathSigRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1RoI {
-					hist hL1EtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEMIso {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadCore {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadIsol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClus {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClusEMIso {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIeT {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIisol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1VsOffline {
-					hist hL1EtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/L1VsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir TurnOnCurves {
-					dir RecoEfficiency {
-						hist TProfRecoHLTEtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt1pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt3pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTMuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1EtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1MuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-					}
-				}
-			}
-			dir tau25_idperf_tracktwoEFmvaTES {
-				dir EFTau {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hEFChPiEMEOverCaloEME1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysP1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFSumPtTrkFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDist1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFipSigLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApprox1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hEFChPiEMEOverCaloEMEMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysPMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFracMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFdRmaxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrkMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDistMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmassTrkSysMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFtrFlightPathSigMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist hEFEMFraction {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtRaw {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFIsoFrac {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUM {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUMvsmu {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScore1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTrans1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTransmp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoremp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir EFVsOffline {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hCentFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hIpSigLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hSumPtTrkFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTopoInvMassRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hCentFracRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMassTrkSysRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTrFlightPathSigRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1RoI {
-					hist hL1EtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEMIso {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadCore {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadIsol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClus {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClusEMIso {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIeT {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIisol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1VsOffline {
-					hist hL1EtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/L1VsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir TurnOnCurves {
-					dir RecoEfficiency {
-						hist TProfRecoHLTEtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt1pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt3pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTMuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1EtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1MuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-					}
-				}
-			}
-			dir tau25_idperf_tracktwoMVA {
-				dir EFTau {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hEFChPiEMEOverCaloEME1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysP1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFSumPtTrkFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDist1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFipSigLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApprox1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hEFChPiEMEOverCaloEMEMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysPMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFracMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFdRmaxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrkMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDistMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmassTrkSysMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFtrFlightPathSigMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					dir RNN {
-						dir InputScalar1p {
-							hist hEFRNNInput_Scalar_EMPOverTrkSysP_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_SumPtTrkFrac_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_absipSigLeadTrk_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_centFrac_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_dRmax_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_etOverPtLeadTrk_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_mEflowApprox_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptDetectorAxis_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptRatioEflowApprox_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir InputScalar3p {
-							hist hEFRNNInput_Scalar_EMPOverTrkSysP_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_SumPtTrkFrac_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_centFrac_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_dRmax_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_etOverPtLeadTrk_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_mEflowApprox_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_massTrkSys_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptDetectorAxis_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptRatioEflowApprox_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_trFlightPathSig_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir Output {
-							hist hEFRNNJetScore {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/Output
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNJetScoreSigTrans {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/Output
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist hEFEMFraction {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtRaw {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFIsoFrac {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUM {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUMvsmu {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScore1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTrans1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTransmp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoremp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir EFVsOffline {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hCentFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hIpSigLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hSumPtTrkFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTopoInvMassRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hCentFracRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMassTrkSysRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTrFlightPathSigRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1RoI {
-					hist hL1EtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEMIso {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadCore {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadIsol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClus {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClusEMIso {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIeT {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIisol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1VsOffline {
-					hist hL1EtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/L1VsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir TurnOnCurves {
-					dir RecoEfficiency {
-						hist TProfRecoHLTEtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt1pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt3pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTMuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1EtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1MuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-					}
-				}
-			}
-			dir tau25_looseRNN_tracktwo {
-				dir EFTau {
-					dir RNN {
-						dir InputScalar1p {
-							hist hEFRNNInput_Scalar_EMPOverTrkSysP_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_SumPtTrkFrac_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_absipSigLeadTrk_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_centFrac_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_dRmax_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_etOverPtLeadTrk_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_mEflowApprox_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptDetectorAxis_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptRatioEflowApprox_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir InputScalar3p {
-							hist hEFRNNInput_Scalar_EMPOverTrkSysP_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_SumPtTrkFrac_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_centFrac_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_dRmax_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_etOverPtLeadTrk_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_mEflowApprox_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_massTrkSys_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptDetectorAxis_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptRatioEflowApprox_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_trFlightPathSig_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir Output {
-							hist hEFRNNJetScore {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau/RNN/Output
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNJetScoreSigTrans {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau/RNN/Output
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist hEFEMFraction {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtRaw {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFIsoFrac {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUM {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUMvsmu {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir EFVsOffline {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hCentFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hIpSigLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hSumPtTrkFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTopoInvMassRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hCentFracRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMassTrkSysRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTrFlightPathSigRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1RoI {
-					hist hL1EtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEMIso {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadCore {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadIsol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClus {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClusEMIso {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIeT {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIisol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1VsOffline {
-					hist hL1EtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/L1VsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir PreselectionTau {
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt2 {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hFTFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hFTFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir PreselectionVsOffline {
-					hist hEFEtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtaRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPhiRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPreselvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPreselvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir TurnOnCurves {
-					dir RecoEfficiency {
-						hist TProfRecoHLTEtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt1pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt3pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTMuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1EtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1MuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-					}
-				}
-			}
-			dir tau25_looseRNN_tracktwoMVA {
-				dir EFTau {
-					dir RNN {
-						dir InputScalar1p {
-							hist hEFRNNInput_Scalar_EMPOverTrkSysP_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_SumPtTrkFrac_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_absipSigLeadTrk_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_centFrac_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_dRmax_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_etOverPtLeadTrk_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_mEflowApprox_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptDetectorAxis_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptRatioEflowApprox_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir InputScalar3p {
-							hist hEFRNNInput_Scalar_EMPOverTrkSysP_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_SumPtTrkFrac_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_centFrac_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_dRmax_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_etOverPtLeadTrk_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_mEflowApprox_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_massTrkSys_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptDetectorAxis_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptRatioEflowApprox_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_trFlightPathSig_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir Output {
-							hist hEFRNNJetScore {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/Output
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNJetScoreSigTrans {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/Output
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist hEFEMFraction {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtRaw {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFIsoFrac {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUM {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUMvsmu {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir EFVsOffline {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hCentFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hIpSigLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hSumPtTrkFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTopoInvMassRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hCentFracRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMassTrkSysRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTrFlightPathSigRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1RoI {
-					hist hL1EtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEMIso {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadCore {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadIsol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClus {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClusEMIso {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIeT {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIisol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1VsOffline {
-					hist hL1EtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/L1VsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir TurnOnCurves {
-					dir RecoEfficiency {
-						hist TProfRecoHLTEtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt1pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt3pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTMuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1EtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1MuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-					}
-				}
-			}
-			dir tau25_medium1NoPt_tracktwoEFmvaTES {
-				dir EFTau {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hEFChPiEMEOverCaloEME1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysP1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFSumPtTrkFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDist1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFipSigLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApprox1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hEFChPiEMEOverCaloEMEMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysPMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFracMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFdRmaxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrkMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDistMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmassTrkSysMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFtrFlightPathSigMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist hEFEMFraction {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtRaw {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFIsoFrac {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUM {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUMvsmu {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScore1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTrans1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTransmp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoremp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir EFVsOffline {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hCentFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hIpSigLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hSumPtTrkFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTopoInvMassRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hCentFracRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMassTrkSysRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTrFlightPathSigRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1RoI {
-					hist hL1EtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEMIso {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadCore {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadIsol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClus {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClusEMIso {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIeT {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIisol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1VsOffline {
-					hist hL1EtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/L1VsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir TurnOnCurves {
-					dir RecoEfficiency {
-						hist TProfRecoHLTEtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt1pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt3pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTMuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1EtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1MuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-					}
-				}
-			}
-			dir tau25_medium1_tracktwo {
-				dir EFTau {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hEFChPiEMEOverCaloEME1PNCmu {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFChPiEMEOverCaloEME1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysP1PNCmu {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysP1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFSumPtTrkFrac1PNCmu {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFSumPtTrkFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFrac1PNCmu {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrk1PNCmu {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDist1PNCmu {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDist1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFipSigLeadTrk1PNCmu {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFipSigLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApprox1PNCmu {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApprox1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hEFChPiEMEOverCaloEMEMPNCmu {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFChPiEMEOverCaloEMEMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysPMPNCmu {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysPMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFracMPNCmu {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFracMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFdRmaxMPNCmu {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFdRmaxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrkMPNCmu {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrkMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDistMPNCmu {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDistMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmEflowApproxMPNCmu {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmassTrkSysMPNCmu {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmassTrkSysMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApproxMPNCmu {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFtrFlightPathSigMPNCmu {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFtrFlightPathSigMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist hEFEMFraction {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtRaw {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFIsoFrac {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUM {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUMvsmu {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScore1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTrans1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTransmp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoremp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir EFVsOffline {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hCentFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hCentFracVsmu1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hCentFracVspt1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOvCaloEMEVsmu1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOvCaloEMEVspt1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxVsmu1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxVspt1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPVsmu1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPVspt1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkVsmu1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkVspt1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistVsmu1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistVspt1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hIpSigLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hIpSigLeadTrkVsmu1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hIpSigLeadTrkVspt1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxVsmu1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxVspt1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hSumPtTrkFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hSumPtTrkFracVsmu1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hSumPtTrkFracVspt1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTopoInvMassRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTopoInvMassVsmu1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTopoInvMassVspt1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hCentFracRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hCentFracVsmuMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hCentFracVsptMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOvCaloEMEVsmuMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOvCaloEMEVsptMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxVsmuMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxVsptMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPVsmuMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPVsptMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkVsmuMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkVsptMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistVsmuMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistVsptMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMEflowApproxVsmuMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMEflowApproxVsptMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMassTrkSysRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMassTrkSysVsmuMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMassTrkSysVsptMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxVsmuMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxVsptMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTrFlightPathSigRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTrFlightPathSigVsmuMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTrFlightPathSigVsptMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1RoI {
-					hist hL1EtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEMIso {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadCore {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadIsol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClus {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClusEMIso {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIeT {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIisol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1VsOffline {
-					hist hL1EtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/L1VsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir PreselectionTau {
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt2 {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hFTFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hFTFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir PreselectionVsOffline {
-					hist hEFEtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtaRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPhiRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPreselvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPreselvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir TurnOnCurves {
-					dir RecoEfficiency {
-						hist TProfRecoHLTEtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt1pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt3pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTMuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1EtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1MuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-					}
-				}
-			}
-			dir tau25_medium1_tracktwoEF {
-				dir EFTau {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hEFChPiEMEOverCaloEME1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysP1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFSumPtTrkFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDist1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFipSigLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApprox1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hEFChPiEMEOverCaloEMEMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysPMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFracMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFdRmaxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrkMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDistMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmassTrkSysMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFtrFlightPathSigMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist hEFEMFraction {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtRaw {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFIsoFrac {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUM {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUMvsmu {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScore1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTrans1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTransmp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoremp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir EFVsOffline {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hCentFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hIpSigLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hSumPtTrkFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTopoInvMassRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hCentFracRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMassTrkSysRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTrFlightPathSigRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1RoI {
-					hist hL1EtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEMIso {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadCore {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadIsol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClus {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClusEMIso {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIeT {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIisol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1VsOffline {
-					hist hL1EtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/L1VsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir TurnOnCurves {
-					dir RecoEfficiency {
-						hist TProfRecoHLTEtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt1pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt3pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTMuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1EtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1MuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-					}
-				}
-			}
-			dir tau25_medium1_tracktwoEFmvaTES {
-				dir EFTau {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hEFChPiEMEOverCaloEME1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysP1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFSumPtTrkFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDist1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFipSigLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApprox1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hEFChPiEMEOverCaloEMEMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysPMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFracMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFdRmaxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrkMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDistMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmassTrkSysMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFtrFlightPathSigMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist hEFEMFraction {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtRaw {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFIsoFrac {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUM {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUMvsmu {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScore1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTrans1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTransmp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoremp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir EFVsOffline {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hCentFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hIpSigLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hSumPtTrkFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTopoInvMassRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hCentFracRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMassTrkSysRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTrFlightPathSigRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1RoI {
-					hist hL1EtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEMIso {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadCore {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadIsol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClus {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClusEMIso {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIeT {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIisol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1VsOffline {
-					hist hL1EtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/L1VsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir TurnOnCurves {
-					dir RecoEfficiency {
-						hist TProfRecoHLTEtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt1pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt3pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTMuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1EtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1MuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-					}
-				}
-			}
-			dir tau25_medium1_tracktwoMVA {
-				dir EFTau {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hEFChPiEMEOverCaloEME1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysP1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFSumPtTrkFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDist1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFipSigLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApprox1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hEFChPiEMEOverCaloEMEMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysPMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFracMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFdRmaxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrkMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDistMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmassTrkSysMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFtrFlightPathSigMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist hEFEMFraction {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtRaw {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFIsoFrac {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUM {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUMvsmu {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScore1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTrans1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTransmp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoremp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir EFVsOffline {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hCentFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hIpSigLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hSumPtTrkFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTopoInvMassRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hCentFracRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMassTrkSysRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTrFlightPathSigRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1RoI {
-					hist hL1EtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEMIso {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadCore {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadIsol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClus {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClusEMIso {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIeT {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIisol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1VsOffline {
-					hist hL1EtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/L1VsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir TurnOnCurves {
-					dir RecoEfficiency {
-						hist TProfRecoHLTEtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt1pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt3pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTMuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1EtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1MuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-					}
-				}
-			}
-			dir tau25_mediumRNN_tracktwo {
-				dir EFTau {
-					dir RNN {
-						dir InputScalar1p {
-							hist hEFRNNInput_Scalar_EMPOverTrkSysP_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_SumPtTrkFrac_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_absipSigLeadTrk_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_centFrac_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_dRmax_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_etOverPtLeadTrk_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_mEflowApprox_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptDetectorAxis_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptRatioEflowApprox_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir InputScalar3p {
-							hist hEFRNNInput_Scalar_EMPOverTrkSysP_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_SumPtTrkFrac_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_centFrac_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_dRmax_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_etOverPtLeadTrk_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_mEflowApprox_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_massTrkSys_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptDetectorAxis_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptRatioEflowApprox_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_trFlightPathSig_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir Output {
-							hist hEFRNNJetScore {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau/RNN/Output
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNJetScoreSigTrans {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau/RNN/Output
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist hEFEMFraction {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtRaw {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFIsoFrac {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUM {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUMvsmu {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir EFVsOffline {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hCentFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hIpSigLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hSumPtTrkFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTopoInvMassRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hCentFracRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMassTrkSysRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTrFlightPathSigRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1RoI {
-					hist hL1EtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEMIso {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadCore {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadIsol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClus {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClusEMIso {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIeT {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIisol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1VsOffline {
-					hist hL1EtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/L1VsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir PreselectionTau {
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt2 {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hFTFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hFTFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir PreselectionVsOffline {
-					hist hEFEtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtaRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPhiRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPreselvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPreselvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir TurnOnCurves {
-					dir RecoEfficiency {
-						hist TProfRecoHLTEtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt1pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt3pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTMuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1EtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1MuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-					}
-				}
-			}
-			dir tau25_mediumRNN_tracktwoMVA {
-				dir EFTau {
-					dir RNN {
-						dir InputScalar1p {
-							hist hEFRNNInput_Scalar_EMPOverTrkSysP_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_SumPtTrkFrac_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_absipSigLeadTrk_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_centFrac_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_dRmax_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_etOverPtLeadTrk_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_mEflowApprox_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptDetectorAxis_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptRatioEflowApprox_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir InputScalar3p {
-							hist hEFRNNInput_Scalar_EMPOverTrkSysP_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_SumPtTrkFrac_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_centFrac_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_dRmax_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_etOverPtLeadTrk_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_mEflowApprox_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_massTrkSys_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptDetectorAxis_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptRatioEflowApprox_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_trFlightPathSig_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir Output {
-							hist hEFRNNJetScore {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/Output
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNJetScoreSigTrans {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/Output
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist hEFEMFraction {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtRaw {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFIsoFrac {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUM {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUMvsmu {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir EFVsOffline {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hCentFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hIpSigLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hSumPtTrkFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTopoInvMassRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hCentFracRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMassTrkSysRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTrFlightPathSigRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1RoI {
-					hist hL1EtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEMIso {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadCore {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadIsol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClus {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClusEMIso {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIeT {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIisol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1VsOffline {
-					hist hL1EtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/L1VsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir TurnOnCurves {
-					dir RecoEfficiency {
-						hist TProfRecoHLTEtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt1pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt3pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTMuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1EtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1MuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-					}
-				}
-			}
-			dir tau25_perf_tracktwo {
-				dir EFTau {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hEFChPiEMEOverCaloEME1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysP1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFSumPtTrkFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDist1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFipSigLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApprox1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hEFChPiEMEOverCaloEMEMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysPMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFracMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFdRmaxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrkMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDistMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmassTrkSysMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFtrFlightPathSigMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist hEFEMFraction {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtRaw {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFIsoFrac {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUM {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUMvsmu {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScore1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTrans1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTransmp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoremp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir EFVsOffline {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hCentFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hIpSigLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hSumPtTrkFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTopoInvMassRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hCentFracRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMassTrkSysRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTrFlightPathSigRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1RoI {
-					hist hL1EtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/L1RoI
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/L1RoI
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/L1RoI
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEMIso {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/L1RoI
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/L1RoI
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadCore {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/L1RoI
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadIsol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/L1RoI
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/L1RoI
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClus {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/L1RoI
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClusEMIso {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/L1RoI
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIeT {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/L1RoI
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIisol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/L1RoI
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1VsOffline {
-					hist hL1EtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/L1VsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir PreselectionTau {
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/PreselectionTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt2 {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/PreselectionTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/PreselectionTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/PreselectionTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/PreselectionTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/PreselectionTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hFTFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/PreselectionTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hFTFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/PreselectionTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/PreselectionTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir PreselectionVsOffline {
-					hist hEFEtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtaRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPhiRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPreselvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPreselvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir TurnOnCurves {
-					dir RecoEfficiency {
-						hist TProfRecoHLTEtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt1pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt3pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTMuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1EtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1MuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-					}
-				}
-			}
-			dir tau25_perf_tracktwoEF {
-				dir EFTau {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hEFChPiEMEOverCaloEME1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysP1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFSumPtTrkFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDist1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFipSigLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApprox1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hEFChPiEMEOverCaloEMEMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysPMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFracMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFdRmaxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrkMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDistMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmassTrkSysMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFtrFlightPathSigMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist hEFEMFraction {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtRaw {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFIsoFrac {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUM {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUMvsmu {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScore1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTrans1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTransmp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoremp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir EFVsOffline {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hCentFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hIpSigLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hSumPtTrkFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTopoInvMassRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hCentFracRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMassTrkSysRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTrFlightPathSigRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1RoI {
-					hist hL1EtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/L1RoI
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/L1RoI
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/L1RoI
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEMIso {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/L1RoI
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/L1RoI
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadCore {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/L1RoI
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadIsol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/L1RoI
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/L1RoI
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClus {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/L1RoI
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClusEMIso {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/L1RoI
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIeT {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/L1RoI
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIisol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/L1RoI
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1VsOffline {
-					hist hL1EtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/L1VsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir TurnOnCurves {
-					dir RecoEfficiency {
-						hist TProfRecoHLTEtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt1pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt3pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTMuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1EtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1MuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-					}
-				}
-			}
-			dir tau25_perf_tracktwoEFmvaTES {
-				dir EFTau {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hEFChPiEMEOverCaloEME1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysP1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFSumPtTrkFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDist1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFipSigLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApprox1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-								reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hEFChPiEMEOverCaloEMEMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysPMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFracMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFdRmaxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrkMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDistMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmassTrkSysMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFtrFlightPathSigMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist hEFEMFraction {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtRaw {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFIsoFrac {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUM {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUMvsmu {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScore1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTrans1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTransmp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoremp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir EFVsOffline {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hCentFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hIpSigLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hSumPtTrkFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTopoInvMassRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hCentFracRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMassTrkSysRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTrFlightPathSigRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1RoI {
-					hist hL1EtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEMIso {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadCore {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadIsol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClus {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClusEMIso {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIeT {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIisol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1VsOffline {
-					hist hL1EtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/L1VsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir TurnOnCurves {
-					dir RecoEfficiency {
-						hist TProfRecoHLTEtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt1pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt3pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTMuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1EtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1MuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-					}
-				}
-			}
-			dir tau25_perf_tracktwoMVA {
-				dir EFTau {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hEFChPiEMEOverCaloEME1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysP1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFSumPtTrkFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDist1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFipSigLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApprox1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hEFChPiEMEOverCaloEMEMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysPMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFracMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFdRmaxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrkMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDistMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmassTrkSysMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFtrFlightPathSigMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					dir RNN {
-						dir InputScalar1p {
-							hist hEFRNNInput_Scalar_EMPOverTrkSysP_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_SumPtTrkFrac_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_absipSigLeadTrk_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_centFrac_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_dRmax_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_etOverPtLeadTrk_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_mEflowApprox_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptDetectorAxis_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptRatioEflowApprox_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir InputScalar3p {
-							hist hEFRNNInput_Scalar_EMPOverTrkSysP_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_SumPtTrkFrac_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_centFrac_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_dRmax_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_etOverPtLeadTrk_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_mEflowApprox_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_massTrkSys_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptDetectorAxis_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptRatioEflowApprox_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_trFlightPathSig_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir Output {
-							hist hEFRNNJetScore {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/Output
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNJetScoreSigTrans {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/Output
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist hEFEMFraction {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtRaw {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFIsoFrac {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUM {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUMvsmu {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScore1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTrans1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTransmp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoremp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir EFVsOffline {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hCentFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hIpSigLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hSumPtTrkFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTopoInvMassRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hCentFracRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMassTrkSysRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTrFlightPathSigRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1RoI {
-					hist hL1EtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEMIso {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadCore {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadIsol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClus {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClusEMIso {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIeT {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIisol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1VsOffline {
-					hist hL1EtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/L1VsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir TurnOnCurves {
-					dir RecoEfficiency {
-						hist TProfRecoHLTEtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt1pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt3pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTMuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1EtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1MuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-					}
-				}
-			}
-			dir tau25_tightRNN_tracktwo {
-				dir EFTau {
-					dir RNN {
-						dir InputScalar1p {
-							hist hEFRNNInput_Scalar_EMPOverTrkSysP_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_SumPtTrkFrac_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_absipSigLeadTrk_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_centFrac_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_dRmax_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_etOverPtLeadTrk_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_mEflowApprox_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptDetectorAxis_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptRatioEflowApprox_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir InputScalar3p {
-							hist hEFRNNInput_Scalar_EMPOverTrkSysP_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_SumPtTrkFrac_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_centFrac_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_dRmax_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_etOverPtLeadTrk_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_mEflowApprox_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_massTrkSys_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptDetectorAxis_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptRatioEflowApprox_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_trFlightPathSig_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir Output {
-							hist hEFRNNJetScore {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau/RNN/Output
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNJetScoreSigTrans {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau/RNN/Output
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist hEFEMFraction {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtRaw {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFIsoFrac {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUM {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUMvsmu {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir EFVsOffline {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hCentFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hIpSigLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hSumPtTrkFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTopoInvMassRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hCentFracRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMassTrkSysRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTrFlightPathSigRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1RoI {
-					hist hL1EtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEMIso {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadCore {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadIsol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClus {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClusEMIso {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIeT {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIisol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1VsOffline {
-					hist hL1EtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/L1VsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir PreselectionTau {
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt2 {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hFTFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hFTFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir PreselectionVsOffline {
-					hist hEFEtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtaRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPhiRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPreselvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPreselvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir TurnOnCurves {
-					dir RecoEfficiency {
-						hist TProfRecoHLTEtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt1pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt3pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTMuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1EtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1MuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-					}
-				}
-			}
-			dir tau25_tightRNN_tracktwoMVA {
-				dir EFTau {
-					dir RNN {
-						dir InputScalar1p {
-							hist hEFRNNInput_Scalar_EMPOverTrkSysP_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_SumPtTrkFrac_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_absipSigLeadTrk_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_centFrac_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_dRmax_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_etOverPtLeadTrk_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_mEflowApprox_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptDetectorAxis_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptRatioEflowApprox_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir InputScalar3p {
-							hist hEFRNNInput_Scalar_EMPOverTrkSysP_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_SumPtTrkFrac_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_centFrac_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_dRmax_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_etOverPtLeadTrk_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_mEflowApprox_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_massTrkSys_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptDetectorAxis_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptRatioEflowApprox_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_trFlightPathSig_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir Output {
-							hist hEFRNNJetScore {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau/RNN/Output
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNJetScoreSigTrans {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau/RNN/Output
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist hEFEMFraction {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtRaw {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFIsoFrac {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUM {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUMvsmu {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir EFVsOffline {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hCentFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hIpSigLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hSumPtTrkFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTopoInvMassRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hCentFracRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMassTrkSysRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTrFlightPathSigRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1RoI {
-					hist hL1EtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEMIso {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadCore {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadIsol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClus {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClusEMIso {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIeT {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIisol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1VsOffline {
-					hist hL1EtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/L1VsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir TurnOnCurves {
-					dir RecoEfficiency {
-						hist TProfRecoHLTEtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt1pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt3pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTMuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1EtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1MuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_tightRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-					}
-				}
-			}
-			dir tau25_verylooseRNN_tracktwo {
-				dir EFTau {
-					dir RNN {
-						dir InputScalar1p {
-							hist hEFRNNInput_Scalar_EMPOverTrkSysP_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_SumPtTrkFrac_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_absipSigLeadTrk_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_centFrac_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_dRmax_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_etOverPtLeadTrk_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_mEflowApprox_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptDetectorAxis_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptRatioEflowApprox_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir InputScalar3p {
-							hist hEFRNNInput_Scalar_EMPOverTrkSysP_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_SumPtTrkFrac_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_centFrac_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_dRmax_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_etOverPtLeadTrk_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_mEflowApprox_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_massTrkSys_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptDetectorAxis_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptRatioEflowApprox_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_trFlightPathSig_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir Output {
-							hist hEFRNNJetScore {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau/RNN/Output
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNJetScoreSigTrans {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau/RNN/Output
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist hEFEMFraction {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtRaw {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFIsoFrac {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUM {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUMvsmu {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir EFVsOffline {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hCentFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hIpSigLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hSumPtTrkFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTopoInvMassRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hCentFracRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMassTrkSysRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTrFlightPathSigRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1RoI {
-					hist hL1EtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEMIso {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadCore {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadIsol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClus {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClusEMIso {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIeT {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIisol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1VsOffline {
-					hist hL1EtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/L1VsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir PreselectionTau {
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt2 {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hFTFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hFTFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir PreselectionVsOffline {
-					hist hEFEtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtaRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPhiRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPreselvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPreselvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir TurnOnCurves {
-					dir RecoEfficiency {
-						hist TProfRecoHLTEtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt1pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt3pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTMuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1EtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1MuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwo/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-					}
-				}
-			}
-			dir tau25_verylooseRNN_tracktwoMVA {
-				dir EFTau {
-					dir RNN {
-						dir InputScalar1p {
-							hist hEFRNNInput_Scalar_EMPOverTrkSysP_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_SumPtTrkFrac_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_absipSigLeadTrk_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_centFrac_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_dRmax_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_etOverPtLeadTrk_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_mEflowApprox_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptDetectorAxis_log_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptRatioEflowApprox_1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir InputScalar3p {
-							hist hEFRNNInput_Scalar_EMPOverTrkSysP_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_SumPtTrkFrac_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_centFrac_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_dRmax_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_etOverPtLeadTrk_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_mEflowApprox_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_massTrkSys_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptDetectorAxis_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_ptRatioEflowApprox_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNInput_Scalar_trFlightPathSig_log_3P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir Output {
-							hist hEFRNNJetScore {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau/RNN/Output
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFRNNJetScoreSigTrans {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau/RNN/Output
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist hEFEMFraction {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtRaw {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFIsoFrac {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUM {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUMvsmu {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir EFVsOffline {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hCentFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hIpSigLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hSumPtTrkFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTopoInvMassRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hCentFracRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMassTrkSysRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTrFlightPathSigRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1RoI {
-					hist hL1EtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEMIso {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadCore {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadIsol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClus {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClusEMIso {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIeT {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIisol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1VsOffline {
-					hist hL1EtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/L1VsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir TurnOnCurves {
-					dir RecoEfficiency {
-						hist TProfRecoHLTEtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt1pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt3pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTMuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1EtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1MuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau25_verylooseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-					}
-				}
-			}
-			dir tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM {
-				dir EFTau {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist   all_in_dir {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist   all_in_dir {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUMvsmu {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/EFTau
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir EFVsOffline {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist   all_in_dir {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist   all_in_dir {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/EFVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1RoI {
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClusEMIso {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1VsOffline {
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/L1VsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir PreselectionTau {
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir PreselectionVsOffline {
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPreselvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPreselvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir TurnOnCurves {
-					dir RecoEfficiency {
-						hist   all_in_dir {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-					}
-				}
-			}
-			dir tau35_medium1_tracktwo_xe70_L1XE45 {
-				dir EFTau {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hEFChPiEMEOverCaloEME1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysP1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFSumPtTrkFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDist1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFipSigLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApprox1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hEFChPiEMEOverCaloEMEMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysPMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFracMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFdRmaxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrkMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDistMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmassTrkSysMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFtrFlightPathSigMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist hEFEMFraction {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtRaw {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFIsoFrac {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUM {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUMvsmu {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScore1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTrans1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTransmp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoremp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir EFVsOffline {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hCentFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hIpSigLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hSumPtTrkFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTopoInvMassRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hCentFracRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMassTrkSysRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTrFlightPathSigRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1RoI {
-					hist hL1EtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEMIso {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadCore {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadIsol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClus {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClusEMIso {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIeT {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIisol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1VsOffline {
-					hist hL1EtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/L1VsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir PreselectionTau {
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt2 {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hFTFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hFTFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir PreselectionVsOffline {
-					hist hEFEtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtaRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPhiRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPreselvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPreselvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir TurnOnCurves {
-					dir RecoEfficiency {
-						hist TProfRecoHLTEtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt1pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt3pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTMuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1EtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1MuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-					}
-				}
-			}
-			dir tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12 {
-				dir EFTau {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hEFChPiEMEOverCaloEME1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysP1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFSumPtTrkFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDist1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFipSigLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApprox1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hEFChPiEMEOverCaloEMEMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysPMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFracMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFdRmaxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrkMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDistMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmassTrkSysMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFtrFlightPathSigMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist hEFEMFraction {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtRaw {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFIsoFrac {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUM {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUMvsmu {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScore1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTrans1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTransmp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoremp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir EFVsOffline {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hCentFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hIpSigLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hSumPtTrkFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTopoInvMassRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hCentFracRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMassTrkSysRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTrFlightPathSigRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1RoI {
-					hist hL1EtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEMIso {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadCore {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadIsol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClus {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClusEMIso {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIeT {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIisol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1VsOffline {
-					hist hL1EtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/L1VsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir PreselectionTau {
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt2 {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hFTFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hFTFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir PreselectionVsOffline {
-					hist hEFEtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtaRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPhiRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPreselvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPreselvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir TurnOnCurves {
-					dir RecoEfficiency {
-						hist TProfRecoHLTEtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt1pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt3pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTMuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1EtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1MuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-					}
-				}
-			}
-			dir tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40 {
-				dir EFTau {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hEFChPiEMEOverCaloEME1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysP1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFSumPtTrkFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFrac1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDist1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFipSigLeadTrk1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApprox1PNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hEFChPiEMEOverCaloEMEMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFEMPOverTrkSysPMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFcentFracMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFdRmaxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFetOverPtLeadTrkMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFinnerTrkAvgDistMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFmassTrkSysMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFptRatioEflowApproxMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEFtrFlightPathSigMPNCorr {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist hEFEMFraction {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtRaw {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFIsoFrac {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUM {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFNUMvsmu {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScore1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTrans1p {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTransmp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoremp {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir EFVsOffline {
-					dir BDT {
-						dir 1p_nonCorrected {
-							hist hCentFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hIpSigLeadTrkRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hSumPtTrkFracRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTopoInvMassRatio1P {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/1p_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-						dir mp_nonCorrected {
-							hist hCentFracRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hChPiEMEOverCaloEMERatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hDRmaxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEMPOverTrkSysPRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hEtOverPtLeadTrkRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hInnerTrkAvgDistRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hMassTrkSysRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hPtRatioEflowApproxRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-							hist hTrFlightPathSigRatioMP {
-								algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-								description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-								output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/mp_nonCorrected
-								display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-							}
-						}
-					}
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1RoI {
-					hist hL1EtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1EtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEMIso {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadCore {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadIsol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClus {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClusEMIso {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIeT {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIisol {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1VsOffline {
-					hist hL1EtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/L1VsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir PreselectionTau {
-					hist hEFEt {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt2 {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtVsEta {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtVsPhi {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEta {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hFTFnTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hFTFnWideTrack {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPhi {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir PreselectionVsOffline {
-					hist hEFEtRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEtaRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPhiRatio {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPreselvsOffnTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPreselvsOffnWideTrks {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir TurnOnCurves {
-					dir RecoEfficiency {
-						hist TProfRecoHLTEtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt1pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPt3pEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTHighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTMuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTNVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoHLTPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1EtaEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1HighPtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1MuEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NTrackEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1NVtxEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PhiEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt1PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1Pt3PEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-						hist TProfRecoL1PtEfficiency {
-							algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
-							description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-							output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
-							display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-						}
-					}
-				}
-			}
-		}
-		dir Shifter {
-			dir OtherPlots {
-				hist hHLTCounts_shifter {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Shifter/OtherPlots
-					display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-				}
-				hist hL1Counts_shifter {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Shifter/OtherPlots
-					display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-				}
-				hist hL1Emulation_shifter {
-					algorithm   	= TAU_HistKolmogorovTest_MaxDist
-					description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-					output      	= HLT/TauMon/Shifter/OtherPlots
-					display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-				}
-				dir tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF {
-					hist TProfRecoL1_dREfficiency_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/OtherPlots/tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF_03dR30_L1DR-TAU20ITAU12I-J25 {
-					hist TProfRecoL1_dREfficiency_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/OtherPlots/tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF_03dR30_L1DR-TAU20ITAU12I-J25
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF_L1DR-TAU20ITAU12I-J25 {
-					hist TProfRecoL1_dREfficiency_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/OtherPlots/tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF_L1DR-TAU20ITAU12I-J25
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir tau35_medium1_tracktwo_tau25_medium1_tracktwo {
-					hist TProfRecoL1_dREfficiency_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/OtherPlots/tau35_medium1_tracktwo_tau25_medium1_tracktwo
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir tau35_medium1_tracktwo_tau25_medium1_tracktwo_03dR30_L1DR-TAU20ITAU12I {
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/OtherPlots/tau35_medium1_tracktwo_tau25_medium1_tracktwo_03dR30_L1DR-TAU20ITAU12I
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir tau35_medium1_tracktwo_tau25_medium1_tracktwo_03dR30_L1DR-TAU20ITAU12I-J25 {
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/OtherPlots/tau35_medium1_tracktwo_tau25_medium1_tracktwo_03dR30_L1DR-TAU20ITAU12I-J25
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1DR-TAU20ITAU12I {
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/OtherPlots/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1DR-TAU20ITAU12I
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1DR-TAU20ITAU12I-J25 {
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/OtherPlots/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1DR-TAU20ITAU12I-J25
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM {
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/OtherPlots/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir tau80_medium1_tracktwoEF_L1TAU60_tau35_medium1_tracktwoEF_L1TAU12IM_L1TAU60_DR-TAU20ITAU12I {
-					hist TProfRecoL1_dREfficiency_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/OtherPlots/tau80_medium1_tracktwoEF_L1TAU60_tau35_medium1_tracktwoEF_L1TAU12IM_L1TAU60_DR-TAU20ITAU12I
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir tau80_medium1_tracktwo_L1TAU60_tau35_medium1_tracktwo_L1TAU12IM_L1TAU60_DR-TAU20ITAU12I {
-					hist TProfRecoL1_dREfficiency_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/OtherPlots/tau80_medium1_tracktwo_L1TAU60_tau35_medium1_tracktwo_L1TAU12IM_L1TAU60_DR-TAU20ITAU12I
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-			}
-			dir tau25_medium1_tracktwo {
-				dir EFTau {
-					hist hEFEMFraction_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEMPOverTrkSysP1PNCorr_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEMPOverTrkSysPMPNCorr_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtRaw_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsEta_shifter {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsPhi_shifter {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi_shifter {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEta_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFIsoFrac_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFPhi_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFSumPtTrkFrac1PNCorr_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFcentFrac1PNCorr_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFcentFracMPNCorr_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFdRmaxMPNCorr_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFetOverPtLeadTrk1PNCorr_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFetOverPtLeadTrkMPNCorr_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFinnerTrkAvgDist1PNCorr_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFinnerTrkAvgDistMPNCorr_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFipSigLeadTrk1PNCorr_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnTrack_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnWideTrack_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFtrFlightPathSigMPNCorr_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScore1p_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTrans1p_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTransmp_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoremp_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir EFVsOffline {
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/EFVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnTrks_shifter {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnWideTrks_shifter {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1RoI {
-					hist hL1EtaVsPhi_shifter {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEMIso_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEta_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadCore_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadIsol_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIPhi_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClusEMIso_shifter {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClus_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIeT_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIisol_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1VsOffline {
-					hist hL1EtRatio_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/L1VsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir PreselectionTau {
-					hist hEFEt_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi_shifter {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEta_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hFTFnTrack_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hFTFnWideTrack_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPhi_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/PreselectionTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir PreselectionVsOffline {
-					hist hPreselvsOffnTrks_shifter {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hPreselvsOffnWideTrks_shifter {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/PreselectionVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir TurnOnCurves {
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwo/TurnOnCurves
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-			}
-			dir tau25_medium1_tracktwoEF {
-				dir EFTau {
-					hist hEFEMFraction_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEMPOverTrkSysP1PNCorr_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEMPOverTrkSysPMPNCorr_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtRaw_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsEta_shifter {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtVsPhi_shifter {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEt_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEtaVsPhi_shifter {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFEta_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFIsoFrac_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFPhi_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFSumPtTrkFrac1PNCorr_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFcentFrac1PNCorr_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFcentFracMPNCorr_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFdRmaxMPNCorr_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFetOverPtLeadTrk1PNCorr_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFetOverPtLeadTrkMPNCorr_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFinnerTrkAvgDist1PNCorr_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFinnerTrkAvgDistMPNCorr_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFipSigLeadTrk1PNCorr_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnTrack_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFnWideTrack_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFtrFlightPathSigMPNCorr_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScore1p_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTrans1p_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoreSigTransmp_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hScoremp_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir EFVsOffline {
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFVsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnTrks_shifter {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hEFvsOffnWideTrks_shifter {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFVsOffline
-						display     	= StatBox
-						reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1RoI {
-					hist hL1EtaVsPhi_shifter {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEMIso_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIEta_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadCore_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIHadIsol_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIPhi_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClusEMIso_shifter {
-						algorithm   	= HLT_Histogram_Not_Empty&GatherData
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoITauClus_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIeT_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-					hist hL1RoIisol_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/L1RoI
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir L1VsOffline {
-					hist hL1EtRatio_shifter {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/L1VsOffline
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-				dir TurnOnCurves {
-					hist   all_in_dir {
-						algorithm   	= TAU_HistKolmogorovTest_MaxDist
-						description 	= https://twiki.cern.ch/twiki/bin/view/Atlas/HltTrackingDataQualityMonitoring#Tier0
-						output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/TurnOnCurves
-						display     	= StatBox
-							reference     = CentrallyManagedReferences_Trigger
-					}
-				}
-			}
-		}
-	}
+  dir TauMon {
+    dir Expert {
+      dir Emulation {
+        hist hL1Emulation {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/Emulation
+          display     	= StatBox
+        }
+      }
+      dir HLTefficiency {
+        dir EffRatios_FTKvsNonFTK {
+          hist TProfRecoHLTLSTEta1PEfficiency_CompFTKNoPrecvsNonFTK_medium0 {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
+            display     	= StatBox
+          }
+          hist TProfRecoHLTLSTEta1PEfficiency_CompFTKNoPrecvsNonFTK_medium1 {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
+            display     	= StatBox
+          }
+          hist TProfRecoHLTLSTEta3PEfficiency_CompFTKNoPrecvsNonFTK_medium0 {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
+            display     	= StatBox
+          }
+          hist TProfRecoHLTLSTEta3PEfficiency_CompFTKNoPrecvsNonFTK_medium1 {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
+            display     	= StatBox
+          }
+          hist TProfRecoHLTLSTEtaEfficiency_CompFTKNoPrecvsNonFTK_medium0 {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
+            display     	= StatBox
+          }
+          hist TProfRecoHLTLSTEtaEfficiency_CompFTKNoPrecvsNonFTK_medium1 {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
+            display     	= StatBox
+          }
+          hist TProfRecoHLTLSTMu1PEfficiency_CompFTKNoPrecvsNonFTK_medium0 {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
+            display     	= StatBox
+          }
+          hist TProfRecoHLTLSTMu1PEfficiency_CompFTKNoPrecvsNonFTK_medium1 {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
+            display     	= StatBox
+          }
+          hist TProfRecoHLTLSTMu3PEfficiency_CompFTKNoPrecvsNonFTK_medium0 {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
+            display     	= StatBox
+          }
+          hist TProfRecoHLTLSTMu3PEfficiency_CompFTKNoPrecvsNonFTK_medium1 {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
+            display     	= StatBox
+          }
+          hist TProfRecoHLTLSTMuEfficiency_CompFTKNoPrecvsNonFTK_medium0 {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
+            display     	= StatBox
+          }
+          hist TProfRecoHLTLSTMuEfficiency_CompFTKNoPrecvsNonFTK_medium1 {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
+            display     	= StatBox
+          }
+          hist TProfRecoHLTLSTNTrackEfficiency_CompFTKNoPrecvsNonFTK_medium0 {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
+            display     	= StatBox
+          }
+          hist TProfRecoHLTLSTNTrackEfficiency_CompFTKNoPrecvsNonFTK_medium1 {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
+            display     	= StatBox
+          }
+          hist TProfRecoHLTLSTPt1PEfficiency_CompFTKNoPrecvsNonFTK_medium0 {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
+            display     	= StatBox
+          }
+          hist TProfRecoHLTLSTPt1PEfficiency_CompFTKNoPrecvsNonFTK_medium1 {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
+            display     	= StatBox
+          }
+          hist TProfRecoHLTLSTPt3PEfficiency_CompFTKNoPrecvsNonFTK_medium0 {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
+            display     	= StatBox
+          }
+          hist TProfRecoHLTLSTPt3PEfficiency_CompFTKNoPrecvsNonFTK_medium1 {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
+            display     	= StatBox
+          }
+          hist TProfRecoHLTLSTPtEfficiency_CompFTKNoPrecvsNonFTK_medium0 {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
+            display     	= StatBox
+          }
+          hist TProfRecoHLTLSTPtEfficiency_CompFTKNoPrecvsNonFTK_medium1 {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/HLTefficiency/EffRatios_FTKvsNonFTK
+            display     	= StatBox
+          }
+        }
+        hist TProfRecoHLT160PtEfficiency {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLT160PtEfficiency_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLT25Eta1PEfficiency {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLT25Eta1PEfficiency_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLT25Eta3PEfficiency {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLT25Eta3PEfficiency_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLT25EtaEfficiency {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLT25EtaEfficiency_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLT25Mu1PEfficiency {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLT25Mu1PEfficiency_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLT25Mu3PEfficiency {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLT25Mu3PEfficiency_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLT25MuEfficiency {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLT25MuEfficiency_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLT25NTrackEfficiency {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLT25NTrackEfficiency_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLT25NVtxEfficiency {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLT25NVtxEfficiency_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLT25PhiEfficiency {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLT25PhiEfficiency_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLT25Pt1PEfficiency {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLT25Pt1PEfficiency_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLT25Pt3PEfficiency {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLT25Pt3PEfficiency_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLT25PtEfficiency {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLT25PtEfficiency_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTEtaEfficiency_0prong_FTKNoPrec_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTEtaEfficiency_0prong_FTK_1 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTEtaEfficiency_0prong_FTK_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTEtaEfficiency_FTKNoPrec_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTEtaEfficiency_FTK_1 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTEtaEfficiency_FTK_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTMuEfficiency_0prong_FTKNoPrec_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTMuEfficiency_0prong_FTK_1 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTMuEfficiency_0prong_FTK_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTMuEfficiency_FTKNoPrec_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTMuEfficiency_FTK_1 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTMuEfficiency_FTK_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTNTrackEfficiency_0prong_FTKNoPrec_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTNTrackEfficiency_0prong_FTK_1 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTNTrackEfficiency_0prong_FTK_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTNTrackEfficiency_FTKNoPrec_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTNTrackEfficiency_FTK_1 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTNTrackEfficiency_FTK_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTPt1PEfficiency_0prong_FTKNoPrec_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTPt1PEfficiency_0prong_FTK_1 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTPt1PEfficiency_0prong_FTK_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTPt1PEfficiency_FTKNoPrec_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTPt1PEfficiency_FTK_1 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTPt1PEfficiency_FTK_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTPt3PEfficiency_0prong_FTKNoPrec_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTPt3PEfficiency_0prong_FTK_1 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTPt3PEfficiency_0prong_FTK_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTPt3PEfficiency_FTKNoPrec_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTPt3PEfficiency_FTK_1 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTPt3PEfficiency_FTK_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTPtEfficiency_0prong_FTKNoPrec_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTPtEfficiency_0prong_FTK_1 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTPtEfficiency_0prong_FTK_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTPtEfficiency_FTKNoPrec_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTPtEfficiency_FTK_1 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoHLTLSTPtEfficiency_FTK_2 {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoL1_J25Pt1PEfficiency {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoL1_J25Pt3PEfficiency {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist TProfRecoL1_J25PtEfficiency {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist hRecoHLT25EtaVsPhiEfficiency {
+          algorithm   	= HLT_Histogram_Not_Empty&GatherData
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist hRecoHLT25EtaVsPhiEfficiency_2 {
+          algorithm   	= HLT_Histogram_Not_Empty&GatherData
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist hRecoHLT25EtaVsPhiNum {
+          algorithm   	= HLT_Histogram_Not_Empty&GatherData
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist hRecoHLT25EtaVsPhiNum_2 {
+          algorithm   	= HLT_Histogram_Not_Empty&GatherData
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist hRecoTau25EtaVsPhiDenom {
+          algorithm   	= HLT_Histogram_Not_Empty&GatherData
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+        hist hRecoTau25EtaVsPhiDenom_2 {
+          algorithm   	= HLT_Histogram_Not_Empty&GatherData
+          output      	= HLT/TauMon/Expert/HLTefficiency
+          display     	= StatBox
+        }
+      }
+      dir RealZtautauEff {
+        dir tau25_medium1_tracktwoEF {
+          hist TProfRealZttHLTPt1PEfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/RealZtautauEff/tau25_medium1_tracktwoEF
+            display     	= StatBox
+          }
+          hist TProfRealZttHLTPt3PEfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/RealZtautauEff/tau25_medium1_tracktwoEF
+            display     	= StatBox
+          }
+          hist TProfRealZttL1Pt1PEfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/RealZtautauEff/tau25_medium1_tracktwoEF
+            display     	= StatBox
+          }
+          hist TProfRealZttL1Pt3PEfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/RealZtautauEff/tau25_medium1_tracktwoEF
+            display     	= StatBox
+          }
+        }
+        dir tau25_mediumRNN_tracktwoMVA {
+          hist TProfRealZttHLTPt1PEfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/RealZtautauEff/tau25_mediumRNN_tracktwoMVA
+            display     	= StatBox
+          }
+          hist TProfRealZttHLTPt3PEfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/RealZtautauEff/tau25_mediumRNN_tracktwoMVA
+            display     	= StatBox
+          }
+          hist TProfRealZttL1Pt1PEfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/RealZtautauEff/tau25_mediumRNN_tracktwoMVA
+            display     	= StatBox
+          }
+          hist TProfRealZttL1Pt3PEfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/RealZtautauEff/tau25_mediumRNN_tracktwoMVA
+            display     	= StatBox
+          }
+        }
+      }
+      dir TopoDiTau {
+        dir tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF {
+          hist TProfRecoL1_dREfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/TopoDiTau/tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF
+            display     	= StatBox
+          }
+          hist hHLTdR {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/TopoDiTau/tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF
+            display     	= StatBox
+          }
+        }
+        dir tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF_03dR30_L1DR-TAU20ITAU12I-J25 {
+          hist TProfRecoL1_dREfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/TopoDiTau/tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF_03dR30_L1DR-TAU20ITAU12I-J25
+            display     	= StatBox
+          }
+          hist hHLTdR {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/TopoDiTau/tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF_03dR30_L1DR-TAU20ITAU12I-J25
+            display     	= StatBox
+          }
+        }
+        dir tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF_L1DR-TAU20ITAU12I-J25 {
+          hist TProfRecoL1_dREfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/TopoDiTau/tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF_L1DR-TAU20ITAU12I-J25
+            display     	= StatBox
+          }
+          hist hHLTdR {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/TopoDiTau/tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF_L1DR-TAU20ITAU12I-J25
+            display     	= StatBox
+          }
+        }
+        dir tau35_medium1_tracktwo_tau25_medium1_tracktwo {
+          hist TProfRecoL1_dREfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/TopoDiTau/tau35_medium1_tracktwo_tau25_medium1_tracktwo
+            display     	= StatBox
+          }
+          hist hHLTdR {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/TopoDiTau/tau35_medium1_tracktwo_tau25_medium1_tracktwo
+            display     	= StatBox
+          }
+        }
+        dir tau35_medium1_tracktwo_tau25_medium1_tracktwo_03dR30_L1DR-TAU20ITAU12I-J25 {          
+	  hist   all_in_dir {
+            algorithm           = TAU_HistKolmogorovTest_MaxDist_loose
+            output              = HLT/TauMon/Expert/TopoDiTau/tau35_medium1_tracktwo_tau25_medium1_tracktwo_03dR30_L1DR-TAU20ITAU12I-J25
+            display             = StatBox
+	    reference           = HLT_TauTrigger_MainReference
+          }
+        }
+        dir tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1DR-TAU20ITAU12I-J25 {
+          hist   all_in_dir {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/TopoDiTau/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1DR-TAU20ITAU12I-J25
+            display     	= StatBox
+            reference           = HLT_TauTrigger_MainReference
+          }
+        }
+        dir tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM {
+          hist   all_in_dir {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/TopoDiTau/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM
+            display     	= StatBox
+            reference           = HLT_TauTrigger_MainReference
+          }
+        }
+        dir tau80_medium1_tracktwoEF_L1TAU60_tau35_medium1_tracktwoEF_L1TAU12IM_L1TAU60_DR-TAU20ITAU12I {
+          hist TProfRecoL1_dREfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/TopoDiTau/tau80_medium1_tracktwoEF_L1TAU60_tau35_medium1_tracktwoEF_L1TAU12IM_L1TAU60_DR-TAU20ITAU12I
+            display     	= StatBox
+          }
+          hist hHLTdR {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/TopoDiTau/tau80_medium1_tracktwoEF_L1TAU60_tau35_medium1_tracktwoEF_L1TAU12IM_L1TAU60_DR-TAU20ITAU12I
+            display     	= StatBox
+          }
+        }
+        dir tau80_medium1_tracktwo_L1TAU60_tau35_medium1_tracktwo_L1TAU12IM_L1TAU60_DR-TAU20ITAU12I {
+          hist TProfRecoL1_dREfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/TopoDiTau/tau80_medium1_tracktwo_L1TAU60_tau35_medium1_tracktwo_L1TAU12IM_L1TAU60_DR-TAU20ITAU12I
+            display     	= StatBox
+          }
+          hist hHLTdR {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/TopoDiTau/tau80_medium1_tracktwo_L1TAU60_tau35_medium1_tracktwo_L1TAU12IM_L1TAU60_DR-TAU20ITAU12I
+            display     	= StatBox
+          }
+        }
+      }
+      dir TopoElTau {
+        dir e17_lhmedium_nod0_ivarloose_tau25_medium1_tracktwo {
+          hist TProfRecoL1_dREfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/TopoElTau/e17_lhmedium_nod0_ivarloose_tau25_medium1_tracktwo
+            display     	= StatBox
+          }
+          hist hHLTdR {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/TopoElTau/e17_lhmedium_nod0_ivarloose_tau25_medium1_tracktwo
+            display     	= StatBox
+          }
+        }
+        dir e17_lhmedium_nod0_ivarloose_tau25_medium1_tracktwo_L1DR-EM15TAU12I-J25 {
+          hist TProfRecoL1_dREfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/TopoElTau/e17_lhmedium_nod0_ivarloose_tau25_medium1_tracktwo_L1DR-EM15TAU12I-J25
+            display     	= StatBox
+          }
+          hist hHLTdR {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/TopoElTau/e17_lhmedium_nod0_ivarloose_tau25_medium1_tracktwo_L1DR-EM15TAU12I-J25
+            display     	= StatBox
+          }
+        }
+      }
+      dir TopoMuTau {
+        dir mu14_ivarloose_tau25_medium1_tracktwo {
+          hist TProfRecoL1_dREfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/TopoMuTau/mu14_ivarloose_tau25_medium1_tracktwo
+            display     	= StatBox
+          }
+          hist hHLTdR {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/TopoMuTau/mu14_ivarloose_tau25_medium1_tracktwo
+            display     	= StatBox
+          }
+        }
+        dir mu14_ivarloose_tau25_medium1_tracktwo_L1DR-MU10TAU12I_TAU12I-J25 {
+          hist TProfRecoL1_dREfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/TopoMuTau/mu14_ivarloose_tau25_medium1_tracktwo_L1DR-MU10TAU12I_TAU12I-J25
+            display     	= StatBox
+          }
+          hist hHLTdR {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/TopoMuTau/mu14_ivarloose_tau25_medium1_tracktwo_L1DR-MU10TAU12I_TAU12I-J25
+            display     	= StatBox
+          }
+        }
+      }
+      dir dijetFakeTausEff {
+        dir tau160_idperf_tracktwo_L1TAU100 {
+          hist TProfDijetFakeTausHLTEtaEfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau160_idperf_tracktwo_L1TAU100
+            display     	= StatBox
+          }
+          hist TProfDijetFakeTausHLTMuEfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau160_idperf_tracktwo_L1TAU100
+            display     	= StatBox
+          }
+          hist TProfDijetFakeTausHLTNTracksEfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau160_idperf_tracktwo_L1TAU100
+            display     	= StatBox
+          }
+          hist TProfDijetFakeTausHLTPtEfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau160_idperf_tracktwo_L1TAU100
+            display     	= StatBox
+          }
+          hist TProfDijetFakeTausL1EtaEfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau160_idperf_tracktwo_L1TAU100
+            display     	= StatBox
+          }
+          hist TProfDijetFakeTausL1MuEfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau160_idperf_tracktwo_L1TAU100
+            display     	= StatBox
+          }
+          hist TProfDijetFakeTausL1NTracksEfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau160_idperf_tracktwo_L1TAU100
+            display     	= StatBox
+          }
+          hist TProfDijetFakeTausL1PtEfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau160_idperf_tracktwo_L1TAU100
+            display     	= StatBox
+          }
+        }
+        dir tau160_medium1_tracktwo_L1TAU100 {
+          hist TProfDijetFakeTausHLTEtaEfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau160_medium1_tracktwo_L1TAU100
+            display     	= StatBox
+          }
+          hist TProfDijetFakeTausHLTMuEfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau160_medium1_tracktwo_L1TAU100
+            display     	= StatBox
+          }
+          hist TProfDijetFakeTausHLTNTracksEfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau160_medium1_tracktwo_L1TAU100
+            display     	= StatBox
+          }
+          hist TProfDijetFakeTausHLTPtEfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau160_medium1_tracktwo_L1TAU100
+            display     	= StatBox
+          }
+          hist TProfDijetFakeTausL1EtaEfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau160_medium1_tracktwo_L1TAU100
+            display     	= StatBox
+          }
+          hist TProfDijetFakeTausL1MuEfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau160_medium1_tracktwo_L1TAU100
+            display     	= StatBox
+          }
+          hist TProfDijetFakeTausL1NTracksEfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau160_medium1_tracktwo_L1TAU100
+            display     	= StatBox
+          }
+          hist TProfDijetFakeTausL1PtEfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau160_medium1_tracktwo_L1TAU100
+            display     	= StatBox
+          }
+        }
+        dir tau80_medium1_tracktwo_L1TAU60 {
+          hist TProfDijetFakeTausHLTEtaEfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau80_medium1_tracktwo_L1TAU60
+            display     	= StatBox
+          }
+          hist TProfDijetFakeTausHLTMuEfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau80_medium1_tracktwo_L1TAU60
+            display     	= StatBox
+          }
+          hist TProfDijetFakeTausHLTNTracksEfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau80_medium1_tracktwo_L1TAU60
+            display     	= StatBox
+          }
+          hist TProfDijetFakeTausHLTPtEfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau80_medium1_tracktwo_L1TAU60
+            display     	= StatBox
+          }
+          hist TProfDijetFakeTausL1EtaEfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau80_medium1_tracktwo_L1TAU60
+            display     	= StatBox
+          }
+          hist TProfDijetFakeTausL1MuEfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau80_medium1_tracktwo_L1TAU60
+            display     	= StatBox
+          }
+          hist TProfDijetFakeTausL1NTracksEfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau80_medium1_tracktwo_L1TAU60
+            display     	= StatBox
+          }
+          hist TProfDijetFakeTausL1PtEfficiency {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/dijetFakeTausEff/tau80_medium1_tracktwo_L1TAU60
+            display     	= StatBox
+          }
+        }
+      }
+      dir tau0_perf_ptonly_L1TAU100 {
+        dir EFTau {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hEFChPiEMEOverCaloEME1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysP1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFSumPtTrkFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDist1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFipSigLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApprox1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hEFChPiEMEOverCaloEMEMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysPMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFracMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFdRmaxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrkMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDistMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmassTrkSysMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFtrFlightPathSigMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFEMFraction {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFEt {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtRaw {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFIsoFrac {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUM {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUMvsmu {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFnTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFnWideTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hScore1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTrans1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTransmp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hScoremp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFTau
+            display     	= StatBox
+          }
+        }
+        dir EFVsOffline {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hCentFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hIpSigLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hSumPtTrkFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hTopoInvMassRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hCentFracRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMassTrkSysRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hTrFlightPathSigRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFvsOffnTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline
+            display     	= StatBox
+          }
+          hist hEFvsOffnWideTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/EFVsOffline
+            display     	= StatBox
+          }
+        }
+        dir L1RoI {
+          hist hL1EtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEMIso {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadCore {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadIsol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClus {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClusEMIso {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIeT {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIisol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+        }
+        dir L1VsOffline {
+          hist hL1EtRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/L1VsOffline
+            display     	= StatBox
+          }
+        }
+        dir TurnOnCurves {
+          dir RecoEfficiency {
+            hist TProfRecoHLTEtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTEtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+          }
+        }
+      }
+      dir tau0_perf_ptonly_L1TAU12 {
+        dir EFTau {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hEFChPiEMEOverCaloEME1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysP1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFSumPtTrkFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDist1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFipSigLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApprox1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hEFChPiEMEOverCaloEMEMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysPMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFracMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFdRmaxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrkMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDistMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmassTrkSysMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFtrFlightPathSigMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFEMFraction {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
+            display     	= StatBox
+          }
+          hist hEFEt {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtRaw {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
+            display     	= StatBox
+          }
+          hist hEFEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
+            display     	= StatBox
+          }
+          hist hEFIsoFrac {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUM {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUMvsmu {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
+            display     	= StatBox
+          }
+          hist hEFPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
+            display     	= StatBox
+          }
+          hist hEFnTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
+            display     	= StatBox
+          }
+          hist hEFnWideTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
+            display     	= StatBox
+          }
+          hist hScore1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTrans1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTransmp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
+            display     	= StatBox
+          }
+          hist hScoremp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFTau
+            display     	= StatBox
+          }
+        }
+        dir EFVsOffline {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hCentFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hIpSigLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hSumPtTrkFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hTopoInvMassRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hCentFracRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMassTrkSysRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hTrFlightPathSigRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFvsOffnTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline
+            display     	= StatBox
+          }
+          hist hEFvsOffnWideTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/EFVsOffline
+            display     	= StatBox
+          }
+        }
+        dir L1RoI {
+          hist hL1EtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEMIso {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadCore {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadIsol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClus {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClusEMIso {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIeT {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIisol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/L1RoI
+            display     	= StatBox
+          }
+        }
+        dir L1VsOffline {
+          hist hL1EtRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/L1VsOffline
+            display     	= StatBox
+          }
+        }
+        dir TurnOnCurves {
+          dir RecoEfficiency {
+            hist TProfRecoHLTEtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTEtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau0_perf_ptonly_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+          }
+        }
+      }
+      dir tau160_idperf_tracktwo_L1TAU100 {
+        dir EFTau {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hEFChPiEMEOverCaloEME1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysP1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFSumPtTrkFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDist1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFipSigLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApprox1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hEFChPiEMEOverCaloEMEMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysPMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFracMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFdRmaxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrkMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDistMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmassTrkSysMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFtrFlightPathSigMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFEMFraction {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFEt {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtRaw {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFIsoFrac {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUM {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUMvsmu {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFnTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFnWideTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hScore1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTrans1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTransmp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hScoremp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+        }
+        dir EFVsOffline {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hCentFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hIpSigLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hSumPtTrkFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hTopoInvMassRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hCentFracRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMassTrkSysRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hTrFlightPathSigRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFvsOffnTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline
+            display     	= StatBox
+          }
+          hist hEFvsOffnWideTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/EFVsOffline
+            display     	= StatBox
+          }
+        }
+        dir L1RoI {
+          hist hL1EtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEMIso {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadCore {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadIsol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClus {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClusEMIso {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIeT {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIisol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+        }
+        dir L1VsOffline {
+          hist hL1EtRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/L1VsOffline
+            display     	= StatBox
+          }
+        }
+        dir PreselectionTau {
+          hist hEFEt {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEFEt2 {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/PreselectionTau
+            display     	= StatBox
+          }
+          hist hFTFnTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/PreselectionTau
+            display     	= StatBox
+          }
+          hist hFTFnWideTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/PreselectionTau
+            display     	= StatBox
+          }
+          hist hPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/PreselectionTau
+            display     	= StatBox
+          }
+        }
+        dir PreselectionVsOffline {
+          hist hEFEtRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hEtaRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hPhiRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hPreselvsOffnTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hPreselvsOffnWideTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/PreselectionVsOffline
+            display     	= StatBox
+          }
+        }
+        dir TurnOnCurves {
+          dir RecoEfficiency {
+            hist TProfRecoHLTEtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTEtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_idperf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+          }
+        }
+      }
+      dir tau160_medium1_tracktwo_L1TAU100 {
+        dir EFTau {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hEFChPiEMEOverCaloEME1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysP1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFSumPtTrkFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDist1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFipSigLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApprox1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hEFChPiEMEOverCaloEMEMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysPMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFracMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFdRmaxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrkMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDistMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmassTrkSysMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFtrFlightPathSigMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFEMFraction {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFEt {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtRaw {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFIsoFrac {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUM {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUMvsmu {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFnTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFnWideTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hScore1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTrans1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTransmp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hScoremp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+        }
+        dir EFVsOffline {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hCentFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hIpSigLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hSumPtTrkFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hTopoInvMassRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hCentFracRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMassTrkSysRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hTrFlightPathSigRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFvsOffnTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline
+            display     	= StatBox
+          }
+          hist hEFvsOffnWideTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/EFVsOffline
+            display     	= StatBox
+          }
+        }
+        dir L1RoI {
+          hist hL1EtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEMIso {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadCore {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadIsol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClus {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClusEMIso {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIeT {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIisol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+        }
+        dir L1VsOffline {
+          hist hL1EtRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/L1VsOffline
+            display     	= StatBox
+          }
+        }
+        dir PreselectionTau {
+          hist hEFEt {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEFEt2 {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/PreselectionTau
+            display     	= StatBox
+          }
+          hist hFTFnTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/PreselectionTau
+            display     	= StatBox
+          }
+          hist hFTFnWideTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/PreselectionTau
+            display     	= StatBox
+          }
+          hist hPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/PreselectionTau
+            display     	= StatBox
+          }
+        }
+        dir PreselectionVsOffline {
+          hist hEFEtRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hEtaRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hPhiRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hPreselvsOffnTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hPreselvsOffnWideTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/PreselectionVsOffline
+            display     	= StatBox
+          }
+        }
+        dir TurnOnCurves {
+          dir RecoEfficiency {
+            hist TProfRecoHLTEtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTEtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_medium1_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+          }
+        }
+      }
+      dir tau160_perf_tracktwo_L1TAU100 {
+        dir EFTau {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hEFChPiEMEOverCaloEME1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysP1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFSumPtTrkFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDist1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFipSigLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApprox1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hEFChPiEMEOverCaloEMEMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysPMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFracMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFdRmaxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrkMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDistMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmassTrkSysMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFtrFlightPathSigMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFEMFraction {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFEt {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtRaw {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFIsoFrac {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUM {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUMvsmu {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFnTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hEFnWideTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hScore1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTrans1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTransmp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+          hist hScoremp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFTau
+            display     	= StatBox
+          }
+        }
+        dir EFVsOffline {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hCentFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hIpSigLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hSumPtTrkFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hTopoInvMassRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hCentFracRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMassTrkSysRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hTrFlightPathSigRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFvsOffnTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline
+            display     	= StatBox
+          }
+          hist hEFvsOffnWideTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/EFVsOffline
+            display     	= StatBox
+          }
+        }
+        dir L1RoI {
+          hist hL1EtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEMIso {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadCore {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadIsol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClus {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClusEMIso {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIeT {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIisol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/L1RoI
+            display     	= StatBox
+          }
+        }
+        dir L1VsOffline {
+          hist hL1EtRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/L1VsOffline
+            display     	= StatBox
+          }
+        }
+        dir PreselectionTau {
+          hist hEFEt {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEFEt2 {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/PreselectionTau
+            display     	= StatBox
+          }
+          hist hFTFnTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/PreselectionTau
+            display     	= StatBox
+          }
+          hist hFTFnWideTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/PreselectionTau
+            display     	= StatBox
+          }
+          hist hPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/PreselectionTau
+            display     	= StatBox
+          }
+        }
+        dir PreselectionVsOffline {
+          hist hEFEtRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hEtaRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hPhiRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hPreselvsOffnTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hPreselvsOffnWideTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/PreselectionVsOffline
+            display     	= StatBox
+          }
+        }
+        dir TurnOnCurves {
+          dir RecoEfficiency {
+            hist TProfRecoHLTEtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTEtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau160_perf_tracktwo_L1TAU100/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+          }
+        }
+      }
+      dir tau25_idperf_tracktwo {
+        dir EFTau {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hEFChPiEMEOverCaloEME1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysP1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFSumPtTrkFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDist1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFipSigLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApprox1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hEFChPiEMEOverCaloEMEMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysPMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFracMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFdRmaxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrkMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDistMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmassTrkSysMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFtrFlightPathSigMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFEMFraction {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFEt {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtRaw {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFIsoFrac {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUM {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUMvsmu {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFnTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFnWideTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hScore1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTrans1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTransmp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hScoremp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFTau
+            display     	= StatBox
+          }
+        }
+        dir EFVsOffline {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hCentFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hIpSigLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hSumPtTrkFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hTopoInvMassRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hCentFracRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMassTrkSysRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hTrFlightPathSigRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFvsOffnTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline
+            display     	= StatBox
+          }
+          hist hEFvsOffnWideTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/EFVsOffline
+            display     	= StatBox
+          }
+        }
+        dir L1RoI {
+          hist hL1EtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEMIso {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadCore {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadIsol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClus {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClusEMIso {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIeT {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIisol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/L1RoI
+            display     	= StatBox
+          }
+        }
+        dir L1VsOffline {
+          hist hL1EtRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/L1VsOffline
+            display     	= StatBox
+          }
+        }
+        dir PreselectionTau {
+          hist hEFEt {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEFEt2 {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/PreselectionTau
+            display     	= StatBox
+          }
+          hist hFTFnTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/PreselectionTau
+            display     	= StatBox
+          }
+          hist hFTFnWideTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/PreselectionTau
+            display     	= StatBox
+          }
+          hist hPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/PreselectionTau
+            display     	= StatBox
+          }
+        }
+        dir PreselectionVsOffline {
+          hist hEFEtRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hEtaRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hPhiRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hPreselvsOffnTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hPreselvsOffnWideTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/PreselectionVsOffline
+            display     	= StatBox
+          }
+        }
+        dir TurnOnCurves {
+          dir RecoEfficiency {
+            hist TProfRecoHLTEtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTEtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+          }
+        }
+      }
+      dir tau25_idperf_tracktwoEF {
+        dir EFTau {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hEFChPiEMEOverCaloEME1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysP1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFSumPtTrkFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDist1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFipSigLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApprox1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hEFChPiEMEOverCaloEMEMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysPMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFracMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFdRmaxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrkMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDistMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmassTrkSysMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFtrFlightPathSigMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFEMFraction {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFEt {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtRaw {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFIsoFrac {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUM {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUMvsmu {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFnTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFnWideTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hScore1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTrans1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTransmp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hScoremp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+        }
+        dir EFVsOffline {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hCentFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hIpSigLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hSumPtTrkFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hTopoInvMassRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hCentFracRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMassTrkSysRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hTrFlightPathSigRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFvsOffnTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline
+            display     	= StatBox
+          }
+          hist hEFvsOffnWideTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/EFVsOffline
+            display     	= StatBox
+          }
+        }
+        dir L1RoI {
+          hist hL1EtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEMIso {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadCore {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadIsol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClus {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClusEMIso {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIeT {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIisol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+        }
+        dir L1VsOffline {
+          hist hL1EtRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/L1VsOffline
+            display     	= StatBox
+          }
+        }
+        dir TurnOnCurves {
+          dir RecoEfficiency {
+            hist TProfRecoHLTEtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTEtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+          }
+        }
+      }
+      dir tau25_idperf_tracktwoEFmvaTES {
+        dir EFTau {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hEFChPiEMEOverCaloEME1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysP1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFSumPtTrkFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDist1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFipSigLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApprox1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hEFChPiEMEOverCaloEMEMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysPMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFracMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFdRmaxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrkMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDistMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmassTrkSysMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFtrFlightPathSigMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFEMFraction {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFEt {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtRaw {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFIsoFrac {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUM {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUMvsmu {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFnTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFnWideTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hScore1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTrans1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTransmp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hScoremp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+        }
+        dir EFVsOffline {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hCentFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hIpSigLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hSumPtTrkFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hTopoInvMassRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hCentFracRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMassTrkSysRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hTrFlightPathSigRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFvsOffnTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline
+            display     	= StatBox
+          }
+          hist hEFvsOffnWideTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/EFVsOffline
+            display     	= StatBox
+          }
+        }
+        dir L1RoI {
+          hist hL1EtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEMIso {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadCore {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadIsol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClus {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClusEMIso {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIeT {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIisol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+        }
+        dir L1VsOffline {
+          hist hL1EtRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/L1VsOffline
+            display     	= StatBox
+          }
+        }
+        dir TurnOnCurves {
+          dir RecoEfficiency {
+            hist TProfRecoHLTEtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTEtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+          }
+        }
+      }
+      dir tau25_idperf_tracktwoMVA {
+        dir EFTau {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hEFChPiEMEOverCaloEME1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysP1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFSumPtTrkFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDist1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFipSigLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApprox1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hEFChPiEMEOverCaloEMEMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysPMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFracMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFdRmaxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrkMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDistMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmassTrkSysMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFtrFlightPathSigMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          dir RNN {
+            dir InputScalar1p {
+              hist hEFRNNInput_Scalar_EMPOverTrkSysP_log_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_SumPtTrkFrac_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_absipSigLeadTrk_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_centFrac_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_dRmax_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_etOverPtLeadTrk_log_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_mEflowApprox_log_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_ptDetectorAxis_log_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_ptRatioEflowApprox_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+            }
+            dir InputScalar3p {
+              hist hEFRNNInput_Scalar_EMPOverTrkSysP_log_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_SumPtTrkFrac_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_centFrac_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_dRmax_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_etOverPtLeadTrk_log_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_mEflowApprox_log_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_massTrkSys_log_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_ptDetectorAxis_log_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_ptRatioEflowApprox_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_trFlightPathSig_log_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+            }
+            dir InputTrack {
+              hist hEFRNNInput_Track_pt_log {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Track_pt_jetseed_log {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Track_dEta {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Track_dPhi {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Track_d0_abs_log {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Track_z0sinThetaTJVA_abs_log {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Track_nIBLHitsAndExp {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Track_nPixelHitsPlusDeadSensors {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Track_nSCTHitsPlusDeadSensors {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+            }
+            dir InputCluster {
+              hist hEFRNNInput_Cluster_et_log {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputCluster
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Cluster_pt_jetseed_log {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputCluster
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Cluster_dEta {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputCluster
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Cluster_dPhi {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputCluster
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Cluster_SECOND_R_log10 {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputCluster
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Cluster_SECOND_LAMBDA_log10 {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputCluster
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Cluster_CENTER_LAMBDA_log10 {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/InputCluster
+                display     	= StatBox
+              }
+            }
+            dir Output {
+              hist hEFRNNJetScore_0P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/Output
+                display     	= StatBox
+              }
+              hist hEFRNNJetScore_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/Output
+                display     	= StatBox
+              }
+              hist hEFRNNJetScore_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/Output
+                display     	= StatBox
+              }
+              hist hEFRNNJetScoreSigTrans_0P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/Output
+                display     	= StatBox
+              }
+              hist hEFRNNJetScoreSigTrans_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/Output
+                display     	= StatBox
+              }
+              hist hEFRNNJetScoreSigTrans_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau/RNN/Output
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFEMFraction {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFEt {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtRaw {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFIsoFrac {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUM {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUMvsmu {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFnTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFnWideTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hScore1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTrans1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTransmp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hScoremp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+        }
+        dir EFVsOffline {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hCentFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hIpSigLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hSumPtTrkFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hTopoInvMassRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hCentFracRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMassTrkSysRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hTrFlightPathSigRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFvsOffnTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline
+            display     	= StatBox
+          }
+          hist hEFvsOffnWideTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/EFVsOffline
+            display     	= StatBox
+          }
+        }
+        dir L1RoI {
+          hist hL1EtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEMIso {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadCore {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadIsol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClus {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClusEMIso {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIeT {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIisol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+        }
+        dir L1VsOffline {
+          hist hL1EtRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/L1VsOffline
+            display     	= StatBox
+          }
+        }
+        dir TurnOnCurves {
+          dir RecoEfficiency {
+            hist TProfRecoHLTEtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTEtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_idperf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+          }
+        }
+      }
+      dir tau25_looseRNN_tracktwoMVA {
+        dir EFTau {
+          dir RNN {
+            dir InputScalar1p {
+              hist hEFRNNInput_Scalar_EMPOverTrkSysP_log_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_SumPtTrkFrac_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_absipSigLeadTrk_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_centFrac_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_dRmax_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_etOverPtLeadTrk_log_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_mEflowApprox_log_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_ptDetectorAxis_log_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_ptRatioEflowApprox_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+            }
+            dir InputScalar3p {
+              hist hEFRNNInput_Scalar_EMPOverTrkSysP_log_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_SumPtTrkFrac_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_centFrac_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_dRmax_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_etOverPtLeadTrk_log_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_mEflowApprox_log_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_massTrkSys_log_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_ptDetectorAxis_log_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_ptRatioEflowApprox_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_trFlightPathSig_log_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+            }
+            dir InputTrack {
+              hist hEFRNNInput_Track_pt_log {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Track_pt_jetseed_log {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Track_dEta {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Track_dPhi {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Track_d0_abs_log {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Track_z0sinThetaTJVA_abs_log {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Track_nIBLHitsAndExp {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Track_nPixelHitsPlusDeadSensors {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Track_nSCTHitsPlusDeadSensors {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+            }
+            dir InputCluster {
+              hist hEFRNNInput_Cluster_et_log {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputCluster
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Cluster_pt_jetseed_log {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputCluster
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Cluster_dEta {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputCluster
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Cluster_dPhi {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputCluster
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Cluster_SECOND_R_log10 {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputCluster
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Cluster_SECOND_LAMBDA_log10 {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputCluster
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Cluster_CENTER_LAMBDA_log10 {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/InputCluster
+                display     	= StatBox
+              }
+            }
+            dir Output {
+              hist hEFRNNJetScore_0P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/Output
+                display     	= StatBox
+              }
+              hist hEFRNNJetScore_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/Output
+                display     	= StatBox
+              }
+              hist hEFRNNJetScore_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/Output
+                display     	= StatBox
+              }
+              hist hEFRNNJetScoreSigTrans_0P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/Output
+                display     	= StatBox
+              }
+              hist hEFRNNJetScoreSigTrans_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/Output
+                display     	= StatBox
+              }
+              hist hEFRNNJetScoreSigTrans_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau/RNN/Output
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFEMFraction {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFEt {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtRaw {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFIsoFrac {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUM {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUMvsmu {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFnTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFnWideTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+        }
+        dir EFVsOffline {
+          hist hEFvsOffnTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFVsOffline
+            display     	= StatBox
+          }
+          hist hEFvsOffnWideTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/EFVsOffline
+            display     	= StatBox
+          }
+        }
+        dir L1RoI {
+          hist hL1EtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEMIso {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadCore {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadIsol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClus {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClusEMIso {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIeT {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIisol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+        }
+        dir L1VsOffline {
+          hist hL1EtRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/L1VsOffline
+            display     	= StatBox
+          }
+        }
+        dir TurnOnCurves {
+          dir RecoEfficiency {
+            hist TProfRecoHLTEtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTEtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_looseRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+          }
+        }
+      }
+      dir tau25_medium1NoPt_tracktwoEFmvaTES {
+        dir EFTau {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hEFChPiEMEOverCaloEME1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysP1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFSumPtTrkFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDist1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFipSigLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApprox1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hEFChPiEMEOverCaloEMEMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysPMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFracMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFdRmaxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrkMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDistMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmassTrkSysMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFtrFlightPathSigMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFEMFraction {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFEt {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtRaw {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFIsoFrac {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUM {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUMvsmu {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFnTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFnWideTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hScore1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTrans1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTransmp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hScoremp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+        }
+        dir EFVsOffline {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hCentFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hIpSigLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hSumPtTrkFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hTopoInvMassRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hCentFracRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMassTrkSysRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hTrFlightPathSigRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFvsOffnTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline
+            display     	= StatBox
+          }
+          hist hEFvsOffnWideTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/EFVsOffline
+            display     	= StatBox
+          }
+        }
+        dir L1RoI {
+          hist hL1EtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEMIso {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadCore {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadIsol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClus {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClusEMIso {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIeT {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIisol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+        }
+        dir L1VsOffline {
+          hist hL1EtRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/L1VsOffline
+            display     	= StatBox
+          }
+        }
+        dir TurnOnCurves {
+          dir RecoEfficiency {
+            hist TProfRecoHLTEtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTEtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1NoPt_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+          }
+        }
+      }
+      dir tau25_medium1_tracktwo {
+        dir EFTau {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hEFChPiEMEOverCaloEME1PNCmu {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFChPiEMEOverCaloEME1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysP1PNCmu {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysP1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFSumPtTrkFrac1PNCmu {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFSumPtTrkFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFrac1PNCmu {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrk1PNCmu {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDist1PNCmu {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDist1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFipSigLeadTrk1PNCmu {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFipSigLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApprox1PNCmu {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApprox1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hEFChPiEMEOverCaloEMEMPNCmu {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFChPiEMEOverCaloEMEMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysPMPNCmu {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysPMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFracMPNCmu {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFracMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFdRmaxMPNCmu {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFdRmaxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrkMPNCmu {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrkMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDistMPNCmu {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDistMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmEflowApproxMPNCmu {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmassTrkSysMPNCmu {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmassTrkSysMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApproxMPNCmu {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFtrFlightPathSigMPNCmu {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFtrFlightPathSigMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFEMFraction {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFEt {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtRaw {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFIsoFrac {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUM {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUMvsmu {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFnTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFnWideTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hScore1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTrans1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTransmp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hScoremp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFTau
+            display     	= StatBox
+          }
+        }
+        dir EFVsOffline {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hCentFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hCentFracVsmu1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hCentFracVspt1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOvCaloEMEVsmu1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOvCaloEMEVspt1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxVsmu1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxVspt1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPVsmu1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPVspt1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkVsmu1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkVspt1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistVsmu1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistVspt1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hIpSigLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hIpSigLeadTrkVsmu1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hIpSigLeadTrkVspt1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxVsmu1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxVspt1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hSumPtTrkFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hSumPtTrkFracVsmu1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hSumPtTrkFracVspt1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hTopoInvMassRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hTopoInvMassVsmu1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hTopoInvMassVspt1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hCentFracRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hCentFracVsmuMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hCentFracVsptMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOvCaloEMEVsmuMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOvCaloEMEVsptMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxVsmuMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxVsptMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPVsmuMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPVsptMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkVsmuMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkVsptMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistVsmuMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistVsptMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMEflowApproxVsmuMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMEflowApproxVsptMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMassTrkSysRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMassTrkSysVsmuMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMassTrkSysVsptMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxVsmuMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxVsptMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hTrFlightPathSigRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hTrFlightPathSigVsmuMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hTrFlightPathSigVsptMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFvsOffnTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline
+            display     	= StatBox
+          }
+          hist hEFvsOffnWideTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/EFVsOffline
+            display     	= StatBox
+          }
+        }
+        dir L1RoI {
+          hist hL1EtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEMIso {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadCore {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadIsol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClus {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClusEMIso {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIeT {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIisol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/L1RoI
+            display     	= StatBox
+          }
+        }
+        dir L1VsOffline {
+          hist hL1EtRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/L1VsOffline
+            display     	= StatBox
+          }
+        }
+        dir PreselectionTau {
+          hist hEFEt {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEFEt2 {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/PreselectionTau
+            display     	= StatBox
+          }
+          hist hFTFnTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/PreselectionTau
+            display     	= StatBox
+          }
+          hist hFTFnWideTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/PreselectionTau
+            display     	= StatBox
+          }
+          hist hPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/PreselectionTau
+            display     	= StatBox
+          }
+        }
+        dir PreselectionVsOffline {
+          hist hEFEtRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hEtaRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hPhiRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hPreselvsOffnTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hPreselvsOffnWideTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/PreselectionVsOffline
+            display     	= StatBox
+          }
+        }
+        dir TurnOnCurves {
+          dir RecoEfficiency {
+            hist TProfRecoHLTEtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTEtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+          }
+        }
+      }
+      dir tau25_medium1_tracktwoEF {
+        dir EFTau {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hEFChPiEMEOverCaloEME1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysP1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFSumPtTrkFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDist1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFipSigLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApprox1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hEFChPiEMEOverCaloEMEMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysPMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFracMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFdRmaxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrkMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDistMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmassTrkSysMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFtrFlightPathSigMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFEMFraction {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFEt {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtRaw {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFIsoFrac {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUM {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUMvsmu {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFnTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFnWideTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hScore1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTrans1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTransmp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hScoremp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+        }
+        dir EFVsOffline {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hCentFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hIpSigLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hSumPtTrkFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hTopoInvMassRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hCentFracRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMassTrkSysRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hTrFlightPathSigRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFvsOffnTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline
+            display     	= StatBox
+          }
+          hist hEFvsOffnWideTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/EFVsOffline
+            display     	= StatBox
+          }
+        }
+        dir L1RoI {
+          hist hL1EtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEMIso {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadCore {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadIsol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClus {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClusEMIso {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIeT {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIisol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+        }
+        dir L1VsOffline {
+          hist hL1EtRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/L1VsOffline
+            display     	= StatBox
+          }
+        }
+        dir TurnOnCurves {
+          dir RecoEfficiency {
+            hist TProfRecoHLTEtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTEtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+          }
+        }
+      }
+      dir tau25_medium1_tracktwoEFmvaTES {
+        dir EFTau {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hEFChPiEMEOverCaloEME1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysP1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFSumPtTrkFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDist1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFipSigLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApprox1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hEFChPiEMEOverCaloEMEMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysPMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFracMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFdRmaxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrkMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDistMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmassTrkSysMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFtrFlightPathSigMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFEMFraction {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFEt {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtRaw {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFIsoFrac {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUM {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUMvsmu {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFnTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFnWideTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hScore1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTrans1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTransmp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hScoremp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+        }
+        dir EFVsOffline {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hCentFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hIpSigLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hSumPtTrkFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hTopoInvMassRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hCentFracRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMassTrkSysRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hTrFlightPathSigRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFvsOffnTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline
+            display     	= StatBox
+          }
+          hist hEFvsOffnWideTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/EFVsOffline
+            display     	= StatBox
+          }
+        }
+        dir L1RoI {
+          hist hL1EtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEMIso {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadCore {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadIsol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClus {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClusEMIso {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIeT {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIisol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+        }
+        dir L1VsOffline {
+          hist hL1EtRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/L1VsOffline
+            display     	= StatBox
+          }
+        }
+        dir TurnOnCurves {
+          dir RecoEfficiency {
+            hist TProfRecoHLTEtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTEtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_medium1_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+          }
+        }
+      }
+      dir tau25_mediumRNN_tracktwoMVA {
+        dir EFTau {
+          dir RNN {
+            dir InputScalar1p {
+              hist hEFRNNInput_Scalar_EMPOverTrkSysP_log_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_SumPtTrkFrac_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_absipSigLeadTrk_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_centFrac_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_dRmax_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_etOverPtLeadTrk_log_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_mEflowApprox_log_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_ptDetectorAxis_log_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_ptRatioEflowApprox_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+            }
+            dir InputScalar3p {
+              hist hEFRNNInput_Scalar_EMPOverTrkSysP_log_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_SumPtTrkFrac_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_centFrac_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_dRmax_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_etOverPtLeadTrk_log_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_mEflowApprox_log_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_massTrkSys_log_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_ptDetectorAxis_log_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_ptRatioEflowApprox_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_trFlightPathSig_log_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+            }
+            dir InputTrack {
+              hist hEFRNNInput_Track_pt_log {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Track_pt_jetseed_log {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Track_dEta {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Track_dPhi {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Track_d0_abs_log {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Track_z0sinThetaTJVA_abs_log {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Track_nIBLHitsAndExp {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Track_nPixelHitsPlusDeadSensors {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Track_nSCTHitsPlusDeadSensors {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+            }
+            dir InputCluster {
+              hist hEFRNNInput_Cluster_et_log {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputCluster
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Cluster_pt_jetseed_log {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputCluster
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Cluster_dEta {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputCluster
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Cluster_dPhi {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputCluster
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Cluster_SECOND_R_log10 {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputCluster
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Cluster_SECOND_LAMBDA_log10 {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputCluster
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Cluster_CENTER_LAMBDA_log10 {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/InputCluster
+                display     	= StatBox
+              }
+            }
+            dir Output {
+              hist hEFRNNJetScore_0P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/Output
+                display     	= StatBox
+              }
+              hist hEFRNNJetScore_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/Output
+                display     	= StatBox
+              }
+              hist hEFRNNJetScore_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/Output
+                display     	= StatBox
+              }
+              hist hEFRNNJetScoreSigTrans_0P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/Output
+                display     	= StatBox
+              }
+              hist hEFRNNJetScoreSigTrans_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/Output
+                display     	= StatBox
+              }
+              hist hEFRNNJetScoreSigTrans_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau/RNN/Output
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFEMFraction {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFEt {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtRaw {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFIsoFrac {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUM {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUMvsmu {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFnTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFnWideTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+        }
+        dir EFVsOffline {
+          hist hEFvsOffnTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFVsOffline
+            display     	= StatBox
+          }
+          hist hEFvsOffnWideTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/EFVsOffline
+            display     	= StatBox
+          }
+        }
+        dir L1RoI {
+          hist hL1EtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEMIso {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadCore {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadIsol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClus {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClusEMIso {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIeT {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIisol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+        }
+        dir L1VsOffline {
+          hist hL1EtRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/L1VsOffline
+            display     	= StatBox
+          }
+        }
+        dir TurnOnCurves {
+          dir RecoEfficiency {
+            hist TProfRecoHLTEtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTEtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_mediumRNN_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+          }
+        }
+      }
+      dir tau25_perf_tracktwo {
+        dir EFTau {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hEFChPiEMEOverCaloEME1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysP1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFSumPtTrkFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDist1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFipSigLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApprox1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hEFChPiEMEOverCaloEMEMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysPMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFracMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFdRmaxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrkMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDistMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmassTrkSysMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFtrFlightPathSigMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFEMFraction {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFEt {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtRaw {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFIsoFrac {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUM {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUMvsmu {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFnTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hEFnWideTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hScore1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTrans1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTransmp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
+            display     	= StatBox
+          }
+          hist hScoremp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFTau
+            display     	= StatBox
+          }
+        }
+        dir EFVsOffline {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hCentFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hIpSigLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hSumPtTrkFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hTopoInvMassRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hCentFracRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMassTrkSysRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hTrFlightPathSigRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFvsOffnTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline
+            display     	= StatBox
+          }
+          hist hEFvsOffnWideTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/EFVsOffline
+            display     	= StatBox
+          }
+        }
+        dir L1RoI {
+          hist hL1EtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEMIso {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadCore {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadIsol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClus {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClusEMIso {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIeT {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIisol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/L1RoI
+            display     	= StatBox
+          }
+        }
+        dir L1VsOffline {
+          hist hL1EtRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/L1VsOffline
+            display     	= StatBox
+          }
+        }
+        dir PreselectionTau {
+          hist hEFEt {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEFEt2 {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/PreselectionTau
+            display     	= StatBox
+          }
+          hist hFTFnTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/PreselectionTau
+            display     	= StatBox
+          }
+          hist hFTFnWideTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/PreselectionTau
+            display     	= StatBox
+          }
+          hist hPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/PreselectionTau
+            display     	= StatBox
+          }
+        }
+        dir PreselectionVsOffline {
+          hist hEFEtRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hEtaRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hPhiRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hPreselvsOffnTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hPreselvsOffnWideTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/PreselectionVsOffline
+            display     	= StatBox
+          }
+        }
+        dir TurnOnCurves {
+          dir RecoEfficiency {
+            hist TProfRecoHLTEtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTEtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwo/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+          }
+        }
+      }
+      dir tau25_perf_tracktwoEF {
+        dir EFTau {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hEFChPiEMEOverCaloEME1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysP1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFSumPtTrkFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDist1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFipSigLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApprox1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hEFChPiEMEOverCaloEMEMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysPMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFracMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFdRmaxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrkMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDistMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmassTrkSysMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFtrFlightPathSigMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFEMFraction {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFEt {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtRaw {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFIsoFrac {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUM {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUMvsmu {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFnTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFnWideTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hScore1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTrans1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTransmp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hScoremp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+        }
+        dir EFVsOffline {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hCentFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hIpSigLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hSumPtTrkFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hTopoInvMassRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hCentFracRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMassTrkSysRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hTrFlightPathSigRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFvsOffnTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline
+            display     	= StatBox
+          }
+          hist hEFvsOffnWideTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/EFVsOffline
+            display     	= StatBox
+          }
+        }
+        dir L1RoI {
+          hist hL1EtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEMIso {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadCore {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadIsol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClus {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClusEMIso {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIeT {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIisol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+        }
+        dir L1VsOffline {
+          hist hL1EtRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/L1VsOffline
+            display     	= StatBox
+          }
+        }
+        dir TurnOnCurves {
+          dir RecoEfficiency {
+            hist TProfRecoHLTEtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTEtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEF/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+          }
+        }
+      }
+      dir tau25_perf_tracktwoEFmvaTES {
+        dir EFTau {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hEFChPiEMEOverCaloEME1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysP1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFSumPtTrkFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDist1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFipSigLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApprox1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hEFChPiEMEOverCaloEMEMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysPMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFracMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFdRmaxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrkMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDistMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmassTrkSysMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFtrFlightPathSigMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFEMFraction {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFEt {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtRaw {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFIsoFrac {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUM {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUMvsmu {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFnTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hEFnWideTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hScore1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTrans1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTransmp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+          hist hScoremp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFTau
+            display     	= StatBox
+          }
+        }
+        dir EFVsOffline {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hCentFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hIpSigLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hSumPtTrkFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hTopoInvMassRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hCentFracRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMassTrkSysRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hTrFlightPathSigRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFvsOffnTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline
+            display     	= StatBox
+          }
+          hist hEFvsOffnWideTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/EFVsOffline
+            display     	= StatBox
+          }
+        }
+        dir L1RoI {
+          hist hL1EtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEMIso {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadCore {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadIsol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClus {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClusEMIso {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIeT {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIisol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/L1RoI
+            display     	= StatBox
+          }
+        }
+        dir L1VsOffline {
+          hist hL1EtRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/L1VsOffline
+            display     	= StatBox
+          }
+        }
+        dir TurnOnCurves {
+          dir RecoEfficiency {
+            hist TProfRecoHLTEtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTEtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoEFmvaTES/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+          }
+        }
+      }
+      dir tau25_perf_tracktwoMVA {
+        dir EFTau {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hEFChPiEMEOverCaloEME1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysP1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFSumPtTrkFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDist1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFipSigLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApprox1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hEFChPiEMEOverCaloEMEMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysPMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFracMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFdRmaxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrkMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDistMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmassTrkSysMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFtrFlightPathSigMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          dir RNN {
+            dir InputScalar1p {
+              hist hEFRNNInput_Scalar_EMPOverTrkSysP_log_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_SumPtTrkFrac_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_absipSigLeadTrk_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_centFrac_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_dRmax_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_etOverPtLeadTrk_log_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_mEflowApprox_log_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_ptDetectorAxis_log_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_ptRatioEflowApprox_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar1p
+                display     	= StatBox
+              }
+            }
+            dir InputScalar3p {
+              hist hEFRNNInput_Scalar_EMPOverTrkSysP_log_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_SumPtTrkFrac_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_centFrac_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_dRmax_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_etOverPtLeadTrk_log_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_mEflowApprox_log_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_massTrkSys_log_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_ptDetectorAxis_log_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_ptRatioEflowApprox_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Scalar_trFlightPathSig_log_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputScalar3p
+                display     	= StatBox
+              }
+            }
+            dir InputTrack {
+              hist hEFRNNInput_Track_pt_log {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Track_pt_jetseed_log {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Track_dEta {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Track_dPhi {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Track_d0_abs_log {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Track_z0sinThetaTJVA_abs_log {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Track_nIBLHitsAndExp {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Track_nPixelHitsPlusDeadSensors {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Track_nSCTHitsPlusDeadSensors {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputTrack
+                display     	= StatBox
+              }
+            }
+            dir InputCluster {
+              hist hEFRNNInput_Cluster_et_log {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputCluster
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Cluster_pt_jetseed_log {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputCluster
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Cluster_dEta {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputCluster
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Cluster_dPhi {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputCluster
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Cluster_SECOND_R_log10 {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputCluster
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Cluster_SECOND_LAMBDA_log10 {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputCluster
+                display     	= StatBox
+              }
+              hist hEFRNNInput_Cluster_CENTER_LAMBDA_log10 {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/InputCluster
+                display     	= StatBox
+              }
+            }
+            dir Output {
+              hist hEFRNNJetScore_0P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/Output
+                display     	= StatBox
+              }
+              hist hEFRNNJetScore_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/Output
+                display     	= StatBox
+              }
+              hist hEFRNNJetScore_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/Output
+                display     	= StatBox
+              }
+              hist hEFRNNJetScoreSigTrans_0P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/Output
+                display     	= StatBox
+              }
+              hist hEFRNNJetScoreSigTrans_1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/Output
+                display     	= StatBox
+              }
+              hist hEFRNNJetScoreSigTrans_3P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau/RNN/Output
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFEMFraction {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFEt {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtRaw {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFIsoFrac {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUM {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUMvsmu {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFnTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFnWideTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hScore1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTrans1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTransmp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hScoremp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+        }
+        dir EFVsOffline {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hCentFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hIpSigLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hSumPtTrkFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hTopoInvMassRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hCentFracRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMassTrkSysRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hTrFlightPathSigRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFvsOffnTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline
+            display     	= StatBox
+          }
+          hist hEFvsOffnWideTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/EFVsOffline
+            display     	= StatBox
+          }
+        }
+        dir L1RoI {
+          hist hL1EtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEMIso {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadCore {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadIsol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClus {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClusEMIso {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIeT {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIisol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+        }
+        dir L1VsOffline {
+          hist hL1EtRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/L1VsOffline
+            display     	= StatBox
+          }
+        }
+        dir TurnOnCurves {
+          dir RecoEfficiency {
+            hist TProfRecoHLTEtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTEtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau25_perf_tracktwoMVA/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+          }
+        }
+      }
+      dir tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM {
+        dir EFTau {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist   all_in_dir {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+                reference       = HLT_TauTrigger_MainReference
+              }
+            }
+            dir mp_nonCorrected {
+              hist   all_in_dir {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+                reference       = HLT_TauTrigger_MainReference
+              }
+            }
+          }
+          hist hEFNUMvsmu {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/EFTau
+            display     	= StatBox
+          }
+        }
+        dir EFVsOffline {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist   all_in_dir {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+                reference       = HLT_TauTrigger_MainReference
+              }
+            }
+            dir mp_nonCorrected {
+              hist   all_in_dir {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+                reference       = HLT_TauTrigger_MainReference
+              }
+            }
+          }
+          hist hEFvsOffnTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/EFVsOffline
+            display     	= StatBox
+          }
+          hist hEFvsOffnWideTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/EFVsOffline
+            display     	= StatBox
+          }
+        }
+        dir L1RoI {
+          hist hL1EtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClusEMIso {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/L1RoI
+            display     	= StatBox
+          }
+        }
+        dir L1VsOffline {
+          hist   all_in_dir {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/L1VsOffline
+            display     	= StatBox
+            reference           = HLT_TauTrigger_MainReference
+          }
+        }
+        dir PreselectionTau {
+          hist hEFEtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/PreselectionTau
+            display     	= StatBox
+          }
+        }
+        dir PreselectionVsOffline {
+          hist hPreselvsOffnTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hPreselvsOffnWideTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/PreselectionVsOffline
+            display     	= StatBox
+          }
+        }
+        dir TurnOnCurves {
+          dir RecoEfficiency {
+            hist   all_in_dir {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+              reference         = HLT_TauTrigger_MainReference
+            }
+          }
+        }
+      }
+      dir tau35_medium1_tracktwo_xe70_L1XE45 {
+        dir EFTau {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hEFChPiEMEOverCaloEME1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysP1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFSumPtTrkFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDist1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFipSigLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApprox1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hEFChPiEMEOverCaloEMEMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysPMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFracMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFdRmaxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrkMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDistMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmassTrkSysMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFtrFlightPathSigMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFEMFraction {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
+            display     	= StatBox
+          }
+          hist hEFEt {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtRaw {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
+            display     	= StatBox
+          }
+          hist hEFEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
+            display     	= StatBox
+          }
+          hist hEFIsoFrac {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUM {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUMvsmu {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
+            display     	= StatBox
+          }
+          hist hEFPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
+            display     	= StatBox
+          }
+          hist hEFnTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
+            display     	= StatBox
+          }
+          hist hEFnWideTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
+            display     	= StatBox
+          }
+          hist hScore1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTrans1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTransmp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
+            display     	= StatBox
+          }
+          hist hScoremp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFTau
+            display     	= StatBox
+          }
+        }
+        dir EFVsOffline {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hCentFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hIpSigLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hSumPtTrkFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hTopoInvMassRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hCentFracRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMassTrkSysRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hTrFlightPathSigRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFvsOffnTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline
+            display     	= StatBox
+          }
+          hist hEFvsOffnWideTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/EFVsOffline
+            display     	= StatBox
+          }
+        }
+        dir L1RoI {
+          hist hL1EtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEMIso {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadCore {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadIsol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClus {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClusEMIso {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIeT {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIisol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/L1RoI
+            display     	= StatBox
+          }
+        }
+        dir L1VsOffline {
+          hist hL1EtRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/L1VsOffline
+            display     	= StatBox
+          }
+        }
+        dir PreselectionTau {
+          hist hEFEt {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEFEt2 {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/PreselectionTau
+            display     	= StatBox
+          }
+          hist hFTFnTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/PreselectionTau
+            display     	= StatBox
+          }
+          hist hFTFnWideTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/PreselectionTau
+            display     	= StatBox
+          }
+          hist hPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/PreselectionTau
+            display     	= StatBox
+          }
+        }
+        dir PreselectionVsOffline {
+          hist hEFEtRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hEtaRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hPhiRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hPreselvsOffnTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hPreselvsOffnWideTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/PreselectionVsOffline
+            display     	= StatBox
+          }
+        }
+        dir TurnOnCurves {
+          dir RecoEfficiency {
+            hist TProfRecoHLTEtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTEtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau35_medium1_tracktwo_xe70_L1XE45/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+          }
+        }
+      }
+      dir tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12 {
+        dir EFTau {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hEFChPiEMEOverCaloEME1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysP1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFSumPtTrkFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDist1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFipSigLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApprox1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hEFChPiEMEOverCaloEMEMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysPMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFracMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFdRmaxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrkMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDistMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmassTrkSysMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFtrFlightPathSigMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFEMFraction {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
+            display     	= StatBox
+          }
+          hist hEFEt {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtRaw {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
+            display     	= StatBox
+          }
+          hist hEFEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
+            display     	= StatBox
+          }
+          hist hEFIsoFrac {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUM {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUMvsmu {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
+            display     	= StatBox
+          }
+          hist hEFPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
+            display     	= StatBox
+          }
+          hist hEFnTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
+            display     	= StatBox
+          }
+          hist hEFnWideTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
+            display     	= StatBox
+          }
+          hist hScore1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTrans1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTransmp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
+            display     	= StatBox
+          }
+          hist hScoremp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFTau
+            display     	= StatBox
+          }
+        }
+        dir EFVsOffline {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hCentFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hIpSigLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hSumPtTrkFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hTopoInvMassRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hCentFracRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMassTrkSysRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hTrFlightPathSigRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFvsOffnTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline
+            display     	= StatBox
+          }
+          hist hEFvsOffnWideTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/EFVsOffline
+            display     	= StatBox
+          }
+        }
+        dir L1RoI {
+          hist hL1EtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEMIso {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadCore {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadIsol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClus {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClusEMIso {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIeT {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIisol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/L1RoI
+            display     	= StatBox
+          }
+        }
+        dir L1VsOffline {
+          hist hL1EtRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/L1VsOffline
+            display     	= StatBox
+          }
+        }
+        dir PreselectionTau {
+          hist hEFEt {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEFEt2 {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/PreselectionTau
+            display     	= StatBox
+          }
+          hist hFTFnTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/PreselectionTau
+            display     	= StatBox
+          }
+          hist hFTFnWideTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/PreselectionTau
+            display     	= StatBox
+          }
+          hist hPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/PreselectionTau
+            display     	= StatBox
+          }
+        }
+        dir PreselectionVsOffline {
+          hist hEFEtRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hEtaRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hPhiRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hPreselvsOffnTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hPreselvsOffnWideTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/PreselectionVsOffline
+            display     	= StatBox
+          }
+        }
+        dir TurnOnCurves {
+          dir RecoEfficiency {
+            hist TProfRecoHLTEtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTEtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau50_medium1_tracktwo_L1TAU12/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+          }
+        }
+      }
+      dir tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40 {
+        dir EFTau {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hEFChPiEMEOverCaloEME1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysP1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFSumPtTrkFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFrac1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDist1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFipSigLeadTrk1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApprox1PNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hEFChPiEMEOverCaloEMEMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFEMPOverTrkSysPMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFcentFracMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFdRmaxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFetOverPtLeadTrkMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFinnerTrkAvgDistMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFmassTrkSysMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFptRatioEflowApproxMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEFtrFlightPathSigMPNCorr {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFEMFraction {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
+            display     	= StatBox
+          }
+          hist hEFEt {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtRaw {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
+            display     	= StatBox
+          }
+          hist hEFEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
+            display     	= StatBox
+          }
+          hist hEFIsoFrac {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUM {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
+            display     	= StatBox
+          }
+          hist hEFNUMvsmu {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
+            display     	= StatBox
+          }
+          hist hEFPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
+            display     	= StatBox
+          }
+          hist hEFnTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
+            display     	= StatBox
+          }
+          hist hEFnWideTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
+            display     	= StatBox
+          }
+          hist hScore1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTrans1p {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTransmp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
+            display     	= StatBox
+          }
+          hist hScoremp {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFTau
+            display     	= StatBox
+          }
+        }
+        dir EFVsOffline {
+          dir BDT {
+            dir 1p_nonCorrected {
+              hist hCentFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hIpSigLeadTrkRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hSumPtTrkFracRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+              hist hTopoInvMassRatio1P {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/1p_nonCorrected
+                display     	= StatBox
+              }
+            }
+            dir mp_nonCorrected {
+              hist hCentFracRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hChPiEMEOverCaloEMERatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hDRmaxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEMPOverTrkSysPRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hEtOverPtLeadTrkRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hInnerTrkAvgDistRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hMassTrkSysRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hPtRatioEflowApproxRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+              hist hTrFlightPathSigRatioMP {
+                algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+                output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline/BDT/mp_nonCorrected
+                display     	= StatBox
+              }
+            }
+          }
+          hist hEFvsOffnTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline
+            display     	= StatBox
+          }
+          hist hEFvsOffnWideTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/EFVsOffline
+            display     	= StatBox
+          }
+        }
+        dir L1RoI {
+          hist hL1EtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/L1RoI
+            display     	= StatBox
+          }
+          hist hL1EtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEMIso {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadCore {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadIsol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClus {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClusEMIso {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIeT {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIisol {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/L1RoI
+            display     	= StatBox
+          }
+        }
+        dir L1VsOffline {
+          hist hL1EtRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/L1VsOffline
+            display     	= StatBox
+          }
+        }
+        dir PreselectionTau {
+          hist hEFEt {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEFEt2 {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEtVsEta {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEtVsPhi {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/PreselectionTau
+            display     	= StatBox
+          }
+          hist hEta {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/PreselectionTau
+            display     	= StatBox
+          }
+          hist hFTFnTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/PreselectionTau
+            display     	= StatBox
+          }
+          hist hFTFnWideTrack {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/PreselectionTau
+            display     	= StatBox
+          }
+          hist hPhi {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/PreselectionTau
+            display     	= StatBox
+          }
+        }
+        dir PreselectionVsOffline {
+          hist hEFEtRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hEtaRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hPhiRatio {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hPreselvsOffnTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/PreselectionVsOffline
+            display     	= StatBox
+          }
+          hist hPreselvsOffnWideTrks {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/PreselectionVsOffline
+            display     	= StatBox
+          }
+        }
+        dir TurnOnCurves {
+          dir RecoEfficiency {
+            hist TProfRecoHLTEtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTEtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt1pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPt3pEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTHighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTMuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTLBEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTNVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoHLTPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1EtaEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1HighPtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1MuEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NTrackEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1NVtxEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PhiEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt1PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1Pt3PEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+            hist TProfRecoL1PtEfficiency_Unbiased {
+              algorithm   	= TAU_HistKolmogorovTest_MaxDist_loose
+              output      	= HLT/TauMon/Expert/tau80_medium1_tracktwo_L1TAU60_tau60_medium1_tracktwo_L1TAU40/TurnOnCurves/RecoEfficiency
+              display     	= StatBox
+            }
+          }
+        }
+      }
+    }
+    dir Shifter {
+      dir OtherPlots {
+        hist hHLTCounts_shifter {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist
+          output      	= HLT/TauMon/Shifter/OtherPlots
+          display     	= StatBox
+        }
+        hist hL1Counts_shifter {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist
+          output      	= HLT/TauMon/Shifter/OtherPlots
+          display     	= StatBox
+        }
+        hist hL1Emulation_shifter {
+          algorithm   	= TAU_HistKolmogorovTest_MaxDist
+          output      	= HLT/TauMon/Shifter/OtherPlots
+          display     	= StatBox
+        }
+        dir tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF {
+          hist TProfRecoL1_dREfficiency_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/OtherPlots/tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF
+            display     	= StatBox
+          }
+        }
+        dir tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF_03dR30_L1DR-TAU20ITAU12I-J25 {
+          hist TProfRecoL1_dREfficiency_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/OtherPlots/tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF_03dR30_L1DR-TAU20ITAU12I-J25
+            display     	= StatBox
+          }
+        }
+        dir tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF_L1DR-TAU20ITAU12I-J25 {
+          hist TProfRecoL1_dREfficiency_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/OtherPlots/tau35_medium1_tracktwoEF_tau25_medium1_tracktwoEF_L1DR-TAU20ITAU12I-J25
+            display     	= StatBox
+          }
+        }
+        dir tau35_medium1_tracktwo_tau25_medium1_tracktwo {
+          hist TProfRecoL1_dREfficiency_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/OtherPlots/tau35_medium1_tracktwo_tau25_medium1_tracktwo
+            display     	= StatBox
+          }
+        }
+        dir tau35_medium1_tracktwo_tau25_medium1_tracktwo_03dR30_L1DR-TAU20ITAU12I-J25 {
+          hist   all_in_dir {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/OtherPlots/tau35_medium1_tracktwo_tau25_medium1_tracktwo_03dR30_L1DR-TAU20ITAU12I-J25
+            display     	= StatBox
+            reference           = HLT_TauTrigger_MainReference
+          }
+        }
+        dir tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1DR-TAU20ITAU12I-J25 {
+          hist   all_in_dir {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/OtherPlots/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1DR-TAU20ITAU12I-J25
+            display     	= StatBox
+            reference           = HLT_TauTrigger_MainReference
+          }
+        }
+        dir tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM {
+          hist   all_in_dir {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/OtherPlots/tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM
+            display     	= StatBox
+            reference           = HLT_TauTrigger_MainReference
+          }
+        }
+        dir tau80_medium1_tracktwoEF_L1TAU60_tau35_medium1_tracktwoEF_L1TAU12IM_L1TAU60_DR-TAU20ITAU12I {
+          hist TProfRecoL1_dREfficiency_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/OtherPlots/tau80_medium1_tracktwoEF_L1TAU60_tau35_medium1_tracktwoEF_L1TAU12IM_L1TAU60_DR-TAU20ITAU12I
+            display     	= StatBox
+          }
+        }
+        dir tau80_medium1_tracktwo_L1TAU60_tau35_medium1_tracktwo_L1TAU12IM_L1TAU60_DR-TAU20ITAU12I {
+          hist TProfRecoL1_dREfficiency_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/OtherPlots/tau80_medium1_tracktwo_L1TAU60_tau35_medium1_tracktwo_L1TAU12IM_L1TAU60_DR-TAU20ITAU12I
+            display     	= StatBox
+          }
+        }
+      }
+      dir tau25_mediumRNN_tracktwoMVA {
+        dir EFTau {
+          hist hEFEMFraction_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFEMPOverTrkSysP1PNCorr_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFEMPOverTrkSysPMPNCorr_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtRaw_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsEta_shifter {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsPhi_shifter {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFEt_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi_shifter {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFEta_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFIsoFrac_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFPhi_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFSumPtTrkFrac1PNCorr_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFcentFrac1PNCorr_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFcentFracMPNCorr_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFdRmaxMPNCorr_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFetOverPtLeadTrk1PNCorr_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFetOverPtLeadTrkMPNCorr_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFinnerTrkAvgDist1PNCorr_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFinnerTrkAvgDistMPNCorr_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFipSigLeadTrk1PNCorr_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFnTrack_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFnWideTrack_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hEFtrFlightPathSigMPNCorr_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hScore1p_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTrans1p_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTransmp_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+          hist hScoremp_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/EFTau
+            display     	= StatBox
+          }
+        }
+        dir EFVsOffline {
+          hist hEFvsOffnTrks_shifter {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/EFVsOffline
+            display     	= StatBox
+          }
+          hist hEFvsOffnWideTrks_shifter {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/EFVsOffline
+            display     	= StatBox
+          }
+        }
+        dir L1RoI {
+          hist hL1EtaVsPhi_shifter {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEMIso_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEta_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadCore_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadIsol_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIPhi_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClusEMIso_shifter {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClus_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIeT_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIisol_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/L1RoI
+            display     	= StatBox
+          }
+        }
+        dir L1VsOffline {
+          hist hL1EtRatio_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/L1VsOffline
+            display     	= StatBox
+          }
+        }
+        dir TurnOnCurves {
+          hist   all_in_dir {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_mediumRNN_tracktwoMVA/TurnOnCurves
+            display     	= StatBox
+     	    reference           = HLT_TauTrigger_MainReference
+          }
+        }
+      }
+      dir tau25_medium1_tracktwoEF {
+        dir EFTau {
+          hist hEFEMFraction_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFEMPOverTrkSysP1PNCorr_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFEMPOverTrkSysPMPNCorr_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtRaw_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsEta_shifter {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtVsPhi_shifter {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFEt_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFEtaVsPhi_shifter {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFEta_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFIsoFrac_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFPhi_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFSumPtTrkFrac1PNCorr_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFcentFrac1PNCorr_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFcentFracMPNCorr_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFdRmaxMPNCorr_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFetOverPtLeadTrk1PNCorr_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFetOverPtLeadTrkMPNCorr_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFinnerTrkAvgDist1PNCorr_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFinnerTrkAvgDistMPNCorr_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFipSigLeadTrk1PNCorr_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFnTrack_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFnWideTrack_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hEFtrFlightPathSigMPNCorr_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hScore1p_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTrans1p_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hScoreSigTransmp_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+          hist hScoremp_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFTau
+            display     	= StatBox
+          }
+        }
+        dir EFVsOffline {
+          hist hEFvsOffnTrks_shifter {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFVsOffline
+            display     	= StatBox
+          }
+          hist hEFvsOffnWideTrks_shifter {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/EFVsOffline
+            display     	= StatBox
+          }
+        }
+        dir L1RoI {
+          hist hL1EtaVsPhi_shifter {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEMIso_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIEta_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadCore_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIHadIsol_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIPhi_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClusEMIso_shifter {
+            algorithm   	= HLT_Histogram_Not_Empty&GatherData
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoITauClus_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIeT_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+          hist hL1RoIisol_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/L1RoI
+            display     	= StatBox
+          }
+        }
+        dir L1VsOffline {
+          hist hL1EtRatio_shifter {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/L1VsOffline
+            display     	= StatBox
+          }
+        }
+        dir TurnOnCurves {
+          hist   all_in_dir {
+            algorithm   	= TAU_HistKolmogorovTest_MaxDist
+            output      	= HLT/TauMon/Shifter/tau25_medium1_tracktwoEF/TurnOnCurves
+            display     	= StatBox
+            reference           = HLT_TauTrigger_MainReference
+          }
+        }
+      }
+    }
+  }
 }
 
 ##############
@@ -24732,13 +16994,15 @@ dir HLT {
 algorithm HLT_TAU_Histogram_Not_Empty&GatherData {
   libname = libdqm_algorithms.so
   name =  HLT_TAU_Histogram_Not_Empty&GatherData
-  reference = stream=physics_Main:CentrallyManagedReferences_TriggerMain;CentrallyManagedReferences_Trigger
+#  reference = stream=physics_Main:CentrallyManagedReferences_TriggerMain;CentrallyManagedReferences_Trigger
+  reference = stream=physics_Main:HLT_TauTrigger_MainReference;HLT_TauTrigger_ExpressReference
 }
 
 compositeAlgorithm HLT_TAU_Histogram_Not_Empty&GatherData {
   subalgs = GatherData,Histogram_Not_Empty
   libnames = libdqm_algorithms.so
-  reference = stream=physics_Main:CentrallyManagedReferences_TriggerMain;CentrallyManagedReferences_Trigger
+#  reference = stream=physics_Main:CentrallyManagedReferences_TriggerMain;CentrallyManagedReferences_Trigger
+  reference = stream=physics_Main:HLT_TauTrigger_MainReference;HLT_TauTrigger_ExpressReference
 }
 
 algorithm TAU_HistKolmogorovTest_MaxDist {
@@ -24746,7 +17010,8 @@ algorithm TAU_HistKolmogorovTest_MaxDist {
   name = KolmogorovTest_MaxDist
   thresholds = TAU_HistKolmogorovTest_MaxDist_Threshold
   MinStat = -1
-  reference = stream=physics_Main:CentrallyManagedReferences_TriggerMain;CentrallyManagedReferences_Trigger
+#  reference = stream=physics_Main:CentrallyManagedReferences_TriggerMain;CentrallyManagedReferences_Trigger
+  reference = stream=physics_Main:HLT_TauTrigger_MainReference;HLT_TauTrigger_ExpressReference
 }
 
 algorithm TAU_HistKolmogorovTest_MaxDist_loose {
@@ -24754,7 +17019,8 @@ algorithm TAU_HistKolmogorovTest_MaxDist_loose {
   name = KolmogorovTest_MaxDist
   thresholds = TAU_HistKolmogorovTest_MaxDist_Threshold_loose
   MinStat = -1
-  reference = stream=physics_Main:CentrallyManagedReferences_TriggerMain;CentrallyManagedReferences_Trigger
+#  reference = stream=physics_Main:CentrallyManagedReferences_TriggerMain;CentrallyManagedReferences_Trigger
+  reference = stream=physics_Main:HLT_TauTrigger_MainReference;HLT_TauTrigger_ExpressReference
 }
 
 ###############
@@ -24774,3 +17040,21 @@ thresholds TAU_HistKolmogorovTest_MaxDist_Threshold_loose {
     error = 28.0
   }
 }
+
+###############################################
+# Local references for last days of 2018 pp run
+###############################################
+
+reference HLT_TauTrigger_ExpressReference {
+  location = /eos/atlas/atlascerngroupdisk/data-dqm/references/Collisions/,root://eosatlas.cern.ch//eos/atlas/atlascerngroupdisk/data-dqm/references/Collisions/
+  file = data18_13TeV.00362661.express_express.merge.HIST.f993_h325._0001.1
+  path = run_362661
+  name = same_name
+}
+
+reference HLT_TauTrigger_MainReference {
+  location = /eos/atlas/atlascerngroupdisk/data-dqm/references/Collisions/,root://eosatlas.cern.ch//eos/atlas/atlascerngroupdisk/data-dqm/references/Collisions/
+  file = data18_13TeV.00362661.physics_Main.merge.HIST.f993_h325._0001.1
+  path = run_362661
+  name = same_name
+}
diff --git a/DataQuality/DataQualityConfigurations/config/JetTagging/collisions_minutes10.config b/DataQuality/DataQualityConfigurations/config/JetTagging/collisions_minutes10.config
index 54048e37b855..ddcc15da8084 100644
--- a/DataQuality/DataQualityConfigurations/config/JetTagging/collisions_minutes10.config
+++ b/DataQuality/DataQualityConfigurations/config/JetTagging/collisions_minutes10.config
@@ -11,6 +11,8 @@ output top_level {
 	output Quality_Control {
         }
     	output Diagnostics {
+    		output JetInformation {
+                }
     		output TrackInformation {
 			output TracksWithFailedCuts {
 			}
@@ -36,11 +38,75 @@ dir JetTagging {
 
 	reference = CentrallyManagedReferences
 
+	hist track_selector_all_LS {
+		algorithm = JetTag_BinsDiffFromStripMedian
+		output = JetTagging/Quality_Control
+	}
 	hist track_selector_eff_LS {
-		algorithm = JetTag_GatherData
+		algorithm = JetTag_BinsDiffFromStripMedian
 		output = JetTagging/Quality_Control
 	}
 
+  hist jet_2D_kinematic_LS {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/JetInformation
+  }
+  hist jet_2D_quality_LS {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/JetInformation
+  }
+  hist mv_tag_60_rate_2D_LS {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/JetInformation
+  }
+  hist mv_tag_70_rate_2D_LS {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/JetInformation
+  }
+  hist mv_tag_77_rate_2D_LS {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/JetInformation
+  }
+  hist mv_tag_85_rate_2D_LS {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/JetInformation
+  }
+  hist tag_mv_w_LS {
+    display = LogY
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Diagnostics
+  }
+  hist tag_mv_w_pT10_20_LS {
+    display = LogY
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_mv_w_pT20_50_LS {
+    display = LogY
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_mv_w_pT50_100_LS {
+    display = LogY
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_mv_w_pT100_200_LS {
+    display = LogY
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_mv_w_pT200_LS {
+    display = LogY
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
 	hist tracks_pTMin_2D_LS {
 		algorithm = JetTag_BinsDiffFromStripMedian
 		output = JetTagging/Diagnostics/TrackInformation
@@ -62,10 +128,6 @@ dir JetTagging {
 		algorithm = JetTag_BinsDiffFromStripMedian
 		output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
 	}
-	###hist tracks_etaMax_2D_LS {
-	###	algorithm = JetTag_BinsDiffFromStripMedian
-	###	output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
-	###}
 	hist tracks_nHitBLayer_2D_LS {
 		algorithm = JetTag_BinsDiffFromStripMedian
 		output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
diff --git a/DataQuality/DataQualityConfigurations/config/JetTagging/collisions_run.config b/DataQuality/DataQualityConfigurations/config/JetTagging/collisions_run.config
index c8b889e36358..29034db3832b 100644
--- a/DataQuality/DataQualityConfigurations/config/JetTagging/collisions_run.config
+++ b/DataQuality/DataQualityConfigurations/config/JetTagging/collisions_run.config
@@ -177,49 +177,41 @@ dir JetTagging {
     output = JetTagging/Quality_Control
   }
   hist tag_MV_w_phi_sum85OP {
-    ###display = LogY
     algorithm =  KolTest
     weight = 0.8
     output = JetTagging/Quality_Control
   }
   hist tag_MV_w_phi_sum77OP {
-    ###display = LogY
     algorithm =  KolTest
     weight = 0.8
     output = JetTagging/Quality_Control
   }
   hist tag_MV_w_phi_sum70OP {
-    ###display = LogY
     algorithm =  KolTest
     weight = 0.8
     output = JetTagging/Quality_Control
   }
   hist tag_MV_w_phi_sumAll {
-    ###display = LogY
     algorithm =  KolTest
     weight = 0.8
     output = JetTagging/Quality_Control
   }
   hist tag_MV_w_phi_frac85OP {
-    ###display = LogY
     algorithm =  KolTest
     weight = 0.8
     output = JetTagging/Quality_Control
   }
   hist tag_MV_w_phi_frac77OP {
-    ###display = LogY
     algorithm =  KolTest
     weight = 0.8
     output = JetTagging/Quality_Control
   }
   hist tag_MV_w_phi_frac70OP {
-    ###display = LogY
     algorithm =  KolTest
     weight = 0.8
     output = JetTagging/Quality_Control
   }
   hist tag_MV_w_phi_frac50OP { #switch to 60OP?
-   ### display = LogY
     algorithm =  KolTest
     weight = 0.8
     output = JetTagging/Quality_Control
@@ -239,11 +231,6 @@ dir JetTagging {
 
   ####### NEW: 2018 DQ ###############
 
-  hist jet_MV_top {
-    algorithm = KolTest
-    display = LogY
-    output = JetTagging/Quality_Control
-  }
   hist n_smt_jet {
     algorithm = KolTest
     display = LogY
@@ -266,7 +253,7 @@ dir JetTagging {
     weight = 0.8
     output = JetTagging/Quality_Control
   }
-  hist tag_MV_w_mu50_70 {
+  hist tag_MV_w_mu50_100 {
     algorithm = KolTest
     display = LogY
     weight = 0.8
@@ -294,16 +281,6 @@ dir JetTagging {
     algorithm = KolTest
     output = JetTagging/Diagnostics
   }
-  hist global_xPrimVtx {
-    algorithm = KolTest_Koord
-    display = LogY
-    output = JetTagging/Diagnostics
-  }
-  hist global_yPrimVtx {
-    algorithm = KolTest_Koord
-    display = LogY
-    output = JetTagging/Diagnostics
-  }
   hist global_zPrimVtx {
     algorithm = KolTest_Koord
     output = JetTagging/Diagnostics
@@ -317,22 +294,6 @@ dir JetTagging {
     algorithm = KolTest
     output = JetTagging/Diagnostics
   }
- ### hist tag_IP2D_n {
- ###   algorithm = KolTest
- ###   output = JetTagging/Diagnostics
- ### }
- ### hist tag_IP2D_b {
- ###   algorithm = KolTest
- ###   output = JetTagging/Diagnostics
- ### }
- ### hist tag_IP2D_u {
- ###   algorithm = KolTest
- ###   output = JetTagging/Diagnostics
- ###  }
- ### hist tag_IP2D_c {
- ###   algorithm = KolTest
- ###   output = JetTagging/Diagnostics
- ###  }
   hist tag_IP2D_llr {
     display = LogY
     algorithm = KolTest
@@ -342,35 +303,11 @@ dir JetTagging {
     algorithm = KolTest
     output = JetTagging/Diagnostics
   }
- ### hist tag_IP3D_b {
- ###   algorithm = KolTest
- ###   output = JetTagging/Diagnostics
- ### }
- ### hist tag_IP3D_u {
- ###   algorithm = KolTest
- ###   output = JetTagging/Diagnostics
- ### }
- ### hist tag_IP3D_c {
- ###   algorithm = KolTest
- ###   output = JetTagging/Diagnostics
- ### }
   hist tag_IP3D_llr {
     display = LogY
     algorithm = KolTest
     output = JetTagging/Diagnostics
   }
- ### hist tag_SV1_b {
- ###   algorithm = KolTest
- ###   output = JetTagging/Diagnostics
- ### }
- ### hist tag_SV1_u {
- ###   algorithm = KolTest
- ###   output = JetTagging/Diagnostics
- ### }
- ### hist tag_SV1_c {
- ###   algorithm = KolTest
- ###   output = JetTagging/Diagnostics
- ### }
   hist tag_SV1_llr {
     display = LogY
     algorithm = KolTest
@@ -415,6 +352,11 @@ dir JetTagging {
     algorithm = KolTest
     output = JetTagging/Diagnostics
   }
+  hist jet_MV_top {
+    algorithm = KolTest
+    display = LogY
+    output = JetTagging/Diagnostics
+  }
   hist n_mu {
     algorithm = KolTest
     output = JetTagging/Diagnostics
@@ -462,15 +404,15 @@ dir JetTagging {
     algorithm = JetTag_BinsDiffFromStripMedian
     output = JetTagging/Diagnostics/JetInformation
   }
-  hist mv_tag_80_rate_2D {
+  hist mv_tag_77_rate_2D {
     algorithm = JetTag_BinsDiffFromStripMedian
     output = JetTagging/Diagnostics/JetInformation
   }
-  hist jet_2D_jvt {
+  hist mv_tag_85_rate_2D {
     algorithm = JetTag_BinsDiffFromStripMedian
     output = JetTagging/Diagnostics/JetInformation
   }
-  hist jet_2D_kinematic {
+  hist jet_2D_all {
     algorithm = JetTag_BinsDiffFromStripMedian
     output = JetTagging/Diagnostics/JetInformation
   }
@@ -478,7 +420,17 @@ dir JetTagging {
     algorithm = JetTag_BinsDiffFromStripMedian
     output = JetTagging/Diagnostics/JetInformation
   }
-  hist jet_2D_all {
+  hist jet_2D_kinematic {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/JetInformation
+  }
+  ####### NEW: 2018 DQ ###############
+  hist jet_2D_mjvt {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/JetInformation
+  }
+  ####### NEW: 2018 DQ ###############
+  hist jet_2D_overlap {
     algorithm = JetTag_BinsDiffFromStripMedian
     output = JetTagging/Diagnostics/JetInformation
   }
@@ -490,6 +442,15 @@ dir JetTagging {
     algorithm = JetTag_BinsDiffFromStripMedian
     output = JetTagging/Diagnostics/JetInformation
   }
+  ####### NEW: 2018 DQ ###############
+  hist jet_2D_tbad {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/JetInformation
+  }
+  hist jet_2D_tsmt {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/JetInformation
+  }
 
   ##################################################################
   ###  Diagnostics/TrackInformation
@@ -532,10 +493,6 @@ dir JetTagging {
     algorithm = JetTag_BinsDiffFromStripMedian
     output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
   }
-  ###hist tracks_etaMax_2D {
-  ###  algorithm = JetTag_BinsDiffFromStripMedian
-  ###  output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
-  ###}
   hist tracks_nHitBLayer_2D {
     algorithm = JetTag_BinsDiffFromStripMedian
     output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
diff --git a/DataQuality/DataQualityConfigurations/config/JetTagging/heavyions_minutes10.config b/DataQuality/DataQualityConfigurations/config/JetTagging/heavyions_minutes10.config
index d6b36a4c0fbc..ab6283ec0fd0 100644
--- a/DataQuality/DataQualityConfigurations/config/JetTagging/heavyions_minutes10.config
+++ b/DataQuality/DataQualityConfigurations/config/JetTagging/heavyions_minutes10.config
@@ -1,5 +1,5 @@
 # **********************************************************************
-# $Id: heavyions_minutes10.config 516887 2012-09-09 22:34:18Z vogel $
+# $Id: heavyions_minutes10.config 2018-10-24 16:46:00 alaperto $
 # **********************************************************************
 
 ##############
@@ -11,6 +11,8 @@ output top_level {
 	output Quality_Control {
         }
     	output Diagnostics {
+    		output JetInformation {
+                }		
     		output TrackInformation {
 			output TracksWithFailedCuts {
 			}
@@ -36,11 +38,75 @@ dir JetTagging {
 
 	reference = CentrallyManagedReferences
 
+	hist track_selector_all_LS {
+		algorithm = JetTag_BinsDiffFromStripMedian
+		output = JetTagging/Quality_Control
+	}
 	hist track_selector_eff_LS {
-		algorithm = JetTag_GatherData
+		algorithm = JetTag_BinsDiffFromStripMedian
 		output = JetTagging/Quality_Control
 	}
 
+  hist jet_2D_kinematic_LS {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/JetInformation
+  }
+  hist jet_2D_quality_LS {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/JetInformation
+  }
+  hist mv_tag_60_rate_2D_LS {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/JetInformation
+  }
+  hist mv_tag_70_rate_2D_LS {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/JetInformation
+  }
+  hist mv_tag_77_rate_2D_LS {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/JetInformation
+  }
+  hist mv_tag_85_rate_2D_LS {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/JetInformation
+  }
+  hist tag_mv_w_LS {
+    display = LogY
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Diagnostics
+  }
+  hist tag_mv_w_pT10_20_LS {
+    display = LogY
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_mv_w_pT20_50_LS {
+    display = LogY
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_mv_w_pT50_100_LS {
+    display = LogY
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_mv_w_pT100_200_LS {
+    display = LogY
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_mv_w_pT200_LS {
+    display = LogY
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
 	hist tracks_pTMin_2D_LS {
 		algorithm = JetTag_BinsDiffFromStripMedian
 		output = JetTagging/Diagnostics/TrackInformation
@@ -62,10 +128,6 @@ dir JetTagging {
 		algorithm = JetTag_BinsDiffFromStripMedian
 		output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
 	}
-	hist tracks_etaMax_2D_LS {
-		algorithm = JetTag_BinsDiffFromStripMedian
-		output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
-	}
 	hist tracks_nHitBLayer_2D_LS {
 		algorithm = JetTag_BinsDiffFromStripMedian
 		output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
@@ -107,7 +169,16 @@ dir JetTagging {
 		algorithm = JetTag_BinsDiffFromStripMedian
 		output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
 	}
-
+  	hist jet_tracks_d0_LS {
+    	        display = LogY
+    	        algorithm = KolTest
+   	        output = JetTagging/Diagnostics/TrackInformation
+	} 
+  	hist jet_tracks_z0_LS {
+    	        display = LogY
+    		algorithm = KolTest
+    		output = JetTagging/Diagnostics/TrackInformation
+  	} 
  
 }
 
@@ -127,7 +198,7 @@ algorithm KolmogorovTest_MaxDistPlusNorm {
   	name = KolmogorovTest_MaxDistPlusNorm
 thresholds = KVT_Maxdist
 #reference = LocallyManagedReferences
-reference = CentrallyManagedReferences
+reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
 }
 
 #algorithm GatherData {
@@ -178,7 +249,7 @@ libname = libdqm_algorithms.so
 algorithm KolTest {
   name = KolmogorovTest_MaxDistPlusNorm&GatherData&Histogram_Not_Empty
   #reference = LocallyManagedReferences
-  reference = CentrallyManagedReferences
+  reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
   KolmogorovTest_MaxDistPlusNorm|thresholds = KVT_Maxdist
 }
 
@@ -191,7 +262,7 @@ libname = libdqm_algorithms.so
 algorithm KolTest_Koord {
   name = KolmogorovTest_MaxDistPlusNorm&GatherData
   #reference = LocallyManagedReferences
-  reference = CentrallyManagedReferences
+  reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
 KolmogorovTest_MaxDistPlusNorm|thresholds = KVT_Maxdist_Koord
 }
 
@@ -212,7 +283,7 @@ compositeAlgorithm Simple_gaus_Fit&KolmogorovTest_MaxDistPlusNorm&GatherData&His
 algorithm KolTestPlusGaus {
   	name = Simple_gaus_Fit&KolmogorovTest_MaxDistPlusNorm&GatherData&Histogram_Not_Empty
   	#reference = LocallyManagedReferences
-  reference = CentrallyManagedReferences
+  reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
   	KolmogorovTest_MaxDistPlusNorm|thresholds = KVT_Maxdist
 	Simple_gaus_Fit|thresholds = GausFitThres
 }
@@ -231,7 +302,7 @@ compositeAlgorithm Simple_pol1_Fit&KolmogorovTest_MaxDistPlusNorm&GatherData&His
 algorithm KolTestPlusLinear {
   	name = Simple_pol1_Fit&KolmogorovTest_MaxDistPlusNorm&GatherData&Histogram_Not_Empty
   	#reference = LocallyManagedReferences
-  reference = CentrallyManagedReferences
+  reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
   	KolmogorovTest_MaxDistPlusNorm|thresholds = KVT_Maxdist
 	Simple_pol1_Fit|thresholds = LinFitThres
 }
diff --git a/DataQuality/DataQualityConfigurations/config/JetTagging/heavyions_run.config b/DataQuality/DataQualityConfigurations/config/JetTagging/heavyions_run.config
index e171a7ef675d..605707b1a313 100644
--- a/DataQuality/DataQualityConfigurations/config/JetTagging/heavyions_run.config
+++ b/DataQuality/DataQualityConfigurations/config/JetTagging/heavyions_run.config
@@ -1,622 +1,538 @@
 # **********************************************************************
-# $Id: heavyions_run.config 516887 2012-09-09 22:34:18Z vogel $
+# $Id: heavyions_run.config 2018-10-24 16:46:00 alaperto $
 # **********************************************************************
 
 #######################
 # Histogram Assessments
 #######################
 
+dir JetTagging {
 
+    reference = CentrallyManagedReferences
 
-dir JetTagging {
+  ##################################################################
+  ###  Quality_Control
+  ##################################################################
+  hist DQ_Cutflow {
+    algorithm = KolTest
+    display = LogY
+    output = JetTagging/Quality_Control
+  }
+  hist Jet_Cutflow {
+    algorithm = KolTest
+    display = LogY
+    output = JetTagging/Quality_Control
+  }
+  hist jet_tracks_n {
+    algorithm = KolTest
+    output = JetTagging/Quality_Control
+  }
+  hist jet_tracks_pt {
+    display = LogY
+    algorithm = KolTest
+    output = JetTagging/Quality_Control
+  }
+  hist jet_tracks_eta {
+    algorithm = KolTest
+    output = JetTagging/Quality_Control
+  }
+  hist jet_tracks_phi {
+    algorithm = KolTest
+    output = JetTagging/Quality_Control
+  }
+  hist jet_tracks_hits_SCT {
+    algorithm = KolTest
+    output = JetTagging/Quality_Control
+  }
+  hist jet_tracks_hits_Pixel {
+    algorithm = KolTest
+    output = JetTagging/Quality_Control
+  }
+  hist jet_tracks_hits_BLayer {
+    algorithm = KolTest
+    output = JetTagging/Quality_Control
+  }
+  hist track_selector_eff {
+    algorithm = JetTag_GatherData
+    output = JetTagging/Quality_Control
+  }
+  hist track_selector_suspect {
+    algorithm = JetTag_GatherData
+    output = JetTagging/Quality_Control
+  }
+  hist track_selector_all {
+    algorithm = JetTag_GatherData
+    output = JetTagging/Quality_Control
+  }
+  hist global_BLayerHits {
+    algorithm = KolTest
+    output = JetTagging/Quality_Control
+  }
+  hist global_PixelHits {
+    algorithm = KolTest
+    output = JetTagging/Quality_Control
+  }
+  hist global_SiHits {
+    algorithm = KolTest
+    output = JetTagging/Quality_Control
+  }
+  hist global_nPrimVtx {
+    algorithm = KolTest
+    output = JetTagging/Quality_Control
+  }
+  hist tag_SV1IP3D_w {
+    display = LogY
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_MV_w_pT10_20 {
+    display = LogY
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_MV_w_pT20_50 {
+    display = LogY
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_MV_w_pT50_100 {
+    display = LogY
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_MV_w_pT100_200 {
+    display = LogY
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_MV_w_pT200 {
+    display = LogY
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_MV_w_eta0_05 {
+    display = LogY
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_MV_w_eta05_10 {
+    display = LogY
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_MV_w_eta10_15 {
+    display = LogY
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_MV_w_eta15_20 {
+    display = LogY
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_MV_w_eta20_25 {
+    display = LogY
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_MV_w_phi0_07 {
+    display = LogY
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_MV_w_phi07_14 {
+    display = LogY
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_MV_w_phi14_21 {
+    display = LogY
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_MV_w_phi21_28 {
+    display = LogY
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_MV_w_phi28 {
+    display = LogY
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_MV_w_phi_sum85OP {
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_MV_w_phi_sum77OP {
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_MV_w_phi_sum70OP {
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_MV_w_phi_sumAll {
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_MV_w_phi_frac85OP {
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_MV_w_phi_frac77OP {
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_MV_w_phi_frac70OP {
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_MV_w_phi_frac50OP { #switch to 60OP?
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_SV1IP3D_w_sj {
+    display = LogY
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_MV_w_sj {
+    display = LogY
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+
+  ####### NEW: 2018 DQ ###############
 
-	reference = CentrallyManagedReferences
-
-	hist jet_tracks_hits_SCT {
-		algorithm = KolTest
-		output = JetTagging/Quality_Control
-	}
-	hist jet_tracks_hits_Pixel {
-		algorithm = KolTest
-		output = JetTagging/Quality_Control
-	}
-
-
-	hist taggability {
-		algorithm = JetTag_GatherData
-		output = JetTagging/Quality_Control
-	}
-
-
-	#hist jet_electrons_n {
-	#	algorithm = KolTest
-	#	output = JetTagging/Diagnostics
-	#}
-	hist jet_muons_n {
-		algorithm = KolTest
-		display = LogY
-		output = JetTagging/Diagnostics
-	}
-	hist tag_SV0_w {
-		algorithm = KolTest
- 		weight = 0.8
-		display = LogY
-		output = JetTagging/Diagnostics
-	}
-
-	hist track_selector_eff {
-		algorithm = JetTag_GatherData
-		output = JetTagging/Quality_Control
-	}
-
-	hist ip3d_tag_neg_rate_2D {
-		algorithm = JetTag_BinsDiffFromStripMedian
-		output = JetTagging/Diagnostics/JetInformation
-	}
-
-	hist ip3d_tag_pos_rate_2D {
-		algorithm = JetTag_BinsDiffFromStripMedian
-		output = JetTagging/Diagnostics/JetInformation
-	}
-
-	hist mv1_tag_neg_rate_2D {
-		algorithm = JetTag_BinsDiffFromStripMedian
-		output = JetTagging/Diagnostics/JetInformation
-	}
-
-	hist mv1_tag_pos_rate_2D {
-		algorithm = JetTag_BinsDiffFromStripMedian
-		output = JetTagging/Diagnostics/JetInformation
-	}
-
-
-	hist sv1_tag_neg_rate_2D {
-		algorithm = JetTag_BinsDiffFromStripMedian
-		output = JetTagging/Diagnostics/JetInformation
-	}
-
-	hist sv1_tag_pos_rate_2D {
-		algorithm = JetTag_BinsDiffFromStripMedian
-		output = JetTagging/Diagnostics/JetInformation
-	}
-
-	hist sv2_tag_neg_rate_2D {
-		algorithm = JetTag_BinsDiffFromStripMedian
-		output = JetTagging/Diagnostics/JetInformation
-	}
-
-	hist sv2_tag_pos_rate_2D {
-		algorithm = JetTag_BinsDiffFromStripMedian
-		output = JetTagging/Diagnostics/JetInformation
-	}
-
-	hist jet_2D_kinematic {
-		algorithm = JetTag_BinsDiffFromStripMedian
-		output = JetTagging/Diagnostics/JetInformation
-	}
-
-	hist jet_2D_good {
-		algorithm = JetTag_BinsDiffFromStripMedian
-		output = JetTagging/Diagnostics/JetInformation
-	}
-
-	hist tracks_pTMin_2D {
-		algorithm = JetTag_BinsDiffFromStripMedian
-		output = JetTagging/Diagnostics/TrackInformation
-	}
-
-	hist tracks_d0Max_2D {
-		algorithm = JetTag_BinsDiffFromStripMedian
-		output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
-	}
-	hist tracks_z0Max_2D {
-		algorithm = JetTag_BinsDiffFromStripMedian
-		output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
-	}
-	hist tracks_sigd0Max_2D {
-		algorithm = JetTag_BinsDiffFromStripMedian
-		output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
-	}
-	hist tracks_sigz0Max_2D {
-		algorithm = JetTag_BinsDiffFromStripMedian
-		output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
-	}
-	hist tracks_etaMax_2D {
-		algorithm = JetTag_BinsDiffFromStripMedian
-		output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
-	}
-	hist tracks_nHitBLayer_2D {
-		algorithm = JetTag_BinsDiffFromStripMedian
-		output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
-	}
-	hist tracks_deadBLayer_2D {
-		algorithm = JetTag_BinsDiffFromStripMedian
-		output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
-	}
-	hist tracks_nHitPix_2D {
-		algorithm = JetTag_BinsDiffFromStripMedian
-		output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
-	}
-
-	hist tracks_nHitSct_2D {
-		algorithm = JetTag_BinsDiffFromStripMedian
-		output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
-	}
-	hist tracks_nHitSi_2D {
-		algorithm = JetTag_BinsDiffFromStripMedian
-		output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
-	}
-	hist tracks_nHitTrt_2D {
-		algorithm = JetTag_BinsDiffFromStripMedian
-		output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
-	}
-	hist tracks_nHitTrtHighE_2D {
-		algorithm = JetTag_BinsDiffFromStripMedian
-		output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
-	}
-	hist tracks_fitChi2_2D {
-		algorithm = JetTag_BinsDiffFromStripMedian
-		output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
-	}
-	hist tracks_fitProb_2D {
-		algorithm = JetTag_BinsDiffFromStripMedian
-		output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
-	}
-	hist tracks_fitChi2OnNdfMax_2D {
-		algorithm = JetTag_BinsDiffFromStripMedian
-		output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
-	}
-
-
-
-
-	hist jet_2D_all {
-		algorithm = JetTag_BinsDiffFromStripMedian
-		output = JetTagging/Diagnostics/JetInformation
-	}
-
-
-	hist tracks_all_2D {
-		algorithm = JetTag_GatherData
-		output = JetTagging/Diagnostics/TrackInformation
-	}
-
-
-
-
-	hist NTrackParticle {
-		algorithm = KolTest
-		display = LogY
-		output = JetTagging/Diagnostics
-	}
-
-	hist global_xPrimVtx {
-		algorithm = KolTest_Koord
-		display = LogY
-		output = JetTagging/Diagnostics
-	}
-	hist global_yPrimVtx {
-		algorithm = KolTest_Koord
-		display = LogY
-		output = JetTagging/Diagnostics
-	}
-	hist global_zPrimVtx {
-		algorithm = KolTest_Koord
-		output = JetTagging/Diagnostics
-
-	}
-	hist global_BLayerHits {
-		algorithm = KolTest
-		output = JetTagging/Quality_Control
-	}
-   	hist jet_tracks_hits_BLayer {
-		algorithm = KolTest
-		output = JetTagging/Quality_Control
-	}
-
-	hist global_TRTHits {
-		algorithm = KolTest
-		display = LogY
-		output = JetTagging/Diagnostics
-	}
-	hist global_PixelHits {
-		algorithm = KolTest
-		output = JetTagging/Quality_Control
-	}
-	hist global_SiHits {
-		algorithm = KolTest
-		output = JetTagging/Quality_Control
-	}
-	hist global_SCTHits {
-		algorithm = KolTest
-		output = JetTagging/Diagnostics
-	}
-	hist jet_n {
-		algorithm = KolTest
-		output = JetTagging/Diagnostics
-	}
-
-	hist jet_muons_pt {
-		display = LogY
-		algorithm = KolTest
-		output = JetTagging/Diagnostics/JetInformation
-	}
-	hist jet_nTag {
-		algorithm = KolTest
-		output = JetTagging/Diagnostics/JetInformation
-	}
-	hist jet_phi {
-		algorithm = KolTest
-		output = JetTagging/Diagnostics/JetInformation
-	}
-	hist jet_et {
-		display = LogY
-		algorithm = KolTest
-		output = JetTagging/Diagnostics/JetInformation
-	}
-	hist jet_eta {
-		algorithm = KolTest
-		output = JetTagging/Diagnostics/JetInformation
-	}
-	hist tag_IP2D_b {
-		algorithm = KolTest
-		output = JetTagging/Diagnostics
-	}
-	hist tag_IP3D_b {
-		algorithm = KolTest
-		output = JetTagging/Diagnostics
-	}
-	hist tag_IP2D_n {
-		algorithm = KolTest
-		output = JetTagging/Diagnostics
-	}
-	hist tag_IP3D_n {
-		algorithm = KolTest
-		output = JetTagging/Diagnostics
-	}
-	hist tag_IP2D_u {
-		algorithm = KolTest
-		output = JetTagging/Diagnostics
-	}
-	hist tag_IP3D_u {
-		algorithm = KolTest
-		output = JetTagging/Diagnostics
-	}
-
-	hist tag_IP2D_w {
-		display = LogY
-		algorithm = KolTest
- 		weight = 0.5
-		output = JetTagging/Diagnostics
-	}
-
-	hist tag_IP3D_w {
-		display = LogY
-		algorithm = KolTest
-  		weight = 0.5
-		output = JetTagging/Quality_Control
-	}
-#	hist tag_LHSIG_w {
-#		display = LogY
-# 		algorithm = JetTag_GatherData
-#		output = JetTagging/Diagnostics
-#		weight = 0
-#		set_weight = 0
-#	}
-	hist tag_SV1_w {
-		algorithm = KolTest
- 		weight = 0.5
-		display = LogY
-		output = JetTagging/Diagnostics
-	}
-	hist tag_SV2_w {
-		algorithm = KolTest
-		 weight = 0.5
-		display = LogY
-		output = JetTagging/Diagnostics
-	}
-   	hist ip3d_tag_def_rate_2D {
-		algorithm = JetTag_GatherData
-		output = JetTagging/Quality_Control
-	}
-
-	hist tag_COMB_w {
-		algorithm = KolTest
-		display = LogY
- 		weight = 0.8
-		output = JetTagging/Quality_Control
-	}
-	hist tag_MV1_w {
-		display = LogY
-		algorithm =  KolTest
- 		weight = 0.8
-		output = JetTagging/Quality_Control
-	}
-
-	#hist tag_SVBU_w {
-	#	algorithm = JetTag_GatherData
-	#	output = JetTagging/Diagnostics
-	#}
-
-	hist DQ_Cutflow {
-		algorithm = KolTest
-		display = LogY
-		output = JetTagging/Quality_Control
-	}
-
-	hist Jet_Cutflow {
-		algorithm = KolTest
-		display = LogY	
-		output = JetTagging/Quality_Control
-	}
-	hist trigPassed {
-		display = LogY
-		algorithm = KolTest
-		output = JetTagging/Diagnostics
-	}
-
-	hist global_nPrimVtx {
-		algorithm = KolTest
-		output = JetTagging/Quality_Control
-	}
-
-	hist jet_tracks_n {
-		algorithm = KolTest
-		output = JetTagging/Quality_Control
-	}
-
-	hist priVtx_trks {
-		algorithm = KolTest
-		output = JetTagging/Diagnostics
-	}
-	hist d0Sig_EtaRange_0_PtRange_0 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist d0Sig_EtaRange_0_PtRange_1 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist d0Sig_EtaRange_0_PtRange_2 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist d0Sig_EtaRange_1_PtRange_0 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist d0Sig_EtaRange_1_PtRange_1 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist d0Sig_EtaRange_1_PtRange_2 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist d0Sig_EtaRange_2_PtRange_0 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist d0Sig_EtaRange_2_PtRange_1 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist d0Sig_EtaRange_2_PtRange_2 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist d0Sig_EtaRange_3_PtRange_0 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist d0Sig_EtaRange_3_PtRange_1 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist d0Sig_EtaRange_3_PtRange_2 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist d0Sig_EtaRange_4_PtRange_0 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist d0Sig_EtaRange_4_PtRange_1 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist d0Sig_EtaRange_4_PtRange_2 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist z0Sig_EtaRange_0_PtRange_0 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist z0Sig_EtaRange_0_PtRange_1 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist z0Sig_EtaRange_0_PtRange_2 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist z0Sig_EtaRange_1_PtRange_0 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist z0Sig_EtaRange_1_PtRange_1 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist z0Sig_EtaRange_1_PtRange_2 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist z0Sig_EtaRange_2_PtRange_0 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist z0Sig_EtaRange_2_PtRange_1 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist z0Sig_EtaRange_2_PtRange_2 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist z0Sig_EtaRange_3_PtRange_0 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist z0Sig_EtaRange_3_PtRange_1 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist z0Sig_EtaRange_3_PtRange_2 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist z0Sig_EtaRange_4_PtRange_0 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist z0Sig_EtaRange_4_PtRange_1 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist z0Sig_EtaRange_4_PtRange_2 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist d0_EtaRange_0_PtRange_0 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist d0_EtaRange_0_PtRange_1 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist d0_EtaRange_0_PtRange_2 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist d0_EtaRange_1_PtRange_0 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist d0_EtaRange_1_PtRange_1 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist d0_EtaRange_1_PtRange_2 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist d0_EtaRange_2_PtRange_0 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist d0_EtaRange_2_PtRange_1 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist d0_EtaRange_2_PtRange_2 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist d0_EtaRange_3_PtRange_0 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist d0_EtaRange_3_PtRange_1 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist d0_EtaRange_3_PtRange_2 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist d0_EtaRange_4_PtRange_0 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist d0_EtaRange_4_PtRange_1 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist d0_EtaRange_4_PtRange_2 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist z0_EtaRange_0_PtRange_0 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist z0_EtaRange_0_PtRange_1 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist z0_EtaRange_0_PtRange_2 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist z0_EtaRange_1_PtRange_0 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist z0_EtaRange_1_PtRange_1 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist z0_EtaRange_1_PtRange_2 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist z0_EtaRange_2_PtRange_0 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist z0_EtaRange_2_PtRange_1 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist z0_EtaRange_2_PtRange_2 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist z0_EtaRange_3_PtRange_0 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist z0_EtaRange_3_PtRange_1 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist z0_EtaRange_3_PtRange_2 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist z0_EtaRange_4_PtRange_0 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist z0_EtaRange_4_PtRange_1 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-	hist z0_EtaRange_4_PtRange_2 {
-		algorithm = JetTag_GatherDataPlusOverUnder
-		output = JetTagging/Diagnostics/ImpactParameters
-	}
-
-	#hist vertexProb {
-	#	algorithm = KolTestPlusLinear
-	#	display = AxisRange(0,1000,"X")
-	#	output = JetTagging/Diagnostics
-	#}
+  hist n_smt_jet {
+    algorithm = KolTest
+    display = LogY
+    output = JetTagging/Quality_Control
+  }
+  hist smt_jet_MV_w {
+    algorithm = KolTest
+    display = LogY
+    output = JetTagging/Quality_Control
+  }
+  hist tag_MV_w_mu0_30 {
+    algorithm = KolTest
+    display = LogY
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_MV_w_mu30_50 {
+    algorithm = KolTest
+    display = LogY
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+  hist tag_MV_w_mu50_100 {
+    algorithm = KolTest
+    display = LogY
+    weight = 0.8
+    output = JetTagging/Quality_Control
+  }
+
+  ##################################################################
+  ###  Diagnostics
+  ##################################################################
+  hist trigPassed {
+    display = LogY
+    algorithm = KolTest
+    output = JetTagging/Diagnostics
+  }
+  hist jet_n {
+    algorithm = KolTest
+    output = JetTagging/Diagnostics
+  }
+  hist NTrackParticle {
+    display = LogY
+    algorithm = KolTest
+    output = JetTagging/Diagnostics
+  }
+  hist priVtx_trks {
+    algorithm = KolTest
+    output = JetTagging/Diagnostics
+  }
+  hist global_zPrimVtx {
+    algorithm = KolTest_Koord
+    output = JetTagging/Diagnostics
+  }
+  hist global_TRTHits {
+    algorithm = KolTest
+    display = LogY
+    output = JetTagging/Diagnostics
+  }
+  hist global_SCTHits {
+    algorithm = KolTest
+    output = JetTagging/Diagnostics
+  }
+  hist tag_IP2D_llr {
+    display = LogY
+    algorithm = KolTest
+    output = JetTagging/Diagnostics
+  }
+  hist tag_IP3D_n {
+    algorithm = KolTest
+    output = JetTagging/Diagnostics
+  }
+  hist tag_IP3D_llr {
+    display = LogY
+    algorithm = KolTest
+    output = JetTagging/Diagnostics
+  }
+  hist tag_SV1_llr {
+    display = LogY
+    algorithm = KolTest
+    output = JetTagging/Diagnostics
+  }
+  hist tag_SV0_sig3d {
+    display = LogY
+    algorithm = KolTest
+    output = JetTagging/Diagnostics
+  }
+  hist tag_JetFitter_llr {
+    display = LogY
+    algorithm = KolTest
+    output = JetTagging/Diagnostics
+  }
+  hist tag_JFCNN_llr {
+    display = LogY
+    algorithm = KolTest
+    output = JetTagging/Diagnostics
+  }
+  hist n_iso_el {
+    algorithm = KolTest
+    output = JetTagging/Diagnostics
+  }
+  hist n_iso_mu {
+    algorithm = KolTest
+    output = JetTagging/Diagnostics
+  }
+  hist jet_top_eff {
+    algorithm = KolTest
+    output = JetTagging/Diagnostics
+  }
+  hist jet_pt_top {
+    algorithm = KolTest
+    output = JetTagging/Diagnostics
+  }
+  hist jet_pt_top_tagged {
+    algorithm = KolTest
+    output = JetTagging/Diagnostics
+  }
+  hist jet_pt_top_eff {
+    algorithm = KolTest
+    output = JetTagging/Diagnostics
+  }
+  hist jet_MV_top {
+    algorithm = KolTest
+    display = LogY
+    output = JetTagging/Diagnostics
+  }
+  hist n_mu {
+    algorithm = KolTest
+    output = JetTagging/Diagnostics
+  }
+  hist tag_MV_w {
+    display = LogY
+    algorithm =  KolTest
+    weight = 0.8
+    output = JetTagging/Diagnostics
+  }
 
+  ##################################################################
+  ###  Diagnostics/ImpactParameters
+  ##################################################################
 
+  ##################################################################
+  ###  Diagnostics/JetInformation
+  ##################################################################
+  hist jet_phi {
+    algorithm = KolTest
+    output = JetTagging/Diagnostics/JetInformation
+  }
+  hist jet_et {
+    display = LogY
+    algorithm = KolTest
+    output = JetTagging/Diagnostics/JetInformation
+  }
+  hist jet_eta {
+    algorithm = KolTest
+    output = JetTagging/Diagnostics/JetInformation
+  }
+  hist sv1ip3d_tag_neg_rate_2D {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/JetInformation
+  }
+  hist sv1ip3d_tag_pos_rate_2D {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/JetInformation
+  }
+  hist mv_tag_60_rate_2D {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/JetInformation
+  }
+  hist mv_tag_70_rate_2D {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/JetInformation
+  }
+  hist mv_tag_77_rate_2D {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/JetInformation
+  }
+  hist mv_tag_85_rate_2D {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/JetInformation
+  }
+  hist jet_2D_all {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/JetInformation
+  }
+  hist jet_2D_good {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/JetInformation
+  }
+  hist jet_2D_kinematic {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/JetInformation
+  }
+  ####### NEW: 2018 DQ ###############
+  hist jet_2D_mjvt {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/JetInformation
+  }
+  ####### NEW: 2018 DQ ###############
+  hist jet_2D_overlap {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/JetInformation
+  }
+  hist jet_2D_quality {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/JetInformation
+  }
+  hist jet_2D_suspect {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/JetInformation
+  }
+  ####### NEW: 2018 DQ ###############
+  hist jet_2D_tbad {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/JetInformation
+  }
+  hist jet_2D_tsmt {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/JetInformation
+  }
+
+  ##################################################################
+  ###  Diagnostics/TrackInformation
+  ##################################################################
+  hist tracks_all_2D {
+    algorithm = JetTag_GatherData
+    output = JetTagging/Diagnostics/TrackInformation
+  }
+  hist tracks_pTMin_2D {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/TrackInformation
+  }
+  hist jet_tracks_d0 {
+    display = LogY
+    algorithm = KolTest
+    output = JetTagging/Diagnostics/TrackInformation
+  } 
+  hist jet_tracks_z0 {
+    display = LogY
+    algorithm = KolTest
+    output = JetTagging/Diagnostics/TrackInformation
+  } 
+
+  ##################################################################
+  ###  Diagnostics/TrackInformation/TracksWithFailedCuts
+  ##################################################################
+  hist tracks_d0Max_2D {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
+  }
+  hist tracks_z0Max_2D {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
+  }
+  hist tracks_sigd0Max_2D {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
+  }
+  hist tracks_sigz0Max_2D {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
+  }
+  hist tracks_nHitBLayer_2D {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
+  }
+  hist tracks_deadBLayer_2D {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
+  }
+  hist tracks_nHitPix_2D {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
+  }
+  hist tracks_nHitSct_2D {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
+  }
+  hist tracks_nHitSi_2D {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
+  }
+  hist tracks_nHitTrt_2D {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
+  }
+  hist tracks_nHitTrtHighE_2D {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
+  }
+  hist tracks_fitChi2_2D {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
+  }
+  hist tracks_fitProb_2D {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
+  }
+  hist tracks_fitChi2OnNdfMax_2D {
+    algorithm = JetTag_BinsDiffFromStripMedian
+    output = JetTagging/Diagnostics/TrackInformation/TracksWithFailedCuts
+  }
 }
 
 ###########################
@@ -627,7 +543,7 @@ algorithm KolmogorovTest_MaxDistPlusNorm {
   	libname = libdqm_algorithms.so
   	name = KolmogorovTest_MaxDistPlusNorm
 thresholds = KVT_Maxdist
-reference = CentrallyManagedReferences
+reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
 }
 
 #algorithm GatherData {
@@ -635,9 +551,6 @@ reference = CentrallyManagedReferences
 #  	name = GatherData
 #}
 
-
-
-
 #algorithm BinsFilledOutRange {
 #  	libname = libdqm_algorithms.so
 #  	name = BinsFilledOutRange
@@ -659,14 +572,10 @@ algorithm Simple_gaus_Fit {
 }
 
 
-
-
-
 ####
 ## Composited algorithms to extend Kolgomorov tests
 ####
 
-
 ####
 ##Simple KolTest just to check histograms
 ####
@@ -677,11 +586,10 @@ libname = libdqm_algorithms.so
 
 algorithm KolTest {
   name = KolmogorovTest_MaxDistPlusNorm&GatherData&Histogram_Not_Empty
-  reference = CentrallyManagedReferences
+  reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
   KolmogorovTest_MaxDistPlusNorm|thresholds = KVT_Maxdist
 }
 
-
 compositeAlgorithm KolmogorovTest_MaxDistPlusNorm&GatherData {
 subalgs = KolmogorovTest_MaxDistPlusNorm,GatherData,Histogram_Not_Empty
 libname = libdqm_algorithms.so
@@ -689,16 +597,10 @@ libname = libdqm_algorithms.so
 
 algorithm KolTest_Koord {
   name = KolmogorovTest_MaxDistPlusNorm&GatherData
-  reference = CentrallyManagedReferences
+  reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
 KolmogorovTest_MaxDistPlusNorm|thresholds = KVT_Maxdist_Koord
 }
 
-
-####
-
-
-
-
 ####
 ##KolTest with added gaus fit. For primary vertex shapes
 ####
@@ -709,12 +611,10 @@ compositeAlgorithm Simple_gaus_Fit&KolmogorovTest_MaxDistPlusNorm&GatherData&His
 
 algorithm KolTestPlusGaus {
   	name = Simple_gaus_Fit&KolmogorovTest_MaxDistPlusNorm&GatherData&Histogram_Not_Empty
-  reference = CentrallyManagedReferences
+  reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
   	KolmogorovTest_MaxDistPlusNorm|thresholds = KVT_Maxdist
 	Simple_gaus_Fit|thresholds = GausFitThres
 }
-####
-
 
 ####
 ##KolTest with a check how much bins out of a given range will be filled.
@@ -727,12 +627,10 @@ compositeAlgorithm Simple_pol1_Fit&KolmogorovTest_MaxDistPlusNorm&GatherData&His
 
 algorithm KolTestPlusLinear {
   	name = Simple_pol1_Fit&KolmogorovTest_MaxDistPlusNorm&GatherData&Histogram_Not_Empty
-  reference = CentrallyManagedReferences
+  reference = stream=physics_Main:CentrallyManagedReferences_Main;CentrallyManagedReferences
   	KolmogorovTest_MaxDistPlusNorm|thresholds = KVT_Maxdist
 	Simple_pol1_Fit|thresholds = LinFitThres
 }
-####
-
 
 #compositeAlgorithm BinsFilledOutRange&KolmogorovTest_MaxDistPlusNorm&GatherData&Histogram_Not_Empty {
 #  subalgs = KolmogorovTest_MaxDistPlusNorm,GatherData,Histogram_Not_Empty,BinsFilledOutRange
@@ -742,29 +640,23 @@ algorithm KolTestPlusLinear {
 #algorithm KolTestPlusBinsOutOfRange {
 #	libname = libdqm_algorithms.so
 #	name = BinsFilledOutRange&KolmogorovTest_MaxDistPlusNorm&GatherData&Histogram_Not_Empty
- # 	KolmogorovTest_MaxDistPlusNorm|thresholds = KVT_Maxdist
+# 	KolmogorovTest_MaxDistPlusNorm|thresholds = KVT_Maxdist
 #	BinsFilledOutRange|xmin = 0
 #	BinsFilledOutRange|xmax = 1000
 #	BinsFilledOutRange|thresholds = OutOfRangeThres
 #}
 
-
-
 ##Gather data and non empty test
 #compositeAlgorithm Histogram_Not_Empty&GatherData {
 #subalgs = Histogram_Not_Empty,GatherData
 #libname = libdqm_algorithms.so
 #name = KolmogorovTest_MaxDistPlusNorm&GatherData
-
 #}
 
 algorithm JetTag_GatherData {
   name = Histogram_Not_Empty&GatherData
 }
 
-
-
-
 ##Gather data and non empty test with over-/underflow information
 compositeAlgorithm No_UnderFlows&No_OverFlows&Histogram_Not_Empty&GatherData {
 subalgs = No_UnderFlows,No_OverFlows,Histogram_Not_Empty,GatherData
@@ -781,8 +673,6 @@ algorithm JetTag_BinsDiffFromStripMedian {
   thresholds = JetTag_BinsDiffFromStripMedian_threshold 
 }
 
-
-
 ######################
 
 thresholds JetTag_BinsDiffFromStripMedian_threshold {
@@ -792,7 +682,6 @@ thresholds JetTag_BinsDiffFromStripMedian_threshold {
   }
 }
 
-
 thresholds th_CSC_KSTest_JetTag {
   limits P {
     warning = 0.4
@@ -836,10 +725,9 @@ error = 2
 }
 }
 
-
-  ##############
-    # Output
-    ##############
+ ##############
+ # Output
+ ##############
     output top_level {
     algorithm = WorstCaseSummary
 
@@ -857,7 +745,6 @@ error = 2
     #    weight = 0
     #}
 
-
 }
     output Diagnostics {
     set_weight = 0.0
@@ -873,16 +760,10 @@ error = 2
             set_weight = 0
             weight = 0
     }
-}
-    output ImpactParameters {
-    set_weight = 0
-    weight = 0
-    }
-
-    }
-
+   }
 
+  }
 
-    }
-    }
 
+ }
+}
diff --git a/DataQuality/DataQualityConfigurations/config/MuonCombined/collisions_run.config b/DataQuality/DataQualityConfigurations/config/MuonCombined/collisions_run.config
index 855a525730b1..178210c63b09 100644
--- a/DataQuality/DataQualityConfigurations/config/MuonCombined/collisions_run.config
+++ b/DataQuality/DataQualityConfigurations/config/MuonCombined/collisions_run.config
@@ -603,8 +603,6 @@ dir MuonPhysics {
                 display = Ref2DSignif,TCanvas(490,900)
             }
             hist Muons_CBMuons_Origin_eta_phi {
-                output = MuonTracking/Shifter/Muons
-				display = Ref2DSignif,TCanvas(490,900)
                 description = All Muons, Eta and Phi distributions
             }
             # --------------------------------------------
@@ -730,6 +728,38 @@ dir MuonPhysics {
                 display = AxisRange(0.0,6.0,"Z")
             }
         } #dir CBMuons
+		
+		dir MuonStandAlone {
+		    hist Muons_MuonStandAlone_Origin_eta_phi {
+                output = MuonTracking/Shifter/Muons
+				#display = Ref2DSignif,TCanvas(490,900)
+                description = StandAlone, Eta and Phi distributions
+            }
+		} #dir MuonStandAlone
+		
+		dir CaloTagged {
+		    hist Muons_CaloTagged_Origin_eta_phi {
+                output = MuonTracking/Shifter/Muons
+				#display = Ref2DSignif,TCanvas(490,900)
+                description = CaloTagged, Eta and Phi distributions
+            }
+		} #dir CaloTagged
+		
+		dir SegmentTagged {
+		    hist Muons_SegmentTagged_Origin_eta_phi {
+                output = MuonTracking/Shifter/Muons
+				#display = Ref2DSignif,TCanvas(490,900)
+                description = SegmentTagged, Eta and Phi distributions
+            }
+		} #dir SegmentTagged
+		
+		dir SiliconAssociatedForward {
+		    hist Muons_SiliconAssociatedForward_Origin_eta_phi {
+                output = MuonTracking/Shifter/Muons
+				#display = Ref2DSignif,TCanvas(490,900)
+                description = SiliconAssociatedForward, Eta and Phi distributions
+            }
+		} #dir SiliconAssociatedForward
 
         dir NonCBMuons {
             output = MuonTracking/Expert/NonCBMuons
diff --git a/DataQuality/DataQualityConfigurations/config/common/collisions_run.config b/DataQuality/DataQualityConfigurations/config/common/collisions_run.config
index 0e787006d6f3..77dd696f3923 100644
--- a/DataQuality/DataQualityConfigurations/config/common/collisions_run.config
+++ b/DataQuality/DataQualityConfigurations/config/common/collisions_run.config
@@ -8,33 +8,33 @@
 
 reference CentrallyManagedReferences {
   location = /eos/atlas/atlascerngroupdisk/data-dqm/references/,root://eosatlas.cern.ch//eos/atlas/atlascerngroupdisk/data-dqm/references/
-  file = data17_13TeV.00341534.express_express.merge.HIST.f903_h277._0001.1
-  path = run_341534
-  info = Run 341534, express_express
+  file = data18_13TeV.00358031.express_express.merge.HIST.f961_h322._0001.1
+  path = run_358031
+  info = Run 358031, express_express
   name = same_name
 }
 
 reference CentrallyManagedReferences_Main {
   location = /eos/atlas/atlascerngroupdisk/data-dqm/references/,root://eosatlas.cern.ch//eos/atlas/atlascerngroupdisk/data-dqm/references/
-  file = data17_13TeV.00341534.physics_Main.merge.HIST.f903_h277._0001.1
-  path = run_341534
-  info = Run 341534, physics_Main
+  file = data18_13TeV.00358031.physics_Main.merge.HIST.f961_h322._0001.1
+  path = run_358031
+  info = Run 358031, physics_Main
   name = same_name
 }
 
 reference CentrallyManagedReferences_Trigger {
   location = /eos/atlas/atlascerngroupdisk/data-dqm/references/,root://eosatlas.cern.ch//eos/atlas/atlascerngroupdisk/data-dqm/references/
-  file = data17_13TeV.00341534.express_express.merge.HIST.f903_h277._0001.1
-  path = run_341534
-  info = Run 341534, express_express
+  file = data18_13TeV.00356177.express_express.merge.HIST.f956_h317._0001.1
+  path = run_356177
+  info = Run 356177, express_express
   name = same_name
 }
 
 reference CentrallyManagedReferences_TriggerMain {
   location = /eos/atlas/atlascerngroupdisk/data-dqm/references/,root://eosatlas.cern.ch//eos/atlas/atlascerngroupdisk/data-dqm/references/
-  file = data17_13TeV.00341534.physics_Main.merge.HIST.f903_h277._0001.1
-  path = run_341534
-  info = Run 341534, physics_Main
+  file = data18_13TeV.00356177.physics_Main.merge.HIST.f956_h319._0001.1
+  path = run_356177
+  info = Run 356177, physics_Main
   name = same_name
 }
 
diff --git a/DataQuality/DataQualityConfigurations/scripts/UploadDQAMITag.py b/DataQuality/DataQualityConfigurations/scripts/UploadDQAMITag.py
index 33f5d97f996c..2c877ef5bb55 100755
--- a/DataQuality/DataQualityConfigurations/scripts/UploadDQAMITag.py
+++ b/DataQuality/DataQualityConfigurations/scripts/UploadDQAMITag.py
@@ -314,4 +314,4 @@ if __name__ == '__main__':
     elif args[0].lower() == 'release':
         update_dict_for_release(cfgdict, args[1])
 
-    #upload_new_config(amiclient, nextTag, cfgdict)
+    upload_new_config(amiclient, nextTag, cfgdict)
-- 
GitLab


From 8b6c89c064477724df3a717b7b63858d708e89c8 Mon Sep 17 00:00:00 2001
From: Peter Onyisi <ponyisi@utexas.edu>
Date: Sun, 27 Jan 2019 20:07:19 +0100
Subject: [PATCH 155/192] Sweep DQUtils to master

---
 DataQuality/DQUtils/python/grl.py | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/DataQuality/DQUtils/python/grl.py b/DataQuality/DQUtils/python/grl.py
index d34718dc1d17..d770b632e6e2 100644
--- a/DataQuality/DQUtils/python/grl.py
+++ b/DataQuality/DQUtils/python/grl.py
@@ -8,7 +8,7 @@ import xml.etree.cElementTree as cElementTree
 
 from .db import fetch_iovs
 from .events import process_iovs
-from .sugar import define_iov_type, IOVSet, RunLumi
+from .sugar import define_iov_type, IOVSet, RunLumi, RunLumiType
 
 @define_iov_type
 def GRL_IOV():
@@ -82,6 +82,15 @@ def make_grl(iovset, name="unknown", version="unknown"):
     result.append("</LumiRangeCollection>")
     return "\n".join(result)
 
+def grl_contains_run_lb(grl, runlb):
+    # takes IOVSet of GRL_IOV, says whether runlb is in it
+    # runlb can be RunLumi type or tuple pair
+    if isinstance(runlb, RunLumiType):
+        runlb_ = runlb
+    else:
+        runlb_ = RunLumi(*runlb)
+    return any(_.contains_point(runlb_) for _ in grl)
+
 # Deprecated alias
 def grl_iovs_from_xml(*args, **kwargs):
     from warnings import warn
-- 
GitLab


From 54fecdd38d8d94ebfd3ec8c2266d1e2a51426c1b Mon Sep 17 00:00:00 2001
From: Peter Onyisi <ponyisi@utexas.edu>
Date: Sun, 27 Jan 2019 20:14:11 +0100
Subject: [PATCH 156/192] Sweep DCSCalculator2 to master

---
 DataQuality/DCSCalculator2/CMakeLists.txt                  | 7 +++++++
 .../DCSCalculator2/python/subdetectors/global_system.py    | 1 +
 DataQuality/DCSCalculator2/python/subdetectors/idbs.py     | 2 +-
 3 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/DataQuality/DCSCalculator2/CMakeLists.txt b/DataQuality/DCSCalculator2/CMakeLists.txt
index 2601ce281b7d..6863638946d8 100644
--- a/DataQuality/DCSCalculator2/CMakeLists.txt
+++ b/DataQuality/DCSCalculator2/CMakeLists.txt
@@ -5,6 +5,13 @@
 # Declare the package name:
 atlas_subdir( DCSCalculator2 )
 
+# Declare the package's dependencies:
+atlas_depends_on_subdirs( PRIVATE
+                          Database/CoolRunQuery
+                          TileCalorimeter/TileCalib/TileCalibBlobObjs
+                          DataQuality/DQDefects
+                          DataQuality/DQUtils )
+
 # Install files from the package:
 atlas_install_python_modules( python/*.py python/subdetectors )
 atlas_install_scripts( share/*.py )
diff --git a/DataQuality/DCSCalculator2/python/subdetectors/global_system.py b/DataQuality/DCSCalculator2/python/subdetectors/global_system.py
index 01f8f1948e6a..d63ec4023b96 100644
--- a/DataQuality/DCSCalculator2/python/subdetectors/global_system.py
+++ b/DataQuality/DCSCalculator2/python/subdetectors/global_system.py
@@ -48,6 +48,7 @@ class TDAQ_Busy(DCSC_Defect_Global_Variable):
 	counter=0
 
         for since, until, (state,) in events:
+            if state.Run == 0: continue
 	    #print state
             if state is not None:
                 deadfrac = 1-state.LiveFraction
diff --git a/DataQuality/DCSCalculator2/python/subdetectors/idbs.py b/DataQuality/DCSCalculator2/python/subdetectors/idbs.py
index 19d5defbbe4f..40365666b2a0 100644
--- a/DataQuality/DCSCalculator2/python/subdetectors/idbs.py
+++ b/DataQuality/DCSCalculator2/python/subdetectors/idbs.py
@@ -10,7 +10,7 @@ class IDBS_Beampos(DCSC_Global_Variable):
     
     input_db = "COOLOFL_INDET/CONDBR2"
     timewise_folder = False
-    fetch_args = dict(tag="IndetBeampos-ES1-UPD2")
+    fetch_args = dict(tag="IndetBeampos_cosmic_loose-RUN2")
     
     STATUSMAP = {
         59 : GREEN,
-- 
GitLab


From d0eb8de3232fc91c42ef7093109eab786deaec6a Mon Sep 17 00:00:00 2001
From: Peter Onyisi <ponyisi@utexas.edu>
Date: Sun, 27 Jan 2019 22:16:13 +0100
Subject: [PATCH 157/192] Sweep DataQualityInterfaces to master

---
 .../DataQualityInterfaces/src/HanConfig.cxx   | 16 ++++++++++----
 .../src/HanConfigAssessor.cxx                 |  5 ++++-
 .../src/HanInputRootFile.cxx                  |  3 ++-
 .../DataQualityInterfaces/src/HanOutput.cxx   | 21 ++++++++++++++++---
 4 files changed, 36 insertions(+), 9 deletions(-)

diff --git a/DataQuality/DataQualityInterfaces/src/HanConfig.cxx b/DataQuality/DataQualityInterfaces/src/HanConfig.cxx
index 9c3410d64324..0cc8236f258b 100644
--- a/DataQuality/DataQualityInterfaces/src/HanConfig.cxx
+++ b/DataQuality/DataQualityInterfaces/src/HanConfig.cxx
@@ -25,6 +25,7 @@
 #include <TBox.h>
 #include <TLine.h>
 #include <TROOT.h>
+#include <TEfficiency.h>
 
 #include "dqm_core/LibraryManager.h"
 #include "dqm_core/Parameter.h"
@@ -336,9 +337,9 @@ Visit( const MiniConfigTreeNode* node ) const
   TObject* obj;
   std::string name = node->GetAttribute("name");
   std::string fileName = node->GetAttribute("file");
-  fileName = SplitReference(node->GetAttribute("location"), fileName);
-  std::string refInfo = node->GetAttribute("info");
   if( fileName != "" && name != "" && name != "same_name" ) {
+    fileName = SplitReference(node->GetAttribute("location"), fileName);
+    std::string refInfo = node->GetAttribute("info");
     std::auto_ptr<TFile> infile( TFile::Open(fileName.c_str()) );
     TKey* key = getObjKey( infile.get(), name );
     if( key == 0 ) {
@@ -906,7 +907,8 @@ Visit( const MiniConfigTreeNode* node ) const
         TObject* tmpobj = key->ReadObj();
         TH1* tmph = dynamic_cast<TH1*>(tmpobj);
         TGraph* tmpg = dynamic_cast<TGraph*>(tmpobj);
-        if( tmph == 0 && tmpg == 0 )
+        TEfficiency* tmpe = dynamic_cast<TEfficiency*>(tmpobj);
+        if( tmph == 0 && tmpg == 0 && tmpe == 0 )
           continue;
         
         objName = objPath;
@@ -1237,7 +1239,13 @@ ChangeOutputDir( TFile* file, std::string path, DirMap_t& directories )
       std::string dirName;
       std::string::size_type k = subPath.find_last_of('/');
       dirName = (k != std::string::npos) ? std::string( subPath, k+1, std::string::npos ) : subPath;
-      TDirectory* dir = parDir->mkdir( dirName.c_str() );
+      TDirectory* dir;
+      if (!parDir->FindKey(dirName.c_str())) {
+	dir = parDir->mkdir( dirName.c_str() );
+      }
+      else{
+	std::cout << "Failed to make directory " << dirName.c_str() << std::endl;
+      }
       DirMap_t::value_type dirVal( subPath, dir );
       directories.insert( dirVal );
       return dir;
diff --git a/DataQuality/DataQualityInterfaces/src/HanConfigAssessor.cxx b/DataQuality/DataQualityInterfaces/src/HanConfigAssessor.cxx
index e3d6616fe405..437466ae898e 100644
--- a/DataQuality/DataQualityInterfaces/src/HanConfigAssessor.cxx
+++ b/DataQuality/DataQualityInterfaces/src/HanConfigAssessor.cxx
@@ -421,7 +421,10 @@ GetList( TDirectory* basedir, std::map<std::string,TSeqCollection*>& mp )
     TKey* key = getObjKey( basedir, GetHistPath() );
     if( key != 0 ) {
       const char* className = key->GetClassName();
-      if( (strncmp(className, "TH", 2) == 0) || (strncmp(className, "TGraph", 6) == 0) || (strncmp(className, "TProfile", 8) == 0) ) {
+      if( (strncmp(className, "TH", 2) == 0) 
+       || (strncmp(className, "TGraph", 6) == 0) 
+       || (strncmp(className, "TProfile", 8) == 0)
+       || (strncmp(className, "TEfficiency", 11) == 0) ) {
 	// TNamed* transobj = dynamic_cast<TNamed*>(key->ReadObj());
 	// if (transobj != NULL) {
 	std::string::size_type rslash = nameString.rfind("/");
diff --git a/DataQuality/DataQualityInterfaces/src/HanInputRootFile.cxx b/DataQuality/DataQualityInterfaces/src/HanInputRootFile.cxx
index 45080efc680b..165d3ec36921 100644
--- a/DataQuality/DataQualityInterfaces/src/HanInputRootFile.cxx
+++ b/DataQuality/DataQualityInterfaces/src/HanInputRootFile.cxx
@@ -7,6 +7,7 @@
 #include "TH1.h"
 #include "TGraph.h"
 #include "TDirectoryFile.h"
+#include "TEfficiency.h"
 #include <iostream>
 #include <cstring>
 
@@ -108,7 +109,7 @@ addListener( const boost::regex& regex, dqm_core::InputListener* listener )
       if (boost::regex_match(*str, regex)) {
         // is this actually a histogram/graph?
         TObject* temp = m_basedir->Get(str->c_str());
-        if (dynamic_cast<TH1*>(temp) || dynamic_cast<TGraph*>(temp)) {
+        if (dynamic_cast<TH1*>(temp) || dynamic_cast<TGraph*>(temp) || dynamic_cast<TEfficiency*>(temp) ) {
           std::cout << "Regular expression " << regex << " matches " << *str << std::endl;
           addListener(*str, listener);
         }
diff --git a/DataQuality/DataQualityInterfaces/src/HanOutput.cxx b/DataQuality/DataQualityInterfaces/src/HanOutput.cxx
index 72334bb5d74b..f33c716c3c1f 100644
--- a/DataQuality/DataQualityInterfaces/src/HanOutput.cxx
+++ b/DataQuality/DataQualityInterfaces/src/HanOutput.cxx
@@ -26,6 +26,7 @@
 #include <TROOT.h>
 #include <TH1.h>
 #include <TGraph.h>
+#include <TEfficiency.h>
 
 #include "dqm_core/exceptions.h"
 #include "dqm_core/OutputListener.h"
@@ -58,6 +59,9 @@ bool setNameGeneral(TObject* obj, const std::string& name) {
     } else if (TGraph* g=dynamic_cast<TGraph*>(obj)) {
       g->SetName(name.c_str());
       return true;
+    } else if (TEfficiency* e=dynamic_cast<TEfficiency*>(obj)) {
+      e->SetName(name.c_str());
+      return true;
     } else {
       TClass* kl = obj->IsA();
       TMethod* klm = kl->GetMethod("SetName", "\"Reference\"");
@@ -263,7 +267,10 @@ flushResults()
 		  	TKey* key = getObjKey(m_input, storename);
 		  	if( key != 0 ) {
 		  		const char* className = key->GetClassName();
-		  		if( (strncmp(className, "TH", 2) == 0) || (strncmp(className, "TGraph", 6) == 0) || (strncmp(className, "TProfile", 8) == 0) ) {
+		  		if( (strncmp(className, "TH", 2) == 0) 
+                                 || (strncmp(className, "TGraph", 6) == 0) 
+                                 || (strncmp(className, "TProfile", 8) == 0)
+                                 || (strncmp(className, "TEfficiency", 11) == 0) ) {
 				  TNamed* transobj = dynamic_cast<TNamed*>(key->ReadObj());
 				  if (transobj != NULL) {
 				    HanHistogramLink* hhl = new HanHistogramLink(m_input, storename);
@@ -373,13 +380,21 @@ static void WriteListToDirectory(TDirectory *dir, TSeqCollection *list, TFile* f
         str = tmp;
         tmp = strtok(0, "/");
       }
-      TDirectory* daughter = dir->mkdir(str);
+      TDirectory* daughter;
+      if (!dir->FindKey(str)) {
+	daughter = dir->mkdir(str);
+      }
+      else{ 
+	std::cout << "Failed to make " << str << " from " << tmpList->GetName() << std::endl;
+	continue; 
+      }
       WriteListToDirectory(daughter, tmpList, file, level-1);
       if (level > 0) { file->Write(); delete daughter; }
     }
     else if ((strncmp(obj->ClassName(), "TH", 2) == 0)
 	     || (strncmp(obj->ClassName(), "TGraph", 6) == 0)
-	     || (strncmp(obj->ClassName(), "TProfile", 8) ==0)) {
+	     || (strncmp(obj->ClassName(), "TProfile", 8) ==0)
+             || (strncmp(obj->ClassName(), "TEfficiency", 11) == 0) ) {
       dir->GetMotherDir()->WriteTObject(obj);
     } else {
       // anything else put it in current directory
-- 
GitLab


From 6019d0205f8359bdfd4b017938c318aa1f7c49b5 Mon Sep 17 00:00:00 2001
From: Peter Onyisi <ponyisi@utexas.edu>
Date: Mon, 28 Jan 2019 09:11:09 +0000
Subject: [PATCH 158/192] Allow new DQ monitoring algorithms to be run in the
 Run 2 jobOption framework

---
 .../ExampleMonitorAlgorithm.h                 |   2 +-
 .../python/AthMonitorCfgHelper.py             | 154 +++++++++++++++++-
 Control/AthenaMonitoring/python/__init__.py   |   4 +-
 .../ExampleMonitorAlgorithm_jobOptions.py     |  38 +++++
 .../src/ExampleMonitorAlgorithm.cxx           |   4 +-
 5 files changed, 193 insertions(+), 9 deletions(-)
 create mode 100644 Control/AthenaMonitoring/share/ExampleMonitorAlgorithm_jobOptions.py

diff --git a/Control/AthenaMonitoring/AthenaMonitoring/ExampleMonitorAlgorithm.h b/Control/AthenaMonitoring/AthenaMonitoring/ExampleMonitorAlgorithm.h
index c08f685c9828..5b1b8aac4ac4 100644
--- a/Control/AthenaMonitoring/AthenaMonitoring/ExampleMonitorAlgorithm.h
+++ b/Control/AthenaMonitoring/AthenaMonitoring/ExampleMonitorAlgorithm.h
@@ -19,4 +19,4 @@ public:
 private:
 	Gaudi::Property<bool> m_doRandom {this,"RandomHist",false};
 };
-#endif
\ No newline at end of file
+#endif
diff --git a/Control/AthenaMonitoring/python/AthMonitorCfgHelper.py b/Control/AthenaMonitoring/python/AthMonitorCfgHelper.py
index 9c8cccce5ca6..900e7de07ebb 100644
--- a/Control/AthenaMonitoring/python/AthMonitorCfgHelper.py
+++ b/Control/AthenaMonitoring/python/AthMonitorCfgHelper.py
@@ -2,8 +2,27 @@
 #  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 #
 
+'''@file AthMonitorCfgHelper.py
+@author C. D. Burton
+@author P. Onyisi
+@date 2019-01-25
+@brief Helper classes for Run 3 monitoring algorithm configuration
+'''
+
 class AthMonitorCfgHelper(object):
+    '''
+    This class is for the Run 3-style configuration framework. It is intended to be instantiated once
+    per group of related monitoring algorithms.
+    '''
     def __init__(self, inputFlags, monName):
+        '''
+        Create the configuration helper. Needs the global flags and the name of the set of
+        monitoring algorithms.
+
+        Arguments:
+        inputFlags -- the global configuration flag object
+        monName -- the name you want to assign the family of algorithms
+        '''
         from AthenaCommon.AlgSequence import AthSequencer
         from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
         self.inputFlags = inputFlags
@@ -11,10 +30,28 @@ class AthMonitorCfgHelper(object):
         self.monSeq = AthSequencer('AthMonSeq_' + monName)
         self.resobj = ComponentAccumulator()
 
-    def addAlgorithm(self,algClassOrObj, *args, **kwargs):
+    def addAlgorithm(self, algClassOrObj, name = None, *args, **kwargs):
+        '''
+        Instantiate/add a monitoring algorithm
+
+        Arguments:
+        algClassOrObj -- the Configurable class object of the algorithm to create, or an instance
+                         of the algorithm Configurable. The former is recommended.  In the former case,
+                         the name argument is required.
+        name -- the name of the algorithm to create. Required when passing a Configurable class object
+                as algClassOrObj.  No effect if a Configurable instance is passed.
+        *args, **kwargs -- additional arguments will be forwarded to the Configurable constructor if
+                           a Configurable class object is passed. No effect if a Configurable instance
+                           is passed.
+
+        Returns:
+        algObj -- an algorithm Configurable object
+        '''
         from AthenaCommon.Configurable import Configurable
         if issubclass(algClassOrObj, Configurable):
-            algObj = algClassOrObj(*args, **kwargs)
+            if name is None:
+                raise TypeError('addAlgorithm with a class argument requires a name for the algorithm')
+            algObj = algClassOrObj(name, *args, **kwargs)
         else:
             algObj = algClassOrObj
         
@@ -26,9 +63,23 @@ class AthMonitorCfgHelper(object):
         return algObj
 
     def addGroup(self, alg, name, topPath=''):
+        '''
+        Add a "group" (technically, a GenericMonitoringTool instance) to an algorithm. The name given
+        here can be used to retrieve the group from within the algorithm when calling the fill()
+        function.  (Note this is *not* the same thing as the Monitored::Group class.)
+
+        Arguments:
+        alg -- algorithm Configurable object (e.g. one returned from addAlgorithm)
+        name -- name of the group
+        topPath -- directory name in the output ROOT file under which histograms will be produced
+
+        Returns:
+        tool -- a GenericMonitoringTool Configurable object. This can be used to define histograms
+                associated with that group (using defineHistogram).
+        '''
         from AthenaMonitoring.GenericMonitoringTool import GenericMonitoringTool
         tool = GenericMonitoringTool(name)
-        acc, histsvc = GetDQTHistSvc(self.inputFlags)
+        acc, histsvc = getDQTHistSvc(self.inputFlags)
         self.resobj.merge(acc)
         tool.THistSvc = histsvc
         tool.HistPath = self.inputFlags.DQ.FileKey + ('/%s' % topPath if topPath else '')
@@ -36,10 +87,105 @@ class AthMonitorCfgHelper(object):
         return tool
 
     def result(self):
+        '''
+        This function should be called to finalize the creation of the set of monitoring algorithms.
+
+        Returns:
+        (resobj, monSeq) -- a tuple with a ComponentAccumulator and an AthSequencer
+        '''
         self.resobj.addSequence(self.monSeq)
         return self.resobj,self.monSeq
 
-def GetDQTHistSvc(inputFlags):
+class AthMonitorCfgHelperOld(object):
+    ''' 
+    This is the version of the AthMonitorCfgHelper for the old-style jobOptions framework
+    '''
+    def __init__(self, dqflags, monName):
+        '''
+        Create the configuration helper. Needs the global flags and the name of the set of
+        monitoring algorithms.
+
+        Arguments:
+        dqflags -- the DQMonFlags object
+        monName -- the name you want to assign the family of algorithms
+        '''
+        from AthenaCommon.AlgSequence import AthSequencer
+        self.dqflags = dqflags
+        self.monName = monName
+        self.monSeq = AthSequencer('AthMonSeq_' + monName)
+
+    def addAlgorithm(self,algClassOrObj, *args, **kwargs):
+        '''
+        Instantiate/add a monitoring algorithm
+
+        Arguments:
+        algClassOrObj -- the Configurable class object of the algorithm to create, or an instance
+                         of the algorithm Configurable. The former is recommended.  In the former case,
+                         the name argument is required.
+        name -- the name of the algorithm to create. Required when passing a Configurable class object
+                as algClassOrObj.  No effect if a Configurable instance is passed.
+        *args, **kwargs -- additional arguments will be forwarded to the Configurable constructor if
+                           a Configurable class object is passed. No effect if a Configurable instance
+                           is passed.
+
+        Returns:
+        algObj -- an algorithm Configurable object
+        '''
+        from AthenaCommon.Configurable import Configurable
+        if issubclass(algClassOrObj, Configurable):
+            algObj = algClassOrObj(*args, **kwargs)
+        else:
+            algObj = algClassOrObj
+        
+        # configure these properties; users really should have no reason to override them
+        algObj.Environment = self.dqflags.monManEnvironment()
+        algObj.DataType = self.dqflags.monManDataType()
+
+        self.monSeq += algObj
+        return algObj
+
+    def addGroup(self, alg, name, topPath=''):
+        '''
+        Add a "group" (technically, a GenericMonitoringTool instance) to an algorithm. The name given
+        here can be used to retrieve the group from within the algorithm when calling the fill()
+        function.  (Note this is *not* the same thing as the Monitored::Group class.)
+
+        Arguments:
+        alg -- algorithm Configurable object (e.g. one returned from addAlgorithm)
+        name -- name of the group
+        topPath -- directory name in the output ROOT file under which histograms will be produced
+
+        Returns:
+        tool -- a GenericMonitoringTool Configurable object. This can be used to define histograms
+                associated with that group (using defineHistogram).
+        '''
+        from AthenaMonitoring.GenericMonitoringTool import GenericMonitoringTool
+        tool = GenericMonitoringTool(name)
+        from AthenaCommon.AppMgr import ServiceMgr as svcMgr
+        if not hasattr(svcMgr, 'THistSvc'):
+            from GaudiSvc.GaudiSvcConf import THistSvc
+            svcMgr += THistSvc()
+        tool.THistSvc = svcMgr.THistSvc
+        tool.HistPath = self.dqflags.monManFileKey() + ('/%s' % topPath if topPath else '')
+        alg.GMTools += [tool]
+        return tool
+
+    def result(self):
+        '''
+        This function should be called to finalize the creation of the set of monitoring algorithms.
+
+        Returns:
+        monSeq -- an AthSequencer
+        '''
+        return self.monSeq
+
+def getDQTHistSvc(inputFlags):
+    '''
+    This function creates a THistSvc - used for the new-style job configuration
+    
+    Returns:
+    (result, histsvc) -- a tuple of (ComponentAccumulator, THistSvc Configurable object)
+    '''
     from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
     from GaudiSvc.GaudiSvcConf import THistSvc
 
diff --git a/Control/AthenaMonitoring/python/__init__.py b/Control/AthenaMonitoring/python/__init__.py
index d95762383ed5..93e6266cb2b2 100644
--- a/Control/AthenaMonitoring/python/__init__.py
+++ b/Control/AthenaMonitoring/python/__init__.py
@@ -2,5 +2,5 @@
 #  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 #
 
-from AthMonitorCfgHelper import AthMonitorCfgHelper
-from AtlasReadyFilterTool import GetAtlasReadyFilterTool
\ No newline at end of file
+from AthMonitorCfgHelper import AthMonitorCfgHelper, AthMonitorCfgHelperOld
+from AtlasReadyFilterTool import GetAtlasReadyFilterTool
diff --git a/Control/AthenaMonitoring/share/ExampleMonitorAlgorithm_jobOptions.py b/Control/AthenaMonitoring/share/ExampleMonitorAlgorithm_jobOptions.py
new file mode 100644
index 000000000000..1a519e832258
--- /dev/null
+++ b/Control/AthenaMonitoring/share/ExampleMonitorAlgorithm_jobOptions.py
@@ -0,0 +1,38 @@
+#
+#  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+#
+
+'''@file ExampleMonitorAlgorithm_jobOptions.py
+@author C. D. Burton
+@author P. Onyisi
+@date 2018-01-11
+@brief Example python configuration for the Run III AthenaMonitoring package (old jobOptions)
+'''
+
+# The following class will make a sequence, configure algorithms, and link
+# them to GenericMonitoringTools
+from AthenaMonitoring import AthMonitorCfgHelperOld
+helper = AthMonitorCfgHelperOld(DQMonFlags, "ExampleMonitor")
+
+### STEP 2 ###
+# Adding an algorithm to the helper. Here, we will use the example 
+# algorithm in the AthenaMonitoring package. Just pass the type to the 
+# helper. Then, the helper will instantiate an instance and set up the 
+# base class configuration following the inputFlags. The returned object 
+# is the algorithm.
+from AthenaMonitoring.AthenaMonitoringConf import ExampleMonitorAlgorithm
+exampleMonAlg = helper.AddAlgorithm(ExampleMonitorAlgorithm, "ExampleMonAlg")
+
+myGroup = helper.AddGroup( exampleMonAlg,
+        "ExampleMonitor",
+        "OneRing/"
+    )
+
+myGroup.defineHistogram("lumiPerBCID;lumiPerBCID", title="Luminosity;L/BCID;Events",
+                        path='ToRuleThemAll',xbins=10,xmin=0.0,xmax=10.0)
+myGroup.defineHistogram("lb;lb", title="Luminosity Block;lb;Events",
+                        path='ToFindThem',xbins=1000,xmin=-0.5,xmax=999.5)
+myGroup.defineHistogram("random;random", title="LB;x;Events",
+                        path='ToBringThemAll',xbins=30,xmin=0,xmax=1)
+
+topSequence += helper.result()
diff --git a/Control/AthenaMonitoring/src/ExampleMonitorAlgorithm.cxx b/Control/AthenaMonitoring/src/ExampleMonitorAlgorithm.cxx
index 2494e52059bc..ed0bfd7abca7 100644
--- a/Control/AthenaMonitoring/src/ExampleMonitorAlgorithm.cxx
+++ b/Control/AthenaMonitoring/src/ExampleMonitorAlgorithm.cxx
@@ -31,8 +31,8 @@ StatusCode ExampleMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co
     lb = GetEventInfo(ctx)->lumiBlock();
     run = GetEventInfo(ctx)->runNumber();
     if (m_doRandom) {
-        TRandom r;
-        random = r.Rndm();
+      TRandom r(ctx.eventID().event_number());
+      random = r.Rndm();
     }
 
     // Fill. First argument is the tool name, all others are the variables to be saved.
-- 
GitLab


From d45c7b8919e3004ab1d520f848d8903c50dfd6db Mon Sep 17 00:00:00 2001
From: Miha Muskinja <miha.muskinja@cern.ch>
Date: Mon, 28 Jan 2019 09:19:02 +0000
Subject: [PATCH 159/192] Do not set default values in initialize in
 GeantFollowerHelper.cxx because they are set to default already at
 BeginEvent.

---
 .../TrkG4UserActions/src/GeantFollowerHelper.cxx     | 12 ------------
 1 file changed, 12 deletions(-)

diff --git a/Tracking/TrkG4Components/TrkG4UserActions/src/GeantFollowerHelper.cxx b/Tracking/TrkG4Components/TrkG4UserActions/src/GeantFollowerHelper.cxx
index a97d7902d9a3..54592da4fc3e 100644
--- a/Tracking/TrkG4Components/TrkG4UserActions/src/GeantFollowerHelper.cxx
+++ b/Tracking/TrkG4Components/TrkG4UserActions/src/GeantFollowerHelper.cxx
@@ -90,18 +90,6 @@ StatusCode Trk::GeantFollowerHelper::initialize()
   m_validationTree->Branch("TrkStepLocX",  m_treeData->m_trk_lx,     "trkstepLX[g4steps]/F");
   m_validationTree->Branch("TrkStepLocY",  m_treeData->m_trk_ly,     "trkstepLY[g4steps]/F");
 
-  // initialize
-  m_treeData->m_t_x        = 0.;
-  m_treeData->m_t_y        = 0.;
-  m_treeData->m_t_z        = 0.;
-  m_treeData->m_t_theta    = 0.;
-  m_treeData->m_t_eta      = 0.;
-  m_treeData->m_t_phi      = 0.;
-  m_treeData->m_t_p        = 0.;
-  m_treeData->m_t_charge   = 0.;
-  m_treeData->m_t_pdg      = 0;
-  m_treeData->m_g4_steps   = 0;
-
   // now register the Tree
   ITHistSvc* tHistSvc = 0;
   if (service("THistSvc",tHistSvc).isFailure()){
-- 
GitLab


From 9c2b0c2a26b3a9cc601efe312dc24e0d1459912f Mon Sep 17 00:00:00 2001
From: Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch>
Date: Mon, 28 Jan 2019 10:19:50 +0100
Subject: [PATCH 160/192] Added a copyright message to each of the touched
 files in AsgTools.

This is a long story, but the copyright messages were not added to the files of
AsgTools when this package got included in branch 21.2 back in the day. So we
should just add these one-by-one as we touch these files.
---
 Control/AthToolSupport/AsgTools/AsgTools/AnaToolHandle.h | 4 ++++
 .../AthToolSupport/AsgTools/AsgTools/AnaToolHandle.icc   | 9 +++++++++
 .../AthToolSupport/AsgTools/AsgTools/IMessagePrinter.h   | 4 ++++
 Control/AthToolSupport/AsgTools/AsgTools/MessageCheck.h  | 4 ++++
 .../AthToolSupport/AsgTools/AsgTools/MessagePrinter.h    | 4 ++++
 .../AsgTools/AsgTools/MessagePrinterErrorCollect.h       | 4 ++++
 .../AsgTools/AsgTools/MessagePrinterMock.h               | 4 ++++
 Control/AthToolSupport/AsgTools/AsgTools/SgTEvent.icc    | 4 +++-
 .../AthToolSupport/AsgTools/AsgTools/SgTEventMeta.icc    | 4 +++-
 Control/AthToolSupport/AsgTools/AsgTools/ToolStore.h     | 4 +++-
 Control/AthToolSupport/AsgTools/AsgTools/UnitTest.h      | 4 ++++
 Control/AthToolSupport/AsgTools/Root/AnaToolHandle.cxx   | 3 +++
 Control/AthToolSupport/AsgTools/Root/MessageCheck.cxx    | 3 +++
 .../AsgTools/Root/MessagePrinterErrorCollect.cxx         | 3 +++
 Control/AthToolSupport/AsgTools/Root/SgTEvent.cxx        | 4 +++-
 Control/AthToolSupport/AsgTools/Root/SgTEventMeta.cxx    | 4 +++-
 Control/AthToolSupport/AsgTools/Root/ToolStore.cxx       | 4 +++-
 Control/AthToolSupport/AsgTools/test/gt_AsgTool.cxx      | 3 +++
 Control/AthToolSupport/AsgTools/test/gt_MessageCheck.cxx | 3 +++
 Control/AthToolSupport/AsgTools/test/gt_TProperty.cxx    | 3 +++
 .../AthToolSupport/AsgTools/test/gt_UnitTest_test.cxx    | 3 +++
 21 files changed, 76 insertions(+), 6 deletions(-)

diff --git a/Control/AthToolSupport/AsgTools/AsgTools/AnaToolHandle.h b/Control/AthToolSupport/AsgTools/AsgTools/AnaToolHandle.h
index eb2f2d7964b4..01f1ee11b473 100644
--- a/Control/AthToolSupport/AsgTools/AsgTools/AnaToolHandle.h
+++ b/Control/AthToolSupport/AsgTools/AsgTools/AnaToolHandle.h
@@ -1,3 +1,7 @@
+// Dear emacs, this is -*- c++ -*-
+//
+// Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+//
 #ifndef ASG_TOOLS__ANA_TOOL_HANDLE_H
 #define ASG_TOOLS__ANA_TOOL_HANDLE_H
 
diff --git a/Control/AthToolSupport/AsgTools/AsgTools/AnaToolHandle.icc b/Control/AthToolSupport/AsgTools/AsgTools/AnaToolHandle.icc
index 78fa035d6cae..6478617a39ec 100644
--- a/Control/AthToolSupport/AsgTools/AsgTools/AnaToolHandle.icc
+++ b/Control/AthToolSupport/AsgTools/AsgTools/AnaToolHandle.icc
@@ -1,3 +1,10 @@
+// Dear emacs, this is -*- c++ -*-
+//
+// Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+//
+#ifndef ASGTOOLS_ANATOOLHANDLE_ICC
+#define ASGTOOLS_ANATOOLHANDLE_ICC
+
 #include <AsgTools/MessageCheck.h>
 #include <assert.h>
 #include <cstdlib>
@@ -1345,3 +1352,5 @@ namespace asg
     m_allowEmpty = val_allowEmpty;
   }
 }
+
+#endif // ASGTOOLS_ANATOOLHANDLE_ICC
diff --git a/Control/AthToolSupport/AsgTools/AsgTools/IMessagePrinter.h b/Control/AthToolSupport/AsgTools/AsgTools/IMessagePrinter.h
index 571b8f5532ae..d98e80b9e6c0 100644
--- a/Control/AthToolSupport/AsgTools/AsgTools/IMessagePrinter.h
+++ b/Control/AthToolSupport/AsgTools/AsgTools/IMessagePrinter.h
@@ -1,3 +1,7 @@
+// Dear emacs, this is -*- c++ -*-
+//
+// Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+//
 #ifndef ASG_TOOLS__I_MESSAGE_PRINTER_H
 #define ASG_TOOLS__I_MESSAGE_PRINTER_H
 
diff --git a/Control/AthToolSupport/AsgTools/AsgTools/MessageCheck.h b/Control/AthToolSupport/AsgTools/AsgTools/MessageCheck.h
index 28930215163a..1bbc172acb58 100644
--- a/Control/AthToolSupport/AsgTools/AsgTools/MessageCheck.h
+++ b/Control/AthToolSupport/AsgTools/AsgTools/MessageCheck.h
@@ -1,3 +1,7 @@
+// Dear emacs, this is -*- c++ -*-
+//
+// Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+//
 #ifndef ASG_TOOLS__MESSAGE_CHECK_H
 #define ASG_TOOLS__MESSAGE_CHECK_H
 
diff --git a/Control/AthToolSupport/AsgTools/AsgTools/MessagePrinter.h b/Control/AthToolSupport/AsgTools/AsgTools/MessagePrinter.h
index 55772a8198dd..c493b4a018f0 100644
--- a/Control/AthToolSupport/AsgTools/AsgTools/MessagePrinter.h
+++ b/Control/AthToolSupport/AsgTools/AsgTools/MessagePrinter.h
@@ -1,3 +1,7 @@
+// Dear emacs, this is -*- c++ -*-
+//
+// Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+//
 #ifndef ASG_TOOLS__MESSAGE_PRINTER_H
 #define ASG_TOOLS__MESSAGE_PRINTER_H
 
diff --git a/Control/AthToolSupport/AsgTools/AsgTools/MessagePrinterErrorCollect.h b/Control/AthToolSupport/AsgTools/AsgTools/MessagePrinterErrorCollect.h
index da907f91333d..94ab56ff211c 100644
--- a/Control/AthToolSupport/AsgTools/AsgTools/MessagePrinterErrorCollect.h
+++ b/Control/AthToolSupport/AsgTools/AsgTools/MessagePrinterErrorCollect.h
@@ -1,3 +1,7 @@
+// Dear emacs, this is -*- c++ -*-
+//
+// Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+//
 #ifndef ASG_TOOLS__MESSAGE_PRINTER_ERROR_COLLECT_H
 #define ASG_TOOLS__MESSAGE_PRINTER_ERROR_COLLECT_H
 
diff --git a/Control/AthToolSupport/AsgTools/AsgTools/MessagePrinterMock.h b/Control/AthToolSupport/AsgTools/AsgTools/MessagePrinterMock.h
index 7f349d803bda..ccde2361c525 100644
--- a/Control/AthToolSupport/AsgTools/AsgTools/MessagePrinterMock.h
+++ b/Control/AthToolSupport/AsgTools/AsgTools/MessagePrinterMock.h
@@ -1,3 +1,7 @@
+// Dear emacs, this is -*- c++ -*-
+//
+// Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+//
 #ifndef ASG_TOOLS__MESSAGE_PRINTER_MOCK_H
 #define ASG_TOOLS__MESSAGE_PRINTER_MOCK_H
 
diff --git a/Control/AthToolSupport/AsgTools/AsgTools/SgTEvent.icc b/Control/AthToolSupport/AsgTools/AsgTools/SgTEvent.icc
index 74b12c3026ae..a58e14b52dd6 100644
--- a/Control/AthToolSupport/AsgTools/AsgTools/SgTEvent.icc
+++ b/Control/AthToolSupport/AsgTools/AsgTools/SgTEvent.icc
@@ -1,5 +1,7 @@
 // Dear emacs, this is -*- c++ -*-
-// $Id: SgTEvent.icc 687011 2015-08-03 09:25:07Z krasznaa $
+//
+// Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+//
 #ifndef ASGTOOLS_SGTEVENT_ICC
 #define ASGTOOLS_SGTEVENT_ICC
 
diff --git a/Control/AthToolSupport/AsgTools/AsgTools/SgTEventMeta.icc b/Control/AthToolSupport/AsgTools/AsgTools/SgTEventMeta.icc
index af80d9c9fe4c..4e2267549210 100644
--- a/Control/AthToolSupport/AsgTools/AsgTools/SgTEventMeta.icc
+++ b/Control/AthToolSupport/AsgTools/AsgTools/SgTEventMeta.icc
@@ -1,5 +1,7 @@
 // Dear emacs, this is -*- c++ -*-
-// $Id: SgTEventMeta.icc 687011 2015-08-03 09:25:07Z krasznaa $
+//
+// Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+//
 #ifndef ASGTOOLS_SGTEVENTMETA_ICC
 #define ASGTOOLS_SGTEVENTMETA_ICC
 
diff --git a/Control/AthToolSupport/AsgTools/AsgTools/ToolStore.h b/Control/AthToolSupport/AsgTools/AsgTools/ToolStore.h
index d35444ae2877..e8cabc345a87 100644
--- a/Control/AthToolSupport/AsgTools/AsgTools/ToolStore.h
+++ b/Control/AthToolSupport/AsgTools/AsgTools/ToolStore.h
@@ -1,5 +1,7 @@
 // Dear emacs, this is -*- c++ -*-
-// $Id: ToolStore.h 802972 2017-04-15 18:13:17Z krumnack $
+//
+// Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+//
 #ifndef ASGTOOLS_TOOLSTORE_H
 #define ASGTOOLS_TOOLSTORE_H
 
diff --git a/Control/AthToolSupport/AsgTools/AsgTools/UnitTest.h b/Control/AthToolSupport/AsgTools/AsgTools/UnitTest.h
index 89755ac0f7a3..c635bf01a8aa 100644
--- a/Control/AthToolSupport/AsgTools/AsgTools/UnitTest.h
+++ b/Control/AthToolSupport/AsgTools/AsgTools/UnitTest.h
@@ -1,3 +1,7 @@
+// Dear emacs, this is -*- c++ -*-
+//
+// Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+//
 #ifndef ASG_TOOLS__UNIT_TEST_H
 #define ASG_TOOLS__UNIT_TEST_H
 
diff --git a/Control/AthToolSupport/AsgTools/Root/AnaToolHandle.cxx b/Control/AthToolSupport/AsgTools/Root/AnaToolHandle.cxx
index c90d7db649ce..de859d56b380 100644
--- a/Control/AthToolSupport/AsgTools/Root/AnaToolHandle.cxx
+++ b/Control/AthToolSupport/AsgTools/Root/AnaToolHandle.cxx
@@ -1,3 +1,6 @@
+//
+// Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+//
 //        
 //                  Author: Nils Krumnack
 // Distributed under the Boost Software License, Version 1.0.
diff --git a/Control/AthToolSupport/AsgTools/Root/MessageCheck.cxx b/Control/AthToolSupport/AsgTools/Root/MessageCheck.cxx
index cab1e1ef544d..e68c52ad6716 100644
--- a/Control/AthToolSupport/AsgTools/Root/MessageCheck.cxx
+++ b/Control/AthToolSupport/AsgTools/Root/MessageCheck.cxx
@@ -1,3 +1,6 @@
+//
+// Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+//
 //        
 //                  Author: Nils Krumnack
 // Distributed under the Boost Software License, Version 1.0.
diff --git a/Control/AthToolSupport/AsgTools/Root/MessagePrinterErrorCollect.cxx b/Control/AthToolSupport/AsgTools/Root/MessagePrinterErrorCollect.cxx
index de5af5e600cd..936c36843365 100644
--- a/Control/AthToolSupport/AsgTools/Root/MessagePrinterErrorCollect.cxx
+++ b/Control/AthToolSupport/AsgTools/Root/MessagePrinterErrorCollect.cxx
@@ -1,3 +1,6 @@
+//
+// Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+//
 //        
 //                  Author: Nils Krumnack
 // Distributed under the Boost Software License, Version 1.0.
diff --git a/Control/AthToolSupport/AsgTools/Root/SgTEvent.cxx b/Control/AthToolSupport/AsgTools/Root/SgTEvent.cxx
index dd3d5456dabf..59313943f31b 100644
--- a/Control/AthToolSupport/AsgTools/Root/SgTEvent.cxx
+++ b/Control/AthToolSupport/AsgTools/Root/SgTEvent.cxx
@@ -1,4 +1,6 @@
-
+//
+// Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+//
 
 // System include(s):
 #include <iostream>
diff --git a/Control/AthToolSupport/AsgTools/Root/SgTEventMeta.cxx b/Control/AthToolSupport/AsgTools/Root/SgTEventMeta.cxx
index 3db8b6576a85..78ca53bccbb0 100644
--- a/Control/AthToolSupport/AsgTools/Root/SgTEventMeta.cxx
+++ b/Control/AthToolSupport/AsgTools/Root/SgTEventMeta.cxx
@@ -1,4 +1,6 @@
-
+//
+// Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+//
 
 // xAOD include(s):
 #ifdef XAOD_STANDALONE
diff --git a/Control/AthToolSupport/AsgTools/Root/ToolStore.cxx b/Control/AthToolSupport/AsgTools/Root/ToolStore.cxx
index 4ab37b606823..a351eee15ee9 100644
--- a/Control/AthToolSupport/AsgTools/Root/ToolStore.cxx
+++ b/Control/AthToolSupport/AsgTools/Root/ToolStore.cxx
@@ -1,4 +1,6 @@
-// $Id: ToolStore.cxx 802972 2017-04-15 18:13:17Z krumnack $
+//
+// Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+//
 
 // System include(s):
 #include <map>
diff --git a/Control/AthToolSupport/AsgTools/test/gt_AsgTool.cxx b/Control/AthToolSupport/AsgTools/test/gt_AsgTool.cxx
index 990ea5b5d762..563631f0c5b8 100644
--- a/Control/AthToolSupport/AsgTools/test/gt_AsgTool.cxx
+++ b/Control/AthToolSupport/AsgTools/test/gt_AsgTool.cxx
@@ -1,3 +1,6 @@
+//
+// Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+//
 //        
 //                  Author: Nils Krumnack
 // Distributed under the Boost Software License, Version 1.0.
diff --git a/Control/AthToolSupport/AsgTools/test/gt_MessageCheck.cxx b/Control/AthToolSupport/AsgTools/test/gt_MessageCheck.cxx
index 17866d5b2134..cf7e9466ee02 100644
--- a/Control/AthToolSupport/AsgTools/test/gt_MessageCheck.cxx
+++ b/Control/AthToolSupport/AsgTools/test/gt_MessageCheck.cxx
@@ -1,3 +1,6 @@
+//
+// Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+//
 //        
 //                  Author: Nils Krumnack
 // Distributed under the Boost Software License, Version 1.0.
diff --git a/Control/AthToolSupport/AsgTools/test/gt_TProperty.cxx b/Control/AthToolSupport/AsgTools/test/gt_TProperty.cxx
index 56d9b269e8da..6bfedb771259 100644
--- a/Control/AthToolSupport/AsgTools/test/gt_TProperty.cxx
+++ b/Control/AthToolSupport/AsgTools/test/gt_TProperty.cxx
@@ -1,3 +1,6 @@
+//
+// Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+//
 //        
 //                  Author: Nils Krumnack
 // Distributed under the Boost Software License, Version 1.0.
diff --git a/Control/AthToolSupport/AsgTools/test/gt_UnitTest_test.cxx b/Control/AthToolSupport/AsgTools/test/gt_UnitTest_test.cxx
index ff92d2cc24ed..fde3a3215128 100644
--- a/Control/AthToolSupport/AsgTools/test/gt_UnitTest_test.cxx
+++ b/Control/AthToolSupport/AsgTools/test/gt_UnitTest_test.cxx
@@ -1,3 +1,6 @@
+//
+// Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+//
 //        
 //                  Author: Nils Krumnack
 // Distributed under the Boost Software License, Version 1.0.
-- 
GitLab


From 85ee17a92028a56cf00d8eeb244d2ffd8dbe7cb9 Mon Sep 17 00:00:00 2001
From: Miha Muskinja <miha.muskinja@cern.ch>
Date: Mon, 28 Jan 2019 09:20:53 +0000
Subject: [PATCH 161/192] Do not set default values in initialize in
 GeantFollowerMSHelper.cxx because they are already set in BeginEvent.

---
 .../src/GeantFollowerMSHelper.cxx             | 33 -------------------
 1 file changed, 33 deletions(-)

diff --git a/Tracking/TrkG4Components/TrkG4UserActions/src/GeantFollowerMSHelper.cxx b/Tracking/TrkG4Components/TrkG4UserActions/src/GeantFollowerMSHelper.cxx
index b40b928634e7..a41d6cd10877 100644
--- a/Tracking/TrkG4Components/TrkG4UserActions/src/GeantFollowerMSHelper.cxx
+++ b/Tracking/TrkG4Components/TrkG4UserActions/src/GeantFollowerMSHelper.cxx
@@ -161,39 +161,6 @@ StatusCode Trk::GeantFollowerMSHelper::initialize()
    m_validationTree->Branch("TrkStepScatSigTheta", m_treeData->m_trk_ssigTheta, "trkscatSigTheta[trkscats]/F");
    m_validationTree->Branch("TrkStepScatSigPhi", m_treeData->m_trk_ssigPhi, "trkscatSigPhi[trkscats]/F");
 
-   // initialize
-   //
-   m_treeData->m_t_x        = 0.;    
-   m_treeData->m_t_y        = 0.; 
-   m_treeData->m_t_z        = 0.; 
-   m_treeData->m_t_theta    = 0.; 
-   m_treeData->m_t_eta      = 0.; 
-   m_treeData->m_t_phi      = 0.; 
-   m_treeData->m_t_p        = 0.; 
-   m_treeData->m_t_charge   = 0.; 
-   m_treeData->m_t_pdg      = 0;         
-   m_treeData->m_g4_steps   = -1;
-
-   m_treeData->m_m_x        = 0.;
-   m_treeData->m_m_y        = 0.;
-   m_treeData->m_m_z        = 0.;
-   m_treeData->m_m_theta    = 0.;
-   m_treeData->m_m_eta      = 0.;
-   m_treeData->m_m_phi      = 0.;
-   m_treeData->m_m_p        = 0.;
-
-   m_treeData->m_b_x        = 0.;
-   m_treeData->m_b_y        = 0.;
-   m_treeData->m_b_z        = 0.;
-   m_treeData->m_b_theta    = 0.;
-   m_treeData->m_b_eta      = 0.;
-   m_treeData->m_b_phi      = 0.;
-   m_treeData->m_b_p        = 0.;
-   m_treeData->m_b_X0       = 0.;
-   m_treeData->m_b_Eloss    = 0.;
-
-   m_treeData->m_trk_scats  = 0;
-   
    m_crossedMuonEntry = false;
    m_exitLayer = false;   
    // now register the Tree
-- 
GitLab


From 761975a95775bd67588ed5cd7de3f317cf9dd569 Mon Sep 17 00:00:00 2001
From: Miha Muskinja <miha.muskinja@cern.ch>
Date: Mon, 28 Jan 2019 09:24:44 +0000
Subject: [PATCH 162/192] Fixed year in copy right header.

---
 Simulation/G4Utilities/G4UserActions/src/G4LooperThresholdSet.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Simulation/G4Utilities/G4UserActions/src/G4LooperThresholdSet.h b/Simulation/G4Utilities/G4UserActions/src/G4LooperThresholdSet.h
index 6730902cf789..33939dca5563 100644
--- a/Simulation/G4Utilities/G4UserActions/src/G4LooperThresholdSet.h
+++ b/Simulation/G4Utilities/G4UserActions/src/G4LooperThresholdSet.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef G4UserActions_LooperThresholdSet_H
-- 
GitLab


From e5989d34fc634d1836f67ad8369b99f9a402a301 Mon Sep 17 00:00:00 2001
From: John Chapman <jchapman@cern.ch>
Date: Fri, 11 Jan 2019 15:15:34 +0100
Subject: [PATCH 163/192] Migrate TRT_Digitization code to use IAtRNGSvc

Additionally create all `CLHEP::HepRandomEngine` instances in `TRTDigitizationTool` and propagate them to
the other classes in the package.

This design isn't the nicest, but it makes it clear what is going on. Potentially
the number of `CLHEP::HepRandomEngine` instances can be reduced in the future.

Also drop random number service configuration from `CfgGetter` methods in `TRT_DigitizationConfig.py`.

Increment `overlay-d1498-22.0` reference file to v2 in `RunTier0TestsTools.py`.
---
 .../python/TRT_DigitizationConfig.py          | 18 ----
 .../TRT_Digitization/src/TRTDigCondBase.cxx   |  4 +-
 .../TRT_Digitization/src/TRTDigCondBase.h     |  5 +-
 .../src/TRTDigCondFakeMap.cxx                 | 11 +--
 .../TRT_Digitization/src/TRTDigCondFakeMap.h  | 12 +--
 .../src/TRTDigitizationTool.cxx               | 98 +++++++++++--------
 .../src/TRTDigitizationTool.h                 | 22 +++--
 .../src/TRTElectronicsNoise.cxx               | 29 +++---
 .../src/TRTElectronicsNoise.h                 | 15 ++-
 .../src/TRTElectronicsProcessing.cxx          | 12 +--
 .../src/TRTElectronicsProcessing.h            |  5 +-
 .../TRT_Digitization/src/TRTNoise.cxx         | 48 +++++----
 .../TRT_Digitization/src/TRTNoise.h           | 19 +++-
 .../src/TRTProcessingOfStraw.cxx              | 46 ++++-----
 .../src/TRTProcessingOfStraw.h                | 17 ++--
 Tools/PROCTools/python/RunTier0TestsTools.py  |  2 +-
 16 files changed, 193 insertions(+), 170 deletions(-)

diff --git a/InnerDetector/InDetDigitization/TRT_Digitization/python/TRT_DigitizationConfig.py b/InnerDetector/InDetDigitization/TRT_Digitization/python/TRT_DigitizationConfig.py
index d03a56cd9263..7ce6272e8944 100644
--- a/InnerDetector/InDetDigitization/TRT_Digitization/python/TRT_DigitizationConfig.py
+++ b/InnerDetector/InDetDigitization/TRT_Digitization/python/TRT_DigitizationConfig.py
@@ -49,24 +49,6 @@ def BasicTRTDigitizationTool(name, **kwargs):
        kwargs.setdefault("Override_jitterTimeOffset", 0.)
        kwargs.setdefault("Override_timeCorrection", 0)
 
-    #choose random number service
-    kwargs.setdefault("RndmSvc", digitizationFlags.rndmSvc() )
-    if not digitizationFlags.rndmSeedList.checkForExistingSeed("TRT_DigitizationTool"):
-        digitizationFlags.rndmSeedList.addSeed( "TRT_DigitizationTool", 123456, 345123 )
-    if not digitizationFlags.rndmSeedList.checkForExistingSeed("TRT_ElectronicsNoise"):
-        digitizationFlags.rndmSeedList.addSeed( "TRT_ElectronicsNoise", 123, 345 )
-    if not digitizationFlags.rndmSeedList.checkForExistingSeed("TRT_Noise"):
-        digitizationFlags.rndmSeedList.addSeed( "TRT_Noise", 1234, 3456 )
-    if not digitizationFlags.rndmSeedList.checkForExistingSeed("TRT_ThresholdFluctuations"):
-        digitizationFlags.rndmSeedList.addSeed( "TRT_ThresholdFluctuations", 12345, 34567 )
-    if not digitizationFlags.rndmSeedList.checkForExistingSeed("TRT_ProcessStraw"):
-        digitizationFlags.rndmSeedList.addSeed( "TRT_ProcessStraw", 123456, 345678 )
-    if not digitizationFlags.rndmSeedList.checkForExistingSeed("TRT_PAI"):
-        digitizationFlags.rndmSeedList.addSeed( "TRT_PAI", 12345678, 34567890 )
-    if not digitizationFlags.rndmSeedList.checkForExistingSeed("TRT_FakeConditions"):
-        digitizationFlags.rndmSeedList.addSeed( "TRT_FakeConditions", 123456789, 345678901 )
-    #This last one should, however, never be changed (unless you want a different layout of noisy channels etc.):
-
     if digitizationFlags.doXingByXingPileUp():
         kwargs.setdefault("FirstXing", TRT_FirstXing())
         kwargs.setdefault("LastXing",  TRT_LastXing())
diff --git a/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTDigCondBase.cxx b/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTDigCondBase.cxx
index 8d999c867eb2..51450fbb17d7 100644
--- a/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTDigCondBase.cxx
+++ b/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTDigCondBase.cxx
@@ -61,7 +61,7 @@ float TRTDigCondBase::strawAverageNoiseLevel() const {
 }
 
 //________________________________________________________________________________
-void TRTDigCondBase::initialize() {
+void TRTDigCondBase::initialize(CLHEP::HepRandomEngine* rndmEngine) {
 
   ATH_MSG_INFO ( "TRTDigCondBase::initialize()" );
 
@@ -109,7 +109,7 @@ void TRTDigCondBase::initialize() {
 
       //Get info about the straw conditions, then create and fill the strawstate
       double noiselevel, relative_noiseamplitude;
-      setStrawStateInfo( strawId, strawLength, noiselevel, relative_noiseamplitude );
+      setStrawStateInfo( strawId, strawLength, noiselevel, relative_noiseamplitude, rndmEngine );
       StrawState strawstate;
       strawstate.noiselevel = noiselevel; // same for all gas types
       strawstate.lowthreshold = ( !(hitid & 0x00200000) ) ? m_settings->lowThresholdBar(strawGasType) : m_settings->lowThresholdEC(strawGasType);
diff --git a/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTDigCondBase.h b/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTDigCondBase.h
index 29f0d1cede3d..d746613151d2 100644
--- a/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTDigCondBase.h
+++ b/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTDigCondBase.h
@@ -42,7 +42,7 @@ public:
   /**
    * @note Must be called exactly once before the class is used for anything.
    */
-  void initialize();
+  void initialize(CLHEP::HepRandomEngine* rndmEngine);
 
   /** Get average noise level in straw */
   float strawAverageNoiseLevel() const;         //[first time slow, else fast]
@@ -138,7 +138,8 @@ public:
   virtual void setStrawStateInfo(Identifier& TRT_Identifier,
 				  const double& strawlength,
 				  double& noiselevel,
-				  double& relative_noiseamplitude ) = 0;
+                                 double& relative_noiseamplitude,
+                                 CLHEP::HepRandomEngine *rndmEngine) = 0;
 
 protected:
   const TRTDigSettings* m_settings;
diff --git a/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTDigCondFakeMap.cxx b/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTDigCondFakeMap.cxx
index c2b87336b0b6..d6b974e34509 100644
--- a/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTDigCondFakeMap.cxx
+++ b/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTDigCondFakeMap.cxx
@@ -8,7 +8,7 @@
 // For the Athena-based random numbers.
 #include "CLHEP/Random/RandFlat.h"
 #include "CLHEP/Random/RandGaussZiggurat.h"
-#include "AthenaKernel/IAtRndmGenSvc.h"
+#include "CLHEP/Random/RandomEngine.h"
 
 // Units
 #include "CLHEP/Units/SystemOfUnits.h"
@@ -22,7 +22,6 @@
 //________________________________________________________________________________
 TRTDigCondFakeMap::TRTDigCondFakeMap( const TRTDigSettings* digset,
 				      const InDetDD::TRT_DetectorManager* detmgr,
-				      ServiceHandle <IAtRndmGenSvc> atRndmGenSvc,
 				      const TRT_ID* trt_id,
 				      int UseGasMix,
 				      ServiceHandle<ITRT_StrawStatusSummarySvc> sumSvc
@@ -30,7 +29,6 @@ TRTDigCondFakeMap::TRTDigCondFakeMap( const TRTDigSettings* digset,
   : TRTDigCondBase(digset, detmgr, trt_id, UseGasMix, sumSvc)
 {
   m_average_noiselevel = m_settings->averageNoiseLevel();
-  m_pHRengine = atRndmGenSvc->GetEngine("TRT_FakeConditions");
 }
 
 
@@ -38,13 +36,14 @@ TRTDigCondFakeMap::TRTDigCondFakeMap( const TRTDigSettings* digset,
 void TRTDigCondFakeMap::setStrawStateInfo(Identifier& TRT_Identifier,
                                           const double& strawlength,
 					  double& noiselevel,
-					  double& relative_noiseamplitude ) {
+					  double& relative_noiseamplitude,
+                                          CLHEP::HepRandomEngine* rndmEngine) {
 
   noiselevel = m_average_noiselevel; // Not used here, but returned to caller
 
   // 5% relative fluctuation is hard-coded here
-  double                       relnoiseamp = CLHEP::RandGaussZiggurat::shoot(m_pHRengine, 1.00, 0.05 );
-  while (relnoiseamp < 0.10) { relnoiseamp = CLHEP::RandGaussZiggurat::shoot(m_pHRengine, 1.00, 0.05 ); }
+  double                       relnoiseamp = CLHEP::RandGaussZiggurat::shoot(rndmEngine, 1.00, 0.05 );
+  while (relnoiseamp < 0.10) { relnoiseamp = CLHEP::RandGaussZiggurat::shoot(rndmEngine, 1.00, 0.05 ); }
 
   // Anatoli says we need to scale the noise amplitude of Kr,Ar according to LT_(Kr,Ar)/LT_Xe
   int strawGasType = StrawGasType(TRT_Identifier);
diff --git a/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTDigCondFakeMap.h b/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTDigCondFakeMap.h
index 0d19bb7764a9..8495a5dc26fb 100644
--- a/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTDigCondFakeMap.h
+++ b/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTDigCondFakeMap.h
@@ -7,8 +7,6 @@
 
 #include "TRTDigCondBase.h"
 #include "CLHEP/Random/RandomEngine.h"
-#include "GaudiKernel/ServiceHandle.h"
-class IAtRndmGenSvc;
 
 /**
  * "Fake" straw map until "real" map is known.
@@ -19,7 +17,6 @@ public:
   /** Constructor */
   TRTDigCondFakeMap( const TRTDigSettings*,
 		     const InDetDD::TRT_DetectorManager*,
-		     ServiceHandle <IAtRndmGenSvc> atRndmGenSvc,
 		     const TRT_ID* trt_id,
 		     int UseGasMix,
 		     ServiceHandle<ITRT_StrawStatusSummarySvc> sumSvc
@@ -28,14 +25,13 @@ public:
 protected:
 
   void setStrawStateInfo(Identifier& TRT_Identifier,
-			  const double& strawlength,
-			  double& noiselevel,
-			  double& relative_noiseamplitude );
+                         const double& strawlength,
+                         double& noiselevel,
+                         double& relative_noiseamplitude,
+                         CLHEP::HepRandomEngine *rndmEngine);
 
 private:
 
-  CLHEP::HepRandomEngine* m_pHRengine;
-
   float m_average_noiselevel; /**< Average noise level     */
 
 };
diff --git a/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTDigitizationTool.cxx b/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTDigitizationTool.cxx
index 98ddbd57957d..333f274f7f91 100644
--- a/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTDigitizationTool.cxx
+++ b/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTDigitizationTool.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -39,10 +39,6 @@
 #include "InDetRawData/TRT_LoLumRawData.h"
 #include "InDetRawData/TRT_RDO_Collection.h"
 
-// Other includes
-#include "PileUpTools/PileUpMergeSvc.h"
-#include "AthenaKernel/IAtRndmGenSvc.h"
-
 // particle table
 #include "HepPDT/ParticleDataTable.hh"
 #include "GaudiKernel/IPartPropSvc.h"
@@ -63,6 +59,9 @@
 static constexpr unsigned int crazyParticleBarcode(std::numeric_limits<int32_t>::max());
 //Barcodes at the HepMC level are int
 
+// Random Number Generation
+#include "AthenaKernel/RNGWrapper.h"
+#include "CLHEP/Random/RandomEngine.h"
 #include "CLHEP/Random/RandGaussZiggurat.h"
 
 //#include "driftCircle.h" // local copy for debugging and development
@@ -81,7 +80,6 @@ TRTDigitizationTool::TRTDigitizationTool(const std::string& type,
     m_pProcessingOfStraw(NULL),
     m_pDigConditions(NULL),
     m_pNoise(NULL),
-    m_atRndmGenSvc ("AtDSFMTGenSvc", name),
     m_TRTStrawNeighbourSvc("TRT_StrawNeighbourSvc",name),
     m_manager(NULL),
     m_trt_id(NULL),
@@ -115,7 +113,6 @@ TRTDigitizationTool::TRTDigitizationTool(const std::string& type,
   declareProperty("PrintDigSettings", m_printUsedDigSettings = true, "Print ditigization settings" );
   m_settings = new TRTDigSettings();
   m_settings->addPropertiesForOverrideableParameters(static_cast<AlgTool*>(this));
-  declareProperty("RndmSvc",                       m_atRndmGenSvc, "Random Number Service used in TRT digitization" );
   declareProperty("TRT_StrawNeighbourSvc",         m_TRTStrawNeighbourSvc);
   declareProperty("InDetTRTStrawStatusSummarySvc", m_sumSvc);
   declareProperty("UseGasMix",                     m_UseGasMix);
@@ -198,12 +195,7 @@ StatusCode TRTDigitizationTool::initialize()
   ATH_CHECK(m_outputSDOCollName.initialize());
 
   // Get Random Service
-  if (!m_atRndmGenSvc.retrieve().isSuccess()) {
-    ATH_MSG_FATAL ( "Could not initialize Random Number Service." );
-    return StatusCode::FAILURE;
-  }
-
-  m_pHRengine = m_atRndmGenSvc->GetEngine("TRT_DigitizationTool"); // For cosmic event phase
+  ATH_CHECK(m_rndmSvc.retrieve());
 
   // Get the Particle Properties Service
   IPartPropSvc* p_PartPropSvc = 0;
@@ -321,7 +313,10 @@ StatusCode TRTDigitizationTool::processBunchXing(int bunchXing,
 }
 
 //_____________________________________________________________________________
-StatusCode TRTDigitizationTool::lateInitialize() {
+StatusCode TRTDigitizationTool::lateInitialize(CLHEP::HepRandomEngine* noiseRndmEngine,
+                                               CLHEP::HepRandomEngine* elecNoiseRndmEngine,
+                                               CLHEP::HepRandomEngine* elecProcRndmEngine,
+                                               CLHEP::HepRandomEngine* fakeCondRndmEngine) {
 
   m_first_event=false;
 
@@ -342,20 +337,19 @@ StatusCode TRTDigitizationTool::lateInitialize() {
 
   TRTElectronicsNoise *electronicsNoise(NULL);
   if ( m_settings->noiseInUnhitStraws() || m_settings->noiseInSimhits() ) {
-    electronicsNoise = new TRTElectronicsNoise(m_settings, m_atRndmGenSvc);
+    electronicsNoise = new TRTElectronicsNoise(m_settings, elecNoiseRndmEngine);
   }
   // ElectronicsProcessing is needed for the regular straw processing,
   // but also for the noise (it assumes ownership of electronicsnoise )
-  m_pElectronicsProcessing = new TRTElectronicsProcessing( m_settings, m_atRndmGenSvc, electronicsNoise );
+  m_pElectronicsProcessing = new TRTElectronicsProcessing( m_settings, electronicsNoise );
 
   m_pDigConditions = new TRTDigCondFakeMap(m_settings,
 					   m_manager,
-					   m_atRndmGenSvc,
 					   m_trt_id,
 					   m_UseGasMix,
 					   m_sumSvc);
 
-  m_pDigConditions->initialize();
+  m_pDigConditions->initialize(fakeCondRndmEngine);
 
   if ( m_settings->noiseInUnhitStraws() || m_settings->noiseInSimhits() ) {
 
@@ -366,7 +360,9 @@ StatusCode TRTDigitizationTool::lateInitialize() {
     //        straw noise-frequencies:
     m_pNoise = new TRTNoise( m_settings,
 			     m_manager,
-			     m_atRndmGenSvc,
+			     noiseRndmEngine,
+                             elecNoiseRndmEngine,
+                             elecProcRndmEngine,
 			     m_pDigConditions,
 			     m_pElectronicsProcessing,
 			     electronicsNoise,
@@ -391,7 +387,6 @@ StatusCode TRTDigitizationTool::lateInitialize() {
 			      m_manager,
 			      TRTpaiToolXe,
 			      pTRTsimdrifttimetool,
-			      m_atRndmGenSvc,
 			      m_pElectronicsProcessing,
 			      m_pNoise,
 			      m_pDigConditions,
@@ -406,7 +401,11 @@ StatusCode TRTDigitizationTool::lateInitialize() {
 }
 
 //_____________________________________________________________________________
-StatusCode TRTDigitizationTool::processStraws(std::set<int>& sim_hitids, std::set<Identifier>& simhitsIdentifiers) {
+StatusCode TRTDigitizationTool::processStraws(std::set<int>& sim_hitids, std::set<Identifier>& simhitsIdentifiers,
+                                              CLHEP::HepRandomEngine *rndmEngine,
+                                              CLHEP::HepRandomEngine *strawRndmEngine,
+                                              CLHEP::HepRandomEngine *elecProcRndmEngine,
+                                              CLHEP::HepRandomEngine *elecNoiseRndmEngine) {
 
   // Create a map for the SDO
   SG::WriteHandle<InDetSimDataCollection> simDataMap(m_outputSDOCollName);
@@ -423,7 +422,7 @@ StatusCode TRTDigitizationTool::processStraws(std::set<int>& sim_hitids, std::se
 
   m_cosmicEventPhase = 0.0;
   if (m_settings->doCosmicTimingPit()) {
-    m_cosmicEventPhase = getCosmicEventPhase();
+    m_cosmicEventPhase = getCosmicEventPhase(rndmEngine);
   };
 
   // Create  a vector of deposits
@@ -508,7 +507,10 @@ StatusCode TRTDigitizationTool::processStraws(std::set<int>& sim_hitids, std::se
                                        m_cosmicEventPhase, //m_ComTime,
                                        StrawGasType(idStraw),
 				       emulateArFlag,
-				       emulateKrFlag);
+				       emulateKrFlag,
+                                       strawRndmEngine,
+                                       elecProcRndmEngine,
+                                       elecNoiseRndmEngine);
 
     // Print out the digits etc (for debugging)
     //int          mstrw = digit_straw.GetStrawID();
@@ -531,8 +533,16 @@ StatusCode TRTDigitizationTool::processStraws(std::set<int>& sim_hitids, std::se
 //_____________________________________________________________________________
 StatusCode TRTDigitizationTool::processAllSubEvents() {
 
+  // Set the RNGs to use for this event.
+  CLHEP::HepRandomEngine *rndmEngine = getRandomEngine("");
+  CLHEP::HepRandomEngine *fakeCondRndmEngine = getRandomEngine("TRT_FakeConditions");
+  CLHEP::HepRandomEngine *elecNoiseRndmEngine = getRandomEngine("TRT_ElectronicsNoise");
+  CLHEP::HepRandomEngine *noiseRndmEngine = getRandomEngine("TRT_Noise");
+  CLHEP::HepRandomEngine *strawRndmEngine = getRandomEngine("TRT_ProcessStraw");
+  CLHEP::HepRandomEngine *elecProcRndmEngine = getRandomEngine("TRT_ThresholdFluctuations");
+
   if (m_first_event) {
-    if(this->lateInitialize().isFailure()) {
+    if(this->lateInitialize(noiseRndmEngine,elecNoiseRndmEngine,elecProcRndmEngine,fakeCondRndmEngine).isFailure()) {
       ATH_MSG_FATAL ( "lateInitialize method failed!" );
       return StatusCode::FAILURE;
     }
@@ -593,10 +603,7 @@ StatusCode TRTDigitizationTool::processAllSubEvents() {
   m_thpctrt = &thpctrt;
 
   // Process the Hits straw by straw: get the iterator pairs for given straw
-  if(this->processStraws(sim_hitids, simhitsIdentifiers).isFailure()) {
-    ATH_MSG_FATAL ( "processStraws method failed!" );
-    return StatusCode::FAILURE;
-  }
+  ATH_CHECK(this->processStraws(sim_hitids, simhitsIdentifiers, rndmEngine, strawRndmEngine, elecProcRndmEngine, elecNoiseRndmEngine));
 
   // no more hits
 
@@ -604,9 +611,9 @@ StatusCode TRTDigitizationTool::processAllSubEvents() {
   if (m_settings->noiseInUnhitStraws()) {
     const int numberOfDigitsBeforeNoise(m_vDigits.size());
 
-    m_pNoise->appendPureNoiseToProperDigits(m_vDigits, sim_hitids);
+    m_pNoise->appendPureNoiseToProperDigits(m_vDigits, sim_hitids, noiseRndmEngine);
     if (m_settings->doCrosstalk()) {
-      m_pNoise->appendCrossTalkNoiseToProperDigits(m_vDigits, simhitsIdentifiers,m_TRTStrawNeighbourSvc);
+      m_pNoise->appendCrossTalkNoiseToProperDigits(m_vDigits, simhitsIdentifiers,m_TRTStrawNeighbourSvc, noiseRndmEngine);
     }
 
     ATH_MSG_DEBUG ( " Number of digits " << m_vDigits.size() << " (" << m_vDigits.size()-numberOfDigitsBeforeNoise << " of those are pure noise)" );
@@ -631,6 +638,14 @@ StatusCode TRTDigitizationTool::processAllSubEvents() {
   return StatusCode::SUCCESS;
 }
 
+CLHEP::HepRandomEngine* TRTDigitizationTool::getRandomEngine(const std::string& streamName) const
+{
+  ATHRNG::RNGWrapper* rngWrapper = m_rndmSvc->getEngine(this, streamName);
+  std::string rngName = name()+streamName;
+  rngWrapper->setSeed( rngName, Gaudi::Hive::currentContext() );
+  return *rngWrapper;
+}
+
 //_____________________________________________________________________________
 StatusCode TRTDigitizationTool::mergeEvent() {
   std::vector<std::pair<unsigned int, int> >::iterator ii(m_seen.begin());
@@ -640,8 +655,16 @@ StatusCode TRTDigitizationTool::mergeEvent() {
     ++ii;
   }
 
+  // Set the RNGs to use for this event.
+  CLHEP::HepRandomEngine *rndmEngine = getRandomEngine("");
+  CLHEP::HepRandomEngine *fakeCondRndmEngine = getRandomEngine("TRT_FakeConditions");
+  CLHEP::HepRandomEngine *elecNoiseRndmEngine = getRandomEngine("TRT_ElectronicsNoise");
+  CLHEP::HepRandomEngine *noiseRndmEngine = getRandomEngine("TRT_Noise");
+  CLHEP::HepRandomEngine *strawRndmEngine = getRandomEngine("TRT_ProcessStraw");
+  CLHEP::HepRandomEngine *elecProcRndmEngine = getRandomEngine("TRT_ThresholdFluctuations");
+
   if (m_first_event) {
-    if(this->lateInitialize().isFailure()) {
+    if(this->lateInitialize(noiseRndmEngine,elecNoiseRndmEngine,elecProcRndmEngine,fakeCondRndmEngine).isFailure()) {
       ATH_MSG_FATAL ( "lateInitialize method failed!" );
       return StatusCode::FAILURE;
     }
@@ -667,10 +690,7 @@ StatusCode TRTDigitizationTool::mergeEvent() {
 
   // Process the Hits straw by straw:
   //   get the iterator pairs for given straw
-  if(this->processStraws(sim_hitids, simhitsIdentifiers).isFailure()) {
-    ATH_MSG_FATAL ( "processStraws method failed!" );
-    return StatusCode::FAILURE;
-  }
+  ATH_CHECK(this->processStraws(sim_hitids, simhitsIdentifiers, rndmEngine, strawRndmEngine, elecProcRndmEngine, elecNoiseRndmEngine));
 
   delete m_thpctrt;
   std::list<TRTUncompressedHitCollection*>::iterator trtHitColl(m_trtHitCollList.begin());
@@ -687,9 +707,9 @@ StatusCode TRTDigitizationTool::mergeEvent() {
   if (m_settings->noiseInUnhitStraws()) {
     const unsigned int numberOfDigitsBeforeNoise(m_vDigits.size());
 
-    m_pNoise->appendPureNoiseToProperDigits(m_vDigits, sim_hitids);
+    m_pNoise->appendPureNoiseToProperDigits(m_vDigits, sim_hitids, noiseRndmEngine);
     if (m_settings->doCrosstalk()) {
-      m_pNoise->appendCrossTalkNoiseToProperDigits(m_vDigits, simhitsIdentifiers,m_TRTStrawNeighbourSvc);
+      m_pNoise->appendCrossTalkNoiseToProperDigits(m_vDigits, simhitsIdentifiers,m_TRTStrawNeighbourSvc, noiseRndmEngine);
     }
 
     ATH_MSG_DEBUG ( " Number of digits " << m_vDigits.size() << " (" << m_vDigits.size()-numberOfDigitsBeforeNoise << " of those are pure noise)" );
@@ -978,9 +998,9 @@ unsigned int TRTDigitizationTool::getRegion(int hitID) {
 
 }
 
-double TRTDigitizationTool::getCosmicEventPhase() {
+double TRTDigitizationTool::getCosmicEventPhase(CLHEP::HepRandomEngine *rndmEngine) {
   // 13th February 2015: replace ComTime with a hack (fixme) based on an
   // event phase distribution from Alex (alejandro.alonso@cern.ch) that
   // is modelled as a Guassian of mean 5.48 ns and sigma 8.91 ns.
-  return CLHEP::RandGaussZiggurat::shoot(m_pHRengine, 5.48, 8.91);
+  return CLHEP::RandGaussZiggurat::shoot(rndmEngine, 5.48, 8.91);
 }
diff --git a/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTDigitizationTool.h b/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTDigitizationTool.h
index 9297d7656014..9d82a2936f2e 100644
--- a/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTDigitizationTool.h
+++ b/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTDigitizationTool.h
@@ -12,6 +12,8 @@
 
 #include "xAODEventInfo/EventInfo.h"  /*SubEvent*/
 #include "PileUpTools/PileUpToolBase.h"
+#include "AthenaKernel/IAthRNGSvc.h"
+#include "PileUpTools/PileUpMergeSvc.h"
 #include "TRTDigit.h"
 #include "GaudiKernel/ServiceHandle.h"
 #include "GaudiKernel/ToolHandle.h"
@@ -25,10 +27,8 @@
 #include <set>
 #include <utility> /* pair */
 
-class PileUpMergeSvc;
 class ITRT_PAITool;
 class ITRT_SimDriftTimeTool;
-class IAtRndmGenSvc;
 class TRT_ID;
 class TRTProcessingOfStraw;
 class TRTElectronicsProcessing;
@@ -94,8 +94,7 @@ public:
   StatusCode finalize();
 
 private:
-
-  CLHEP::HepRandomEngine * m_pHRengine;
+  CLHEP::HepRandomEngine* getRandomEngine(const std::string& streamName) const;
 
   Identifier getIdentifier( int hitID,
 			    IdentifierHash& hashId,
@@ -105,15 +104,22 @@ private:
   StatusCode update( IOVSVC_CALLBACK_ARGS );        // Update of database entries.
   StatusCode ConditionsDependingInitialization();
 
-  StatusCode lateInitialize();
-  StatusCode processStraws(std::set<int>& sim_hitids, std::set<Identifier>& simhitsIdentifiers);
+  StatusCode lateInitialize(CLHEP::HepRandomEngine *noiseRndmEngine,
+                            CLHEP::HepRandomEngine *elecNoiseRndmEngine,
+                            CLHEP::HepRandomEngine *elecProcRndmEngine,
+                            CLHEP::HepRandomEngine *fakeCondRndmEngine);
+  StatusCode processStraws(std::set<int>& sim_hitids, std::set<Identifier>& simhitsIdentifiers,
+                           CLHEP::HepRandomEngine *rndmEngine,
+                           CLHEP::HepRandomEngine *strawRndmEngine,
+                           CLHEP::HepRandomEngine *elecProcRndmEngine,
+                           CLHEP::HepRandomEngine *elecNoiseRndmEngine);
   StatusCode createAndStoreRDOs();
 
   // The straw's gas mix: 1=Xe, 2=Kr, 3=Ar
   int StrawGasType(Identifier& TRT_Identifier) const;
 
   unsigned int getRegion(int hitID);
-  double getCosmicEventPhase();
+  double getCosmicEventPhase(CLHEP::HepRandomEngine *rndmEngine);
 
   std::vector<std::pair<unsigned int, int> > m_seen;
   std::vector<TRTDigit> m_vDigits; /**< Vector of all digits */
@@ -136,7 +142,7 @@ private:
   TRTNoise* m_pNoise;
 
   //unsigned int m_timer_eventcount;
-  ServiceHandle <IAtRndmGenSvc> m_atRndmGenSvc;  /**< Random number service */
+  ServiceHandle<IAthRNGSvc> m_rndmSvc{this, "RndmSvc", "AthRNGSvc", ""};  //!< Random number service
   ServiceHandle<ITRT_StrawNeighbourSvc> m_TRTStrawNeighbourSvc;
 
   const InDetDD::TRT_DetectorManager* m_manager;
diff --git a/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTElectronicsNoise.cxx b/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTElectronicsNoise.cxx
index f46502834fed..4864549b4149 100644
--- a/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTElectronicsNoise.cxx
+++ b/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTElectronicsNoise.cxx
@@ -9,7 +9,7 @@
 // For the Athena-based random numbers.
 #include "CLHEP/Random/RandFlat.h"
 #include "CLHEP/Random/RandGaussZiggurat.h"
-#include "AthenaKernel/IAtRndmGenSvc.h"
+#include "CLHEP/Random/RandomEngine.h"
 
 #include "TRTDigSettings.h"
 
@@ -18,7 +18,7 @@
 
 //_____________________________________________________________________________
 TRTElectronicsNoise::TRTElectronicsNoise(const TRTDigSettings* digset,
-					 ServiceHandle <IAtRndmGenSvc> atRndmGenSvc )
+					 CLHEP::HepRandomEngine *elecNoiseRndmEngine )
   : m_settings(digset),
     m_msg("TRTElectronicsNoise")
 {
@@ -27,10 +27,9 @@ TRTElectronicsNoise::TRTElectronicsNoise(const TRTDigSettings* digset,
 
   //Need to initialize the signal shaping first as it is used in tabulateNoiseSignalShape()!
   this->InitializeNoiseShaping();
-  m_pHRengine = atRndmGenSvc->GetEngine("TRT_ElectronicsNoise");
   m_fractionOfSlowNoise = m_settings->slowPeriodicNoisePulseFraction();
   this->tabulateNoiseSignalShape();
-  this->reinitElectronicsNoise(200);
+  this->reinitElectronicsNoise(200, elecNoiseRndmEngine);
   const double slowPeriod(m_settings->slowPeriodicNoisePulseDistance());
 
   //Must be rounded to nearest multiple of binwidth... (fixme - from options)
@@ -46,7 +45,7 @@ TRTElectronicsNoise::~TRTElectronicsNoise(){}
 
 //_____________________________________________________________________________
 void TRTElectronicsNoise::getSamplesOfMaxLTOverNoiseAmp(std::vector<float>& maxLTOverNoiseAmp,
-							unsigned long nsamplings) {
+							unsigned long nsamplings, CLHEP::HepRandomEngine* rndmEngine) {
 
   // Note: The offset structure is not the same as in
   // addElectronicsNoise(), but that is OK, since it is not the exact
@@ -55,7 +54,7 @@ void TRTElectronicsNoise::getSamplesOfMaxLTOverNoiseAmp(std::vector<float>& maxL
 
   maxLTOverNoiseAmp.resize(nsamplings);
 
-  reinitElectronicsNoise(500);
+  reinitElectronicsNoise(500, rndmEngine);
   unsigned int index         = m_noiseSignalShape.size();
   unsigned int nbinsinperiod = m_settings->numberOfBins();
   unsigned int maxindex      = m_cachedFastNoiseAfterSignalShaping.size() - nbinsinperiod;
@@ -64,7 +63,7 @@ void TRTElectronicsNoise::getSamplesOfMaxLTOverNoiseAmp(std::vector<float>& maxL
     maxLTOverNoiseAmp[i] = getMax(index, index, nbinsinperiod );
     index += nbinsinperiod;
     if ( index  > maxindex ) {
-      reinitElectronicsNoise(500);
+      reinitElectronicsNoise(500, rndmEngine);
       index = m_noiseSignalShape.size();
     }
   }
@@ -93,7 +92,8 @@ double TRTElectronicsNoise::getMax(unsigned int firstbinslowsignal,
 }
 
 //_____________________________________________________________________________
-void TRTElectronicsNoise::reinitElectronicsNoise(const unsigned int& numberOfDigitLengths /*number of 75ns timeslices*/)
+void TRTElectronicsNoise::reinitElectronicsNoise(const unsigned int& numberOfDigitLengths /*number of 75ns timeslices*/,
+                                                 CLHEP::HepRandomEngine* rndmEngine)
 {
   //This method gives the actual physics shape!
   //Model parameters:
@@ -130,7 +130,7 @@ void TRTElectronicsNoise::reinitElectronicsNoise(const unsigned int& numberOfDig
   while ( true ) {
     binindex = static_cast<unsigned int>(timeOfNextPulse*invbinwidth);
     if (binindex >= nbins) break;
-    m_tmpArray[binindex] += CLHEP::RandGaussZiggurat::shoot(m_pHRengine, 0., 1.);
+    m_tmpArray[binindex] += CLHEP::RandGaussZiggurat::shoot(rndmEngine, 0., 1.);
     timeOfNextPulse += fastPeriod;
   };
 
@@ -155,7 +155,7 @@ void TRTElectronicsNoise::reinitElectronicsNoise(const unsigned int& numberOfDig
   while (true) {
     binindex = static_cast<unsigned int>(timeOfNextPulse*invbinwidth);
     if (binindex >= nbins) break;
-    m_tmpArray[binindex] += CLHEP::RandGaussZiggurat::shoot(m_pHRengine, 0., 1.);
+    m_tmpArray[binindex] += CLHEP::RandGaussZiggurat::shoot(rndmEngine, 0., 1.);
     timeOfNextPulse += slowPeriod;
   };
 
@@ -202,7 +202,8 @@ void TRTElectronicsNoise::tabulateNoiseSignalShape() {
 
 //_____________________________________________________________________________
 void TRTElectronicsNoise::addElectronicsNoise(std::vector<double>& signal,
-					      const double& noiseamplitude) {
+					      const double& noiseamplitude,
+                                              CLHEP::HepRandomEngine *rndmEngine) {
 
   // complain if uninitialized? (fixme)
 
@@ -223,10 +224,10 @@ void TRTElectronicsNoise::addElectronicsNoise(std::vector<double>& signal,
 
   //Find array offset for fast signal:
   const unsigned int nsignalbins(signal.size());
-  const unsigned int offset_fast(CLHEP::RandFlat::shootInt(m_pHRengine, m_cachedFastNoiseAfterSignalShaping.size()-nsignalbins));
+  const unsigned int offset_fast(CLHEP::RandFlat::shootInt(rndmEngine, m_cachedFastNoiseAfterSignalShaping.size()-nsignalbins));
 
   //Find array offset for slow periodic signal:
-  int offset_slowperiodic(CLHEP::RandFlat::shootInt(m_pHRengine,
+  int offset_slowperiodic(CLHEP::RandFlat::shootInt(rndmEngine,
                           m_cachedSlowNoiseAfterSignalShaping.size()
                           - nsignalbins-n_slowperiodic_shift
                           - slowperiodic_constshift));
@@ -234,7 +235,7 @@ void TRTElectronicsNoise::addElectronicsNoise(std::vector<double>& signal,
   offset_slowperiodic -= ( offset_slowperiodic % m_nbins_periodic );
   offset_slowperiodic -= slowperiodic_constshift;
 
-  const double rand(CLHEP::RandFlat::shoot(m_pHRengine, 0., 1.));
+  const double rand(CLHEP::RandFlat::shoot(rndmEngine, 0., 1.));
   for (unsigned int i(0); i < n_slowperiodic_shift; ++i) {
     if ( rand < slowperiodic_shift_prob_comul[i] ) {
       offset_slowperiodic -= i;
diff --git a/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTElectronicsNoise.h b/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTElectronicsNoise.h
index 9892b2fe58b6..2962909ed65c 100644
--- a/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTElectronicsNoise.h
+++ b/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTElectronicsNoise.h
@@ -6,11 +6,9 @@
 #define TRTELECTRONICSNOISE_H
 
 #include <vector>
-#include "GaudiKernel/ServiceHandle.h"
 
 #include "AthenaKernel/MsgStreamMember.h"
 
-class IAtRndmGenSvc;
 #include "CLHEP/Random/RandomEngine.h"
 class TRTDigSettings;
 
@@ -25,7 +23,7 @@ public:
    * Constructor: Calls tabulateNoiseSignalShape()
    */
   TRTElectronicsNoise( const TRTDigSettings*,
-		       ServiceHandle <IAtRndmGenSvc> atRndmGenSvc );
+		       CLHEP::HepRandomEngine *rndmEngine );
   /** Destructor */
   ~TRTElectronicsNoise();
 
@@ -43,7 +41,8 @@ public:
   bool msgLevel (MSG::Level lvl)    { return m_msg.get().level() <= lvl; }
 
   void getSamplesOfMaxLTOverNoiseAmp(std::vector<float>& maxLTOverNoiseAmp,
-				     unsigned long nsamplings);
+				     unsigned long nsamplings,
+                                     CLHEP::HepRandomEngine *rndmEngine);
 
   /**
    * Re-initialize electronics noise table.
@@ -62,7 +61,8 @@ public:
    *                              noise for
    */
   void reinitElectronicsNoise(const unsigned int& numberOfDigitLengths
-			      /*number of 75ns timeslices*/ );
+			      /*number of 75ns timeslices*/,
+                              CLHEP::HepRandomEngine *rndmEngine);
 
   /** Set electronics noise amplitude */
   void setElectronicsNoiseAmplitude(const double&);
@@ -76,14 +76,13 @@ public:
    * @param noiseamplitude: noise amplitude
    */
   void addElectronicsNoise(std::vector<double>& signal,
-			   const double& noiseamplitude /*= 1.0*/ );
+			   const double& noiseamplitude /*= 1.0*/,
+                           CLHEP::HepRandomEngine *rndmEngine);
 
 private:
 
   const TRTDigSettings* m_settings;
 
-  CLHEP::HepRandomEngine * m_pHRengine;
-
   /**
    * Tabulate noise signal shape. Extract signal shape from NoiseShape(time)
    * function and store in table.
diff --git a/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTElectronicsProcessing.cxx b/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTElectronicsProcessing.cxx
index 13ffce949798..70e8fee0b204 100644
--- a/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTElectronicsProcessing.cxx
+++ b/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTElectronicsProcessing.cxx
@@ -7,9 +7,9 @@
 #include "TRTElectronicsNoise.h"
 #include "TRTDigit.h"
 
-#include "AthenaKernel/IAtRndmGenSvc.h"
 #include "CLHEP/Random/RandGaussZiggurat.h"
 #include "CLHEP/Random/RandFlat.h"
+#include "CLHEP/Random/RandomEngine.h"
 
 #include "TRTDigSettings.h"
 
@@ -18,14 +18,12 @@
 
 //___________________________________________________________________________
 TRTElectronicsProcessing::TRTElectronicsProcessing( const TRTDigSettings* digset,
-						    ServiceHandle <IAtRndmGenSvc> atRndmGenSvc,
 						    TRTElectronicsNoise * electronicsnoise )
   : m_settings(digset),
     m_pElectronicsNoise(electronicsnoise),
     m_msg("TRTElectronicsProcessing")
 {
   if (msgLevel(MSG::VERBOSE)) msg(MSG::VERBOSE) <<"TRTElectronicsProcessing::Constructor begin" << endmsg;
-  m_pHRengine  = atRndmGenSvc->GetEngine("TRT_ThresholdFluctuations");
   Initialize();
   if (msgLevel(MSG::VERBOSE)) msg(MSG::VERBOSE) <<"TRTElectronicsProcessing::Constructor done" << endmsg;
 }
@@ -221,6 +219,8 @@ void TRTElectronicsProcessing::ProcessDeposits( const std::vector<TRTElectronics
 						double lowthreshold,
 						const double& noiseamplitude,
 						int strawGasType,
+                                                CLHEP::HepRandomEngine* rndmEngine,
+                                                CLHEP::HepRandomEngine* elecNoiseRndmEngine,
 						double highthreshold
 					      ) {
   ////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -245,11 +245,11 @@ void TRTElectronicsProcessing::ProcessDeposits( const std::vector<TRTElectronics
 
   const double low_threshold_fluctuation(m_settings->relativeLowThresholdFluctuation());
   if ( low_threshold_fluctuation > 0 ) {
-    lowthreshold = lowthreshold*CLHEP::RandGaussZiggurat::shoot(m_pHRengine, 1.0, low_threshold_fluctuation );
+    lowthreshold = lowthreshold*CLHEP::RandGaussZiggurat::shoot(rndmEngine, 1.0, low_threshold_fluctuation );
   }
   const double high_threshold_fluctuation(m_settings->relativeHighThresholdFluctuation());
   if ( high_threshold_fluctuation > 0 ) {
-    highthreshold = highthreshold*CLHEP::RandGaussZiggurat::shoot(m_pHRengine, 1.0, high_threshold_fluctuation );
+    highthreshold = highthreshold*CLHEP::RandGaussZiggurat::shoot(rndmEngine, 1.0, high_threshold_fluctuation );
   }
 
   //Null out arrays: m_totalNumberOfBins=160(125ns)
@@ -278,7 +278,7 @@ void TRTElectronicsProcessing::ProcessDeposits( const std::vector<TRTElectronics
   // Add noise; LT only
   // (though both LT and HT also get fluctuations elsewhere which gives similar effect to noise).
   if ( m_pElectronicsNoise && noiseamplitude>0 ) {
-    m_pElectronicsNoise->addElectronicsNoise(m_lowThresholdSignal,noiseamplitude); // LT signal only
+    m_pElectronicsNoise->addElectronicsNoise(m_lowThresholdSignal,noiseamplitude, elecNoiseRndmEngine); // LT signal only
   }
 
   // Discriminator response (in what fine time bins are the thresholds exceeded)
diff --git a/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTElectronicsProcessing.h b/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTElectronicsProcessing.h
index edea73cc39c2..d9cc5382db20 100644
--- a/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTElectronicsProcessing.h
+++ b/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTElectronicsProcessing.h
@@ -9,7 +9,6 @@
 
 class TRTDigit;
 class TRTElectronicsNoise;
-class IAtRndmGenSvc;
 #include "CLHEP/Random/RandomEngine.h"
 #include "GaudiKernel/ServiceHandle.h"
 #include "AthenaKernel/MsgStreamMember.h"
@@ -22,7 +21,6 @@ class TRTDigSettings;
 class TRTElectronicsProcessing {
 public:
   TRTElectronicsProcessing( const TRTDigSettings* digset,
-			    ServiceHandle <IAtRndmGenSvc> atRndmGenSvc,
 			    TRTElectronicsNoise * electronicsnoise );
   ~TRTElectronicsProcessing();
 
@@ -69,6 +67,8 @@ public:
 			double lowthreshold,
 			const double& noiseamplitude,
 			int strawGasType,
+                        CLHEP::HepRandomEngine* rndmEngine,
+                        CLHEP::HepRandomEngine* elecNoiseRndmEngine,
 			double highthreshold = -1.0
 		      );
 
@@ -129,7 +129,6 @@ private:
   const TRTDigSettings* m_settings;
 
   TRTElectronicsNoise * m_pElectronicsNoise;
-  CLHEP::HepRandomEngine * m_pHRengine;
 
   double m_timeInterval;       /**< Time interval covered by digit [75 ns] */
 
diff --git a/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTNoise.cxx b/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTNoise.cxx
index 2903ca5e000c..0d5c6d084de8 100644
--- a/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTNoise.cxx
+++ b/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTNoise.cxx
@@ -33,7 +33,9 @@ struct TRTDigitSorter {
 //_____________________________________________________________________________
 TRTNoise::TRTNoise( const TRTDigSettings* digset,
 		    const InDetDD::TRT_DetectorManager* detmgr,
-		    ServiceHandle <IAtRndmGenSvc> atRndmGenSvc,
+                    CLHEP::HepRandomEngine* noiseRndmEngine,
+                    CLHEP::HepRandomEngine* elecNoiseRndmEngine,
+                    CLHEP::HepRandomEngine* elecProcRndmEngine,
 		    TRTDigCondBase* digcond,
 		    TRTElectronicsProcessing * ep,
 		    TRTElectronicsNoise * electronicsnoise,
@@ -54,9 +56,8 @@ TRTNoise::TRTNoise( const TRTDigSettings* digset,
     m_sumSvc(sumSvc)
 {
   if (msgLevel(MSG::VERBOSE)) { msg(MSG::VERBOSE) << "TRTNoise::Constructor begin" << endmsg; }
-  m_noise_randengine = atRndmGenSvc->GetEngine("TRT_Noise");
-  InitThresholdsAndNoiseAmplitudes_and_ProduceNoiseDigitPool();
-  if ( m_settings->noiseInSimhits() ) m_pElectronicsNoise->reinitElectronicsNoise( 1000 );
+  InitThresholdsAndNoiseAmplitudes_and_ProduceNoiseDigitPool(noiseRndmEngine,elecNoiseRndmEngine,elecProcRndmEngine);
+  if ( m_settings->noiseInSimhits() ) m_pElectronicsNoise->reinitElectronicsNoise( 1000, elecNoiseRndmEngine );
   if (msgLevel(MSG::VERBOSE)) { msg(MSG::VERBOSE) << "Constructor done" << endmsg; }
 }
 
@@ -67,7 +68,9 @@ TRTNoise::~TRTNoise() {
 }
 
 //_____________________________________________________________________________
-void TRTNoise::InitThresholdsAndNoiseAmplitudes_and_ProduceNoiseDigitPool() {
+void TRTNoise::InitThresholdsAndNoiseAmplitudes_and_ProduceNoiseDigitPool(CLHEP::HepRandomEngine* noiseRndmEngine,
+                                                                          CLHEP::HepRandomEngine* elecNoiseRndmEngine,
+                                                                          CLHEP::HepRandomEngine* elecProcRndmEngine) {
 
   /////////////////////////////////////////////////////////////////////
   //Strategy:                                                        //
@@ -98,7 +101,7 @@ void TRTNoise::InitThresholdsAndNoiseAmplitudes_and_ProduceNoiseDigitPool() {
   ///////////////////////////////////////////////////////////////////
   // According to Anatoli, the noise shaping function is not very different for Argon and Xenon(and Krypton).
   std::vector<float> maxLTOverNoiseAmp;
-  m_pElectronicsNoise->getSamplesOfMaxLTOverNoiseAmp(maxLTOverNoiseAmp,10000);
+  m_pElectronicsNoise->getSamplesOfMaxLTOverNoiseAmp(maxLTOverNoiseAmp,10000,elecNoiseRndmEngine);
 
   std::stable_sort( maxLTOverNoiseAmp.begin(), maxLTOverNoiseAmp.end() );
   reverse(          maxLTOverNoiseAmp.begin(), maxLTOverNoiseAmp.end() );
@@ -259,7 +262,7 @@ void TRTNoise::InitThresholdsAndNoiseAmplitudes_and_ProduceNoiseDigitPool() {
   // Step 4 - Produce pool of pure noise digits                    //
   ///////////////////////////////////////////////////////////////////
   if ( m_settings->noiseInUnhitStraws() ) {
-    ProduceNoiseDigitPool( actual_LTs, actual_noiseamps, strawTypes );
+    ProduceNoiseDigitPool( actual_LTs, actual_noiseamps, strawTypes, noiseRndmEngine, elecNoiseRndmEngine, elecProcRndmEngine );
   }
   if (msgLevel(MSG::VERBOSE)) { msg(MSG::VERBOSE)
       << "TRTNoise::InitThresholdsAndNoiseAmplitudes_and_ProduceNoiseDigitPool Done" << endmsg;
@@ -270,7 +273,10 @@ void TRTNoise::InitThresholdsAndNoiseAmplitudes_and_ProduceNoiseDigitPool() {
 //_____________________________________________________________________________
 void TRTNoise::ProduceNoiseDigitPool( const std::vector<float>& lowthresholds,
 				      const std::vector<float>& noiseamps,
-				      const std::vector<int>& strawType ) {
+				      const std::vector<int>& strawType,
+                                      CLHEP::HepRandomEngine* noiseRndmEngine,
+                                      CLHEP::HepRandomEngine* elecNoiseRndmEngine,
+                                      CLHEP::HepRandomEngine* elecProcRndmEngine) {
 
   unsigned int nstraw = lowthresholds.size();
   unsigned int istraw;
@@ -291,14 +297,14 @@ void TRTNoise::ProduceNoiseDigitPool( const std::vector<float>& lowthresholds,
     // These are used as inputs to TRTElectronicsProcessing::ProcessDeposits
     // to create noise digits
     if ( ntries%400==0 ) {
-      m_pElectronicsNoise->reinitElectronicsNoise(200);
+      m_pElectronicsNoise->reinitElectronicsNoise(200, elecNoiseRndmEngine);
     }
     // Initialize stuff (is that necessary)?
     digit = TRTDigit();
     deposits.clear();
 
     // Choose straw to simulate
-    istraw = CLHEP::RandFlat::shootInt(m_noise_randengine, nstraw );
+    istraw = CLHEP::RandFlat::shootInt(noiseRndmEngine, nstraw );
 
     // Process deposits this straw. Since there are no deposits, only noise will contrinute
     m_pElectronicsProcessing->ProcessDeposits( deposits,
@@ -306,7 +312,9 @@ void TRTNoise::ProduceNoiseDigitPool( const std::vector<float>& lowthresholds,
 					       digit,
 					       lowthresholds.at(istraw),
 					       noiseamps.at(istraw),
-					       strawType.at(istraw)
+					       strawType.at(istraw),
+                                               elecProcRndmEngine,
+                                               elecNoiseRndmEngine
  					    );
 
     // If this process produced a digit, store in pool
@@ -331,7 +339,8 @@ void TRTNoise::ProduceNoiseDigitPool( const std::vector<float>& lowthresholds,
 }
 
 //_____________________________________________________________________________
-void TRTNoise::appendPureNoiseToProperDigits( std::vector<TRTDigit>& digitVect, const std::set<int>& sim_hitids )
+void TRTNoise::appendPureNoiseToProperDigits( std::vector<TRTDigit>& digitVect, const std::set<int>& sim_hitids,
+                                              CLHEP::HepRandomEngine* noiseRndmEngine )
 {
 
   const std::set<int>::const_iterator sim_hitids_end(sim_hitids.end());
@@ -340,11 +349,11 @@ void TRTNoise::appendPureNoiseToProperDigits( std::vector<TRTDigit>& digitVect,
   int hitid;
   float noiselevel;
 
-  while (m_pDigConditions->getNextNoisyStraw(m_noise_randengine,hitid,noiselevel) ) {
+  while (m_pDigConditions->getNextNoisyStraw(noiseRndmEngine,hitid,noiselevel) ) {
     //returned noiselevel not used for anything right now (fixme?).
     // If this strawID does not have a sim_hit, add a pure noise digit
     if ( sim_hitids.find(hitid) == sim_hitids_end ) {
-      const int ndigit(m_digitPool[CLHEP::RandFlat::shootInt(m_noise_randengine,m_digitPoolLength)]);
+      const int ndigit(m_digitPool[CLHEP::RandFlat::shootInt(noiseRndmEngine,m_digitPoolLength)]);
       digitVect.push_back(TRTDigit(hitid,ndigit));
     }
   };
@@ -358,7 +367,8 @@ void TRTNoise::appendPureNoiseToProperDigits( std::vector<TRTDigit>& digitVect,
 
 void TRTNoise::appendCrossTalkNoiseToProperDigits(std::vector<TRTDigit>& digitVect,
 						  const std::set<Identifier>& simhitsIdentifiers,
-						  ServiceHandle<ITRT_StrawNeighbourSvc> TRTStrawNeighbourSvc) {
+						  ServiceHandle<ITRT_StrawNeighbourSvc> TRTStrawNeighbourSvc,
+                                                  CLHEP::HepRandomEngine* noiseRndmEngine) {
 
   //id helper:
   TRTHitIdHelper* hitid_helper = TRTHitIdHelper::GetHelper();
@@ -388,8 +398,8 @@ void TRTNoise::appendCrossTalkNoiseToProperDigits(std::vector<TRTDigit>& digitVe
     for (unsigned int i=0;i<CrossTalkIds.size();++i) {
 
       if ( simhitsIdentifiers.find(CrossTalkIds[i]) == simhitsIdentifiers_end )  {
-	if (m_pDigConditions->crossTalkNoise(m_noise_randengine)==1 ) {
-	  const int ndigit(m_digitPool[CLHEP::RandFlat::shootInt(m_noise_randengine,
+	if (m_pDigConditions->crossTalkNoise(noiseRndmEngine)==1 ) {
+	  const int ndigit(m_digitPool[CLHEP::RandFlat::shootInt(noiseRndmEngine,
 							  m_digitPoolLength)]);
 	  int barrel_endcap, isneg;
 	  switch ( m_id_helper->barrel_ec(CrossTalkIds[i]) ) {
@@ -414,9 +424,9 @@ void TRTNoise::appendCrossTalkNoiseToProperDigits(std::vector<TRTDigit>& digitVe
 
     for (unsigned int i=0;i<CrossTalkIdsOtherEnd.size();++i) {
       if ( simhitsIdentifiers.find(CrossTalkIdsOtherEnd[i]) == simhitsIdentifiers_end )  {
-	if (m_pDigConditions->crossTalkNoiseOtherEnd(m_noise_randengine)==1 ) {
+	if (m_pDigConditions->crossTalkNoiseOtherEnd(noiseRndmEngine)==1 ) {
 
-	  const int ndigit(m_digitPool[CLHEP::RandFlat::shootInt(m_noise_randengine,m_digitPoolLength)]);
+	  const int ndigit(m_digitPool[CLHEP::RandFlat::shootInt(noiseRndmEngine,m_digitPoolLength)]);
 
 	  int barrel_endcap, isneg;
 	  switch ( m_id_helper->barrel_ec(CrossTalkIdsOtherEnd[i]) ) {
diff --git a/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTNoise.h b/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTNoise.h
index 20d854e9640f..422a04b03c6c 100644
--- a/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTNoise.h
+++ b/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTNoise.h
@@ -42,7 +42,9 @@ public:
    */
   TRTNoise( const TRTDigSettings*,
 	    const InDetDD::TRT_DetectorManager*,
-	    ServiceHandle <IAtRndmGenSvc> atRndmGenSvc,
+            CLHEP::HepRandomEngine* noiseRndmEngine,
+            CLHEP::HepRandomEngine* elecNoiseRndmEngine,
+            CLHEP::HepRandomEngine* elecProcRndmEngine,
 	    TRTDigCondBase* digcond,
 	    TRTElectronicsProcessing * ep,
 	    TRTElectronicsNoise * electronicsnoise,
@@ -63,12 +65,14 @@ public:
    *                    noise digit to already hit straw.
    */
   void appendPureNoiseToProperDigits( std::vector<TRTDigit>& digitVect,
-				      const std::set<int>& sim_hitids) ;
+				      const std::set<int>& sim_hitids,
+                                      CLHEP::HepRandomEngine* noiseRndmEngine) ;
 
 
   void appendCrossTalkNoiseToProperDigits(std::vector<TRTDigit>& digitVect,
 					  const std::set<Identifier>& simhitsIdentifiers,
-					  ServiceHandle<ITRT_StrawNeighbourSvc> m_TRTStrawNeighbourSvc);
+					  ServiceHandle<ITRT_StrawNeighbourSvc> m_TRTStrawNeighbourSvc,
+                                          CLHEP::HepRandomEngine* noiseRndmEngine);
 
   void sortDigits(std::vector<TRTDigit>& digitVect);
 
@@ -109,7 +113,9 @@ public:
    * -# Call method @c ProduceNoiseDigitPool to produce pool of pure noise
    *   digits
    */
-  void InitThresholdsAndNoiseAmplitudes_and_ProduceNoiseDigitPool();
+  void InitThresholdsAndNoiseAmplitudes_and_ProduceNoiseDigitPool(CLHEP::HepRandomEngine* noiseRndmEngine,
+                                                                  CLHEP::HepRandomEngine* elecNoiseRndmEngine,
+                                                                  CLHEP::HepRandomEngine* elecProcRndmEngine);
 
   /**
    * Produce pool of pure noise digits (for simulation of noise in unhit
@@ -125,7 +131,10 @@ public:
    */
   void ProduceNoiseDigitPool( const std::vector<float>& lowthresholds,
 			      const std::vector<float>& noiseamps,
-			      const std::vector<int>& strawType
+			      const std::vector<int>& strawType,
+                              CLHEP::HepRandomEngine* noiseRndmEngine,
+                              CLHEP::HepRandomEngine* elecNoiseRndmEngine,
+                              CLHEP::HepRandomEngine* elecProcRndmEngine
 			    );
 
   const TRT_ID* m_id_helper;
diff --git a/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTProcessingOfStraw.cxx b/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTProcessingOfStraw.cxx
index cb60224e2fd7..c8643caa920d 100644
--- a/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTProcessingOfStraw.cxx
+++ b/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTProcessingOfStraw.cxx
@@ -34,7 +34,6 @@
 //#include "HepPDT/ParticleDataTable.hh"
 
 // For the Athena-based random numbers.
-#include "AthenaKernel/IAtRndmGenSvc.h"
 #include "CLHEP/Random/RandPoisson.h"//randpoissonq? (fixme)
 #include "CLHEP/Random/RandFlat.h"
 #include "CLHEP/Random/RandBinomial.h"
@@ -54,7 +53,6 @@ TRTProcessingOfStraw::TRTProcessingOfStraw(const TRTDigSettings* digset,
                                            const InDetDD::TRT_DetectorManager* detmgr,
                                            ITRT_PAITool* paitoolXe,
                                            ITRT_SimDriftTimeTool* simdrifttool,
-                                           ServiceHandle <IAtRndmGenSvc> atRndmGenSvc,
                                            TRTElectronicsProcessing * ep,
                                            TRTNoise * noise,
                                            TRTDigCondBase* digcond,
@@ -83,7 +81,7 @@ TRTProcessingOfStraw::TRTProcessingOfStraw(const TRTDigSettings* digset,
 
 {
   ATH_MSG_VERBOSE ( "TRTProcessingOfStraw::Constructor begin" );
-  Initialize(atRndmGenSvc);
+  Initialize();
   ATH_MSG_VERBOSE ( "Constructor done" );
 }
 
@@ -96,7 +94,7 @@ TRTProcessingOfStraw::~TRTProcessingOfStraw()
 }
 
 //________________________________________________________________________________
-void TRTProcessingOfStraw::Initialize(ServiceHandle <IAtRndmGenSvc> atRndmGenSvc)
+void TRTProcessingOfStraw::Initialize()
 {
 
   m_useMagneticFieldMap    = m_settings->useMagneticFieldMap();
@@ -145,9 +143,6 @@ void TRTProcessingOfStraw::Initialize(ServiceHandle <IAtRndmGenSvc> atRndmGenSvc
   m_maxCrossingTime =    intervalBetweenCrossings * 3. + 1.*CLHEP::ns;
   m_shiftOfZeroPoint = static_cast<double>( m_settings->numberOfCrossingsBeforeMain() ) * intervalBetweenCrossings;
 
-  //Create our own engine with own seeds:
-  m_pHRengine = atRndmGenSvc->GetEngine("TRT_ProcessStraw");
-
   // Tabulate exp(-dist/m_attenuationLength) as a function of dist = time*m_signalPropagationSpeed [0.0 mm, 1500 mm)
   // otherwise we are doing an exp() for every cluster! > 99.9% of output digits are the same, saves 13% CPU time.
   m_expattenuation.reserve(150);
@@ -228,7 +223,8 @@ void TRTProcessingOfStraw::addClustersFromStep ( const double& scaledKineticEner
 						 const double& timeOfHit,
 						 const double& prex, const double& prey, const double& prez,
 						 const double& postx, const double& posty, const double& postz,
-						 std::vector<cluster>& clusterlist, int strawGasType)
+						 std::vector<cluster>& clusterlist, int strawGasType,
+                                                 CLHEP::HepRandomEngine* rndmEngine)
 {
 
   // Choose the appropriate ITRT_PAITool for this straw
@@ -247,14 +243,14 @@ void TRTProcessingOfStraw::addClustersFromStep ( const double& scaledKineticEner
   const double meanFreePath(activePAITool->GetMeanFreePath( scaledKineticEnergy, particleCharge*particleCharge ));
 
   //How many clusters did we actually create:
-  const unsigned int numberOfClusters(CLHEP::RandPoisson::shoot(m_pHRengine,stepLength / meanFreePath));
+  const unsigned int numberOfClusters(CLHEP::RandPoisson::shoot(rndmEngine,stepLength / meanFreePath));
   //fixme: use RandPoissionQ?
 
   //Position each of those randomly along the step, and use PAI to get their energies:
   for (unsigned int iclus(0); iclus<numberOfClusters; ++iclus)
     {
       //How far along the step did the cluster get produced:
-      const double lambda(CLHEP::RandFlat::shoot(m_pHRengine));
+      const double lambda(CLHEP::RandFlat::shoot(rndmEngine));
 
       //Append cluster (the energy is given by the PAI model):
       double clusE(activePAITool->GetEnergyTransfer(scaledKineticEnergy));
@@ -276,7 +272,10 @@ void TRTProcessingOfStraw::ProcessStraw ( hitCollConstIter i,
                                           double cosmicEventPhase, // const ComTime* m_ComTime,
                                           int strawGasType,
 					  bool emulationArflag,
-					  bool emulationKrflag)
+					  bool emulationKrflag,
+                                          CLHEP::HepRandomEngine* rndmEngine,
+                                          CLHEP::HepRandomEngine* elecProcRndmEngine,
+                                          CLHEP::HepRandomEngine* elecNoiseRndmEngine)
 {
 
   //////////////////////////////////////////////////////////
@@ -386,7 +385,7 @@ void TRTProcessingOfStraw::ProcessStraw ( hitCollConstIter i,
 	      // scale down the TR efficiency if we are emulating
 	      if ( strawGasType == 0 && emulationArflag ) { m_trEfficiencyBarrel = m_trEfficiencyBarrel*ArEmulationScaling_BA; }
 	      if ( strawGasType == 0 && emulationKrflag ) { m_trEfficiencyBarrel = m_trEfficiencyBarrel*KrEmulationScaling_BA; }
-              if ( CLHEP::RandFlat::shoot(m_pHRengine) > m_trEfficiencyBarrel ) continue; // Skip this photon
+              if ( CLHEP::RandFlat::shoot(rndmEngine) > m_trEfficiencyBarrel ) continue; // Skip this photon
             } // close if barrel
 	    else { // Endcap - no eta dependence here.
 	      if (isECA) {
@@ -394,14 +393,14 @@ void TRTProcessingOfStraw::ProcessStraw ( hitCollConstIter i,
 		// scale down the TR efficiency if we are emulating
 		if ( strawGasType == 0 && emulationArflag ) { m_trEfficiencyEndCapA = m_trEfficiencyEndCapA*ArEmulationScaling_ECA; }
 		if ( strawGasType == 0 && emulationKrflag ) { m_trEfficiencyEndCapA = m_trEfficiencyEndCapA*KrEmulationScaling_ECA; }
-                if ( CLHEP::RandFlat::shoot(m_pHRengine) > m_trEfficiencyEndCapA ) continue; // Skip this photon
+                if ( CLHEP::RandFlat::shoot(rndmEngine) > m_trEfficiencyEndCapA ) continue; // Skip this photon
 	      }
 	      if (isECB) {
                 m_trEfficiencyEndCapB = m_settings->trEfficiencyEndCapB(strawGasType);
 		// scale down the TR efficiency if we are emulating
 		if ( strawGasType == 0 && emulationArflag ) { m_trEfficiencyEndCapB = m_trEfficiencyEndCapB*ArEmulationScaling_ECB; }
 		if ( strawGasType == 0 && emulationKrflag ) { m_trEfficiencyEndCapB = m_trEfficiencyEndCapB*KrEmulationScaling_ECB; }
-                if ( CLHEP::RandFlat::shoot(m_pHRengine) > m_trEfficiencyEndCapB ) continue; // Skip this photon
+                if ( CLHEP::RandFlat::shoot(rndmEngine) > m_trEfficiencyEndCapB ) continue; // Skip this photon
 	      }
             } // close else (end caps)
           } // energyDeposit < 30.0
@@ -500,7 +499,7 @@ void TRTProcessingOfStraw::ProcessStraw ( hitCollConstIter i,
 	  addClustersFromStep ( scaledKineticEnergy, particleCharge, timeOfHit,
 				(*theHit)->GetPreStepX(),(*theHit)->GetPreStepY(),(*theHit)->GetPreStepZ(),
 				(*theHit)->GetPostStepX(),(*theHit)->GetPostStepY(),(*theHit)->GetPostStepZ(),
-				m_clusterlist, strawGasType);
+				m_clusterlist, strawGasType, rndmEngine);
 
 	}
     }//end of hit loop
@@ -522,7 +521,7 @@ void TRTProcessingOfStraw::ProcessStraw ( hitCollConstIter i,
 
   m_depositList.clear();
   // ClustersToDeposits( hitID, m_clusterlist, m_depositList, TRThitGlobalPos, m_ComTime, strawGasType );
-  ClustersToDeposits( hitID, m_clusterlist, m_depositList, TRThitGlobalPos, cosmicEventPhase, strawGasType );
+  ClustersToDeposits( hitID, m_clusterlist, m_depositList, TRThitGlobalPos, cosmicEventPhase, strawGasType, rndmEngine );
 
   //////////////////////////////////////////////////////////
   //======================================================//
@@ -553,7 +552,7 @@ void TRTProcessingOfStraw::ProcessStraw ( hitCollConstIter i,
   }
 
   //Electronics processing:
-  m_pElectronicsProcessing->ProcessDeposits( m_depositList, hitID, outdigit, lowthreshold, noiseamplitude, strawGasType );
+  m_pElectronicsProcessing->ProcessDeposits( m_depositList, hitID, outdigit, lowthreshold, noiseamplitude, strawGasType, elecProcRndmEngine, elecNoiseRndmEngine );
   return;
 }
 
@@ -563,7 +562,8 @@ void TRTProcessingOfStraw::ClustersToDeposits (const int& hitID,
 					       std::vector<TRTElectronicsProcessing::Deposit>& deposits,
 					       Amg::Vector3D TRThitGlobalPos,
 					       double cosmicEventPhase, // was const ComTime* m_ComTime,
-                                               int strawGasType)
+                                               int strawGasType,
+                                               CLHEP::HepRandomEngine* rndmEngine)
 {
 
   //
@@ -679,18 +679,18 @@ void TRTProcessingOfStraw::ClustersToDeposits (const int& hitID,
 
       if (nprimaryelectrons<m_maxelectrons) // Use the detailed Binomial and Exponential treatment at this low energy.
         {
-          unsigned int nsurvivingprimaryelectrons = static_cast<unsigned int>(CLHEP::RandBinomial::shoot(m_pHRengine,nprimaryelectrons,m_smearingFactor) + 0.5);
+          unsigned int nsurvivingprimaryelectrons = static_cast<unsigned int>(CLHEP::RandBinomial::shoot(rndmEngine,nprimaryelectrons,m_smearingFactor) + 0.5);
           if (nsurvivingprimaryelectrons==0) continue; // no electrons survived; move on to the next cluster.
           const double meanElectronEnergy(m_ionisationPotential/m_smearingFactor);
           for (unsigned int ielec(0); ielec<nsurvivingprimaryelectrons; ++ielec) {
-            depositEnergy += CLHEP::RandExpZiggurat::shoot(m_pHRengine, meanElectronEnergy);
+            depositEnergy += CLHEP::RandExpZiggurat::shoot(rndmEngine, meanElectronEnergy);
           }
         }
       else // Use a Gaussian approximation
         {
           const double fluctSigma(sqrt(cluster_E*m_ionisationPotential*(2-m_smearingFactor)/m_smearingFactor));
           do {
-            depositEnergy = CLHEP::RandGaussZiggurat::shoot(m_pHRengine, cluster_E, fluctSigma);
+            depositEnergy = CLHEP::RandGaussZiggurat::shoot(rndmEngine, cluster_E, fluctSigma);
           } while(depositEnergy<0.0); // very rare.
         }
 
@@ -735,8 +735,8 @@ void TRTProcessingOfStraw::ClustersToDeposits (const int& hitID,
 
       if ( m_settings->doCosmicTimingPit() )
         { // make (x,y) dependent? i.e: + f(x,y).
-          // clusterTime = clusterTime - m_time_y_eq_zero + m_settings->jitterTimeOffset()*( CLHEP::RandFlat::shoot(m_pHRengine) );
-          clusterTime = clusterTime + cosmicEventPhase + m_settings->jitterTimeOffset()*( CLHEP::RandFlat::shoot(m_pHRengine) );
+          // clusterTime = clusterTime - m_time_y_eq_zero + m_settings->jitterTimeOffset()*( CLHEP::RandFlat::shoot(rndmEngine) );
+          clusterTime = clusterTime + cosmicEventPhase + m_settings->jitterTimeOffset()*( CLHEP::RandFlat::shoot(rndmEngine) );
           // yes it is a '+' now. Ask Alex Alonso.
         }
 
diff --git a/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTProcessingOfStraw.h b/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTProcessingOfStraw.h
index ed5fee778210..ea4b06862f12 100644
--- a/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTProcessingOfStraw.h
+++ b/InnerDetector/InDetDigitization/TRT_Digitization/src/TRTProcessingOfStraw.h
@@ -33,7 +33,6 @@ class TRTNoise;
 class TRTDigCondBase;
 
 class TRTUncompressedHit;
-class IAtRndmGenSvc;
 class ITRT_PAITool;
 class ITRT_SimDriftTimeTool;
 
@@ -55,7 +54,6 @@ public:
 			const InDetDD::TRT_DetectorManager*,
 			ITRT_PAITool*,
 			ITRT_SimDriftTimeTool*,
-			ServiceHandle <IAtRndmGenSvc> atRndmGenSvc,
 			TRTElectronicsProcessing * ep,
 			TRTNoise * noise,
 			TRTDigCondBase* digcond,
@@ -95,7 +93,10 @@ public:
 		     double m_cosmicEventPhase, //const ComTime* m_ComTime,
                      int strawGasType,
 		     bool emulationArflag,
-		     bool emulationKrflag );
+		     bool emulationKrflag,
+                     CLHEP::HepRandomEngine* rndmEngine,
+                     CLHEP::HepRandomEngine* elecProcRndmEngine,
+                     CLHEP::HepRandomEngine* elecNoiseRndmEngine );
 
   MsgStream& msg (MSG::Level lvl) const { return m_msg << lvl; }
   bool msgLvl (MSG::Level lvl) { return m_msg.get().level() <= lvl; }
@@ -107,7 +108,7 @@ private:
   TRTProcessingOfStraw& operator= (const TRTProcessingOfStraw&);
 
   /** Initialize */
-  void Initialize(ServiceHandle <IAtRndmGenSvc> atRndmGenSvc) ;
+  void Initialize();
 
   const TRTDigSettings* m_settings;
   const InDetDD::TRT_DetectorManager* m_detmgr;
@@ -196,7 +197,8 @@ private:
 			     const double& posty,
 			     const double& postz,
 			     std::vector<cluster>& clusterlist,
-			     int strawGasType);
+			     int strawGasType,
+                             CLHEP::HepRandomEngine* rndmEngine);
   /**
    * Transform the ioniation clusters along the particle trajectory inside a
    * straw to energy deposits (i.e. potential fluctuations) reaching the
@@ -218,14 +220,13 @@ private:
 			   std::vector<TRTElectronicsProcessing::Deposit>& deposits,
 			   Amg::Vector3D TRThitGlobalPos,
                            double m_cosmicEventPhase, // const ComTime* m_ComTime
-                           int strawGasType);
+                           int strawGasType,
+                           CLHEP::HepRandomEngine* rndmEngine);
 
   std::vector<double> m_drifttimes;     // electron drift times
   std::vector<double> m_expattenuation; // tabulation of exp()
   unsigned int  m_maxelectrons;         // maximum number of them (minmum is 100 for the Gaussian approx to be ok);
 
-  CLHEP::HepRandomEngine * m_pHRengine;
-
   bool m_alreadywarnedagainstpdg0;
 
   Amg::Vector3D getGlobalPosition( int hitID, const TimedHitPtr<TRTUncompressedHit> *theHit );
diff --git a/Tools/PROCTools/python/RunTier0TestsTools.py b/Tools/PROCTools/python/RunTier0TestsTools.py
index 324fb145c7d1..225c24dd0b94 100644
--- a/Tools/PROCTools/python/RunTier0TestsTools.py
+++ b/Tools/PROCTools/python/RunTier0TestsTools.py
@@ -24,5 +24,5 @@ ciRefFileMap = {
                 's3126-22.0'           : 'v1',
                 # OverlayTier0Test_required-test
                 'overlay-d1498-21.0'   : 'v1',
-                'overlay-d1498-22.0'   : 'v1',
+                'overlay-d1498-22.0'   : 'v2',
                }
-- 
GitLab


From 68917265258927b7701891722bd89b2f6f576afa Mon Sep 17 00:00:00 2001
From: Peter Onyisi <ponyisi@utexas.edu>
Date: Mon, 28 Jan 2019 11:14:26 +0000
Subject: [PATCH 164/192] Sweep DataQualityUtils and ZLumiScripts to master

---
 DataQuality/DataQualityUtils/CMakeLists.txt   |   5 +-
 .../DataQualityUtils/HanOutputFile.h          |  28 +-
 .../DataQualityUtils/MonitoringFile.h         |  10 +
 .../python/DQPostProcessMod.py                |  11 +-
 .../DataQualityUtils/python/TestCases.py      |   3 +
 .../DataQualityUtils/python/doZLumi.py        |  90 ++
 .../DataQualityUtils/python/filemovemod.py    |  18 +-
 .../DataQualityUtils/python/hancoolmod.py     |   5 +-
 .../DataQualityUtils/python/handimod.py       |  58 +-
 .../{scripts => python}/pathExtract.py        |  24 -
 .../scripts/DQM_Tier0Wrapper_tf.py            | 549 ++++++++++++
 .../scripts/DQM_Tier0Wrapper_trf.py           |   1 +
 .../scripts/checkCorrelInHIST.py              |   2 +-
 .../DataQualityUtils/scripts/hotSpotInHIST.py |   6 +-
 .../DataQualityUtils/scripts/hotSpotInTAG.py  |   4 +-
 .../scripts/physval_make_web_display.py       |  12 +-
 .../DataQualityUtils/scripts/readTier0HIST.py |   2 +-
 .../scripts/readTier0LARNOISE.py              |   6 +-
 .../DataQualityUtils/scripts/readTier0TAGs.py |   6 +-
 .../DataQualityUtils/src/HanOutputFile.cxx    | 294 +++++--
 .../DataQualityUtils/src/MonitoringFile.cxx   |  92 +-
 .../src/MonitoringFile_HLTJetPostProcess.cxx  |   2 +
 .../src/MonitoringFile_HLTMETPostProcess.cxx  |   2 +
 ...onitoringFile_HLTMuonHistogramDivision.cxx | 116 +--
 .../src/MonitoringFile_IDAlignPostProcess.cxx |   4 +-
 .../src/MonitoringFile_IDPerfPostProcess.cxx  |  92 +-
 .../src/MonitoringFile_RPCPostProcess.cxx     | 316 ++++---
 .../src/MonitoringFile_SCTPostProcess.cxx     | 794 ++++++++++++------
 DataQuality/ZLumiScripts/CMakeLists.txt       |  15 +
 .../scripts/dqt_zlumi_alleff_HIST.py          | 229 +++++
 .../scripts/dqt_zlumi_combine_lumi.py         | 135 +++
 .../scripts/dqt_zlumi_compute_lumi.py         | 325 +++++++
 .../scripts/dqt_zlumi_display_z_rate.py       | 107 +++
 33 files changed, 2764 insertions(+), 599 deletions(-)
 create mode 100644 DataQuality/DataQualityUtils/python/doZLumi.py
 rename DataQuality/DataQualityUtils/{scripts => python}/pathExtract.py (81%)
 create mode 100755 DataQuality/DataQualityUtils/scripts/DQM_Tier0Wrapper_tf.py
 create mode 100644 DataQuality/ZLumiScripts/CMakeLists.txt
 create mode 100755 DataQuality/ZLumiScripts/scripts/dqt_zlumi_alleff_HIST.py
 create mode 100755 DataQuality/ZLumiScripts/scripts/dqt_zlumi_combine_lumi.py
 create mode 100755 DataQuality/ZLumiScripts/scripts/dqt_zlumi_compute_lumi.py
 create mode 100755 DataQuality/ZLumiScripts/scripts/dqt_zlumi_display_z_rate.py

diff --git a/DataQuality/DataQualityUtils/CMakeLists.txt b/DataQuality/DataQualityUtils/CMakeLists.txt
index 55f000783ba8..5c47606c9eaa 100644
--- a/DataQuality/DataQualityUtils/CMakeLists.txt
+++ b/DataQuality/DataQualityUtils/CMakeLists.txt
@@ -7,7 +7,8 @@ atlas_subdir( DataQualityUtils )
 
 # Declare the package's dependencies:
 atlas_depends_on_subdirs( PRIVATE
-                          DataQuality/DataQualityInterfaces )
+                          DataQuality/DataQualityInterfaces
+                          DataQuality/ZLumiScripts )
 
 # External dependencies:
 find_package( Boost COMPONENTS regex filesystem thread system )
@@ -80,7 +81,7 @@ atlas_add_executable( han-results-print
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
-atlas_install_scripts( scripts/CreateDB.py scripts/CreateDB_Histo.py scripts/DQHistogramMerge.py scripts/DQHistogramPrintStatistics.py scripts/DQWebDisplay.py scripts/hancool_histo.py scripts/hancool.py scripts/handi.py scripts/historyDisplay.py scripts/DQFileMove.py scripts/CreateMDTConfig_algos.sh scripts/CreateMDTConfig_chambers.sh scripts/CreateMDTConfig_config.sh scripts/CreateMDTConfig_files.sh scripts/CreateMDTConfig_readme.sh scripts/DQM_Tier0Wrapper_trf.py scripts/DQHistogramMergeRegExp.py scripts/dq_make_web_display.py scripts/ScanHistFile.py scripts/physval_make_web_display.py )
+atlas_install_scripts( scripts/CreateDB.py scripts/CreateDB_Histo.py scripts/DQHistogramMerge.py scripts/DQHistogramPrintStatistics.py scripts/DQWebDisplay.py scripts/hancool_histo.py scripts/hancool.py scripts/handi.py scripts/historyDisplay.py scripts/DQFileMove.py scripts/CreateMDTConfig_algos.sh scripts/CreateMDTConfig_chambers.sh scripts/CreateMDTConfig_config.sh scripts/CreateMDTConfig_files.sh scripts/CreateMDTConfig_readme.sh scripts/DQM_Tier0Wrapper_trf.py scripts/DQM_Tier0Wrapper_tf.py scripts/DQHistogramMergeRegExp.py scripts/dq_make_web_display.py scripts/ScanHistFile.py scripts/physval_make_web_display.py )
 
 # Aliases:
 atlas_add_alias( DQHistogramPrintStatistics "DQHistogramPrintStatistics.py" )
diff --git a/DataQuality/DataQualityUtils/DataQualityUtils/HanOutputFile.h b/DataQuality/DataQualityUtils/DataQualityUtils/HanOutputFile.h
index 4de87c1dbca2..b952560ce644 100644
--- a/DataQuality/DataQualityUtils/DataQualityUtils/HanOutputFile.h
+++ b/DataQuality/DataQualityUtils/DataQualityUtils/HanOutputFile.h
@@ -19,6 +19,8 @@ class TH1;
 class TH2;
 class TStyle;
 class TGraph;
+class TImage;
+class TEfficiency;
 
 namespace dqutils {
 
@@ -67,13 +69,26 @@ public:
   virtual void streamAllDQAssessments( std::ostream& o, bool streamAll );
   virtual void streamHistoAssessments( std::ostream& o, bool streamAll );
   virtual void streamAllHistograms( std::ostream& o, bool streamAll );
-  virtual int  saveAllHistograms( std::string location, bool drawRefs, std::string run_min_LB );
+
+  /**
+   * cnvsType: 1=pngOnly;2=jsonOnly;3=pngAndJson
+   */
+  virtual int  saveAllHistograms( std::string location, bool drawRefs, std::string run_min_LB,int cnvsType = 1);
   static bool containsDir(std::string dirname, std::string maindir);
 
   virtual bool saveHistogramToFile( std::string nameHis, std::string location,
-                 TDirectory* groupDir, bool drawRefs,std::string run_min_LB, std::string pathName );
+                 TDirectory* groupDir, bool drawRefs,std::string run_min_LB, std::string pathName,int cnvsType = 1);
+  virtual std::pair<std::string,std::string> getHistogram( std::string nameHis,
+				       TDirectory* groupDir, bool drawRefs,
+				       std::string run_min_LB, std::string pathName,int cnvsType=1);
+  virtual std::string getHistogramPNG( std::string nameHis,
+				       TDirectory* groupDir, bool drawRefs,
+				       std::string run_min_LB, std::string pathName );
+  virtual std::pair<std::string,std::string> getHistogramJSON( std::string nameHis,
+				       TDirectory* groupDir, bool drawRefs,
+				       std::string run_min_LB, std::string pathName );
   virtual bool saveHistogramToFileSuperimposed( std::string nameHis, std::string location,
-                 TDirectory* groupDir1, TDirectory* groupDir2, bool drawRefs,std::string run_min_LB, std::string pathName );
+                 TDirectory* groupDir1, TDirectory* groupDir2, bool drawRefs,std::string run_min_LB, std::string pathName,int cnvsType=1);
 
   virtual bool drawH2(TCanvas* canv,TH2* hist,std::string &drawopt,std::string &display);
   virtual bool drawH1(TCanvas* canv,TH1* hist,TH1* reference,std::string &drawopt,std::string &display,std::string &AlgoName);
@@ -92,6 +107,7 @@ public:
   virtual void formatTH1( TCanvas* c, TH1* h ) const;
   virtual void formatTH2( TCanvas* c, TH2* h ) const;
   virtual void formatTGraph( TCanvas* c, TGraph* g ) const;
+  virtual void formatTEfficiency( TCanvas* c, TEfficiency* e ) const;
 
   virtual double  getNEntries( std::string location, std::string histname );
   virtual double  getNEntries( const TObject* obj );
@@ -100,6 +116,12 @@ public:
 protected:
   
   virtual void clearData();
+  virtual void convertToGraphics(int cnvsType, TCanvas* myC,std::string &json, TImage *img = 0, char ** x=0, int *y=0);
+  virtual void convertToGraphics(int cnvsType, TCanvas* myC,std::string namePNG,std::string nameJSON);
+  virtual bool saveFile(int cnvsType, std::string pngfName,std::string pngContent, std::string jsonfName, std::string jsonfContent);
+
+
+  virtual bool writeToFile(std::string fName, std::string content);
 
   
   TFile*        m_file;
diff --git a/DataQuality/DataQualityUtils/DataQualityUtils/MonitoringFile.h b/DataQuality/DataQualityUtils/DataQualityUtils/MonitoringFile.h
index 4b9168657f9d..aaafe1f15ea4 100644
--- a/DataQuality/DataQualityUtils/DataQualityUtils/MonitoringFile.h
+++ b/DataQuality/DataQualityUtils/DataQualityUtils/MonitoringFile.h
@@ -41,6 +41,7 @@ class TKey;
 class TTree;
 class TString;
 class RooPlot;
+class TEfficiency;
 
 
 namespace dqutils {
@@ -391,8 +392,10 @@ namespace dqutils {
       virtual ~HistogramOperation() { }
       virtual bool execute(TH1* hist) = 0;
       virtual bool execute(TGraph* graph) = 0;
+      virtual bool execute(TEfficiency* efficiency) = 0;
       virtual bool executeMD(TH1* hist, const MetaData&) { return execute(hist); }
       virtual bool executeMD(TGraph* graph, const MetaData&) { return execute(graph); }
+      virtual bool executeMD(TEfficiency* efficiency, const MetaData&) {return execute(efficiency); }
     };
 
     class CopyHistogram : public HistogramOperation {
@@ -401,8 +404,11 @@ namespace dqutils {
       virtual ~CopyHistogram();
       virtual bool execute(TH1* hist);
       virtual bool execute(TGraph* graph);
+      virtual bool execute(TEfficiency* eff);
       virtual bool executeMD(TH1* hist, const MetaData& md);
       virtual bool executeMD(TGraph* graph, const MetaData& md);
+      virtual bool executeMD(TEfficiency* eff, const MetaData& md);
+
     protected:
       void copyString(char* to, const std::string& from);
       TDirectory*  m_target;
@@ -420,6 +426,7 @@ namespace dqutils {
       GatherStatistics(std::string dirName);
       virtual bool execute(TH1* hist);
       virtual bool execute(TGraph* graph);
+      virtual bool execute(TEfficiency* eff);
 
       std::string  m_dirName;
       int m_nHist1D;
@@ -428,6 +435,8 @@ namespace dqutils {
       int m_nGraphPoints;
       int m_nHist2D;
       int m_nHist2DBins;
+      int m_nEfficiency;
+      int m_nEfficiencyBins;
     };
 
     class GatherNames : public HistogramOperation {
@@ -435,6 +444,7 @@ namespace dqutils {
       GatherNames();
       virtual bool execute(TH1* hist);
       virtual bool execute(TGraph* graph);
+      virtual bool execute( TEfficiency* eff );
 
       std::vector<std::string> m_names;
     };
diff --git a/DataQuality/DataQualityUtils/python/DQPostProcessMod.py b/DataQuality/DataQualityUtils/python/DQPostProcessMod.py
index 6185651f62f1..231e1bbac89c 100644
--- a/DataQuality/DataQualityUtils/python/DQPostProcessMod.py
+++ b/DataQuality/DataQualityUtils/python/DQPostProcessMod.py
@@ -83,7 +83,7 @@ def _ProtectPostProcessing( funcinfo, outFileName, isIncremental ):
         if isProduction:
             import smtplib
             server = smtplib.SMTP('localhost')
-            mail_cc = ['ponyisi@utexas.edu', 'yuriy.ilchenko@cern.ch']
+            mail_cc = ['ponyisi@utexas.edu', 'rnarayan@utexas.edu']
             msg = ['From: atlasdqm@cern.ch',
                    'To: %s' % ', '.join(mail_to),
                    'Cc: %s' % ', '.join(mail_cc),
@@ -132,6 +132,11 @@ def DQPostProcess( outFileName, isIncremental=False ):
                                                            createMDTConditionDBNoisy)
             createMDTConditionDBDead()
             createMDTConditionDBNoisy()
+
+    def zlumi(fname, isIncremental):
+        if not isIncremental:
+            from DataQualityUtils.doZLumi import go
+            go(fname)
  
     funclist = [ 
                  (mf.fitMergedFile_IDPerfMonManager,
@@ -181,7 +186,9 @@ def DQPostProcess( outFileName, isIncremental=False ):
                  (mf.PixelPostProcess,
                   ['daiki.yamaguchi@cern.ch']),
                  (mf.MuonTrackPostProcess,
-                  ['baojia.tong@cern.ch', 'alexander.tuna@cern.ch'])
+                  ['baojia.tong@cern.ch', 'alexander.tuna@cern.ch']),
+                 (zlumi,
+                  ['ponyisi@utexas.edu', 'harish.potti@utexas.edu']),
                ]
 
     # first try all at once
diff --git a/DataQuality/DataQualityUtils/python/TestCases.py b/DataQuality/DataQualityUtils/python/TestCases.py
index e74754273b1e..427765fb7d1f 100644
--- a/DataQuality/DataQualityUtils/python/TestCases.py
+++ b/DataQuality/DataQualityUtils/python/TestCases.py
@@ -1,5 +1,8 @@
 # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 
+# None of this works, but keep it around in case someone wants to resurrect it later...
+# - PO 20180419
+
 import unittest
 import sys, os, shutil
 
diff --git a/DataQuality/DataQualityUtils/python/doZLumi.py b/DataQuality/DataQualityUtils/python/doZLumi.py
new file mode 100644
index 000000000000..f3b2954e8de9
--- /dev/null
+++ b/DataQuality/DataQualityUtils/python/doZLumi.py
@@ -0,0 +1,90 @@
+# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration                   
+
+def getRun(fname):
+    import ROOT
+    fin = ROOT.TFile.Open(fname)
+    if not fin: return None
+    runname = None
+    for key in fin.GetListOfKeys():
+        if key.GetName().startswith('run_'):
+            runname = key.GetName()
+            break
+    if runname: return int(runname[4:])
+    else: return None
+
+def copyPlot(infname, outfname):
+    import ROOT
+    run = getRun(outfname)
+    if not run: return
+    fin = ROOT.TFile.Open(infname, 'READ')
+    if not fin: return
+    fout = ROOT.TFile.Open(outfname, 'UPDATE')
+    if not fout: return
+    for objname in ['z_lumi']:
+        obj = fin.Get(objname)
+        if obj:
+            d = fout.Get('run_%d/GLOBAL/DQTGlobalWZFinder' % run)
+            if d:
+                d.WriteTObject(obj)
+    fin.Close(); fout.Close()
+            
+def makeGRL(run, defect, fname):
+    from ROOT import TString
+    import DQUtils, DQDefects
+    import os
+
+    tag = 'HEAD'
+    runs = [run]
+    print 'Query run information...',
+    from DQUtils.db import fetch_iovs
+    dbinstance = 'CONDBR2'
+    eor = fetch_iovs('EOR', (min(runs) << 32) | 1,
+                     (max(runs) << 32) | 0xFFFFFFFF,
+                     with_channel=False, what=[], database='COOLONL_TDAQ/%s' % dbinstance)
+    eor = eor.trim_iovs
+    eor = DQUtils.IOVSet(iov for iov in eor if iov.since.run in runs)
+    print 'done'
+    print 'Query defects...',
+    ddb = DQDefects.DefectsDB('COOLOFL_GLOBAL/%s' % dbinstance, tag=tag)
+    ignores = set([_ for _ in ddb.defect_names if 'UNCHECKED' in _])
+    try:
+        defectiovs = ddb.retrieve(since = min(runs) << 32 | 1,
+                                  until = max(runs) << 32 | 0xffffffff,
+                                  channels = [defect],
+                                  evaluate_full = False,
+                                  ignore=ignores)
+    except Exception, e:
+        print e
+        raise
+    print 'Doing exclusions...',
+    okiovs = eor.logical_and(eor, defectiovs.logical_not())
+    print 'done'
+
+    print 'Generating GRL...',
+    data = DQUtils.grl.make_grl(okiovs, '', '2.1')
+    with open(fname, 'w') as outf:
+        outf.write(data)
+
+def go(fname):
+    import subprocess, os, shutil
+    if 'DQ_STREAM' in os.environ:
+        if (os.environ.get('DQPRODUCTION', '0') == '1'
+            and os.environ['DQ_STREAM'] != 'physics_Main'):
+            return
+    if 'DISPLAY' in os.environ: del os.environ['DISPLAY']
+    runno = getRun(fname)
+    print 'Seen run', runno
+    grlcmd = []
+    if runno >= 325000:
+        makeGRL(runno, 'PHYS_StandardGRL_All_Good', 'grl.xml')
+        grlcmd = ['--grl', 'grl.xml']
+    else:
+        print 'Run number', runno, 'not 2017 data'
+
+    subprocess.call(['dqt_zlumi_compute_lumi.py', fname, '--out', 'zlumiraw.root', '--dblivetime', '--plotdir', ''] + grlcmd)
+    subprocess.call(['dqt_zlumi_alleff_HIST.py', fname, '--out', 'zlumieff.root', '--plotdir', ''])
+    subprocess.call(['dqt_zlumi_combine_lumi.py', 'zlumiraw.root', 'zlumieff.root', 'zlumi.root'])
+    subprocess.call(['dqt_zlumi_display_z_rate.py', 'zlumi.root', '--plotdir', ''])
+    copyPlot('zlumi.root', fname)
+    if os.path.isfile('zlumi.root_zrate.csv'):
+        shutil.move('zlumi.root_zrate.csv', 'zrate.csv')
diff --git a/DataQuality/DataQualityUtils/python/filemovemod.py b/DataQuality/DataQualityUtils/python/filemovemod.py
index 84f2797246ab..daf89dd585f1 100644
--- a/DataQuality/DataQualityUtils/python/filemovemod.py
+++ b/DataQuality/DataQualityUtils/python/filemovemod.py
@@ -1,14 +1,22 @@
 # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 
 def move_files(prefix, config):
-    import os, shutil
+    import os, shutil, subprocess
     
     filemap = config.filemap
     if filemap == {}:
         return
     for src, dest in filemap.items():
+        print src, dest
         if os.access(src, os.R_OK):
-            try:
-                shutil.copy2(src, os.path.join(dest, prefix + '_' + os.path.basename(src)))
-            except IOError, e:
-                print e
+            if dest.startswith('root://'):
+                try:
+                    subprocess.check_call(['xrdcp', src, os.path.join(dest, prefix + '_' + os.path.basename(src))])
+                except subprocess.CalledProcessError, e:
+                    print e
+            else:
+                try:
+                    shutil.copy2(src, os.path.join(dest, prefix + '_' + os.path.basename(src)))
+                except IOError, e:
+                    print e
+                
diff --git a/DataQuality/DataQualityUtils/python/hancoolmod.py b/DataQuality/DataQualityUtils/python/hancoolmod.py
index ec729409dcea..d35e805170c0 100644
--- a/DataQuality/DataQualityUtils/python/hancoolmod.py
+++ b/DataQuality/DataQualityUtils/python/hancoolmod.py
@@ -355,7 +355,10 @@ def sct_conf_defects(d, i, runNumber):
         if not histogram: 
             return None
         for bin in mapping:
-            if histogram.GetBinContent(bin) > 40:
+            threshold = 40
+            if mapping[bin] == 'SCT_MOD_OUT_GT40':
+                threshold = 80
+            if histogram.GetBinContent(bin) > threshold:
                 rv.append(defect_val(mapping[bin], '%.1d modules affected' % histogram.GetBinContent(bin), False))
         return rv
 
diff --git a/DataQuality/DataQualityUtils/python/handimod.py b/DataQuality/DataQualityUtils/python/handimod.py
index e12dada92626..d36927543cdb 100644
--- a/DataQuality/DataQualityUtils/python/handimod.py
+++ b/DataQuality/DataQualityUtils/python/handimod.py
@@ -23,14 +23,16 @@ from ROOT import dqutils
 
 ## LumiBlock length (in minutes)
 LBlength = 1.0
+jsonFileCull = set()
 
-def handiWithComparisons( name, resultsFile, htmlDir, runlistLoc, compare, browserMenu, allDirsScriptDir ):
+def handiWithComparisons( name, resultsFile, htmlDir, runlistLoc, compare, browserMenu,allDirsScriptDir,jsRoot=1 ):
   ## compare: True if you want a "compare" button on every 1histo page, False by default
   ## javaScriptLoc = url of the javascript for the "compare" button
   ## HjavaScriptLoc = url of the javascript for the "history" button
   ## runlistLoc = url where to find runlist.xml (runlist catalog)
   ## browserMenu = True if you want a browser menu instead of the 
   ## allDirsScript = url of javascript to create browser menu
+  ## jsRoot = enable jsRoot ;1=png;2=json;3=png&json
   
   if ( htmlDir.rfind("/")!=(len(htmlDir)-1) ):  # htmlDir needs "/" at the end
         htmlDir+="/"
@@ -63,7 +65,7 @@ def handiWithComparisons( name, resultsFile, htmlDir, runlistLoc, compare, brows
     hi_limit = int(digit*30.0/LBlength)
     LB_range = ', LB '+str(low_limit)+' - ' + str(hi_limit)
 
-  nSaved = saveAllHistograms( resultsFile, htmlDir, True, (name+LB_range) )
+  nSaved = saveAllHistograms( resultsFile, htmlDir, True, (name+LB_range), jsRoot)
   if nSaved == 0:
     print "There are no histograms in this file; writing a dummy index file"
     if( not os.access(htmlDir,os.F_OK) ):
@@ -101,14 +103,18 @@ def handiWithComparisons( name, resultsFile, htmlDir, runlistLoc, compare, brows
     dirlist, namelist = makeAllDirsFile( htmlDir, name, s, number, resultsFile )
     
   for x in range(0,len(dirlist)):
-    makeSubDirFile( htmlDir, name, s, number, namelist[x], dirlist[x], runlistLoc, compare, allDirsScriptDir )
-    makeColorFile( htmlDir, name, s, number, namelist[x], dirlist[x], 'Red', runlistLoc, compare, allDirsScriptDir)
-    makeColorFile( htmlDir, name, s, number, namelist[x], dirlist[x], 'Yellow', runlistLoc, compare, allDirsScriptDir)
-    makeColorFile( htmlDir, name, s, number, namelist[x], dirlist[x], 'Green', runlistLoc, compare, allDirsScriptDir )
+    makeSubDirFile( htmlDir, name, s, number, namelist[x], dirlist[x], runlistLoc, compare, allDirsScriptDir,jsRoot )
+    makeColorFile( htmlDir, name, s, number, namelist[x], dirlist[x], 'Red', runlistLoc, compare, allDirsScriptDir,jsRoot )
+    makeColorFile( htmlDir, name, s, number, namelist[x], dirlist[x], 'Yellow', runlistLoc, compare, allDirsScriptDir,jsRoot )
+    makeColorFile( htmlDir, name, s, number, namelist[x], dirlist[x], 'Green', runlistLoc, compare, allDirsScriptDir,jsRoot )
     makeCSSFile( htmlDir,"", namelist[x] )
   
   makeCSSFile( htmlDir,"", "." )
 
+  for path in jsonFileCull:
+      if os.path.isfile(path):
+          os.system("rm "+path)
+
 
 def makeAllDirsXml( htmlDir, name, s, number, resultsFile ):
   g=open(htmlDir+'AllDirs.xml','w')
@@ -287,7 +293,7 @@ def makeAllDirsBrowserFile( htmlDir, name, s, number, resultsFile,AllDirsScriptD
   g.close()
   return dirlist, namelist
 
-def makeSubDirFile( htmlDir, name, s, number, subname, assessIndex, runlistLoc,compare, AllDirsScriptDir):
+def makeSubDirFile( htmlDir, name, s, number, subname, assessIndex, runlistLoc,compare, AllDirsScriptDir,jsRoot ):
   
   if( subname == '.' ):
     h=open(htmlDir+'/'+subname+'/toplevel.html','w')
@@ -335,7 +341,7 @@ def makeSubDirFile( htmlDir, name, s, number, subname, assessIndex, runlistLoc,c
       h.write('<td class="' + sp[1] + '" align="center"><a href="'+sp[0]+'.html" class="hintanchor" onmouseover="showhint(\'' +title+'\', this, event, \'400px\')"><img src="'+ sp[0] +'.png" height="200" alt="' + name + ' ' + subname+'/'+sp[0]+'.png" /></a><br/><div style="text-overflow:ellipsis;overflow:hidden;max-width:240px">'+sp[0]+'</div></td>\n')
     temp = s[y].rsplit(" title ")
     sp = temp[0].split()
-    makeOneHistFile( htmlDir, name, subname, sp, runlistLoc,compare )
+    makeOneHistFile( htmlDir, name, subname, sp, runlistLoc,compare,jsRoot)
     y=y+1
     if y< number:
       sp=s[y].rsplit()
@@ -345,7 +351,7 @@ def makeSubDirFile( htmlDir, name, s, number, subname, assessIndex, runlistLoc,c
   h.close()
 
 
-def makeColorFile( htmlDir, name, s, number, subname, assessIndex , color, runlistLoc,compare,AllDirsScriptDir):
+def makeColorFile( htmlDir, name, s, number, subname, assessIndex , color, runlistLoc,compare,AllDirsScriptDir,jsRoot ):
   
   if( subname == '.' ):
     h=open(htmlDir+'/'+subname+'/'+color+'.html','w')
@@ -392,7 +398,7 @@ def makeColorFile( htmlDir, name, s, number, subname, assessIndex , color, runli
         h.write('<td class="' + sp[1] + '"><a href="'+sp[0]+'.html" class="hintanchor" onmouseover="showhint(\'' +title+'\', this, event, \'400px\')"><img src="'+ sp[0] +'.png" height="200" alt="' + name + ' ' + subname+'/'+sp[0]+'.png" /></a></td>\n')
       temp = s[y].rsplit(" title ")
       sp = temp[0]  
-      makeOneHistFile( htmlDir, name, subname, sp, runlistLoc,compare)
+      makeOneHistFile( htmlDir, name, subname, sp, runlistLoc,compare,jsRoot)
     y=y+1
     if y< number:
       sp=s[y].rsplit()
@@ -423,7 +429,7 @@ def writeLimitDiagram( k, limitName, lowColor, hiColor, loVal, hiVal ):
   k.write('</tr>\n</table>\n')
 
 
-def makeOneHistFile( htmlDir, name, subname, sp, runlistLoc, compare ):
+def makeOneHistFile( htmlDir, name, subname, sp, runlistLoc, compare,jsRoot ):
   import re
   runmatch = re.compile('^Run ([0-9]+), ([0-9]+)/(.+)$')
   subrunmatch = re.compile('^Run ([0-9]+), (.+)_(.*), ([0-9]+)/(.+)$')
@@ -443,7 +449,9 @@ def makeOneHistFile( htmlDir, name, subname, sp, runlistLoc, compare ):
   k.write('<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />\n')
   k.write('<title>'+name+ ' ' + subname+ ' ' + sp[0]+'</title>\n')
   k.write('<link rel="stylesheet" href="AutomChecks.css" type="text/css" />\n')
-#   k.write('<script type=\"text/javascript\" src=\"'+javaScriptLoc +'\"><!-- dont contract-->\n</script>\n')
+  k.write('<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script>\n')
+  k.write('<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>')
+##   k.write('<script type=\"text/javascript\" src=\"'+javaScriptLoc +'\"><!-- dont contract-->\n</script>\n')
   k.write('</head>\n')
   k.write('<body>\n')
   k.write('<center>\n')
@@ -571,10 +579,25 @@ def makeOneHistFile( htmlDir, name, subname, sp, runlistLoc, compare ):
       cc+=2
       extra-=2
   k.write('</table>\n</td>\n')
+  jsonPath = htmlDir+'/'+sp[21]+".json" if sp[0] else ""
+  jsonFileCull.add(jsonPath)
+  jsonFile = open(jsonPath,'r') if os.path.isfile(jsonPath) else "" 
   if subname == '.':
-    k.write('<td><a href="toplevel.html"><img src="'+ sp[0] +'.png" alt="' + name + ' ' + subname+'/'+sp[0]+'.png" /></a></td>\n')
+    if(jsRoot and os.path.isfile(jsonPath)):
+       jsonFile.seek(0)
+       jsonStr = jsonFile.read()
+       jsonStr = jsonStr.replace('\n','')
+       k.write('<td><div id="root_plot_1" style="width: 600px; height: 400px"></div></td>\n<script>\n requirejs.config( { paths: { \'JSRootCore\'    : \'https://root.cern.ch/js/dev//scripts/JSRootCore\', \'JSRootPainter\' : \'https://root.cern.ch/js/dev//scripts/JSRootPainter\', } });require([\'JSRootCore\', \'JSRootPainter\'], function(Core, Painter) {\n var obj = Core.parse(\''+jsonStr+'\');\nPainter.draw("root_plot_1", obj, ""); });</script>\n')
+    else:
+       k.write('<td><a href="toplevel.html"><img src="'+ sp[0] +'.png" alt="' + name + ' ' + subname+'/'+sp[0]+'.png" /></a></td>\n')
   else:
-    k.write('<td><a href="index.html"><img src="'+ sp[0] +'.png" alt="' + name + ' ' + subname+'/'+sp[0]+'.png" /></a></td>\n')
+      if(jsRoot and os.path.isfile(jsonPath)):
+         jsonFile.seek(0)
+         jsonStr = jsonFile.read()
+         jsonStr = jsonStr.replace('\n','');
+         k.write('<td><div id="root_plot_2" style="width: 600px; height: 400px"></div></td>\n<script>\n requirejs.config( { paths: { \'JSRootCore\'    : \'https://root.cern.ch/js/dev//scripts/JSRootCore\', \'JSRootPainter\' : \'https://root.cern.ch/js/dev//scripts/JSRootPainter\', } });require([\'JSRootCore\', \'JSRootPainter\'], function(Core, Painter) {\n var obj = Core.parse(\''+jsonStr+'\');\nPainter.draw("root_plot_2", obj, ""); });</script>\n')
+      else: 
+         k.write('<td><a href="index.html"><img src="'+ sp[0] +'.png" alt="' + name + ' ' + subname+'/'+sp[0]+'.png" /></a></td>\n')
   k.write('</tr></table>\n')
   k.write('</center>\n')
   now = time.localtime()
@@ -691,10 +714,9 @@ def stringAllDQAssessments( resultsFile ):
   return total
 
 
-def saveAllHistograms( resultsFile, location, drawRefs, run_min_LB ):
+def saveAllHistograms( resultsFile, location, drawRefs, run_min_LB ,jsRoot ):
   of = dqutils.HanOutputFile( resultsFile )
-  nSaved = of.saveAllHistograms( location, drawRefs, run_min_LB )
+  cnvType=1 if jsRoot==1 else 3
+  nSaved = of.saveAllHistograms( location, drawRefs, run_min_LB ,cnvType)
   of.setFile('')
   return nSaved
-
-
diff --git a/DataQuality/DataQualityUtils/scripts/pathExtract.py b/DataQuality/DataQualityUtils/python/pathExtract.py
similarity index 81%
rename from DataQuality/DataQualityUtils/scripts/pathExtract.py
rename to DataQuality/DataQualityUtils/python/pathExtract.py
index 55886ef82f9c..8c760155b068 100644
--- a/DataQuality/DataQualityUtils/scripts/pathExtract.py
+++ b/DataQuality/DataQualityUtils/python/pathExtract.py
@@ -24,30 +24,6 @@ def returnEosHistPath(run,stream,amiTag,tag="data16_13TeV"):
 
    return "FILE NOT FOUND"
 
-# OBSOLETE - See below
-# Return the path of the output of tier0 monitoring for the single LB (available only a couple of days after processing)
-#def returnEosHistPathLB(run,lb,stream,amiTag,tag="data16_13TeV"):
-#   prefix = {'express':'express_','Egamma':'physics_','CosmicCalo':'physics_','JetTauEtmiss':'physics_','Main':'physics_','ZeroBias':'physics_'}
-#   path = '/eos/atlas/atlastier0/tzero/prod/'+tag+'/'+prefix[stream]+stream+'/00'+str(run)+'/'
-#   P = sp.Popen(['/afs/cern.ch/project/eos/installation/0.3.84-aquamarine/bin/eos.select','ls',path],stdout=sp.PIPE,stderr=sp.PIPE)
-#   p = P.communicate()
-#   listOfFiles = p[0].split('\n')
-#
-#   for iFile in listOfFiles:
-#      if ("recon.HIST.%s"%(amiTag) in iFile and "LOG" not in iFile):
-#         path = '/eos/atlas/atlastier0/tzero/prod/'+tag+'/'+prefix[stream]+stream+'/00'+str(run)+'/'+iFile
-#         P = sp.Popen(['/afs/cern.ch/project/eos/installation/0.3.84-aquamarine/bin/eos.select','ls',path],stdout=sp.PIPE,stderr=sp.PIPE)
-#         p = P.communicate()
-#         listOfFiles2 = p[0].split('\n')
-#         for iFile2 in listOfFiles2:            
-#            print iFile2
-#            ilb = int((iFile2.split("_lb")[1]).split("._SFO")[0])
-#            if (lb == ilb):
-#               path = '/eos/atlas/atlastier0/tzero/prod/'+tag+'/'+prefix[stream]+stream+'/00'+str(run)+'/'+iFile+'/'+iFile2
-#               return path
-#
-#   return "FILE NOT FOUND"
-
 # Return the path of the output of tier0 monitoring for a range of single LB (available only a couple of days after processing)
 def returnEosHistPathLB(run,lb0,lb1,stream,amiTag,tag="data16_13TeV"):
    prefix = {'express':'express_','Egamma':'physics_','CosmicCalo':'physics_','JetTauEtmiss':'physics_','Main':'physics_','ZeroBias':'physics_'}
diff --git a/DataQuality/DataQualityUtils/scripts/DQM_Tier0Wrapper_tf.py b/DataQuality/DataQualityUtils/scripts/DQM_Tier0Wrapper_tf.py
new file mode 100755
index 000000000000..fe089d5f5bf1
--- /dev/null
+++ b/DataQuality/DataQualityUtils/scripts/DQM_Tier0Wrapper_tf.py
@@ -0,0 +1,549 @@
+#!/usr/bin/env python
+
+# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+
+#########################################################################
+##
+## Tier-0 combined transformation for DQM histogram merging 
+## and web display creation
+##
+##  - to be run in two modes: 
+##    1. in regular (15min?) intervals, merges the new results with 
+##       the statistics accumulated so far (cached on DQM AFS area)
+##    2. at the end of a run, to obtain the final statistics/results
+##       (replaces all temporary histograms/results) 
+##
+##  - input parameter: file containing a json dictionary consisting of the key/value pairs
+##     1) 'inputHistFiles': python list 
+##         ['datasetname#filename1', 'datasetname#filename2', ...] (input HIST_TMP dataset + file names)
+##        or list of file dictionaries
+##         [{'lfn':'fname1', 'checksum':'cks1', 'dsn':'dsn1', 'size':sz1, 'guid':'guid1', 'events':nevts1, ...}, 
+##          {'lfn':'fname2', 'checksum':'cks2', 'dsn':'dsn2', 'size':sz2, 'guid':'guid2', 'events':nevts2, ...}, ...]
+##     2) 'outputHistFile': string 'datasetname#filename'
+##        (HIST output dataset name + file)
+##     optional parameters:
+##     3) 'incrementalMode': string ('True'/'False', default: 'False')
+##        ('True': do incremental update of DQM webpages on top of existing statistics;
+##         'False': create final DQM webpages, replace temporary ones)
+##     4) 'postProcessing': string ('True'/'False', default: 'True')
+##        ('False': run histogram merging and DQ assessment only;
+##         'True': run additional post-processing step (fitting, etc.))
+##     5) 'procNumber': int (number of processing pass, e.g. 1,2, ...)
+##     6) 'runNumber': int  
+##     7) 'streamName': string (e.g., physics_IDCosmic, physics_Express, ...)
+##     8) 'projectTag': string (e.g., data10_7TeV, TrigDisplay)
+##     9) 'allowCOOLUpload': string ('True'/'False', default: 'True')
+##        ('True': allow upload of defects to database;
+##         'False': do not upload defects to database)
+##     10) 'doWebDisplay': string ('True'/'False', default: 'True')
+##        ('True': run the web display;
+##         'False': do not run the web display)
+##     11) 'filepaths': dictionary; keys are 'basename' (top level directory
+##                      of han configurations; 'Collisions', 'Cosmics', and
+##                      'HeavyIons', which are themselves dicts with keys
+##                      'minutes10', 'minutes30', 'run' with values the han
+##                      configuration file paths relative to basename
+##     12) 'productionMode': string ('True'/'False', default: 'True')
+##         ('True': run as if on Tier-0. 'False': Assume testing.)
+##
+## (C) N. Boelaert, L. Goossens, A. Nairz, P. Onyisi, S. Schaetzel, M. Wilson 
+##     (April 2008 - July 2010)
+##    Modified for dumping resource log in case of problems
+##    S. Kama (March 2011)
+##    Transformed into accepting argJSON as input 
+##    and reporting new format of jobReport.json
+##    J. Guenther (February 2017)
+#########################################################################
+
+import sys, string, commands, os.path, os, json, time, pprint, xmlrpclib, traceback
+#sami
+import hashlib
+
+#########################################################################
+
+# Utility function
+
+def getSubFileMap(fname, nevts=0) :
+    if os.path.isfile(fname) :
+        sz = os.path.getsize(fname)
+        map = { 'name': fname,
+                'file_size' : sz,
+                'nentries' : nevts,
+              }
+    else : 
+        map = {}
+    return map
+
+def publish_success_to_mq(run, ptag, stream, incr, ami, procpass, hcfg, isprod):
+  import stomp, json, os, ssl
+  from DataQualityUtils import stompconfig
+  dest='/topic/atlas.dqm.progress'
+  conn=stomp.Connection([('atlas-mb.cern.ch', 61013)], **stompconfig.config())
+  conn.start()
+  conn.connect(wait=True)
+
+  body = {
+    'run': run,
+    'project_tag': ptag,
+    'stream': stream,
+    'ami': ami,
+    'pass': procpass,
+    'hcfg': hcfg,
+    }
+  headers = {
+    'MsgClass':'DQ', 
+    'MsgType': (('' if isprod else 'Development') +
+                ('WebDisplayRunComplete' if not incr else 'WebDisplayIncremental')),
+    'type':'textMessage', 
+    'persistent': 'true',
+    'destination': dest,
+    }
+  conn.send(message=json.dumps(body), destination=dest,headers=headers,ack='auto')
+  conn.disconnect()
+
+#########################################################################
+
+def genmd5sum(filename):
+  md5summer=hashlib.md5()
+  if os.path.isfile(filename):
+    try:
+      infil=open(filename,'rb')
+      while True:
+        fs=infil.read(8192)
+        if not fs:
+          break
+        md5summer.update(fs)
+    finally:
+        infil.close()
+  print "md5 sum of the \"%s\" is %s"%(filename,md5summer.hexdigest())
+  return
+      
+def dq_combined_trf(jsonfile, outmap):
+
+  print "\n##################################################################"
+  print   "## STEP 1: creating file with list of root files ..."
+  print   "##################################################################\n"
+  
+  nfiles=0
+
+  try:
+    # extract parameters from json file
+    print "Using json file ", jsonfile, " for input parameters"
+    f = open(jsonfile, 'r')
+    parmap = json.load(f)
+    f.close()
+
+    print "\nFull Tier-0 run options:\n"
+    pprint.pprint(parmap)
+
+    inputfilelist = parmap.get('inputHistFiles', [])
+    nfiles = len(inputfilelist) 
+    histMergeCompressionLevel=parmap.get('histMergeCompressionLevel', 1)
+    histMergeDebugLevel=parmap.get('histMergeDebugLevel', 0)
+  except: 
+    outmap['exitCode'] = 101
+    outmap['exitAcronym'] = 'TRF_NOINPUT'
+    outmap['exitMsg'] = 'Trouble reading json input dict.'
+    traceback.print_exc()
+    return
+  
+  if not nfiles :   # problem with job definition or reading json file
+    outmap['exitCode'] = 102
+    outmap['exitAcronym'] = 'TRF_NOINPUT'
+    outmap['exitMsg'] = 'Empty input file list.'
+    return
+
+  histtmpflist = []
+  nevts = 0
+
+  try:
+    if isinstance(inputfilelist[0], unicode) :  
+      histtmpdsname = (inputfilelist[0]).split('#')[0]
+      for val in inputfilelist :
+        histtmpflist.append(val.split('#')[1])
+    
+    elif isinstance(inputfilelist[0], dict) :
+      histtmpdsname = inputfilelist[0]['dsn']
+      for fdict in inputfilelist :
+        histtmpflist.append(fdict['lfn'])
+        nevt = fdict.get('events', 0)
+        if nevt is None:
+          nevt=0
+          print "WARNING Can't get number of events from input json file"
+        nevts+=nevt
+  
+    f = open('hist_merge.list', 'w')
+    txtstr = ""
+    for hf in histtmpflist : 
+      txtstr += "%s\n" % hf
+    f.write(txtstr)
+    f.close()
+
+    cmd = "cat hist_merge.list"
+    (s,o) = commands.getstatusoutput(cmd)
+    print "\nContents of file hist_merge.list:\n"
+    print o
+  except:
+    outmap['exitCode'] = 103
+    outmap['exitAcronym'] = 'TRF_INPUTINFO'
+    outmap['exitMsg'] = 'ERROR: crash in assembling input file list (STEP 1)'
+    traceback.print_exc()
+    return
+
+  try:
+    print "\n##################################################################"
+    print   "## STEP 2: determining job parameters..."
+    print   "##################################################################\n"
+
+    # output file
+    histdsname = (parmap['outputHistFile']).split('#')[0]
+    histfile = (parmap['outputHistFile']).split('#')[1]
+    amitag = histfile.split('.')[5]
+
+
+    # incremental mode on/off
+    incr = parmap.get('incrementalMode', 'False') 
+    
+    # post-processing on/off
+    postproc = parmap.get('postProcessing', 'True')
+
+    # database uploading on/off
+    allowCOOLUpload = parmap.get('allowCOOLUpload', 'True')
+
+    # do web display
+    doWebDisplay = parmap.get('doWebDisplay', 'True')
+
+    # production mode
+    productionMode = parmap.get('productionMode', 'True')
+    if productionMode != 'True' and incr == 'True':
+      print("Production mode is not True, turning off incremental mode")
+      incr = 'False'
+    
+    # get file paths, put into environment vars
+    filepaths = parmap.get('filepaths', None)
+    if filepaths and isinstance(filepaths, dict):
+      if 'basename' not in filepaths:
+        print("Improperly formed 'filepaths' (no 'basename')")
+      else:
+        for evtclass in ('Collisions', 'Cosmics', 'HeavyIons'):
+          if evtclass not in filepaths:
+            print("Improperly formed 'filepaths' (no '%s')" % evtclass)
+          else:
+            clinfo = filepaths[evtclass]
+            for timeclass in ('run', 'minutes10', 'minutes30'):
+              if timeclass not in clinfo:
+                print("Improperly formed 'filepaths[%s]' (no '%s')" % (evtclass, timeclass))
+              else:
+                dqcenvvar = 'DQC_HCFG_%s_%s' % (evtclass.upper(), timeclass.upper())
+                fpath = os.path.join(filepaths['basename'], clinfo[timeclass])
+                print("Setting %s = %s" % (dqcenvvar, fpath))
+                os.environ[dqcenvvar] = fpath
+
+    # extract info from dataset name
+    # AMI project name
+    # override if tag has been specified in parmap
+    try :
+      dqproject = histdsname.split('.')[0]
+    except :
+      dqproject = 'data_test'
+    dqproject = parmap.get('projectTag', dqproject)
+    
+    # run number
+    if parmap.has_key('runNumber') : 
+      runnr = parmap['runNumber']
+    else :
+      try :
+        runnr = int(histdsname.split('.')[1])
+      except :
+        runnr = 1234567890
+
+    # stream name  
+    if parmap.has_key('streamName') : 
+      stream = parmap['streamName']
+    else :
+      try :
+        stream = histdsname.split('.')[2]
+      except :
+        stream = 'test_dummy'
+    
+    # processing pass number  
+    MAX_XMLRPC_TRIES = 5 
+    if parmap.has_key('procNumber') : 
+      procnumber = parmap['procNumber']
+    else :
+      n_xmlrpc_tries = 1
+      while n_xmlrpc_tries <= MAX_XMLRPC_TRIES :
+        procnumber = 99
+        try :
+          xmlrpcserver = xmlrpclib.ServerProxy('http://atlasdqm.cern.ch:8888')
+          procnumber = xmlrpcserver.get_next_proc_pass(runnr, stream, 'tier0')
+          break 
+        except :
+          print 'Web service connection failed, attempt', n_xmlrpc_tries, 'of', MAX_XMLRPC_TRIES
+          n_xmlrpc_tries += 1
+          if n_xmlrpc_tries <= MAX_XMLRPC_TRIES:
+            time.sleep(20*2**n_xmlrpc_tries)
+
+    print "Job parameters:\n"
+    print "  Run number:      ", runnr
+    print "  Stream name:     ", stream
+    print "  Processing pass: ", procnumber
+    print "  Incremental mode:", incr
+    print "  Post-processing: ", postproc
+    print "  COOL uploads:    ", allowCOOLUpload
+    print "  Production mode: ", productionMode
+
+  except:
+    outmap['exitCode'] = 104
+    outmap['exitAcronym'] = 'TRF_JOBPARS'
+    outmap['exitMsg'] = 'Error in determining job parameters (STEP 2).'
+    traceback.print_exc()
+    return
+
+  try:
+    print "\n##################################################################"
+    print   "## STEP 3: running histogram merging procedure ..."
+    print   "##################################################################\n"
+
+    # environment setting
+    os.environ['DQPRODUCTION'] = '1' if productionMode == 'True' else '0'
+    print "Setting env variable DQPRODUCTION to %s\n" % os.environ['DQPRODUCTION']
+    os.environ['DQ_STREAM'] = stream
+    print "Setting env variable DQ_STREAM to %s\n" % os.environ['DQ_STREAM']
+    os.environ['COOLUPLOADS'] = '1' if allowCOOLUpload == 'True' and productionMode == 'True' else '0'
+    print "Setting env variable COOLUPLOADS to %s\n" % os.environ['COOLUPLOADS']
+
+    if postproc == 'True' :
+      if incr == 'True':
+        cmd = "python -u `which DQHistogramMerge.py` hist_merge.list %s 1 1 %d %d " % (histfile,histMergeCompressionLevel,histMergeDebugLevel)
+      else:        
+        cmd = "python -u `which DQHistogramMerge.py` hist_merge.list %s 1 0 %d %d"  % (histfile,histMergeCompressionLevel,histMergeDebugLevel)
+    else :  
+      cmd = "python -u `which DQHistogramMerge.py` hist_merge.list %s 0 0 %d %d"    % (histfile,histMergeCompressionLevel,histMergeDebugLevel)
+    
+    print "Histogram merging command:\n"
+    print cmd
+    print "\n##################################################################\n"
+    
+    print "## ... logfile from DQHistogramMerge.py: "
+    print "--------------------------------------------------------------------------------"
+    tstart = time.time()
+    # execute command
+    retcode1 = os.system(cmd)
+    print "--------------------------------------------------------------------------------"
+    t1 = time.time()
+    dt1 = int(t1 - tstart)
+    
+    print "\n## DQHistogramMerge.py finished with retcode = %s" % retcode1
+    print   "## ... elapsed time: ", dt1, " sec"
+
+    if retcode1 != 0 :
+      outmap['exitCode'] = retcode1
+      outmap['exitAcronym'] = 'TRF_DQMHISTMERGE_EXE'
+      outmap['exitMsg'] = 'ERROR: DQHistogramMerge.py execution problem! (STEP 3).'
+      print "ERROR: DQHistogramMerge.py execution problem!"
+      retcode = retcode1
+      txt = 'DQHistogramMerge.py execution problem'
+      try:
+        try:
+          infilelist=open('hist_merge.list','r')
+          for infname in infilelist:
+            genmd5sum(infname.rstrip(os.linesep))
+        finally:
+            infilelist.close()
+        genmd5sum(histfile)
+        DQResFile="DQResourceUtilization.txt"
+        if os.path.exists(DQResFile):
+          print "dumping resource utilization log"
+          with open(DQResFile) as resfile:
+            for resline in resfile:
+              print resline,
+      except:
+        outmap['exitMsg'] = 'ERROR: DQHistogramMerge.py execution problem + problem dumping DQResourceUtilization! (STEP 3).'
+        traceback.print_exc()
+        print "ERROR: DQHistogramMerge.py execution problem + problem dumping DQResourceUtilization!"
+      return
+
+    if postproc == 'True' and incr == 'False':
+      print "\n##################################################################"
+      print "## STEP 3b: copying postprocessing output to AFS ..."
+      print "##################################################################\n"
+
+      cmd = "python -u `which DQFileMove.py` %s %s_%s_%s" % (dqproject, runnr, stream, procnumber)
+
+      print "File move command:\n"
+      print cmd
+      print "\n##################################################################\n"
+
+      print "## ... logfile from DQFileMove.py: "
+      print "--------------------------------------------------------------------------------"
+      # execute command
+      retcode1b = os.system(cmd)
+      print "--------------------------------------------------------------------------------"
+      t1b = time.time()
+      dt1b = int(t1b - t1)
+      t1 = t1b
+
+      print "\n## DQFileMove.py finished with retcode = %s" % retcode1b
+      print   "## ... elapsed time: ", dt1b, " sec"
+  except:
+      outmap['exitCode'] = 105
+      outmap['exitAcronym'] = 'TRF_DQMHISTMERGE_EXE'
+      outmap['exitMsg'] = 'ERROR: Failure in histogram merging or copying postprocessing output to AFS (STEP 3/3b).'
+      traceback.print_exc()
+      return
+
+  try:
+    retcode2 = 0
+    dt2 = 0
+    if doWebDisplay == 'True':
+      print "\n##################################################################"
+      print   "## STEP 4: running web-display creation procedure ..."
+      print   "##################################################################\n"
+
+      cmd = "python -u `which DQWebDisplay.py` %s %s %s %s stream=%s" % (histfile, dqproject, procnumber, incr, stream)
+
+      print "Web display creation command:\n"
+      print cmd
+      print "\n##################################################################\n"
+
+      print "## ... logfile from DQWebDisplay.py: "
+      print "--------------------------------------------------------------------------------"
+      # execute command
+      retcode2 = os.system(cmd)
+      print 'DO NOT REPORT "Error in TH1: cannot merge histograms" ERRORS! THESE ARE IRRELEVANT!'
+      print "--------------------------------------------------------------------------------"
+      t2 = time.time()
+      dt2 = int(t2 - t1)
+
+      print "\n## DQWebDisplay.py finished with retcode = %s" % retcode2
+      print   "## ... elapsed time: ", dt2, " sec"
+      if not (retcode2 >> 8) in (0, 5) :
+        print "ERROR: DQWebDisplay.py execution problem!"
+        outmap['exitCode'] = retcode2
+        outmap['exitAcronym'] = 'TRF_DQMDISPLAY_EXE'
+        outmap['exitMsg'] = 'ERROR: DQWebDisplay.py execution problem! (STEP 4).'
+        try:
+          infilelist=open('hist_merge.list','r')
+          for infname in infilelist:
+            genmd5sum(infname.rstrip(os.linesep))
+        finally:
+          infilelist.close()
+        genmd5sum(histfile)
+        return
+      if productionMode == 'True': 
+          try:
+              print 'Publishing to message service'
+              publish_success_to_mq(runnr, dqproject, stream, incr=(incr=='True'), ami=amitag, procpass=procnumber, hcfg=filepaths, isprod=(productionMode=='True'))
+          except:
+              outmap['exitCode'] = 106
+              outmap['exitAcronym'] = 'TRF_DQMDISPLAY_EXE'
+              outmap['exitMsg'] = 'ERROR: Failure in publishing info to messaging service (STEP 4).'
+              traceback.print_exc()
+              return
+    else:
+      print "\n##################################################################"
+      print   "## WEB DISPLAY CREATION SKIPPED BY USER REQUEST"
+      print   "##################################################################\n"
+      print 'Web display off, not publishing to message service'
+  except: 
+    outmap['exitCode'] = 106
+    outmap['exitAcronym'] = 'TRF_DQMDISPLAY_EXE'
+    outmap['exitMsg'] = 'ERROR: Failure in web-display creation procedure (STEP 4).'
+    print 'ERROR: Failure in web-display creation procedure (STEP 4).'
+    traceback.print_exc()
+    return
+  
+  print "\n##################################################################"
+  print   "## STEP 5: finishing the job ..."
+  print   "##################################################################\n"
+        
+  # get info for report json file
+  try:
+    outfiles = [getSubFileMap(histfile, nevts=nevts)]
+    # assemble job report map
+    outmap['files']['output'][0]['dataset'] = histdsname
+    outmap['files']['output'][0]['subFiles'] = outfiles
+    outmap['resource']['transform']['processedEvents'] = long(nevts)
+    return
+  except: 
+    outmap['exitCode'] = 107
+    outmap['exitAcronym'] = 'TRF_JOBREPORT'
+    outmap['exitMsg'] = 'ERROR: in job report creation (STEP 5)'
+    print "ERROR: in job report creation (STEP 5) !"
+    traceback.print_exc()
+    return
+
+def dq_trf_wrapper(jsonfile):
+  print "\n##################################################################"
+  print   "##              ATLAS Tier-0 Offline DQM Processing             ##"
+  print   "##################################################################\n"
+
+  outmap = { 'exitAcronym' : 'OK',
+               'exitCode' : 0,
+               'exitMsg' : 'trf finished OK',
+               'files' : { 'output' : [{ 'dataset' : '',
+                                         'subFiles' : [ {},
+                                                      ]}
+                                    ] },
+                'resource' : { 'transform' : { 'processedEvents' : 0L } }
+                 }
+
+  # dq_combined_trf will update outmap
+  tstart = time.time()
+  dq_combined_trf(jsonfile, outmap)
+  outmap['resource']['transform']['wallTime'] = int(time.time() - tstart) 
+   
+  # dump json report map
+  f = open('jobReport.json', 'w')
+  json.dump(outmap, f)
+  f.close()
+
+  # summarize status
+  print "\n## ... job finished with retcode : %s" % outmap['exitCode']
+  print   "## ... error acronym: ", outmap['exitAcronym']
+  print   "## ... job status message: ", outmap['exitMsg']
+  print   "## ... elapsed time: ", outmap['resource']['transform']['wallTime'], "sec"
+  print   "##"
+  print   "##################################################################"
+  print   "## End of job."
+  print   "##################################################################\n"
+
+
+########################################
+## main()
+########################################
+
+if __name__ == "__main__":
+
+  if (len(sys.argv) != 2) and (not sys.argv[1].startswith('--argJSON=')) :
+    print "Input format wrong --- use "
+    print "   --argJSON=<json-dictionary containing input info> "
+    print "   with key/value pairs: "
+    print "     1) 'inputHistFiles': python list "
+    print "          ['datasetname#filename1', 'datasetname#filename2',...] (input dataset + file names) "
+    print "        or list of file dictionaries "
+    print "          [{'lfn':'fname1', 'checksum':'cks1', 'dsn':'dsn1', 'size':sz1, 'guid':'guid1', 'events':nevts1, ...}, " 
+    print "           {'lfn':'fname2', 'checksum':'cks2', 'dsn':'dsn2', 'size':sz2, 'guid':'guid2', 'events':nevts2, ...}, ...] "
+    print "     2) 'outputHistFile': string 'datasetname#filename' "
+    print "        (HIST output dataset name + file) "
+    print "     optional parameters: "
+    print "     3) 'incrementalMode': string ('True'/'False') "
+    print "        ('True': do incremental update of DQM webpages on top of existing statistics; "
+    print "         'False': create final DQM webpages, replace temporary ones) "
+    print "     4) 'postProcessing': string ('True'/'False', default: 'True') "
+    print "        ('False': run histogram merging and DQ assessment only; "
+    print "         'True': run additional post-processing step (fitting, etc.)) "
+    print "     5) 'procNumber': int (number of processing pass, e.g. 1,2, ...) "
+    print "     6) 'runNumber': int "  
+    print "     7) 'streamName': string (e.g., physics_IDCosmic, physics_Express, ...) "  
+    print "     8) 'projectTag': string (e.g., data10_7TeV, TrigDisplay)"
+    print "     9) 'allowCOOLUpload': string ('True'/'False', default: 'True')"
+    print "        ('True': allow upload of defects to database; "
+    print "         'False': do not upload defects to database)"
+    sys.exit(-1)
+  
+  else :
+    jsonfile = sys.argv[1][len('--argJSON='):]
+    dq_trf_wrapper(jsonfile)
+  
diff --git a/DataQuality/DataQualityUtils/scripts/DQM_Tier0Wrapper_trf.py b/DataQuality/DataQualityUtils/scripts/DQM_Tier0Wrapper_trf.py
index 810b1c553b10..173f2f5a4c16 100755
--- a/DataQuality/DataQualityUtils/scripts/DQM_Tier0Wrapper_trf.py
+++ b/DataQuality/DataQualityUtils/scripts/DQM_Tier0Wrapper_trf.py
@@ -300,6 +300,7 @@ def dq_combined_trf(picklefile):
 
     # environment setting
     os.environ['DQPRODUCTION'] = '1' if productionMode == 'True' else '0'
+    os.environ['DQ_STREAM'] = stream
     print "Setting env variable DQPRODUCTION to %s\n" % os.environ['DQPRODUCTION']
     os.environ['COOLUPLOADS'] = '1' if allowCOOLUpload == 'True' and productionMode == 'True' else '0'
     print "Setting env variable COOLUPLOADS to %s\n" % os.environ['COOLUPLOADS']
diff --git a/DataQuality/DataQualityUtils/scripts/checkCorrelInHIST.py b/DataQuality/DataQualityUtils/scripts/checkCorrelInHIST.py
index 21c97ad3dd1a..4f56fa1f26ee 100644
--- a/DataQuality/DataQualityUtils/scripts/checkCorrelInHIST.py
+++ b/DataQuality/DataQualityUtils/scripts/checkCorrelInHIST.py
@@ -39,7 +39,7 @@ import string
 import argparse
 import xmlrpclib
 
-import pathExtract         
+from DataQualityUtils import pathExtract         
 
 from ROOT import TFile,TCanvas,TBox,TPaveText,TColor
 from ROOT import TH1,TH2,TH1I,TH1D,TH2D
diff --git a/DataQuality/DataQualityUtils/scripts/hotSpotInHIST.py b/DataQuality/DataQualityUtils/scripts/hotSpotInHIST.py
index 0c28384caadc..78ea304591cb 100644
--- a/DataQuality/DataQualityUtils/scripts/hotSpotInHIST.py
+++ b/DataQuality/DataQualityUtils/scripts/hotSpotInHIST.py
@@ -36,7 +36,7 @@ import os, sys
 import string
 import argparse,xmlrpclib
 
-import pathExtract         
+from DataQualityUtils import pathExtract         
 
 from ROOT import TFile,TCanvas,TBox,TColor,TLegend
 from ROOT import TH1,TH2,TH1I
@@ -211,8 +211,8 @@ if (objectType == "EMTopoJets_eta"):
 # Tau
 if (objectType == "Tau"):
   histoPath  = {"NoCut":"run_%d/Tau/tauPhiVsEta"%(runNumber),
-                "Et15GeV":"run_%d/Tau/tauPhiVsEta_et15"%(runNumber),
-                "Et15GeVBdtLoose":"run_%d/Tau/tauPhiVsEta_et15_BDTLoose"%(runNumber)}
+                "Et15GeV":"run_%d/Tau/tauPhiVsEtaEt15"%(runNumber),
+                "Et15GeVBdtLoose":"run_%d/Tau/tauPhiVsEtaEt15BDTLoose"%(runNumber)}
   histoLegend = {"NoCut":"Et > 4GeV",
                  "Et15GeV":"Et > 10GeV",
                  "Et15GeVBdtLoose":"Et > 15GeV-BDT loose"}
diff --git a/DataQuality/DataQualityUtils/scripts/hotSpotInTAG.py b/DataQuality/DataQualityUtils/scripts/hotSpotInTAG.py
index 48b677a87cfb..4c3860cbed85 100644
--- a/DataQuality/DataQualityUtils/scripts/hotSpotInTAG.py
+++ b/DataQuality/DataQualityUtils/scripts/hotSpotInTAG.py
@@ -23,7 +23,7 @@ import os, sys
 import string,math
 from math import fabs
 import argparse
-import pathExtract
+from DataQualityUtils import pathExtract
 
 import ROOT
 from ROOT import *
@@ -130,7 +130,7 @@ if tagDirectory=="": # TAG files stored on EOS
   listOfFiles = pathExtract.returnEosTagPath(run,stream,amiTag,tag)
   if len(listOfFiles)>0:
     for files in listOfFiles:
-      tree.AddFile("root://eosatlas.cern.ch/%s"%(files))
+      tree.AddFile("root://eosatlas/%s"%(files))
       print "I chained the file %s"%(files)
   else:
     print "No file found on EOS.Exiting..."
diff --git a/DataQuality/DataQualityUtils/scripts/physval_make_web_display.py b/DataQuality/DataQualityUtils/scripts/physval_make_web_display.py
index ece67fc82208..f11fe0c7c2a1 100755
--- a/DataQuality/DataQualityUtils/scripts/physval_make_web_display.py
+++ b/DataQuality/DataQualityUtils/scripts/physval_make_web_display.py
@@ -35,7 +35,7 @@ def recurse(rdir, dqregion, ignorepath, refs=None, displaystring='Draw=PE', disp
         if ' ' in key.GetName():
             print 'WARNING: cannot have spaces in histogram names for han config; not including %s %s' % (cl, key.GetName())
             continue
-        if rcl.InheritsFrom('TH1'):
+        if rcl.InheritsFrom('TH1') or rcl.InheritsFrom('TGraph') or rcl.InheritsFrom('TEfficiency'):
             if '/' in key.GetName():
                 print 'WARNING: cannot have slashes in histogram names, encountered in directory %s, histogram %s' % (rdir.GetPath(), key.GetName())
                 continue
@@ -74,6 +74,8 @@ def recurse(rdir, dqregion, ignorepath, refs=None, displaystring='Draw=PE', disp
             if options.ratio: drawstrs.append('RatioPad')
             #if options.ratio: drawstrs.append('Ref2DSignif')
             if options.ratio2D: drawstrs.append('Ref2DRatio')
+            if options.ratiorange is not None:
+              drawstrs.append('delta(%f)' % options.ratiorange)
 
             drawstrs.append('DataName=%s' % options.title)
             dqpar.addAnnotation('display', ','.join(drawstrs))
@@ -226,7 +228,8 @@ def super_process(fname, options):
                                            hanoutput,
                                            options.outdir,
                                            '', False, False, 
-                                           'https://atlasdqm.web.cern.ch/atlasdqm/js/')
+                                           'https://atlasdqm.web.cern.ch/atlasdqm/js/',
+                                           3 if options.jsRoot else 1)
 ##            print '====> Copying to', hantargetdir
 ##            hantargetfile = os.path.join(hantargetdir, 'out_han.root')
 ##            if not os.access(hantargetdir, os.W_OK):
@@ -291,7 +294,10 @@ if __name__=="__main__":
                       help='Draw histograms with ratio plots')
     parser.add_option('--ratio2D', default=False, action='store_true',
                       help='Draw 2D histograms with ratio plots')
-
+    parser.add_option('--jsRoot',action='store_true', default=False,
+                      help="make interactive jsRoot displays")
+    parser.add_option('--ratiorange', default=None, type=float,
+                      help='set range for ratio plots (as delta to 1.0)')
 
     options, args = parser.parse_args()
     
diff --git a/DataQuality/DataQualityUtils/scripts/readTier0HIST.py b/DataQuality/DataQualityUtils/scripts/readTier0HIST.py
index a46ff408bf2d..c871a9b7dadb 100644
--- a/DataQuality/DataQualityUtils/scripts/readTier0HIST.py
+++ b/DataQuality/DataQualityUtils/scripts/readTier0HIST.py
@@ -18,7 +18,7 @@ import os, sys
 import argparse
 import xmlrpclib
 
-import pathExtract         
+from DataQualityUtils import pathExtract
 
 from ROOT import TFile,TBrowser
 from ROOT import gStyle
diff --git a/DataQuality/DataQualityUtils/scripts/readTier0LARNOISE.py b/DataQuality/DataQualityUtils/scripts/readTier0LARNOISE.py
index 70428e4bc952..31dbeefa551b 100644
--- a/DataQuality/DataQualityUtils/scripts/readTier0LARNOISE.py
+++ b/DataQuality/DataQualityUtils/scripts/readTier0LARNOISE.py
@@ -14,10 +14,10 @@
 import os, sys  
 import argparse
 
-import pathExtract         
+from DataQualityUtils import pathExtract         
 import xmlrpclib
 
-from ROOT import TFile,TBrowser
+from ROOT import TFile,TBrowser,TChain
 from ROOT import gStyle
 
 gStyle.SetPalette(1)
@@ -65,7 +65,7 @@ tree = TChain("CollectionTree")
 print listOfFiles
 for fileNames in listOfFiles:
   print "Adding %s"%(fileNames)
-  tree.AddFile("root://eosatlas.cern.ch/%s"%(fileNames))
+  tree.AddFile("root://eosatlas/%s"%(fileNames))
 
 entries = tree.GetEntries()
 if entries != 0:
diff --git a/DataQuality/DataQualityUtils/scripts/readTier0TAGs.py b/DataQuality/DataQualityUtils/scripts/readTier0TAGs.py
index 4e80211c19d7..bd31946cc4a4 100644
--- a/DataQuality/DataQualityUtils/scripts/readTier0TAGs.py
+++ b/DataQuality/DataQualityUtils/scripts/readTier0TAGs.py
@@ -14,14 +14,12 @@
 import os, sys  
 import argparse
 
-import pathExtract         
+from DataQualityUtils import pathExtract         
 import xmlrpclib
 
 from ROOT import TFile,TChain
 from ROOT import gStyle
 
-
-#gROOT.Reset()
 gStyle.SetPalette(1)
 gStyle.SetOptStat("em")
   
@@ -67,7 +65,7 @@ tree = TChain("POOLCollectionTree")
 file = {}
 for fileNames in listOfFiles:
   print "Adding %s"%(fileNames)
-  tree.AddFile("root://eosatlas.cern.ch/%s"%(fileNames))
+  tree.AddFile("root://eosatlas/%s"%(fileNames))
 
 entries = tree.GetEntries()
 if entries != 0:
diff --git a/DataQuality/DataQualityUtils/src/HanOutputFile.cxx b/DataQuality/DataQualityUtils/src/HanOutputFile.cxx
index 270e7e2207ae..adb22229ecbe 100644
--- a/DataQuality/DataQualityUtils/src/HanOutputFile.cxx
+++ b/DataQuality/DataQualityUtils/src/HanOutputFile.cxx
@@ -10,6 +10,7 @@
 #include "DataQualityInterfaces/HanUtils.h"
 
 #include <sstream>
+#include <fstream>
 #include <cstdlib>
 #include <boost/algorithm/string/case_conv.hpp>
 #include <boost/lexical_cast.hpp>
@@ -31,6 +32,10 @@
 #include <TF1.h>
 #include <TMath.h>
 #include <THStack.h>
+#include <TImage.h>
+#include <TBufferJSON.h>
+#include <TString.h>
+#include <TEfficiency.h>
 
 #define BINLOEDGE(h,n) h->GetXaxis()->GetBinLowEdge(n)
 #define BINWIDTH(h,n) h->GetXaxis()->GetBinWidth(n)
@@ -164,8 +169,7 @@ getAllAssessments( AssMap_t& dirmap, TDirectory* dir )
   TKey* key;
   while( (key = dynamic_cast<TKey*>( next() )) != 0 ) {
     TObject* obj = key->ReadObj();
-    //TH1* h = dynamic_cast<TH1*>( obj );
-    if( dynamic_cast<TH1*>(obj) || dynamic_cast<TGraph*>(obj) ) {
+    if( dynamic_cast<TH1*>(obj) || dynamic_cast<TGraph*>(obj) || dynamic_cast<TEfficiency*>(obj) ) {
       const char * path(dir->GetPath() ); 
       std::string assName( obj->GetName() );
       AssMap_t::value_type AssmapVal(assName, path);
@@ -260,6 +264,12 @@ getNEntries( std::string location, std::string histname )
     Nentries = g->GetN();
     delete g;
   }
+  TEfficiency* e(0);
+  gDirectory->GetObject( histname.c_str(),e );
+  if ( e != 0 ) {
+    Nentries = e->GetCopyTotalHisto()->GetEntries();
+    delete e;
+  }
   
   return Nentries;
 }
@@ -272,6 +282,8 @@ getNEntries( const TObject* obj )
     return h->GetEntries();
   } else if (const TGraph* g = dynamic_cast<const TGraph*>(obj)) {
     return g->GetN();
+  } else if (const TEfficiency* e = dynamic_cast<const TEfficiency*>(obj)) {
+    return e->GetCopyTotalHisto()->GetEntries();
   } else {
     std::cerr << "HanOutputFile::getNEntries(): "
 	      << "provided object is not a histogram or graph\n";
@@ -787,7 +799,7 @@ streamAllHistograms( std::ostream& o, bool streamAll )
 
 int
 HanOutputFile::
-saveAllHistograms( std::string location, bool drawRefs, std::string run_min_LB ) 
+saveAllHistograms( std::string location, bool drawRefs, std::string run_min_LB ,int cnvsType)
 {
   if( m_file == 0 ) {
     std::cerr << "HanOutputFile::saveAllHistograms(): "
@@ -824,7 +836,7 @@ saveAllHistograms( std::string location, bool drawRefs, std::string run_min_LB )
       completeDir += "/";
       std::cout << "Saving " << completeDir << " " << hisName << "\n" << std::flush;
       bool isSaved = saveHistogramToFile(hisName,completeDir,idir->second,drawRefs,run_min_LB,
-                                         (hisPath + "/" + hisName));
+                                         (hisPath + "/" + hisName),cnvsType);
       if( isSaved )
         ++nSaved;
     }
@@ -832,10 +844,46 @@ saveAllHistograms( std::string location, bool drawRefs, std::string run_min_LB )
   return nSaved;
 }
 
+void getImageBuffer(TImage* img, TCanvas* myC, char** x, int* y){
+  img->FromPad(myC);
+  img->GetImageBuffer(x, y, TImage::kPng);
+}
 
-bool
+bool HanOutputFile::saveHistogramToFile( std::string nameHis, std::string location, TDirectory* groupDir, bool drawRefs,std::string run_min_LB, std::string pathName,int cnvsType){
+  std::pair<std::string,std::string> pngAndJson = getHistogram(nameHis,groupDir,drawRefs,run_min_LB,pathName,cnvsType);
+  //std::string tosave = getHistogramPNG(nameHis, groupDir, drawRefs, run_min_LB, pathName);
+  if (pngAndJson.first== "") {
+    return false;
+  }
+  std::string namePNG   = nameHis;
+  std::string nameJSON  = nameHis;
+
+  namePNG   +=".png";
+  nameJSON  +=".json";
+
+  std::string::size_type i = location.find_last_of( '/' );
+  if( i != (location.size()-1) ) {
+    location+="/";
+  }
+  namePNG   = location + namePNG;
+  nameJSON  = location + nameJSON;
+
+  return saveFile(cnvsType, namePNG,pngAndJson.first,nameJSON,pngAndJson.second);
+}
+
+std::string
 HanOutputFile::
-saveHistogramToFile( std::string nameHis, std::string location, TDirectory* groupDir, bool drawRefs,std::string run_min_LB, std::string pathName){
+getHistogramPNG( std::string nameHis, TDirectory* groupDir, bool drawRefs,std::string run_min_LB, std::string pathName){
+    int cnvsType = 0;
+    return getHistogram(nameHis, groupDir,drawRefs,run_min_LB,pathName,cnvsType).first;
+}
+
+std::pair<std::string,std::string> HanOutputFile:: getHistogramJSON( std::string nameHis, TDirectory* groupDir, bool drawRefs,std::string run_min_LB, std::string pathName){
+    int cnvsType = 1;
+    return getHistogram(nameHis, groupDir,drawRefs,run_min_LB,pathName,cnvsType);
+}
+
+std::pair<std::string,std::string> HanOutputFile:: getHistogram( std::string nameHis, TDirectory* groupDir, bool drawRefs, std::string run_min_LB, std::string pathName,int cnvsType){
   dqi::DisableMustClean disabled;
   groupDir->cd();
  
@@ -860,6 +908,10 @@ saveHistogramToFile( std::string nameHis, std::string location, TDirectory* grou
   gStyle->SetStatW(0.2);
   gStyle->SetStatH(0.1);
   
+  char* x;
+  int y;
+  std::string json;
+  TImage* img = TImage::Create();  
 
   gROOT->SetBatch();
   std::string pathname( groupDir->GetPath() );
@@ -935,7 +987,7 @@ saveHistogramToFile( std::string nameHis, std::string location, TDirectory* grou
   TKey* hkey = groupDir->FindKey( nameHis.c_str() );
   if( hkey == 0 ) {
     std::cerr << "Did not find TKey for \"" << nameHis << "\", will not save this histogram.\n";
-    return false;
+    return std::pair<std::string,std::string>{"",""};
   }
   TLegend* legend(0);
   TObject* hobj = hkey->ReadObj();
@@ -947,14 +999,15 @@ saveHistogramToFile( std::string nameHis, std::string location, TDirectory* grou
   TH1* h = dynamic_cast<TH1*>( hobj );
   TH2* h2 = dynamic_cast<TH2*>( h );
   TGraph* g = dynamic_cast<TGraph*>( hobj );
+  TEfficiency* e = dynamic_cast<TEfficiency*>( hobj );
 
   std::string name=nameHis;
-  name+=".png";
+  /*  name+=".png";
   std::string::size_type i = location.find_last_of( '/' );
   if( i != (location.size()-1) ) {
     location+="/";
   }
-  name=location + name;
+  name=location + name; */
   std::string AlgoName=getStringName(pathname+"/"+nameHis+"_/Config/name");
   int ww = 550;
   int wh = 490;
@@ -967,7 +1020,6 @@ saveHistogramToFile( std::string nameHis, std::string location, TDirectory* grou
   }
 
   if( h!=0 ){     
-
     TCanvas *myC = new TCanvas( nameHis.c_str(), "myC", ww, wh );
 
     // if(  h->GetMinimum() >= 0) {
@@ -1002,26 +1054,26 @@ saveHistogramToFile( std::string nameHis, std::string location, TDirectory* grou
       std::size_t fpos1,fpos2,fpos;
       fpos=display.find("MinStat");
       if (fpos!= std::string::npos){
-	fpos1=display.find("(",fpos+1);
-	if (fpos1!=std::string::npos) {
-	  fpos2 = display.find(")",fpos1+1);
-	  if (fpos2!=std::string::npos) {
-	    std::string s_minstat=display.substr(fpos1+1,fpos2-fpos1-1);
-	    minstat=std::strtod(s_minstat.c_str(),NULL);
-    	  }
+  fpos1=display.find("(",fpos+1);
+  if (fpos1!=std::string::npos) {
+    fpos2 = display.find(")",fpos1+1);
+    if (fpos2!=std::string::npos) {
+      std::string s_minstat=display.substr(fpos1+1,fpos2-fpos1-1);
+      minstat=std::strtod(s_minstat.c_str(),NULL);
+        }
     
-	}
+  }
       }
       std::string fitopt("");
       fpos=display.find("FitOption");
       if (fpos!= std::string::npos){
-	  fpos1=display.find("(",fpos+1);
-	  if (fpos1!=std::string::npos) {
-	    fpos2 = display.find(")",fpos1+1);
-	    if (fpos2!=std::string::npos) {
-	      fitopt=display.substr(fpos1+1,fpos2-fpos1-1);
-	    }    
-	  }
+          fpos1=display.find("(",fpos+1);
+          if (fpos1!=std::string::npos) {
+              fpos2 = display.find(")",fpos1+1);
+              if (fpos2!=std::string::npos) {
+                  fitopt=display.substr(fpos1+1,fpos2-fpos1-1);
+              }    
+          }
       }
       //plot double gaus
       std::size_t found1 = display.find("doublegaus");
@@ -1157,14 +1209,14 @@ saveHistogramToFile( std::string nameHis, std::string location, TDirectory* grou
                   << "Inconsistent x-axis settings:  min=" << h->GetXaxis()->GetXmin() << ", "
                   << "max=" << h->GetXaxis()->GetXmax() << ", "
                   << "Will not save this histogram.\n";
-        return false;
+        return std::pair<std::string,std::string>{"",""};
       }
       if( h->GetYaxis()->GetXmin() >= h->GetYaxis()->GetXmax() ) {
         std::cerr << "HanOutputFile::saveHistogramToFile(): "
                   << "Inconsistent y-axis settings:  min=" << h->GetYaxis()->GetXmin() << ", "
                   << "max=" << h->GetYaxis()->GetXmax() << ", "
                   << "Will not save this histogram.\n";
-        return false;
+        return std::pair<std::string,std::string>{"",""};
       }
       axisOption(display,h2);
       if (drawopt =="") {
@@ -1201,8 +1253,8 @@ saveHistogramToFile( std::string nameHis, std::string location, TDirectory* grou
       tt.SetNDC();
       tt.SetTextSize(0.03);
       tt.DrawLatex(0.02,0.01,pathName.c_str());
-
-      myC->SaveAs( name.c_str() );
+      
+      convertToGraphics(cnvsType,myC,json,img,&x,&y);
 
     } else if( h != 0 ){
       formatTH1( myC, h );
@@ -1214,7 +1266,7 @@ saveHistogramToFile( std::string nameHis, std::string location, TDirectory* grou
                   << "Inconsistent x-axis settings:  min=" << h->GetXaxis()->GetXmin() << ", "
                   << "max=" << h->GetXaxis()->GetXmax() << ", "
                   << "Will not save this histogram.\n";
-        return false;
+        return std::pair<std::string,std::string>{"",""};
       }
       h->SetLineColor(kBlack);
       h->SetMarkerColor(1);
@@ -1390,9 +1442,7 @@ saveHistogramToFile( std::string nameHis, std::string location, TDirectory* grou
       displayExtra(myC,display);
       myC->RedrawAxis();
 
-      if (hRef) {
-	ratioplot(myC ,h,hRef,display);      //RatioPad
-      }
+      ratioplot(myC ,h,hRef,display);      //RatioPad
       myC->cd();//might be unnecessary
       polynomial(myC,display,h); //draw polynome for TH1
 
@@ -1404,7 +1454,9 @@ saveHistogramToFile( std::string nameHis, std::string location, TDirectory* grou
       tt.SetNDC();
       tt.SetTextSize(0.03);
       tt.DrawLatex(0.02,0.01,pathName.c_str());
-      myC->SaveAs(name.c_str());
+
+      convertToGraphics(cnvsType,myC,json,img,&x,&y);
+
     }
     delete myC;
     gStyle->Reset();
@@ -1435,20 +1487,49 @@ saveHistogramToFile( std::string nameHis, std::string location, TDirectory* grou
     tt.SetNDC();
     tt.SetTextSize(0.03);
     tt.DrawLatex(0.02,0.01,pathName.c_str());
-    myC->SaveAs( name.c_str() );
+    //myC->SaveAs( name.c_str() );
+   
+    convertToGraphics(cnvsType,myC,json,img,&x,&y);
+
+    delete myC;
+    gStyle->Reset();
+  }
+
+  /*************************************************************************************************************/
+  if( e != 0 ) {
+    TCanvas *myC = new TCanvas( nameHis.c_str(), "myC", ww, wh );
+    myC->cd();
+    formatTEfficiency( myC, e );
+    e->Draw((std::string("AP") + drawopt).c_str());
+    displayExtra(myC,display);
+    TLatex t;
+    t.SetNDC();
+    t.SetTextSize(0.03);
+    t.DrawLatex(0.02,0.04,run_min_LB.c_str());
+    TLatex tt;
+    tt.SetNDC();
+    tt.SetTextSize(0.03);
+    tt.DrawLatex(0.02,0.01,pathName.c_str());
+    convertToGraphics(cnvsType,myC,json,img,&x,&y);
     delete myC;
     gStyle->Reset();
   }
 
+
+  std::string rv(x, y);
+  std::pair<std::string,std::string>rvPair{rv,json};
+
+  delete img;
   delete hobj;
   delete hRef;
   delete legend;
-  return true;
+  return rvPair;
+  
 }
 
 bool HanOutputFile::saveHistogramToFileSuperimposed( std::string nameHis, std::string location, 
 				 TDirectory* groupDir1, TDirectory* groupDir2, 
-				 bool drawRefs,std::string run_min_LB, std::string pathName){
+				 bool drawRefs,std::string run_min_LB, std::string pathName,int cnvsType){
   dqi::DisableMustClean disabled;
   groupDir1->cd();
   gStyle->SetFrameBorderMode(0);
@@ -1509,14 +1590,19 @@ bool HanOutputFile::saveHistogramToFileSuperimposed( std::string nameHis, std::s
   TH1* h(0),*hist2(0);
   TH2* h2(0),*h2_2(0),*h2Diff(0);
   TGraph* g(0),*g2(0);
+  TEfficiency *e(0), *e2(0);
 
-  std::string name=nameHis;
-  name+=".png";
+  std::string json;
+  std::string nameJSON  = nameHis;
+  std::string namePNG   = nameHis;
+  namePNG+=".png";
+  nameJSON+=".json";
   std::string::size_type i = location.find_last_of( '/' );
   if( i != (location.size()-1) ) {
     location+="/";
   }
-  name=location + name;
+  namePNG   =location + namePNG;
+  nameJSON  =location + nameJSON;
   std::string AlgoName=getStringName(pathname+"/"+nameHis+"_/Config/name");
   int ww = 550;
   int wh = 490;
@@ -1562,7 +1648,8 @@ bool HanOutputFile::saveHistogramToFileSuperimposed( std::string nameHis, std::s
       tt.SetTextSize(0.03);
       tt.DrawLatex(0.02,0.01,pathName.c_str());
 
-      myC->SaveAs( name.c_str() );
+      convertToGraphics(cnvsType,myC,namePNG,nameJSON);
+
     } else if( h != 0 && hist2!=0){
       h->SetMarkerColor(1);
       h->SetFillStyle(0);
@@ -1599,7 +1686,9 @@ bool HanOutputFile::saveHistogramToFileSuperimposed( std::string nameHis, std::s
       tt.SetNDC();
       tt.SetTextSize(0.03);
       tt.DrawLatex(0.02,0.01,pathName.c_str());
-      myC->SaveAs(name.c_str());
+
+      convertToGraphics(cnvsType,myC,namePNG,nameJSON);
+
     } //end histogram drawing
     delete myC;
     delete h2Diff;
@@ -1628,7 +1717,35 @@ bool HanOutputFile::saveHistogramToFileSuperimposed( std::string nameHis, std::s
     tt.SetNDC();
     tt.SetTextSize(0.03);
     tt.DrawLatex(0.02,0.01,pathName.c_str());
-    myC->SaveAs( name.c_str() );
+
+    convertToGraphics(cnvsType,myC,namePNG,nameJSON);
+    
+    delete myC;
+    gStyle->Reset();
+  }
+
+  if(((e = dynamic_cast<TEfficiency*>(hobj))!=0 ) && ((e2=dynamic_cast<TEfficiency*>(hobj2))!=0) ){
+    TCanvas *myC = new TCanvas( nameHis.c_str(), "myC", ww, wh );
+    myC->cd();
+
+    formatTEfficiency( myC, e );
+    formatTEfficiency( myC, e2 );
+    e->Draw((std::string("AP") + drawopt).c_str());
+    displayExtra(myC,display);
+    e2->SetMarkerColor(2);
+    e2->SetLineColor(2);
+    e2->Draw((std::string("P") + drawopt+" same").c_str());
+    TLatex t;
+    t.SetNDC();
+    t.SetTextSize(0.03);
+    t.DrawLatex(0.02,0.04,run_min_LB.c_str());
+    TLatex tt;
+    tt.SetNDC();
+    tt.SetTextSize(0.03);
+    tt.DrawLatex(0.02,0.01,pathName.c_str());
+    
+    convertToGraphics(cnvsType,myC,namePNG,nameJSON);
+    
     delete myC;
     gStyle->Reset();
   }
@@ -2127,16 +2244,13 @@ void HanOutputFile::ratioplot (TCanvas* myC_upperpad ,TH1* h,TH1* hRef,std::stri
     TProfile* ph    = dynamic_cast<TProfile*>( h );
     TH1F *clonehist   ;
     TH1F *clonehistref;
-    //transform if profiles
-    if( ph != 0 ) {
+    if( ph != 0 ) {//profile
+      std::cout<<"it is a TProfile\n";
       clonehist=(TH1F*)ph->ProjectionX();
-    } else {
-      clonehist=(TH1F*)h->Clone();
-      clonehist->Sumw2();
-    }
-    if ( phRef != 0 ) {
       clonehistref=(TH1F*)phRef->ProjectionX();
     }else{
+      clonehist=(TH1F*)h->Clone();
+      clonehist->Sumw2();
       clonehistref=(TH1F*)hRef->Clone();
       clonehistref->Sumw2();
     }
@@ -2146,7 +2260,14 @@ void HanOutputFile::ratioplot (TCanvas* myC_upperpad ,TH1* h,TH1* hRef,std::stri
     
     formatTH1( myC_ratiopad, clonehist);
     clonehist->SetTitle("");
-    clonehist->SetAxisRange(0.25,1.75,"Y");
+
+    // extract delta value from string that holds the draw options
+    double delta = 0.75;
+    if (display.find("delta(") != std::string::npos) {
+      delta = std::stod(display.substr(display.find("delta(") + 6));
+    }
+    clonehist->SetAxisRange(1. - delta, 1. + delta, "Y");
+
     clonehist->GetYaxis()->SetNdivisions(3, true);
     clonehist->SetMarkerStyle(1);
     clonehist->Draw("E");
@@ -2576,6 +2697,14 @@ formatTGraph( TCanvas* c, TGraph* g ) const
   g->SetMarkerStyle(20);
 }
 
+void HanOutputFile::formatTEfficiency( TCanvas* c, TEfficiency* e ) const {
+  if( c == 0 || e == 0 ) return;
+  c->SetLeftMargin(0.15);
+  c->SetRightMargin(0.13);
+  c->SetBottomMargin(0.15);
+  c->SetTopMargin(0.12);
+}
+
 // *********************************************************************
 // Protected Methods
 // *********************************************************************
@@ -2603,6 +2732,69 @@ clearData()
 //   gROOT->SetMustClean(useRecursiveDelete);
 }
 
+bool
+HanOutputFile::
+writeToFile(std::string fname ,std::string content)
+{
+    std::ofstream outfile(fname);
+    if (!outfile.is_open()){
+        std::cerr << "Error writing file to " << fname <<std::endl;
+        return false;
+    }
+    outfile<<content;
+    outfile.close();
+    return true;
+}
+
+void HanOutputFile::
+convertToGraphics(int cnvsType, TCanvas* myC,std::string &json, TImage *img,char **x, int *y)
+{
+    int GENERATE_PNG        = 1; // Make PNG with TImage
+    int GENERATE_JSON       = 2; // Make JSON
+    if (cnvsType & GENERATE_PNG) 
+    {
+        if(img) getImageBuffer(img,myC,x,y);
+    }
+    if (cnvsType & GENERATE_JSON)
+    {
+        json = TBufferJSON::ConvertToJSON(myC);
+    }
+}
+
+void HanOutputFile::
+convertToGraphics(int cnvsType, TCanvas* myC,std::string namePNG,std::string nameJSON)
+{
+    int GENERATE_PNG        = 1; // Make PNG with TImage
+    int GENERATE_JSON       = 2; // Make JSON
+    if (cnvsType & GENERATE_PNG) 
+    {
+        myC->SaveAs(namePNG.c_str());
+    }
+    if (cnvsType & GENERATE_JSON)
+    {
+        std::string json = std::string(TBufferJSON::ConvertToJSON(myC));
+        writeToFile(nameJSON,json);
+    }
+}
+
+bool HanOutputFile::
+saveFile(int cnvsType, std::string pngfName,std::string pngContent, std::string jsonfName, std::string jsonfContent)
+{
+    int GENERATE_PNG        = 1; // Make PNG with TImage
+    int GENERATE_JSON       = 2; // Make JSON
+
+    bool png =false;
+    bool json=false;
+    if (cnvsType & GENERATE_PNG) 
+    {
+      png   = writeToFile(pngfName,pngContent);
+    }
+    if (cnvsType & GENERATE_JSON) 
+    {
+      json  = writeToFile(jsonfName,jsonfContent);
+    }
+    return (png || json);
+}
 
 } // namespace dqutils
 
diff --git a/DataQuality/DataQualityUtils/src/MonitoringFile.cxx b/DataQuality/DataQualityUtils/src/MonitoringFile.cxx
index 951ea9669a3d..f80b65917e6b 100644
--- a/DataQuality/DataQualityUtils/src/MonitoringFile.cxx
+++ b/DataQuality/DataQualityUtils/src/MonitoringFile.cxx
@@ -37,6 +37,7 @@
 #include <TKey.h>
 #include <TROOT.h>
 #include <TTree.h>
+#include <TEfficiency.h>
 
 ClassImp(dqutils::MonitoringFile)
 
@@ -570,6 +571,7 @@ mergeDirectory( TDirectory* outputDir, const std::vector<TFile*>& inputFiles, bo
 
          TH1* h(0);
          TGraph* g(0);
+         TEfficiency* e(0);
          TDirectory* d(0);
          TTree* t(0);
          TObject* targetObj(0);
@@ -579,9 +581,13 @@ mergeDirectory( TDirectory* outputDir, const std::vector<TFile*>& inputFiles, bo
 //          g = dynamic_cast<TGraph*>( obj.get() );
 //          t = dynamic_cast<TTree*>( obj.get() );
 
-         if((targetDir)&&((h = dynamic_cast<TH1*>( obj.get() )) ||  //merge only objects below target directory
-	     (g = dynamic_cast<TGraph*>( obj.get() ))|| 
-		((keyName != "metadata") && (t = dynamic_cast<TTree*>( obj.get() )))))  {
+         //merge only objects below target directory
+         if ( (targetDir) && (  (h = dynamic_cast<TH1*>(obj.get()))
+                             || (g = dynamic_cast<TGraph*>(obj.get()))
+                             ||((t = dynamic_cast<TTree*>(obj.get())) && (keyName!="metadata"))
+                             || (e = dynamic_cast<TEfficiency*>(obj.get()))
+                             ) 
+            ) {
 	   //skip cases where regexp doesn't match object name, all directories are processed by default
 	   if(m_useRE){
 	     if(!boost::regex_search(keyName,*m_mergeMatchHistoRE)){
@@ -615,6 +621,12 @@ mergeDirectory( TDirectory* outputDir, const std::vector<TFile*>& inputFiles, bo
                         << "  TTree \"" << keyName << "\" requests merging type " << mergeType
                         << " but only default merging implemented for TTrees\n";
                }
+               if( e && (md.merge != "<default>") ) {
+                  std::cerr << "MonitoringFile::mergeDirectory(): "
+                        << "In directory \"" << inputDir->GetPath() << "\",\n"
+                        << "  TEfficiency \"" << keyName << "\" requests merging type " << mergeType
+                        << " but only default merging implemented for TEfficiency\n";
+               }
             }else {
                std::cerr << "MonitoringFile::mergeDirectory(): "
                   << "In directory \"" << inputDir->GetPath() << "\",\n"
@@ -742,7 +754,7 @@ void
 MonitoringFile::
 mergeFiles( std::string outFileName, const std::vector<std::string>& files )
 {
-  //dqi::DisableMustClean disabled;
+  dqi::DisableMustClean disabled;
   TH1::AddDirectory(false);
   if(m_useRE){
     std::cout<<" ========== Using regular expressions for selective merging ========== "<<std::endl;
@@ -1401,6 +1413,12 @@ execute( TGraph* graph )
   return true;
 }
 
+bool MonitoringFile::CopyHistogram::execute( TEfficiency* eff ) {
+  m_target->cd();
+  eff->Write();
+  return true;
+}
+
 
 bool
 MonitoringFile::CopyHistogram::
@@ -1437,6 +1455,18 @@ executeMD( TGraph* graph, const MetaData& md )
 }
 
 
+bool MonitoringFile::CopyHistogram::executeMD( TEfficiency* eff, const MetaData& md ) {
+  m_target->cd();
+  eff->Write();
+  copyString( m_nameData, md.name );
+  copyString( m_intervalData, md.interval );
+  copyString( m_chainData, md.chain );
+  copyString( m_mergeData, md.merge );
+  m_metadata->Fill();
+  return true;
+}
+
+
 void
 MonitoringFile::CopyHistogram::
 copyString( char* to, const std::string& from )
@@ -1490,6 +1520,22 @@ execute( TGraph* graph )
 }
 
 
+bool MonitoringFile::GatherStatistics::execute( TEfficiency* eff ) {
+  ++m_nEfficiency;
+  
+  TH1* h_total = eff->GetCopyPassedHisto();
+  TH2* h_total2D = dynamic_cast<TH2*>( h_total );
+
+  if( h_total2D != 0 ) {
+    m_nEfficiencyBins += (h_total2D->GetNbinsX() * h_total2D->GetNbinsY());
+    return true;
+  } else {
+    m_nEfficiencyBins += h_total->GetNbinsX();
+    return true;
+  }
+}
+
+
 MonitoringFile::GatherNames::
 GatherNames()
 {
@@ -1514,6 +1560,12 @@ execute( TGraph* graph )
 }
 
 
+bool MonitoringFile::GatherNames::execute( TEfficiency* eff ) {
+  m_names.push_back( std::string(eff->GetName()) );
+  return true;
+}
+
+
 void
 MonitoringFile::
 clearData()
@@ -1582,15 +1634,15 @@ loopOnHistograms( HistogramOperation& fcn, TDirectory* dir )
   TKey* key;
   while( (key = dynamic_cast<TKey*>( next() )) != 0 ) {
     TObject* obj = key->ReadObj();
-    TH1* h = dynamic_cast<TH1*>( obj );
-    if( h != 0 ) {
+    TH1* h(0);
+    TGraph* g(0);
+    TEfficiency* e(0);
+    if ((h = dynamic_cast<TH1*>(obj))) {
       fcn.execute( h );
-    }
-    else {
-      TGraph* g = dynamic_cast<TGraph*>( obj );
-      if( g != 0 ) {
-        fcn.execute( g );
-      }
+    } else if ((g = dynamic_cast<TGraph*>(obj))) {
+      fcn.execute( g );
+    } else if ((e = dynamic_cast<TEfficiency*>(obj))) {
+      fcn.execute( e );
     }
     delete obj;
   }
@@ -1738,6 +1790,7 @@ int MonitoringFile::mergeObjs(TObject *objTarget, TObject *obj, std::string merg
    TH2 *h2=0, *nextH2=0;
    TGraph *g=0; 
    TTree *t=0;
+   TEfficiency *e=0;
 
 //    h = dynamic_cast<TH1*>( objTarget );
 //    g = dynamic_cast<TGraph*>( objTarget );
@@ -1794,6 +1847,16 @@ int MonitoringFile::mergeObjs(TObject *objTarget, TObject *obj, std::string merg
      listG.Add( nextG );
      g->Merge( &listG );
      listG.Clear();
+   }else if( (e = dynamic_cast<TEfficiency*>( objTarget )) ) {  // TEfficiencies
+     if( mergeType != "<default>" ) {
+       std::cerr << name << ": TEfficiency " << obj->GetName() << " request mergeType = " << mergeType
+     << " but only default merging implemented for TEfficiencies.\n";              
+     }
+     TEfficiency *nextE = dynamic_cast<TEfficiency*>( obj );
+     TList listE;
+     listE.Add( nextE );
+     e->Merge( &listE );
+     listE.Clear();
    }else if ((t = dynamic_cast<TTree*>( objTarget ))) { // TTrees
      if ( debugLevel >= VERBOSE) {
        std::cout << "Merging Tree " << obj->GetName() << std::endl;
@@ -1908,7 +1971,8 @@ int MonitoringFile::mergeLB_createListOfHistos(TDirectory *dir_top, TDirectory *
       std::string keyClassName(key->GetClassName());
       if( ( (keyClassName.size() > 2) && ( (keyClassName.substr(0,3) == "TH1") || (keyClassName.substr(0,3) == "TH2")  ) ) ||
           ( (keyClassName.size() > 7) && ( (keyClassName.substr(0,8) == "TProfile") ) ) || 
-          ( (keyClassName.size() > 5) && ( (keyClassName.substr(0,6) == "TGraph") ) ) ) {
+          ( (keyClassName.size() > 5) && ( (keyClassName.substr(0,6) == "TGraph") ) ) ||
+          ( (keyClassName.size() > 10) && ( (keyClassName.substr(0,11) == "TEfficiency") ) ) ) {
          if( debugLevel >= VERBOSE )
             std::cout << name << ": found object: " << key->GetName();  
 
@@ -2178,7 +2242,7 @@ void MonitoringFile::buildLBToIntervalMap(std::vector<TDirectory*>& v_dirLBs, st
 					<< v_splits[1] << std::endl;
     try {
       v_ranges.push_back(std::make_pair(*dirit, std::make_pair(boost::lexical_cast<int>(v_splits[0]), boost::lexical_cast<int>(v_splits[1]))));
-    } catch (const boost::bad_lexical_cast& e) {
+    } catch (boost::bad_lexical_cast e) {
       std::cerr << "Unable to cast to integers: " << v_splits[0] << " " 
 		<< v_splits[1] << std::endl;
     }
diff --git a/DataQuality/DataQualityUtils/src/MonitoringFile_HLTJetPostProcess.cxx b/DataQuality/DataQualityUtils/src/MonitoringFile_HLTJetPostProcess.cxx
index e36ab289eeaf..1f25a9b566fc 100644
--- a/DataQuality/DataQualityUtils/src/MonitoringFile_HLTJetPostProcess.cxx
+++ b/DataQuality/DataQualityUtils/src/MonitoringFile_HLTJetPostProcess.cxx
@@ -36,6 +36,8 @@
 
 namespace dqutils {
 
+  static const bool hltjet_debug = false;
+
   void 
   MonitoringFile::HLTJetPostProcess( std::string inFilename, bool /* isIncremental */ ) 
   {
diff --git a/DataQuality/DataQualityUtils/src/MonitoringFile_HLTMETPostProcess.cxx b/DataQuality/DataQualityUtils/src/MonitoringFile_HLTMETPostProcess.cxx
index c44591fde9d7..0fe1fdb0eff4 100644
--- a/DataQuality/DataQualityUtils/src/MonitoringFile_HLTMETPostProcess.cxx
+++ b/DataQuality/DataQualityUtils/src/MonitoringFile_HLTMETPostProcess.cxx
@@ -36,6 +36,8 @@
 
 namespace dqutils {
 
+  static const bool hltmet_debug = false;
+
   void 
   MonitoringFile::HLTMETPostProcess( std::string inFilename, bool /* isIncremental */ ) 
   {
diff --git a/DataQuality/DataQualityUtils/src/MonitoringFile_HLTMuonHistogramDivision.cxx b/DataQuality/DataQualityUtils/src/MonitoringFile_HLTMuonHistogramDivision.cxx
index fb25403aec48..41738295d353 100644
--- a/DataQuality/DataQualityUtils/src/MonitoringFile_HLTMuonHistogramDivision.cxx
+++ b/DataQuality/DataQualityUtils/src/MonitoringFile_HLTMuonHistogramDivision.cxx
@@ -110,7 +110,7 @@ namespace dqutils {
       TString muon_dir = run_dir + "/HLT/MuonMon/";
 
       TString cm_dir = muon_dir + "Common/";
-      TString mf_dir = muon_dir + "muFast/";
+      TString mf_dir = muon_dir + "L2MuonSA/";
       TString mc_dir = muon_dir + "muComb/";
       TString mi_dir = muon_dir + "muIso/";
       TString tm_dir = muon_dir + "TileMu/";
@@ -136,10 +136,11 @@ namespace dqutils {
       TH1F* h1num(0);
       TH1F* h1den(0);
       TH1F* h1sumeff(0); // new YY
+      TH1F *h1effsum(nullptr);
       TGraphAsymmErrors* h1tmpg;
 
       //==Efficiency
-      //  muFast efficiency
+      //  L2MuonSA efficiency
       TDirectory* dir = mf.GetDirectory(eff_dir);
       if(!dir){
 	std::cerr<< "HLTMuonHistogramDivision: directory "<<eff_dir<<" not found"<<std::endl;
@@ -147,11 +148,11 @@ namespace dqutils {
       }
 
       std::vector<TString> effnames;
-      effnames.push_back("muFast_effi_toRecMuonCB_pt");
-      effnames.push_back("muFast_effi_toRecMuonCB_pt_barrel");
-      effnames.push_back("muFast_effi_toRecMuonCB_pt_endcap");
-      effnames.push_back("muFast_effi_toRecMuonCB_eta");
-      effnames.push_back("muFast_effi_toRecMuonCB_phi");
+      effnames.push_back("L2MuonSA_effi_toRecMuonCB_pt");
+      effnames.push_back("L2MuonSA_effi_toRecMuonCB_pt_barrel");
+      effnames.push_back("L2MuonSA_effi_toRecMuonCB_pt_endcap");
+      effnames.push_back("L2MuonSA_effi_toRecMuonCB_eta");
+      effnames.push_back("L2MuonSA_effi_toRecMuonCB_phi");
 
       for( std::vector<TString>::iterator it = effnames.begin(); it != effnames.end(); it++ ){
 	seff = eff_dir + (*it);
@@ -491,8 +492,10 @@ namespace dqutils {
 	//iSTDL = 54;  // 15 GeV
 	iSTDH = 75; // 25 GeV
       }else{
-	iSTDL = 91;  // 40 GeV
+	iSTDL = 105;  // 60 GeV
+	//iSTDL = 91;  // 40 GeV
 	iSTDH = 120; // 100 GeV
+	//iSTDH = 120; // 100 GeV
       }
       int iMSL = 105;  // 60 GeV
       int iMSH = 120;  // 100 GeV
@@ -503,7 +506,7 @@ namespace dqutils {
       }
       // YY added:
       enum ieffAlgo {
-	iMuFast = 0,   // StdAlgo
+	iL2MuonSA = 0,   // StdAlgo
 	iMuComb = 1,   // StdAlgo
 	iEFCB   = 2,   // StdAlgo
 	iMuGirl = 3,   // StdAlgo
@@ -512,8 +515,8 @@ namespace dqutils {
       };
 
       //  Standard Chains
-      //TString m_alg[5] = {"_MuFast", "_MuComb", "_MuonEFMS", "_MuonEFSA", "_MuonEFCB"};
-      //TString m_wrtalg[5] = {"_L1", "_MuFast", "_MuComb", "_MuComb", "_MuComb"};
+      //TString alg[5] = {"_L2MuonSA", "_MuComb", "_MuonEFMS", "_MuonEFSA", "_MuonEFCB"};
+      //TString wrtalg[5] = {"_L1", "_L2MuonSA", "_MuComb", "_MuComb", "_MuComb"};
 
       // ******************************************************//
       // start the code add by Yuan //
@@ -673,14 +676,14 @@ namespace dqutils {
 	  continue;
 	}
 
-	int iSTDL = 39;
+	int iSTDL = 75;//25GeV
 	int iSTDH = 120;
 	if(HI_pp_key){//HI run 4-25GeV
 	  iSTDL = 17;
 	  iSTDH = 75;				
 	}
 	double sumeff, sumerr;
-	double sumn = h1numb->Integral(iSTDL, iSTDH); // 10-100 GeV
+	double sumn = h1numb->Integral(iSTDL, iSTDH); // 60-100 GeV
 	double sumd = h1denb->Integral(iSTDL, iSTDH);
 	if (sumd == 0.) {
 	  sumeff = 0.;
@@ -702,6 +705,7 @@ namespace dqutils {
 	  sumeff = (double)sumn / (double) sumd;
 	  sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd;
 	}
+	h1sumL->GetYaxis()->SetTitle("Efficiency");     				  
 	h1sumL->SetBinContent(2, sumeff);
 	h1sumL->SetBinError(2, sumerr);
         h1sumL->SetMinimum(0.0);
@@ -774,7 +778,7 @@ namespace dqutils {
 	  continue;
 	}
 
-	sumn = h1num_mu0_15->Integral(iSTDL, iSTDH); // 10-100 GeV
+	sumn = h1num_mu0_15->Integral(iSTDL, iSTDH); // 25-100 GeV
 	sumd = h1den_mu0_15->Integral(iSTDL, iSTDH);
 	if (sumd == 0.) {
 	  sumeff = 0.;
@@ -808,16 +812,19 @@ namespace dqutils {
 	  sumeff = (double)sumn / (double) sumd;
 	  sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd;
 	}
+	h1sum_mu->GetYaxis()->SetTitle("Efficiency");     				  
 	h1sum_mu->SetBinContent(3, sumeff);
 	h1sum_mu->SetBinError(3, sumerr);
+	h1sum_mu->SetMaximum(1.05);
+	h1sum_mu->SetMinimum(0.0);
 	dir->cd();
 	h1sum_mu->Write("",TObject::kOverwrite);
 	mf.Write();
       }
       //  end of the code add by Yuan //
       // ******************************************************//
-      TString alg2[3] = {"_MuFast", "_MuonEFMS", "_MuonEFSA"};
-      TString wrtalg2[3] = {"_L1", "_MuFast", "_MuFast"};
+      TString alg2[3] = {"_L2MuonSA", "_MuonEFMS", "_MuonEFSA"};
+      TString wrtalg2[3] = {"_L1", "_L2MuonSA", "_L2MuonSA"};
 
       // ******************************************************//
       // ******************  MSonly Chains ********************//
@@ -888,7 +895,7 @@ namespace dqutils {
 		  }
 		  int iholx = -1;
 		  if (0 == alg) {
-		    iholx = static_cast<int>(iMuFast);
+		    iholx = static_cast<int>(iL2MuonSA);
 		  } else if (2 == alg) {
 		    iholx = static_cast<int>(iEFSA);
 		  }
@@ -905,6 +912,7 @@ namespace dqutils {
 		    }
 		    h1sumeff->SetBinContent(iholx+1, sumeff);
 		    h1sumeff->SetBinError(iholx+1, sumerr);
+                    h1sumeff->GetYaxis()->SetTitleOffset(1.3);
                     h1sumeff->SetMinimum(0.0);
 	            h1sumeff->SetMaximum(1.05);
 		    // saving
@@ -979,7 +987,7 @@ namespace dqutils {
 	      }
 	      int iholx = -1;
 	      if (0 == alg) {
-		iholx = static_cast<int>(iMuFast);
+		iholx = static_cast<int>(iL2MuonSA);
 	      } else if (2 == alg) {
 		iholx = static_cast<int>(iEFSA);
 	      }
@@ -994,6 +1002,7 @@ namespace dqutils {
 		  }
 		  continue;
 		}
+                h1sumeff->GetYaxis()->SetTitleOffset(1.3);
 		h1sumeff->SetBinContent(iholx+1, sumeff);
 		h1sumeff->SetBinError(iholx+1, sumerr);
   	        h1sumeff->SetMinimum(0.0);
@@ -1013,7 +1022,7 @@ namespace dqutils {
 	    // for ES, L1 ------------------------------------------------------------
 	    if (0 == alg) {
 	      sden = nd_dir + chainName + triggerES[ies] + "_Turn_On_Curve_wrt_MuidSA_Denominator";
-	      snum = nd_dir + chainName + triggerES[ies] + "_MuFast" + "_Turn_On_Curve_wrt" + "_L1" + "_Denominator";
+	      snum = nd_dir + chainName + triggerES[ies] + "_L2MuonSA" + "_Turn_On_Curve_wrt" + "_L1" + "_Denominator";
 	      seff = eff_dir + chainName + triggerES[ies] + "_L1" + "_Turn_On_Curve_wrt_MuidSA";
 	      seffg = seff + "_Fit";
 	      stmp = chainName + triggerES[alg] + "_L1"+"_Turn_On_Curve_wrt_MuidSA";
@@ -1060,7 +1069,7 @@ namespace dqutils {
 
 	      for (int be = 0; be < 2; be++) {
 		sden = nd_dir + chainName + triggerES[ies] + "_Turn_On_Curve_wrt_MuidSA" + bestr[be] + "_Denominator";
-		snum = nd_dir + chainName + triggerES[ies] + "_MuFast" + "_Turn_On_Curve_wrt" + "_L1" + bestr[be] + "_Denominator";
+		snum = nd_dir + chainName + triggerES[ies] + "_L2MuonSA" + "_Turn_On_Curve_wrt" + "_L1" + bestr[be] + "_Denominator";
 		seff  = eff_dir + chainName + triggerES[ies] + "_L1" + bestr[be] + "_Turn_On_Curve_wrt_MuidSA";
 		seffg = seff + "_Fit";
 		stmp = chainName + triggerES[ies] + "_L1" + bestr[be] + "_Turn_On_Curve_wrt_MuidSA";
@@ -1167,7 +1176,7 @@ namespace dqutils {
 		  }
 		  int iholx = -1;
 		  if (0 == alg) {
-		    iholx = static_cast<int>(iMuFast);
+		    iholx = static_cast<int>(iL2MuonSA);
 		  } else if (2 == alg) {
 		    iholx = static_cast<int>(iEFSA);
 		  }
@@ -1182,6 +1191,7 @@ namespace dqutils {
 		      }
 		      continue;
 		    }
+                    h1sumeff->GetYaxis()->SetTitleOffset(1.3);
 		    h1sumeff->SetBinContent(iholx+1, sumeff);
 		    h1sumeff->SetBinError(iholx+1, sumerr);
                     h1sumeff->SetMinimum(0.0);
@@ -1779,14 +1789,14 @@ namespace dqutils {
 	    }
 
 	    if(h1num && h1den){
-	      h1tmp = (TH1F*)h1den->Clone();
-	      h1tmp->SetName(stmp);                          				
-	      h1tmp->SetTitle(stmp);                         			  
-	      h1tmp->GetYaxis()->SetTitle("Efficiency");     				  
-	      h1tmp->Reset();                                				  
-	      h1tmp->Divide(h1num, h1den, 1., 1., "B");      				  
-	      dir->cd();                                    				  
-	      h1tmp->Write();
+	     // h1tmp = (TH1F*)h1den->Clone();
+	     // h1tmp->SetName(stmp);                          				
+	     // h1tmp->SetTitle(stmp);                         			  
+	    //  h1tmp->GetYaxis()->SetTitle("Efficiency");     				  
+	    //  h1tmp->Reset();                                				  
+	    //  h1tmp->Divide(h1num, h1den, 1., 1., "B");      				  
+	    //  dir->cd();                                    				  
+	    //  h1tmp->Write();
 	      h1tmpg = new TGraphAsymmErrors();
 	      h1tmpg->SetName(stmpg);
 	      h1tmpg->SetMarkerStyle(20);
@@ -1795,7 +1805,7 @@ namespace dqutils {
 	      h1tmpg->BayesDivide(h1num, h1den);
 	      h1tmpg->GetYaxis()->SetTitle("Efficiency");     				  
 	      h1tmpg->GetXaxis()->SetTitle(h1den->GetXaxis()->GetTitle());     				  
-	      dir->cd();
+	      ztpdir->cd();
 	      h1tmpg->Write();
 	      delete h1tmpg;
 	    }
@@ -1933,7 +1943,7 @@ namespace dqutils {
 	//const int MAXARR = 3;
 	//std::string charr[MAXARR] = {"mu36_tight", "mu24i_tight", "mu50_MSonly_barrel_tight"};
 	//std::string monarr[MAXARR] = {"_EFmuon", "_EFmuon", "_MuonEFSA"};
-	//std::string monL2arr[MAXARR] = {"_MuFast", "_MuFast", "_MuFast"};
+	//std::string monL2arr[MAXARR] = {"_L2MuonSA", "_L2MuonSA", "_L2MuonSA"};
 	//bool isBarrelMon[MAXARR] = {false, false, true}; // enable MSonly
 	//bool isMSbMon[MAXARR] = {true, false, false}; // Skip isol and MSonly
 	//bool monL1[MAXARR] = {true, true, false}; // Skip MSonly
@@ -1943,7 +1953,7 @@ namespace dqutils {
 	const int MAXARR = 6;
 	std::string charr[MAXARR] = {"muChain1", "muChain2", "muChainEFiso1", "muChainEFiso2","muChainMSonly1","muChainMSonly2"};
 	std::string monarr[MAXARR] = {"_EFmuon", "_EFmuon", "_EFmuon", "_EFmuon", "_MuonEFSA", "_MuonEFSA"};
-	std::string monL2arr[MAXARR] = {"_MuFast", "_MuFast", "_MuFast", "_MuFast", "_MuFast", "_MuFast"};
+	std::string monL2arr[MAXARR] = {"_L2MuonSA", "_L2MuonSA", "_L2MuonSA", "_L2MuonSA", "_L2MuonSA", "_L2MuonSA"};
 	bool isBarrelMon[MAXARR] = {false, false, false, false, true, true}; // enable MSonly
 	bool isMSbMon[MAXARR] = {true, true,false, false,false, false}; // Skip isol and MSonly
 	bool monL1[MAXARR] = {true, true, true, true, false, false}; // Skip MSonly
@@ -2006,6 +2016,7 @@ namespace dqutils {
 		sumeff = (double)sumn / (double) sumd;
 		sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd;
 	      }
+	      h1eff->GetYaxis()->SetTitle("Efficiency");     				  
 	      h1eff->SetBinContent(ibin-1, sumeff);  ////
 	      h1eff->SetBinError(ibin-1, sumerr);    ////
 	      h1eff->SetMinimum(0.0);
@@ -2016,8 +2027,8 @@ namespace dqutils {
 	  /* 3. Picking up chainDQ MSonly graph   abandoned !!!*/
 	  /* EF efficiency wrt L1, as for the ztp graph = overall HLT efficiency wrt L1: not possible, wrt offline 
 	     if (isMSbMon[ialg]) {  // skip muIso and MSonly !!!
-	     TString histChNum = nd_dir + chainName + m_MSchainName + MoniAlg + "_Turn_On_Curve_Numerator";
-	     TString histChDen = nd_dir + chainName + m_MSchainName + MoniL2Alg + "_Turn_On_Curve_wrt_L1_Denominator";
+	     TString histChNum = nd_dir + chainName + MSchainName + MoniAlg + "_Turn_On_Curve_Numerator";
+	     TString histChDen = nd_dir + chainName + MSchainName + MoniL2Alg + "_Turn_On_Curve_wrt_L1_Denominator";
 
 	     h1num = 0; mf.get(histChNum, h1num);
 	     if (!h1num) {
@@ -2100,9 +2111,11 @@ namespace dqutils {
 
 	    double sumeff, sumerr;
 	    double sumn = h1numb->Integral(13, 25); // 12-25 GeV
-	    if(HI_pp_key)sumn = h1numb->Integral(7, 10); // 30-50 GeV
+	    if(HI_pp_key)sumn = h1numb->Integral(13, 20); // 60-100 GeV
+	    //if(HI_pp_key)sumn = h1numb->Integral(7, 10); // 30-50 GeV
 	    double sumd = h1denb->Integral(13, 25);
-	    if(HI_pp_key)sumd = h1denb->Integral(7, 10);
+	    if(HI_pp_key)sumd = h1denb->Integral(13, 20);
+	    //if(HI_pp_key)sumd = h1denb->Integral(7, 10);
 	    if (sumd == 0.) {
 	      sumeff = 0.;
 	      sumerr = 0.;
@@ -2114,9 +2127,11 @@ namespace dqutils {
 	    h1sumL->SetBinError(1, sumerr);
 
 	    sumn = h1nume->Integral(13, 25);
-	    if(HI_pp_key)sumn = h1numb->Integral(7, 10); // 30-50 GeV
+	    if(HI_pp_key)sumn = h1numb->Integral(13, 20); // 60-100 GeV
+	    //if(HI_pp_key)sumn = h1numb->Integral(7, 10); // 30-50 GeV
 	    sumd = h1dene->Integral(13, 25);
-	    if(HI_pp_key)sumd = h1denb->Integral(7, 10);
+	    if(HI_pp_key)sumd = h1denb->Integral(13, 20);
+	    //if(HI_pp_key)sumd = h1denb->Integral(7, 10);
 	    if (sumd == 0.) {
 	      sumeff = 0.;
 	      sumerr = 0.;
@@ -2124,6 +2139,7 @@ namespace dqutils {
 	      sumeff = (double)sumn / (double) sumd;
 	      sumerr = sqrt((double)sumn * (1.-sumeff)) / (double)sumd;
 	    }
+	    h1sumL->GetYaxis()->SetTitle("Efficiency");     				  
 	    h1sumL->SetBinContent(2, sumeff);
 	    h1sumL->SetBinError(2, sumerr);
 	    h1sumL->SetMinimum(0.0);
@@ -2139,8 +2155,8 @@ namespace dqutils {
       // ******************************************************//
       // *********************  generic ***********************//
       // ******************************************************//
-      TString monalg[3]={"_MuFast", "_MuComb", "_EFmuon"};
-      TString wrtalg[3]={"_L1", "_MuFast", "_MuComb"};
+      TString monalg[3]={"_L2MuonSA", "_MuComb", "_EFmuon"};
+      TString wrtalg[3]={"_L1", "_L2MuonSA", "_MuComb"};
       TString numer, denom, effi;
       TString histdireff = eff_dir;
 
@@ -2194,14 +2210,14 @@ namespace dqutils {
 	      // L1 efficiency: new for 2011 HI runs and afterward
 	      // only division once since it is "the zero-th" algorithm
 	      denom = chainName + triggerES[i] + "_Turn_On_Curve_wrt_MuidCB_Denominator";
-	      numer = chainName + triggerES[i] + "_MuFast" + "_Turn_On_Curve_wrt" + "_L1" + "_Denominator";
+	      numer = chainName + triggerES[i] + "_L2MuonSA" + "_Turn_On_Curve_wrt" + "_L1" + "_Denominator";
 	      effi  = chainName + triggerES[i] + "_L1" + "_Turn_On_Curve_wrt_MuidCB";
 	      HLTMuonHDiv(mf, histdireff, numer, denom, effi, "_Fit");
 
 	      // Need to implement barrel and endcap ...
 	      for (int be = 0; be < 2; be++) {
 		denom = chainName + triggerES[i] + "_Turn_On_Curve_wrt_MuidCB" + bestr[be] + "_Denominator";
-		numer = chainName + triggerES[i] + "_MuFast" + "_Turn_On_Curve_wrt" + "_L1" + bestr[be] + "_Denominator";
+		numer = chainName + triggerES[i] + "_L2MuonSA" + "_Turn_On_Curve_wrt" + "_L1" + bestr[be] + "_Denominator";
 		effi  = chainName + triggerES[i] + "_L1" + bestr[be] + "_Turn_On_Curve_wrt_MuidCB";
 		HLTMuonHDiv(mf, histdireff, numer, denom, effi, "_Fit");
 
@@ -2225,7 +2241,7 @@ namespace dqutils {
 		if (ESINDEP == i) {
 		  // integrating over and fill in a summary histogram
 		  double sumeff, sumerr;
-		  double sumn = h1num->Integral(iSTDL, iSTDH); // 40-80 GeV
+		  double sumn = h1num->Integral(iSTDL, iSTDH); // 60-100 GeV
 		  double sumd = h1den->Integral(iSTDL, iSTDH);
 		  if (sumd == 0.) {
 		    sumeff = 0.;
@@ -2290,7 +2306,7 @@ namespace dqutils {
 	      }
 	      int iholx = -1;
 	      if (0 == alg) {
-		iholx = static_cast<int>(iMuFast);
+		iholx = static_cast<int>(iL2MuonSA);
 	      } else if (1 == alg) {
 		iholx = static_cast<int>(iMuComb);
 	      } else if (2 == alg) {
@@ -2298,14 +2314,14 @@ namespace dqutils {
 	      }
 
 	      TString s = histdireff + chainName + "_highpt_effsummary_by" + triggerES[i];
-	      TH1F *h1effsum = 0;
 	      mf.get(s, h1effsum);
 	      if (!h1effsum) {
 		if (fdbg) {
-		  std::cerr <<"HLTMuon PostProcessing: no such histogram!! "<< sden << std::endl;
+		  std::cerr <<"HLTMuon PostProcessing: no such histogram!! "<< s << std::endl;
 		}
 		continue;
 	      }
+              h1effsum->GetYaxis()->SetTitleOffset(1.3);
 	      h1effsum->SetBinContent(iholx+1, sumeff);
 	      h1effsum->SetBinError(iholx+1, sumerr);
 	      h1effsum->SetMinimum(0.0);
@@ -2366,7 +2382,7 @@ namespace dqutils {
       TH1F* h1tmpf(0);
       TH1F* h1num(0);
       TH1F* h1den(0);
-      TGraphAsymmErrors* h1tmpfg = new TGraphAsymmErrors();
+      TGraphAsymmErrors* h1tmpfg = new TGraphAsymmErrors();;
       TString stmp = seff + seffg;
       h1num = 0;
       mf.get(sdir + "NumDenom/" + snum, h1num);
@@ -2394,6 +2410,10 @@ namespace dqutils {
 	h1tmpf->GetYaxis()->SetTitle("Efficiency");     				  
 	h1tmpf->Reset();                                				  
 	h1tmpf->Divide(h1num, h1den, 1., 1., "B");      				  
+	h1tmpf->GetXaxis()->SetTitle(h1den->GetXaxis()->GetTitle());     				  
+	h1tmpf->SetMinimum(0.0);
+	h1tmpfg->SetMaximum(1.05);
+	h1tmpf->SetName(stmp);
 	dir->cd();                                    				  
 	h1tmpf->Write();                                				  
 	h1tmpfg->SetMarkerStyle(20);
@@ -2404,7 +2424,7 @@ namespace dqutils {
 	h1tmpfg->GetXaxis()->SetTitle(h1den->GetXaxis()->GetTitle());     				  
 	dir->cd();
 	h1tmpfg->SetName(stmp);
-	h1tmpfg->Write();
+        h1tmpfg->Write();
 	delete h1tmpfg;
       }
     }
diff --git a/DataQuality/DataQualityUtils/src/MonitoringFile_IDAlignPostProcess.cxx b/DataQuality/DataQualityUtils/src/MonitoringFile_IDAlignPostProcess.cxx
index 57e079c6f300..b59486cc0125 100644
--- a/DataQuality/DataQualityUtils/src/MonitoringFile_IDAlignPostProcess.cxx
+++ b/DataQuality/DataQualityUtils/src/MonitoringFile_IDAlignPostProcess.cxx
@@ -1091,11 +1091,11 @@ fitMergedFile_IDAlignMonResiduals( TFile* f, std::string run_dir, std::string tr
   pix_ecc_yresvsmodphi->GetYaxis()->SetTitle("Mean Residual Y [mm]");
   pix_ecc_yresvsmodphi->GetXaxis()->SetTitle("(Modified) Module Phi-ID");
   meanRMSProjections2D(pix_ecc_yresvsmodphi_2d,pix_ecc_yresvsmodphi,2);
-  TH1F* sct_eca_xresvsmodphi = new TH1F("sct_eca_xresvsmodphi","X Residual Mean vs (Modified) Module Phi SCT Endcap A",495,0,495);
+  TH1F* sct_eca_xresvsmodphi = new TH1F("sct_eca_xresvsmodphi","X Residual Mean vs (Modified) Module Phi SCT Endcap A",558,0,558);
   sct_eca_xresvsmodphi->GetYaxis()->SetTitle("Mean Residual X [mm]");
   sct_eca_xresvsmodphi->GetXaxis()->SetTitle("(Modified) Module Phi-ID");
   meanRMSProjections2D(sct_eca_xresvsmodphi_2d,sct_eca_xresvsmodphi,2);
-  TH1F* sct_ecc_xresvsmodphi = new TH1F("sct_ecc_xresvsmodphi","X Residual Mean vs (Modified) Module Phi SCT Endcap C",495,0,495);
+  TH1F* sct_ecc_xresvsmodphi = new TH1F("sct_ecc_xresvsmodphi","X Residual Mean vs (Modified) Module Phi SCT Endcap C",558,0,558);
   sct_ecc_xresvsmodphi->GetYaxis()->SetTitle("Mean Residual X [mm]");
   sct_ecc_xresvsmodphi->GetXaxis()->SetTitle("(Modified) Module Phi-ID");
   meanRMSProjections2D(sct_ecc_xresvsmodphi_2d,sct_ecc_xresvsmodphi,2);
diff --git a/DataQuality/DataQualityUtils/src/MonitoringFile_IDPerfPostProcess.cxx b/DataQuality/DataQualityUtils/src/MonitoringFile_IDPerfPostProcess.cxx
index 531bcc735c7c..34c0312da7ad 100644
--- a/DataQuality/DataQualityUtils/src/MonitoringFile_IDPerfPostProcess.cxx
+++ b/DataQuality/DataQualityUtils/src/MonitoringFile_IDPerfPostProcess.cxx
@@ -371,18 +371,18 @@ fitMergedFile_IDPerfMonKshort( TFile* f, std::string run_dir, std::string Trigge
     h_rate->SetBinError(1,rate_error);
     h_rate->Write("",TObject::kOverwrite);
   }
-//   TH1F* m_mass_scaled = (TH1F*)(f->Get((path+"/ks_mass").c_str())->Clone("ks_mass_scaled_copy"));
-//   TString title(m_mass_scaled->GetTitle());
+//   TH1F* h_mass_scaled = (TH1F*)(f->Get((path+"/ks_mass").c_str())->Clone("ks_mass_scaled_copy"));
+//   TString title(h_mass_scaled->GetTitle());
 //   if (CheckHistogram(f,(path+"/ks_mass_scaled").c_str())) {
 //     if (CheckHistogram(f,(path+"/Nevents").c_str())) {
-//       TH1F* Nevents=(TH1F*)f->Get((path+"/Nevents").c_str());
-//       double Ntot =Nevents->GetEntries();
-//       if (Ntot!=0.) m_mass_scaled->Scale(1./Ntot);
-//       m_mass_scaled->SetTitle(title+" (per event)");
-//       m_mass_scaled->Write("ks_mass_scaled",TObject::kOverwrite);
+//       TH1F* h_Nevents=(TH1F*)f->Get((path+"/Nevents").c_str());
+//       double Ntot =h_Nevents->GetEntries();
+//       if (Ntot!=0.) h_mass_scaled->Scale(1./Ntot);
+//       h_mass_scaled->SetTitle(title+" (per event)");
+//       h_mass_scaled->Write("ks_mass_scaled",TObject::kOverwrite);
 //     }  
 //   }
-//   delete m_mass_scaled;
+//   delete h_mass_scaled;
 
   h_massVPtBinFittedHistos[0] = (TH1F*)(f->Get((path+"/MassVptBinFitted0").c_str())->Clone());
   h_massVPtBinFittedHistos[1] = (TH1F*)(f->Get((path+"/MassVptBinFitted1").c_str())->Clone());
@@ -796,19 +796,19 @@ fitMergedFile_IDPerfMonJpsi( TFile* f, std::string run_dir, std::string TriggerN
     h_rate->SetBinError(1,rate_error);
     h_rate->Write("",TObject::kOverwrite);
   }
-//   TH1F* m_mass_scaled = (TH1F*)(f->Get((path+"/Jpsi_invmass").c_str())->Clone("Jpsi_invmass_scaled_copy"));
-//   m_mass_scaled->SetMarkerStyle(21);
-//   TString title(m_mass_scaled->GetTitle());
+//   TH1F* h_mass_scaled = (TH1F*)(f->Get((path+"/Jpsi_invmass").c_str())->Clone("Jpsi_invmass_scaled_copy"));
+//   h_mass_scaled->SetMarkerStyle(21);
+//   TString title(h_mass_scaled->GetTitle());
 //   if (CheckHistogram(f,(path+"/Jpsi_invmass_scaled").c_str())) {
 //     if (CheckHistogram(f,(path+"/Nevents").c_str())) {
-//       TH1F* Nevents=(TH1F*)f->Get((path+"/Nevents").c_str());
-//       double Ntot =Nevents->GetEntries();
-//       if (Ntot!=0.) m_mass_scaled->Scale(1./Ntot);
-//       m_mass_scaled->SetTitle(title+" (per event)");
-//       m_mass_scaled->Write("Jpsi_invmass_scaled",TObject::kOverwrite);
+//       TH1F* h_Nevents=(TH1F*)f->Get((path+"/Nevents").c_str());
+//       double Ntot =h_Nevents->GetEntries();
+//       if (Ntot!=0.) h_mass_scaled->Scale(1./Ntot);
+//       h_mass_scaled->SetTitle(title+" (per event)");
+//       h_mass_scaled->Write("Jpsi_invmass_scaled",TObject::kOverwrite);
 //     }  
 //   }
-//   delete m_mass_scaled;
+//   delete h_mass_scaled;
   if (CheckHistogram( f,(path+"/Jpsi_invmass").c_str())) {
     TH1F* h_mass_rebin = (TH1F*)(f->Get((path+"/Jpsi_invmass").c_str())->Clone("Jpsi_invmass_rebin"));
     TString title = h_mass_rebin->GetTitle();
@@ -910,7 +910,7 @@ fitMergedFile_IDPerfMonJpsi( TFile* f, std::string run_dir, std::string TriggerN
   TCanvas *myCanvas = new TCanvas("MyCanvas");
   myCanvas->cd();
   
-//   mass->Fit(f1,"RQMN");
+//   h_mass->Fit(f1,"RQMN");
 
   fitJpsiHistograms(h_jpsi_invmass_vs_pt,h_jpsi_width_vs_pt,hpt,nbins);
   fitJpsiHistograms(h_jpsi_invmass_vs_z0,h_jpsi_width_vs_z0,hz0,nbins);
@@ -1117,19 +1117,19 @@ fitMergedFile_IDPerfMonUpsilon( TFile* f, std::string run_dir, std::string Trigg
     h_rate->SetBinError(1,rate_error);
     h_rate->Write("",TObject::kOverwrite);
   }
-//   TH1F* m_mass_scaled = (TH1F*)(f->Get((path+"/Upsilon_invmass").c_str())->Clone("Upsilon_invmass_scaled_copy"));
-//   m_mass_scaled->SetMarkerStyle(21);
-//   TString title(m_mass_scaled->GetTitle());
+//   TH1F* h_mass_scaled = (TH1F*)(f->Get((path+"/Upsilon_invmass").c_str())->Clone("Upsilon_invmass_scaled_copy"));
+//   h_mass_scaled->SetMarkerStyle(21);
+//   TString title(h_mass_scaled->GetTitle());
 //   if (CheckHistogram(f,(path+"/Upsilon_invmass_scaled").c_str())) {
 //     if (CheckHistogram(f,(path+"/Nevents").c_str())) {
-//       TH1F* Nevents=(TH1F*)f->Get((path+"/Nevents").c_str());
-//       double Ntot =Nevents->GetEntries();
-//       if (Ntot!=0.) m_mass_scaled->Scale(1./Ntot);
-//       m_mass_scaled->SetTitle(title+" (per event)");
-//       m_mass_scaled->Write("Upsilon_invmass_scaled",TObject::kOverwrite);
+//       TH1F* h_Nevents=(TH1F*)f->Get((path+"/Nevents").c_str());
+//       double Ntot =h_Nevents->GetEntries();
+//       if (Ntot!=0.) h_mass_scaled->Scale(1./Ntot);
+//       h_mass_scaled->SetTitle(title+" (per event)");
+//       h_mass_scaled->Write("Upsilon_invmass_scaled",TObject::kOverwrite);
 //     }  
 //   }
-//   delete m_mass_scaled;
+//   delete h_mass_scaled;
   if (CheckHistogram( f,(path+"/Upsilon_invmass").c_str())) {
     TH1F* h_mass_rebin = (TH1F*)(f->Get((path+"/Upsilon_invmass").c_str())->Clone("Upsilon_invmass_rebin"));
     TString title = h_mass_rebin->GetTitle();
@@ -1216,7 +1216,7 @@ fitMergedFile_IDPerfMonUpsilon( TFile* f, std::string run_dir, std::string Trigg
   TCanvas *myCanvas = new TCanvas("MyCanvas");
   myCanvas->cd();
   
-//   mass->Fit(f1,"RQMN");
+//   h_mass->Fit(f1,"RQMN");
 
 
   fitUpsilonHistograms(h_upsilon_invmass_vs_pt,h_upsilon_width_vs_pt,hpt,nbins);
@@ -1346,20 +1346,20 @@ fitMergedFile_IDPerfMonZee ( TFile* f, std::string run_dir,std::string TriggerNa
     h_rate->SetBinError(1,rate_error);
     h_rate->Write("",TObject::kOverwrite);
   }
-//   TH1F* m_mass_scaled = (TH1F*)(f->Get((path+"/Zee_trk_invmass").c_str())->Clone("Zee_trk_invmass_scaled_copy"));
-//   TString title(m_mass_scaled->GetTitle());
+//   TH1F* h_mass_scaled = (TH1F*)(f->Get((path+"/Zee_trk_invmass").c_str())->Clone("Zee_trk_invmass_scaled_copy"));
+//   TString title(h_mass_scaled->GetTitle());
 //   if (CheckHistogram(f,(path+"/Zee_trk_invmass_scaled").c_str())) {
 //     if (CheckHistogram(f,(path+"/Nevents").c_str())) {
-//       TH1F* Nevents=(TH1F*)f->Get((path+"/Nevents").c_str());
-//       double Ntot =Nevents->GetEntries();
-//       if (Ntot!=0.) m_mass_scaled->Scale(1./Ntot);
-//       m_mass_scaled->SetTitle(title+" (per event)");
-//       m_mass_scaled->Write("Zee_trk_invmass_scaled",TObject::kOverwrite);
+//       TH1F* h_Nevents=(TH1F*)f->Get((path+"/Nevents").c_str());
+//       double Ntot =h_Nevents->GetEntries();
+//       if (Ntot!=0.) h_mass_scaled->Scale(1./Ntot);
+//       h_mass_scaled->SetTitle(title+" (per event)");
+//       h_mass_scaled->Write("Zee_trk_invmass_scaled",TObject::kOverwrite);
 //     }  
 //   }
-//   delete m_mass_scaled;
+//   delete h_mass_scaled;
 
-  enum m_eta_region { incl, barrel, eca, ecc, Nregions };
+  enum eta_region { incl, barrel, eca, ecc, Nregions };
   std::vector<std::string> region_strings;
   region_strings.push_back("incl");
   region_strings.push_back("barrel");
@@ -1529,20 +1529,20 @@ fitMergedFile_IDPerfMonWenu ( TFile* f, std::string run_dir,std::string TriggerN
     h_rate->SetBinError(1,rate_error);
     h_rate->Write("",TObject::kOverwrite);
   }
-//   TH1F* m_mass_scaled = (TH1F*)(f->Get((path+"/Wenu_trk_transmass_sel").c_str())->Clone("Wenu_trk_transmass_sel_scaled_copy"));
-//   TString title(m_mass_scaled->GetTitle());
+//   TH1F* h_mass_scaled = (TH1F*)(f->Get((path+"/Wenu_trk_transmass_sel").c_str())->Clone("Wenu_trk_transmass_sel_scaled_copy"));
+//   TString title(h_mass_scaled->GetTitle());
 //   if (CheckHistogram(f,(path+"/Wenu_trk_transmass_sel_scaled").c_str())) {
 //     if (CheckHistogram(f,(path+"/Nevents").c_str())) {
-//       TH1F* Nevents=(TH1F*)f->Get((path+"/Nevents").c_str());
-//       double Ntot =Nevents->GetEntries();
-//       if (Ntot!=0.) m_mass_scaled->Scale(1./Ntot);
-//       m_mass_scaled->SetTitle(title+" (per event)");
-//       m_mass_scaled->Write("Wenu_trk_transmass_sel_scaled",TObject::kOverwrite);
+//       TH1F* h_Nevents=(TH1F*)f->Get((path+"/Nevents").c_str());
+//       double Ntot =h_Nevents->GetEntries();
+//       if (Ntot!=0.) h_mass_scaled->Scale(1./Ntot);
+//       h_mass_scaled->SetTitle(title+" (per event)");
+//       h_mass_scaled->Write("Wenu_trk_transmass_sel_scaled",TObject::kOverwrite);
 //     }  
 //   }
-//   delete m_mass_scaled;
+//   delete h_mass_scaled;
 
-  enum m_eta_region { incl, barrel, eca, ecc, Nregions };
+  enum eta_region { incl, barrel, eca, ecc, Nregions };
   std::vector<std::string> region_strings;
   region_strings.push_back("incl");
   region_strings.push_back("barrel");
diff --git a/DataQuality/DataQualityUtils/src/MonitoringFile_RPCPostProcess.cxx b/DataQuality/DataQualityUtils/src/MonitoringFile_RPCPostProcess.cxx
index 657953b7a574..038dd3899b4a 100644
--- a/DataQuality/DataQualityUtils/src/MonitoringFile_RPCPostProcess.cxx
+++ b/DataQuality/DataQualityUtils/src/MonitoringFile_RPCPostProcess.cxx
@@ -30,6 +30,13 @@ MonitoringFile::RPCPostProcess( std::string inFilename, bool /* isIncremental */
 {
  // std::cout << "Running RPC post processing \n" ;
   
+  bool  applyEffThreshold  =  true;
+  bool  EffThreshold       = false;
+  bool  printout           = true ;
+  float Minimum_efficiency =  0.5;
+  
+  
+  
   TFile* f = TFile::Open(inFilename.c_str(),"UPDATE");
   if (f == 0) {
     std::cerr << "MonitoringFile::RPCPostProcess(): "
@@ -602,7 +609,7 @@ MonitoringFile::RPCPostProcess( std::string inFilename, bool /* isIncremental */
 	int countpanelindb = 0 ;
 	int countpaneleff0 = 0 ;
 	int countpaneltrack0 = 0 ;
-	for (int i_sec=0; i_sec!=15+1; i_sec++) {
+	for (int i_sec=0; i_sec!=15*1+1; i_sec++) {
 	  char sector_char[100]   ;
 	  std::string sector_name ;
           sprintf(sector_char,"_Sector%.2d",i_sec+1) ;  // sector number with 2 digits
@@ -1102,6 +1109,7 @@ MonitoringFile::RPCPostProcess( std::string inFilename, bool /* isIncremental */
 	   float cl_sizeeta        = -9999;	  float cl_sizephi	  = -9999;  	 char arr_cl_sizeeta	  [10];      char arr_cl_sizephi        [10];	    
            float errcl_sizeeta     = -1; 	  float errcl_sizephi	  =-1;  	 char arr_errcl_sizeeta	  [10];      char arr_errcl_sizephi     [10];	    
   		
+           float eta_effphi        =  0;          float phi_effeta        = 0;      		
 	 
 	   int   PanelCode   = 0;
 	   int   Binposition   = 0;
@@ -1124,75 +1132,75 @@ MonitoringFile::RPCPostProcess( std::string inFilename, bool /* isIncremental */
 	      if (h_TrackProj) n_tr_pphi  =(int)h_TrackProj   -> GetBinContent(ibin) ;
 	      if(n_tr_pphi <1000 ) continue;
 
-	      if ( h_Eff	 )effphi	      = h_Eff		  ->GetBinContent(ibin) ;
-              sprintf(arr_effphi		,    "%f ", effphi	      ) ;   arr_effphi	       [5]   =0;
-	      if ( h_Eff	 )erreffphi	      = h_Eff		  ->GetBinError  (ibin) ;
-              sprintf(arr_erreffphi	,    "%f ", erreffphi	      ) ;   arr_erreffphi        [5]   =0;
-	      if ( h_Res_CS1	 )resphi_cs1	      = h_Res_CS1	  ->GetBinContent(ibin) ;
-              sprintf(arr_resphi_cs1	,    "%f ", resphi_cs1        ) ;   arr_resphi_cs1       [5]   =0;
-	      if ( h_Res_CS1	 )errresphi_cs1       = h_Res_CS1	  ->GetBinError  (ibin) ;
-              sprintf(arr_errresphi_cs1	,    "%f ", errresphi_cs1     ) ;   arr_errresphi_cs1    [5]   =0;
-	      if ( h_Res_CS2	 )resphi_cs2	      = h_Res_CS2	  ->GetBinContent(ibin) ;
-              sprintf(arr_resphi_cs2	,    "%f ", resphi_cs2        ) ;   arr_resphi_cs2       [5]   =0;
-	      if ( h_Res_CS2	 )errresphi_cs2       = h_Res_CS2	  ->GetBinError  (ibin) ;
-              sprintf(arr_errresphi_cs2	,    "%f ", errresphi_cs2     ) ;   arr_errresphi_cs2    [5]   =0;
-	      if ( h_Res_CSmore2 )resphi_csother      = h_Res_CSmore2	  ->GetBinContent(ibin) ;
-              sprintf(arr_resphi_csother	,    "%f ", resphi_csother    ) ;   arr_resphi_csother   [5]   =0;
-	      if ( h_Res_CSmore2 )errresphi_csother   = h_Res_CSmore2	  ->GetBinError  (ibin) ;
-              sprintf(arr_errresphi_csother,    "%f ", errresphi_csother ) ;   arr_errresphi_csother[5]   =0;
-	      if ( h_Time	 )timephi	      = h_Time  	  ->GetBinContent(ibin) ;
-              sprintf(arr_timephi  	,    "%f ", timephi	      ) ;   arr_timephi	       [5]   =0;
-              if ( h_Time	 )errtimephi	      = h_Time  	  ->GetBinError  (ibin) ;
-              sprintf(arr_errtimephi	,    "%f ", errtimephi        ) ;   arr_errtimephi       [5]   =0;
-	      if ( h_NoiseTot	 )noisephi	      = h_NoiseTot	  ->GetBinContent(ibin) ;
-              sprintf(arr_noisephi 	,    "%f ", noisephi	      ) ;   arr_noisephi         [5]   =0;
-	      if ( h_NoiseTot	 )errnoisephi	      = h_NoiseTot	  ->GetBinError  (ibin) ;
-              sprintf(arr_errnoisephi	,    "%f ", errnoisephi       ) ;   arr_errnoisephi      [5]   =0;
-	      if ( h_NoiseCorr   )noisephi_cor        = h_NoiseCorr	  ->GetBinContent(ibin) ;
-              sprintf(arr_noisephi_cor	,    "%f ", noisephi_cor      ) ;   arr_noisephi_cor     [5]   =0;
-	      if ( h_NoiseCorr   )errnoisephi_cor     = h_NoiseCorr	  ->GetBinError  (ibin) ;
-              sprintf(arr_errnoisephi_cor  ,    "%f ", errnoisephi_cor   ) ;   arr_errnoisephi_cor  [5]   =0;
-	      if ( h_CS 	 )cl_sizephi	      = h_CS		  ->GetBinContent(ibin) ;
-              sprintf(arr_cl_sizephi	,    "%f ", cl_sizephi        ) ;   arr_cl_sizephi       [5]   =0;
-	      if ( h_CS 	 )errcl_sizephi       = h_CS		  ->GetBinError  (ibin) ;
-              sprintf(arr_errcl_sizephi	,    "%f ", errcl_sizephi     ) ;   arr_errcl_sizephi    [5]   =0;
+	      if ( h_Eff	 )effphi	      = h_Eff		  ->GetBinContent(ibin) ;    
+	      sprintf(arr_effphi		,    "%f ", effphi	      ) ;   arr_effphi	       [5]   =0;
+	      if ( h_Eff	 )erreffphi	      = h_Eff		  ->GetBinError  (ibin) ;    
+	      sprintf(arr_erreffphi	,    "%f ", erreffphi	      ) ;   arr_erreffphi        [5]   =0;
+	      if ( h_Res_CS1	 )resphi_cs1	      = h_Res_CS1	  ->GetBinContent(ibin) ;    
+	      sprintf(arr_resphi_cs1	,    "%f ", resphi_cs1        ) ;   arr_resphi_cs1       [5]   =0;
+	      if ( h_Res_CS1	 )errresphi_cs1       = h_Res_CS1	  ->GetBinError  (ibin) ;    
+	      sprintf(arr_errresphi_cs1	,    "%f ", errresphi_cs1     ) ;   arr_errresphi_cs1    [5]   =0;
+	      if ( h_Res_CS2	 )resphi_cs2	      = h_Res_CS2	  ->GetBinContent(ibin) ;    
+	      sprintf(arr_resphi_cs2	,    "%f ", resphi_cs2        ) ;   arr_resphi_cs2       [5]   =0;
+	      if ( h_Res_CS2	 )errresphi_cs2       = h_Res_CS2	  ->GetBinError  (ibin) ;    
+	      sprintf(arr_errresphi_cs2	,    "%f ", errresphi_cs2     ) ;   arr_errresphi_cs2    [5]   =0;
+	      if ( h_Res_CSmore2 )resphi_csother      = h_Res_CSmore2	  ->GetBinContent(ibin) ;    
+	      sprintf(arr_resphi_csother	,    "%f ", resphi_csother    ) ;   arr_resphi_csother   [5]   =0;
+	      if ( h_Res_CSmore2 )errresphi_csother   = h_Res_CSmore2	  ->GetBinError  (ibin) ;    
+	      sprintf(arr_errresphi_csother,    "%f ", errresphi_csother ) ;   arr_errresphi_csother[5]   =0;
+	      if ( h_Time	 )timephi	      = h_Time  	  ->GetBinContent(ibin) ;    
+	      sprintf(arr_timephi  	,    "%f ", timephi	      ) ;   arr_timephi	       [5]   =0;
+              if ( h_Time	 )errtimephi	      = h_Time  	  ->GetBinError  (ibin) ;    
+	      sprintf(arr_errtimephi	,    "%f ", errtimephi        ) ;   arr_errtimephi       [5]   =0;
+	      if ( h_NoiseTot	 )noisephi	      = h_NoiseTot	  ->GetBinContent(ibin) ;    
+	      sprintf(arr_noisephi 	,    "%f ", noisephi	      ) ;   arr_noisephi         [5]   =0;
+	      if ( h_NoiseTot	 )errnoisephi	      = h_NoiseTot	  ->GetBinError  (ibin) ;    
+	      sprintf(arr_errnoisephi	,    "%f ", errnoisephi       ) ;   arr_errnoisephi      [5]   =0;
+	      if ( h_NoiseCorr   )noisephi_cor        = h_NoiseCorr	  ->GetBinContent(ibin) ;    
+	      sprintf(arr_noisephi_cor	,    "%f ", noisephi_cor      ) ;   arr_noisephi_cor     [5]   =0;
+	      if ( h_NoiseCorr   )errnoisephi_cor     = h_NoiseCorr	  ->GetBinError  (ibin) ;    
+	      sprintf(arr_errnoisephi_cor  ,    "%f ", errnoisephi_cor   ) ;   arr_errnoisephi_cor  [5]   =0;
+	      if ( h_CS 	 )cl_sizephi	      = h_CS		  ->GetBinContent(ibin) ;    
+	      sprintf(arr_cl_sizephi	,    "%f ", cl_sizephi        ) ;   arr_cl_sizephi       [5]   =0;
+	      if ( h_CS 	 )errcl_sizephi       = h_CS		  ->GetBinError  (ibin) ;    
+	      sprintf(arr_errcl_sizephi	,    "%f ", errcl_sizephi     ) ;   arr_errcl_sizephi    [5]   =0;
 	     
 	     }else{
 	      if (h_TrackProj) {n_tr_peta  =(int)h_TrackProj   -> GetBinContent(ibin) ;}
               if(n_tr_peta <1000) continue;
 
- 	      if ( h_Eff	)effeta 	     = h_Eff		 ->GetBinContent(ibin) ;
-              sprintf(arr_effeta  	 ,    "%f ", effeta	       ) ;   arr_effeta		[5]   =0;
-	      if ( h_Eff	)erreffeta	     = h_Eff		 ->GetBinError  (ibin) ;
-              sprintf(arr_erreffeta	 ,    "%f ", erreffeta         ) ;   arr_erreffeta	[5]   =0;
-	      if ( h_Res_CS1	)reseta_cs1	     = h_Res_CS1	 ->GetBinContent(ibin) ;
-              sprintf(arr_reseta_cs1	 ,    "%f ", reseta_cs1        ) ;   arr_reseta_cs1	[5]   =0;
-	      if ( h_Res_CS1	)errreseta_cs1       = h_Res_CS1	 ->GetBinError  (ibin) ;
-              sprintf(arr_errreseta_cs1	 ,    "%f ", errreseta_cs1     ) ;   arr_errreseta_cs1	[5]   =0;
-	      if ( h_Res_CS2	)reseta_cs2	     = h_Res_CS2	 ->GetBinContent(ibin) ;
-              sprintf(arr_reseta_cs2	 ,    "%f ", reseta_cs2        ) ;   arr_reseta_cs2	[5]   =0;
-	      if ( h_Res_CS2	)errreseta_cs2       = h_Res_CS2	 ->GetBinError  (ibin) ;
-              sprintf(arr_errreseta_cs2	 ,    "%f ", errreseta_cs2     ) ;   arr_errreseta_cs2	[5]   =0;
-              if ( h_Res_CSmore2)reseta_csother      = h_Res_CSmore2	 ->GetBinContent(ibin) ;
-              sprintf(arr_reseta_csother   ,    "%f ", reseta_csother    ) ;   arr_reseta_csother	[5]   =0;
-	      if ( h_Res_CSmore2)errreseta_csother   = h_Res_CSmore2	 ->GetBinError  (ibin) ;
-              sprintf(arr_errreseta_csother,    "%f ", errreseta_csother ) ;   arr_errreseta_csother[5]   =0;
-	      if ( h_Time	)timeeta	     = h_Time		 ->GetBinContent(ibin) ;
-              sprintf(arr_timeeta 	 ,    "%f ", timeeta	       ) ;   arr_timeeta  	[5]   =0;
-	      if ( h_Time	)errtimeeta	     = h_Time		 ->GetBinError  (ibin) ;
-              sprintf(arr_errtimeeta	 ,    "%f ", errtimeeta        ) ;   arr_errtimeeta	[5]   =0;
-	      if ( h_NoiseTot	)noiseeta	     = h_NoiseTot	 ->GetBinContent(ibin) ;
-              sprintf(arr_noiseeta	 ,    "%f ", noiseeta	       ) ;   arr_noiseeta 	[5]   =0;
-	      if ( h_NoiseTot	)errnoiseeta	     = h_NoiseTot	 ->GetBinError  (ibin) ;
-              sprintf(arr_errnoiseeta	 ,    "%f ", errnoiseeta       ) ;   arr_errnoiseeta	[5]   =0;
-	      if ( h_NoiseCorr  )noiseeta_cor	     = h_NoiseCorr	 ->GetBinContent(ibin) ;
-              sprintf(arr_noiseeta_cor	 ,    "%f ", noiseeta_cor      ) ;   arr_noiseeta_cor	[5]   =0;
-	      if ( h_NoiseCorr  )errnoiseeta_cor     = h_NoiseCorr	 ->GetBinError  (ibin) ;
-              sprintf(arr_errnoiseeta_cor  ,    "%f ", errnoiseeta_cor   ) ;   arr_errnoiseeta_cor  [5]   =0;
-	      if ( h_CS 	)cl_sizeeta	     = h_CS		 ->GetBinContent(ibin) ;
-              sprintf(arr_cl_sizeeta	 ,    "%f ", cl_sizeeta        ) ;   arr_cl_sizeeta	[5]   =0;
-	      if ( h_CS 	)errcl_sizeeta       = h_CS		 ->GetBinError  (ibin) ;
-              sprintf(arr_errcl_sizeeta	 ,    "%f ", errcl_sizeeta     ) ;   arr_errcl_sizeeta	[5]   =0;	     
+ 	      if ( h_Eff	)effeta 	     = h_Eff		 ->GetBinContent(ibin) ;      
+	      sprintf(arr_effeta  	 ,    "%f ", effeta	       ) ;   arr_effeta		[5]   =0;
+	      if ( h_Eff	)erreffeta	     = h_Eff		 ->GetBinError  (ibin) ;      
+	      sprintf(arr_erreffeta	 ,    "%f ", erreffeta         ) ;   arr_erreffeta	[5]   =0;
+	      if ( h_Res_CS1	)reseta_cs1	     = h_Res_CS1	 ->GetBinContent(ibin) ;      
+	      sprintf(arr_reseta_cs1	 ,    "%f ", reseta_cs1        ) ;   arr_reseta_cs1	[5]   =0;
+	      if ( h_Res_CS1	)errreseta_cs1       = h_Res_CS1	 ->GetBinError  (ibin) ;      
+	      sprintf(arr_errreseta_cs1	 ,    "%f ", errreseta_cs1     ) ;   arr_errreseta_cs1	[5]   =0;
+	      if ( h_Res_CS2	)reseta_cs2	     = h_Res_CS2	 ->GetBinContent(ibin) ;      
+	      sprintf(arr_reseta_cs2	 ,    "%f ", reseta_cs2        ) ;   arr_reseta_cs2	[5]   =0;
+	      if ( h_Res_CS2	)errreseta_cs2       = h_Res_CS2	 ->GetBinError  (ibin) ;      
+	      sprintf(arr_errreseta_cs2	 ,    "%f ", errreseta_cs2     ) ;   arr_errreseta_cs2	[5]   =0;
+              if ( h_Res_CSmore2)reseta_csother      = h_Res_CSmore2	 ->GetBinContent(ibin) ;      
+	      sprintf(arr_reseta_csother   ,    "%f ", reseta_csother    ) ;   arr_reseta_csother	[5]   =0;
+	      if ( h_Res_CSmore2)errreseta_csother   = h_Res_CSmore2	 ->GetBinError  (ibin) ;      
+	      sprintf(arr_errreseta_csother,    "%f ", errreseta_csother ) ;   arr_errreseta_csother[5]   =0;
+	      if ( h_Time	)timeeta	     = h_Time		 ->GetBinContent(ibin) ;      
+	      sprintf(arr_timeeta 	 ,    "%f ", timeeta	       ) ;   arr_timeeta  	[5]   =0;
+	      if ( h_Time	)errtimeeta	     = h_Time		 ->GetBinError  (ibin) ;      
+	      sprintf(arr_errtimeeta	 ,    "%f ", errtimeeta        ) ;   arr_errtimeeta	[5]   =0;
+	      if ( h_NoiseTot	)noiseeta	     = h_NoiseTot	 ->GetBinContent(ibin) ;      
+	      sprintf(arr_noiseeta	 ,    "%f ", noiseeta	       ) ;   arr_noiseeta 	[5]   =0;
+	      if ( h_NoiseTot	)errnoiseeta	     = h_NoiseTot	 ->GetBinError  (ibin) ;      
+	      sprintf(arr_errnoiseeta	 ,    "%f ", errnoiseeta       ) ;   arr_errnoiseeta	[5]   =0;
+	      if ( h_NoiseCorr  )noiseeta_cor	     = h_NoiseCorr	 ->GetBinContent(ibin) ;      
+	      sprintf(arr_noiseeta_cor	 ,    "%f ", noiseeta_cor      ) ;   arr_noiseeta_cor	[5]   =0;
+	      if ( h_NoiseCorr  )errnoiseeta_cor     = h_NoiseCorr	 ->GetBinError  (ibin) ;      
+	      sprintf(arr_errnoiseeta_cor  ,    "%f ", errnoiseeta_cor   ) ;   arr_errnoiseeta_cor  [5]   =0;
+	      if ( h_CS 	)cl_sizeeta	     = h_CS		 ->GetBinContent(ibin) ;      
+	      sprintf(arr_cl_sizeeta	 ,    "%f ", cl_sizeeta        ) ;   arr_cl_sizeeta	[5]   =0;
+	      if ( h_CS 	)errcl_sizeeta       = h_CS		 ->GetBinError  (ibin) ;      
+	      sprintf(arr_errcl_sizeeta	 ,    "%f ", errcl_sizeeta     ) ;   arr_errcl_sizeeta	[5]   =0;	     
 	     
 	    
               //std::cout<<"PanelCode  "<<PanelCode<<" etaprimo "<<"\n";
@@ -1220,10 +1228,10 @@ MonitoringFile::RPCPostProcess( std::string inFilename, bool /* isIncremental */
 ////////////////////////////////////////////////////////////////////////////////////////////////////////
 	   
             int   TableVersionCondDB  = 2 ;         //RPC conditionDB table versioning
-	    float effeleeta           = -9999;	       char arr_effeleeta 	 [10];  	   
-            float erreffeleeta        = -1;	       char arr_erreffeleeta	 [10];  	   
-            float effelephi	      = -9999;	       char arr_effelephi 	 [10];
-	    float erreffelephi        = -1;            char arr_erreffelephi	 [10];
+	    float gapeffeta           = -9999;	       char arr_gapeffeta 	 [10];  	   
+            float errgapeffeta        = -1;	       char arr_errgapeffeta	 [10];  	   
+            float gapeffphi	      = -9999;	       char arr_gapeffphi 	 [10];
+	    float errgapeffphi        = -1;            char arr_errgapeffphi	 [10];
 	    float gapeff              = -9999;			    
             float errgapeff           = -1;
 	    float entriesCSeta        = -1;
@@ -1238,6 +1246,8 @@ MonitoringFile::RPCPostProcess( std::string inFilename, bool /* isIncremental */
             float rateCS1phi	      = -1;	       char arr_rateCS1phi	 [10]; 
             float rateCS2phi	      = -1;	       char arr_rateCS2phi	 [10]; 
             float rateCSmore2phi      = -1;	       char arr_rateCSmore2phi	 [10]; 
+	    
+	    
 
  	    coolrpc.coolDbFolder("sqlite://;schema=RPCConditionDB.db;dbname=RPC_DQA","/OFFLINE/FINAL");
   	    std::string dir_cool_raw = run_dir + "/Muon/MuonRawDataMonitoring/RPC/CoolDB/";
@@ -1257,7 +1267,7 @@ MonitoringFile::RPCPostProcess( std::string inFilename, bool /* isIncremental */
 	    int StripProfileContenent = 0;
 	  
 	    for ( std::vector<std::string>::const_iterator iter=layerList.begin(); iter!=layerList.end(); iter++ ) {
-	      for ( int i_dblPhi=0; i_dblPhi!=2; i_dblPhi++ ) {
+	      for ( int i_dblPhi=0; i_dblPhi!=2*1+1; i_dblPhi++ ) {
 	        char coolName[40];
 		sprintf(coolName, "Sector%.2d_%s_dblPhi%d", i_sec+1, (*iter).c_str(), i_dblPhi+1 );
 		std::string stripId_name       = dir_cool_raw + coolName + "_PanelId" ;
@@ -1273,8 +1283,10 @@ MonitoringFile::RPCPostProcess( std::string inFilename, bool /* isIncremental */
 		 
 		  int  SingleStripsValue    = 0;
 		  int  StripsOnPanel        = 1; //number of strip on panel
-		  char SingleStripsStatus[80]  ;
-		  std::string PanelStripsStatus;
+		  char SingleStripsStatus  [80]  ;
+		  char SingleStripsStatusOK[80]  ;
+		  std::string PanelStripsStatus  ;
+		  std::string PanelStripsStatusOK;
 		  
 		  NumberLayerStrip = h_stripProfile->GetNbinsX() ;
 		  for(int Nstrips=1 ; Nstrips!=NumberLayerStrip+1 ; Nstrips++){
@@ -1286,11 +1298,14 @@ MonitoringFile::RPCPostProcess( std::string inFilename, bool /* isIncremental */
 		    if (StripOccupancy>0.9) SingleStripsValue=9;
 		    		    
 		    if(h_stripId-> GetBinCenter(Nstrips) > 0){ 
-		     sprintf(SingleStripsStatus, "%d 000.0 0.000|", SingleStripsValue );
+		     sprintf(SingleStripsStatus  , "%d 000.0 0.000|", SingleStripsValue );
+		     sprintf(SingleStripsStatusOK,  "5 000.0 0.000|"                    );
 		    }else{ 
 		     sprintf(SingleStripsStatus, "|000.0 0.000 %d", SingleStripsValue );
+		     sprintf(SingleStripsStatusOK, "|000.0 0.000 5"                   );
 		    }
-		    PanelStripsStatus = PanelStripsStatus + SingleStripsStatus;
+		    PanelStripsStatus   = PanelStripsStatus   +   SingleStripsStatus;
+		    PanelStripsStatusOK = PanelStripsStatusOK + SingleStripsStatusOK;
 		    
 		    
 
@@ -1302,7 +1317,8 @@ MonitoringFile::RPCPostProcess( std::string inFilename, bool /* isIncremental */
   
 		    if(h_stripId-> GetBinCenter(Nstrips) < 0){		    		    
 		     //std::cout << " PanelStripsStatus " << PanelStripsStatus <<std::endl;		    
-		     std::reverse(PanelStripsStatus.begin(), PanelStripsStatus.end());		
+		     std::reverse(PanelStripsStatus  .begin(), PanelStripsStatus  .end());				    
+		     std::reverse(PanelStripsStatusOK.begin(), PanelStripsStatusOK.end());		
 		    }
                        
 		      for(int ibin=1 ; ibin!=nbin+1 ; ibin++){
@@ -1310,13 +1326,27 @@ MonitoringFile::RPCPostProcess( std::string inFilename, bool /* isIncremental */
 	                if(PanelCode !=PanelStripId)continue;
 			  if(ibin%2!=0){
 			    if (h_TrackProj) {n_tr_peta  =(int)h_TrackProj   -> GetBinContent(ibin) ;}
-			      //if(n_tr_peta >0){
-	 
+			      //if(n_tr_peta >0){				
+				if ( h_PanelId )Binposition = (int)h_PanelId-> GetBinCenter(ibin) ;
+				int ibin_perp=0;
+	                        if(Binposition>0){ 
+				 ibin_perp=ibin+1;
+			         if ( h_Eff 	)eta_effphi 	     = h_Eff		 ->GetBinContent(ibin+1) ;
+			        }else{
+				 ibin_perp=ibin-1;
+			         if ( h_Eff 	)eta_effphi 	     = h_Eff		 ->GetBinContent(ibin-1) ;
+ 			        }
 			    	if ( h_GapEff	  )gapeff	       = h_GapEff	   ->GetBinContent(ibin) ;
-			    	if ( h_GapEff	  )errgapeff	       = h_GapEff	   ->GetBinError  (ibin) ;
+			    	if ( h_GapEff	  )errgapeff	       = h_GapEff	   ->GetBinError  (ibin) ;				
  			    	if ( h_Eff	  )effeta	       = h_Eff  	   ->GetBinContent(ibin) ;
  			    	if ( h_Eff	  )erreffeta	       = h_Eff  	   ->GetBinError  (ibin) ;
-			    	if ( h_Res_CS1    )reseta_cs1	       = h_Res_CS1	   ->GetBinContent(ibin) ;
+				
+				gapeffeta   =               gapeff;
+				errgapeffeta=            errgapeff;
+				EffThreshold = (effeta<Minimum_efficiency)|| (eta_effphi<Minimum_efficiency);
+				
+				
+				if ( h_Res_CS1    )reseta_cs1	       = h_Res_CS1	   ->GetBinContent(ibin) ;
  			    	if ( h_Res_CS1    )errreseta_cs1       = h_Res_CS1	   ->GetBinError  (ibin) ;
  			    	if ( h_Res_CS2    )reseta_cs2	       = h_Res_CS2	   ->GetBinContent(ibin) ;
  			    	if ( h_Res_CS2    )errreseta_cs2       = h_Res_CS2	   ->GetBinError  (ibin) ;
@@ -1339,19 +1369,42 @@ MonitoringFile::RPCPostProcess( std::string inFilename, bool /* isIncremental */
                                  rateCSmore2eta =(entriesCSeta-(entriesCS1eta+entriesCS2eta))/entriesCSeta;
                                 }
 
- 			    	if(gapeff!=0 && effeta !=0){
-			    	  effeleeta=effeta/gapeff;
-			    	  erreffeleeta=((erreffeta/effeta)+(errgapeff/gapeff))*effeleeta;
-			    	}else{
-			    	  effeleeta     =0.000;
- 			    	  erreffeleeta  =0.000;
-			    	}
-        		        //std::cout << " effeleeta " << effeleeta <<"  erreffeleeta  "<<erreffeleeta<<"  erreffeta  "<<erreffeta << "  effeta  "<<effeta <<"  errgapeff  "<<errgapeff << "  gapeff  "<<gapeff <<" rateCS1eta  "<<  rateCS1eta << " rateCS2eta " << rateCS2eta <<std::endl;
+				if (applyEffThreshold){ 
+				 if(effeta<Minimum_efficiency&&eta_effphi<Minimum_efficiency){
+				   effeta      =Minimum_efficiency;
+				   gapeffeta   =Minimum_efficiency;
+				   erreffeta   =                 0.1;
+				   errgapeffeta=                 0.1;
+				   PanelStripsStatus   = PanelStripsStatusOK;
+				   cl_sizeeta     =   1;
+				   errcl_sizeeta  = 0.1,
+			           rateCS1eta     =   1;
+                                   rateCS2eta     =   0;
+                                   rateCSmore2eta =   0; 
+				 }
+				 else if(effeta<Minimum_efficiency&&eta_effphi>Minimum_efficiency){
+				   effeta      = Minimum_efficiency;
+				   gapeffeta   =            eta_effphi;
+				   erreffeta   =                   0.1;
+				   errgapeffeta=                   0.1;
+				   PanelStripsStatus   = PanelStripsStatusOK;
+				   cl_sizeeta     =   1;
+				   errcl_sizeeta  = 0.1,
+			           rateCS1eta     = 1;
+                                   rateCS2eta     = 0;
+                                   rateCSmore2eta = 0;
+				 }
+				 else if(effeta>Minimum_efficiency&&eta_effphi<Minimum_efficiency){
+				   gapeffeta   =              effeta;
+				   errgapeffeta=                 0.1;
+				 }
+				}
+        		        //std::cout << "  erreffeta  "<<erreffeta << "  effeta  "<<effeta <<"  errgapeff  "<<errgapeff << "  gapeff  "<<gapeff <<" rateCS1eta  "<<  rateCS1eta << " rateCS2eta " << rateCS2eta <<std::endl;
 	
 			    	sprintf(arr_effeta	   ,	"%f ", effeta		 ) ;   arr_effeta 	  [5]	=0;
 			    	sprintf(arr_erreffeta	   ,	"%f ", erreffeta	 ) ;   arr_erreffeta	  [5]	=0;
-			    	sprintf(arr_effeleeta	   ,	"%f ", effeleeta	 ) ;   arr_effeleeta	  [5]	=0;
-			    	sprintf(arr_erreffeleeta     ,	"%f ", erreffeleeta	 ) ;   arr_erreffeleeta	  [5]	=0;
+			    	sprintf(arr_gapeffeta	   ,	"%f ", gapeffeta	 ) ;   arr_gapeffeta	  [5]	=0;
+			    	sprintf(arr_errgapeffeta     ,	"%f ", errgapeffeta	 ) ;   arr_errgapeffeta	  [5]	=0;
 			    	sprintf(arr_reseta_cs1	   ,	"%f ", reseta_cs1	 ) ;   arr_reseta_cs1	  [5]	=0;
 			    	sprintf(arr_errreseta_cs1    ,	"%f ", errreseta_cs1	 ) ;   arr_errreseta_cs1    [5]	=0;
 			    	sprintf(arr_reseta_cs2	   ,	"%f ", reseta_cs2	 ) ;   arr_reseta_cs2	  [5]	=0;
@@ -1371,31 +1424,45 @@ MonitoringFile::RPCPostProcess( std::string inFilename, bool /* isIncremental */
 			        char PanelRes   [255]; //eff_eta, res_cs1, res_cs2, res_csother, time, mean and rms
 			        char StripStatus   [4096]; //strips status 0 to 9 for dead noisy strips
 				
- 			        sprintf(PanelRes,  "%d %d %d %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s", TableVersionCondDB,  n_tr_peta, StripsOnPanel,  arr_effeta, arr_erreffeta,  arr_effeleeta, arr_erreffeleeta, arr_reseta_cs1, arr_errreseta_cs1, arr_reseta_cs2, arr_errreseta_cs2, arr_reseta_csother, arr_errreseta_csother, arr_noiseeta, arr_errnoiseeta, arr_noiseeta_cor, arr_errnoiseeta_cor, arr_cl_sizeeta, arr_errcl_sizeeta, arr_rateCS1eta, arr_rateCS2eta, arr_rateCSmore2eta) ;
+ 			        sprintf(PanelRes,  "%d %d %d %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s", TableVersionCondDB,  n_tr_peta, StripsOnPanel,  arr_effeta, arr_erreffeta,  arr_gapeffeta, arr_errgapeffeta, arr_reseta_cs1, arr_errreseta_cs1, arr_reseta_cs2, arr_errreseta_cs2, arr_reseta_csother, arr_errreseta_csother, arr_noiseeta, arr_errnoiseeta, arr_noiseeta_cor, arr_errnoiseeta_cor, arr_cl_sizeeta, arr_errcl_sizeeta, arr_rateCS1eta, arr_rateCS2eta, arr_rateCSmore2eta) ;
  			        sprintf(StripStatus, "%s", PanelStripsStatus.c_str()) ;
 				std::string cool_tagCondDB="RecoCondDB";		        
                                 coolrpc.setSince(0U,0U);		
                                 coolrpc.setUntil(4294967295U,0U);	
  			        coolrpc.insertCondDB_withTag(run_number*0+429496729U,PanelCode,PanelRes, StripStatus,cool_tagCondDB);
-			        //std::cout <<"Eta " << PanelCode << " --- " << PanelRes<< " --- " << StripStatus << std::endl;	
+			        if(printout&&EffThreshold)std::cout << stripProfile_name << " under THR "<< EffThreshold <<" "<< PanelCode << " ibin " << ibin << " h_EffEta " << h_Eff->GetBinContent(ibin) <<" h_EffPhi " << h_Eff->GetBinContent(ibin_perp) << " h_GapEffEta " << h_GapEff->GetBinContent(ibin) <<" h_GapEffPhi " << h_GapEff->GetBinContent(ibin_perp) << " cool_EtaEff "<< effeta <<" cool_GapEffEta "<< gapeffeta <<" --- Eta Summary " << PanelRes<< " --- StripStatus " << StripStatus << std::endl;
+				if(printout&&EffThreshold)std::cout<<"inCOOL_ETA_id_ntrk_panelEff_gapEff "<<PanelCode<<" "<<n_tr_peta<<" "<<(int)(n_tr_peta*effeta)<<" "<<(int)(n_tr_peta*gapeffeta)<<std::endl;	
 			        countpanelindb++;
 			        if(effeta==0.0)countpaneleff0++;
 			        if(n_tr_peta==0)countpaneltrack0++;
-			      //}
+			      
 			    }else{
 			     if (h_TrackProj) n_tr_pphi  =(int)h_TrackProj   -> GetBinContent(ibin) ;
  			     //if(n_tr_pphi >0){
  
 			     if ( h_PanelId )Binposition = (int)h_PanelId-> GetBinCenter(ibin) ;
+			     int ibin_perp=0;
 			     if(Binposition>0){
+			       ibin_perp=ibin-1;
 			       if ( h_GapEff	)gapeff 	     = h_GapEff 	 ->GetBinContent(ibin-1) ;
 			       if ( h_GapEff	)errgapeff	     = h_GapEff 	 ->GetBinError  (ibin-1) ;
+			       if ( h_Eff 	)phi_effeta 	     = h_Eff		 ->GetBinContent(ibin-1) ;
+			       
 			     }else{
+			       ibin_perp=ibin+1;
 			       if ( h_GapEff	)gapeff 	     = h_GapEff 	 ->GetBinContent(ibin+1) ;
  			       if ( h_GapEff	)errgapeff	     = h_GapEff 	 ->GetBinError  (ibin+1) ;
+			       if ( h_Eff 	)phi_effeta 	     = h_Eff		 ->GetBinContent(ibin+1) ;
  			     }
 			     if ( h_Eff 	)effphi 	     = h_Eff		 ->GetBinContent(ibin) ;
  			     if ( h_Eff 	)erreffphi	     = h_Eff		 ->GetBinError  (ibin) ;
+			     
+
+			     gapeffphi   =               gapeff;
+			     errgapeffphi=            errgapeff;
+			     EffThreshold = (effphi<Minimum_efficiency)|| (phi_effeta<Minimum_efficiency);
+			     
+			     
 			     if ( h_Res_CS1	)resphi_cs1	     = h_Res_CS1	 ->GetBinContent(ibin) ;
 			     if ( h_Res_CS1	)errresphi_cs1       = h_Res_CS1	 ->GetBinError  (ibin) ;
  			     if ( h_Res_CS2	)resphi_cs2	     = h_Res_CS2	 ->GetBinContent(ibin) ;
@@ -1415,21 +1482,54 @@ MonitoringFile::RPCPostProcess( std::string inFilename, bool /* isIncremental */
 			      rateCS1phi     =entriesCS1phi/entriesCSphi;
                               rateCS2phi     =entriesCS2phi/entriesCSphi;
                               rateCSmore2phi =(entriesCSphi-(entriesCS1phi+entriesCS2phi))/entriesCSphi;
- 			     }
- 			     if(gapeff !=0 && effphi !=0){
- 			       effelephi=effphi/gapeff;
-			       erreffelephi=((erreffphi/effphi)+(errgapeff/gapeff))*effelephi;
- 			     }else{
-			       effelephi     = 0.000;
-			       erreffelephi  = 0.000;
- 			     }			    
-        		     //std::cout << " effelephi " << effelephi <<"  erreffelephi  "<<erreffelephi<<"  erreffphi  "<<erreffphi << "  effphi  "<<effphi <<"  errgapeff  "<<errgapeff << "  gapeff  "<<gapeff << "  rateCS1phi  "<<rateCS1phi<< " rateCS2phi   "<<rateCS2phi<<std::endl;
+ 			     }	
+			     
+			     
+			     if (applyEffThreshold){ 
+			      if(effphi<Minimum_efficiency&&phi_effeta<Minimum_efficiency){
+				  effphi      =Minimum_efficiency;
+				  gapeffphi   =Minimum_efficiency;
+				  erreffphi   =                 0.1;
+				  errgapeffphi=                 0.1;
+				  PanelStripsStatus   = PanelStripsStatusOK;
+				  cl_sizephi     =   1;
+				  errcl_sizephi  = 0.1,
+			          rateCS1phi     = 1;
+                                  rateCS2phi     = 0;
+                                  rateCSmore2phi = 0;
+			      }
+			      else if(effphi<Minimum_efficiency&&phi_effeta>Minimum_efficiency){
+				  effphi      =       Minimum_efficiency;
+				  gapeffphi   =                 phi_effeta;
+				  erreffphi   =                        0.1;
+				  errgapeffphi=                        0.1;
+				  PanelStripsStatus   = PanelStripsStatusOK;
+				  cl_sizephi     =   1;
+				  errcl_sizephi  = 0.1,
+			          rateCS1phi     = 1;
+                                  rateCS2phi     = 0;
+                                  rateCSmore2phi = 0;
+			      }
+			      else if(effphi>Minimum_efficiency&&phi_effeta<Minimum_efficiency){   
+				  gapeffphi   =              effphi; 
+				  errgapeffphi=                 0.1;
+				  PanelStripsStatus   = PanelStripsStatusOK;
+			      }  
+			     }
+			     
+			     
+			     
+			     
+			     
+			     
+			     	    
+        		     //std::cout << "  erreffphi  "<<erreffphi << "  effphi  "<<effphi <<"  errgapeff  "<<errgapeff << "  gapeff  "<<gapeff << "  rateCS1phi  "<<rateCS1phi<< " rateCS2phi   "<<rateCS2phi<<std::endl;
 			     
 			     
 			     sprintf(arr_effphi		,    "%f ", effphi	      ) ;   arr_effphi	       [5]   =0;
 			     sprintf(arr_erreffphi	,    "%f ", erreffphi	      ) ;   arr_erreffphi        [5]   =0;
- 			     sprintf(arr_effelephi	,    "%f ", effelephi	      ) ;   arr_effelephi        [5]   =0;
-			     sprintf(arr_erreffelephi	,    "%f ", erreffelephi      ) ;   arr_erreffelephi     [5]   =0;
+ 			     sprintf(arr_gapeffphi	,    "%f ", gapeffphi	      ) ;   arr_gapeffphi        [5]   =0;
+			     sprintf(arr_errgapeffphi	,    "%f ", errgapeffphi      ) ;   arr_errgapeffphi     [5]   =0;
 			     sprintf(arr_resphi_cs1	,    "%f ", resphi_cs1        ) ;   arr_resphi_cs1       [5]   =0;
 			     sprintf(arr_errresphi_cs1	,    "%f ", errresphi_cs1     ) ;   arr_errresphi_cs1    [5]   =0;
 			     sprintf(arr_resphi_cs2	,    "%f ", resphi_cs2        ) ;   arr_resphi_cs2       [5]   =0;
@@ -1448,24 +1548,26 @@ MonitoringFile::RPCPostProcess( std::string inFilename, bool /* isIncremental */
 			    		
 			     char PanelRes   [255]; //eff_eta, res_cs1, res_cs2, res_csother, time, mean and rms
 			     char StripStatus   [4096]; //strips status 0 to 9 for dead noisy strips
- 			     sprintf(PanelRes,  "%d %d %d %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s", TableVersionCondDB,  n_tr_pphi, StripsOnPanel,  arr_effphi, arr_erreffphi,  arr_effelephi, arr_erreffelephi, arr_resphi_cs1, arr_errresphi_cs1, arr_resphi_cs2, arr_errresphi_cs2, arr_resphi_csother, arr_errresphi_csother, arr_noisephi, arr_errnoisephi, arr_noisephi_cor, arr_errnoisephi_cor, arr_cl_sizephi, arr_errcl_sizephi, arr_rateCS1phi, arr_rateCS2phi, arr_rateCSmore2phi) ;
+ 			     sprintf(PanelRes,  "%d %d %d %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s", TableVersionCondDB,  n_tr_pphi, StripsOnPanel,  arr_effphi, arr_erreffphi,  arr_gapeffphi, arr_errgapeffphi, arr_resphi_cs1, arr_errresphi_cs1, arr_resphi_cs2, arr_errresphi_cs2, arr_resphi_csother, arr_errresphi_csother, arr_noisephi, arr_errnoisephi, arr_noisephi_cor, arr_errnoisephi_cor, arr_cl_sizephi, arr_errcl_sizephi, arr_rateCS1phi, arr_rateCS2phi, arr_rateCSmore2phi) ;
  			     sprintf(StripStatus, "%s", PanelStripsStatus.c_str()) ;
  			     std::string cool_tag="RecoCondDB";		        
                              coolrpc.setSince(0U,0U);		
                              coolrpc.setUntil(4294967295U,0U);	
  			     coolrpc.insertCondDB_withTag(run_number*0+429496729U,PanelCode,PanelRes, StripStatus,cool_tag);
-			     //std::cout <<"Phi " << PanelCode << " --- " << PanelRes<< " --- " << StripStatus << std::endl;	
-			    //}	
+			     if(printout&&EffThreshold)std::cout << stripProfile_name << " under THR "<< EffThreshold <<" " << PanelCode << " ibin " << ibin << " h_EffPhi " << h_Eff->GetBinContent(ibin) <<" h_EffEta " << h_Eff->GetBinContent(ibin_perp) << " h_GapEffPhi " << h_GapEff->GetBinContent(ibin) <<" h_GapEffEta " << h_GapEff->GetBinContent(ibin_perp) << " cool_PhiEff "<< effphi <<" cool_GapEffPhi "<< gapeffphi <<" --- Phi Summary " << PanelRes<< " --- StripStatus " << StripStatus << std::endl;
+			     if(printout&&EffThreshold)std::cout<<"inCOOL_PHI_id_ntrk_panelEff_gapEff "<<PanelCode<<" "<<n_tr_pphi<<" "<<(int)(n_tr_pphi*effphi)<<" "<<(int)(n_tr_pphi*gapeffphi)<<std::endl;
 			    countpanelindb++;
 			    if(effphi==0.0)countpaneleff0++;
 			    if(n_tr_pphi==0)countpaneltrack0++;
 			  }		
 	    	          StripsOnPanel=1;
 	      	          PanelStripsStatus.clear();
+	      	          PanelStripsStatusOK.clear();
  		        }
 			//if(StripsOnPanel>1) std::cout<<stripProfile_name<< " bin " << Nstrips << " Not found PanelStripId " << PanelStripId<< std::endl;		
 	    	        StripsOnPanel=1;
-	      	        PanelStripsStatus.clear();			
+	      	        PanelStripsStatus.clear();
+	      	        PanelStripsStatusOK.clear();			
 		      }
                     }		  
 		  }				
diff --git a/DataQuality/DataQualityUtils/src/MonitoringFile_SCTPostProcess.cxx b/DataQuality/DataQualityUtils/src/MonitoringFile_SCTPostProcess.cxx
index 989f4ef68ac3..283dabc91a8f 100644
--- a/DataQuality/DataQualityUtils/src/MonitoringFile_SCTPostProcess.cxx
+++ b/DataQuality/DataQualityUtils/src/MonitoringFile_SCTPostProcess.cxx
@@ -37,265 +37,541 @@
 
 namespace dqutils {
 
-	static const bool rno_debug = false;
-
-	void
-		MonitoringFile::SCTPostProcess( std::string inFilename, bool /* isIncremental */ )
-		{
-			if (rno_debug) std::cout << "Start SCT post-processing" <<std::endl;
-
-			TFile *infile = TFile::Open(inFilename.c_str(),"UPDATE");
-			if(infile==0 || ! infile->IsOpen()){
-				std::cerr << "--> SCTPostProcess: Input file not opened" <<std::endl;
-				return;
-			}
-			if(infile->IsZombie()){
-				std::cerr << "--> SCTPostProcess: Input file " << inFilename << " cannot be opened" <<std::endl;
-				return;
-			}
-			if(infile->GetSize()<1000){
-				std::cerr << "--> SCTPostProcess: Input file empty " <<std::endl;
-				return;
-			}
-
-			//start postprocessing
-
-			TIter next_run(infile->GetListOfKeys());
-			TKey *key_run(0);
-			key_run = (TKey*)next_run();
-			TDirectory *dir0 = dynamic_cast<TDirectory*> (key_run->ReadObj());
-			if (!dir0) return; // should never fail
-			dir0->cd();
-
-			TString run_dir;
-			const int N_dir=4;
-			const int N_BARREL=4, N_DISKS=9;
-			TString subDetName[N_dir] = {"/GENERAL", "/SCTEC", "/SCTB", "/SCTEA"};
-			int times = 1;
-			while (times--) {  // just once
-				run_dir = dir0->GetName();
-
-				TString rno_dir = run_dir + "/SCT/GENERAL/RatioNoise/";
-				TDirectory *dir = infile->GetDirectory(rno_dir);
-				if(!dir){
-					std::cerr << "--> SCTPostProcess: directory " << rno_dir << " not found " <<std::endl;
-					return;
-				}
-				TString noSideHitHist = rno_dir + "h_NZ1_vs_modnum";
-				TString oneSideHitHist = rno_dir + "h_N11_vs_modnum";
-				TH1F *h_nosidehit = (TH1F*)infile->Get(noSideHitHist);
-				TH1F *h_onesidehit = (TH1F*)infile->Get(oneSideHitHist);      
-				if(!h_nosidehit || !h_onesidehit){
-					std::cerr << "--> SCTPostProcess: no such histogram " <<std::endl;
-					return;
-				}
-
-				TString maxerrortitles[15]={"SCTMaskedLinkmaxVsLbs","SCTROBFragmentmaxVsLbs","SCTABCDerrsmaxVsLbs","SCTRawerrsmaxVsLbs","SCTTimeOutmaxVsLbs","SCTLVL1IDerrsmaxVsLbs","SCTBCIDerrsmaxVsLbs","SCTPreamblemaxVsLbs","SCTFormattererrsmaxVsLbs","SCTRODClockerrsmaxVsLbs","SCTTruncatedRODmaxVsLbs","SCTBSParseerrsmaxVsLbs","SCTMissingLinkmaxVsLbs","SCTmaxNumberOfErrors","SCTmaxModulesWithErrors"};
-				TString conf_dir = run_dir + "/SCT/GENERAL/Conf/";      
-				TString err_dir = run_dir + "/SCT/GENERAL/errors/tmp/";      
-				TDirectory *confdir = infile->GetDirectory(conf_dir);
-				if(!confdir){
-					std::cerr << "--> SCTPostProcess: directory " << conf_dir << " not found " <<std::endl;
-					return;
-				}
-
-				TString maxErrHist[15];
-				TH1F *maxErrHist_new[15];
-				TString maxerrortitles_2d[15];
-				for(int i=0;i<15;i++){
-					maxErrHist[i] = conf_dir + maxerrortitles[i];
-					maxErrHist_new[i] = (TH1F*)infile->Get(maxErrHist[i]);
-					maxerrortitles_2d[i] = err_dir + maxerrortitles[i] + "_2d";
-				}
-
-				//Name of directory where there are efficiency maps
-				TString posi_eff[3] = {"m_eff_", "eff_", "p_eff_"};
-				TString eff_dir[N_dir];
-				//Object of directoty
-				TDirectory *effDir[N_dir];
-				//Name of histogram
-				TString mapName[N_DISKS*2 + N_BARREL][2];
-				//Histogram
-				std::array < std::array < TProfile2D *, 2 >, N_DISKS*2 + N_BARREL > effMap;
-				//New histogram is made by postprocessing
-				TH1F *h_EffDist = new TH1F("SctEffDistribution", "SCT Efficiency Distribution", 500, 0, 1);
-				h_EffDist->GetXaxis()->SetTitle("Efficiency");
-				h_EffDist->GetYaxis()->SetTitle("Links");
-				//
-				int det_num=-1;
-				int layers[3] = {N_DISKS, N_BARREL, N_DISKS};
-				//
-				for(int i=0;i<N_dir;i++){
-					eff_dir[i] = run_dir + "/SCT" + subDetName[i] + "/eff/";
-					effDir[i] = (TDirectory*)infile->GetDirectory(eff_dir[i]);
-					if(!effDir[i]){
-						std::cerr << "--> SCTPostProcess: directory " << eff_dir[i] << " not found " <<std::endl;
-						return;
-					}
-				}
-				//Calculate and Fill
-				for(Long_t i=0;i<3;i++){
-					effDir[i+1]->cd();
-					for(Long_t j=0;j<layers[i];j++){
-						if(i==0) det_num=j;
-						else if(i==1) det_num=j+N_DISKS;
-						else if(i==2) det_num=j+N_DISKS+N_BARREL;
-						else {
-                                                  std::cerr << "--> Detector region (barrel, endcap A, endcap C) could not be determined" <<std::endl;
-                                                  return;
-						}
-						for(Long_t k=0;k<2;k++){
-							mapName[det_num][k] = eff_dir[i+1] + posi_eff[i]+j+"_"+k;
-							effMap[det_num][k] = (TProfile2D*) infile->Get(mapName[det_num][k]);
-							if(!effMap[det_num][k] ){
-								std::cerr << "--> SCTPostProcess: no such histogram: "<<mapName[det_num][k]<<std::endl;
-								continue;
-							}
-							for(int xbin=1;xbin<effMap[det_num][k]->GetNbinsX()+1;xbin++){
-								for(int ybin=1;ybin<effMap[det_num][k]->GetNbinsY()+1;ybin++){
-									if(effMap[det_num][k]->GetBinEntries(effMap[det_num][k]->GetBin(xbin,ybin))==0) continue;
-									h_EffDist->Fill(effMap[det_num][k]->GetBinContent(xbin,ybin));
-								}
-							}
-						}
-					}
-				}
-				effDir[0]->cd();
-				//Overwriting
-				h_EffDist->Write("", TObject::kOverwrite);
-				//end of eff dist 15.09.2016
-				TH1F *hist_all = new TH1F("h_NO","Noise Occupancy for Barrel and Endcaps",500,0.,100.);
-				TH1F *hist_bar = new TH1F("h_NOb","Noise Occupancy for Barrel",500,0.,100.);
-				TH1F *hist_end = new TH1F("h_NOEC","Noise Occupancy for Endcaps",500,0.,100.);
-				TH1F *hist_endc = new TH1F("hist_endcapC","endcap C",500,0.,100.);
-				TH1F *hist_enda = new TH1F("hist_endcapA","endcap A",500,0.,100.);
-
-				TH1F *hist_bar_layer[4];
-				for(int i=0;i<4;i++){
-					hist_bar_layer[i] = new TH1F(Form("h_NOb_layer%d",i),Form("Noise Occupancy Barrel Layer %d",i),500,0.,100.);
-				}
-				TH1F *hist_endC_disk[9];
-				for(int i=0;i<9;i++){
-					hist_endC_disk[i] = new TH1F(Form("h_NOECC_disk%d",i),Form("Noise Occupancy Endcap C disk %d",i),500,0.,100.);
-				}
-				TH1F *hist_endA_disk[9];
-				for(int i=0;i<9;i++){
-					hist_endA_disk[i] = new TH1F(Form("h_NOECA_disk%d",i),Form("Noise Occupancy Endcap A disk %d",i),500,0.,100.);
-				}
-				TH1F *hist_inner = new TH1F("h_NOEC_Inner","Noise Occupancy Inner Endcap Modules",500,0.,100.);
-				TH1F *hist_middle = new TH1F("h_NOEC_Middle","Noise Occupancy Middle Endcap Modules",500,0.,100.);
-				TH1F *hist_outer = new TH1F("h_NOEC_Outer","Noise Occupancy Outer Endcap Modules",500,0.,100.);
-				TH1F *hist_smiddle = new TH1F("h_NOEC_ShortMiddle","Noise Occupancy Short Middle Endcap Modules",500,0.,100.);
-
-				int nModuleEndCap1[9] = {0, 92, 224, 356, 488, 620, 752, 844, 936};
-				int nModuleEndCap2[9] = {92, 224, 356, 488, 620, 752, 844, 936, 988};
-				int nModuleBarrel1[4] = {0, 384, 864, 1440};
-				int nModuleBarrel2[4] = {384, 864, 1440, 2112};
-
-
-				for(int i=0;i<4088;i++){
-					int nosidehit = h_nosidehit->GetBinContent(i+1);
-					int onesidehit = h_onesidehit->GetBinContent(i+1);
-					if(nosidehit>0){
-						double Rval = (double)onesidehit/(double)nosidehit;
-						double NOval = 1./768.*Rval/(2.+Rval);
-						if(NOval!=0){
-							hist_all->Fill(100000.*NOval);
-							if(i>=0 && i<988){
-								hist_end->Fill(100000.*NOval);
-								hist_endc->Fill(100000.*NOval);
-								for(int j=0;j<9;j++){
-									if(i>=nModuleEndCap1[j] && i<nModuleEndCap2[j]){
-										hist_endC_disk[j]->Fill(100000.*NOval);
-										if(i-nModuleEndCap1[j]<52){
-											hist_outer->Fill(100000.*NOval);
-										}else if(i-nModuleEndCap1[j]>=52 && i-nModuleEndCap1[j]<92){
-											if(i<844){
-												hist_middle->Fill(100000.*NOval);
-											}else if(i>=844){
-												hist_smiddle->Fill(100000.*NOval);
-											}
-										}else if(i-nModuleEndCap1[j]>=92 && i-nModuleEndCap1[j]<132){
-											hist_inner->Fill(100000.*NOval);
-										}
-									}
-								}
-							}else if(i>=988 && i<3100){
-								hist_bar->Fill(100000.*NOval);
-								for(int j=0;j<4;j++){
-									if(i>=nModuleBarrel1[j]+988 && i<nModuleBarrel2[j]+988){
-										hist_bar_layer[j]->Fill(100000*NOval);
-									}
-								}
-							}else if(i>=3100 && i<4088){
-								hist_end->Fill(100000.*NOval);
-								hist_enda->Fill(100000.*NOval);
-								for(int j=0;j<9;j++){
-									if(i>=nModuleEndCap1[j]+3100 && i<nModuleEndCap2[j]+3100){
-										hist_endA_disk[j]->Fill(100000*NOval);
-										if(i-nModuleEndCap1[j]-3100<52){
-											hist_outer->Fill(100000.*NOval);
-										}else if(i-nModuleEndCap1[j]-3100>=52 && i-nModuleEndCap1[j]-3100<92){
-											if(i-3100<844){
-												hist_middle->Fill(100000.*NOval);
-											}else if(i-3100>=844){
-												hist_smiddle->Fill(100000.*NOval);
-											}
-										}else if(i-nModuleEndCap1[j]-3100>=92 && i-nModuleEndCap1[j]-3100<132){
-											hist_inner->Fill(100000.*NOval);
-										}
-									}
-								}
-							}
-						}
-					}
-				}
-				hist_all->SetBinContent(hist_all->GetNbinsX(),hist_all->GetBinContent(hist_all->GetNbinsX() ) + hist_all->GetBinContent(hist_all->GetNbinsX() +1));
-				hist_bar->SetBinContent(hist_bar->GetNbinsX(),hist_bar->GetBinContent(hist_bar->GetNbinsX() ) + hist_bar->GetBinContent(hist_bar->GetNbinsX() +1));
-				hist_end->SetBinContent(hist_end->GetNbinsX(),hist_end->GetBinContent(hist_end->GetNbinsX() ) + hist_end->GetBinContent(hist_end->GetNbinsX() +1));
-
-				dir->cd();
-				hist_all->Write("", TObject::kOverwrite);
-				hist_bar->Write("", TObject::kOverwrite);
-				hist_end->Write("", TObject::kOverwrite);
-				for(int i=0;i<4;i++){
-					hist_bar_layer[i]->Write("", TObject::kOverwrite);
-				}
-				for(int i=0;i<9;i++){
-					hist_endC_disk[i]->Write("", TObject::kOverwrite);
-				}
-				for(int i=0;i<9;i++){
-					hist_endA_disk[i]->Write("", TObject::kOverwrite);
-				}
-				hist_inner->Write("", TObject::kOverwrite);
-				hist_middle->Write("", TObject::kOverwrite);
-				hist_outer->Write("", TObject::kOverwrite);
-				hist_smiddle->Write("", TObject::kOverwrite);
-
-				TH2I *h2_maxErrHist[15];
-				confdir->cd();
-				TDirectory *errdir = infile->GetDirectory(err_dir);
-				if(errdir){
-					for(int i=0;i<15;i++){
-						h2_maxErrHist[i] = (TH2I*)infile->Get(maxerrortitles_2d[i]);
-						if(h2_maxErrHist[i]&&maxErrHist_new[i]){
-							for(int m=0;m<h2_maxErrHist[i]->GetXaxis()->GetNbins();m++){
-								for(int n=0;n<8176;n++){
-									int maxModErrs = h2_maxErrHist[i]->GetBinContent(m+1,8176-n);
-									if(maxModErrs!=0){
-										maxErrHist_new[i]->SetBinContent(m+1,8176-n);
-										break;
-									}
-								}
-							}
-							maxErrHist_new[i]->Write("", TObject::kOverwrite);            
-						}
-					}
-				}
-
-				infile->Write();
-
-			}//while
+  static const bool rno_debug = false;
+
+  void
+  MonitoringFile::SCTPostProcess( std::string inFilename, bool /* isIncremental */ )
+  {
+    if (rno_debug) std::cout << "Start SCT post-processing" <<std::endl;
+
+    TH1::SetDefaultSumw2();
+    TFile *infile = TFile::Open(inFilename.c_str(),"UPDATE");
+    if(infile==0 || ! infile->IsOpen()){
+      std::cerr << "--> SCTPostProcess: Input file not opened" <<std::endl;
+      return;
+    }
+    if(infile->IsZombie()){
+      std::cerr << "--> SCTPostProcess: Input file " << inFilename << " cannot be opened" <<std::endl;
+      return;
+    }
+    if(infile->GetSize()<1000){
+      std::cerr << "--> SCTPostProcess: Input file empty " <<std::endl;
+      return;
+    }
+
+    // start postprocessing
+
+    TIter next_run(infile->GetListOfKeys());
+    TKey *key_run(0);
+    key_run = (TKey*)next_run();
+    TDirectory *dir0 = dynamic_cast<TDirectory*> (key_run->ReadObj());
+    if(!dir0) return; // should never fail
+    dir0->cd();
+
+    TString run_dir;
+    const int N_dir=4;
+    const int N_BARREL=4, N_DISKS=9;
+    TString subDetName[N_dir] = {"/GENERAL", "/SCTEC", "/SCTB", "/SCTEA"};
+
+    int times = 1;
+    while (times--) {  // just once
+      run_dir = dir0->GetName();
+      bool do_rno = true;
+      bool do_no = true;
+      bool do_conf = true;
+      bool do_eff = true;
+
+      // setup directories
+
+      TString rno_dir[N_dir];
+      TDirectory *rnodir[N_dir];
+      for(int i=0;i<N_dir;i++){
+	rno_dir[i] = run_dir + "/SCT" + subDetName[i] + "/RatioNoise/";
+	rnodir[i] = (TDirectory*)infile->GetDirectory(rno_dir[i]);
+	if(!rnodir[i]){
+	  std::cerr << "--> SCTPostProcess: directory " << rno_dir[i] << " not found " <<std::endl;
+	  do_rno = false;
+	  //return;
+	}
+      }
+
+      TString no_dir[N_dir];
+      TDirectory *nodir[N_dir];
+      for(int i=0;i<N_dir;i++){
+	if(i==0)no_dir[i] = run_dir + "/SCT" + subDetName[i] + "/noise/";
+	else no_dir[i] = run_dir + "/SCT" + subDetName[i] + "/Noise/";
+	nodir[i] = (TDirectory*)infile->GetDirectory(no_dir[i]);
+	if(!nodir[i]){
+	  std::cerr << "--> SCTPostProcess: directory " << no_dir[i] << " not found " <<std::endl;
+	  do_no = false;
+	  //return;
+	}
+      }
+
+      TString conf_dir[N_dir];
+      TDirectory *confdir[N_dir];
+      for(int i=0;i<N_dir;i++){
+	conf_dir[i] = run_dir + "/SCT" + subDetName[i] + "/Conf/";
+	confdir[i] = (TDirectory*)infile->GetDirectory(conf_dir[i]);
+	if(!confdir[i]){
+	  std::cerr << "--> SCTPostProcess: directory " << conf_dir[i] << " not found " <<std::endl;
+	  do_conf = false;
+	  //return;
+	}
+      }
+
+      TString eff_dir[N_dir];
+      TDirectory *effdir[N_dir];
+      for(int i=0;i<N_dir;i++){
+	eff_dir[i] = run_dir + "/SCT" + subDetName[i] + "/eff/";
+	effdir[i] = (TDirectory*)infile->GetDirectory(eff_dir[i]);
+	if(!effdir[i]){
+	  std::cerr << "--> SCTPostProcess: directory " << eff_dir[i] << " not found " <<std::endl;
+	  do_eff = false;
+	  //return;
+	}
+      }
+
+      int layers[3] = {N_DISKS, N_BARREL, N_DISKS};
+      if (rno_debug) std::cout << "SCT post-processing: efficiency" <<std::endl;
+      // efficiency
+      if(do_eff){
+	TString posi_eff[3] = {"m_eff_", "eff_", "p_eff_"};
+
+	effdir[0]->cd();
+	TH1F *h_EffDist = new TH1F("SctEffDistribution", "SCT Efficiency Distribution", 500, 0, 1);
+	h_EffDist->GetXaxis()->SetTitle("Efficiency");
+	h_EffDist->GetYaxis()->SetTitle("Links");
+
+	TString mapName = "";
+	TProfile2D *tp2dMap = 0;
+
+	for(Long_t i=0;i<3;i++){
+	  effdir[i+1]->cd();
+	  for(Long_t j=0;j<layers[i];j++){
+	    for(Long_t k=0;k<2;k++){
+	      mapName = eff_dir[i+1] + posi_eff[i]+j+"_"+k;
+	      tp2dMap = (TProfile2D*) infile->Get(mapName);
+	      if(!tp2dMap){
+		std::cerr << "--> SCTPostProcess: no such histogram: "<<mapName<<std::endl;
+		continue;
+	      }
+	      for(int xbin=1;xbin<tp2dMap->GetNbinsX()+1;xbin++){
+		for(int ybin=1;ybin<tp2dMap->GetNbinsY()+1;ybin++){
+		  if(tp2dMap->GetBinEntries(tp2dMap->GetBin(xbin,ybin))==0) continue;
+		  h_EffDist->Fill(tp2dMap->GetBinContent(xbin,ybin));
+		}
+	      }
+	    }
+	  }
+	}
+	effdir[0]->cd();
+	h_EffDist->Write("", TObject::kOverwrite);
+      }
+
+      if (rno_debug) std::cout << "SCT post-processing: ratio noise" <<std::endl;
+      // ratio noise
+      if(do_rno){
+	int nModuleEndCap1[9] = {0, 92, 224, 356, 488, 620, 752, 844, 936};
+	int nModuleEndCap2[9] = {92, 224, 356, 488, 620, 752, 844, 936, 988};
+	int nModuleBarrel1[4] = {0, 384, 864, 1440};
+	int nModuleBarrel2[4] = {384, 864, 1440, 2112};
+
+	rnodir[0]->cd();
+	TH1F *hist_all = new TH1F("h_NO","Noise Occupancy for Barrel and Endcaps",500,0.,100.);
+	TH1F *hist_bar = new TH1F("h_NOb","Noise Occupancy for Barrel",500,0.,100.);
+	TH1F *hist_end = new TH1F("h_NOEC","Noise Occupancy for Endcaps",500,0.,100.);
+	TH1F *hist_endc = new TH1F("hist_endcapC","endcap C",500,0.,100.);
+	TH1F *hist_enda = new TH1F("hist_endcapA","endcap A",500,0.,100.);
+
+	TH1F *hist_inner = new TH1F("h_NOEC_Inner","Noise Occupancy Inner Endcap Modules",500,0.,100.);
+	TH1F *hist_middle = new TH1F("h_NOEC_Middle","Noise Occupancy Middle Endcap Modules",500,0.,100.);
+	TH1F *hist_outer = new TH1F("h_NOEC_Outer","Noise Occupancy Outer Endcap Modules",500,0.,100.);
+	TH1F *hist_smiddle = new TH1F("h_NOEC_ShortMiddle","Noise Occupancy Short Middle Endcap Modules",500,0.,100.);
+
+	TH1F *hist_bar_layer[4];
+	for(int i=0;i<4;i++){
+	  rnodir[2]->cd();
+	  hist_bar_layer[i] = new TH1F(Form("h_NOb_layer%d",i),Form("Noise Occupancy Barrel Layer %d",i),500,0.,100.);
+	}
+	TH1F *hist_endC_disk[9];
+	for(int i=0;i<9;i++){
+	  rnodir[1]->cd();
+	  hist_endC_disk[i] = new TH1F(Form("h_NOECC_disk%d",i),Form("Noise Occupancy Endcap C disk %d",i),500,0.,100.);
+	}
+	TH1F *hist_endA_disk[9];
+	for(int i=0;i<9;i++){
+	  rnodir[3]->cd();
+	  hist_endA_disk[i] = new TH1F(Form("h_NOECA_disk%d",i),Form("Noise Occupancy Endcap A disk %d",i),500,0.,100.);
+	}
+
+	rnodir[0]->cd();
+	TString noSideHitHist = rno_dir[0] + "h_NZ1_vs_modnum";
+	TString oneSideHitHist = rno_dir[0] + "h_N11_vs_modnum";
+	TH1F *h_nosidehit = (TH1F*)infile->Get(noSideHitHist);
+	TH1F *h_onesidehit = (TH1F*)infile->Get(oneSideHitHist);
+	if(!h_nosidehit || !h_onesidehit){
+	  std::cerr << "--> SCTPostProcess: no such histograms " << noSideHitHist << "and/or" << oneSideHitHist <<std::endl;
+	}
+
+	for(int i=0;i<4088;i++){
+	  int nosidehit = h_nosidehit ? h_nosidehit->GetBinContent(i+1): -999;
+	  int onesidehit = h_onesidehit ? h_onesidehit->GetBinContent(i+1): -999;
+	  if(nosidehit>0 && onesidehit>-999){
+	    double Rval = (double)onesidehit/(double)nosidehit;
+	    double NOval = 1./768.*Rval/(2.+Rval);
+	    if(NOval!=0){
+	      hist_all->Fill(100000.*NOval);
+	      if(i>=0 && i<988){
+		hist_end->Fill(100000.*NOval);
+		hist_endc->Fill(100000.*NOval);
+		for(int j=0;j<9;j++){
+		  if(i>=nModuleEndCap1[j] && i<nModuleEndCap2[j]){
+		    hist_endC_disk[j]->Fill(100000.*NOval);
+		    if(i-nModuleEndCap1[j]<52){
+		      hist_outer->Fill(100000.*NOval);
+		    }else if(i-nModuleEndCap1[j]>=52 && i-nModuleEndCap1[j]<92){
+		      if(i<844){
+			hist_middle->Fill(100000.*NOval);
+		      }else if(i>=844){
+			hist_smiddle->Fill(100000.*NOval);
+		      }
+		    }else if(i-nModuleEndCap1[j]>=92 && i-nModuleEndCap1[j]<132){
+		      hist_inner->Fill(100000.*NOval);
+		    }
+		  }
+		}
+	      }else if(i>=988 && i<3100){
+		hist_bar->Fill(100000.*NOval);
+		for(int j=0;j<4;j++){
+		  if(i>=nModuleBarrel1[j]+988 && i<nModuleBarrel2[j]+988){
+		    hist_bar_layer[j]->Fill(100000*NOval);
+		  }
+		}
+	      }else if(i>=3100 && i<4088){
+		hist_end->Fill(100000.*NOval);
+		hist_enda->Fill(100000.*NOval);
+		for(int j=0;j<9;j++){
+		  if(i>=nModuleEndCap1[j]+3100 && i<nModuleEndCap2[j]+3100){
+		    hist_endA_disk[j]->Fill(100000*NOval);
+		    if(i-nModuleEndCap1[j]-3100<52){
+		      hist_outer->Fill(100000.*NOval);
+		    }else if(i-nModuleEndCap1[j]-3100>=52 && i-nModuleEndCap1[j]-3100<92){
+		      if(i-3100<844){
+			hist_middle->Fill(100000.*NOval);
+		      }else if(i-3100>=844){
+			hist_smiddle->Fill(100000.*NOval);
+		      }
+		    }else if(i-nModuleEndCap1[j]-3100>=92 && i-nModuleEndCap1[j]-3100<132){
+		      hist_inner->Fill(100000.*NOval);
+		    }
+		  }
+		}
+	      }
+	    }
+	  }
+	}
+	hist_all->SetBinContent(hist_all->GetNbinsX(),hist_all->GetBinContent(hist_all->GetNbinsX() ) + hist_all->GetBinContent(hist_all->GetNbinsX() +1));
+	hist_bar->SetBinContent(hist_bar->GetNbinsX(),hist_bar->GetBinContent(hist_bar->GetNbinsX() ) + hist_bar->GetBinContent(hist_bar->GetNbinsX() +1));
+	hist_end->SetBinContent(hist_end->GetNbinsX(),hist_end->GetBinContent(hist_end->GetNbinsX() ) + hist_end->GetBinContent(hist_end->GetNbinsX() +1));
+
+	rnodir[0]->cd();
+	hist_all->Write("", TObject::kOverwrite);
+	hist_bar->Write("", TObject::kOverwrite);
+	hist_end->Write("", TObject::kOverwrite);
+	hist_inner->Write("", TObject::kOverwrite);
+	hist_middle->Write("", TObject::kOverwrite);
+	hist_outer->Write("", TObject::kOverwrite);
+	hist_smiddle->Write("", TObject::kOverwrite);
+	for(int i=0;i<9;i++){
+	  rnodir[1]->cd();
+	  hist_endC_disk[i]->Write("", TObject::kOverwrite);
+	}
+	for(int i=0;i<4;i++){
+	  rnodir[2]->cd();
+	  hist_bar_layer[i]->Write("", TObject::kOverwrite);
+	}
+	for(int i=0;i<9;i++){
+	  rnodir[3]->cd();
+	  hist_endA_disk[i]->Write("", TObject::kOverwrite);
+	}
+      }
+
+      if (rno_debug) std::cout << "SCT post-processing: noise occupancy" <<std::endl;
+      // noise occupancy
+      if(do_no){
+	TString posi_notrg[3] = {"/noiseoccupancymaptriggerECm_", "/noiseoccupancymaptrigger_", "/noiseoccupancymaptriggerECp_"};
+	TString posi_no[3] = {"/noiseoccupancymapECm_", "/noiseoccupancymap_", "/noiseoccupancymapECp_"};
+	TString posi_hotrg[3] = {"/hitoccupancymaptriggerECm_", "/hitoccupancymaptrigger_", "/hitoccupancymaptriggerECp_"};
+	TString posi_ho[3] = {"/hitoccupancymapECm_", "/hitoccupancymap_", "/hitoccupancymapECp_"};
+
+	TString tmpName = no_dir[0]+"SCTNOdistributionTrigger";
+	TString NO_title = "";
+	nodir[0]->cd();
+	TH1F* h_SCTNOTrigger = 0;
+	if(!infile->Get(tmpName)){
+	  NO_title = "NO Distribution for the SCT for EMPTY trigger";
+	}
+	else{
+	  NO_title = ((TH1F*)infile->Get(tmpName))->GetTitle();
+	}
+	h_SCTNOTrigger = new TH1F("SCTNOdistributionTrigger", NO_title, 8000,1e-1 ,20000);
+	h_SCTNOTrigger->GetXaxis()->SetTitle("Noise Occupancy [10^{-5}]");
+	h_SCTNOTrigger->GetYaxis()->SetTitle("Modules");
+
+	TH1F* h_SCTNO = new TH1F("SCTNOdistribution", "NO Distribution for the SCT", 8000,1e-1 ,20000);
+	h_SCTNO->GetXaxis()->SetTitle("Noise Occupancy [10^{-5}]");
+	h_SCTNO->GetYaxis()->SetTitle("Modules");
+
+	NO_title.ReplaceAll("SCT", "Barrel");
+	TH1F* h_barrelNOTrigger = new TH1F("barrelNOdistributionTrigger", NO_title, 8000,1e-1 ,20000);
+	h_barrelNOTrigger->GetXaxis()->SetTitle("Noise Occupancy [10^{-5}]");
+	h_barrelNOTrigger->GetYaxis()->SetTitle("Modules");
+	TH1F* h_barrelNO = new TH1F("barrelNOdistribution", "NO Distribution for the Barrel", 8000,1e-1 ,20000);
+	h_barrelNO->GetXaxis()->SetTitle("Noise Occupancy [10^{-5}]");
+	h_barrelNO->GetYaxis()->SetTitle("Modules");
+
+	NO_title.ReplaceAll("Barrel", "EndCap A");
+	TH1F* h_ECANOTrigger = new TH1F("ECANOdistributionTrigger", NO_title, 8000,1e-1 ,20000);
+	h_ECANOTrigger->GetXaxis()->SetTitle("Noise Occupancy [10^{-5}]");
+	h_ECANOTrigger->GetYaxis()->SetTitle("Modules");
+	TH1F* h_ECANO = new TH1F("ECANOdistribution", "NO Distribution for the EndCap A", 8000,1e-1 ,20000);
+	h_ECANO->GetXaxis()->SetTitle("Noise Occupancy [10^{-5}]");
+	h_ECANO->GetYaxis()->SetTitle("Modules");
+
+	NO_title.ReplaceAll("EndCap A", "EndCap C");
+	TH1F* h_ECCNOTrigger = new TH1F("ECCNOdistributionTrigger", NO_title, 8000,1e-1 ,20000);
+	h_ECCNOTrigger->GetXaxis()->SetTitle("Noise Occupancy [10^{-5}]");
+	h_ECCNOTrigger->GetYaxis()->SetTitle("Modules");
+	TH1F* h_ECCNO = new TH1F("ECCNOdistribution", "NO Distribution for the EndCap C", 8000,1e-1 ,20000);
+	h_ECCNO->GetXaxis()->SetTitle("Noise Occupancy [10^{-5}]");
+	h_ECCNO->GetYaxis()->SetTitle("Modules");
+
+	tmpName = no_dir[0]+"SCTHOdistributionTrigger";
+	TString HO_title = "";
+	nodir[0]->cd();
+	TH1F* h_SCTHOTrigger = 0;
+	if(!infile->Get(tmpName)){
+	  HO_title = "HO Distribution for the SCT for EMPTY trigger";
+	}
+	else{
+	  HO_title = ((TH1F*)infile->Get(tmpName))->GetTitle();
+	}
+	h_SCTHOTrigger = new TH1F("SCTHOdistributionTrigger", HO_title, 8000,1e-1 ,20000);
+	h_SCTHOTrigger->GetXaxis()->SetTitle("Noise Occupancy [10^{-5}]");
+	h_SCTHOTrigger->GetYaxis()->SetTitle("Modules");
+
+	TH1F* h_SCTHO = new TH1F("SCTHOdistribution", "HO Distribution for the SCT", 8000,1e-1 ,20000);
+	h_SCTHO->GetXaxis()->SetTitle("Noise Occupancy [10^{-5}]");
+	h_SCTHO->GetYaxis()->SetTitle("Modules");
+
+	HO_title.ReplaceAll("SCT", "Barrel");
+	TH1F* h_barrelHOTrigger = new TH1F("barrelHOdistributionTrigger", HO_title, 8000,1e-1 ,20000);
+	h_barrelHOTrigger->GetXaxis()->SetTitle("Hit Occupancy [10^{-5}]");
+	h_barrelHOTrigger->GetYaxis()->SetTitle("Modules");
+	TH1F* h_barrelHO = new TH1F("barrelHOdistribution", "HO Distribution for the Barrel", 8000,1e-1 ,20000);
+	h_barrelHO->GetXaxis()->SetTitle("Hit Occupancy [10^{-5}]");
+	h_barrelHO->GetYaxis()->SetTitle("Modules");
+
+	HO_title.ReplaceAll("Barrel", "EndCap A");
+	TH1F* h_ECAHOTrigger = new TH1F("ECAHOdistributionTrigger", HO_title, 8000,1e-1 ,20000);
+	h_ECAHOTrigger->GetXaxis()->SetTitle("Hit Occupancy [10^{-5}]");
+	h_ECAHOTrigger->GetYaxis()->SetTitle("Modules");
+	TH1F* h_ECAHO = new TH1F("ECAHOdistribution", "HO Distribution for the EndCap A", 8000,1e-1 ,20000);
+	h_ECAHO->GetXaxis()->SetTitle("Hit Occupancy [10^{-5}]");
+	h_ECAHO->GetYaxis()->SetTitle("Modules");
+
+	HO_title.ReplaceAll("EndCap A", "EndCap C");
+	TH1F* h_ECCHOTrigger = new TH1F("ECCHOdistributionTrigger", HO_title, 8000,1e-1 ,20000);
+	h_ECCHOTrigger->GetXaxis()->SetTitle("Hit Occupancy [10^{-5}]");
+	h_ECCHOTrigger->GetYaxis()->SetTitle("Modules");
+	TH1F* h_ECCHO = new TH1F("ECCHOdistribution", "HO Distribution for the EndCap C", 8000,1e-1 ,20000);
+	h_ECCHO->GetXaxis()->SetTitle("Hit Occupancy [10^{-5}]");
+	h_ECCHO->GetYaxis()->SetTitle("Modules");
+
+	TString mapName = "";
+	TProfile2D *tp2dMap = 0;
+
+	for(Long_t i=0;i<3;i++){
+	  nodir[i+1]->cd();
+	  for(Long_t j=0;j<layers[i];j++){
+	    for(Long_t k=0;k<2;k++){
+	      mapName = no_dir[i+1] + posi_no[i]+j+"_"+k;
+	      tp2dMap = (TProfile2D*) infile->Get(mapName);
+	      if(!tp2dMap){
+		std::cerr << "--> SCTPostProcess: no such histogram: "<<mapName<<std::endl;
+		continue;
+	      }
+	      for(int xbin=1;xbin<tp2dMap->GetNbinsX()+1;xbin++){
+		for(int ybin=1;ybin<tp2dMap->GetNbinsY()+1;ybin++){
+		  if(tp2dMap->GetBinEntries(tp2dMap->GetBin(xbin,ybin))==0) continue;
+		  h_SCTNO->Fill(tp2dMap->GetBinContent(xbin,ybin));
+		  if(i==0) h_ECCNO->Fill(tp2dMap->GetBinContent(xbin,ybin));
+		  if(i==1) h_barrelNO->Fill(tp2dMap->GetBinContent(xbin,ybin));
+		  if(i==2) h_ECANO->Fill(tp2dMap->GetBinContent(xbin,ybin));
 		}
+	      }
+	    }
+	    for(Long_t k=0;k<2;k++){
+	      mapName = no_dir[i+1] + posi_notrg[i]+j+"_"+k;
+	      tp2dMap = (TProfile2D*) infile->Get(mapName);
+	      if(!tp2dMap){
+		std::cerr << "--> SCTPostProcess: no such histogram: "<<mapName<<std::endl;
+		continue;
+	      }
+	      for(int xbin=1;xbin<tp2dMap->GetNbinsX()+1;xbin++){
+		for(int ybin=1;ybin<tp2dMap->GetNbinsY()+1;ybin++){
+		  if(tp2dMap->GetBinEntries(tp2dMap->GetBin(xbin,ybin))==0) continue;
+		  h_SCTNOTrigger->Fill(tp2dMap->GetBinContent(xbin,ybin));
+		  if(i==0) h_ECCNOTrigger->Fill(tp2dMap->GetBinContent(xbin,ybin));
+		  if(i==1) h_barrelNOTrigger->Fill(tp2dMap->GetBinContent(xbin,ybin));
+		  if(i==2) h_ECANOTrigger->Fill(tp2dMap->GetBinContent(xbin,ybin));
+		}
+	      }
+	    }
+	    for(Long_t k=0;k<2;k++){
+	      mapName = no_dir[i+1] + posi_ho[i]+j+"_"+k;
+	      tp2dMap = (TProfile2D*) infile->Get(mapName);
+	      if(!tp2dMap){
+		std::cerr << "--> SCTPostProcess: no such histogram: "<<mapName<<std::endl;
+		continue;
+	      }
+	      for(int xbin=1;xbin<tp2dMap->GetNbinsX()+1;xbin++){
+		for(int ybin=1;ybin<tp2dMap->GetNbinsY()+1;ybin++){
+		  if(tp2dMap->GetBinEntries(tp2dMap->GetBin(xbin,ybin))==0) continue;
+		  h_SCTHO->Fill(tp2dMap->GetBinContent(xbin,ybin));
+		  if(i==0) h_ECCHO->Fill(tp2dMap->GetBinContent(xbin,ybin));
+		  if(i==1) h_barrelHO->Fill(tp2dMap->GetBinContent(xbin,ybin));
+		  if(i==2) h_ECAHO->Fill(tp2dMap->GetBinContent(xbin,ybin));
+		}
+	      }
+	    }
+	    for(Long_t k=0;k<2;k++){
+	      mapName = no_dir[i+1] + posi_hotrg[i]+j+"_"+k;
+	      tp2dMap = (TProfile2D*) infile->Get(mapName);
+	      if(!tp2dMap){
+		std::cerr << "--> SCTPostProcess: no such histogram: "<<mapName<<std::endl;
+		continue;
+	      }
+	      for(int xbin=1;xbin<tp2dMap->GetNbinsX()+1;xbin++){
+		for(int ybin=1;ybin<tp2dMap->GetNbinsY()+1;ybin++){
+		  if(tp2dMap->GetBinEntries(tp2dMap->GetBin(xbin,ybin))==0) continue;
+		  h_SCTHOTrigger->Fill(tp2dMap->GetBinContent(xbin,ybin));
+		  if(i==0) h_ECCHOTrigger->Fill(tp2dMap->GetBinContent(xbin,ybin));
+		  if(i==1) h_barrelHOTrigger->Fill(tp2dMap->GetBinContent(xbin,ybin));
+		  if(i==2) h_ECAHOTrigger->Fill(tp2dMap->GetBinContent(xbin,ybin));
+		}
+	      }
+	    }
+	  }
+	}
+
+	nodir[0]->cd();
+
+	h_SCTNOTrigger->Write("", TObject::kOverwrite);
+	h_SCTNO->Write("", TObject::kOverwrite);
+	h_barrelNOTrigger->Write("", TObject::kOverwrite);
+	h_barrelNO->Write("", TObject::kOverwrite);
+	h_ECCNOTrigger->Write("", TObject::kOverwrite);
+	h_ECCNO->Write("", TObject::kOverwrite);
+	h_ECANOTrigger->Write("", TObject::kOverwrite);
+	h_ECANO->Write("", TObject::kOverwrite);
+
+	h_SCTHOTrigger->Write("", TObject::kOverwrite);
+	h_SCTHO->Write("", TObject::kOverwrite);
+	h_barrelHOTrigger->Write("", TObject::kOverwrite);
+	h_barrelHO->Write("", TObject::kOverwrite);
+	h_ECCHOTrigger->Write("", TObject::kOverwrite);
+	h_ECCHO->Write("", TObject::kOverwrite);
+	h_ECAHOTrigger->Write("", TObject::kOverwrite);
+	h_ECAHO->Write("", TObject::kOverwrite);
+      }
+
+      if (rno_debug) std::cout << "SCT post-processing: Configuration" <<std::endl;
+      // Configuration
+      if(do_conf){
+	const int N_hist = 3;
+	double Threshold[N_hist] = {0.7,0.1,150};
+	TString name_hist[N_hist][N_dir] = {
+	  {"","/errors/Errors/SCT_NumberOfErrorsEC_", "/errors/Errors/SCT_NumberOfErrorsB_", "/errors/Errors/SCT_NumberOfErrorsEA_"},
+	  {"","/eff/ineffm_", "/eff/ineff_", "/eff/ineffp_"},
+	  {"","/Noise/noiseoccupancymaptriggerECm_", "/Noise/noiseoccupancymaptrigger_", "/Noise/noiseoccupancymaptriggerECp_"}
+	};
+	int countM[N_hist][N_dir];
+	for (int ibc = 0; ibc != N_dir; ++ibc) { // region
+	  for(int ih = 0; ih != N_hist; ++ih) { // hist
+	    countM[ih][ibc]=0;
+	  }
+	}
+
+	TH2F* hist0 = 0;
+	TH2F* hist1 = 0;
+	TString mapName = "";
+
+	confdir[0]->cd();
+	for (int ibc = 1; ibc != N_dir; ++ibc) { // region(B=1,ECA=2,ECC=3)
+	  for (int lyr = 0; lyr != layers[ibc-1]; ++lyr) { // layer
+	    for (int ih = 0; ih!= N_hist; ++ih) { // hist
+	      hist0 = 0; hist1 = 0;
+	      mapName =  run_dir + "/SCT" + subDetName[ibc] + name_hist[ih][ibc] + TString::Itoa(lyr,10) + "_0";
+	      hist0 = (TH2F*)infile->Get(mapName);
+	      mapName =  run_dir + "/SCT" + subDetName[ibc] + name_hist[ih][ibc] + TString::Itoa(lyr,10) + "_1";
+	      hist1 = (TH2F*)infile->Get(mapName);
+	      if(!hist0 || !hist1){
+		std::cerr << "--> SCTPostProcess: no such histogram: " << mapName + " or _0" <<std::endl;
+		continue;
+	      }
+	      int xbins = hist0->GetNbinsX() + 1;
+	      int ybins = hist0->GetNbinsY() + 1;
+	      for (int xb = 1; xb != xbins; ++xb) {
+		for (int yb = 1; yb != ybins; ++yb) {
+		  if (hist0->GetBinContent(xb,yb) > Threshold[ih] || hist1->GetBinContent(xb,yb) > Threshold[ih]){
+		    countM[ih][0]++;
+		    countM[ih][ibc]++;
+		  }
+		}
+	      }
+	    }
+	  }
+	}
+
+	dir0->cd();
+	TString conftitleNew[N_dir] = {
+	  "SCTConf", "SCTConfEndcapC", "SCTConfBarrel", "SCTConfEndcapA"
+	};
+	TString conflabel[N_dir] = {
+	  "Num of Problematic Module in All Region", "Num of Problematic Module in EndcapC",
+	  "Num of Problematic Module in Barrel", "Num of Problematic Module in EndcapA"
+	};
+	TH1F *ConfNew[N_dir];
+	for(int i=0;i<N_dir;i++){
+	  TH1F* h_tmp = (TH1F*)infile->Get(conf_dir[i] + conftitleNew[i]);
+	  confdir[i]->cd();
+	  ConfNew[i] = new TH1F(conftitleNew[i]+"New", conflabel[i], 5, -0.5, 4.5);
+	  ConfNew[i]->GetXaxis()->SetBinLabel(1,"Flagged Links");
+	  if(h_tmp) ConfNew[i]->SetBinContent(1,h_tmp->GetBinContent(2));
+	  if(h_tmp) ConfNew[i]->SetBinError(1,TMath::Sqrt(h_tmp->GetBinContent(2)));
+	  ConfNew[i]->GetXaxis()->SetBinLabel(2,"Masked Links");
+	  if(h_tmp) ConfNew[i]->SetBinContent(2,h_tmp->GetBinContent(3));
+	  if(h_tmp) ConfNew[i]->SetBinError(2,TMath::Sqrt(h_tmp->GetBinContent(3)));
+	  ConfNew[i]->GetXaxis()->SetBinLabel(3,"Errors");
+	  ConfNew[i]->SetBinContent(3,countM[0][i]);
+	  ConfNew[i]->SetBinError(3,TMath::Sqrt(countM[0][i]));
+	  ConfNew[i]->GetXaxis()->SetBinLabel(4,"Inefficient");
+	  ConfNew[i]->SetBinContent(4,countM[1][i]);
+	  ConfNew[i]->SetBinError(4,TMath::Sqrt(countM[1][i]));
+	  ConfNew[i]->GetXaxis()->SetBinLabel(5,"Noisy");
+	  ConfNew[i]->SetBinContent(5,countM[2][i]);
+	  ConfNew[i]->SetBinError(5,TMath::Sqrt(countM[2][i]));
+	  ConfNew[i]->Write("", TObject::kOverwrite);
+	}
+      }
+
+      if (rno_debug) std::cout<<"Writing Histograms for SCT..."<<std::endl;
+      infile->Write();
+
+    }//while
+    //infile->Close();
+  }
 
 }//namespace
diff --git a/DataQuality/ZLumiScripts/CMakeLists.txt b/DataQuality/ZLumiScripts/CMakeLists.txt
new file mode 100644
index 000000000000..b658acb5bba6
--- /dev/null
+++ b/DataQuality/ZLumiScripts/CMakeLists.txt
@@ -0,0 +1,15 @@
+################################################################################
+# Package: ZLumiScripts
+################################################################################
+
+# Declare the package name:
+atlas_subdir( ZLumiScripts )
+
+# Declare the package's dependencies:
+#atlas_depends_on_subdirs( )
+
+# External dependencies:
+find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
+
+# Install files from the package:
+atlas_install_scripts( scripts/*.py )
diff --git a/DataQuality/ZLumiScripts/scripts/dqt_zlumi_alleff_HIST.py b/DataQuality/ZLumiScripts/scripts/dqt_zlumi_alleff_HIST.py
new file mode 100755
index 000000000000..ecb4f90b5e0d
--- /dev/null
+++ b/DataQuality/ZLumiScripts/scripts/dqt_zlumi_alleff_HIST.py
@@ -0,0 +1,229 @@
+#!/usr/bin/env python
+# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration                   
+import sys, os, glob
+import ROOT
+
+ROOT.gStyle.SetOptStat(0)
+
+#ACCEPTANCE = 3.173927e-01
+ACCEPTANCE = 3.323224e-01
+
+import argparse
+parser = argparse.ArgumentParser()
+parser.add_argument('infile', type=str, help='input HIST file')
+parser.add_argument('--out', type=str, help='output ROOT file')
+parser.add_argument('--plotdir', type=str, help='Directory to dump plots',
+                    default='plots')
+parser.add_argument('--debug', action='store_true', help='Be verbose in output')
+parser.add_argument('--mode', type=str, help='Zee or Zmumu')
+
+
+args = parser.parse_args()
+
+infilename = args.infile
+infile = ROOT.TFile.Open(infilename, 'READ')
+
+runmode = args.mode
+print 'Running in', runmode, 'mode'
+
+
+runname = None
+for k in infile.GetListOfKeys():
+    if k.GetName().startswith('run_'):
+        runname = k.GetName()
+        break
+if not runname:
+    print 'Cannot find run directory in input file'
+    sys.exit(1)
+else:
+    print 'Found runname', runname
+
+lbdirs = []
+for k in infile.Get(runname).GetListOfKeys():
+    if k.GetName().startswith('lb_'):
+        lbdirs.append(k.GetName())
+
+print 'Now to dump'
+lbnums = sorted([int(_[3:]) for _ in lbdirs])
+
+effcyt = ROOT.TH1F('effcyt', 'Trigger efficiency', lbnums[-1]-lbnums[0]+1, lbnums[0]-0.5, 
+               lbnums[-1]+0.5)
+effcyr = ROOT.TH1F('effcyr', 'Loose muon reco efficiency', lbnums[-1]-lbnums[0]+1, lbnums[0]-0.5, 
+               lbnums[-1]+0.5)
+effcya = ROOT.TH1F('effcya', 'Combined acc x efficiency', lbnums[-1]-lbnums[0]+1, lbnums[0]-0.5, 
+               lbnums[-1]+0.5)
+effcydir = ROOT.TH1F('effcydir', 'Direct acc x efficiency', lbnums[-1]-lbnums[0]+1, lbnums[0]-0.5, 
+               lbnums[-1]+0.5)
+
+from array import array
+fout = ROOT.TFile(args.out if args.out else '%s_all.root' % runname[4:], 'RECREATE')
+o_run = array('I', [0])
+o_lb = array('I', [0])
+o_lbwhen = array('d', [0., 0.])
+o_z_one = array('f', [0.])
+o_z_two = array('f', [0.])
+o_trigeff = array('f', [0.])
+o_trigeffstat = array('f', [0.])
+o_recoeff = array('f', [0.])
+o_recoeffstat = array('f', [0.])
+o_alleff = array('f', [0.])
+o_alleffstat = array('f', [0.])
+o_ae = array('f', [0.])
+o_aestat = array('f', [0.])
+tl = ROOT.TTree( 'lumitree', 'Luminosity tree' )
+tl.Branch('run', o_run, 'run/i')
+tl.Branch('lb', o_lb, 'lb/i')
+tl.Branch('lbwhen', o_lbwhen, 'lbwhen[2]/D')
+tl.Branch('z_one', o_z_one, 'z_one/F')
+tl.Branch('z_two', o_z_two, 'z_two/F')
+tl.Branch('trigeff', o_trigeff, 'trigeff/F')
+tl.Branch('trigeffstat', o_trigeffstat, 'trigeffstat/F')
+tl.Branch('recoeff', o_recoeff, 'recoeff/F')
+tl.Branch('recoeffstat', o_recoeffstat, 'recoeffstat/F')
+tl.Branch('alleff', o_alleff, 'alleff/F')
+tl.Branch('alleffstat', o_alleffstat, 'alleffstat/F')
+tl.Branch('ae', o_ae, 'ae/F')
+tl.Branch('aestat', o_aestat, 'aestat/F')
+
+
+from DQUtils import fetch_iovs
+#rset=set(_[0] for _ in rlb)
+#print rset
+lblb = fetch_iovs("LBLB", runs=int(runname[4:])).by_run
+for lb in sorted(lbdirs):
+    if runmode == "Zee":
+        h = infile.Get('%s/%s/GLOBAL/DQTGlobalWZFinder/m_eltrigtp_matches' % (runname, lb))
+        hmo = infile.Get('%s/%s/GLOBAL/DQTGlobalWZFinder/m_ele_tight_good_os' % (runname, lb))
+        hms = infile.Get('%s/%s/GLOBAL/DQTGlobalWZFinder/m_ele_tight_good_ss' % (runname, lb))
+        hno = infile.Get('%s/%s/GLOBAL/DQTGlobalWZFinder/m_ele_tight_bad_os' % (runname, lb))
+        hns = infile.Get('%s/%s/GLOBAL/DQTGlobalWZFinder/m_ele_tight_bad_ss' % (runname, lb))
+    if runmode == "Zmumu":
+        h = infile.Get('%s/%s/GLOBAL/DQTGlobalWZFinder/m_mutrigtp_matches' % (runname, lb))
+        hmo = infile.Get('%s/%s/GLOBAL/DQTGlobalWZFinder/m_muloosetp_match_os' % (runname, lb))
+        hms = infile.Get('%s/%s/GLOBAL/DQTGlobalWZFinder/m_muloosetp_match_ss' % (runname, lb))
+        hno = infile.Get('%s/%s/GLOBAL/DQTGlobalWZFinder/m_muloosetp_nomatch_os' % (runname, lb))
+        hns = infile.Get('%s/%s/GLOBAL/DQTGlobalWZFinder/m_muloosetp_nomatch_ss' % (runname, lb))
+    lbnum = int(lb[3:])
+    yld = (h[2], h[3])
+    ylderr = (h.GetBinError(2), h.GetBinError(3))
+    #print yld, ylderr
+    A, B = yld
+    o_z_one[0], o_z_two[0] = yld
+    if B == 0: continue
+    eff = 1./(float(A)/B/2.+1.)
+    inverrsq = ((1/2./B)*ylderr[0])**2+((A/2./B**2)*ylderr[1])**2
+    o_trigeff[0] = eff
+    o_trigeffstat[0] = (inverrsq**.5)*(eff**2)
+    o_run[0], o_lb[0] = int(runname[4:]), lbnum
+    try:
+        iov = lblb[int(runname[4:])][lbnum-1]
+        o_lbwhen[0], o_lbwhen[1] = iov.StartTime/1e9, iov.EndTime/1e9
+    except Exception, e:
+        o_lbwhen[0], o_lbwhen[1] = 0, 0
+    effcyt.SetBinContent(lbnum-lbnums[0]+1, eff)
+    effcyt.SetBinError(lbnum-lbnums[0]+1, o_trigeffstat[0])
+
+    def extract(histogram):
+        dbl = ROOT.Double()
+        rv1 = histogram.IntegralAndError(21, 30, dbl)
+        return (rv1, float(dbl))
+    matchos, matchoserr = extract(hmo)
+    matchss, matchsserr = extract(hms)
+    nomatchos, nomatchoserr = extract(hno)
+    nomatchss, nomatchsserr = extract(hns)
+    if args.debug:
+        print lb
+        print ' ->', matchos, matchoserr
+        print ' ->', matchss, matchsserr
+        print ' ->', nomatchos, nomatchoserr
+        print ' ->', nomatchss, nomatchsserr
+    A = float(matchos-matchss)
+    Aerr = (matchoserr**2+matchsserr**2)**.5
+    B = float(nomatchos-nomatchss)
+    Berr = (nomatchoserr**2+nomatchsserr**2)**.5
+    if Berr == 0: Berr = 1.
+    if A == 0 or B/A == -1: 
+        eff = 1.
+        inverrsq = 1.
+    else:
+        eff = 1./(1.+B/A)
+        inverrsq = ((-B/A**2)*Aerr)**2+((1./A)*Berr)**2
+    o_recoeff[0] = eff
+    o_recoeffstat[0] = (inverrsq**.5)*(eff**2)
+    effcyr.SetBinContent(lbnum-lbnums[0]+1, eff)
+    effcyr.SetBinError(lbnum-lbnums[0]+1, o_recoeffstat[0])
+
+    o_ae[0] = ACCEPTANCE*(1-(1-o_trigeff[0])**2)*(o_recoeff[0])**2
+    o_aestat[0] = ACCEPTANCE*((o_recoeff[0]**2*2*(1-o_trigeff[0])*o_trigeffstat[0])**2+(2*o_recoeff[0]*(1-(1-o_trigeff[0])**2)*o_recoeffstat[0])**2)**.5
+    o_alleff[0] = (1-(1-o_trigeff[0])**2)*(o_recoeff[0])**2
+    o_alleffstat[0] = ((o_recoeff[0]**2*2*(1-o_trigeff[0])*o_trigeffstat[0])**2+(2*o_recoeff[0]*(1-(1-o_trigeff[0])**2)*o_recoeffstat[0])**2)**.5
+    effcya.SetBinContent(lbnum-lbnums[0]+1, o_ae[0])
+    effcya.SetBinError(lbnum-lbnums[0]+1, o_aestat[0])
+
+
+    tl.Fill()
+tl.Write()
+print 'Done'
+
+c1 = ROOT.TCanvas()
+effcya.SetMarkerStyle(21)
+effcya.SetMarkerColor(ROOT.kBlue)
+effcya.GetYaxis().SetRangeUser(0.25,0.31)
+effcya.Draw('PE')
+c1.Print(os.path.join(args.plotdir, '%s_combined_efficiency.eps' % runname[4:]))
+fout.WriteTObject(effcya)
+c1.Clear()
+effcyt.SetMarkerStyle(21)
+effcyt.SetMarkerColor(ROOT.kBlue)
+effcyt.GetYaxis().SetRangeUser(0.66,0.86)
+effcyt.Draw('PE')
+c1.Print(os.path.join(args.plotdir, '%s_trigger_efficiency.eps' % runname[4:]))
+fout.WriteTObject(effcyt)
+c1.Clear()
+effcyr.SetMarkerStyle(21)
+effcyr.SetMarkerColor(ROOT.kBlue)
+effcyr.GetYaxis().SetRangeUser(0.9,1.0)
+effcyr.Draw('PE')
+c1.Print(os.path.join(args.plotdir, '%s_reco_efficiency.eps' % runname[4:]))
+fout.WriteTObject(effcyr)
+fout.Close()
+
+if runmode == "Zee":
+    sumweights = infile.Get('%s/GLOBAL/DQTDataFlow/m_sumweights' % runname)
+    ctr = infile.Get('%s/GLOBAL/DQTGlobalWZFinder/m_Z_Counter_el' % runname)
+if runmode == "Zmumu":
+    sumweights = infile.Get('%s/GLOBAL/DQTDataFlow/m_sumweights' % runname)
+    ctr = infile.Get('%s/GLOBAL/DQTGlobalWZFinder/m_Z_Counter_mu' % runname)
+if sumweights:
+    for ibin in xrange(1,sumweights.GetNbinsX()+1):
+        o_lb[0] = int(sumweights.GetBinCenter(ibin))
+        ctrbin = ctr.FindBin(o_lb[0])
+        print ibin, o_lb[0], sumweights[ibin], ctr[ctrbin]
+        if sumweights[ibin] == 0: continue
+        p = ctr[ctrbin]/sumweights[ibin]
+        o_alleff[0]=p
+        try:
+            o_alleffstat[0]=(p*(1-p))**.5*(sumweights.GetBinError(ibin)/sumweights[ibin])
+        except ValueError:
+            o_alleffstat[0]=(sumweights.GetBinError(ibin)/sumweights[ibin])
+        effcydir.SetBinContent(effcydir.FindBin(o_lb[0]), p)
+        effcydir.SetBinError(effcydir.FindBin(o_lb[0]), o_alleffstat[0])
+
+    effcya.GetYaxis().SetRangeUser(0.27,0.31)
+    effcya.Draw('PE')
+    effcydir.SetMarkerStyle(20)
+    effcydir.SetMarkerColor(ROOT.kRed)
+    effcydir.Draw('SAME,PE')
+    leg=ROOT.TLegend(0.65, 0.7, 0.89, 0.89)
+    leg.AddEntry(effcya, 'Predicted A#epsilon', 'PE')
+    leg.AddEntry(effcydir, 'Actual A#epsilon', 'PE')
+    leg.Draw()
+    c1.Print(os.path.join(args.plotdir, '%s_tp_comparison.eps' % runname[4:]))
+
+    effcyrat=effcydir.Clone()
+    effcyrat.Divide(effcya)
+    effcyrat.SetTitle('MC Correction Factor')
+    effcyrat.SetXTitle('<#mu>')
+    effcyrat.Draw('PE')
+    effcyrat.Fit('pol1')
+    c1.Print(os.path.join(args.plotdir, '%s_tp_correction.eps' % runname[4:]))
diff --git a/DataQuality/ZLumiScripts/scripts/dqt_zlumi_combine_lumi.py b/DataQuality/ZLumiScripts/scripts/dqt_zlumi_combine_lumi.py
new file mode 100755
index 000000000000..9cefac39d981
--- /dev/null
+++ b/DataQuality/ZLumiScripts/scripts/dqt_zlumi_combine_lumi.py
@@ -0,0 +1,135 @@
+#!/usr/bin/env python
+# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration                    
+import ROOT
+import sys
+
+import argparse
+parser = argparse.ArgumentParser()
+parser.add_argument('recofile', type=str, help='File with per-LB yields')
+parser.add_argument('efffile', type=str, help='File with efficiencies')
+parser.add_argument('outfile', type=str, help='Output file')
+parser.add_argument('--nlb', type=int, help='# of LBs to combine',
+                    default=20)
+args = parser.parse_args()
+
+recozfname = args.recofile
+effzfname = args.efffile
+outfname = args.outfile
+
+LUMIBLOCKS = args.nlb
+#ACCEPTANCE = 3.173927e-01
+ACCEPTANCE = 3.323224e-01
+ZXSEC=1.929
+ZPURITYFACTOR=0.9935
+
+def correction(mu):
+    # R20.7
+    # return 1.04524-0.000108956*mu
+    # R21
+    #return 1.04701-0.000206159*mu
+    return 0.998758-0.000157214*mu
+    #return 1.
+
+recozfile = ROOT.TFile.Open(recozfname)
+effzfile = ROOT.TFile.Open(effzfname)
+
+recoztree = recozfile.lumitree
+effztree = effzfile.lumitree
+
+entrydict = {}
+
+for i in xrange(recoztree.GetEntries()):
+    recoztree.GetEntry(i)
+    if not recoztree.pass_grl: continue
+    # If livetime less than 10 sec, ignore
+    if recoztree.lblive < 10 : continue
+    effztree.Draw('alleff:alleffstat', 'run==%s&&lb==%s' % (recoztree.run, recoztree.lb), 'goff')
+    if effztree.GetSelectedRows() == 0:
+        print 'Broken for run, lb %s %s' % (recoztree.run, recoztree.lb)
+        print 'We THINK there are %d events here ...' % (recoztree.zraw)
+        continue
+    lbzero = (recoztree.lb // LUMIBLOCKS)*LUMIBLOCKS
+    run = recoztree.run
+    if (run, lbzero) not in entrydict: entrydict[(run, lbzero)] = {'zcount': 0., 'zcounterrsq': 0., 'livetime': 0., 'lbwhen': [-1, -1], 'mu': 0., 'offlumi': 0., 'rolleff': 0., 'rollefferrsq': 0., 'lhcfill': recoztree.lhcfill}
+    thisdict = entrydict[(run, lbzero)]
+    effcy = (effztree.GetV1()[0]*correction(recoztree.mu))
+    #thisdict['zcount'] += recoztree.zraw/effcy
+    #thisdict['zcounterrsq'] += (1/effcy*recoztree.zrawstat)**2+(recoztree.zraw/effcy**2*effztree.GetV2()[0])**2
+    thisdict['zcount'] += recoztree.zraw
+    thisdict['zcounterrsq'] += recoztree.zrawstat**2
+    effcywght = (effztree.GetV2()[0]*correction(recoztree.mu))**2
+    thisdict['rolleff'] += effcy/effcywght
+    thisdict['rollefferrsq'] += 1/effcywght
+    loclivetime = recoztree.lblive
+    #loclivetime = (recoztree.lbwhen[1]-recoztree.lbwhen[0])
+    thisdict['livetime'] += loclivetime
+    thisdict['mu'] += recoztree.mu*loclivetime
+    thisdict['offlumi'] += recoztree.offlumi*loclivetime
+    if thisdict['lbwhen'][0] > recoztree.lbwhen[0] or thisdict['lbwhen'][0] == -1:
+        thisdict['lbwhen'][0] = recoztree.lbwhen[0]
+    if thisdict['lbwhen'][1] < recoztree.lbwhen[1] or thisdict['lbwhen'][1] == -1:
+        thisdict['lbwhen'][1] = recoztree.lbwhen[1]
+
+from array import array
+ 
+fout = ROOT.TFile.Open(outfname, 'RECREATE')
+o_run = array('I', [0])
+o_lb = array('I', [0])
+o_lbwhen = array('d', [0., 0.])
+o_zrate = array('f', [0.])
+o_zratestat = array('f', [0.])
+o_zlumi = array('f', [0.])
+o_zlumistat = array('f', [0.])
+o_mu = array('f', [0.])
+o_alleffcorr = array('f', [0.])
+o_alleffcorrstat = array('f', [0.])
+o_offlumi = array('f', [0.])
+o_lblive = array('f', [0.])
+o_lhcfill = array('I', [0])
+t = ROOT.TTree( 'lumitree', 'Luminosity tree' )
+t.Branch('run', o_run, 'run/i')
+t.Branch('lb', o_lb, 'lb/i')
+t.Branch('lbwhen', o_lbwhen, 'lbwhen[2]/D')
+t.Branch('zrate', o_zrate, 'zrate/F')
+t.Branch('zratestat', o_zratestat, 'zratestat/F')
+t.Branch('zlumi', o_zlumi, 'zlumi/F')
+t.Branch('zlumistat', o_zlumistat, 'zlumistat/F')
+t.Branch('offlumi', o_offlumi, 'offlumi/F')
+t.Branch('mu', o_mu, 'mu/F')
+t.Branch('alleffcorr', o_alleffcorr, 'alleffcorr/F')
+t.Branch('alleffcorrstat', o_alleffcorrstat, 'alleffcorrstat/F')
+t.Branch('lblive', o_lblive, 'lblive/F')
+t.Branch('lhcfill', o_lhcfill, 'lhcfill/i')
+
+for entry, entryval in sorted(entrydict.items()):
+    if entryval['livetime'] > 0:
+        entryval['mu'] /= entryval['livetime']
+        entryval['offlumi'] /= entryval['livetime']
+        eff = entryval['rolleff']/entryval['rollefferrsq']
+        efferr = 1/entryval['rollefferrsq']**.5
+        #print 'LIVETIME2', entryval['livetime']
+        entryval['zrate'] = entryval['zcount']/eff/entryval['livetime']
+        entryval['zratestat'] = (entryval['zcounterrsq']/eff/eff + (entryval['zcount']/eff**2*efferr)**2)**.5/entryval['livetime']
+        o_run[0], o_lb[0] = entry
+        o_lbwhen[0], o_lbwhen[1] = entryval['lbwhen']
+        o_zrate[0] = entryval['zrate']
+        o_zratestat[0] = entryval['zratestat']
+        o_zlumi[0] = o_zrate[0]*ZPURITYFACTOR/ACCEPTANCE/ZXSEC
+        o_zlumistat[0] = o_zratestat[0]*ZPURITYFACTOR/ACCEPTANCE/ZXSEC
+        o_mu[0] = entryval['mu']
+        o_alleffcorr[0] = eff
+        o_alleffcorrstat[0] = efferr
+        o_offlumi[0] = entryval['offlumi']
+        o_lblive[0] = entryval['livetime']
+        o_lhcfill[0] = entryval['lhcfill']
+        if o_zlumi[0] < 4 or o_zlumi[0] > 15:
+            print o_lb[0], o_zlumi[0], entryval['zcount'], eff, entryval['livetime']
+        t.Fill()
+#t.Write()
+newrzt = recoztree.CloneTree()
+newrzt.SetName("recolumitree")
+newezt = effztree.CloneTree()
+newezt.SetName("efflumitree")
+fout.Write()
+fout.Close()
+        
diff --git a/DataQuality/ZLumiScripts/scripts/dqt_zlumi_compute_lumi.py b/DataQuality/ZLumiScripts/scripts/dqt_zlumi_compute_lumi.py
new file mode 100755
index 000000000000..44a2e9f770cd
--- /dev/null
+++ b/DataQuality/ZLumiScripts/scripts/dqt_zlumi_compute_lumi.py
@@ -0,0 +1,325 @@
+#!/usr/bin/env python
+# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+
+import ROOT
+import sys, os
+import logging
+logging.basicConfig(format='%(levelname)s:%(message)s', level=logging.INFO)
+import argparse
+parser = argparse.ArgumentParser()
+parser.add_argument('infile', type=str, help='input HIST file')
+parser.add_argument('--grl', type=str, help='Specify an input GRL')
+parser.add_argument('--out', type=str, help='output ROOT file')
+parser.add_argument('--tag', type=str, help='Lumi tag',
+                    default='OflLumiAcct-001')
+parser.add_argument('--useofficial', action='store_true', help='Use official lumi folder (otherwise, use OflLumiAcct')
+parser.add_argument('--lumifolder', type=str, help='Lumi folder', default='/TRIGGER/OFLLUMI/OflPrefLumi')
+parser.add_argument('--lumitag', type=str, help='Lumi tag', default='OflLumi-13TeV-009')
+parser.add_argument('--plotdir', type=str, help='Directory to dump plots',
+                    default='plots')
+parser.add_argument('--mudep', type=int, help='Run mu-dependent efficiencies',
+                    default=0)
+parser.add_argument('--dblivetime', action='store_true',
+                    help='Look up livetime from DB')
+parser.add_argument('--mode', type=str, help='Zee or Zmumu')
+
+args = parser.parse_args()
+
+BINWIDTH=10
+
+ZPURITYFACTOR=0.9935
+ZXSEC=1.929
+#ZATIMESC=0.2578
+ZATIMESC=0.29632
+
+def mu_dep_eff(mu):
+    #make breakpoint at 8 match
+    if 0 <= mu < 8: return 0.3152 #0.3141
+    elif 8 <= mu < 27: return 0.3191 - 0.000493*mu
+    elif 27 <= mu: return 0.3443 - 0.00143*mu
+    else:
+        print 'WTF??'
+        return ZATIMESC
+
+ROOT.gStyle.SetOptStat(0)
+
+fin = ROOT.TFile.Open(args.infile)
+runname = None
+for key in fin.GetListOfKeys():
+    if key.GetName().startswith('run_'):
+        runname = key.GetName()
+        break
+
+if args.grl:
+    import DQUtils
+    grl = DQUtils.grl.load_grl(args.grl)
+else:
+    grl = None
+
+if not runname:
+    logging.critical("Can't find run_* directory in input file %s", args.infile)
+    sys.exit(1)
+
+z_m = fin.Get('%s/GLOBAL/DQTGlobalWZFinder/m_Z_Counter_mu' % runname)
+if args.out:
+    outfname = args.out
+else:
+    outfname = '%s_data.root' % runname[4:]
+
+runmode = args.mode
+print 'Running in', runmode, 'mode'
+if runmode == 'Zee':
+    z_m = fin.Get('%s/GLOBAL/DQTGlobalWZFinder/m_Z_Counter_el' % runname)
+    if not z_m:
+        logging.critical("Can't retrieve m_Z_Counter_el")
+        sys.exit(1)
+
+if runmode == 'Zmumu':
+    z_m = fin.Get('%s/GLOBAL/DQTGlobalWZFinder/m_Z_Counter_mu' % runname)
+    if not z_m:
+        logging.critical("Can't retrieve m_Z_Counter_mu")
+        sys.exit(1)
+
+
+fout = None
+t = None
+
+from array import array
+o_passgrl = array('i', [0])
+o_mu = array('f', [0.])
+
+o_lb_rb = array('I', [0,0])
+o_lbwhen_rb = array('d', [0., 0.])
+o_zlumi_rb = array('f', [0.])
+o_zlumistat_rb = array('f', [0.])
+o_offlumi_rb = array('f', [0.])
+o_mu_rb = array('f', [0.])
+o_lblive_rb = array('f', [0.])
+if True:
+    fout = ROOT.TFile.Open(outfname, 'RECREATE')
+    o_run = array('I', [int(runname[4:])])
+    o_lb = array('I', [0])
+    o_lbwhen = array('d', [0., 0.])
+    o_zraw = array('f', [0.])
+    o_zrawstat = array('f', [0.])
+    o_zlumi = array('f', [0.])
+    o_zlumistat = array('f', [0.])
+    o_offlumi = array('f', [0.])
+    o_lblive = array('f', [0.])
+    o_lhcfill = array('I', [0])
+    t = ROOT.TTree( 'lumitree', 'Luminosity tree' )
+    t.Branch('run', o_run, 'run/i')
+    t.Branch('lb', o_lb, 'lb/i')
+    t.Branch('lbwhen', o_lbwhen, 'lbwhen[2]/D')
+    t.Branch('zraw', o_zraw, 'zraw/F')
+    t.Branch('zrawstat', o_zrawstat, 'zrawstat/F')
+    t.Branch('zlumi', o_zlumi, 'zlumi/F')
+    t.Branch('zlumistat', o_zlumistat, 'zlumistat/F')
+    t.Branch('offlumi', o_offlumi, 'offlumi/F')
+    t.Branch('mu', o_mu, 'mu/F')
+    t.Branch('lblive', o_lblive, 'lblive/F')
+    t.Branch('pass_grl', o_passgrl, 'pass_grl/I')
+    t.Branch('lhcfill', o_lhcfill, 'lhcfill/i')
+
+    t_rb = ROOT.TTree( 'lumitree_rb', 'Luminosity tree, rebinned' )
+    t_rb.Branch('run', o_run, 'run/i')
+    t_rb.Branch('lb', o_lb_rb, 'lb[2]/i')
+    t_rb.Branch('lbwhen', o_lbwhen_rb, 'lbwhen[2]/D')
+    t_rb.Branch('zlumi', o_zlumi_rb, 'zlumi/F')
+    t_rb.Branch('zlumistat', o_zlumistat_rb, 'zlumistat/F')
+    t_rb.Branch('offlumi', o_offlumi_rb, 'offlumi/F')
+    t_rb.Branch('mu', o_mu_rb, 'mu/F')
+    t_rb.Branch('lblive', o_lblive_rb, 'lblive/F')
+
+    ROOT.gROOT.cd('/')
+
+
+lb_length = fin.Get('%s/GLOBAL/DQTGlobalWZFinder/m_lblength_lb' % runname)
+lbmin, lbmax = lb_length.GetXaxis().GetXmin(), lb_length.GetXaxis().GetXmax()
+logging.info('low, high LBs: %s, %s', lbmin, lbmax)
+
+if args.dblivetime:
+    logging.info('Starting livetime lookup ... (remove when we have a proper in-file implementation ...)')
+    livetime = ROOT.TProfile('livetime', 'Livetime', int(lbmax-lbmin), lbmin, lbmax)
+else:
+    livetime = fin.Get('%s/GLOBAL/DQTGlobalWZFinder/m_livetime_lb' % runname)
+
+official_lum = ROOT.TProfile('official_lum', 'official integrated luminosity', int(lbmax-lbmin), lbmin, lbmax)
+official_lum_zero = ROOT.TProfile('official_lum_zero', 'official inst luminosity', int(lbmax-lbmin), lbmin, lbmax)
+official_mu = ROOT.TProfile('official_mu', 'official mu', int(lbmax-lbmin), lbmin, lbmax)
+from DQUtils import fetch_iovs
+from DQUtils.iov_arrangement import inverse_lblb
+lblb = fetch_iovs("LBLB", runs=int(runname[4:]))
+lbtime = inverse_lblb(lblb)
+#print list(lbtime)
+iovs_acct = fetch_iovs('COOLOFL_TRIGGER::/TRIGGER/OFLLUMI/LumiAccounting', lbtime.first.since, lbtime.last.until, tag=args.tag)
+if args.useofficial:
+    iovs_lum = fetch_iovs('COOLOFL_TRIGGER::%s' % args.lumifolder, lblb.first.since, lblb.last.until, tag=args.lumitag, channels=[0])
+    #print list(iovs_lum)
+lb_start_end = {}
+lb_lhcfill = {}
+for iov in lblb:
+    lb_start_end[iov.since & 0xffffffff] = (iov.StartTime/1e9, iov.EndTime/1e9)
+
+for iov in iovs_acct:
+    if not lbmin < iov.LumiBlock < lbmax:
+        continue
+    lb_lhcfill[iov.LumiBlock] = iov.FillNumber
+    if args.dblivetime:
+        livetime.Fill(iov.LumiBlock, iov.LiveFraction)
+    #print iov.InstLumi, iovs_lum[iov.LumiBlock-1].LBAvInstLumi
+    if not args.useofficial:
+        official_lum_zero.Fill(iov.LumiBlock, iov.InstLumi/1e3)
+        official_lum.Fill(iov.LumiBlock, iov.InstLumi*iov.LBTime*iov.LiveFraction/1e3)
+        official_mu.Fill(iov.LumiBlock, iov.AvEvtsPerBX)
+    else:
+        offlumiov = [_ for _ in iovs_lum if _.since.lumi==iov.LumiBlock]
+        if len(offlumiov) != 1: 
+            print 'MAJOR PROBLEM, LUMI IOV MISMATCH'
+            print len(offlumiov)
+            continue
+        offlumiov = offlumiov[0]
+        official_lum_zero.Fill(iov.LumiBlock, offlumiov.LBAvInstLumi/1e3)
+        official_lum.Fill(iov.LumiBlock, offlumiov.LBAvInstLumi*iov.LBTime*iov.LiveFraction/1e3)
+        official_mu.Fill(iov.LumiBlock, offlumiov.LBAvEvtsPerBX)
+
+divisor = lb_length.Clone('divisor').ProjectionX()
+px = livetime.ProjectionX()
+divisor.Multiply(px)
+
+nrebinned_bins = ((lbmax-lbmin) // BINWIDTH) + 1
+
+if runmode == 'Zee':
+    lumititle = 'Lumi, Z->ee (Run %s)' % runname[4:]
+    efftitle = 'eff #sigma, Z->ee'
+    lumirawtitle = 'Lumi, Z->ee per LB'
+if runmode == 'Zmumu':
+    lumititle = 'Lumi, Z->#mu#mu (Run %s)' % runname[4:]
+    efftitle = 'eff #sigma, Z->#mu#mu'
+    lumirawtitle = 'Lumi, Z->#mu#mu per LB'
+
+
+lumiplot_m = ROOT.TH1F('lumiplot_m', lumititle % runname[4:], 
+                       int(nrebinned_bins),
+                       lbmin, lbmin+BINWIDTH*nrebinned_bins)
+lumiplot_m_ratio = ROOT.TH1F('lumiplot_m_ratio', 'Z/official lumi ratio (Run %s)' % runname[4:], 
+                       int(nrebinned_bins),
+                       lbmin, lbmin+BINWIDTH*nrebinned_bins)
+lumiplot_m.SetXTitle('LB')
+lumiplot_m.SetYTitle('Luminosity (x 10^{33} cm^{-2} s^{-1})')
+xsec_m = ROOT.TH1F('xsec_m', efftitle, int(nrebinned_bins),
+                       lbmin, lbmin+BINWIDTH*nrebinned_bins)
+lumiplot_raw_m =  ROOT.TH1F('lumiplot_raw_m', lumirawtitle, 
+                           int(lbmax-lbmin),
+                           lbmin, lbmax)
+
+num_m, lum, denom, weighted_mu = 0, 0, 0, 0
+tot_num_m, tot_denom, tot_lum = 0, 0, 0
+for ibin in xrange(1, int(lbmax-lbmin)+1):
+    profileflag=True
+    try:
+        z_m[ibin]
+    except IndexError, e:
+        logging.error('Something unfortunate has happened; LB %d missing from Z count' % (ibin + lbmin - 1))
+        profileflag=False
+    if args.mudep:
+        l_zatimesc = mu_dep_eff(official_mu[ibin])
+    else:
+        l_zatimesc = ZATIMESC
+    if grl and not DQUtils.grl.grl_contains_run_lb(grl, (int(runname[4:]), int(lumiplot_raw_m.GetBinCenter(ibin)))):
+        o_passgrl[0]=0
+    else:
+        o_passgrl[0]=1
+    if divisor[ibin] > 0 and profileflag:
+        lumiplot_raw_m.SetBinContent(ibin, z_m[ibin]/divisor[ibin]*ZPURITYFACTOR/l_zatimesc/ZXSEC)
+        lumiplot_raw_m.SetBinError(ibin, z_m[ibin]**.5/divisor[ibin]*ZPURITYFACTOR/l_zatimesc/ZXSEC)
+    o_mu[0] = official_mu[ibin]
+    if o_passgrl[0]:
+        if profileflag:
+            num_m += z_m[ibin]; tot_num_m += z_m[ibin]
+        denom += divisor[ibin]; tot_denom += divisor[ibin]
+        lum += official_lum[ibin]; tot_lum += official_lum[ibin]
+        weighted_mu += o_mu[0]*divisor[ibin]
+    
+
+    # fill tree
+    if t:
+        #print ibin, lumiplot_raw_m.GetBinCenter(ibin)
+        o_lb[0] = int(lumiplot_raw_m.GetBinCenter(ibin))
+        o_lbwhen[0] = lb_start_end[o_lb[0]][0]
+        o_lbwhen[1] = lb_start_end[o_lb[0]][1]
+        o_zraw[0] = z_m[ibin] if profileflag else 0
+        o_zrawstat[0] = z_m.GetBinError(ibin) if profileflag else 0
+        o_zlumi[0] = lumiplot_raw_m[ibin]
+        o_zlumistat[0] = lumiplot_raw_m.GetBinError(ibin)
+        o_offlumi[0] = official_lum_zero[ibin]
+        o_lblive[0] = divisor[ibin]
+        o_lhcfill[0] = lb_lhcfill[o_lb[0]]
+        t.Fill()
+
+    if (ibin % BINWIDTH) == 0:
+        ribin = int(ibin // BINWIDTH) 
+        o_mu_rb[0] = weighted_mu/denom if denom > 0 else 0
+        if args.mudep:
+            l_zatimesc = mu_dep_eff(o_mu_rb[0])
+        else:
+            l_zatimesc = ZATIMESC
+        if denom > 0:
+            lumiplot_m.SetBinContent(ribin, num_m/denom*ZPURITYFACTOR/l_zatimesc/ZXSEC)
+            lumiplot_m.SetBinError(ribin, num_m**.5/denom*ZPURITYFACTOR/l_zatimesc/ZXSEC)
+        if lum > 0:
+            xsec_m.SetBinContent(ribin, num_m/lum*ZPURITYFACTOR/l_zatimesc)
+            xsec_m.SetBinError(ribin, num_m**.5/lum*ZPURITYFACTOR/l_zatimesc)
+        if denom > 0:
+            o_zlumi_rb[0] = num_m/denom*ZPURITYFACTOR/l_zatimesc/ZXSEC
+            o_zlumistat_rb[0] = num_m**.5/denom*ZPURITYFACTOR/l_zatimesc/ZXSEC
+            o_offlumi_rb[0] = lum/denom
+            if o_offlumi_rb[0] > 0:
+                lumiplot_m_ratio.SetBinContent(ribin, o_zlumi_rb[0]/o_offlumi_rb[0])
+                lumiplot_m_ratio.SetBinError(ribin, o_zlumistat_rb[0]/o_offlumi_rb[0])
+        else:
+            o_zlumi_rb[0] = 0.
+            o_zlumistat_rb[0] = 0.
+            o_offlumi_rb[0] = 0.
+            o_mu_rb[0] = 0.
+        o_lb_rb[1] = int(lumiplot_raw_m.GetBinCenter(ibin))
+        o_lb_rb[0] = int(lumiplot_raw_m.GetBinCenter(ibin)-BINWIDTH+1)
+        o_lbwhen_rb[0] = lb_start_end[o_lb_rb[0]][0]
+        o_lbwhen_rb[1] = lb_start_end[o_lb_rb[1]][1]
+        o_lblive_rb[0] = denom
+        if t:
+            t_rb.Fill()
+        
+        num_m, lum, denom, weighted_mu = 0, 0, 0, 0
+        
+if fout:
+    fout.cd()
+    t.Write()
+    t_rb.Write()
+
+    if tot_lum > 0:
+        tge = ROOT.TGraphErrors(1)
+        tge.SetPoint(0, int(runname[4:]), tot_num_m*ZPURITYFACTOR/ZATIMESC/ZXSEC/tot_lum)
+        tge.SetPointError(0, 0, tot_num_m**.5*ZPURITYFACTOR/ZATIMESC/ZXSEC/tot_lum)
+        tge.SetName('lum_ratio')
+        tge.Write()
+    fout.Close()
+
+c1 = ROOT.TCanvas()
+c1.SetTickx()
+c1.SetTicky()
+leg = ROOT.TLegend(0.6, 0.75, 0.89, 0.88)
+lumiplot_m.Draw()
+official_lum_zero.SetLineColor(ROOT.kRed)
+official_lum_zero.Draw('SAME,HIST')
+leg.AddEntry(lumiplot_m, 'Z luminosity')
+leg.AddEntry(official_lum_zero, 'ATLAS preferred lumi', 'L')
+leg.SetBorderSize(0)
+leg.Draw()
+c1.Print(os.path.join(args.plotdir, '%s_lumi.eps' % runname[4:]))
+c1.Print(os.path.join(args.plotdir, '%s_lumi.png' % runname[4:]))
+
+c1.Clear()
+lumiplot_m_ratio.Draw()
+c1.Print(os.path.join(args.plotdir, '%s_lumi_ratio.eps' % runname[4:]))
+c1.Print(os.path.join(args.plotdir, '%s_lumi_ratio.png' % runname[4:]))
diff --git a/DataQuality/ZLumiScripts/scripts/dqt_zlumi_display_z_rate.py b/DataQuality/ZLumiScripts/scripts/dqt_zlumi_display_z_rate.py
new file mode 100755
index 000000000000..ca5211c06ebd
--- /dev/null
+++ b/DataQuality/ZLumiScripts/scripts/dqt_zlumi_display_z_rate.py
@@ -0,0 +1,107 @@
+#!/usr/bin/env python
+# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration                  
+
+import ROOT
+import sys, os
+import array
+import argparse
+import time
+
+parser = argparse.ArgumentParser()
+parser.add_argument('infile', type=str, help='input HIST file')
+parser.add_argument('--indir', type=str, help='Directory with input file',
+                    default='')
+parser.add_argument('--plotdir', type=str, help='Directory to dump plots',
+                    default='plots')
+args = parser.parse_args()
+
+# runnum = sys.argv[1].split('_')[0]
+runnum = args.infile.split('_')[0]
+# f = ROOT.TFile.Open(sys.argv[1], 'UPDATE')
+f = ROOT.TFile.Open(os.path.join(args.indir, args.infile), 'UPDATE')
+c1 = ROOT.TCanvas()
+lumitree = f.lumitree
+#get range
+runs=[0,1]; fills=[0,1]
+lumitree.Draw("run:lhcfill", "", "goff")
+if lumitree.GetSelectedRows() > 0:
+    runs = list(lumitree.GetV1()[_] for _ in xrange(lumitree.GetSelectedRows()))
+    fills = list(lumitree.GetV2()[_] for _ in xrange(lumitree.GetSelectedRows()))
+titlestr = ''
+if min(fills)==max(fills):
+    titlestr += 'Fill %d' % min(fills)
+if min(runs) == max(runs):
+    titlestr += ' Run %d' % min(runs)
+
+lumitree.Draw("zrate:lb+10:zratestat", "", "goff")
+print 'Selected rows', lumitree.GetSelectedRows()
+if lumitree.GetSelectedRows() > 0: 
+    gr = ROOT.TGraphErrors(lumitree.GetSelectedRows(), lumitree.GetV2(), lumitree.GetV1(), ROOT.nullptr, lumitree.GetV3())
+    gr.Draw("ap")
+    gr.GetHistogram().SetXTitle('LB')
+    gr.GetHistogram().SetYTitle('Fiducial Z yield/second')
+    gr.SetMarkerStyle(20)
+    gr.SetTitle('')
+    f.WriteTObject(gr, 'fid_z_rate')
+    c1.Update()
+    c1.Print(os.path.join(args.plotdir, '%s_fidyield.eps' % runnum))
+
+# dump CSV
+csvout = open(os.path.join(args.plotdir, '%s_zrate.csv' % runnum), 'w')
+lumitree.Draw("zrate:lbwhen[0]:lbwhen[1]:lhcfill:lblive:offlumi", "", "goff,para")
+timeformat = '%y/%m/%d %H:%M:%S'
+#timeformat = '%m/%d %H:%M:%S'
+for i in xrange(lumitree.GetSelectedRows()):
+    zrate = lumitree.GetV1()[i]
+    instlumi = lumitree.GetVal(5)[i]
+    livetime = lumitree.GetVal(4)[i]
+    print >>csvout, '%d, %s, %s, %6f, %6f, %4f, %6f' % (lumitree.GetV4()[i],
+                                                    time.strftime(timeformat, time.gmtime(lumitree.GetV2()[i])), 
+                                                    time.strftime(timeformat, time.gmtime(lumitree.GetV3()[i])), 
+                                                    lumitree.GetV1()[i],
+                                                    instlumi/1e3,
+                                                    instlumi*livetime/1e3,
+                                                    lumitree.GetV1()[i]*livetime
+                                                    )
+csvout.close()
+
+lumitree.Draw("zlumi:lb+10:zlumistat", "", "goff")
+if lumitree.GetSelectedRows() > 0:
+    gr = ROOT.TGraphErrors(lumitree.GetSelectedRows(), lumitree.GetV2(), lumitree.GetV1(), ROOT.nullptr, lumitree.GetV3())
+    zlumi = list(lumitree.GetV1()[_] for _ in xrange(lumitree.GetSelectedRows())); 
+    zlumierr = list(lumitree.GetV3()[_] for _ in xrange(lumitree.GetSelectedRows()))
+    gr.Draw("ap")
+    gr.GetHistogram().SetXTitle('LB')
+    gr.GetHistogram().SetYTitle('Luminosity (x10^{33})')
+    gr.SetMarkerStyle(20)
+    gr.SetTitle(titlestr)
+    f.WriteTObject(gr, 'z_lumi')
+    lumitree.Draw("offlumi:lb+10", "", "goff")
+    gr2 = ROOT.TGraphErrors(lumitree.GetSelectedRows(), lumitree.GetV2(), lumitree.GetV1())
+    offlumi = list(lumitree.GetV1()[_] for _ in xrange(lumitree.GetSelectedRows()))
+    gr2.SetMarkerStyle(21)
+    gr2.SetMarkerSize(0.5)
+    gr2.SetMarkerColor(ROOT.kRed)
+    gr2.SetLineColor(ROOT.kRed)
+    gr2.Draw('same,l')
+    f.WriteTObject(gr2, 'official_lumi')
+    leg = ROOT.TLegend(0.65, 0.7, 0.89, 0.89)
+    leg.SetBorderSize(0)
+    leg.AddEntry(gr, 'Z luminosity', 'pl')
+    leg.AddEntry(gr2, 'Official', 'l')
+    leg.Draw()
+    c1.Update()
+    c1.Print(os.path.join(args.plotdir, '%s_lumicomp.eps' % runnum))
+    f.WriteTObject(c1, 'lumicomp_canvas')
+    zlumirat = array.array('d', [_[0]/_[1] for _ in zip(zlumi, offlumi)])
+    zlumiraterr = array.array('d', [_[0]/_[1] for _ in zip(zlumierr, offlumi)])
+    gr3 = ROOT.TGraphErrors(lumitree.GetSelectedRows(), lumitree.GetV2(), zlumirat, ROOT.nullptr, zlumiraterr)
+    c1.Clear()
+    gr3.SetMarkerStyle(20)
+    gr3.Draw('ap')
+    gr3.SetTitle(titlestr)
+    gr3.GetHistogram().SetXTitle('LB')
+    gr3.GetHistogram().SetYTitle('Z Counting/Official Lumi')
+    c1.Print(os.path.join(args.plotdir, '%s_lumicompratio.eps' % runnum))
+    f.WriteTObject(c1, 'lumicompratio_canvas')
+    
-- 
GitLab


From 96cb060538d21016d921db6f543d30db9ec64d1e Mon Sep 17 00:00:00 2001
From: John Chapman <jchapman@cern.ch>
Date: Mon, 28 Jan 2019 12:24:14 +0100
Subject: [PATCH 165/192] Fix ATLASSIM-3987 by setting the random number
 service name correctly

---
 .../ISF_FastCaloSimServices/python/AdditionalConfig.py          | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/python/AdditionalConfig.py b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/python/AdditionalConfig.py
index 2973f8d11c68..99b8dd896dbf 100644
--- a/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/python/AdditionalConfig.py
+++ b/Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimServices/python/AdditionalConfig.py
@@ -716,7 +716,7 @@ def getTimedExtrapolator(name="TimedExtrapolator", **kwargs):
 def getDefaultFastShowerCellBuilderTool(name, **kwargs):
     from G4AtlasApps.SimFlags import simFlags
     from ISF_FastCaloSimServices.ISF_FastCaloSimJobProperties import ISF_FastCaloSimFlags
-    kwargs.setdefault("RandomService", simFlags.RandomSvc() )
+    kwargs.setdefault("RandomService", simFlags.RandomSvcMT() )
     kwargs.setdefault("RandomStreamName", ISF_FastCaloSimFlags.RandomStreamName() )
     kwargs.setdefault("DoSimulWithInnerDetectorTruthOnly", True )
     kwargs.setdefault("ID_cut_off_r",                      [1150] )
-- 
GitLab


From 85c60fdd418ff74bf903147beb2d9c14a72e8f99 Mon Sep 17 00:00:00 2001
From: Siarhei Harkusha <Siarhei.Harkusha@cern.ch>
Date: Mon, 28 Jan 2019 12:46:14 +0100
Subject: [PATCH 166/192] TileRecUtils: Use mutable container in
 TileRawCorrelatedNoise algorithm

Some methods of Tile containers,
which allow modifying the contents of containers,
violate the const correctness.

Clients of these methods are migrated to use Tile mutable containers,
which allow modifying the contents of containers in controlled manner.

So, TileRawCorrelatedNoise algorithm have been migrated to use
Tile mutable digits container.
---
 .../TileRecUtils/src/TileRawCorrelatedNoise.cxx          | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/TileCalorimeter/TileRecUtils/src/TileRawCorrelatedNoise.cxx b/TileCalorimeter/TileRecUtils/src/TileRawCorrelatedNoise.cxx
index 849a288f9666..6667c817d11b 100644
--- a/TileCalorimeter/TileRecUtils/src/TileRawCorrelatedNoise.cxx
+++ b/TileCalorimeter/TileRecUtils/src/TileRawCorrelatedNoise.cxx
@@ -5,6 +5,7 @@
 // Tile includes
 #include "TileRecUtils/TileRawCorrelatedNoise.h"
 #include "TileEvent/TileDigits.h"
+#include "TileEvent/TileMutableDigitsContainer.h"
 #include "TileIdentifier/TileHWID.h"
 
 // Atlas includes
@@ -382,8 +383,9 @@ StatusCode TileRawCorrelatedNoise::execute() {
 
   // create new container
   TileDigits* NewDigits[4][64][48];
-  SG::WriteHandle<TileDigitsContainer> outputDigitsContainer(m_outputDigitsContainerKey);
-  ATH_CHECK( outputDigitsContainer.record( std::make_unique<TileDigitsContainer>() ) );
+
+  auto outputDigitsContainer = std::make_unique<TileMutableDigitsContainer>();
+  ATH_CHECK( outputDigitsContainer->status() );
 
   // fill new container
   for (int Ros = 1; Ros < 5; ++Ros) {
@@ -403,6 +405,9 @@ StatusCode TileRawCorrelatedNoise::execute() {
     }
   }
 
+  SG::WriteHandle<TileDigitsContainer> outputDigitsCnt(m_outputDigitsContainerKey);
+  ATH_CHECK( outputDigitsCnt.record(std::move(outputDigitsContainer)) );
+
 
   ATH_MSG_DEBUG( "execute completed successfully" );
 
-- 
GitLab


From 342fbf68e1f6ee8ec327239b0f71d032f77f8768 Mon Sep 17 00:00:00 2001
From: Scott Snyder <scott.snyder@cern.ch>
Date: Mon, 28 Jan 2019 12:31:44 +0000
Subject: [PATCH 167/192] TAccept->AcceptData

---
 .../src/TrackSelectionTool.cxx                | 134 ++++++++-------
 .../src/TrackSelectionTool.h                  |  14 +-
 .../src/TrackTruthSelectionTool.cxx           |  48 +++---
 .../src/TrackTruthSelectionTool.h             |  14 +-
 .../src/dRMatchingTool.cxx                    |  82 +++++-----
 .../src/dRMatchingTool.h                      |  22 +--
 .../PATCore/PATCore/AcceptData.h              |  10 +-
 .../PATCore/PATCore/IAsgSelectionTool.h       |  20 +--
 .../Root/BTaggingSelectionTool.cxx            |  73 +++++----
 .../BTaggingSelectionTool.h                   |  29 ++--
 .../IBTaggingSelectionTool.h                  |  15 +-
 .../MuonSelectorTools/IMuonSelectionTool.h    |  10 +-
 .../MuonSelectorTools/MuonSelectionTool.h     |  40 ++---
 .../Root/MuonSelectionTool.cxx                |  64 ++++----
 .../AsgElectronRingerSelector.h               |  95 ++++++-----
 .../RingerSelectorTools/ElectronTAccept.h     |  10 +-
 .../IAsgElectronRingerSelector.h              |  21 +--
 .../tools/RingerCommonSelector.h              |   9 +-
 .../Root/AsgElectronRingerSelector.cxx        | 105 +++++-------
 .../Root/ElectronTAccept.cxx                  |   4 +-
 .../Root/tools/RingerCommonSelector.cxx       |  14 +-
 .../TauAnalysisTools/Root/SelectionCuts.cxx   | 153 ++++++++++++------
 .../Root/TauSelectionTool.cxx                 |  31 ++--
 .../TauAnalysisTools/ITauSelectionTool.h      |  11 +-
 .../TauAnalysisTools/SelectionCuts.h          |  55 +++++--
 .../TauAnalysisTools/TauSelectionTool.h       |  24 +--
 .../src/CaloRingerElectronsReader.cxx         |  16 +-
 27 files changed, 583 insertions(+), 540 deletions(-)

diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/TrackSelectionTool.cxx b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/TrackSelectionTool.cxx
index c98f26891122..0994a3551d98 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/TrackSelectionTool.cxx
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/TrackSelectionTool.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // InDetPhysValMonitoring includes
@@ -157,10 +157,10 @@ TrackSelectionTool::initialize() {
   // Example.
   // if (m_maxEta>-1) m_cuts.push_back(std::make_pair("eta", "Cut on (absolute) particle eta"));
 
-  // Add cuts to the TAccept.
+  // Add cuts to the AcceptInfo.
   for (const auto& cut : m_cuts) {
     if (m_accept.addCut(cut.first, cut.second) < 0) {
-      ATH_MSG_ERROR("Failed to add cut " << cut.first << " because the TAccept object is full.");
+      ATH_MSG_ERROR("Failed to add cut " << cut.first << " because the AcceptInfo object is full.");
       return StatusCode::FAILURE;
     }
   }
@@ -171,26 +171,23 @@ TrackSelectionTool::initialize() {
   return StatusCode::SUCCESS;
 }
 
-const Root::TAccept&
-TrackSelectionTool::getTAccept( ) const {
+const asg::AcceptInfo&
+TrackSelectionTool::getAcceptInfo( ) const {
   return m_accept;
 }
 
-const Root::TAccept&
+asg::AcceptData
 TrackSelectionTool::accept(const xAOD::IParticle* p) const {
   /*Is this perhaps supposed to be xAOD::TrackParticle? */
 
-  // Reset the result.
-  m_accept.clear();
-
   // Check if this is a track.
   if (!p) {
     ATH_MSG_ERROR("accept(...) Function received a null pointer");
-    return m_accept;
+    return asg::AcceptData (&m_accept);
   }
   if (p->type() != xAOD::Type::TrackParticle) {
     ATH_MSG_ERROR("accept(...) Function received a non-TrackParticle");
-    return m_accept;
+    return asg::AcceptData (&m_accept);
   }
 
   // Cast it to a track (we have already checked its type so we do not have to dynamic_cast).
@@ -200,10 +197,9 @@ TrackSelectionTool::accept(const xAOD::IParticle* p) const {
   return accept(track);
 }
 
-const Root::TAccept&
+asg::AcceptData
 TrackSelectionTool::accept(const xAOD::TrackParticle* p) const {
-  // Reset the TAccept.
-  m_accept.clear();
+  asg::AcceptData acceptData (&m_accept);
 
   uint8_t iBLayerHits(0), iBLayerOutliers(0), iBLayerSplitHits(0), iBLayerSharedHits(0);
   uint8_t iPixHits(0), iPixHoles(0), iPixSharedHits(0), iPixOutliers(0), iPixContribLayers(0), iPixSplitHits(0),
@@ -213,182 +209,182 @@ TrackSelectionTool::accept(const xAOD::TrackParticle* p) const {
   uint8_t iTRTHits(0), iTRTHTHits(0), iTRTOutliers(0), iTRTHTOutliers(0);
 
   if (!p->summaryValue(iBLayerHits, xAOD::numberOfInnermostPixelLayerHits)) {
-    return m_accept;
+    return acceptData;
   }
   if (!p->summaryValue(iBLayerOutliers, xAOD::numberOfInnermostPixelLayerOutliers)) {
-    return m_accept;
+    return acceptData;
   }
   if (!p->summaryValue(iBLayerSharedHits, xAOD::numberOfInnermostPixelLayerSharedHits)) {
-    return m_accept;
+    return acceptData;
   }
   if (!p->summaryValue(iBLayerSplitHits, xAOD::numberOfInnermostPixelLayerSplitHits)) {
-    return m_accept;
+    return acceptData;
   }
 
   if (!p->summaryValue(iPixHits, xAOD::numberOfPixelHits)) {
-    return m_accept;
+    return acceptData;
   }
   if (!p->summaryValue(iPixHoles, xAOD::numberOfPixelHoles)) {
-    return m_accept;
+    return acceptData;
   }
   if (!p->summaryValue(iPixOutliers, xAOD::numberOfPixelOutliers)) {
-    return m_accept;
+    return acceptData;
   }
   if (!p->summaryValue(iPixContribLayers, xAOD::numberOfContribPixelLayers)) {
-    return m_accept;
+    return acceptData;
   }
   if (!p->summaryValue(iPixSharedHits, xAOD::numberOfPixelSharedHits)) {
-    return m_accept;
+    return acceptData;
   }
   if (!p->summaryValue(iPixSplitHits, xAOD::numberOfPixelSplitHits)) {
-    return m_accept;
+    return acceptData;
   }
   if (!p->summaryValue(iPixGangedHits, xAOD::numberOfGangedPixels)) {
-    return m_accept;
+    return acceptData;
   }
 
   if (!p->summaryValue(iSCTHits, xAOD::numberOfSCTHits)) {
-    return m_accept;
+    return acceptData;
   }
   if (!p->summaryValue(iSCTHoles, xAOD::numberOfSCTHoles)) {
-    return m_accept;
+    return acceptData;
   }
   if (!p->summaryValue(iSCTOutliers, xAOD::numberOfSCTOutliers)) {
-    return m_accept;
+    return acceptData;
   }
   if (!p->summaryValue(iSCTDoubleHoles, xAOD::numberOfSCTDoubleHoles)) {
-    return m_accept;
+    return acceptData;
   }
   if (!p->summaryValue(iSCTSharedHits, xAOD::numberOfSCTSharedHits)) {
-    return m_accept;
+    return acceptData;
   }
 
   if (!p->summaryValue(iTRTOutliers, xAOD::numberOfTRTOutliers)) {
-    return m_accept;
+    return acceptData;
   }
   if (!p->summaryValue(iTRTHTOutliers, xAOD::numberOfTRTHighThresholdOutliers)) {
-    return m_accept;
+    return acceptData;
   }
   if (!p->summaryValue(iTRTHits, xAOD::numberOfTRTHits)) {
-    return m_accept;
+    return acceptData;
   }
   if (!p->summaryValue(iTRTHTHits, xAOD::numberOfTRTHighThresholdHits)) {
-    return m_accept;
+    return acceptData;
   }
 
   // iSiHits = iPixHits + iSCTHits;
 
   // Check cuts.
   if (m_maxPt > -1) {
-    m_accept.setCutResult("maxPt", p->pt() < m_maxPt);
+    acceptData.setCutResult("maxPt", p->pt() < m_maxPt);
   }
   if (m_minPt > -1) {
-    m_accept.setCutResult("minPt", p->pt() > m_minPt);
+    acceptData.setCutResult("minPt", p->pt() > m_minPt);
   }
   if (m_maxEta > -1) {
-    m_accept.setCutResult("maxEta", p->pt() > 1E-07 ? std::fabs(p->eta()) < m_maxEta : false);
+    acceptData.setCutResult("maxEta", p->pt() > 1E-07 ? std::fabs(p->eta()) < m_maxEta : false);
   }
   if (m_minEta > -1) {
-    m_accept.setCutResult("minEta", p->pt() > 1E-07 ? std::fabs(p->eta()) > m_minEta : false);
+    acceptData.setCutResult("minEta", p->pt() > 1E-07 ? std::fabs(p->eta()) > m_minEta : false);
   }
   if (m_maxPrimaryImpact > -1) {
-    m_accept.setCutResult("maxPrimaryImpact", std::fabs(p->d0()) < m_maxPrimaryImpact);
+    acceptData.setCutResult("maxPrimaryImpact", std::fabs(p->d0()) < m_maxPrimaryImpact);
   }
   if (m_maxZImpact > -1) {
-    m_accept.setCutResult("maxZImpact", std::fabs(p->z0()) < m_maxZImpact);
+    acceptData.setCutResult("maxZImpact", std::fabs(p->z0()) < m_maxZImpact);
   }
   if (m_minPrimaryImpact > -1) {
-    m_accept.setCutResult("minPrimaryImpact", std::fabs(p->d0()) > m_minPrimaryImpact);
+    acceptData.setCutResult("minPrimaryImpact", std::fabs(p->d0()) > m_minPrimaryImpact);
   }
   if (m_minZImpact > -1) {
-    m_accept.setCutResult("minZImpact", std::fabs(p->z0()) > m_minZImpact);
+    acceptData.setCutResult("minZImpact", std::fabs(p->z0()) > m_minZImpact);
   }
   if (m_maxSecondaryImpact > -1) {
-    m_accept.setCutResult("maxSecondaryImpact", true /* nop */);
+    acceptData.setCutResult("maxSecondaryImpact", true /* nop */);
   }
   if (m_minSecondaryPt > -1) {
-    m_accept.setCutResult("minSecondaryPt", true /* nop */);
+    acceptData.setCutResult("minSecondaryPt", true /* nop */);
   }
   if (m_minClusters > -1) {
-    m_accept.setCutResult("minClusters", true /* nop */);
+    acceptData.setCutResult("minClusters", true /* nop */);
   }
   if (m_minSiNotShared > -1) {
-    m_accept.setCutResult("minSiNotShared",
+    acceptData.setCutResult("minSiNotShared",
                           (iBLayerHits + iPixHits + iSCTHits - iBLayerSharedHits - iPixSharedHits - iSCTSharedHits) >=
                           m_minSiNotShared);
   }
   if (m_maxShared > -1) {
-    m_accept.setCutResult("maxShared", iBLayerSharedHits + iPixSharedHits + iSCTSharedHits <= m_maxShared);
+    acceptData.setCutResult("maxShared", iBLayerSharedHits + iPixSharedHits + iSCTSharedHits <= m_maxShared);
   }
   if (m_minPixelHits > -1) {
-    m_accept.setCutResult("minPixelHits", iPixHits >= m_minPixelHits);
+    acceptData.setCutResult("minPixelHits", iPixHits >= m_minPixelHits);
   }
   if (m_maxHoles > -1) {
-    m_accept.setCutResult("maxHoles", iPixHoles + iSCTHoles <= m_maxHoles);
+    acceptData.setCutResult("maxHoles", iPixHoles + iSCTHoles <= m_maxHoles);
   }
   if (m_maxPixelHoles > -1) {
-    m_accept.setCutResult("maxPixelHoles", iPixHoles <= m_maxPixelHoles);
+    acceptData.setCutResult("maxPixelHoles", iPixHoles <= m_maxPixelHoles);
   }
   if (m_maxSctHoles > -1) {
-    m_accept.setCutResult("maxSctHoles", iSCTHoles <= m_maxSctHoles);
+    acceptData.setCutResult("maxSctHoles", iSCTHoles <= m_maxSctHoles);
   }
   if (m_maxDoubleHoles > -1) {
-    m_accept.setCutResult("maxDoubleHoles", iSCTDoubleHoles <= m_maxDoubleHoles);
+    acceptData.setCutResult("maxDoubleHoles", iSCTDoubleHoles <= m_maxDoubleHoles);
   }
   if (m_radMax > -1) {
-    m_accept.setCutResult("radMax", true /* nop */);
+    acceptData.setCutResult("radMax", true /* nop */);
   }
   if (m_nHolesMax > -1) {
-    m_accept.setCutResult("nHolesMax", true /* nop */);
+    acceptData.setCutResult("nHolesMax", true /* nop */);
   }
   if (m_nHolesGapMax > -1) {
-    m_accept.setCutResult("nHolesGapMax", true /* nop */);
+    acceptData.setCutResult("nHolesGapMax", true /* nop */);
   }
   if (m_seedFilterLevel > -1) {
-    m_accept.setCutResult("seedFilterLevel", true /* nop */);
+    acceptData.setCutResult("seedFilterLevel", true /* nop */);
   }
   if (m_maxTRTHighThresholdHits > -1) {
-    m_accept.setCutResult("maxTRTHighThresholdHits", iTRTHTHits <= m_maxTRTHighThresholdHits);
+    acceptData.setCutResult("maxTRTHighThresholdHits", iTRTHTHits <= m_maxTRTHighThresholdHits);
   }
   if (m_minTRTHighThresholdHits > -1) {
-    m_accept.setCutResult("minTRTHighThresholdHits", iTRTHTHits <= m_minTRTHighThresholdHits);
+    acceptData.setCutResult("minTRTHighThresholdHits", iTRTHTHits <= m_minTRTHighThresholdHits);
   }
   if (m_maxTRTHighThresholdOutliers > -1) {
-    m_accept.setCutResult("maxTRTHighThresholdOutliers", iTRTHTOutliers <= m_maxTRTHighThresholdOutliers);
+    acceptData.setCutResult("maxTRTHighThresholdOutliers", iTRTHTOutliers <= m_maxTRTHighThresholdOutliers);
   }
   if (m_maxSCTHits > -1) {
-    m_accept.setCutResult("maxSCTHits", iSCTHits <= m_maxSCTHits);
+    acceptData.setCutResult("maxSCTHits", iSCTHits <= m_maxSCTHits);
   }
   if (m_minSCTHits > -1) {
-    m_accept.setCutResult("minSCTHits", iSCTHits >= m_minSCTHits);
+    acceptData.setCutResult("minSCTHits", iSCTHits >= m_minSCTHits);
   }
   if (m_maxTRTOutliers > -1) {
-    m_accept.setCutResult("maxTRTOutliers", iTRTOutliers <= m_maxTRTOutliers);
+    acceptData.setCutResult("maxTRTOutliers", iTRTOutliers <= m_maxTRTOutliers);
   }
   if (m_maxBLayerSplitHits > -1) {
-    m_accept.setCutResult("maxBLayerSplitHits", iBLayerSplitHits <= m_maxBLayerSplitHits);
+    acceptData.setCutResult("maxBLayerSplitHits", iBLayerSplitHits <= m_maxBLayerSplitHits);
   }
   if (m_maxPixelOutliers > -1) {
-    m_accept.setCutResult("maxPixelOutliers", iPixOutliers <= m_maxPixelOutliers);
+    acceptData.setCutResult("maxPixelOutliers", iPixOutliers <= m_maxPixelOutliers);
   }
 
   // Example.
-  // if (m_maxEta>-1) m_accept.setCutResult("eta", (p->pt()>1e-7 ? (fabs(p->eta()) < m_maxEta) : false) );
+  // if (m_maxEta>-1) acceptData.setCutResult("eta", (p->pt()>1e-7 ? (fabs(p->eta()) < m_maxEta) : false) );
 
   // Book keep cuts
   for (const auto& cut : m_cuts) {
-    unsigned int pos = m_accept.getCutPosition(cut.first);
-    if (m_accept.getCutResult(pos)) {
+    unsigned int pos = acceptData.getCutPosition(cut.first);
+    if (acceptData.getCutResult(pos)) {
       m_numPassedCuts[pos]++;
     }
   }
 
   m_numProcessed++;
-  if (m_accept) {
+  if (acceptData) {
     m_numPassed++;
   }
 
-  return m_accept;
+  return acceptData;
 }
 
 StatusCode
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/TrackSelectionTool.h b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/TrackSelectionTool.h
index 9995fd5097d5..d095fc69e6ef 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/TrackSelectionTool.h
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/TrackSelectionTool.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef INDETPHYSVALMONITORING_TRACKSELECTORTOOL_H
@@ -20,13 +20,13 @@ public:
   virtual
   ~TrackSelectionTool();
 
-  virtual StatusCode initialize();
-  virtual StatusCode finalize();
-  virtual const Root::TAccept& getTAccept( ) const;
-  virtual const Root::TAccept& accept(const xAOD::IParticle* p) const;
-  virtual const Root::TAccept& accept(const xAOD::TrackParticle* p) const;
+  virtual StatusCode initialize() override;
+  virtual StatusCode finalize() override;
+  virtual const asg::AcceptInfo& getAcceptInfo( ) const override;
+  virtual asg::AcceptData accept(const xAOD::IParticle* p) const override;
+  virtual asg::AcceptData accept(const xAOD::TrackParticle* p) const;
 private:
-  mutable Root::TAccept m_accept;
+  asg::AcceptInfo m_accept;
   std::vector<std::pair<std::string, std::string> > m_cuts;
   mutable ULong64_t m_numProcessed; // !< a counter of the number of tracks proccessed
   mutable ULong64_t m_numPassed; // !< a counter of the number of tracks that passed all cuts
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/TrackTruthSelectionTool.cxx b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/TrackTruthSelectionTool.cxx
index 4a8caf1bd0b5..a2e003ff8cf5 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/TrackTruthSelectionTool.cxx
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/TrackTruthSelectionTool.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // InDetPhysValMonitoring includes
@@ -66,10 +66,10 @@ TrackTruthSelectionTool::initialize() {
   if (m_pdgId > -1) {
     m_cuts.push_back(std::make_pair("pdgId", "Pdg Id cut")); // 3-18-16 normally enabled, disabled for testing
   }
-  // Add cuts to the TAccept
+  // Add cuts to the AcceptInfo
   for (const auto& cut : m_cuts) {
     if (m_accept.addCut(cut.first, cut.second) < 0) {
-      ATH_MSG_ERROR("Failed to add cut " << cut.first << " because the TAccept object is full.");
+      ATH_MSG_ERROR("Failed to add cut " << cut.first << " because the AcceptInfo object is full.");
       return StatusCode::FAILURE;
     }
   }
@@ -80,25 +80,22 @@ TrackTruthSelectionTool::initialize() {
   return StatusCode::SUCCESS;
 }
 
-const Root::TAccept&
-TrackTruthSelectionTool::getTAccept( ) const {
+const asg::AcceptInfo&
+TrackTruthSelectionTool::getAcceptInfo( ) const {
   return m_accept;
 }
 
-const Root::TAccept&
+asg::AcceptData
 TrackTruthSelectionTool::accept(const xAOD::IParticle* p) const// Is this perhaps supposed to be xAOD::TruthParticle?
 {
-  // Reset the result:
-  m_accept.clear();
-
   // Check if this is a track:
   if (!p) {
     ATH_MSG_ERROR("accept(...) Function received a null pointer");
-    return m_accept;
+    return asg::AcceptData (&m_accept);
   }
   if (p->type() != xAOD::Type::TruthParticle) {
     ATH_MSG_ERROR("accept(...) Function received a non-TruthParticle");
-    return m_accept;
+    return asg::AcceptData (&m_accept);
   }
 
   // Cast it to a track (we have already checked its type so we do not have to dynamic_cast):
@@ -108,50 +105,49 @@ TrackTruthSelectionTool::accept(const xAOD::IParticle* p) const// Is this perhap
   return accept(truth);
 }
 
-const Root::TAccept&
+asg::AcceptData
 TrackTruthSelectionTool::accept(const xAOD::TruthParticle* p) const {
-  // Reset the TAccept
-  m_accept.clear();
+  asg::AcceptData acceptData (&m_accept);
 
   // Check cuts
   if (m_maxEta > -1) {
-    m_accept.setCutResult("eta", (p->pt() > 1e-7 ? (std::fabs(p->eta()) < m_maxEta) : false));
+    acceptData.setCutResult("eta", (p->pt() > 1e-7 ? (std::fabs(p->eta()) < m_maxEta) : false));
   }
   if (m_minPt > -1) {
-    m_accept.setCutResult("min_pt", (p->pt() > m_minPt));
+    acceptData.setCutResult("min_pt", (p->pt() > m_minPt));
   }
   if (m_maxPt > -1) {
-    m_accept.setCutResult("max_pt", (p->pt() < m_maxPt));
+    acceptData.setCutResult("max_pt", (p->pt() < m_maxPt));
   }
   if ((m_maxBarcode > -1)) {
-    m_accept.setCutResult("barcode", (p->barcode() < m_maxBarcode));
+    acceptData.setCutResult("barcode", (p->barcode() < m_maxBarcode));
   }
 
   if (m_requireCharged) {
-    m_accept.setCutResult("charged", (not (p->isNeutral())));
+    acceptData.setCutResult("charged", (not (p->isNeutral())));
   }
   if (m_requireStatus1) {
-    m_accept.setCutResult("status_1", (p->status() == 1));
+    acceptData.setCutResult("status_1", (p->status() == 1));
   }
   if (m_maxProdVertRadius > 0.) {
-    m_accept.setCutResult("decay_before_pixel", (!p->hasProdVtx() || p->prodVtx()->perp() < m_maxProdVertRadius));
+    acceptData.setCutResult("decay_before_pixel", (!p->hasProdVtx() || p->prodVtx()->perp() < m_maxProdVertRadius));
   }
   if (m_pdgId > -1) {
-    m_accept.setCutResult("pdgId", (std::fabs(p->pdgId()) == m_pdgId));// 3-18-16 normally on, disabled for testing
+    acceptData.setCutResult("pdgId", (std::fabs(p->pdgId()) == m_pdgId));// 3-18-16 normally on, disabled for testing
   }
   // Book keep cuts
   for (const auto& cut : m_cuts) {
-    unsigned int pos = m_accept.getCutPosition(cut.first);
-    if (m_accept.getCutResult(pos)) {
+    unsigned int pos = acceptData.getCutPosition(cut.first);
+    if (acceptData.getCutResult(pos)) {
       m_numTruthPassedCuts[pos]++;
     }
   }
   m_numTruthProcessed++;
-  if (m_accept) {
+  if (acceptData) {
     m_numTruthPassed++;
   }
 
-  return m_accept;
+  return acceptData;
 }
 
 StatusCode
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/TrackTruthSelectionTool.h b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/TrackTruthSelectionTool.h
index c4cc2369353a..cbb5119fc43a 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/TrackTruthSelectionTool.h
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/TrackTruthSelectionTool.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef INDETPHYSVALMONITORING_TRACKTRUTHSELECTORTOOL_H
@@ -21,13 +21,13 @@ public:
   virtual
   ~TrackTruthSelectionTool();
 
-  virtual StatusCode initialize();
-  virtual StatusCode finalize();
-  virtual const Root::TAccept& getTAccept( ) const;
-  virtual const Root::TAccept& accept(const xAOD::IParticle* p) const;
-  virtual const Root::TAccept& accept(const xAOD::TruthParticle* p) const;
+  virtual StatusCode initialize() override;
+  virtual StatusCode finalize() override;
+  virtual const asg::AcceptInfo& getAcceptInfo( ) const override;
+  virtual asg::AcceptData accept(const xAOD::IParticle* p) const override;
+  virtual asg::AcceptData accept(const xAOD::TruthParticle* p) const;
 private:
-  mutable Root::TAccept m_accept;
+  asg::AcceptInfo m_accept;
   std::vector<std::pair<std::string, std::string> > m_cuts;
   mutable ULong64_t m_numTruthProcessed; // !< a counter of the number of tracks proccessed
   mutable ULong64_t m_numTruthPassed; // !< a counter of the number of tracks that passed all cuts
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/dRMatchingTool.cxx b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/dRMatchingTool.cxx
index a72ce659afc4..0a8df2e6578a 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/dRMatchingTool.cxx
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/dRMatchingTool.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "dRMatchingTool.h"
@@ -127,10 +127,10 @@ dRMatchingTool::initialize() {
                                     "Cut on maximal, relativ pT difference between track and truth particle."));
   }
 
-  // Add cuts to the TAccept.
+  // Add cuts to the AcceptOmfp.
   for (const auto& cut : m_cuts) {
     if (m_accept.addCut(cut.first, cut.second) < 0) {
-      ATH_MSG_ERROR("Failed to add cut " << cut.first << " because the TAccept object is full.");
+      ATH_MSG_ERROR("Failed to add cut " << cut.first << " because the AcceptInfo object is full.");
       return StatusCode::FAILURE;
     }
   }
@@ -150,19 +150,18 @@ dRMatchingTool::initialize() {
   return StatusCode::SUCCESS;
 }
 
-const Root::TAccept&
-dRMatchingTool::getTAccept( ) const {
+const asg::AcceptInfo&
+dRMatchingTool::getAcceptInfo( ) const {
   return m_accept;
 }
 
-const Root::TAccept&
+asg::AcceptData
 dRMatchingTool::accept(const xAOD::IParticle* /*p*/) const {
-  m_accept.clear();
 
   ATH_MSG_ERROR(
     "accept(...) function called without needed Truth- or TrackParticleContainer. Please use one of the dRMatchingTool-specific accept methods.");
 
-  return m_accept;
+  return asg::AcceptData (&m_accept);
 }
 
 template<class T, class U>
@@ -373,12 +372,11 @@ dRMatchingTool::sortedMatch(const U* p,
   return passes;
 }
 
-const Root::TAccept&
+asg::AcceptData
 dRMatchingTool::accept(const xAOD::TrackParticle* track,
                        const xAOD::TruthParticleContainer* truthParticles,
                        bool (* truthSelectionTool)(const xAOD::TruthParticle*)) const {
-  // Reset the results.
-  m_accept.clear();
+  asg::AcceptData acceptData (&m_accept);
 
   // Determine whether to cache current truth particle container
   checkCacheTruthParticles(truthParticles, truthSelectionTool);
@@ -391,34 +389,33 @@ dRMatchingTool::accept(const xAOD::TrackParticle* track,
 
   // Set cut values.
   if (m_dRmax > -1) {
-    m_accept.setCutResult("dRmax", passes);
+    acceptData.setCutResult("dRmax", passes);
   }
   if (m_pTResMax > -1) {
-    m_accept.setCutResult("pTResMax", passes);
+    acceptData.setCutResult("pTResMax", passes);
   }
 
   // Book keep cuts
   for (const auto& cut : m_cuts) {
-    unsigned int pos = m_accept.getCutPosition(cut.first);
-    if (m_accept.getCutResult(pos)) {
+    unsigned int pos = acceptData.getCutPosition(cut.first);
+    if (acceptData.getCutResult(pos)) {
       m_numPassedCuts[pos]++;
     }
   }
 
   m_numProcessed++;
-  if (m_accept) {
+  if (acceptData) {
     m_numPassed++;
   }
 
-  return m_accept;
+  return acceptData;
 }
 
-const Root::TAccept&
+asg::AcceptData
 dRMatchingTool::accept(const xAOD::TruthParticle* truth,
                        const xAOD::TrackParticleContainer* trackParticles,
                        bool (* trackSelectionTool)(const xAOD::TrackParticle*)) const {
-  // Reset the results.
-  m_accept.clear();
+  asg::AcceptData acceptData (&m_accept);
 
   // Determine whether to cache current track particle container
   checkCacheTrackParticles(trackParticles, trackSelectionTool);
@@ -431,34 +428,33 @@ dRMatchingTool::accept(const xAOD::TruthParticle* truth,
 
   // Set cut values.
   if (m_dRmax > -1) {
-    m_accept.setCutResult("dRmax", passes);
+    acceptData.setCutResult("dRmax", passes);
   }
   if (m_pTResMax > -1) {
-    m_accept.setCutResult("pTResMax", passes);
+    acceptData.setCutResult("pTResMax", passes);
   }
 
   // Book keep cuts
   for (const auto& cut : m_cuts) {
-    unsigned int pos = m_accept.getCutPosition(cut.first);
-    if (m_accept.getCutResult(pos)) {
+    unsigned int pos = acceptData.getCutPosition(cut.first);
+    if (acceptData.getCutResult(pos)) {
       m_numPassedCuts[pos]++;
     }
   }
 
   m_numProcessed++;
-  if (m_accept) {
+  if (acceptData) {
     m_numPassed++;
   }
 
-  return m_accept;
+  return acceptData;
 }
 
-const Root::TAccept&
+asg::AcceptData
 dRMatchingTool::acceptLegacy(const xAOD::TrackParticle* p,
                              const xAOD::TruthParticleContainer* truthParticles,
                              bool (* truthSelectionTool)(const xAOD::TruthParticle*)) const {
-  // Reset the results.
-  m_accept.clear();
+  asg::AcceptData acceptData (&m_accept);
   m_dRmin = 9999.;
 
   // Define variables.
@@ -504,34 +500,34 @@ dRMatchingTool::acceptLegacy(const xAOD::TrackParticle* p,
 
   // Set cut values.
   if (m_dRmax > -1) {
-    m_accept.setCutResult("dRmax", passes);
+    acceptData.setCutResult("dRmax", passes);
   }
   if (m_pTResMax > -1) {
-    m_accept.setCutResult("pTResMax", passes);
+    acceptData.setCutResult("pTResMax", passes);
   }
 
   // Book keep cuts
   for (const auto& cut : m_cuts) {
-    unsigned int pos = m_accept.getCutPosition(cut.first);
-    if (m_accept.getCutResult(pos)) {
+    unsigned int pos = acceptData.getCutPosition(cut.first);
+    if (acceptData.getCutResult(pos)) {
       m_numPassedCuts[pos]++;
     }
   }
 
   m_numProcessed++;
-  if (m_accept) {
+  if (acceptData) {
     m_numPassed++;
   }
 
-  return m_accept;
+  return acceptData;
 }
 
-const Root::TAccept&
+asg::AcceptData
 dRMatchingTool::acceptLegacy(const xAOD::TruthParticle* p,
                              const xAOD::TrackParticleContainer* trackParticles,
                              bool (* trackSelectionTool)(const xAOD::TrackParticle*)) const {
   // Reset the results.
-  m_accept.clear();
+  asg::AcceptData acceptData (&m_accept);
   m_dRmin = 9999.;
 
   // Define variables.
@@ -577,26 +573,26 @@ dRMatchingTool::acceptLegacy(const xAOD::TruthParticle* p,
 
   // Set cut values.
   if (m_dRmax > -1) {
-    m_accept.setCutResult("dRmax", passes);
+    acceptData.setCutResult("dRmax", passes);
   }
   if (m_pTResMax > -1) {
-    m_accept.setCutResult("pTResMax", passes);
+    acceptData.setCutResult("pTResMax", passes);
   }
 
   // Book keep cuts
   for (const auto& cut : m_cuts) {
-    unsigned int pos = m_accept.getCutPosition(cut.first);
-    if (m_accept.getCutResult(pos)) {
+    unsigned int pos = acceptData.getCutPosition(cut.first);
+    if (acceptData.getCutResult(pos)) {
       m_numPassedCuts[pos]++;
     }
   }
 
   m_numProcessed++;
-  if (m_accept) {
+  if (acceptData) {
     m_numPassed++;
   }
 
-  return m_accept;
+  return acceptData;
 }
 
 StatusCode
diff --git a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/dRMatchingTool.h b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/dRMatchingTool.h
index f487867e7b2c..b9827c94fcdd 100644
--- a/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/dRMatchingTool.h
+++ b/InnerDetector/InDetValidation/InDetPhysValMonitoring/src/dRMatchingTool.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef INDETPHYSVALMONITORING_DRMATCHINGTOOL_H
@@ -90,30 +90,30 @@ public:
   ~dRMatchingTool();
 
   /// SelectionTool method(s).
-  virtual StatusCode initialize();
-  virtual StatusCode finalize();
-  virtual const Root::TAccept& getTAccept( ) const;
-  virtual const Root::TAccept& accept(const xAOD::IParticle* p) const;
+  virtual StatusCode initialize() override;
+  virtual StatusCode finalize() override;
+  virtual const asg::AcceptInfo& getAcceptInfo( ) const override;
+  virtual asg::AcceptData accept(const xAOD::IParticle* p) const override;
 
   /// dR-matching specific method(s).
   // For matching single track to set of truth particles.
-  virtual const Root::TAccept&
+  virtual asg::AcceptData
   acceptLegacy(const xAOD::TrackParticle* p,
                const xAOD::TruthParticleContainer* truthParticles,
                bool (* truthSelectionTool)(const xAOD::TruthParticle*) = nullptr) const;
 
-  const Root::TAccept&
+  asg::AcceptData
   accept(const xAOD::TrackParticle* p,
          const xAOD::TruthParticleContainer* truthParticles,
          bool (* truthSelectionTool)(const xAOD::TruthParticle*) = nullptr) const;
 
   // For matching single truth particle to set of tracks.
-  virtual const Root::TAccept&
+  virtual asg::AcceptData
   acceptLegacy(const xAOD::TruthParticle* p,
                const xAOD::TrackParticleContainer* trackParticles,
                bool (* trackSelectionTool)(const xAOD::TrackParticle*) = nullptr) const;
 
-  const Root::TAccept&
+  asg::AcceptData
   accept(const xAOD::TruthParticle* p,
          const xAOD::TrackParticleContainer* trackParticles,
          bool (* trackSelectionTool)(const xAOD::TrackParticle*) = nullptr) const;
@@ -165,8 +165,8 @@ protected:
                    std::vector< const V* >& vec_phi) const;
 private:
   /// Data member(s).
-  // TAccept object.
-  mutable Root::TAccept m_accept;
+  // AcceptInfo object.
+  asg::AcceptInfo m_accept;
   // Vector of stored cut names and descriptions.
   std::vector<std::pair<std::string, std::string> > m_cuts;
 
diff --git a/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/AcceptData.h b/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/AcceptData.h
index 19ba480d9608..f0d7fc2245f7 100644
--- a/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/AcceptData.h
+++ b/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/AcceptData.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // Dear emacs, this is -*-c++-*-
@@ -21,6 +21,7 @@
 #include <string>
 #include <map>
 #include <bitset>
+#include <cassert>
 #include <PATCore/AcceptInfo.h>
 
 
@@ -142,6 +143,13 @@ namespace asg {
       m_accept[cutPosition] = cutResult;
     }
 
+    AcceptData& operator|= (const AcceptData& other)
+    {
+      assert (m_info == other.m_info);
+      m_accept |= other.m_accept;
+      return *this;
+    }
+
 
     // Private members
   private:
diff --git a/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/IAsgSelectionTool.h b/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/IAsgSelectionTool.h
index f57e1dd8124f..791dea0bd9e2 100644
--- a/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/IAsgSelectionTool.h
+++ b/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/IAsgSelectionTool.h
@@ -1,7 +1,7 @@
 ///////////////////////// -*- C++ -*- /////////////////////////////
 
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // IAsgSelectionTool.h 
@@ -18,7 +18,8 @@
 #include "AsgTools/IAsgTool.h"
 
 // Include the return object
-#include "PATCore/TAccept.h"
+#include "PATCore/AcceptInfo.h"
+#include "PATCore/AcceptData.h"
 
 // Forward declaration
 namespace xAOD{
@@ -26,11 +27,7 @@ namespace xAOD{
 }
 
 
-//static const InterfaceID IID_IAsgSelectionTool("IAsgSelectionTool", 1, 0);
-
-// this ought to be deprecated, but we have so many clients, that we
-// are not doing it yet.
-class [[deprecated("do not use for multi-threaded code")]] IAsgSelectionTool
+class  IAsgSelectionTool
   : virtual public asg::IAsgTool
 { 
   /// Declare the interface ID for this pure-virtual interface class to the Athena framework
@@ -46,15 +43,12 @@ class [[deprecated("do not use for multi-threaded code")]] IAsgSelectionTool
   // Const methods: 
   ///////////////////////////////////////////////////////////////////
 
-  /** Method to get the plain TAccept.
-      This is needed so that one can already get the TAccept 
-      and query what cuts are defined before the first object 
-      is passed to the tool. */
-  virtual const Root::TAccept& getTAccept( ) const = 0;
+  /** Method to get the AcceptInfo to query what cuts are defined. */
+  virtual const asg::AcceptInfo& getAcceptInfo( ) const = 0;
 
 
   /** The main accept method: the actual cuts are applied here */
-  virtual const Root::TAccept& accept( const xAOD::IParticle* /*part*/ ) const = 0;
+  virtual asg::AcceptData accept( const xAOD::IParticle* /*part*/ ) const = 0;
 
 
 }; 
diff --git a/PhysicsAnalysis/JetTagging/JetTagPerformanceCalibration/xAODBTaggingEfficiency/Root/BTaggingSelectionTool.cxx b/PhysicsAnalysis/JetTagging/JetTagPerformanceCalibration/xAODBTaggingEfficiency/Root/BTaggingSelectionTool.cxx
index f6aadc0a1869..1fe5e41825a8 100644
--- a/PhysicsAnalysis/JetTagging/JetTagPerformanceCalibration/xAODBTaggingEfficiency/Root/BTaggingSelectionTool.cxx
+++ b/PhysicsAnalysis/JetTagging/JetTagPerformanceCalibration/xAODBTaggingEfficiency/Root/BTaggingSelectionTool.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "xAODBTaggingEfficiency/BTaggingSelectionTool.h"
@@ -145,37 +145,34 @@ StatusCode BTaggingSelectionTool::initialize() {
 
   return StatusCode::SUCCESS;
 }
-const Root::TAccept& BTaggingSelectionTool::getTAccept() const {
+const asg::AcceptInfo& BTaggingSelectionTool::getAcceptInfo() const {
   return m_accept;
 }
 
-const Root::TAccept& BTaggingSelectionTool::accept( const xAOD::IParticle* p ) const {
-  // Reset the result:
-  m_accept.clear();
-
+asg::AcceptData BTaggingSelectionTool::accept( const xAOD::IParticle* p ) const {
   // Check if this is a jet:
   if( p->type() != xAOD::Type::Jet ) {
     ATH_MSG_ERROR( "accept(...) Function received a non-jet" );
-    return m_accept;
+    return asg::AcceptData (&m_accept);
   }
 
   // Cast it to a jet:
   const xAOD::Jet* jet = dynamic_cast< const xAOD::Jet* >( p );
   if( ! jet ) {
     ATH_MSG_FATAL( "accept(...) Failed to cast particle to jet" );
-    return m_accept;
+    return asg::AcceptData (&m_accept);
   }
 
   // Let the specific function do the work:
   return accept( *jet );
 }
 
-const Root::TAccept& BTaggingSelectionTool::accept( const xAOD::Jet& jet ) const {
-  m_accept.clear();
+asg::AcceptData BTaggingSelectionTool::accept( const xAOD::Jet& jet ) const {
+  asg::AcceptData acceptData (&m_accept);
 
   if (! m_initialised) {
     ATH_MSG_ERROR("BTaggingSelectionTool has not been initialised");
-    return m_accept;
+    return acceptData;
   }
 
   if ("AntiKt2PV0TrackJets"== m_jetAuthor ||
@@ -183,7 +180,7 @@ const Root::TAccept& BTaggingSelectionTool::accept( const xAOD::Jet& jet ) const
       "AntiKtVR30Rmax4Rmin02TrackJets"== m_jetAuthor
       ){
     // We want at least 2 tracks in a track jet
-    m_accept.setCutResult( "NConstituents", jet.numConstituents() >= 2 );
+    acceptData.setCutResult( "NConstituents", jet.numConstituents() >= 2 );
   }
 
   double pT = jet.pt();
@@ -198,7 +195,7 @@ const Root::TAccept& BTaggingSelectionTool::accept( const xAOD::Jet& jet ) const
       ATH_MSG_ERROR("Failed to retrieve "+m_taggerName+" weight!");
     }
     ATH_MSG_VERBOSE( "MV2c20 " <<  weight_mv2 );
-    return accept(pT, eta, weight_mv2);
+    acceptData |= accept(pT, eta, weight_mv2);
   }
   else {
     double weight_mv2c100(-10.);
@@ -212,18 +209,18 @@ const Root::TAccept& BTaggingSelectionTool::accept( const xAOD::Jet& jet ) const
     }
     ATH_MSG_VERBOSE( "MV2cl100 "  <<  weight_mv2cl100 );
     ATH_MSG_VERBOSE( "MV2c100 " <<  weight_mv2c100 );
-    return accept(pT, eta, weight_mv2cl100, weight_mv2c100 );
-
+    acceptData |= accept(pT, eta, weight_mv2cl100, weight_mv2c100 );
   }
+  return acceptData;
 }
 
-const Root::TAccept& BTaggingSelectionTool::accept(double pT, double eta, double weight_mv2) const
+asg::AcceptData BTaggingSelectionTool::accept(double pT, double eta, double weight_mv2) const
 {
-  m_accept.clear();
+  asg::AcceptData acceptData (&m_accept);
 
   if (! m_initialised) {
     ATH_MSG_ERROR("BTaggingSelectionTool has not been initialised");
-    return m_accept;
+    return acceptData;
   }
 
   // flat cut for out of range pTs
@@ -232,8 +229,8 @@ const Root::TAccept& BTaggingSelectionTool::accept(double pT, double eta, double
 
   eta = std::fabs(eta);
 
-  if (! checkRange(pT, eta))
-    return m_accept;
+  if (! checkRange(pT, eta, acceptData))
+    return acceptData;
 
   // After initialization, either m_spline or m_constcut should be non-zero
   // Else, the initialization was incorrect and should be revisited
@@ -248,23 +245,23 @@ const Root::TAccept& BTaggingSelectionTool::accept(double pT, double eta, double
   ATH_MSG_VERBOSE( "Cut value " << cutvalue );
 
   if (  weight_mv2 < cutvalue ){
-    return m_accept;
+    return acceptData;
   }
-  m_accept.setCutResult( "WorkingPoint", true );
+  acceptData.setCutResult( "WorkingPoint", true );
 
   // Return the result:
-  return m_accept;
+  return acceptData;
 }
 
 
 
-const Root::TAccept& BTaggingSelectionTool::accept(double pT, double eta, double weight_mv2cl100, double weight_mv2c100) const
+asg::AcceptData BTaggingSelectionTool::accept(double pT, double eta, double weight_mv2cl100, double weight_mv2c100) const
 {
-  m_accept.clear();
+  asg::AcceptData acceptData (&m_accept);
 
   if (! m_initialised) {
     ATH_MSG_ERROR("BTaggingSelectionTool has not been initialised");
-    return m_accept;
+    return acceptData;
   }
 
   // flat cut for out of range pTs
@@ -273,8 +270,8 @@ const Root::TAccept& BTaggingSelectionTool::accept(double pT, double eta, double
 
   eta = std::fabs(eta);
 
-  if (! checkRange(pT, eta))
-    return m_accept;
+  if (! checkRange(pT, eta, acceptData))
+    return acceptData;
 
   // After initialization, either m_spline or m_constcut should be non-zero
   // Else, the initialization was incorrect and should be revisited
@@ -288,12 +285,12 @@ const Root::TAccept& BTaggingSelectionTool::accept(double pT, double eta, double
   ATH_MSG_VERBOSE( "Cut values " << cutvalueA << " " << cutvalueB );
 
   if ( !(  weight_mv2cl100 > cutvalueA && weight_mv2c100 < cutvalueB )  ){
-    return m_accept;
+    return acceptData;
   }
-  m_accept.setCutResult( "WorkingPoint", true ); // IF we arrived here, the jet is tagged
+  acceptData.setCutResult( "WorkingPoint", true ); // IF we arrived here, the jet is tagged
 
   // Return the result:
-  return m_accept;
+  return acceptData;
 }
 
 
@@ -303,14 +300,14 @@ int BTaggingSelectionTool::getQuantile( const xAOD::IParticle* p ) const {
   // Check if this is a jet:
   if( p->type() != xAOD::Type::Jet ) {
     ATH_MSG_ERROR( "accept(...) Function received a non-jet" );
-    return m_accept;
+    return -1;
   }
 
   // Cast it to a jet:
   const xAOD::Jet* jet = dynamic_cast< const xAOD::Jet* >( p );
   if( ! jet ) {
     ATH_MSG_FATAL( "accept(...) Failed to cast particle to jet" );
-    return m_accept;
+    return -1;
   }
 
   // Let the specific function do the work:
@@ -349,7 +346,8 @@ int BTaggingSelectionTool::getQuantile(double pT, double eta, double weight_mv2
 
   int bin_index(-1);
 
-  if (! checkRange(pT, eta)) return bin_index;
+  asg::AcceptData acceptData (&m_accept);
+  if (! checkRange(pT, eta, acceptData)) return bin_index;
 
   // If in b-tagging acceptance, cont.tagging
   for (int i=0; i<=5; ++i) {
@@ -364,20 +362,21 @@ int BTaggingSelectionTool::getQuantile(double pT, double eta, double weight_mv2
   return bin_index;
 }
 
-bool BTaggingSelectionTool::checkRange(double pT, double eta) const
+bool BTaggingSelectionTool::checkRange(double pT, double eta,
+                                       asg::AcceptData& acceptData) const
 {
   // Do the |eta| cut:
   if( eta > m_maxEta ) {
     return false;
   }
-  m_accept.setCutResult( "Eta", true );
+  acceptData.setCutResult( "Eta", true );
 
   // Do the pT cut:
   ATH_MSG_VERBOSE( "Jet pT: " << pT );
   if( pT < m_minPt ) {
     return false;
   }
-  m_accept.setCutResult( "Pt", true );
+  acceptData.setCutResult( "Pt", true );
 
   return true;
 }
diff --git a/PhysicsAnalysis/JetTagging/JetTagPerformanceCalibration/xAODBTaggingEfficiency/xAODBTaggingEfficiency/BTaggingSelectionTool.h b/PhysicsAnalysis/JetTagging/JetTagPerformanceCalibration/xAODBTaggingEfficiency/xAODBTaggingEfficiency/BTaggingSelectionTool.h
index 36e63e58975b..f64e69f1ee6a 100644
--- a/PhysicsAnalysis/JetTagging/JetTagPerformanceCalibration/xAODBTaggingEfficiency/xAODBTaggingEfficiency/BTaggingSelectionTool.h
+++ b/PhysicsAnalysis/JetTagging/JetTagPerformanceCalibration/xAODBTaggingEfficiency/xAODBTaggingEfficiency/BTaggingSelectionTool.h
@@ -1,7 +1,7 @@
 // Dear emacs, this is -*- c++ -*-
 
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -42,34 +42,35 @@ class BTaggingSelectionTool: public asg::AsgTool,
   public:  
   /// Create a constructor for standalone usage
   BTaggingSelectionTool( const std::string& name );
-  StatusCode initialize();
+  virtual StatusCode initialize() override;
   /// Get an object describing the "selection steps" of the tool
-  virtual const Root::TAccept& getTAccept() const;
+  virtual const asg::AcceptInfo& getAcceptInfo() const override;
 
   /// Get the decision using a generic IParticle pointer
-  virtual const Root::TAccept& accept( const xAOD::IParticle* p ) const;
-  virtual const Root::TAccept& accept( const xAOD::Jet& jet ) const;
+  virtual asg::AcceptData accept( const xAOD::IParticle* p ) const override;
+  virtual asg::AcceptData accept( const xAOD::Jet& jet ) const override;
 
   /// Get the decision using thet jet's pt and mv2c20 weight values
-  virtual const Root::TAccept& accept(double /* jet pt */, double /* jet eta */, double /* mv2c20 weight */ ) const;
-  virtual const Root::TAccept& accept(double /* jet pt */, double /* jet eta */, double /* mv2c00 weight */, double /* mv2c100 weight */ ) const;
+  virtual asg::AcceptData accept(double /* jet pt */, double /* jet eta */, double /* mv2c20 weight */ ) const override;
+  virtual asg::AcceptData accept(double /* jet pt */, double /* jet eta */, double /* mv2c00 weight */, double /* mv2c100 weight */ ) const override;
 
   /// Decide in which quantile of the MV2c20 weight distribution the jet belongs (continuous tagging)
   /// The return value represents the bin index of the quantile distribution
-  virtual int getQuantile( const xAOD::IParticle* ) const;
-  virtual int getQuantile( const xAOD::Jet& ) const;
-  virtual int getQuantile( double /* jet pt */, double /* jet eta */, double /* mv2c20 weight */  ) const;
+  virtual int getQuantile( const xAOD::IParticle* ) const override;
+  virtual int getQuantile( const xAOD::Jet& ) const override;
+  virtual int getQuantile( double /* jet pt */, double /* jet eta */, double /* mv2c20 weight */  ) const override;
 
-  virtual double getCutValue() const; // Only for 1D flat cut
+  virtual double getCutValue() const override; // Only for 1D flat cut
 
 private:
   /// Helper function that decides whether a jet belongs to the correct jet selection for b-tagging
-  virtual bool checkRange( double /* jet pt */, double /* jet eta */ ) const;
+  virtual bool checkRange( double pT, double eta,
+                           asg::AcceptData& acceptData) const;
 
   bool m_initialised;
 
-   /// Object used to store the last decision
-  mutable Root::TAccept m_accept;
+  /// Object used to store selection information.
+  asg::AcceptInfo m_accept;
  
   double m_maxEta;
   double m_minPt;
diff --git a/PhysicsAnalysis/JetTagging/JetTagPerformanceCalibration/xAODBTaggingEfficiency/xAODBTaggingEfficiency/IBTaggingSelectionTool.h b/PhysicsAnalysis/JetTagging/JetTagPerformanceCalibration/xAODBTaggingEfficiency/xAODBTaggingEfficiency/IBTaggingSelectionTool.h
index b83aeb370aad..4a6c529c0eb3 100644
--- a/PhysicsAnalysis/JetTagging/JetTagPerformanceCalibration/xAODBTaggingEfficiency/xAODBTaggingEfficiency/IBTaggingSelectionTool.h
+++ b/PhysicsAnalysis/JetTagging/JetTagPerformanceCalibration/xAODBTaggingEfficiency/xAODBTaggingEfficiency/IBTaggingSelectionTool.h
@@ -1,7 +1,7 @@
 // Dear emacs, this is -*- c++ -*-
 
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -13,7 +13,8 @@
 
 #include "AsgTools/IAsgTool.h"
 #include "xAODJet/Jet.h"
-#include "PATCore/TAccept.h"
+#include "PATCore/AcceptData.h"
+#include "PATCore/AcceptInfo.h"
 #include <string>
 
 class IBTaggingSelectionTool : virtual public asg::IAsgTool {
@@ -23,13 +24,13 @@ class IBTaggingSelectionTool : virtual public asg::IAsgTool {
 
     public:
 
-    virtual const Root::TAccept& getTAccept() const = 0;
+    virtual const asg::AcceptInfo& getAcceptInfo() const = 0;
     /// Get the decision using a generic IParticle pointer
-    virtual const Root::TAccept& accept( const xAOD::IParticle* p ) const = 0;
-    virtual const Root::TAccept& accept( const xAOD::Jet& j ) const = 0;
+    virtual asg::AcceptData accept( const xAOD::IParticle* p ) const = 0;
+    virtual asg::AcceptData accept( const xAOD::Jet& j ) const = 0;
     /// Get the decision using thet jet's pt and mv2c20 weight values
-    virtual const Root::TAccept& accept(double /* jet pt */, double /* jet eta */, double /* mv2c20 weight */ ) const = 0;
-    virtual const Root::TAccept& accept(double /* jet pt */, double /* jet eta */, double /* mv2c20 weight */, double /* mv2c20 weight */ ) const = 0;
+    virtual asg::AcceptData accept(double /* jet pt */, double /* jet eta */, double /* mv2c20 weight */ ) const = 0;
+    virtual asg::AcceptData  accept(double /* jet pt */, double /* jet eta */, double /* mv2c20 weight */, double /* mv2c20 weight */ ) const = 0;
     /// Decide in which quantile of the MV2c20 weight distribution the jet belongs
     /// The return value represents the bin index of the quantile distribution
     virtual int getQuantile( const xAOD::IParticle* ) const = 0;
diff --git a/PhysicsAnalysis/MuonID/MuonSelectorTools/MuonSelectorTools/IMuonSelectionTool.h b/PhysicsAnalysis/MuonID/MuonSelectorTools/MuonSelectorTools/IMuonSelectionTool.h
index 3855f135be20..744b5b1e3c68 100644
--- a/PhysicsAnalysis/MuonID/MuonSelectorTools/MuonSelectorTools/IMuonSelectionTool.h
+++ b/PhysicsAnalysis/MuonID/MuonSelectorTools/MuonSelectorTools/IMuonSelectionTool.h
@@ -1,7 +1,7 @@
 // Dear emacs, this is -*- c++ -*-
 
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2017, 2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // $Id: IMuonSelectionTool.h 299883 2014-03-28 17:34:16Z krasznaa $
@@ -10,7 +10,8 @@
 
 // Framework include(s):
 #include "AsgTools/IAsgTool.h"
-#include "PATCore/TAccept.h"
+#include "PATCore/AcceptInfo.h"
+#include "PATCore/AcceptData.h"
 
 // EDM include(s):
 #include "xAODMuon/Muon.h"
@@ -34,7 +35,10 @@ namespace CP {
 
    public:
       /// Decide whether the muon in question is a "good muon" or not
-      virtual const Root::TAccept& accept( const xAOD::Muon& mu ) const = 0;
+      virtual const asg::AcceptInfo& getAcceptInfo() const = 0;
+
+      /// Decide whether the muon in question is a "good muon" or not
+      virtual asg::AcceptData accept( const xAOD::Muon& mu ) const = 0;
 
       /// set the passes ID cuts variable of the muon 
       virtual void setPassesIDCuts( xAOD::Muon& mu ) const = 0;
diff --git a/PhysicsAnalysis/MuonID/MuonSelectorTools/MuonSelectorTools/MuonSelectionTool.h b/PhysicsAnalysis/MuonID/MuonSelectorTools/MuonSelectorTools/MuonSelectionTool.h
index 9c4cea00cf8b..454632425f04 100644
--- a/PhysicsAnalysis/MuonID/MuonSelectorTools/MuonSelectorTools/MuonSelectionTool.h
+++ b/PhysicsAnalysis/MuonID/MuonSelectorTools/MuonSelectorTools/MuonSelectionTool.h
@@ -1,7 +1,7 @@
 // Dear emacs, this is -*- c++ -*-
 
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2017, 2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // $Id: MuonSelectionTool.h 299883 2014-03-28 17:34:16Z krasznaa $
@@ -48,7 +48,7 @@ namespace CP {
       /// @{
 
       /// Function initialising the tool
-      virtual StatusCode initialize();
+      virtual StatusCode initialize() override;
 
       /// @}
 
@@ -56,10 +56,10 @@ namespace CP {
       /// @{
 
       /// Get an object describing the "selection steps" of the tool
-      virtual const Root::TAccept& getTAccept() const;
+      virtual const asg::AcceptInfo& getAcceptInfo() const override;
 
       /// Get the decision using a generic IParticle pointer
-      virtual const Root::TAccept& accept( const xAOD::IParticle* p ) const;
+      virtual asg::AcceptData accept( const xAOD::IParticle* p ) const override;
 
       /// @}
 
@@ -67,47 +67,47 @@ namespace CP {
       /// @{
 
       /// Get the decision for a specific Muon object
-      virtual const Root::TAccept& accept( const xAOD::Muon& mu ) const;
+      virtual asg::AcceptData accept( const xAOD::Muon& mu ) const override;
 
       /// set the passes ID cuts variable of the muon 
-      void setPassesIDCuts(xAOD::Muon&) const;
+      virtual void setPassesIDCuts(xAOD::Muon&) const override;
 	  
       /// set the passes high pT cuts variable of the muon 
-      void setPassesHighPtCuts( xAOD::Muon& mu ) const;
+      virtual void setPassesHighPtCuts( xAOD::Muon& mu ) const override;
 
       /// set the passes low pT cuts variable of the muon
       //void setPassesLowPtEfficiencyCuts( xAOD::Muon& mu ) const;
      
       /// set the passes quality variable of the muon 
-      void setQuality( xAOD::Muon& mu ) const;
+      virtual void setQuality( xAOD::Muon& mu ) const override;
 
       /// Returns true if the muon passes the standard MCP ID cuts. To set the value on the muon, instead call setPassesIDCuts(xAOD::Muon&) const
-      bool passedIDCuts(const xAOD::Muon&) const;
+      virtual bool passedIDCuts(const xAOD::Muon&) const override;
  
       /// Returns true if the muon passes a standardized loose preselection.
-      bool passedMuonCuts(const xAOD::Muon&) const;
+      virtual bool passedMuonCuts(const xAOD::Muon&) const override;
 
       /// Returns true if the track particle passes the standard MCP ID cuts.
-      bool passedIDCuts(const xAOD::TrackParticle&) const;
+      virtual bool passedIDCuts(const xAOD::TrackParticle&) const override;
      
       /// Returns true if the muon passes the standard MCP High Pt cuts. To set the value on the muon, instead call setPassesHighPtCuts(xAOD::Muon&) const
-      bool passedHighPtCuts(const xAOD::Muon&) const;
+      virtual bool passedHighPtCuts(const xAOD::Muon&) const override;
 
       /// Returns true if the muon passes the standard MCP low pt cuts. To set the value on the muon, instead call setPassesLowPtEfficiencyCuts(xAOD::Muon&) const
-      bool passedLowPtEfficiencyCuts(const xAOD::Muon&) const;
-      bool passedLowPtEfficiencyCuts(const xAOD::Muon&, xAOD::Muon::Quality thisMu_quality) const;
+      virtual bool passedLowPtEfficiencyCuts(const xAOD::Muon&) const override;
+      virtual bool passedLowPtEfficiencyCuts(const xAOD::Muon&, xAOD::Muon::Quality thisMu_quality) const override;
 
       /// Returns true if a CB muon fails a pt- and eta-dependent cut on the relative CB q/p error
-      bool passedErrorCutCB(const xAOD::Muon&) const;
+      virtual bool passedErrorCutCB(const xAOD::Muon&) const override;
 
       /// Returns true if a CB muon fails some loose quaility requirements designed to remove pathological tracks
-      bool isBadMuon(const xAOD::Muon&) const;
+      virtual bool isBadMuon(const xAOD::Muon&) const override;
 
       /// Returns the quality of the muon. To set the value on the muon, instead call setQuality(xAOD::Muon&) const
-      xAOD::Muon::Quality getQuality( const xAOD::Muon& mu ) const;
+      virtual xAOD::Muon::Quality getQuality( const xAOD::Muon& mu ) const override;
 
       /// Returns true if the muon passed additional calo-tag quality cuts
-      bool passedCaloTagQuality (const xAOD::Muon& mu) const;
+      virtual bool passedCaloTagQuality (const xAOD::Muon& mu) const override;
 
       /// Returns true if the muon passed the tight working point cuts    
       bool passTight(const xAOD::Muon& mu, float rho, float oneOverPSig) const;
@@ -125,8 +125,8 @@ namespace CP {
      int  m_quality;
      bool m_isSimulation;
      
-     /// Object used to store the last decision
-     mutable Root::TAccept m_accept;
+     /// Store selection information.
+     asg::AcceptInfo m_acceptInfo;
      
      bool m_toroidOff;
      bool m_developMode;
diff --git a/PhysicsAnalysis/MuonID/MuonSelectorTools/Root/MuonSelectionTool.cxx b/PhysicsAnalysis/MuonID/MuonSelectorTools/Root/MuonSelectionTool.cxx
index b3065bcb5b26..679d83020ba8 100644
--- a/PhysicsAnalysis/MuonID/MuonSelectorTools/Root/MuonSelectionTool.cxx
+++ b/PhysicsAnalysis/MuonID/MuonSelectorTools/Root/MuonSelectionTool.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // $Id: MuonSelectionTool.cxx 299883 2014-03-28 17:34:16Z krasznaa $
@@ -14,7 +14,7 @@ namespace CP {
   MuonSelectionTool::MuonSelectionTool( const std::string& name )
     : asg::AsgTool( name ),
       m_name(name),
-      m_accept( "MuonSelection" ){
+      m_acceptInfo( "MuonSelection" ){
     
     declareProperty( "MaxEta", m_maxEta = 2.7 );
     //xAOD::MuonQuality enum {Tight, Medium, Loose, VeryLoose}
@@ -46,7 +46,7 @@ namespace CP {
       m_name(toCopy.m_name+"_copy"),
       m_maxEta( toCopy.m_maxEta ),
       m_quality( toCopy.m_quality ),
-      m_accept( toCopy.m_accept ),
+      m_acceptInfo( toCopy.m_acceptInfo ),
       m_toroidOff( toCopy.m_toroidOff ),
       m_developMode( toCopy.m_developMode ),
       m_TrtCutOff( toCopy.m_TrtCutOff ),
@@ -101,14 +101,14 @@ namespace CP {
     if (m_custom_dir!="") ATH_MSG_WARNING("!! SETTING UP WITH USER SPECIFIED INPUT LOCATION \""<<m_custom_dir<<"\"!! FOR DEVELOPMENT USE ONLY !! ");
 
     // Set up the TAccept object:
-    m_accept.addCut( "Eta",
-		     "Selection of muons according to their pseudorapidity" );
-    m_accept.addCut( "IDHits",
-                     "Selection of muons according to whether they passed the MCP ID Hit cuts" );
-    m_accept.addCut( "Preselection",
-                     "Selection of muons according to their type/author" );
-    m_accept.addCut( "Quality",
-		     "Selection of muons according to their tightness" );
+    m_acceptInfo.addCut( "Eta",
+                         "Selection of muons according to their pseudorapidity" );
+    m_acceptInfo.addCut( "IDHits",
+                         "Selection of muons according to whether they passed the MCP ID Hit cuts" );
+    m_acceptInfo.addCut( "Preselection",
+                         "Selection of muons according to their type/author" );
+    m_acceptInfo.addCut( "Quality",
+                         "Selection of muons according to their tightness" );
     // Sanity check
     if(m_quality>5 ){
       ATH_MSG_ERROR( "Invalid quality (i.e. selection WP) set: " << m_quality << " - it must be an integer between 0 and 5! (0=Tight, 1=Medium, 2=Loose, 3=Veryloose, 4=HighPt, 5=LowPtEfficiency)" );
@@ -173,59 +173,55 @@ namespace CP {
   }
 
   
-  const Root::TAccept& MuonSelectionTool::getTAccept() const {
+  const asg::AcceptInfo& MuonSelectionTool::getAcceptInfo() const {
     
-    return m_accept;
+    return m_acceptInfo;
   }
   
-  const Root::TAccept&
+  asg::AcceptData
   MuonSelectionTool::accept( const xAOD::IParticle* p ) const {
-    
-    // Reset the result:
-    m_accept.clear();
-    
+  
     // Check if this is a muon:
     if( p->type() != xAOD::Type::Muon ) {
       ATH_MSG_ERROR( "accept(...) Function received a non-muon" );
-      return m_accept;
+      return asg::AcceptData (&m_acceptInfo);
     }
     
     // Cast it to a muon:
     const xAOD::Muon* mu = dynamic_cast< const xAOD::Muon* >( p );
     if( ! mu ) {
       ATH_MSG_FATAL( "accept(...) Failed to cast particle to muon" );
-      return m_accept;
+      return asg::AcceptData (&m_acceptInfo);
     }
     
     // Let the specific function do the work:
     return accept( *mu );
   }
   
-  const Root::TAccept& MuonSelectionTool::accept( const xAOD::Muon& mu ) const {
+  asg::AcceptData MuonSelectionTool::accept( const xAOD::Muon& mu ) const {
     
-    // Reset the result:
-    m_accept.clear();
+    asg::AcceptData acceptData (&m_acceptInfo);
 
     // Do the eta cut:
     ATH_MSG_VERBOSE( "Muon eta: " << mu.eta() );
     if( std::abs( mu.eta() ) > m_maxEta ) {
-      return m_accept;
+      return acceptData;
     }
-    m_accept.setCutResult( "Eta", true );
+    acceptData.setCutResult( "Eta", true );
 
     // Passes ID hit cuts 
     ATH_MSG_VERBOSE( "Passes ID Hit cuts " << passedIDCuts(mu) );
     if( !passedIDCuts (mu) ) {
-      return m_accept;
+      return acceptData;
     }
-    m_accept.setCutResult( "IDHits", true );
+    acceptData.setCutResult( "IDHits", true );
     
     // Passes muon preselection
     ATH_MSG_VERBOSE( "Passes preselection cuts " << passedMuonCuts(mu) );
     if( !passedMuonCuts (mu) ) {
-      return m_accept;
+      return acceptData;
     }
-    m_accept.setCutResult( "Preselection", true );
+    acceptData.setCutResult( "Preselection", true );
 
     // Passes quality requirements 
     xAOD::Muon::Quality thisMu_quality = getQuality(mu);
@@ -233,17 +229,17 @@ namespace CP {
     bool thisMu_lowptE = passedLowPtEfficiencyCuts(mu,thisMu_quality);
     ATH_MSG_VERBOSE( "Muon quality: " << thisMu_quality << " passes HighPt: "<< thisMu_highpt << " passes LowPtEfficiency: "<< thisMu_lowptE );
     if(m_quality<4 && thisMu_quality > m_quality){
-      return m_accept;
+      return acceptData;
     }
     if(m_quality==4 && !thisMu_highpt){
-      return m_accept;
+      return acceptData;
     }
     if(m_quality==5 && !thisMu_lowptE){
-      return m_accept;
+      return acceptData;
     }
-    m_accept.setCutResult( "Quality", true );
+    acceptData.setCutResult( "Quality", true );
     // Return the result:
-    return m_accept;
+    return acceptData;
   }
   
   void MuonSelectionTool::setQuality( xAOD::Muon& mu ) const {
diff --git a/PhysicsAnalysis/RingerSelectorTools/RingerSelectorTools/AsgElectronRingerSelector.h b/PhysicsAnalysis/RingerSelectorTools/RingerSelectorTools/AsgElectronRingerSelector.h
index c8975bdf65a4..0cc6981faecf 100644
--- a/PhysicsAnalysis/RingerSelectorTools/RingerSelectorTools/AsgElectronRingerSelector.h
+++ b/PhysicsAnalysis/RingerSelectorTools/RingerSelectorTools/AsgElectronRingerSelector.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2017, 2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // $Id: AsgElectronRingerSelector.h 704615 2015-10-29 18:50:12Z wsfreund $
@@ -14,7 +14,8 @@
 
 #ifndef RINGER_STANDALONE
 // Athena includes
-#include "PATCore/TAccept.h"
+#include "PATCore/AcceptData.h"
+#include "PATCore/AcceptInfo.h"
 #include "AsgTools/AsgMetadataTool.h"
 #include "AsgTools/ToolHandle.h"
 #include "EgammaAnalysisInterfaces/IAsgElectronIsEMSelector.h"
@@ -74,7 +75,7 @@ class AsgElectronRingerSelector : public asg::AsgMetadataTool,
     virtual ~AsgElectronRingerSelector();
 
     /** Gaudi Service Interface method implementations */
-    virtual StatusCode initialize();
+    virtual StatusCode initialize() override;
 
     /** External initialize method */
     StatusCode initialize( const char *metaName, unsigned int cutMask
@@ -82,34 +83,34 @@ class AsgElectronRingerSelector : public asg::AsgMetadataTool,
         , RingerConfStruct &confStruct);
 
     /** Gaudi Service Interface method implementations */
-    virtual StatusCode finalize();
+    virtual StatusCode finalize() override;
 
     /// Main methods for IAsgSelectionTool interface
     ///@{
     /**
      * @brief Set the discrimination configuration file
      **/
-    void setDiscrFile( const std::string path );
+    virtual void setDiscrFile( const std::string path ) override;
 
     /**
      * @brief Set the threshold configuration file
      **/
-    void setThresFile( const std::string path );
+    virtual void setThresFile( const std::string path ) override;
 
     /**
      * @brief Set the threshold configuration file
      **/
-    void setCutMask( const unsigned int cutMask );
+    virtual void setCutMask( const unsigned int cutMask ) override;
 
     /**
      * @brief Set the CutIDSelector to be used
      **/
-    void setCutIDSelector( IAsgElectronIsEMSelector *cutID );
+    virtual void setCutIDSelector( IAsgElectronIsEMSelector *cutID ) override;
 
     /**
      * @brief Set the RingSetConfContainer (MetaData) key
      **/
-    void setRSMetaName( const std::string name );
+    virtual void setRSMetaName( const std::string name ) override;
 
     /**
      * @brief Set whether to cache the meta data and assume it will be the same
@@ -120,78 +121,82 @@ class AsgElectronRingerSelector : public asg::AsgMetadataTool,
     /**
      * @brief This method will bypass accept to xAOD::Electron if it is possible.
      **/
-    const Root::TAccept& accept( const xAOD::IParticle* part ) const;
+    virtual asg::AcceptData accept( const xAOD::IParticle* part ) const override;
 
     /**
      * @brief Identification procedure is done in this method
      **/
-    const Root::TAccept& accept( const xAOD::Electron* part ) const;
+    virtual asg::AcceptData accept( const xAOD::Electron* part ) const override;
 
     /**
      * @brief Identification procedure is done in this method
      **/
-    const Root::TAccept& accept( const xAOD::Electron* part, const double mu ) const;
+    virtual asg::AcceptData accept( const xAOD::Electron* part, const double mu ) const;
 
     /**
      * @brief Identification procedure is done in this method
      **/
-    const Root::TAccept& accept( const xAOD::Egamma* eg ) const;
+    virtual asg::AcceptData accept( const xAOD::Egamma* eg ) const;
 
     /**
      * @brief Identification procedure is done in this method
      **/
-    const Root::TAccept& accept( const xAOD::Egamma* eg, const double mu ) const;
+    virtual asg::AcceptData  accept( const xAOD::Egamma* eg, const double mu ) const;
 
     /**
      * @brief Accept using Electron reference
      **/
-    const Root::TAccept& accept( const xAOD::Electron& part ) const;
+    virtual asg::AcceptData accept( const xAOD::Electron& part ) const override;
     /**
      * @brief Accept using Electron reference
      **/
-    const Root::TAccept& accept( const xAOD::Electron& part, const double mu ) const;
+    virtual asg::AcceptData  accept( const xAOD::Electron& part, const double mu ) const;
     /**
      * @brief Accept using IParticle reference
      **/
-    const Root::TAccept& accept( const xAOD::IParticle& part ) const;
+    virtual asg::AcceptData accept( const xAOD::IParticle& part ) const override;
 
     /**
      * @brief Identification procedure is done in this method
      **/
-    const Root::TAccept& accept( const xAOD::Egamma& eg ) const;
+    virtual asg::AcceptData accept( const xAOD::Egamma& eg ) const;
 
     /**
      * @brief Identification procedure is done in this method
      **/
-    const Root::TAccept& accept( const xAOD::Egamma& eg, const double mu ) const;
+    virtual asg::AcceptData accept( const xAOD::Egamma& eg, const double mu ) const;
 
     /**
      * @brief Method to get the plain TAccept for the last particle.
      **/
-    const Root::TAccept& getTAccept() const;
+    virtual const asg::AcceptInfo& getAcceptInfo() const override;
 
     /** Method to get output space representation */
-    const std::vector<float>& getOutputSpace() const;
+    virtual const std::vector<float>& getOutputSpace() const override;
 
     /**
      * @brief Execute without mu information
      **/
-    StatusCode execute(const xAOD::Electron* eg) const;
+    virtual StatusCode execute(const xAOD::Electron* eg,
+                               asg::AcceptData& acceptData) const override;
 
     /**
      * @brief Main execute method
      **/
-    StatusCode execute(const xAOD::Electron* eg, const double mu) const;
+    StatusCode execute(const xAOD::Electron* eg, const double mu,
+                       asg::AcceptData& acceptData) const;
 
     /**
      * @brief Execute without tracking information, potentially used by trigger.
      **/
-    StatusCode execute(const xAOD::Egamma* eg) const;
+    virtual StatusCode execute(const xAOD::Egamma* eg,
+                               asg::AcceptData& acceptData) const override;
 
     /**
      * @brief Execute without tracking information, potentially used by trigger.
      **/
-    StatusCode execute(const xAOD::Egamma* eg, const double mu) const;
+    StatusCode execute(const xAOD::Egamma* eg, const double mu,
+                       asg::AcceptData& acceptData) const;
     ///@}
 
     /**
@@ -204,12 +209,12 @@ class AsgElectronRingerSelector : public asg::AsgMetadataTool,
     /**
      * @brief Update metadata information held
      */
-    StatusCode beginInputFile();
+    virtual StatusCode beginInputFile() override;
 
     /**
      * @brief Called when entering a new event
      **/
-    StatusCode beginEvent();
+    virtual StatusCode beginEvent() override;
 
   private:
 
@@ -255,11 +260,8 @@ class AsgElectronRingerSelector : public asg::AsgMetadataTool,
     /// @brief The particles CaloRings decorations reader
     xAOD::caloRingsReader_t* m_ringsELReader;
 
-    /// @brief Last particle decision bitmask (the inverse of the IsEM)
-    ATH_RINGER_MUTABLE Root::TAccept m_partDecMsk;
-
     /// @brief Last particle accept bitmask (already applying the m_cutsToUse)
-    ATH_RINGER_MUTABLE Root::TAccept m_accept;
+    asg::AcceptInfo m_accept;
 
     /// @brief Which subset of decisions to use
     ElectronTAccept::bitMskWord m_cutsToUse;
@@ -306,11 +308,6 @@ class AsgElectronRingerSelector : public asg::AsgMetadataTool,
      * @brief Configure wrappers
      **/
     StatusCode configureFromStruct(RingerConfStruct &fileConf);
-
-    /**
-     * Set TAccept value
-     **/
-    void fillTAccept() const;
     /// @}
 };
 
@@ -407,7 +404,7 @@ void AsgElectronRingerSelector::setCacheMetaData( bool flag )
 
 //=============================================================================
 inline
-const Root::TAccept& AsgElectronRingerSelector::accept(
+asg::AcceptData AsgElectronRingerSelector::accept(
     const xAOD::Electron& part, double mu = -99. ) const
 {
   return accept (&part, mu);
@@ -415,7 +412,7 @@ const Root::TAccept& AsgElectronRingerSelector::accept(
 
 //=============================================================================
 inline
-const Root::TAccept& AsgElectronRingerSelector::accept(
+asg::AcceptData AsgElectronRingerSelector::accept(
     const xAOD::IParticle& part ) const
 {
   return accept(&part);
@@ -423,7 +420,7 @@ const Root::TAccept& AsgElectronRingerSelector::accept(
 
 //=============================================================================
 inline
-const Root::TAccept& AsgElectronRingerSelector::accept(
+asg::AcceptData AsgElectronRingerSelector::accept(
     const xAOD::Egamma& part ) const
 {
   return accept (&part, -99);
@@ -431,44 +428,46 @@ const Root::TAccept& AsgElectronRingerSelector::accept(
 
 //=============================================================================
 inline
-StatusCode AsgElectronRingerSelector::execute(const xAOD::Egamma* eg) const
+StatusCode AsgElectronRingerSelector::execute(const xAOD::Egamma* eg,
+                                              asg::AcceptData& acceptData) const
 {
-  return execute( eg, -99 );
+  return execute( eg, -99, acceptData);
 }
 //=============================================================================
 inline
-StatusCode AsgElectronRingerSelector::execute(const xAOD::Electron* eg) const
+StatusCode AsgElectronRingerSelector::execute(const xAOD::Electron* eg,
+                                              asg::AcceptData& acceptData) const
 {
-  return execute( eg, -99 );
+  return execute( eg, -99, acceptData );
 }
 //=============================================================================
 inline
-const Root::TAccept& AsgElectronRingerSelector::accept( const xAOD::Egamma& eg, const double mu ) const
+asg::AcceptData AsgElectronRingerSelector::accept( const xAOD::Egamma& eg, const double mu ) const
 {
   return accept( &eg, mu );
 }
 //=============================================================================
 inline
-const Root::TAccept& AsgElectronRingerSelector::accept( const xAOD::Egamma* eg ) const
+asg::AcceptData AsgElectronRingerSelector::accept( const xAOD::Egamma* eg ) const
 {
   return accept( eg, -99 );
 }
 //=============================================================================
 inline
-const Root::TAccept& AsgElectronRingerSelector::accept( const xAOD::Electron* part ) const
+asg::AcceptData AsgElectronRingerSelector::accept( const xAOD::Electron* part ) const
 {
   return accept( part, -99 );
 }
 //=============================================================================
 inline
-const Root::TAccept& AsgElectronRingerSelector::accept( const xAOD::Electron& part ) const
+asg::AcceptData AsgElectronRingerSelector::accept( const xAOD::Electron& part ) const
 {
   return accept( &part );
 }
 
 //=============================================================================
 inline
-const Root::TAccept& AsgElectronRingerSelector::getTAccept() const
+const asg::AcceptInfo& AsgElectronRingerSelector::getAcceptInfo() const
 {
   return m_accept;
 }
diff --git a/PhysicsAnalysis/RingerSelectorTools/RingerSelectorTools/ElectronTAccept.h b/PhysicsAnalysis/RingerSelectorTools/RingerSelectorTools/ElectronTAccept.h
index e6e3a659318a..6710bfa82cf1 100644
--- a/PhysicsAnalysis/RingerSelectorTools/RingerSelectorTools/ElectronTAccept.h
+++ b/PhysicsAnalysis/RingerSelectorTools/RingerSelectorTools/ElectronTAccept.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // $Id: ElectronTAccept.h 670599 2015-05-28 14:15:35Z wsfreund $
@@ -9,7 +9,7 @@
 #define RINGERSELECTORTOOLS_ELECTRONTACCEPT_H
 
 // Athena includes:
-#include "PATCore/TAccept.h"
+#include "PATCore/AcceptInfo.h"
 
 // Local includes:
 #include "RingerSelectorTools/RingerSelectorToolsDefs.h"
@@ -33,7 +33,7 @@ class ElectronTAccept_v1 {
 #ifdef XAOD_ANALYSIS
     typedef std::bitset<32> bitMskWord;
 #else
-    typedef std::bitset<Root::TAccept::NBITS> bitMskWord;
+    typedef std::bitset<asg::AcceptInfo::NBITS> bitMskWord;
 #endif
 
     // Grant access to m_accept for BitdefElectron_v1
@@ -49,7 +49,7 @@ class ElectronTAccept_v1 {
     /**
      * @brief Retrieve copy of the ElectronTAccept_v1 template
      **/
-    static Root::TAccept retrieveTAcceptTemplate(){ return m_accept;}
+    static const asg::AcceptInfo& retrieveTAcceptTemplate(){ return m_accept;}
     /// @}
 
 
@@ -84,7 +84,7 @@ class ElectronTAccept_v1 {
     ElectronTAccept_v1();
 
     /// The TAccept:
-    static Root::TAccept m_accept;
+    static asg::AcceptInfo m_accept;
 };
 
 /**
diff --git a/PhysicsAnalysis/RingerSelectorTools/RingerSelectorTools/IAsgElectronRingerSelector.h b/PhysicsAnalysis/RingerSelectorTools/RingerSelectorTools/IAsgElectronRingerSelector.h
index bc12474534fd..7551f768d1eb 100644
--- a/PhysicsAnalysis/RingerSelectorTools/RingerSelectorTools/IAsgElectronRingerSelector.h
+++ b/PhysicsAnalysis/RingerSelectorTools/RingerSelectorTools/IAsgElectronRingerSelector.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // $Id: IAsgElectronRingerSelector.h 704615 2015-10-29 18:50:12Z wsfreund $
@@ -22,7 +22,8 @@
 #include "PATCore/IAsgSelectionTool.h"
 
 // Include the return object and the underlying ROOT tool
-#include "PATCore/TAccept.h"
+#include "PATCore/AcceptData.h"
+#include "PATCore/AcceptInfo.h"
 
 // Forward declarations:
 #include "xAODEgamma/EgammaFwd.h"
@@ -41,25 +42,27 @@ class IAsgElectronRingerSelector : virtual public IAsgSelectionTool
   virtual ~IAsgElectronRingerSelector() {};
 
   /** The main accept method: using the generic interface */
-  virtual const Root::TAccept& accept( const xAOD::IParticle* part ) const = 0;
+  virtual asg::AcceptData accept( const xAOD::IParticle* part ) const = 0;
 
   /** The main accept method: the actual cuts are applied here */
-  virtual const Root::TAccept& accept( const xAOD::Electron* part ) const = 0;
+  virtual asg::AcceptData accept( const xAOD::Electron* part ) const = 0;
 
   /** The main accept method: using the generic interface */
-  virtual const Root::TAccept& accept( const xAOD::IParticle& part ) const = 0;
+  virtual asg::AcceptData accept( const xAOD::IParticle& part ) const = 0;
 
   /** The main accept method: the actual cuts are applied here */
-  virtual const Root::TAccept& accept( const xAOD::Electron& part ) const = 0;
+  virtual asg::AcceptData accept( const xAOD::Electron& part ) const = 0;
 
   /** The basic Ringer selector tool execution */
-  virtual StatusCode execute(const xAOD::Electron* eg) const = 0;
+  virtual StatusCode execute(const xAOD::Electron* eg,
+                             asg::AcceptData& acceptData) const = 0;
 
   /** The Ringer selector tool execution for HLT */
-  virtual StatusCode execute(const xAOD::Egamma* eg) const = 0;
+  virtual StatusCode execute(const xAOD::Egamma* eg,
+                             asg::AcceptData& acceptData) const = 0;
 
   /** Get last executed TAccept answer */
-  virtual const Root::TAccept& getTAccept() const = 0;
+  virtual const asg::AcceptInfo& getAcceptInfo() const = 0;
 
   /** Get last executed TResult value */
   virtual const std::vector<float>& getOutputSpace() const = 0;
diff --git a/PhysicsAnalysis/RingerSelectorTools/RingerSelectorTools/tools/RingerCommonSelector.h b/PhysicsAnalysis/RingerSelectorTools/RingerSelectorTools/tools/RingerCommonSelector.h
index 06b770794809..79c774c9252b 100644
--- a/PhysicsAnalysis/RingerSelectorTools/RingerSelectorTools/tools/RingerCommonSelector.h
+++ b/PhysicsAnalysis/RingerSelectorTools/RingerSelectorTools/tools/RingerCommonSelector.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // $Id: RingerCommonSelector.h 668868 2015-05-20 20:26:18Z wsfreund $
@@ -18,7 +18,7 @@
 #include "xAODTracking/TrackParticleFwd.h"
 
 // ROOT includes:
-#include "PATCore/TAccept.h"
+#include "PATCore/AcceptData.h"
 
 namespace Ringer {
 
@@ -39,7 +39,6 @@ class RingerCommonSelector : public RedirectMsgStream
     RingerCommonSelector(
       const Ringer::IDiscrWrapperCollection *discrWrapperCol,
       const Ringer::IThresWrapper *thresWrapper,
-      Root::TAccept *partDecMsk,
       const Ringer::RingerConfStruct& fileConf );
 
     /**
@@ -53,7 +52,8 @@ class RingerCommonSelector : public RedirectMsgStream
     StatusCode execute(
         const DepVarStruct &depVar,
         const xAOD::CaloRings* clRings,
-        const TrackPatternsHolder *trackPat);
+        const TrackPatternsHolder *trackPat,
+        asg::AcceptData& acceptData);
 
     /**
      * @brief Get output space
@@ -66,7 +66,6 @@ class RingerCommonSelector : public RedirectMsgStream
     /// @{
     const Ringer::IDiscrWrapperCollection *m_discrWrapperCol;
     const Ringer::IThresWrapper *m_thresWrapper;
-    Root::TAccept *m_partDecMsk;
     const bool m_useTrackPat;
     const bool m_useRawTrackPat;
     const bool m_useCaloCommittee;
diff --git a/PhysicsAnalysis/RingerSelectorTools/Root/AsgElectronRingerSelector.cxx b/PhysicsAnalysis/RingerSelectorTools/Root/AsgElectronRingerSelector.cxx
index fc4704fd1773..5b60dc74c0c4 100644
--- a/PhysicsAnalysis/RingerSelectorTools/Root/AsgElectronRingerSelector.cxx
+++ b/PhysicsAnalysis/RingerSelectorTools/Root/AsgElectronRingerSelector.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // $Id: AsgElectronRingerSelector.cxx 791627 2017-01-10 04:45:53Z wsfreund $
@@ -13,7 +13,8 @@
 #ifndef RINGER_STANDALONE
 // Athena framework includes:
 # include "AsgTools/AsgTool.h"
-# include "PATCore/TAccept.h"
+# include "PATCore/AcceptInfo.h"
+# include "PATCore/AcceptData.h"
 # include "PathResolver/PathResolver.h"
 # include "AthContainers/exceptions.h"
 
@@ -107,7 +108,6 @@ AsgElectronRingerSelector::AsgElectronRingerSelector(std::string asgToolName) :
   m_thresWrapper(nullptr),
   m_ringSelCommon(nullptr),
   m_trackPat(nullptr),
-  m_partDecMsk(Ringer::ElectronTAccept::retrieveTAcceptTemplate()),
   m_accept(Ringer::ElectronTAccept::retrieveTAcceptTemplate()),
   m_useCutIDDecision(false),
   m_metaDataCached(false),
@@ -289,7 +289,6 @@ StatusCode AsgElectronRingerSelector::configureFromStruct(RingerConfStruct &file
   m_ringSelCommon = new Ringer::RingerCommonSelector(
       &m_discrWrapperCol,
       m_thresWrapper,
-      &m_partDecMsk,
       fileConf);
 
   // Set RingerCommonSelector message stream:
@@ -327,7 +326,7 @@ StatusCode AsgElectronRingerSelector::configureFromStruct(RingerConfStruct &file
 
 
 //=============================================================================
-const Root::TAccept& AsgElectronRingerSelector::accept(
+asg::AcceptData AsgElectronRingerSelector::accept(
     const xAOD::IParticle* part ) const
 {
   ATH_MSG_DEBUG("Entering accept( const IParticle* part )");
@@ -344,74 +343,63 @@ const Root::TAccept& AsgElectronRingerSelector::accept(
 
 
 // =============================================================================
-const Root::TAccept& AsgElectronRingerSelector::accept(
+asg::AcceptData AsgElectronRingerSelector::accept(
     const xAOD::Electron* el, const double mu) const
 {
   ATH_MSG_DEBUG("Entering accept( const xAOD::Electron* el)");
 
-  StatusCode sc = execute(el, mu);
+  asg::AcceptData acceptData (&m_accept);
+  StatusCode sc = execute(el, mu, acceptData);
 
   if (sc.isFailure()) {
     ATH_MSG_ERROR("Error while on particle AsgSelector execution.");
   }
 
-  return m_accept;
+  return acceptData;
 }
 
 
 // =============================================================================
-const Root::TAccept& AsgElectronRingerSelector::accept(
+asg::AcceptData AsgElectronRingerSelector::accept(
     const xAOD::Egamma* eg, const double mu ) const
 {
   ATH_MSG_DEBUG("Entering accept( const xAOD::Egamma* part )");
 
-  StatusCode sc = execute(eg, mu);
+  asg::AcceptData acceptData (&m_accept);
+  StatusCode sc = execute(eg, mu, acceptData);
 
   if (sc.isFailure()) {
     ATH_MSG_ERROR("Error while on particle AsgSelector execution.");
   }
 
-  return m_accept;
+  return acceptData;
 }
 
 
 // =============================================================================
 StatusCode AsgElectronRingerSelector::execute(
-    const xAOD::Electron* el, const double mu) const
+    const xAOD::Electron* el, const double mu,
+    asg::AcceptData& acceptData) const
 {
 
   ATH_MSG_DEBUG("Entering execute(const xAOD::Electron* el...)");
 
-#if RINGER_USE_NEW_CPP_FEATURES
-  // In this case, we only do this to have a more harmonic code:
-  Root::TAccept &partDecMsk_ref = m_partDecMsk;
-#else
-  // Well, since we do not have mutable properties, we need to do this ugly
-  // things...
-  Root::TAccept &partDecMsk_ref =
-    const_cast<Root::TAccept&>(m_partDecMsk);
-#endif
-
-  // Clear particle decision mask and previous result (set everything as if it
-  // was passed), prepare to refill it:
-  partDecMsk_ref.clear();
-
   m_ringSelCommon->clear();
 
   // No error occurred so far, flag it:
-  partDecMsk_ref.setCutResult(
+  acceptData.setCutResult(
       BitdefElectron::NoErrorBit,
       true);
 
   // Set if it was requested to execute CutID:
-  partDecMsk_ref.setCutResult(
+  acceptData.setCutResult(
       BitdefElectron::ExecCutID,
       m_useCutIDDecision );
 
   if (!el){
     ATH_MSG_ERROR("Invalid electron pointer.");
 
-    partDecMsk_ref.setCutResult(
+    acceptData.setCutResult(
         BitdefElectron::NoErrorBit,
         false);
 
@@ -431,7 +419,7 @@ StatusCode AsgElectronRingerSelector::execute(
 
     ATH_MSG_ERROR("Particle does not have CaloRings decoratorion.");
 
-    partDecMsk_ref.setCutResult(
+    acceptData.setCutResult(
         BitdefElectron::NoErrorBit,
         false);
 
@@ -443,7 +431,7 @@ StatusCode AsgElectronRingerSelector::execute(
   if ( !caloRingsLinks->at(0).isValid() ){
     ATH_MSG_DEBUG("Ignoring candidate with invalid ElementLink.");
 
-    partDecMsk_ref.setCutResult(
+    acceptData.setCutResult(
         BitdefElectron::NoErrorBit,
         false);
 
@@ -459,7 +447,7 @@ StatusCode AsgElectronRingerSelector::execute(
     ATH_MSG_ERROR("There isn't CaloRings Decoration available"
         " for input particle." );
 
-    partDecMsk_ref.setCutResult(
+    acceptData.setCutResult(
         BitdefElectron::NoErrorBit,
         false );
 
@@ -496,13 +484,14 @@ StatusCode AsgElectronRingerSelector::execute(
     if ( m_ringSelCommon->execute(
           depVar,
           clrings,
-          trackPat_ref).isFailure() )
+          trackPat_ref,
+          acceptData).isFailure() )
     {
 
       ATH_MSG_ERROR("Error while executing "
           "RingerCommonSelector.");
 
-      partDecMsk_ref.setCutResult(
+      acceptData.setCutResult(
           BitdefElectron::NoErrorBit,
           false);
 
@@ -512,7 +501,7 @@ StatusCode AsgElectronRingerSelector::execute(
     ATH_MSG_ERROR("Error while executing "
         "RingerCommonSelector. Reason: " << e.what() );
 
-    partDecMsk_ref.setCutResult(
+    acceptData.setCutResult(
         BitdefElectron::NoErrorBit,
         false);
 
@@ -521,7 +510,7 @@ StatusCode AsgElectronRingerSelector::execute(
   // Add the CutID track decision bit (if requested):
   if ( m_useCutIDDecision ) {
     try {
-      partDecMsk_ref.setCutResult(
+      acceptData.setCutResult(
           BitdefElectron::CutIDDec,
           static_cast<bool>(m_cutIDSelector->accept(el)) );
 
@@ -530,11 +519,11 @@ StatusCode AsgElectronRingerSelector::execute(
       ATH_MSG_ERROR("Error while executing "
           "AsgElectronRingerSelector. Reason:" << e.what() );
 
-      partDecMsk_ref.setCutResult(
+      acceptData.setCutResult(
           BitdefElectron::NoErrorBit,
           false );
 
-      partDecMsk_ref.setCutResult(
+      acceptData.setCutResult(
           BitdefElectron::CutIDDec ,
           false );
 
@@ -542,17 +531,23 @@ StatusCode AsgElectronRingerSelector::execute(
   } else {
 
     // If we do not run it, set track decision to true:
-    partDecMsk_ref.setCutResult(
+    acceptData.setCutResult(
         BitdefElectron::CutIDDec ,
         true );
 
   }
 
-  // We have finished, then fill decision mask:
-  fillTAccept();
+  // Clear unused bits.
+  for (unsigned bit = 0; bit < BitdefElectron::NUsedBits(); ++bit ){
+    // m_partDec mask is set to true if passed cut.
+    // m_cutsToUse is set to true if cut is to be used.
+    if (!m_cutsToUse[bit]) {
+      acceptData.setCutResult (bit, false);
+    }
+  }
 
   // Check if an error occurred, and flag it:
-  if ( partDecMsk_ref.getCutResult(
+  if ( acceptData.getCutResult(
         BitdefElectron::NoErrorBit ) )
   {
     return StatusCode::SUCCESS;
@@ -562,13 +557,14 @@ StatusCode AsgElectronRingerSelector::execute(
 }
 
 //==============================================================================
-StatusCode AsgElectronRingerSelector::execute(const xAOD::Egamma* eg, const double mu) const
+StatusCode AsgElectronRingerSelector::execute(const xAOD::Egamma* eg, const double mu,
+                                              asg::AcceptData& acceptData) const
 {
   ATH_MSG_DEBUG("entering execute(const xAOD::Egamma* eg...)");
 
   if (eg){
     // We cast it to electron and use xAOD::type to determine whether it is an electron or not
-    this->execute( static_cast<const xAOD::Electron*>(eg), mu );
+    this->execute( static_cast<const xAOD::Electron*>(eg), mu, acceptData );
   } else {
     ATH_MSG_ERROR("Egamma pointer is null.");
     return StatusCode::FAILURE;
@@ -577,27 +573,6 @@ StatusCode AsgElectronRingerSelector::execute(const xAOD::Egamma* eg, const doub
   return StatusCode::SUCCESS;
 }
 
-//=============================================================================
-// Fill the m_accept from the m_partDecMsk mask using the m_cutsToUse
-//=============================================================================
-void AsgElectronRingerSelector::fillTAccept() const
-{
-#if RINGER_USE_NEW_CPP_FEATURES
-  // In this case, we only do this to have a more harmonic code:
-  Root::TAccept &accept_ref = m_accept;
-#else
-  // Well, since we do not have mutable properties, we need to do this ugly
-  // things...
-  Root::TAccept &accept_ref = const_cast<Root::TAccept&>(m_accept);
-#endif
-  for (unsigned bit = 0; bit < BitdefElectron::NUsedBits(); ++bit ){
-    // m_partDec mask is set to true if passed cut.
-    // m_cutsToUse is set to true if cut is to be used.
-    accept_ref.setCutResult( bit,
-        (m_partDecMsk.getCutResult(bit)) || !m_cutsToUse[bit] );
-  }
-}
-
 //==============================================================================
 StatusCode AsgElectronRingerSelector::beginInputFile()
 {
diff --git a/PhysicsAnalysis/RingerSelectorTools/Root/ElectronTAccept.cxx b/PhysicsAnalysis/RingerSelectorTools/Root/ElectronTAccept.cxx
index 12e1828abe01..62dc1d7e67b3 100644
--- a/PhysicsAnalysis/RingerSelectorTools/Root/ElectronTAccept.cxx
+++ b/PhysicsAnalysis/RingerSelectorTools/Root/ElectronTAccept.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // $Id: ElectronTAccept.cxx 704615 2015-10-29 18:50:12Z wsfreund $
@@ -19,7 +19,7 @@ DEFINE_COUNTER( ElectronNBits )
 
 // =============================================================================
 /// Define the ElectronTAcceptHolder_v1 holden TAccept:
-Root::TAccept ElectronTAccept_v1::m_accept("ElectronDecisionMask");
+asg::AcceptInfo ElectronTAccept_v1::m_accept("ElectronDecisionMask");
 
 // =============================================================================
 // Define the bit counter:
diff --git a/PhysicsAnalysis/RingerSelectorTools/Root/tools/RingerCommonSelector.cxx b/PhysicsAnalysis/RingerSelectorTools/Root/tools/RingerCommonSelector.cxx
index d19e91fede3c..d0ba8fbcea74 100644
--- a/PhysicsAnalysis/RingerSelectorTools/Root/tools/RingerCommonSelector.cxx
+++ b/PhysicsAnalysis/RingerSelectorTools/Root/tools/RingerCommonSelector.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // $Id: RingerCommonSelector.cxx 668868 2015-05-20 20:26:18Z wsfreund $
@@ -27,11 +27,9 @@ namespace Ringer {
 RingerCommonSelector::RingerCommonSelector(
     const Ringer::IDiscrWrapperCollection *discrWrapperCol,
     const Ringer::IThresWrapper *thresWrapper,
-    Root::TAccept *partDecMsk,
     const RingerConfStruct &fileConf)
   : m_discrWrapperCol(discrWrapperCol),
     m_thresWrapper(thresWrapper),
-    m_partDecMsk(partDecMsk),
     m_useTrackPat(fileConf.useTrackPat),
     m_useRawTrackPat(fileConf.useRawTrackPat),
     m_useCaloCommittee(fileConf.useCaloCommittee),
@@ -48,11 +46,6 @@ RingerCommonSelector::RingerCommonSelector(
         "without threshold wrapper.");
   }
 
-  if ( !m_partDecMsk ) {
-    throw std::runtime_error("Cannot create RingerCommonSelector"
-        "without a decision mask.");
-  }
-
   m_discrWrapperColSize = discrWrapperCol->size();
 
   m_fstDiscrLayer  = (*m_discrWrapperCol)[0];
@@ -66,7 +59,8 @@ RingerCommonSelector::RingerCommonSelector(
 StatusCode RingerCommonSelector::execute(
     const DepVarStruct &depVar,
     const xAOD::CaloRings* clRings,
-    const TrackPatternsHolder* trackPat)
+    const TrackPatternsHolder* trackPat,
+    asg::AcceptData& acceptData)
 {
   ATH_MSG_DEBUG( "Starting executing RingerCommonSelector.");
 
@@ -197,7 +191,7 @@ StatusCode RingerCommonSelector::execute(
 
   // Save discrimination into particle decision mask. We only use the first
   // decision vector output:
-  m_partDecMsk->setCutResult( BitdefElectron_v1::RingerChainDec, m_decVec[0] );
+  acceptData.setCutResult( BitdefElectron_v1::RingerChainDec, m_decVec[0] );
 
   return StatusCode::SUCCESS;
 
diff --git a/PhysicsAnalysis/TauID/TauAnalysisTools/Root/SelectionCuts.cxx b/PhysicsAnalysis/TauID/TauAnalysisTools/Root/SelectionCuts.cxx
index 56f1c3e55a22..4912cc150355 100644
--- a/PhysicsAnalysis/TauID/TauAnalysisTools/Root/SelectionCuts.cxx
+++ b/PhysicsAnalysis/TauID/TauAnalysisTools/Root/SelectionCuts.cxx
@@ -1,7 +1,7 @@
 // Dear emacs, this is -*- c++ -*-
 
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 
@@ -107,10 +107,15 @@ void SelectionCutPt::fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist)
 }
 
 //______________________________________________________________________________
-bool SelectionCutPt::accept(const xAOD::TauJet& xTau)
+void SelectionCutPt::setAcceptInfo(asg::AcceptInfo& info) const
+{
+  info.addCut( "Pt",
+               "Selection of taus according to their transverse momentum" );
+}
+//______________________________________________________________________________
+bool SelectionCutPt::accept(const xAOD::TauJet& xTau,
+                            asg::AcceptData& acceptData)
 {
-  m_tTST->m_aAccept.addCut( "Pt",
-                            "Selection of taus according to their transverse momentum" );
   // save tau pt in GeV
   double pt = xTau.pt() / 1000.;
   // in case of only one entry in vector, run for lower limits
@@ -118,7 +123,7 @@ bool SelectionCutPt::accept(const xAOD::TauJet& xTau)
   {
     if ( pt >= m_tTST->m_vPtRegion.at(0) )
     {
-      m_tTST->m_aAccept.setCutResult( "Pt", true );
+      acceptData.setCutResult( "Pt", true );
       return true;
     }
   }
@@ -127,7 +132,7 @@ bool SelectionCutPt::accept(const xAOD::TauJet& xTau)
   {
     if ( pt >= m_tTST->m_vPtRegion.at(iPtRegion*2) and pt <= m_tTST->m_vPtRegion.at(iPtRegion*2+1))
     {
-      m_tTST->m_aAccept.setCutResult( "Pt", true );
+      acceptData.setCutResult( "Pt", true );
       return true;
     }
   }
@@ -151,17 +156,22 @@ void SelectionCutAbsEta::fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist)
 }
 
 //______________________________________________________________________________
-bool SelectionCutAbsEta::accept(const xAOD::TauJet& xTau)
+void SelectionCutAbsEta::setAcceptInfo(asg::AcceptInfo& info) const
+{
+  info.addCut( "AbsEta",
+               "Selection of taus according to their absolute pseudorapidity" );
+}
+//______________________________________________________________________________
+bool SelectionCutAbsEta::accept(const xAOD::TauJet& xTau,
+                                asg::AcceptData& acceptData)
 {
   // check regions of eta, if tau is in one region then return true; false otherwise
-  m_tTST->m_aAccept.addCut( "AbsEta",
-                            "Selection of taus according to their absolute pseudorapidity" );
   unsigned int iNumEtaRegion = m_tTST->m_vAbsEtaRegion.size()/2;
   for( unsigned int iEtaRegion = 0; iEtaRegion < iNumEtaRegion; iEtaRegion++ )
   {
     if ( std::abs( xTau.eta() ) >= m_tTST->m_vAbsEtaRegion.at(iEtaRegion*2) and std::abs( xTau.eta() ) <= m_tTST->m_vAbsEtaRegion.at(iEtaRegion*2+1))
     {
-      m_tTST->m_aAccept.setCutResult( "AbsEta", true );
+      acceptData.setCutResult( "AbsEta", true );
       return true;
     }
   }
@@ -185,16 +195,21 @@ void SelectionCutAbsCharge::fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist)
 }
 
 //______________________________________________________________________________
-bool SelectionCutAbsCharge::accept(const xAOD::TauJet& xTau)
+void SelectionCutAbsCharge::setAcceptInfo(asg::AcceptInfo& info) const
+{
+  info.addCut( "AbsCharge",
+               "Selection of taus according to their absolute charge" );
+}
+//______________________________________________________________________________
+bool SelectionCutAbsCharge::accept(const xAOD::TauJet& xTau,
+                            asg::AcceptData& acceptData)
 {
   // check charge, if tau has one of the charges requiered then return true; false otherwise
-  m_tTST->m_aAccept.addCut( "AbsCharge",
-                            "Selection of taus according to their absolute charge" );
   for( unsigned int iCharge = 0; iCharge < m_tTST->m_vAbsCharges.size(); iCharge++ )
   {
     if ( std::abs( xTau.charge() ) == m_tTST->m_vAbsCharges.at(iCharge) )
     {
-      m_tTST->m_aAccept.setCutResult( "AbsCharge", true );
+      acceptData.setCutResult( "AbsCharge", true );
       return true;
     }
   }
@@ -218,16 +233,21 @@ void SelectionCutNTracks::fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist)
 }
 
 //______________________________________________________________________________
-bool SelectionCutNTracks::accept(const xAOD::TauJet& xTau)
+void SelectionCutNTracks::setAcceptInfo(asg::AcceptInfo& info) const
+{
+  info.addCut( "NTrack",
+               "Selection of taus according to their number of associated tracks" );
+}
+//______________________________________________________________________________
+bool SelectionCutNTracks::accept(const xAOD::TauJet& xTau,
+                                 asg::AcceptData& acceptData)
 {
   // check track multiplicity, if tau has one of the number of tracks requiered then return true; false otherwise
-  m_tTST->m_aAccept.addCut( "NTrack",
-                            "Selection of taus according to their number of associated tracks" );
   for( size_t iNumTrack = 0; iNumTrack < m_tTST->m_vNTracks.size(); iNumTrack++ )
   {
     if ( xTau.nTracks() == m_tTST->m_vNTracks.at(iNumTrack) )
     {
-      m_tTST->m_aAccept.setCutResult( "NTrack", true );
+      acceptData.setCutResult( "NTrack", true );
       return true;
     }
   }
@@ -251,18 +271,23 @@ void SelectionCutBDTJetScore::fillHistogram(const xAOD::TauJet& xTau, TH1F& hHis
 }
 
 //______________________________________________________________________________
-bool SelectionCutBDTJetScore::accept(const xAOD::TauJet& xTau)
+void SelectionCutBDTJetScore::setAcceptInfo(asg::AcceptInfo& info) const
+{
+  info.addCut( "JetBDTScore",
+               "Selection of taus according to their JetBDTScore" );
+}
+//______________________________________________________________________________
+bool SelectionCutBDTJetScore::accept(const xAOD::TauJet& xTau,
+                                     asg::AcceptData& acceptData)
 {
   // check JetBDTscore, if tau has a JetBDT score in one of the regions requiered then return true; false otherwise
-  m_tTST->m_aAccept.addCut( "JetBDTScore",
-                            "Selection of taus according to their JetBDTScore" );
   double dJetBDTScore = xTau.discriminant(xAOD::TauJetParameters::BDTJetScore);
   unsigned int iNumJetBDTRegion = m_tTST->m_vJetBDTRegion.size()/2;
   for( unsigned int iJetBDTRegion = 0; iJetBDTRegion < iNumJetBDTRegion; iJetBDTRegion++ )
   {
     if ( dJetBDTScore >= m_tTST->m_vJetBDTRegion.at(iJetBDTRegion*2) and dJetBDTScore <= m_tTST->m_vJetBDTRegion.at(iJetBDTRegion*2+1))
     {
-      m_tTST->m_aAccept.setCutResult( "JetBDTScore", true );
+      acceptData.setCutResult( "JetBDTScore", true );
       return true;
     }
   }
@@ -303,11 +328,16 @@ void SelectionCutJetIDWP::fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist)
 }
 
 //______________________________________________________________________________
-bool SelectionCutJetIDWP::accept(const xAOD::TauJet& xTau)
+void SelectionCutJetIDWP::setAcceptInfo(asg::AcceptInfo& info) const
+{
+  info.addCut( "JetIDWP",
+               "Selection of taus according to their JetIDScore" );
+}
+//______________________________________________________________________________
+bool SelectionCutJetIDWP::accept(const xAOD::TauJet& xTau,
+                                 asg::AcceptData& acceptData)
 {
   // check Jet ID working point, if tau passes JetID working point then return true; false otherwise
-  m_tTST->m_aAccept.addCut( "JetIDWP",
-                            "Selection of taus according to their JetIDScore" );
   bool bPass = false;
   switch (m_tTST->m_iJetIDWP)
   {
@@ -358,7 +388,7 @@ bool SelectionCutJetIDWP::accept(const xAOD::TauJet& xTau)
   }
   if (bPass)
   {
-    m_tTST->m_aAccept.setCutResult( "JetIDWP", true );
+    acceptData.setCutResult( "JetIDWP", true );
     return true;
   }
   m_tTST->msg() << MSG::VERBOSE << "Tau failed JetBDTWP requirement, tau JetBDTScore: " << xTau.discriminant(xAOD::TauJetParameters::BDTJetScore) << endmsg;
@@ -388,11 +418,16 @@ void SelectionCutBDTEleScore::fillHistogram(const xAOD::TauJet& xTau, TH1F& hHis
 }
 
 //______________________________________________________________________________
-bool SelectionCutBDTEleScore::accept(const xAOD::TauJet& xTau)
+void SelectionCutBDTEleScore::setAcceptInfo(asg::AcceptInfo& info) const
+{
+  info.addCut( "EleBDTScore",
+               "Selection of taus according to their EleBDTScore" );
+}
+//______________________________________________________________________________
+bool SelectionCutBDTEleScore::accept(const xAOD::TauJet& xTau,
+                                     asg::AcceptData& acceptData)
 {
   // check EleBDTscore, if tau has a EleBDT score in one of the regions requiered then return true; false otherwise
-  m_tTST->m_aAccept.addCut( "EleBDTScore",
-                            "Selection of taus according to their EleBDTScore" );
   SG::AuxElement::ConstAccessor<float> accEleBDT(m_sEleBDTDecorationName);
   float fEleBDTScore = accEleBDT(xTau);
   unsigned int iNumEleBDTRegion = m_tTST->m_vEleBDTRegion.size()/2;
@@ -400,7 +435,7 @@ bool SelectionCutBDTEleScore::accept(const xAOD::TauJet& xTau)
   {
     if ( fEleBDTScore >= m_tTST->m_vEleBDTRegion.at(iEleBDTRegion*2) and fEleBDTScore <= m_tTST->m_vEleBDTRegion.at(iEleBDTRegion*2+1))
     {
-      m_tTST->m_aAccept.setCutResult("EleBDTScore", true );
+      acceptData.setCutResult("EleBDTScore", true );
       return true;
     }
   }
@@ -448,11 +483,16 @@ void SelectionCutEleBDTWP::fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist)
 }
 
 //______________________________________________________________________________
-bool SelectionCutEleBDTWP::accept(const xAOD::TauJet& xTau)
+void SelectionCutEleBDTWP::setAcceptInfo(asg::AcceptInfo& info) const
+{
+  info.addCut( "EleBDTWP",
+               "Selection of taus according to their EleBDTScore" );
+}
+//______________________________________________________________________________
+bool SelectionCutEleBDTWP::accept(const xAOD::TauJet& xTau,
+                                  asg::AcceptData& acceptData)
 {
   // check EleBDTscore, if tau passes EleBDT working point then return true; false otherwise
-  m_tTST->m_aAccept.addCut( "EleBDTWP",
-                            "Selection of taus according to their EleBDTScore" );
 
   SG::AuxElement::ConstAccessor<float> accEleBDT(m_sEleBDTDecorationName);
   float fEleBDTScore = accEleBDT(xTau);
@@ -478,7 +518,7 @@ bool SelectionCutEleBDTWP::accept(const xAOD::TauJet& xTau)
   }
   if (bPass)
   {
-    m_tTST->m_aAccept.setCutResult( "EleBDTWP", true );
+    acceptData.setCutResult( "EleBDTWP", true );
     return true;
   }
   m_tTST->msg() << MSG::VERBOSE << "Tau failed EleBDT requirement, tau EleBDTScore: " << fEleBDTScore << endmsg;
@@ -515,20 +555,25 @@ void SelectionCutEleOLR::fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist)
 }
 
 //______________________________________________________________________________
-bool SelectionCutEleOLR::accept(const xAOD::TauJet& xTau)
+void SelectionCutEleOLR::setAcceptInfo(asg::AcceptInfo& info) const
+{
+  info.addCut( "EleOLR",
+               "Selection of taus according to the LH score of a matched electron" );
+}
+//______________________________________________________________________________
+bool SelectionCutEleOLR::accept(const xAOD::TauJet& xTau,
+                                asg::AcceptData& acceptData)
 {
-  m_tTST->m_aAccept.addCut( "EleOLR",
-                            "Selection of taus according to the LH score of a matched electron" );
 
   if (!m_tTST->m_bEleOLR)
   {
-    m_tTST->m_aAccept.setCutResult( "EleOLR", true );
+    acceptData.setCutResult( "EleOLR", true );
     return true;
   }
 
   if (getEvetoPass(xTau))
   {
-    m_tTST->m_aAccept.setCutResult( "EleOLR", true );
+    acceptData.setCutResult( "EleOLR", true );
     return true;
   }
 
@@ -584,20 +629,25 @@ void SelectionCutMuonVeto::fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist)
 }
 
 //______________________________________________________________________________
-bool SelectionCutMuonVeto::accept(const xAOD::TauJet& xTau)
+void SelectionCutMuonVeto::setAcceptInfo(asg::AcceptInfo& info) const
+{
+  info.addCut( "MuonVeto",
+               "Selection of taus according to their MuonVeto" );
+}
+//______________________________________________________________________________
+bool SelectionCutMuonVeto::accept(const xAOD::TauJet& xTau,
+                                  asg::AcceptData& acceptData)
 {
   // check EleBDTscore, if tau passes EleBDT working point then return true; false otherwise
-  m_tTST->m_aAccept.addCut( "MuonVeto",
-                            "Selection of taus according to their MuonVeto" );
   if (!m_tTST->m_bMuonVeto)
   {
-    m_tTST->m_aAccept.setCutResult( "MuonVeto", true );
+    acceptData.setCutResult( "MuonVeto", true );
     return true;
   }
 
   if (!xTau.isTau(xAOD::TauJetParameters::MuonVeto ))
   {
-    m_tTST->m_aAccept.setCutResult( "MuonVeto", true );
+    acceptData.setCutResult( "MuonVeto", true );
     return true;
   }
   m_tTST->msg() << MSG::VERBOSE << "Tau failed MuonVeto requirement" << endmsg;
@@ -632,13 +682,18 @@ void SelectionCutMuonOLR::fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist)
 }
 
 //______________________________________________________________________________
-bool SelectionCutMuonOLR::accept(const xAOD::TauJet& xTau)
+void SelectionCutMuonOLR::setAcceptInfo(asg::AcceptInfo& info) const
+{
+  info.addCut( "MuonOLR",
+               "Selection of taus according to their MuonOLR" );
+}
+//______________________________________________________________________________
+bool SelectionCutMuonOLR::accept(const xAOD::TauJet& xTau,
+                                 asg::AcceptData& acceptData)
 {
-  m_tTST->m_aAccept.addCut( "MuonOLR",
-                            "Selection of taus according to their MuonOLR" );
   if (!m_tTST->m_bMuonOLR)
   {
-    m_tTST->m_aAccept.setCutResult( "MuonOLR", true );
+    acceptData.setCutResult( "MuonOLR", true );
     return true;
   }
   // MuonOLR : removing tau overlapped with muon satisfying pt>2GeV and not calo-tagged
@@ -660,7 +715,7 @@ bool SelectionCutMuonOLR::accept(const xAOD::TauJet& xTau)
   }
   if(m_bTauMuonOLR == true)
   {
-    m_tTST->m_aAccept.setCutResult( "MuonOLR", true );
+    acceptData.setCutResult( "MuonOLR", true );
     return true;
   }
 
diff --git a/PhysicsAnalysis/TauID/TauAnalysisTools/Root/TauSelectionTool.cxx b/PhysicsAnalysis/TauID/TauAnalysisTools/Root/TauSelectionTool.cxx
index bbd90d111c1d..da163955ce50 100644
--- a/PhysicsAnalysis/TauID/TauAnalysisTools/Root/TauSelectionTool.cxx
+++ b/PhysicsAnalysis/TauID/TauAnalysisTools/Root/TauSelectionTool.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // Local include(s):
@@ -351,6 +351,9 @@ StatusCode TauSelectionTool::initialize()
     ATH_CHECK(m_tTOELLHDecorator.initialize());
   }
 
+  for (auto entry : m_cMap)
+    entry.second->setAcceptInfo (m_aAccept);
+
   return StatusCode::SUCCESS;
 }
 
@@ -458,23 +461,20 @@ StatusCode TauSelectionTool::beginEvent()
 }
 
 //______________________________________________________________________________
-const Root::TAccept& TauSelectionTool::getTAccept() const
+const asg::AcceptInfo& TauSelectionTool::getAcceptInfo() const
 {
   return m_aAccept;
 }
 
 //______________________________________________________________________________
-const Root::TAccept&
+asg::AcceptData
 TauSelectionTool::accept( const xAOD::IParticle* xP ) const
 {
-  // Reset the result:
-  m_aAccept.clear();
-
   // Check if this is a tau:
   if( xP->type() != xAOD::Type::Tau )
   {
     ATH_MSG_ERROR( "accept(...) Function received a non-tau" );
-    return m_aAccept;
+    return asg::AcceptData (&m_aAccept);
   }
 
   // Cast it to a tau:
@@ -482,7 +482,7 @@ TauSelectionTool::accept( const xAOD::IParticle* xP ) const
   if( ! xTau )
   {
     ATH_MSG_FATAL( "accept(...) Failed to cast particle to tau" );
-    return m_aAccept;
+    return asg::AcceptData (&m_aAccept);
   }
 
   // Let the specific function do the work:
@@ -490,17 +490,18 @@ TauSelectionTool::accept( const xAOD::IParticle* xP ) const
 }
 
 //______________________________________________________________________________
-const Root::TAccept& TauSelectionTool::accept( const xAOD::TauJet& xTau ) const
+asg::AcceptData
+TauSelectionTool::accept( const xAOD::TauJet& xTau ) const
 {
-  // Reset the result:
-  m_aAccept.clear();
+  asg::AcceptData acceptData (&m_aAccept);
+
   int iNBin = 0;
   if (m_iSelectionCuts & CutEleOLR or m_bCreateControlPlots)
   {
     if (m_tTOELLHDecorator->decorate(xTau).isFailure())
     {
       ATH_MSG_ERROR("Failed decorating information for CutEleOLR");
-      return m_aAccept;
+      return acceptData;
     }
   }
 
@@ -518,8 +519,8 @@ const Root::TAccept& TauSelectionTool::accept( const xAOD::TauJet& xTau ) const
     {
       if (m_iSelectionCuts & entry.first)
       {
-        if (!entry.second->accept(xTau))
-          return m_aAccept;
+        if (!entry.second->accept(xTau, acceptData))
+          return acceptData;
         else
         {
           if (m_bCreateControlPlots)
@@ -545,7 +546,7 @@ const Root::TAccept& TauSelectionTool::accept( const xAOD::TauJet& xTau ) const
   }
 
   // // Return the result:
-  return m_aAccept;
+  return acceptData;
 }
 
 //______________________________________________________________________________
diff --git a/PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/ITauSelectionTool.h b/PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/ITauSelectionTool.h
index 6ad6093cca27..c8fdfa0980cf 100644
--- a/PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/ITauSelectionTool.h
+++ b/PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/ITauSelectionTool.h
@@ -1,7 +1,7 @@
 // Dear emacs, this is -*- c++ -*-
 
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef TAUANALYSISTOOLS_ITAUONSELECTIONTOOL_H
@@ -19,7 +19,8 @@
 
 // Framework include(s):
 #include "AsgTools/IAsgTool.h"
-#include "PATCore/TAccept.h"
+#include "PATCore/AcceptInfo.h"
+#include "PATCore/AcceptData.h"
 
 // EDM include(s):
 #include "xAODTau/TauJet.h"
@@ -46,13 +47,13 @@ public:
   virtual StatusCode initializeEvent() __attribute__ ((deprecated("This function is deprecated. Please remove it from your code.\nFor further information please refer to the README:\nhttps://svnweb.cern.ch/trac/atlasoff/browser/PhysicsAnalysis/TauID/TauAnalysisTools/trunk/doc/README-TauSelectionTool.rst"))) = 0;
 
   /// Get an object describing the "selection steps" of the tool
-  virtual const Root::TAccept& getTAccept() const = 0;
+  virtual const asg::AcceptInfo& getAcceptInfo() const = 0;
 
   /// Get the decision using a generic IParticle pointer
-  virtual const Root::TAccept& accept( const xAOD::IParticle* p ) const = 0;
+  virtual asg::AcceptData accept( const xAOD::IParticle* p ) const = 0;
 
   /// Get the decision for a specific TauJet object
-  virtual const Root::TAccept& accept( const xAOD::TauJet& tau ) const = 0;
+  virtual asg::AcceptData accept( const xAOD::TauJet& tau ) const = 0;
 
   /// Set output file for histograms
   virtual void setOutFile( TFile* fOutFile ) = 0;
diff --git a/PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/SelectionCuts.h b/PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/SelectionCuts.h
index 0482cc4db9e1..81e9f71ef3db 100644
--- a/PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/SelectionCuts.h
+++ b/PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/SelectionCuts.h
@@ -1,7 +1,7 @@
 // Dear emacs, this is -*- c++ -*-
 
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef TAUANALYSISTOOLS_SELECTIONCUTS_H
@@ -19,7 +19,8 @@
 
 // Framework include(s):
 #include "xAODTau/TauJet.h"
-#include "PATCore/TAccept.h"
+#include "PATCore/AcceptData.h"
+#include "PATCore/AcceptInfo.h"
 
 // ROOT include(s):
 #include "TH1F.h"
@@ -42,7 +43,9 @@ public:
   void writeControlHistograms();
   void fillHistogramCutPre(const xAOD::TauJet& xTau);
   void fillHistogramCut(const xAOD::TauJet& xTau);
-  virtual bool accept(const xAOD::TauJet& xTau) = 0;
+  virtual void setAcceptInfo (asg::AcceptInfo& info) const = 0;
+  virtual bool accept(const xAOD::TauJet& xTau,
+                      asg::AcceptData& accept) = 0;
   TH1F* CreateControlPlot(const char* sName, const char* sTitle, int iBins, double dXLow, double dXUp);
 
   std::string getName()
@@ -73,7 +76,9 @@ class SelectionCutPt
 {
 public:
   SelectionCutPt(TauSelectionTool* tTST);
-  bool accept(const xAOD::TauJet& xTau);
+  virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
+  virtual bool accept(const xAOD::TauJet& xTau,
+                      asg::AcceptData& accept) override;
 private:
   void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist);
 };
@@ -83,7 +88,9 @@ class SelectionCutAbsEta
 {
 public:
   SelectionCutAbsEta(TauSelectionTool* tTST);
-  bool accept(const xAOD::TauJet& xTau);
+  virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
+  virtual bool accept(const xAOD::TauJet& xTau,
+                      asg::AcceptData& accept) override;
 private:
   void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist);
 };
@@ -93,7 +100,9 @@ class SelectionCutAbsCharge
 {
 public:
   SelectionCutAbsCharge(TauSelectionTool* tTST);
-  bool accept(const xAOD::TauJet& xTau);
+  virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
+  virtual bool accept(const xAOD::TauJet& xTau,
+                      asg::AcceptData& accept) override;
 private:
   void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist);
 };
@@ -103,7 +112,9 @@ class SelectionCutNTracks
 {
 public:
   SelectionCutNTracks(TauSelectionTool* tTST);
-  bool accept(const xAOD::TauJet& xTau);
+  virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
+  virtual bool accept(const xAOD::TauJet& xTau,
+                      asg::AcceptData& accept) override;
 private:
   void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist);
 };
@@ -113,7 +124,9 @@ class SelectionCutBDTJetScore
 {
 public:
   SelectionCutBDTJetScore(TauSelectionTool* tTST);
-  bool accept(const xAOD::TauJet& xTau);
+  virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
+  virtual bool accept(const xAOD::TauJet& xTau,
+                      asg::AcceptData& accept) override;
 private:
   void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist);
 };
@@ -123,7 +136,9 @@ class SelectionCutJetIDWP
 {
 public:
   SelectionCutJetIDWP(TauSelectionTool* tTST);
-  bool accept(const xAOD::TauJet& xTau);
+  virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
+  virtual bool accept(const xAOD::TauJet& xTau,
+                      asg::AcceptData& accept) override;
 private:
   void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist);
 };
@@ -133,7 +148,9 @@ class SelectionCutBDTEleScore
 {
 public:
   SelectionCutBDTEleScore(TauSelectionTool* tTST);
-  bool accept(const xAOD::TauJet& xTau);
+  virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
+  virtual bool accept(const xAOD::TauJet& xTau,
+                      asg::AcceptData& accept) override;
 private:
   std::string m_sEleBDTDecorationName;
   void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist);
@@ -144,7 +161,9 @@ class SelectionCutEleBDTWP
 {
 public:
   SelectionCutEleBDTWP(TauSelectionTool* tTST);
-  bool accept(const xAOD::TauJet& xTau);
+  virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
+  virtual bool accept(const xAOD::TauJet& xTau,
+                      asg::AcceptData& accept) override;
 private:
   std::string m_sEleBDTDecorationName;
   void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist);
@@ -155,8 +174,10 @@ class SelectionCutEleOLR
 {
 public:
   SelectionCutEleOLR(TauSelectionTool* tTST);
-  bool accept(const xAOD::TauJet& xTau);
-  ~SelectionCutEleOLR();
+  virtual ~SelectionCutEleOLR();
+  virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
+  virtual bool accept(const xAOD::TauJet& xTau,
+                      asg::AcceptData& accept) override;
 
   bool getEvetoPass(const xAOD::TauJet& xTau);
 private:
@@ -176,7 +197,9 @@ class SelectionCutMuonVeto
 {
 public:
   SelectionCutMuonVeto(TauSelectionTool* tTST);
-  bool accept(const xAOD::TauJet& xTau);
+  virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
+  virtual bool accept(const xAOD::TauJet& xTau,
+                      asg::AcceptData& accept) override;
 private:
   void fillHistogram(const xAOD::TauJet& xTau, TH1F& hHist);
 };
@@ -188,7 +211,9 @@ class SelectionCutMuonOLR
 {
 public:
   SelectionCutMuonOLR(TauSelectionTool* tTST);
-  bool accept(const xAOD::TauJet& xTau);
+  virtual void setAcceptInfo (asg::AcceptInfo& info) const override;
+  virtual bool accept(const xAOD::TauJet& xTau,
+                      asg::AcceptData& accept) override;
 private:
   bool m_bTauMuonOLR; //False: overlapped, the tau is not kept. True: not overlapped, the tau is kept.)
   const xAOD::MuonContainer* m_xMuonContainer;
diff --git a/PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/TauSelectionTool.h b/PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/TauSelectionTool.h
index b22870789b1b..8b9e1eddc2e7 100644
--- a/PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/TauSelectionTool.h
+++ b/PhysicsAnalysis/TauID/TauAnalysisTools/TauAnalysisTools/TauSelectionTool.h
@@ -1,7 +1,7 @@
 // Dear emacs, this is -*- c++ -*-
 
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef TAUANALYSISTOOLS_TAUSELECTIONTOOL_H
@@ -100,32 +100,32 @@ public:
   virtual ~TauSelectionTool();
 
   /// Function initialising the tool
-  virtual StatusCode initialize();
+  virtual StatusCode initialize() override;
 
   /// Function initialising the tool
-  virtual StatusCode initializeEvent() __attribute__ ((deprecated("This function is deprecated. Please remove it from your code.\nFor further information please refer to the README:\nhttps://svnweb.cern.ch/trac/atlasoff/browser/PhysicsAnalysis/TauID/TauAnalysisTools/trunk/doc/README-TauSelectionTool.rst")));
+  virtual StatusCode initializeEvent() override __attribute__ ((deprecated("This function is deprecated. Please remove it from your code.\nFor further information please refer to the README:\nhttps://svnweb.cern.ch/trac/atlasoff/browser/PhysicsAnalysis/TauID/TauAnalysisTools/trunk/doc/README-TauSelectionTool.rst")));
 
   /// Get an object describing the "selection steps" of the tool
-  virtual const Root::TAccept& getTAccept() const;
+  virtual const asg::AcceptInfo& getAcceptInfo() const override;
 
   /// Get the decision using a generic IParticle pointer
-  virtual const Root::TAccept& accept( const xAOD::IParticle* p ) const;
+  virtual asg::AcceptData accept( const xAOD::IParticle* p ) const override;
 
   /// Get the decision for a specific TauJet object
-  virtual const Root::TAccept& accept( const xAOD::TauJet& tau ) const;
+  virtual asg::AcceptData accept( const xAOD::TauJet& tau ) const override;
 
   /// Set output file for control histograms
-  void setOutFile( TFile* fOutFile );
+  virtual void setOutFile( TFile* fOutFile ) override;
 
   /// Write control histograms to output file
-  void writeControlHistograms();
+  virtual void writeControlHistograms() override;
 
 private:
 
   // Execute at each new input file
-  virtual StatusCode beginInputFile();
+  virtual StatusCode beginInputFile() override;
   // Execute at each event
-  virtual StatusCode beginEvent();
+  virtual StatusCode beginEvent() override;
 
   template<typename T, typename U>
   void FillRegionVector(std::vector<T>& vRegion, U tMin, U tMax);
@@ -202,8 +202,8 @@ private:
 protected:
   bool m_bCreateControlPlots;
 
-  /// Object used to store the last decision
-  mutable Root::TAccept m_aAccept;
+  /// Object used to store selection information.
+  asg::AcceptInfo m_aAccept;
 
 
 
diff --git a/Reconstruction/RecoTools/CaloRingerTools/src/CaloRingerElectronsReader.cxx b/Reconstruction/RecoTools/CaloRingerTools/src/CaloRingerElectronsReader.cxx
index aa431450de06..4d5e74112d64 100644
--- a/Reconstruction/RecoTools/CaloRingerTools/src/CaloRingerElectronsReader.cxx
+++ b/Reconstruction/RecoTools/CaloRingerTools/src/CaloRingerElectronsReader.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2017, 2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // $Id: CaloRingerElectronsReader.cxx 786306 2016-11-24 13:40:42Z wsfreund $
@@ -8,7 +8,7 @@
 
 #include <algorithm>
 
-#include "PATCore/TAccept.h"
+#include "PATCore/AcceptData.h"
 #include "StoreGate/ReadHandle.h"
 
 namespace Ringer {
@@ -136,7 +136,8 @@ StatusCode CaloRingerElectronsReader::execute()
       const auto& selector = m_ringerSelectors[i];
 
       // Execute selector for each electron
-      StatusCode lsc = selector->execute(el);
+      asg::AcceptData acceptData (&selector->getAcceptInfo());
+      StatusCode lsc = selector->execute(el, acceptData);
       sc &= lsc;
 
       if ( lsc.isFailure() ){
@@ -145,19 +146,18 @@ StatusCode CaloRingerElectronsReader::execute()
       }
 
       // Retrieve results:
-      const Root::TAccept& accept = selector->getTAccept();
-      const std::vector<float> &outputSpace = selector->getOutputSpace();
+       const std::vector<float> &outputSpace = selector->getOutputSpace();
 
       ATH_MSG_DEBUG( "Result for " << selector->name() << " is: "
-          << std::boolalpha << static_cast<bool>(accept)
+          << std::boolalpha << static_cast<bool>(acceptData)
           << " and its outputSpace is: "
           << std::noboolalpha << outputSpace);
 
       // Save the bool result
-      selHandles[i](*el) = static_cast<char>(accept);
+      selHandles[i](*el) = static_cast<bool>(acceptData);
 
       //// Save the resulting bitmask
-      isEMHandles[i](*el) = static_cast<unsigned int>(accept.getCutResultInverted());
+      isEMHandles[i](*el) = static_cast<unsigned int>(acceptData.getCutResultInverted());
 
       // Check if output space is empty, if so, use error code
       float outputToSave(std::numeric_limits<float>::min());
-- 
GitLab


From c3359cc4515cf2e2d3f1f1fa3e9e3c65a5ea47c3 Mon Sep 17 00:00:00 2001
From: christos <christos@cern.ch>
Date: Mon, 28 Jan 2019 12:36:17 +0000
Subject: [PATCH 168/192] Using CachedValue to fix the Vertex_v1 for MT

---
 Event/xAOD/xAODTracking/Root/Vertex_v1.cxx    |  60 ++-
 .../xAODTracking/xAODTracking/selection.xml   |   2 -
 .../xAODTracking/versions/Vertex_v1.h         | 383 +++++++++---------
 3 files changed, 214 insertions(+), 231 deletions(-)

diff --git a/Event/xAOD/xAODTracking/Root/Vertex_v1.cxx b/Event/xAOD/xAODTracking/Root/Vertex_v1.cxx
index 3ea2499b4201..60c7cf330789 100644
--- a/Event/xAOD/xAODTracking/Root/Vertex_v1.cxx
+++ b/Event/xAOD/xAODTracking/Root/Vertex_v1.cxx
@@ -19,18 +19,15 @@ namespace xAOD {
 
    Vertex_v1::Vertex_v1()
       : SG::AuxElement(),
-        m_position(), m_positionCached( false ),
-        m_covariance(), m_covarianceCached( false ) {
+        m_position(), 
+        m_covariance() {
 
    }
 
    Vertex_v1::Vertex_v1( const Vertex_v1& other ) 
       : SG::AuxElement(),
         m_position( other.m_position ),
-        m_positionCached( other.m_positionCached ),
-        m_covariance( other.m_covariance ),
-        m_covarianceCached( other.m_covarianceCached ) {
-
+        m_covariance( other.m_covariance ){
       //copy aux store content (only the stuffs already loaded in memory!)
       this->makePrivateStore( other );
    }
@@ -84,15 +81,16 @@ namespace xAOD {
    const Amg::Vector3D& Vertex_v1::position() const {
 
       // Cache the position if necessary:
-      if( ! m_positionCached ) {
-         m_position( 0 ) = x();
-         m_position( 1 ) = y();
-         m_position( 2 ) = z();
-         m_positionCached = true;
+      if( ! m_position.isValid() ) {
+         Amg::Vector3D tmpPosition;
+         tmpPosition( 0 ) = x();
+         tmpPosition( 1 ) = y();
+         tmpPosition( 2 ) = z();
+         m_position.set(tmpPosition);
       }
 
       // Return the object:
-      return m_position;
+      return *(m_position.ptr());
    }
 
    void Vertex_v1::setPosition( const Amg::Vector3D& position ) {
@@ -101,25 +99,22 @@ namespace xAOD {
       setX( position( 0 ) );
       setY( position( 1 ) );
       setZ( position( 2 ) );
-
-      // Update the cache:
-      m_position = position;
-      m_positionCached = true;
-
+      // Reset the cache
+      m_position.reset();
       return;
    }
 
    const AmgSymMatrix(3)& Vertex_v1::covariancePosition() const {
 
       // Cache the covariance matrix if necessary:
-      if( ! m_covarianceCached ) {
+      if( ! m_covariance.isValid() ) {
          // The matrix is now cached:
-	      Amg::expand(covariance().begin(),covariance().end(),m_covariance);
-	      m_covarianceCached = true;
+        AmgSymMatrix(3) tmpCovariance;
+	      Amg::expand(covariance().begin(),covariance().end(),tmpCovariance);
+	      m_covariance.set(tmpCovariance);
       }
-
       // Return the cached object:
-      return m_covariance;
+      return *(m_covariance.ptr());
    }
 
    void Vertex_v1::setCovariancePosition( const AmgSymMatrix(3)& cov ) {
@@ -130,11 +125,7 @@ namespace xAOD {
 
      // Set the persistent variable:
      setCovariance( vec );
-
-     // Cache the variable:
-     m_covariance = cov;
-     m_covarianceCached = true;
-
+     m_covariance.reset();
      return;
    }
 
@@ -344,17 +335,12 @@ namespace xAOD {
       return;
    }
 
-   //
-   /////////////////////////////////////////////////////////////////////////////
-
-   /// This function is used by ROOT to reset the object after a new object
-   /// was read into an existing memory location.
-   ///
+   /*
+    * Reset the cache
+    */
    void Vertex_v1::resetCache() {
-
-      m_positionCached = false;
-      m_covarianceCached = false;
-
+      m_position.reset();
+      m_covariance.reset();
       return;
    }
 
diff --git a/Event/xAOD/xAODTracking/xAODTracking/selection.xml b/Event/xAOD/xAODTracking/xAODTracking/selection.xml
index c4515742823e..71da76532404 100644
--- a/Event/xAOD/xAODTracking/xAODTracking/selection.xml
+++ b/Event/xAOD/xAODTracking/xAODTracking/selection.xml
@@ -4,9 +4,7 @@
   <!-- Vertex_v1 dictionaries: -->
   <class name="xAOD::Vertex_v1" >
     <field name="m_position" transient="true" />
-    <field name="m_positionCached" transient="true" />
     <field name="m_covariance" transient="true" />
-    <field name="m_covarianceCached" transient="true" />
   </class>
   <read sourceClass="xAOD::Vertex_v1" version="[1-]"
         targetClass="xAOD::Vertex_v1" source="" target="" >
diff --git a/Event/xAOD/xAODTracking/xAODTracking/versions/Vertex_v1.h b/Event/xAOD/xAODTracking/xAODTracking/versions/Vertex_v1.h
index 07d6e57721e2..d2886bf6975f 100644
--- a/Event/xAOD/xAODTracking/xAODTracking/versions/Vertex_v1.h
+++ b/Event/xAOD/xAODTracking/xAODTracking/versions/Vertex_v1.h
@@ -1,197 +1,196 @@
-// Dear emacs, this is -*- c++ -*-
+// Dear emacs, this is -*- c++ -*-
 
 /*
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
-// $Id: Vertex_v1.h 575751 2013-12-16 16:45:36Z krasznaa $
-#ifndef XAODTRACKING_VERSIONS_VERTEX_V1_H
-#define XAODTRACKING_VERSIONS_VERTEX_V1_H
-
-// System include(s):
-#include <vector>
-
-// Core include(s):
-#include "AthContainers/AuxElement.h"
-#include "AthLinks/ElementLink.h"
-
-// EDM include(s):
-#include "EventPrimitives/EventPrimitives.h"
-#include "GeoPrimitives/GeoPrimitives.h"
-#ifndef XAOD_STANDALONE
-#ifndef XAOD_MANACORE
-#  include "VxVertex/VxTrackAtVertex.h"
-#endif // not XAOD_MANACORE
-#endif // not XAOD_STANDALONE
-
-// xAOD include(s):
-#include "xAODTracking/TrackingPrimitives.h"
-#include "xAODTracking/TrackParticleContainerFwd.h"
-#include "xAODTracking/NeutralParticleContainer.h"
-#include "xAODBase/ObjectType.h"
-
-// Local include(s):
-#include "xAODTracking/TrackingPrimitives.h"
-
-namespace xAOD {
-
-   /// Class describing a Vertex.
-   ///
-   /// @author Kirill Prokofiev <Kirill.Prokofev@cern.ch>
-   /// @author Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch>
-   /// @author Ruslan Mashinistov <Ruslan.Mashinistov@cern.ch>
-   /// @nosubgrouping
-   ///
-   class Vertex_v1 : public SG::AuxElement {
-
-   public:
-      /// Default constructor
-      Vertex_v1();
-
-      /// Copy constructor
-      Vertex_v1(const Vertex_v1& other);
-
-      /// Assignment operator. This can involve creating and copying an Auxilary store, and so should be used sparingly.
-      Vertex_v1& operator=(const Vertex_v1& tp );
-
-      /// A little helper function for identifying the type in template code
-      Type::ObjectType type() const;
-
-      /// Returns the x position
-      float x() const;
-      /// Sets the x position
-      void setX( float value );
-      /// Returns the y position
-      float y() const;
-      /// Sets the y position
-      void setY( float value );
-      /// Returns the z position
-      float z() const;
-      /// Sets the z position
-      void setZ( float value );
-
-      /// Returns the covariance matrix as a simple vector of values
-      const std::vector< float >& covariance() const;
-      /// Sets the covariance matrix as a simple vector of values
-      void setCovariance( const std::vector< float >& value );
-
-      /// Returns the 3-pos
-      const Amg::Vector3D& position() const;
-      /// Sets the 3-position
-      void setPosition( const Amg::Vector3D& position );
-
-      /// Returns the vertex covariance matrix
-      const AmgSymMatrix(3)& covariancePosition() const;
-      /// Sets the vertex covariance matrix
-      void setCovariancePosition( const AmgSymMatrix(3)& covariancePosition );
-
-      /// @name Fit quality functions
-      /// @{
-
-      /// Returns the @f$ \chi^2 @f$ of the vertex fit as float.
-      float chiSquared() const;
-      /// Returns the number of degrees of freedom of the vertex fit as float.
-      float numberDoF() const;   
-      /// Set the 'Fit Quality' information.
-      void setFitQuality( float chiSquared, float numberDoF );
-
-      /// @}
-
-      /// The type of the vertex
-      VxType::VertexType vertexType() const;
-      /// Set the type of the vertex
-      void setVertexType( VxType::VertexType vType );
-
-#if ( ! defined(XAOD_STANDALONE) ) && ( ! defined(XAOD_MANACORE) )
-      /// Non-const access to the VxTrackAtVertex vector
-      std::vector< Trk::VxTrackAtVertex >& vxTrackAtVertex();
-      /// Const access to the vector of tracks fitted to the vertex (may not exist!)
-      const std::vector< Trk::VxTrackAtVertex >& vxTrackAtVertex() const;
-      /// Check if VxTrackAtVertices are attached to the object
-      bool vxTrackAtVertexAvailable() const;
-#endif // not XAOD_STANDALONE and not XAOD_MANACORE
-
-      /// @name Track particle contents operations
-      /// @{
-
-      /// Type for the associated track particles
-      typedef std::vector< ElementLink< xAOD::TrackParticleContainer > >
-      TrackParticleLinks_t;
-      /// Get all the particles associated with the vertex
-      const TrackParticleLinks_t& trackParticleLinks() const;
-      /// Set all track particle links at once
-      void setTrackParticleLinks( const TrackParticleLinks_t& trackParticles );
-
-      /// Get all the track weights
-      const std::vector< float >& trackWeights() const;
-      /// Set all the track weights
-      void setTrackWeights( const std::vector< float >& weights );
-
-
-      /// Type for the associated neutral particles
-      typedef std::vector< ElementLink< xAOD::NeutralParticleContainer > > NeutralParticleLinks_t;
-      /// Get all the particles associated with the vertex
-      const NeutralParticleLinks_t& neutralParticleLinks() const;
-      /// Set all neutral particle links at once
-      void setNeutralParticleLinks( const NeutralParticleLinks_t& neutralParticles );
-
-      /// Get all the neutral weights
-      const std::vector< float >& neutralWeights() const;
-      /// Set all the neutral weights
-      void setNeutralWeights( const std::vector< float >& weights );
-
-
-      /// Get the pointer to a given track that was used in vertex reco.
-      const TrackParticle* trackParticle( size_t i ) const;
-      /// Get the weight of a given track in the vertex reconstruction
-      float trackWeight( size_t i ) const;
-      /// Get the number of tracks associated with this vertex
-      size_t nTrackParticles() const;
-
-
-      /// Get the pointer to a given neutral that was used in vertex reco.
-      const NeutralParticle* neutralParticle( size_t i ) const;
-      /// Get the weight of a given neutral in the vertex reconstruction
-      float neutralWeight( size_t i ) const;
-      /// Get the number of neutrals associated with this vertex
-      size_t nNeutralParticles() const;
-
-
-      /// Add a new track to the vertex
-      void addTrackAtVertex( const ElementLink< TrackParticleContainer >& tr,
-                             float weight = 1.0 );
-
-      /// Add a new neutral to the vertex
-      void addNeutralAtVertex( const ElementLink< NeutralParticleContainer >& tr,
-                             float weight = 1.0 );
-
-      /// Remove all tracks from the vertex
-      void clearTracks();
-
-      /// Remove all neutrals from the vertex
-      void clearNeutrals();
-
-
-      /// @}
-
-      /// Reset the internal cache of the object
-      void resetCache();
-
-   private:
-      /// Cached position of the vertex
-      mutable Amg::Vector3D m_position;
-      /// Cache status of the position object
-      mutable bool m_positionCached;
-      /// Cached covariance of the vertex
-      mutable AmgSymMatrix(3) m_covariance;
-      /// Cache status of the covariance object
-      mutable bool m_covarianceCached;
-
-   }; // end of the Vertex_v1 class definitions
-
-} // end of the xAOD namespace
-
-#include "xAODCore/BaseInfo.h"
-SG_BASE (xAOD::Vertex_v1, SG::AuxElement);
-
-#endif // XAODTRACKING_VERSIONS_VERTEX_V1_H
+// $Id: Vertex_v1.h 575751 2013-12-16 16:45:36Z krasznaa $
+#ifndef XAODTRACKING_VERSIONS_VERTEX_V1_H
+#define XAODTRACKING_VERSIONS_VERTEX_V1_H
+
+// System include(s):
+#include <vector>
+
+// Core include(s):
+#include "AthContainers/AuxElement.h"
+#include "AthLinks/ElementLink.h"
+
+// EDM include(s):
+#include "EventPrimitives/EventPrimitives.h"
+#include "GeoPrimitives/GeoPrimitives.h"
+#ifndef XAOD_STANDALONE
+#ifndef XAOD_MANACORE
+#  include "VxVertex/VxTrackAtVertex.h"
+#endif // not XAOD_MANACORE
+#endif // not XAOD_STANDALONE
+
+// xAOD include(s):
+#include "xAODTracking/TrackingPrimitives.h"
+#include "xAODTracking/TrackParticleContainerFwd.h"
+#include "xAODTracking/NeutralParticleContainer.h"
+#include "xAODBase/ObjectType.h"
+
+// Local include(s):
+#include "xAODTracking/TrackingPrimitives.h"
+
+//MT CachedValue
+#include "CxxUtils/CachedValue.h"
+
+namespace xAOD {
+
+   /// Class describing a Vertex.
+   ///
+   /// @author Kirill Prokofiev <Kirill.Prokofev@cern.ch>
+   /// @author Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch>
+   /// @author Ruslan Mashinistov <Ruslan.Mashinistov@cern.ch>
+   /// @nosubgrouping
+   ///
+   class Vertex_v1 : public SG::AuxElement {
+
+   public:
+      /// Default constructor
+      Vertex_v1();
+
+      /// Copy constructor
+      Vertex_v1(const Vertex_v1& other);
+
+      /// Assignment operator. This can involve creating and copying an Auxilary store, and so should be used sparingly.
+      Vertex_v1& operator=(const Vertex_v1& tp );
+
+      /// A little helper function for identifying the type in template code
+      Type::ObjectType type() const;
+
+      /// Returns the x position
+      float x() const;
+      /// Sets the x position
+      void setX( float value );
+      /// Returns the y position
+      float y() const;
+      /// Sets the y position
+      void setY( float value );
+      /// Returns the z position
+      float z() const;
+      /// Sets the z position
+      void setZ( float value );
+
+      /// Returns the covariance matrix as a simple vector of values
+      const std::vector< float >& covariance() const;
+      /// Sets the covariance matrix as a simple vector of values
+      void setCovariance( const std::vector< float >& value );
+
+      /// Returns the 3-pos
+      const Amg::Vector3D& position() const;
+      /// Sets the 3-position
+      void setPosition( const Amg::Vector3D& position );
+
+      /// Returns the vertex covariance matrix
+      const AmgSymMatrix(3)& covariancePosition() const;
+      /// Sets the vertex covariance matrix
+      void setCovariancePosition( const AmgSymMatrix(3)& covariancePosition );
+
+      /// @name Fit quality functions
+      /// @{
+
+      /// Returns the @f$ \chi^2 @f$ of the vertex fit as float.
+      float chiSquared() const;
+      /// Returns the number of degrees of freedom of the vertex fit as float.
+      float numberDoF() const;   
+      /// Set the 'Fit Quality' information.
+      void setFitQuality( float chiSquared, float numberDoF );
+
+      /// @}
+
+      /// The type of the vertex
+      VxType::VertexType vertexType() const;
+      /// Set the type of the vertex
+      void setVertexType( VxType::VertexType vType );
+
+#if ( ! defined(XAOD_STANDALONE) ) && ( ! defined(XAOD_MANACORE) )
+      /// Non-const access to the VxTrackAtVertex vector
+      std::vector< Trk::VxTrackAtVertex >& vxTrackAtVertex();
+      /// Const access to the vector of tracks fitted to the vertex (may not exist!)
+      const std::vector< Trk::VxTrackAtVertex >& vxTrackAtVertex() const;
+      /// Check if VxTrackAtVertices are attached to the object
+      bool vxTrackAtVertexAvailable() const;
+#endif // not XAOD_STANDALONE and not XAOD_MANACORE
+
+      /// @name Track particle contents operations
+      /// @{
+
+      /// Type for the associated track particles
+      typedef std::vector< ElementLink< xAOD::TrackParticleContainer > >
+      TrackParticleLinks_t;
+      /// Get all the particles associated with the vertex
+      const TrackParticleLinks_t& trackParticleLinks() const;
+      /// Set all track particle links at once
+      void setTrackParticleLinks( const TrackParticleLinks_t& trackParticles );
+
+      /// Get all the track weights
+      const std::vector< float >& trackWeights() const;
+      /// Set all the track weights
+      void setTrackWeights( const std::vector< float >& weights );
+
+
+      /// Type for the associated neutral particles
+      typedef std::vector< ElementLink< xAOD::NeutralParticleContainer > > NeutralParticleLinks_t;
+      /// Get all the particles associated with the vertex
+      const NeutralParticleLinks_t& neutralParticleLinks() const;
+      /// Set all neutral particle links at once
+      void setNeutralParticleLinks( const NeutralParticleLinks_t& neutralParticles );
+
+      /// Get all the neutral weights
+      const std::vector< float >& neutralWeights() const;
+      /// Set all the neutral weights
+      void setNeutralWeights( const std::vector< float >& weights );
+
+
+      /// Get the pointer to a given track that was used in vertex reco.
+      const TrackParticle* trackParticle( size_t i ) const;
+      /// Get the weight of a given track in the vertex reconstruction
+      float trackWeight( size_t i ) const;
+      /// Get the number of tracks associated with this vertex
+      size_t nTrackParticles() const;
+
+
+      /// Get the pointer to a given neutral that was used in vertex reco.
+      const NeutralParticle* neutralParticle( size_t i ) const;
+      /// Get the weight of a given neutral in the vertex reconstruction
+      float neutralWeight( size_t i ) const;
+      /// Get the number of neutrals associated with this vertex
+      size_t nNeutralParticles() const;
+
+
+      /// Add a new track to the vertex
+      void addTrackAtVertex( const ElementLink< TrackParticleContainer >& tr,
+                             float weight = 1.0 );
+
+      /// Add a new neutral to the vertex
+      void addNeutralAtVertex( const ElementLink< NeutralParticleContainer >& tr,
+                             float weight = 1.0 );
+
+      /// Remove all tracks from the vertex
+      void clearTracks();
+
+      /// Remove all neutrals from the vertex
+      void clearNeutrals();
+
+
+      /// @}
+
+      /// Reset the internal cache of the object
+      void resetCache();
+
+   private:
+      /// Cached position of the vertex
+      CxxUtils::CachedValue<Amg::Vector3D> m_position;
+      /// Cached covariance of the vertex
+      CxxUtils::CachedValue<AmgSymMatrix(3)> m_covariance;
+
+   }; // end of the Vertex_v1 class definitions
+
+} // end of the xAOD namespace
+
+#include "xAODCore/BaseInfo.h"
+SG_BASE (xAOD::Vertex_v1, SG::AuxElement);
+
+#endif // XAODTRACKING_VERSIONS_VERTEX_V1_H
-- 
GitLab


From d5daf9bab461d6ef20a9608b7ac34ba9578d5701 Mon Sep 17 00:00:00 2001
From: MihaMuskinja <miha.muskinja@gmail.com>
Date: Mon, 28 Jan 2019 13:42:38 +0100
Subject: [PATCH 169/192] Makes the Random Engine of AthRNGSvc configurable via
 SimFlags and adds a prinout of the used engine.

---
 Control/RngComps/python/RngCompsConfig.py   | 10 ++++++++++
 Control/RngComps/python/RngCompsConfigDb.py |  5 +++++
 Control/RngComps/src/AthRNGSvc.cxx          |  2 ++
 3 files changed, 17 insertions(+)
 create mode 100644 Control/RngComps/python/RngCompsConfig.py
 create mode 100644 Control/RngComps/python/RngCompsConfigDb.py

diff --git a/Control/RngComps/python/RngCompsConfig.py b/Control/RngComps/python/RngCompsConfig.py
new file mode 100644
index 000000000000..55a6c35c1307
--- /dev/null
+++ b/Control/RngComps/python/RngCompsConfig.py
@@ -0,0 +1,10 @@
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+
+from AthenaCommon import CfgMgr
+
+def getAthRNGSvc(name='AthRNGSvc', **kwargs):
+    return CfgMgr.AthRNGSvc(name, **kwargs)
+
+def getAthMixMaxRNGSvc(name='AthMixMaxRNGSvc', **kwargs):
+    kwargs.setdefault('EngineType', 'MixMax')
+    return CfgMgr.AthRNGSvc(name, **kwargs)
diff --git a/Control/RngComps/python/RngCompsConfigDb.py b/Control/RngComps/python/RngCompsConfigDb.py
new file mode 100644
index 000000000000..4cc9c080c57a
--- /dev/null
+++ b/Control/RngComps/python/RngCompsConfigDb.py
@@ -0,0 +1,5 @@
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+
+from AthenaCommon.CfgGetter import addService
+addService("RngComps.RngCompsConfig.getAthRNGSvc", "AthRNGSvc")
+addService("RngComps.RngCompsConfig.getAthMixMaxRNGSvc", "AthMixMaxRNGSvc")
diff --git a/Control/RngComps/src/AthRNGSvc.cxx b/Control/RngComps/src/AthRNGSvc.cxx
index 1b26f5e4497c..d49fe7979cc0 100644
--- a/Control/RngComps/src/AthRNGSvc.cxx
+++ b/Control/RngComps/src/AthRNGSvc.cxx
@@ -42,6 +42,8 @@ StatusCode AthRNGSvc::initialize()
     ATH_MSG_FATAL("Generator type \"" << m_rngType << "\" is not known. Check Joboptions");
     return StatusCode::FAILURE;
   }
+  
+  ATH_MSG_INFO("Selected random engine: \"" << m_rngType << "\"");
 
   return StatusCode::SUCCESS;
 }
-- 
GitLab


From 6779f04ba08112b0d2e4dfa6e700ed784d5d166d Mon Sep 17 00:00:00 2001
From: Edward Moyse <edward.moyse@cern.ch>
Date: Mon, 28 Jan 2019 14:40:39 +0100
Subject: [PATCH 170/192] Removed unused package.

---
 Tools/ChkLib/CMakeLists.txt              |  14 -
 Tools/ChkLib/doc/README                  |  37 --
 Tools/ChkLib/share/chklib_external.files |   2 -
 Tools/ChkLib/share/chklib_ignore.files   |  13 -
 Tools/ChkLib/share/chklib_ignore.symbols | 162 --------
 Tools/ChkLib/src/ChkLib.cxx              | 499 -----------------------
 6 files changed, 727 deletions(-)
 delete mode 100644 Tools/ChkLib/CMakeLists.txt
 delete mode 100755 Tools/ChkLib/doc/README
 delete mode 100755 Tools/ChkLib/share/chklib_external.files
 delete mode 100755 Tools/ChkLib/share/chklib_ignore.files
 delete mode 100755 Tools/ChkLib/share/chklib_ignore.symbols
 delete mode 100755 Tools/ChkLib/src/ChkLib.cxx

diff --git a/Tools/ChkLib/CMakeLists.txt b/Tools/ChkLib/CMakeLists.txt
deleted file mode 100644
index e254db8245ed..000000000000
--- a/Tools/ChkLib/CMakeLists.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-################################################################################
-# Package: ChkLib
-################################################################################
-
-# Declare the package name:
-atlas_subdir( ChkLib )
-
-# Component(s) in the package:
-atlas_add_executable( ChkLib
-                      src/ChkLib.cxx )
-
-# Install files from the package:
-atlas_install_runtime( share/*.files share/*.symbols )
-
diff --git a/Tools/ChkLib/doc/README b/Tools/ChkLib/doc/README
deleted file mode 100755
index 7130d08ccfc7..000000000000
--- a/Tools/ChkLib/doc/README
+++ /dev/null
@@ -1,37 +0,0 @@
-
-                 ChkLib - Check for undefined symbols
-
-  Author: Fredrik Akesson (fredrik.akesson@cern.ch)
-  Start:  19.01.2004
-
- --------------------------------------------------------------------------- 
-
- Athena might crash for several reasons. If it crashes with an error message
- complaining about a missing symbol you might check the symbols with ChkLib.
- If the same symbol is not shown as unresolved by the script it is probably
- a 'use' statement missing somewhere. If Athena crashes with a message like
- 'blabla probably not built as a component library' it is more likely that 
- you will find the perpetrator with ChkLib.
-
- If you encounter a number of unresolved symbols in the InstallArea: Don't
- panic. Check if they belong to your package or if they belong to some other
- package of the atlas release. Normally the unresolved symbols from other
- packages can be ignored and are resolved when linking. This program just
- looks into the InstallArea and takes whatever .so files it can find. Not
- more. I do not know if it is worth going through LD_LIBRARY_PATH and to 
- check every library for the missing symbols. I have put the symbols which
- contains certain keywords into the 'Ignore-list' hardcoded into the 
- program. The existing setup works fine for me ...
-
- NOTE: Since the program uses the 'system' call I guess that there might
- be differences for different shells. I am using zsh, and it works.
-
- Comments and remarks are welcome. Have fun saving time hunting down 
- 'not built as a component library' errors.
-
- TODO: - The use of map could be done for ignored and resolved symbols as
-         well. 
-       - Maybe I should introduce a switch if somebody wants to go
-         through the whole LD_LIBRARY_PATH.
-
- ---------------------------------------------------------------------------
diff --git a/Tools/ChkLib/share/chklib_external.files b/Tools/ChkLib/share/chklib_external.files
deleted file mode 100755
index 50831d49c44b..000000000000
--- a/Tools/ChkLib/share/chklib_external.files
+++ /dev/null
@@ -1,2 +0,0 @@
-/afs/cern.ch/sw/lhcxx/specific/redhat73/gcc-3.2/CLHEP/1.8.2.0/lib/libCLHEP.so
-/usr/local/gcc-alt-3.2/lib/libstdc++.so
diff --git a/Tools/ChkLib/share/chklib_ignore.files b/Tools/ChkLib/share/chklib_ignore.files
deleted file mode 100755
index 175fb3da690c..000000000000
--- a/Tools/ChkLib/share/chklib_ignore.files
+++ /dev/null
@@ -1,13 +0,0 @@
-libGaudiSvc.so
-libgaudimodule.so
-libGaudiGSL.so
-libAtlsim.so
-libHbookCnv.so
-libRootHistCnv.so
-libTBlob.so
-libRootKernel.so
-libRootGateLib.so
-libatlroot.so
-libRootSvcModulesLib.so
-libatlprod.so
-libapythia.so
diff --git a/Tools/ChkLib/share/chklib_ignore.symbols b/Tools/ChkLib/share/chklib_ignore.symbols
deleted file mode 100755
index 5d6ad848a6b4..000000000000
--- a/Tools/ChkLib/share/chklib_ignore.symbols
+++ /dev/null
@@ -1,162 +0,0 @@
-GLIBC
-CXXABI
-GCC
-cxxabi
-AlgTool
-HepVector
-HepMatrix
-CBNT
-HepSymMatrix
-_Unwind_
-HepGenMatrix
-DataSvc
-HepRotation
-DataObject
-CLID
-Algorithm
-SimplePropertyRef
-dynamic_cast
-DataProxy
-Genfun
-NullVerifier
-NTuple
-Hep3Vector
-FactoryTable
-StoreGateSvc
-MsgStream
-ActiveStoreSvc
-System
-Property
-Service
-HepPDT
-HepRandum
-HepRotate
-HepDiagMatrix
-HepRandom
-HepRotate3D
-HepRotationX
-HepRotationY
-HepRotationZ
-HepTool
-QApplication
-QBrush
-QColor
-QFrame
-QKeySequence
-QMenuData
-QMessageBox
-QMetaObject
-QMetaObjectCleanUp
-QObject
-QPaintDevice
-QPainter
-QPen
-QPixmap
-QPopupMenu
-QRect
-QString
-QStringData
-QWidget
-XAllocColor
-XBell
-XChangeWindowAttributes
-XClearWindow
-XCloseDisplay
-XCopyArea
-XCopyGC
-XCreateBitmapFromData
-XCreateFontCursor
-XCreateGC
-XCreateImage
-XCreateWindow
-XDefineCursor
-XDestroyWindow
-XDrawArc
-XDrawImageString
-XDrawLine
-XDrawLines
-XDrawPoint
-XDrawPoints
-XDrawRectangle
-XDrawSegments
-XDrawString
-XEventsQueued
-XFillArc
-XFillPolygon
-XFillRectangle
-XFlush
-XFree
-XFreeColors
-XFreeFont
-XFreeFontNames
-XFreeGC
-XFreePixmap
-XGetAtomName
-XGetGCValues
-XGetGeometry
-XGetImage
-XGetInputFocus
-XGetKeyboardControl
-XGetPixel
-XGetSubImage
-XInternAtom
-XListFonts
-XLoadQueryFont
-XLookupString
-XMapWindow
-XMoveWindow
-XNextEvent
-XOpenDisplay
-XPutImage
-XPutPixel
-XQueryColors
-XQueryPointer
-XRaiseWindow
-XResizeWindow
-XServerVendor
-XSetBackground
-XSetClassHint
-XSetClipMask
-XSetClipRectangles
-XSetDashes
-XSetFillStyle
-XSetFont
-XSetForeground
-XSetFunction
-XSetIconName
-XSetInputFocus
-XSetLineAttributes
-XSetNormalHints
-XSetStipple
-XSetTSOrigin
-XSetWMHints
-XSetWMProtocols
-XSetWindowBackground
-XStoreName
-XSync
-XSynchronize
-XTextExtents
-XTextWidth
-XTranslateCoordinates
-XUndefineCursor
-XWarpPointer
-XWindowEvent
-XWriteBitmapFile
-XmCreateCascadeButton
-XmCreatePulldownMenu
-XmCreatePushButton
-XmCreateToggleButton
-XmStringCreateSimple
-XtAddCallback
-XtAppProcessEvent
-XtManageChild
-XtParent
-XtSetValues
-XtUnmanageChild
-pool::
-boost::
-mysql_
-seal::
-std::
-XCreatePixmap
-XCreatePixmapCursor
diff --git a/Tools/ChkLib/src/ChkLib.cxx b/Tools/ChkLib/src/ChkLib.cxx
deleted file mode 100755
index f3d3535ff760..000000000000
--- a/Tools/ChkLib/src/ChkLib.cxx
+++ /dev/null
@@ -1,499 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-/* ---------------------------------------------------------------------------
- *                 chklib - Check for undefined symbols
- *
- *  Author: Fredrik Akesson (fredrik.akesson@cern.ch)
- *  Start:  19.01.2004
- *
- *  Changelog
- *
- *  19.04.2004 FA Added ignore lists to run on the release and a flag to 
- *                input a directory where to look for the ignore files.
- *  10.03.2004 FA Commited chklib to cvs as a cmt package
- *  06.02.2004 FA The user can now give a list of external libraries to check
- *                in addition to the ones in the InstallArea. This can get
- *                very nasty when you have to include tons of other files to 
- *                fullfil all dependencies. For the use with athena or any 
- *                other huge package anyway. There can not be any good defaul
- *                list for this since it would have to be version dependent
- *                and would have to be changed continuously. Maybe this can be
- *                automated for athena somehow.
- *  05.02.2004 FA Included the feature of showing in which file a unresolved 
- *                symbol was missing. For this the list of strings of unsresoved
- *                symbols was changed to a map mapping a symbol to a file.
- *                Tried to use hash_map but for some reason I did not manage to
- *                compile with that type.	      
- *  04.02.2004 FA Created a list of files to ignore. This list contains libraries 
- *                whose undefined symbols are hopefully resolved somewhere else.
- *                Ignored symbols and files can now be read in from external
- *                files: chklib_ignore.symbols and chklib_ignore.files. If they
- *                exists the ignored symbols/files are taken from the file and
- *                the default hardcoded ones are ignored. Using hardcoded default 
- *                strings otherwise. Files have to be in the working directory.
- *  04.02.2004 CA Transform the command execution mechanism to fill in a
- *                text string rather than a creating a temporary file.
- *  03.02.2004 FA Introduced C++ style iterators and strings.
- *  03.02.2004 FA Using demangled symbol list. Easier to read.
- *  03.02.2004 FA An if-statement was taken out which was supposed to stop the
- *                program from comparing symbols in a file with its own symbols.
- *                Did not work, I guess ++i, i++ trap. Now it compares its own
- *                symbols. A bit slower, but fast enough. 
- *
- * --------------------------------------------------------------------------- 
- *
- *  Athena might crash for several reasons. If it crashes with an error message
- * complaining about a missing symbol you might check the symbols with ChkLib.
- * If the same symbol is not shown as unresolved by the script it is probably
- * a 'use' statement missing somewhere. If Athena crashes with a message like
- * 'blabla probably not built as a component library' it is more likely that 
- * you will find the perpetrator with ChkLib.
- *
- * If you encounter a number of unresolved symbols in the InstallArea: Don't
- * panic. Check if they belong to your package or if they belong to some other
- * package of the atlas release. Normally the unresolved symbols from other
- * packages can be ignored and are resolved when linking. This program just
- * looks into the InstallArea and takes whatever .so files it can find. Not
- * more. I do not know if it is worth going through LD_LIBRARY_PATH and to 
- * check every library for the missing symbols. I have put the symbols which
- * contains certain keywords into the 'Ignore-list' hardcoded into the 
- * program. The existing setup works fine for me ...
- *
- * NOTE: Since the program uses the 'system' call I guess that there might
- * be differences for different shells. I am using zsh, and it works.
- *
- * Comments and remarks are welcome. Have fun saving time hunting down 
- * 'not built as a component library' errors.
- *
- * TODO: - The use of map could be done for ignored and resolved symbols as
- *         well. 
- *       - Maybe I should introduce a switch if somebody wants to go
- *         through the whole LD_LIBRARY_PATH.
- * --------------------------------------------------------------------------- */
- 
-#include <iostream>
-#include <fstream>
-#include <stdlib.h>
-#include <stdio.h>
-#include <list>
-#include <string>
-#include <sstream>
-#include <map>
-#include <cstring>
-
-using std::strlen;
-using std::strcmp;
-
-/* ------------------------ Declaration of global variables ------------------ */ 
-
-int debug=0;                                      // Even more information 
-int verbose=0;                                    // Switch for output
-int checkpath=0;                                  // Check path for ignore files
-std::string ignorePath;                           // Path to the ignore files
-std::list<std::string> fileNames;                 // Library (*.so) file names
-std::map<std::string,std::string> undefSymbols;
-std::list<std::string> defSymbols;                // List of defined symbols
-std::list<std::string> ignoreSymbols;             // Symbols to ignore
-std::list<std::string> ignoreFiles;               // Files to ignore
-std::list<std::string> externalLibs;              // Check these external libs
-
-typedef std::list<std::string>::iterator listIterator;
-typedef std::map<std::string,std::string>::iterator mapIterator;
-
-/* ---------------------------------- Subroutines ---------------------------- */
-
-/**
- * Execute a shell command and accumulate its output into a string
- */
-static int execute (const std::string& command, std::string& output)
-{
-  output = "";
-
-  FILE* f = popen (command.c_str (), "r"); 
-  
-  if (f != 0) 
-    { 
-      char line[256]; 
-      char* ptr;
-
-      while ((ptr = fgets (line, sizeof (line), f)) != NULL) 
-        {
-          output += ptr;
-        } 
-      pclose (f);
-
-      return (1);
-    }
-
-  return (0);
-}
-
-/**
- * Decode all symbols from the output of one nm -C command.
- * We expect all lines to be formatted as follows
- *
- * nm -C <file> 2>&1 | grep -v 'no symbols' | sed -e 's#^[0-9a-fA-F][0-9a-fA-F]*# #' -e 's#^#>> #'
- *
- * ie:
- *    + error messages are captured and filtered out
- *    + a fixed preamble ">> " is prepended to all output lines 
- *    + symbol addresses are suppressed
- *
- */
-static int ReadSymbols (const std::string& buffer, const std::string& fileName)
-{
-  std::istringstream input (buffer.c_str ());
-
-  while (! input.eof() )
-    {
-      std::string code;
-      std::string symbol = "";
-
-      input >> code;
-
-      if (code == ">>")
-	{
-	  input >> code;
-	}
-      
-      while (! input.eof() )
-	{
-	  std::string w;
-	  input >> w;
-	  if (w == ">>") break;
-	  if (symbol.size () > 0) symbol += " ";
-	  symbol += w;
-	}
-
-      //std::cout << "code=[" << code << "] symbol=[" << symbol << "]" << std::endl;
-
-      if (code == "U")
-	{
-	  undefSymbols[symbol]=fileName;
-	} 
-      else
-	{
-	  defSymbols.push_back(symbol);
-	}
-    }
-  return 0;
-}
-
-/**
- *  Acquire all *.so file names
- */
-int GetFilenames(const std::string& buffer)
-{
-  std::istringstream input (buffer.c_str ());
-  while (! input.eof() )
-  {
-    std::string line;  
-    input >> line;
-    if (line.find ("no matches found") == std::string::npos)
-    {
-      if (line.size () > 3) 
-      {
-	int ignoreFile=0;
-	if (debug) std::cout << "Found file " << line;
-	for (listIterator II=ignoreFiles.begin(); II!=ignoreFiles.end(); II++)
-	{
-	  if (line.compare(*II)==0) 
-	  {
-	    if (debug) std::cout << " (ignored)";
-	    ignoreFile=1;
-	  }
-	}
-	if (ignoreFile==0) fileNames.push_back(line);
-	if (debug) std::cout << std::endl; 
-      }
-    }
-  }
-  return 0;
-}
-
-static void ReadIgnoredSymbols(void)
-{
-  char buffer[300];
-//  std::ifstream infile ("chklib_ignore.symbols");
-  std::string tempName;
-  tempName=ignorePath+"chklib_ignore.symbols";
-  std::cout << " Looking for " << tempName << std::endl;
-  std::ifstream infile (tempName.c_str());
-  if (! infile.is_open())
-  {
-    std::cout << "INFO: No external file for ignored symbols found. Using default." << std::endl;
-    return;
-  }
-  while (! infile.eof() )
-  {
-    infile.getline (buffer,300);
-    if (strlen(buffer)>3) 
-    {
-      ignoreSymbols.push_back(buffer);
-      if (debug) std::cout << "Ignoring symbols containing '" << buffer << "'" << std::endl;
-    }
-  }
-  return;
-}
-
-static void ReadIgnoredFiles(void)
-{
-  char buffer[300];
-//  std::ifstream infile ("chklib_ignore.files");
-  std::string tempName;
-  tempName=ignorePath+"chklib_ignore.files";
-  std::ifstream infile (tempName.c_str());
-  if (! infile.is_open())
-  {
-    std::cout << "INFO: No external file for ignored files found. Using default." << std::endl;
-    return;
-  }
-  while (! infile.eof() )
-  {
-    infile.getline (buffer,300);
-    if (strlen(buffer)>3) 
-    {
-      ignoreFiles.push_back(buffer);
-      if (debug) std::cout << "Ignoring file '" << buffer << "'" << std::endl;
-    }
-  }
-  return;
-}
-
-static void ReadExternalLibraries(void)
-{
-  char buffer[300];
-//  std::ifstream infile ("chklib_external.files");
-  std::string tempName;
-  tempName=ignorePath+"chklib_external.files";
-  std::ifstream infile (tempName.c_str());
-  if (! infile.is_open())
-  {
-    std::cout << "INFO: No external file for additional libraries found. Using default." << std::endl;
-    return;
-  }
-  while (! infile.eof() )
-  {
-    infile.getline (buffer,300);
-    if (strlen(buffer)>3) 
-    {
-      externalLibs.push_back(buffer);
-      if (debug) std::cout << "Using external library  '" << buffer << "'" << std::endl;
-    }
-  }
-  return;
-}
-
-/* ----------------------------- MAIN --------------------------------- */
-
-int main(int argc, char *argv[]) 
-{
-  /* --- Variable declarations --- */
-
-  int nfile;
-  char command[400];
-  undefSymbols.clear();
-  defSymbols.clear();
-  ignoreSymbols.clear();
-  ignoreFiles.clear();
-  externalLibs.clear();
-
-  std::cout << "--------------------- chklib ---------------------" << std::endl ;
-  std::cout << std::endl;
-  std::cout << "Version: 0.8 (05.02.2004)" << std::endl;
-  std::cout << "Author:  Fredrik Akesson" << std::endl;
-  std::cout << "Email:   fredrik.akesson@cern.ch" << std::endl;
-  verbose=0;
-  checkpath=0;
-  if (argc > 1 && argv[1]!=0) 
-    {  
-      if (strcmp(argv[1],"-i")==0) verbose=1;
-      if (strcmp(argv[1],"-u")==0) verbose=2;
-      if (strcmp(argv[1],"-s")==0) verbose=3;
-      if (strcmp(argv[1],"-a")==0) verbose=4;
-      if (strcmp(argv[1],"-v")==0) { verbose=4; debug=1; } 
-      if (strcmp(argv[2],"-f")==0) checkpath=1; 
-    }  
-  if (argc == 0 || argv[1]==0 || verbose==0) 
-    {
-      std::cout << "" << std::endl;
-      std::cout << "Usage:" << std::endl;
-      std::cout << std::endl;
-      std::cout << " -i : Output only ignored symbols" << std::endl;
-      std::cout << " -u : Output only undefined symbols" << std::endl;
-      std::cout << " -s : Output only resolved symbols" << std::endl;
-      std::cout << " -a : Output all symbols" << std::endl;
-      std::cout << " -v : Output even more information" << std::endl;
-      std::cout << std::endl;
-      std::cout << "--------------------------------------------------" << std::endl ;
-      std::cout << std::endl;
-      return -1;
-    }
-  std::cout << std::endl;
-  std::cout << "--------------------------------------------------" << std::endl ;
-  std::cout << std::endl;
-
-  /* Checks if the user has some extern files for symbols and files to
-     be ignored. Otherwise use default lists. */
-
-  if (checkpath==0) 
-  { 
-      ignorePath="";
-  } else
-  {
-      ignorePath=argv[3];
-  }
-  ReadIgnoredSymbols(); // Read symbols to be ignored from file
-  ReadIgnoredFiles();   // 
-  ReadExternalLibraries();
-  std::cout << std::endl;
-  /* Ignore symbols by default containing one of the following strings */  
-
-  if (ignoreSymbols.size()==0) 
-  {
-    ignoreSymbols.push_back("GLIBC");
-    ignoreSymbols.push_back("CXXABI");
-    ignoreSymbols.push_back("GCC");
-    ignoreSymbols.push_back("cxxabi");
-    ignoreSymbols.push_back("_Unwind_");
-    ignoreSymbols.push_back("dynamic_cast");
-    ignoreSymbols.push_back("System");
-    ignoreSymbols.push_back("AlgTool::");
-    ignoreSymbols.push_back("SG::");
-    ignoreSymbols.push_back("StoreGateSvc::");
-    ignoreSymbols.push_back("NTuple::");
-    ignoreSymbols.push_back("Algorithm::");
-    ignoreSymbols.push_back("MsgStream::");
-    ignoreSymbols.push_back("DataObject::");
-    ignoreSymbols.push_back("CBNT_AthenaBase::");
-    ignoreSymbols.push_back("FactoryTable::");
-    ignoreSymbols.push_back("CLIDRegistry::");
-    ignoreSymbols.push_back("ActiveStoreSvc::");
-    ignoreSymbols.push_back("Genfun::");
-    ignoreSymbols.push_back("Hep3Vector::");
-    ignoreSymbols.push_back("HepGenMatrix::");
-    ignoreSymbols.push_back("HepMatrix::");
-    ignoreSymbols.push_back("HepSymMatrix::");
-    ignoreSymbols.push_back("HepVector::");
-    ignoreSymbols.push_back("Service::");
-    ignoreSymbols.push_back("HepRotation::");
-    ignoreSymbols.push_back("SimplePropertyRef");
-    ignoreSymbols.push_back("NullVerifier");
-    ignoreSymbols.push_back("operator");
-    ignoreSymbols.push_back("typeinfo");
-    ignoreSymbols.push_back("vtable");
-  }
-  
-  /* Ignore library files with the following names by default. */  
-
-  if (ignoreFiles.size()==0) 
-  {
-    ignoreFiles.push_back("libGaudiSvc.so");
-  }
-  
-  std::string buffer;
-  
-  execute ("ls -lL *.so | cut -b 57- ", buffer);
-  
-  GetFilenames (buffer);
-  
-  if (externalLibs.size()!=0)
-  {
-    for (listIterator LI=externalLibs.begin(); LI!=externalLibs.end(); LI++)
-    {
-      if ((*LI).size()>3) fileNames.push_back(*LI);
-    }
-  }
-
-  nfile=fileNames.size();
-  if (nfile==0) 
-  {
-    std::cout << "You are probably not starting chklib in your InstallArea/i686-rh73-gcc32-dbg/lib/ directory" << std::endl;
-    exit (1);
-  } 
-  
-  for (listIterator FI=fileNames.begin(); FI!=fileNames.end(); FI++)
-  {
-    const std::string& fileName = *FI;
-    std::string buffer;  
-    sprintf (command, "nm -C %s 2>&1 | grep -v 'no symbols' | sed -e 's#^[0-9a-fA-F][0-9a-fA-F]*# #' -e 's#^#>> #'", fileName.c_str());
-    execute (command, buffer);
-    ReadSymbols (buffer, fileName);
-  }
-  
-  /* Remove duplicates in the symbol lists */
-
-  defSymbols.sort(); defSymbols.unique();
-  
-  std::list<std::string> foundSymbols; foundSymbols.clear();
-  std::list<std::string> missingSymbols; missingSymbols.clear();  
-  std::list<std::string> ignoredSymbols; ignoredSymbols.clear();    
-  std::map<std::string,std::string> tempList(undefSymbols); undefSymbols.clear();
-  
-  /* Compare undefined symbols with the "Ignore" list. If it is in the
-     ignored list, print it if requested and push back to list */ 
-  
-  for (mapIterator UI=tempList.begin(); UI!=tempList.end(); UI++)
-  {
-    int ignoreSymbol=0;
-    for (listIterator II=ignoreSymbols.begin(); II!=ignoreSymbols.end(); II++)
-    {
-      if ((*UI).first.find(*II)!=std::string::npos) 
-      {
-	ignoreSymbol=1;
-	ignoredSymbols.push_back((*UI).first);
-	if (verbose==1 || verbose==4) std::cout << "Ignored symbol " << (*UI).first << std::endl;
-	break;
-      }
-    }
-    if (ignoreSymbol==0) undefSymbols[(*UI).first]=(*UI).second;
-  }  
-  
-  /* Compare undefined symbols with the resolved symbols. If it is found
-     print it as success or failure if requested and push back to the 
-     list accordingly. */ 
-  
-  for (mapIterator UI=undefSymbols.begin(); UI!=undefSymbols.end(); UI++)
-    {
-      int symbolResolved=0;
-      for (listIterator RI=defSymbols.begin(); RI!=defSymbols.end(); RI++)
-	{
-	  if ( (*UI).first.compare(*RI)==0 ) 
-	    {
-	      symbolResolved=1;
-	      foundSymbols.push_back((*UI).first);
-	      if (verbose==3 || verbose==4) std::cout << "Found symbol " << (*UI).first << std::endl;
-	      break;
-	    }
-	}
-      if (symbolResolved==0)
-	{
-	  if (verbose==2 || verbose==4) std::cout << "Missing symbol " << (*UI).first << " in " << (*UI).second << std::endl;
-	  missingSymbols.push_back((*UI).first);
-	}
-    }
-  if (missingSymbols.size()==0) 
-  {
-    std::cout << std::endl;
-    std::cout << "No missing symbols found. This can have the following reasons:" << std::endl;
-    std::cout << std::endl;
-    std::cout << " 1. Everything is OK (Congratulations)." << std::endl;
-    std::cout << " 2. The ignore list is to extensive." << std::endl;
-    std::cout << " 3. The error (if that was the reason to run this tool) is not related to missing symbols." << std::endl;    
-  } 
-  if (foundSymbols.size()==0 && (verbose==3 || verbose==4)) 
-  {
-    std::cout << std::endl;
-    std::cout << "No symbols resolved. This can have the following reasons:" << std::endl;
-    std::cout << std::endl;
-    std::cout << " 1. The ignore list is to extensive." << std::endl;
-    std::cout << " 2. All symbols are resolved within each library. A succes in resolving a symbol" << std::endl;    
-    std::cout << "    is when the symbol is undefined in one library but found in an other." << std::endl;
-  } 
-  return 0;
-}
-
-
-
-- 
GitLab


From 2a6c28c9333de456e0dcb129ea80cf2f1ac0e656 Mon Sep 17 00:00:00 2001
From: christos <christos@cern.ch>
Date: Mon, 28 Jan 2019 14:07:52 +0000
Subject: [PATCH 171/192] 2019 in copyright

---
 Event/xAOD/xAODTracking/Root/Vertex_v1.cxx                | 3 +--
 Event/xAOD/xAODTracking/xAODTracking/versions/Vertex_v1.h | 3 +--
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/Event/xAOD/xAODTracking/Root/Vertex_v1.cxx b/Event/xAOD/xAODTracking/Root/Vertex_v1.cxx
index 60c7cf330789..f81c83696716 100644
--- a/Event/xAOD/xAODTracking/Root/Vertex_v1.cxx
+++ b/Event/xAOD/xAODTracking/Root/Vertex_v1.cxx
@@ -1,8 +1,7 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
-// $Id: Vertex_v1.cxx 575751 2013-12-16 16:45:36Z krasznaa $
 
 // System include(s):
 #include <cmath>
diff --git a/Event/xAOD/xAODTracking/xAODTracking/versions/Vertex_v1.h b/Event/xAOD/xAODTracking/xAODTracking/versions/Vertex_v1.h
index d2886bf6975f..d3156ccf94ee 100644
--- a/Event/xAOD/xAODTracking/xAODTracking/versions/Vertex_v1.h
+++ b/Event/xAOD/xAODTracking/xAODTracking/versions/Vertex_v1.h
@@ -1,10 +1,9 @@
 // Dear emacs, this is -*- c++ -*-
 
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
-// $Id: Vertex_v1.h 575751 2013-12-16 16:45:36Z krasznaa $
 #ifndef XAODTRACKING_VERSIONS_VERTEX_V1_H
 #define XAODTRACKING_VERSIONS_VERTEX_V1_H
 
-- 
GitLab


From b8c2757503df75d8247e37d5444c361fc425981c Mon Sep 17 00:00:00 2001
From: christos <christos@cern.ch>
Date: Mon, 28 Jan 2019 15:14:13 +0000
Subject: [PATCH 172/192] static Thread safety fixes for xAODMuon

---
 Event/xAOD/xAODMuon/Root/MuonAccessors_v1.h   |  5 +-
 Event/xAOD/xAODMuon/Root/MuonAccessors_v1.icc | 22 ++----
 Event/xAOD/xAODMuon/Root/MuonSegment_v1.cxx   | 37 +++++-----
 .../Root/MuonTrackSummaryAccessors_v1.cxx     | 26 +++----
 .../Root/MuonTrackSummaryAccessors_v1.h       |  2 +-
 Event/xAOD/xAODMuon/Root/Muon_v1.cxx          | 73 +++++++++----------
 Event/xAOD/xAODMuon/Root/SlowMuon_v1.cxx      | 24 +++---
 7 files changed, 88 insertions(+), 101 deletions(-)

diff --git a/Event/xAOD/xAODMuon/Root/MuonAccessors_v1.h b/Event/xAOD/xAODMuon/Root/MuonAccessors_v1.h
index 50113dea52a3..377a51af2db7 100644
--- a/Event/xAOD/xAODMuon/Root/MuonAccessors_v1.h
+++ b/Event/xAOD/xAODMuon/Root/MuonAccessors_v1.h
@@ -1,10 +1,9 @@
 // Dear emacs, this is -*- c++ -*-
 
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
-// $Id: MuonAccessors_v1.h 647346 2015-02-17 10:24:03Z emoyse $
 #ifndef XAODMUON_MUONACCESSORS_V1_H
 #define XAODMUON_MUONACCESSORS_V1_H
 
@@ -22,7 +21,7 @@ namespace xAOD {
    /// Muon_v1 object at runtime to get/set parameter values on themselves.
    ///
    template <class T>
-   SG::AuxElement::Accessor< T >*
+   const SG::AuxElement::Accessor< T >*
    parameterAccessorV1( Muon_v1::ParamDef type );
    
 } // namespace xAOD
diff --git a/Event/xAOD/xAODMuon/Root/MuonAccessors_v1.icc b/Event/xAOD/xAODMuon/Root/MuonAccessors_v1.icc
index 3e68c495ab7d..abfac21bec19 100644
--- a/Event/xAOD/xAODMuon/Root/MuonAccessors_v1.icc
+++ b/Event/xAOD/xAODMuon/Root/MuonAccessors_v1.icc
@@ -1,10 +1,9 @@
 // Dear emacs, this is -*- c++ -*-
 
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
-// $Id: MuonAccessors_v1.icc 745098 2016-05-05 15:47:04Z wleight $
 
 // System include(s):
 #include <iostream>
@@ -13,7 +12,7 @@
 #define DEFINE_ACCESSOR(TYPE, NAME )                               \
    case xAOD::Muon_v1::NAME:                                                \
    {                                                               \
-      static SG::AuxElement::Accessor< TYPE > a( #NAME );          \
+      static const SG::AuxElement::Accessor< TYPE > a( #NAME );          \
       return &a;                                                   \
    }                                                               \
    break;
@@ -22,12 +21,12 @@ namespace xAOD {
 
   // Generic case. Maybe return warning?
   template<class T>
-   SG::AuxElement::Accessor< T >*
+   const SG::AuxElement::Accessor< T >*
    parameterAccessorV1( Muon_v1::ParamDef /*type*/ )
    {}
    
   template<>
-   SG::AuxElement::Accessor< float >*
+   const SG::AuxElement::Accessor< float >*
    parameterAccessorV1<float>( Muon_v1::ParamDef type ) {
       switch( type ) {
         DEFINE_ACCESSOR( float, spectrometerFieldIntegral        );
@@ -45,11 +44,8 @@ namespace xAOD {
         DEFINE_ACCESSOR( float, midAngle                         );
         DEFINE_ACCESSOR( float, msInnerMatchChi2                 );
         DEFINE_ACCESSOR( float, msOuterMatchChi2                 );
-        // DEFINE_ACCESSOR( float, msInnerMatchDOF                  ); These ParamDefs are INT and defined below.
-        // DEFINE_ACCESSOR( float, msOuterMatchDOF                  );
         DEFINE_ACCESSOR( float, meanDeltaADCCountsMDT            );		
         DEFINE_ACCESSOR( float, CaloLRLikelihood                 );		
-        // DEFINE_ACCESSOR( float, CaloMuonIDTag                    ); INT
         DEFINE_ACCESSOR( float, FSR_CandidateEnergy              );		
         DEFINE_ACCESSOR( float, EnergyLoss                       );		
         DEFINE_ACCESSOR( float, ParamEnergyLoss                  );		
@@ -58,13 +54,7 @@ namespace xAOD {
         DEFINE_ACCESSOR( float, ParamEnergyLossSigmaPlus         );		
         DEFINE_ACCESSOR( float, ParamEnergyLossSigmaMinus        );		
         DEFINE_ACCESSOR( float, MeasEnergyLossSigma              );		
-	//DEFINE_ACCESSOR( float, d0_sa                            );
-	//DEFINE_ACCESSOR( float, z0_sa                            );
-	//DEFINE_ACCESSOR( float, phi0_sa                          );
-	//DEFINE_ACCESSOR( float, theta_sa                         );
-	//DEFINE_ACCESSOR( float, qOverP_sa                        );
-	//DEFINE_ACCESSOR( float, Eloss_sa                         );
-      default:                  
+    default:                  
          std::cerr << "xAOD::Muon::parameterAccessorV1 ERROR Unknown float ParamDef ("
                    << type << ") requested.";
          if (type == Muon_v1::msInnerMatchDOF || type == Muon_v1::msOuterMatchDOF || type == Muon_v1::CaloMuonIDTag) 
@@ -75,7 +65,7 @@ namespace xAOD {
    }
    
    template<>
-    SG::AuxElement::Accessor< int >*
+    const SG::AuxElement::Accessor< int >*
     parameterAccessorV1<int>( Muon_v1::ParamDef type ) {
        switch( type ) {
          DEFINE_ACCESSOR( int,   msInnerMatchDOF                  );
diff --git a/Event/xAOD/xAODMuon/Root/MuonSegment_v1.cxx b/Event/xAOD/xAODMuon/Root/MuonSegment_v1.cxx
index 8654645844c1..b87274d5b88f 100644
--- a/Event/xAOD/xAODMuon/Root/MuonSegment_v1.cxx
+++ b/Event/xAOD/xAODMuon/Root/MuonSegment_v1.cxx
@@ -1,8 +1,7 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
-// $Id: MuonSegment_v1.cxx 612402 2014-08-19 07:28:08Z htorres $
 
 // EDM include(s):
 #include "xAODCore/AuxStoreAccessorMacros.h"
@@ -21,11 +20,11 @@ namespace xAOD {
   AUXSTORE_PRIMITIVE_GETTER( MuonSegment_v1, float, z )
 
   void MuonSegment_v1::setPosition(float x, float y, float z) {
-    static Accessor< float > acc1( "x" );
+    static const Accessor< float > acc1( "x" );
     acc1( *this ) = x;
-    static Accessor< float > acc2( "y" );
+    static const Accessor< float > acc2( "y" );
     acc2( *this ) = y;
-    static Accessor< float > acc3( "z" );
+    static const Accessor< float > acc3( "z" );
     acc3( *this ) = z;
   }
   
@@ -34,11 +33,11 @@ namespace xAOD {
   AUXSTORE_PRIMITIVE_GETTER( MuonSegment_v1, float, pz )
 
   void MuonSegment_v1::setDirection(float px, float py, float pz) {
-    static Accessor< float > acc1( "px" );
+    static const Accessor< float > acc1( "px" );
     acc1( *this ) = px;
-    static Accessor< float > acc2( "py" );
+    static const Accessor< float > acc2( "py" );
     acc2( *this ) = py;
-    static Accessor< float > acc3( "pz" );
+    static const Accessor< float > acc3( "pz" );
     acc3( *this ) = pz;
   }
 
@@ -46,9 +45,9 @@ namespace xAOD {
   AUXSTORE_PRIMITIVE_GETTER( MuonSegment_v1, float, t0error )
 
   void MuonSegment_v1::setT0Error(float t0, float t0error) {
-    static Accessor< float > acc1( "t0" );
+    static const Accessor< float > acc1( "t0" );
     acc1( *this ) = t0;  
-    static Accessor< float > acc2( "t0error" );
+    static const Accessor< float > acc2( "t0error" );
     acc2( *this ) = t0error;   
   }
 
@@ -56,9 +55,9 @@ namespace xAOD {
   AUXSTORE_PRIMITIVE_GETTER( MuonSegment_v1, float, numberDoF  )
 
   void MuonSegment_v1::setFitQuality(float chiSquared, float numberDoF) {
-    static Accessor< float > acc1( "chiSquared" );
+    static const Accessor< float > acc1( "chiSquared" );
     acc1( *this ) = chiSquared;  
-    static Accessor< float > acc2( "numberDoF" );
+    static const Accessor< float > acc2( "numberDoF" );
     acc2( *this ) = numberDoF;   
   }
 
@@ -68,13 +67,13 @@ namespace xAOD {
   AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( MuonSegment_v1, int, Muon::MuonStationIndex::TechnologyIndex, technology )
 
   void MuonSegment_v1::setIdentifier(int sector, Muon::MuonStationIndex::ChIndex chamberIndex, int etaIndex, Muon::MuonStationIndex::TechnologyIndex technology) {
-    static Accessor< int   > acc1( "sector" );
+    static const Accessor< int   > acc1( "sector" );
     acc1( *this ) = sector;
-    static Accessor< int   > acc2( "chamberIndex" );
+    static const Accessor< int   > acc2( "chamberIndex" );
     acc2( *this ) = static_cast<int>(chamberIndex);
-    static Accessor< int   > acc3( "etaIndex" );
+    static const Accessor< int   > acc3( "etaIndex" );
     acc3( *this ) = etaIndex;
-    static Accessor< int   > acc4( "technology" );
+    static const Accessor< int   > acc4( "technology" );
     acc4( *this ) = static_cast<int>(technology);
   }
 
@@ -83,11 +82,11 @@ namespace xAOD {
   AUXSTORE_PRIMITIVE_GETTER( MuonSegment_v1, int  , nTrigEtaLayers )
 
   void MuonSegment_v1::setNHits(int nPrecisionHits, int nPhiLayers, int nTrigEtaLayers) {
-    static Accessor< int   > acc1( "nPrecisionHits" );
+    static const Accessor< int   > acc1( "nPrecisionHits" );
     acc1( *this ) = nPrecisionHits;
-    static Accessor< int   > acc2( "nPhiLayers" );
+    static const Accessor< int   > acc2( "nPhiLayers" );
     acc2( *this ) = nPhiLayers;
-    static Accessor< int   > acc3( "nTrigEtaLayers" );
+    static const Accessor< int   > acc3( "nTrigEtaLayers" );
     acc3( *this ) = nTrigEtaLayers;
   }
 
diff --git a/Event/xAOD/xAODMuon/Root/MuonTrackSummaryAccessors_v1.cxx b/Event/xAOD/xAODMuon/Root/MuonTrackSummaryAccessors_v1.cxx
index 5b356d7a414d..0da68c9354b5 100644
--- a/Event/xAOD/xAODMuon/Root/MuonTrackSummaryAccessors_v1.cxx
+++ b/Event/xAOD/xAODMuon/Root/MuonTrackSummaryAccessors_v1.cxx
@@ -14,14 +14,14 @@
 #define DEFINE_ACCESSOR(TYPE, NAME )                               \
    case xAOD::NAME:                                                \
    {                                                               \
-      static SG::AuxElement::Accessor< TYPE > a( #NAME );          \
+      static const SG::AuxElement::Accessor< TYPE > a( #NAME );          \
       return &a;                                                   \
    }                                                               \
    break;
 
 namespace xAOD {
 
-   SG::AuxElement::Accessor< uint8_t >*
+   const SG::AuxElement::Accessor< uint8_t >*
    muonTrackSummaryAccessorV1( xAOD::MuonSummaryType type ) {
 
       switch( type ) {
@@ -105,23 +105,23 @@ namespace xAOD {
         DEFINE_ACCESSOR( uint8_t, etaLayer3TGCHoles );
         DEFINE_ACCESSOR( uint8_t, etaLayer4TGCHoles );
 
-	DEFINE_ACCESSOR( uint8_t, innerClosePrecisionHits );
-	DEFINE_ACCESSOR( uint8_t, middleClosePrecisionHits );
-	DEFINE_ACCESSOR( uint8_t, outerClosePrecisionHits );
-	DEFINE_ACCESSOR( uint8_t, extendedClosePrecisionHits );
+        DEFINE_ACCESSOR( uint8_t, innerClosePrecisionHits );
+        DEFINE_ACCESSOR( uint8_t, middleClosePrecisionHits );
+        DEFINE_ACCESSOR( uint8_t, outerClosePrecisionHits );
+        DEFINE_ACCESSOR( uint8_t, extendedClosePrecisionHits );
 
-	DEFINE_ACCESSOR( uint8_t, innerOutBoundsPrecisionHits );
+        DEFINE_ACCESSOR( uint8_t, innerOutBoundsPrecisionHits );
         DEFINE_ACCESSOR( uint8_t, middleOutBoundsPrecisionHits );
-	DEFINE_ACCESSOR( uint8_t, outerOutBoundsPrecisionHits );
+        DEFINE_ACCESSOR( uint8_t, outerOutBoundsPrecisionHits );
         DEFINE_ACCESSOR( uint8_t, extendedOutBoundsPrecisionHits );
 
-	DEFINE_ACCESSOR( uint8_t, combinedTrackOutBoundsPrecisionHits );
+        DEFINE_ACCESSOR( uint8_t, combinedTrackOutBoundsPrecisionHits );
 
-	DEFINE_ACCESSOR( uint8_t, isEndcapGoodLayers );
-	DEFINE_ACCESSOR( uint8_t, isSmallGoodSectors );
+        DEFINE_ACCESSOR( uint8_t, isEndcapGoodLayers );
+        DEFINE_ACCESSOR( uint8_t, isSmallGoodSectors );
 
-	DEFINE_ACCESSOR( uint8_t, cscEtaHits );
-	DEFINE_ACCESSOR( uint8_t, cscUnspoiledEtaHits );
+        DEFINE_ACCESSOR( uint8_t, cscEtaHits );
+        DEFINE_ACCESSOR( uint8_t, cscUnspoiledEtaHits );
 
       default:                  
          std::cerr << "xAOD::MuonTrackParticle_v1 ERROR Unknown MuonSummaryType ("
diff --git a/Event/xAOD/xAODMuon/Root/MuonTrackSummaryAccessors_v1.h b/Event/xAOD/xAODMuon/Root/MuonTrackSummaryAccessors_v1.h
index a5a6c6c4c762..520d0d371855 100644
--- a/Event/xAOD/xAODMuon/Root/MuonTrackSummaryAccessors_v1.h
+++ b/Event/xAOD/xAODMuon/Root/MuonTrackSummaryAccessors_v1.h
@@ -21,7 +21,7 @@ namespace xAOD {
    /// This function holds on to Accessor objects that can be used by each
    /// TrackParticle_v1 object at runtime to get/set summary values on themselves.
    ///
-   SG::AuxElement::Accessor< uint8_t >*
+   const SG::AuxElement::Accessor< uint8_t >*
    muonTrackSummaryAccessorV1( xAOD::MuonSummaryType type );
 
 } // namespace xAOD
diff --git a/Event/xAOD/xAODMuon/Root/Muon_v1.cxx b/Event/xAOD/xAODMuon/Root/Muon_v1.cxx
index fe3a6c0e8b00..b0f77f4218bb 100644
--- a/Event/xAOD/xAODMuon/Root/Muon_v1.cxx
+++ b/Event/xAOD/xAODMuon/Root/Muon_v1.cxx
@@ -1,8 +1,7 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
-// $Id: Muon_v1.cxx 792230 2017-01-15 06:03:39Z ssnyder $
 // Misc includes
 #include <vector>
 
@@ -67,9 +66,9 @@ namespace xAOD {
   }
 
   void Muon_v1::setP4(double pt, double eta, double phi)  {
-    static Accessor< float > acc1( "pt" );
-    static Accessor< float > acc2( "eta" );
-    static Accessor< float > acc3( "phi" );
+    static const Accessor< float > acc1( "pt" );
+    static const Accessor< float > acc2( "eta" );
+    static const Accessor< float > acc3( "phi" );
     acc1( *this )=pt;
     acc2( *this )=eta;
     acc3( *this )=phi;
@@ -107,12 +106,12 @@ namespace xAOD {
 
 
   void Muon_v1::addAllAuthor ( const Author author ){
-    static Accessor< uint16_t > acc( "allAuthors" );
+    static const Accessor< uint16_t > acc( "allAuthors" );
     acc(*this) |= 1<<static_cast<unsigned int>(author);
   }
 
   bool Muon_v1::isAuthor ( const Author author ) const{
-    static Accessor< uint16_t > acc( "allAuthors" );
+    static const Accessor< uint16_t > acc( "allAuthors" );
     return (acc(*this)& (1<<static_cast<unsigned int>(author)));
   }
 
@@ -160,7 +159,7 @@ namespace xAOD {
   }
   
   bool Muon_v1::summaryValue(uint8_t& value, const MuonSummaryType information)  const {
-    Muon_v1::Accessor< uint8_t >* acc = muonTrackSummaryAccessorV1( information );
+    const Muon_v1::Accessor< uint8_t >* acc = muonTrackSummaryAccessorV1( information );
     if( ! acc ) return false;
     if( ! acc->isAvailable( *this ) ) return false;
     
@@ -170,19 +169,19 @@ namespace xAOD {
   }
   
   float Muon_v1::uint8MuonSummaryValue(const MuonSummaryType information) const{
-	  Muon_v1::Accessor< uint8_t >* acc = muonTrackSummaryAccessorV1( information );
+	  const Muon_v1::Accessor< uint8_t >* acc = muonTrackSummaryAccessorV1( information );
 	  return ( *acc )( *this );
   }
   
 
   void Muon_v1::setSummaryValue(uint8_t value, const MuonSummaryType information) {
-    Muon_v1::Accessor< uint8_t >* acc = muonTrackSummaryAccessorV1( information );
+    const Muon_v1::Accessor< uint8_t >* acc = muonTrackSummaryAccessorV1( information );
     // Set the value:
     ( *acc )( *this ) =  value;
   }
   
   bool Muon_v1::parameter(float& value, const Muon_v1::ParamDef information)  const {
-    xAOD::Muon_v1::Accessor< float >* acc = parameterAccessorV1<float>( information );
+    const xAOD::Muon_v1::Accessor< float >* acc = parameterAccessorV1<float>( information );
     if( ! acc ) return false;
     if( ! acc->isAvailable( *this ) ) return false;
     
@@ -192,12 +191,12 @@ namespace xAOD {
   }
 	
   float xAOD::Muon_v1::floatParameter(xAOD::Muon_v1::ParamDef information) const{
-    xAOD::Muon_v1::Accessor< float >* acc = parameterAccessorV1<float>( information );
+    const xAOD::Muon_v1::Accessor< float >* acc = parameterAccessorV1<float>( information );
     return ( *acc )( *this );
   }
 
   void Muon_v1::setParameter(float value, const Muon_v1::ParamDef information){
-    xAOD::Muon_v1::Accessor< float >* acc = parameterAccessorV1<float>( information );
+    const xAOD::Muon_v1::Accessor< float >* acc = parameterAccessorV1<float>( information );
     if( ! acc ) throw std::runtime_error("Muon_v1::setParameter - no float accessor for paramdef number: "+std::to_string(information));
     
     // Set the value:
@@ -205,7 +204,7 @@ namespace xAOD {
   }
   
   bool Muon_v1::parameter(int& value, const Muon_v1::ParamDef information)  const {
-    xAOD::Muon_v1::Accessor< int >* acc = parameterAccessorV1<int>( information );
+    const xAOD::Muon_v1::Accessor< int >* acc = parameterAccessorV1<int>( information );
     if( ! acc ) return false;
     if( ! acc->isAvailable( *this ) ) return false;
     
@@ -215,12 +214,12 @@ namespace xAOD {
   }
 	
   int xAOD::Muon_v1::intParameter(xAOD::Muon_v1::ParamDef information) const{
-    xAOD::Muon_v1::Accessor< int >* acc = parameterAccessorV1<int>( information );
+    const xAOD::Muon_v1::Accessor< int >* acc = parameterAccessorV1<int>( information );
     return ( *acc )( *this );
   }
 
   void Muon_v1::setParameter(int value, const Muon_v1::ParamDef information){
-    xAOD::Muon_v1::Accessor< int >* acc = parameterAccessorV1<int>( information );
+    const xAOD::Muon_v1::Accessor< int >* acc = parameterAccessorV1<int>( information );
     if( ! acc ) throw std::runtime_error("Muon_v1::setParameter - no int accessor for paramdef number: "+std::to_string(information));
     
     // Set the value:
@@ -228,13 +227,13 @@ namespace xAOD {
   }
 
   xAOD::Muon_v1::Quality Muon_v1::quality() const {
-    static Accessor< uint8_t > acc( "quality" );
+    static const Accessor< uint8_t > acc( "quality" );
     uint8_t temp =  acc( *this );
     return static_cast<Quality>(temp&3);     
   }
   
   void Muon_v1::setQuality(xAOD::Muon_v1::Quality value) {
-    static Accessor< uint8_t > acc( "quality" );
+    static const Accessor< uint8_t > acc( "quality" );
     uint8_t temp = static_cast< uint8_t >(value);
     acc( *this ) = acc( *this ) & ~(0x7); // Reset the first 3 bits.
     acc( *this ) |= temp;
@@ -242,14 +241,14 @@ namespace xAOD {
   }
   
   bool Muon_v1::passesIDCuts() const {
-    static Accessor< uint8_t > acc( "quality" );
+    static const Accessor< uint8_t > acc( "quality" );
     uint8_t temp =  acc( *this );
     // We use 4th bit for 'passesIDCuts'
     return temp&8;     
   }
   
   void Muon_v1::setPassesIDCuts(bool value) {
-    static Accessor< uint8_t > acc( "quality" );
+    static const Accessor< uint8_t > acc( "quality" );
     // We use 4th bit for 'passesIDCuts'
     if (value) acc( *this ) |= 8;
     else       acc( *this ) &= 247;
@@ -257,14 +256,14 @@ namespace xAOD {
   }
   
   bool Muon_v1::passesHighPtCuts() const {
-    static Accessor< uint8_t > acc( "quality" );
+    static const Accessor< uint8_t > acc( "quality" );
     uint8_t temp =  acc( *this );
     // We use 5th bit for 'passesHighPtCuts'
     return temp&16;    
   }
   
   void Muon_v1::setPassesHighPtCuts(bool value) {
-    static Accessor< uint8_t > acc( "quality" );
+    static const Accessor< uint8_t > acc( "quality" );
     // We use 5th bit for 'passesHighPtCuts'
     if (value) acc( *this ) |= 16;
     else       acc( *this ) &= 239;
@@ -394,17 +393,17 @@ bool Muon_v1::isolationCaloCorrection(  float& value, const Iso::IsolationFlavou
           // Not checking if links are valid here - this is the job of the client (as per the cases above).
           // But we DO check that the link is available, so we can check for both types of links.
           
-          static Accessor< ElementLink< TrackParticleContainer > > acc1( "extrapolatedMuonSpectrometerTrackParticleLink" );
+          static const Accessor< ElementLink< TrackParticleContainer > > acc1( "extrapolatedMuonSpectrometerTrackParticleLink" );
           if ( acc1.isAvailable( *this ) && acc1( *this ).isValid() ) {
             return acc1( *this );
           }
 
-          static Accessor< ElementLink< TrackParticleContainer > > acc2( "msOnlyExtrapolatedMuonSpectrometerTrackParticleLink" );
+          static const Accessor< ElementLink< TrackParticleContainer > > acc2( "msOnlyExtrapolatedMuonSpectrometerTrackParticleLink" );
           if ( acc2.isAvailable( *this ) && acc2( *this ).isValid() ) {
             return acc2( *this );
           }
           
-          static Accessor< ElementLink< TrackParticleContainer > > acc3( "muonSpectrometerTrackParticleLink" );
+          static const Accessor< ElementLink< TrackParticleContainer > > acc3( "muonSpectrometerTrackParticleLink" );
           if ( acc3.isAvailable( *this ) && acc3( *this ).isValid()) {            
             return acc3( *this );
           }
@@ -425,7 +424,7 @@ bool Muon_v1::isolationCaloCorrection(  float& value, const Iso::IsolationFlavou
       case Combined:
       case SiliconAssociatedForwardMuon :
          {
-            static Accessor< ElementLink< TrackParticleContainer > > acc( "combinedTrackParticleLink" );
+            static const Accessor< ElementLink< TrackParticleContainer > > acc( "combinedTrackParticleLink" );
             if( ! acc.isAvailable( *this ) ) return 0;
           
             const ElementLink< TrackParticleContainer >& link = acc( *this );
@@ -436,7 +435,7 @@ bool Muon_v1::isolationCaloCorrection(  float& value, const Iso::IsolationFlavou
       case SegmentTagged:
       case CaloTagged :
         {
-           static Accessor< ElementLink< TrackParticleContainer > > acc( "inDetTrackParticleLink" );
+           static const Accessor< ElementLink< TrackParticleContainer > > acc( "inDetTrackParticleLink" );
            if( ! acc.isAvailable( *this ) ) return 0;
            
            const ElementLink< TrackParticleContainer >& link = acc( *this );
@@ -447,21 +446,21 @@ bool Muon_v1::isolationCaloCorrection(  float& value, const Iso::IsolationFlavou
       case MuonStandAlone :
         {
           // Want to return link to extrapolated MS track particle if possible.
-          static Accessor< ElementLink< TrackParticleContainer > > acc1( "extrapolatedMuonSpectrometerTrackParticleLink" );
+          static const Accessor< ElementLink< TrackParticleContainer > > acc1( "extrapolatedMuonSpectrometerTrackParticleLink" );
           if ( acc1.isAvailable( *this ) ) {            
             const ElementLink< TrackParticleContainer >& link = acc1( *this );
             if ( link.isValid() ) return *link;
           }
 
 	  //if no, maybe the MS-only extrapolated track particle?
-          static Accessor< ElementLink< TrackParticleContainer > > acc2( "msOnlyExtrapolatedMuonSpectrometerTrackParticleLink" );
+          static const Accessor< ElementLink< TrackParticleContainer > > acc2( "msOnlyExtrapolatedMuonSpectrometerTrackParticleLink" );
           if ( acc2.isAvailable( *this ) ) {
             const ElementLink< TrackParticleContainer >& link = acc2( *this );
             if ( link.isValid() ) return *link;
           }
           
           // Try fallback (non-extrapolated MS track particle)...
-          static Accessor< ElementLink< TrackParticleContainer > > acc3( "muonSpectrometerTrackParticleLink" );
+          static const Accessor< ElementLink< TrackParticleContainer > > acc3( "muonSpectrometerTrackParticleLink" );
           if ( acc3.isAvailable( *this ) ) {            
             const ElementLink< TrackParticleContainer >& link = acc3( *this );
             if ( link.isValid() ) return *link;
@@ -526,23 +525,23 @@ bool Muon_v1::isolationCaloCorrection(  float& value, const Iso::IsolationFlavou
   void Muon_v1::setTrackParticleLink(TrackParticleType type, const ElementLink< TrackParticleContainer >& link){
     switch ( type ) {
       case InnerDetectorTrackParticle :
-        static Accessor< ElementLink< TrackParticleContainer > > acc1( "inDetTrackParticleLink" );
+        static const Accessor< ElementLink< TrackParticleContainer > > acc1( "inDetTrackParticleLink" );
         acc1(*this)=link;
         break;
       case MuonSpectrometerTrackParticle :
-        static Accessor< ElementLink< TrackParticleContainer > > acc2( "muonSpectrometerTrackParticleLink" );
+        static const Accessor< ElementLink< TrackParticleContainer > > acc2( "muonSpectrometerTrackParticleLink" );
         acc2(*this)=link;
         break;
       case CombinedTrackParticle :
-        static Accessor< ElementLink< TrackParticleContainer > > acc3( "combinedTrackParticleLink" );
+        static const Accessor< ElementLink< TrackParticleContainer > > acc3( "combinedTrackParticleLink" );
         acc3(*this)=link;          
         break;
       case ExtrapolatedMuonSpectrometerTrackParticle :
-        static Accessor< ElementLink< TrackParticleContainer > > acc4( "extrapolatedMuonSpectrometerTrackParticleLink" );
+        static const Accessor< ElementLink< TrackParticleContainer > > acc4( "extrapolatedMuonSpectrometerTrackParticleLink" );
         acc4(*this)=link;
         break;
       case MSOnlyExtrapolatedMuonSpectrometerTrackParticle :
-	static Accessor< ElementLink< TrackParticleContainer > > acc5( "msOnlyExtrapolatedMuonSpectrometerTrackParticleLink" );
+        static const Accessor< ElementLink< TrackParticleContainer > > acc5( "msOnlyExtrapolatedMuonSpectrometerTrackParticleLink" );
 	acc5(*this)=link;
 	break;
       case Primary :
@@ -554,7 +553,7 @@ bool Muon_v1::isolationCaloCorrection(  float& value, const Iso::IsolationFlavou
   AUXSTORE_OBJECT_SETTER_AND_GETTER( Muon_v1, ElementLink<CaloClusterContainer>, clusterLink, setClusterLink)
   const CaloCluster* Muon_v1::cluster() const { 
     
-    static Accessor< ElementLink< TrackParticleContainer > > acc( "inDetTrackParticleLink" );
+    static const Accessor< ElementLink< TrackParticleContainer > > acc( "inDetTrackParticleLink" );
     if( ! acc.isAvailable( *this ) ) {
        return 0;
     }
@@ -580,7 +579,7 @@ bool Muon_v1::isolationCaloCorrection(  float& value, const Iso::IsolationFlavou
 
   AUXSTORE_OBJECT_SETTER_AND_GETTER( Muon_v1, std::vector< ElementLink< xAOD::MuonSegmentContainer > >, muonSegmentLinks, setMuonSegmentLinks)
 
-  static SG::AuxElement::Accessor< std::vector< ElementLink< MuonSegmentContainer > > > muonSegmentsAcc( "muonSegmentLinks" ); 
+  static const SG::AuxElement::Accessor< std::vector< ElementLink< MuonSegmentContainer > > > muonSegmentsAcc( "muonSegmentLinks" ); 
   size_t Muon_v1::nMuonSegments() const {
         // If a link was not set (yet), return zero.
     if( ! muonSegmentsAcc.isAvailable( *this ) ) {
diff --git a/Event/xAOD/xAODMuon/Root/SlowMuon_v1.cxx b/Event/xAOD/xAODMuon/Root/SlowMuon_v1.cxx
index 659b4540c21a..89a6db2d18e6 100644
--- a/Event/xAOD/xAODMuon/Root/SlowMuon_v1.cxx
+++ b/Event/xAOD/xAODMuon/Root/SlowMuon_v1.cxx
@@ -29,13 +29,13 @@ namespace xAOD {
   AUXSTORE_PRIMITIVE_GETTER( SlowMuon_v1, int, rpcBetaDof )
   
   void SlowMuon_v1::setRpcInfo(float rpcBetaAvg, float rpcBetaRms, float rpcBetaChi2, int rpcBetaDof) {
-    static Accessor< float > acc1( "rpcBetaAvg" );
+    static const Accessor< float > acc1( "rpcBetaAvg" );
     acc1( *this ) = rpcBetaAvg;
-    static Accessor< float > acc2( "rpcBetaRms" );
+    static const Accessor< float > acc2( "rpcBetaRms" );
     acc2( *this ) = rpcBetaRms;
-    static Accessor< float > acc3( "rpcBetaChi2" );
+    static const Accessor< float > acc3( "rpcBetaChi2" );
     acc3( *this ) = rpcBetaChi2;
-    static Accessor< int > acc4( "rpcBetaDof" );
+    static const Accessor< int > acc4( "rpcBetaDof" );
     acc4( *this ) = rpcBetaDof;
   }
 
@@ -45,13 +45,13 @@ namespace xAOD {
   AUXSTORE_PRIMITIVE_GETTER( SlowMuon_v1, int, mdtBetaDof )
   
   void SlowMuon_v1::setMdtInfo(float mdtBetaAvg, float mdtBetaRms, float mdtBetaChi2, int mdtBetaDof) {
-    static Accessor< float > acc1( "mdtBetaAvg" );
+    static const Accessor< float > acc1( "mdtBetaAvg" );
     acc1( *this ) = mdtBetaAvg;
-    static Accessor< float > acc2( "mdtBetaRms" );
+    static const Accessor< float > acc2( "mdtBetaRms" );
     acc2( *this ) = mdtBetaRms;
-    static Accessor< float > acc3( "mdtBetaChi2" );
+    static const Accessor< float > acc3( "mdtBetaChi2" );
     acc3( *this ) = mdtBetaChi2;
-    static Accessor< int > acc4( "mdtBetaDof" );
+    static const Accessor< int > acc4( "mdtBetaDof" );
     acc4( *this ) = mdtBetaDof;
   }
 
@@ -61,13 +61,13 @@ namespace xAOD {
   AUXSTORE_PRIMITIVE_GETTER( SlowMuon_v1, int, caloBetaDof )
   
   void SlowMuon_v1::setCaloInfo(float caloBetaAvg, float caloBetaRms, float caloBetaChi2, int caloBetaDof) {
-    static Accessor< float > acc1( "caloBetaAvg" );
+    static const Accessor< float > acc1( "caloBetaAvg" );
     acc1( *this ) = caloBetaAvg;
-    static Accessor< float > acc2( "caloBetaRms" );
+    static const Accessor< float > acc2( "caloBetaRms" );
     acc2( *this ) = caloBetaRms;
-    static Accessor< float > acc3( "caloBetaChi2" );
+    static const Accessor< float > acc3( "caloBetaChi2" );
     acc3( *this ) = caloBetaChi2;
-    static Accessor< int > acc4( "caloBetaDof" );
+    static const Accessor< int > acc4( "caloBetaDof" );
     acc4( *this ) = caloBetaDof;
   }
 
-- 
GitLab


From 13336d8a7629094d0fda30e4c31dbcc1857eee32 Mon Sep 17 00:00:00 2001
From: Tomasz Bold <tomasz.bold@gmail.com>
Date: Mon, 28 Jan 2019 18:19:01 +0100
Subject: [PATCH 173/192] fixes egamma test for e3 + e5

---
 .../python/TrigL2ElectronHypoTool.py          |  9 ++-
 .../TrigUpgradeTest/share/egamma.withViews.py |  2 +-
 .../TrigUpgradeTest/share/egammaRunData.ref   | 64 +++++++++----------
 3 files changed, 40 insertions(+), 35 deletions(-)

diff --git a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2ElectronHypoTool.py b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2ElectronHypoTool.py
index cb09cf72662c..91a1460d483c 100644
--- a/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2ElectronHypoTool.py
+++ b/Trigger/TrigHypothesis/TrigEgammaHypo/python/TrigL2ElectronHypoTool.py
@@ -2,8 +2,10 @@
 
 def TrigL2ElectronHypoToolFromDict( chainDict ):
     """ Use menu decoded chain dictionary to configure the tool """
+
     thresholds = sum([ [cpart['threshold']]*int(cpart['multiplicity']) for cpart in chainDict['chainParts']], [])
 
+
     name = chainDict['chainName']
     
     from TrigEgammaHypo.TrigEgammaHypoConf import TrigL2ElectronHypoTool
@@ -38,8 +40,7 @@ def TrigL2ElectronHypoToolFromDict( chainDict ):
     tool.TRTRatio = [ -999. ] * nt
 
 
-    for th, thvalue in enumerate(thresholds):
-        print th, thvalue
+    for th, thvalue in enumerate(thresholds):        
         if float(thvalue) < 15:
             tool.TrackPt[ th ] = 1.0 * GeV 
         elif float(thvalue) >= 15 and float(thvalue) < 20:
@@ -76,4 +77,8 @@ if __name__ == "__main__":
     assert tool, "Not configured simple tool"
     assert len(tool.TrackPt) == 2, "Multiplicity missonfigured, set "+ str( len( tool.TrackPt ) )
 
+    tool = TrigL2ElectronHypoToolFromName("HLT_e3_e5_etcut", "HLT_e3_e5_etcut")    
+    assert tool, "Not configured simple tool"
+    assert len(tool.TrackPt) == 2, "Multiplicity missonfigured, set "+ str( len( tool.TrackPt ) )
+
     print ( "\n\nALL OK\n\n" )    
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/egamma.withViews.py b/Trigger/TrigValidation/TrigUpgradeTest/share/egamma.withViews.py
index a56d814fe0c7..a202531b23b2 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/share/egamma.withViews.py
+++ b/Trigger/TrigValidation/TrigUpgradeTest/share/egamma.withViews.py
@@ -39,7 +39,7 @@ CTPToChainMapping = {"HLT_e3_etcut": "L1_EM3",
                      "HLT_e5_etcut":  "L1_EM3",
                      "HLT_e7_etcut":  "L1_EM7",
                      "HLT_2e3_etcut": "L1_2EM3",
-                     "HLT_e3e5_etcut":"L1_2EM3"}
+                     "HLT_e3_e5_etcut":"L1_2EM3"}
 
 topSequence.L1DecoderTest.prescaler.Prescales = ["HLT_e3_etcut:2", "HLT_2e3_etcut:2.5"]
 
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/egammaRunData.ref b/Trigger/TrigValidation/TrigUpgradeTest/share/egammaRunData.ref
index 1522012c690a..73550d00f28e 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/share/egammaRunData.ref
+++ b/Trigger/TrigValidation/TrigUpgradeTest/share/egammaRunData.ref
@@ -1,9 +1,9 @@
 HLTRMakerAlg.MKTool.Serialiser          0   0     DEBUG Payload size after inserting xAOD::TrigCompositeContainer_v1#remap_EgammaCaloDecisions 152 bytes
-HLTRMakerAlg.MKTool.Serialiser          0   0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 544 bytes
-HLTRMakerAlg.MKTool.Serialiser          0   0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 716 bytes
-HLTRMakerAlg.MKTool.Serialiser          0   0     DEBUG Payload size after inserting xAOD::TrigEMClusterAuxContainer_v2#HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 1540 bytes
-HLTRMakerAlg.MKTool.Serialiser          0   0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 1708 bytes
-HLTRMakerAlg.MKTool.Serialiser          0   0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 3316 bytes
+HLTRMakerAlg.MKTool.Serialiser          0   0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 540 bytes
+HLTRMakerAlg.MKTool.Serialiser          0   0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 712 bytes
+HLTRMakerAlg.MKTool.Serialiser          0   0     DEBUG Payload size after inserting xAOD::TrigEMClusterAuxContainer_v2#HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 1536 bytes
+HLTRMakerAlg.MKTool.Serialiser          0   0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 1704 bytes
+HLTRMakerAlg.MKTool.Serialiser          0   0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 3312 bytes
 HLTRMakerAlg.MKTool.Serialiser          1   0     DEBUG Payload size after inserting xAOD::TrigCompositeContainer_v1#remap_EgammaCaloDecisions 152 bytes
 HLTRMakerAlg.MKTool.Serialiser          1   0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 884 bytes
 HLTRMakerAlg.MKTool.Serialiser          1   0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 1056 bytes
@@ -35,11 +35,11 @@ HLTRMakerAlg.MKTool.Serialiser          5   0     DEBUG Payload size after inser
 HLTRMakerAlg.MKTool.Serialiser          5   0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 4304 bytes
 HLTRMakerAlg.MKTool.Serialiser          5   0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 12128 bytes
 HLTRMakerAlg.MKTool.Serialiser          6   0     DEBUG Payload size after inserting xAOD::TrigCompositeContainer_v1#remap_EgammaCaloDecisions 152 bytes
-HLTRMakerAlg.MKTool.Serialiser          6   0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 548 bytes
-HLTRMakerAlg.MKTool.Serialiser          6   0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 720 bytes
-HLTRMakerAlg.MKTool.Serialiser          6   0     DEBUG Payload size after inserting xAOD::TrigEMClusterAuxContainer_v2#HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 1544 bytes
-HLTRMakerAlg.MKTool.Serialiser          6   0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 1712 bytes
-HLTRMakerAlg.MKTool.Serialiser          6   0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 4060 bytes
+HLTRMakerAlg.MKTool.Serialiser          6   0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 544 bytes
+HLTRMakerAlg.MKTool.Serialiser          6   0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 716 bytes
+HLTRMakerAlg.MKTool.Serialiser          6   0     DEBUG Payload size after inserting xAOD::TrigEMClusterAuxContainer_v2#HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 1540 bytes
+HLTRMakerAlg.MKTool.Serialiser          6   0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 1708 bytes
+HLTRMakerAlg.MKTool.Serialiser          6   0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 4056 bytes
 HLTRMakerAlg.MKTool.Serialiser          7   0     DEBUG Payload size after inserting xAOD::TrigCompositeContainer_v1#remap_EgammaCaloDecisions 152 bytes
 HLTRMakerAlg.MKTool.Serialiser          7   0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 764 bytes
 HLTRMakerAlg.MKTool.Serialiser          7   0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 936 bytes
@@ -65,11 +65,11 @@ HLTRMakerAlg.MKTool.Serialiser          10  0     DEBUG Payload size after inser
 HLTRMakerAlg.MKTool.Serialiser          10  0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 3040 bytes
 HLTRMakerAlg.MKTool.Serialiser          10  0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 9088 bytes
 HLTRMakerAlg.MKTool.Serialiser          11  0     DEBUG Payload size after inserting xAOD::TrigCompositeContainer_v1#remap_EgammaCaloDecisions 152 bytes
-HLTRMakerAlg.MKTool.Serialiser          11  0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 544 bytes
-HLTRMakerAlg.MKTool.Serialiser          11  0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 716 bytes
-HLTRMakerAlg.MKTool.Serialiser          11  0     DEBUG Payload size after inserting xAOD::TrigEMClusterAuxContainer_v2#HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 1540 bytes
-HLTRMakerAlg.MKTool.Serialiser          11  0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 1708 bytes
-HLTRMakerAlg.MKTool.Serialiser          11  0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 3464 bytes
+HLTRMakerAlg.MKTool.Serialiser          11  0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 540 bytes
+HLTRMakerAlg.MKTool.Serialiser          11  0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 712 bytes
+HLTRMakerAlg.MKTool.Serialiser          11  0     DEBUG Payload size after inserting xAOD::TrigEMClusterAuxContainer_v2#HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 1536 bytes
+HLTRMakerAlg.MKTool.Serialiser          11  0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 1704 bytes
+HLTRMakerAlg.MKTool.Serialiser          11  0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 3460 bytes
 HLTRMakerAlg.MKTool.Serialiser          12  0     DEBUG Payload size after inserting xAOD::TrigCompositeContainer_v1#remap_EgammaCaloDecisions 152 bytes
 HLTRMakerAlg.MKTool.Serialiser          12  0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 1336 bytes
 HLTRMakerAlg.MKTool.Serialiser          12  0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 1508 bytes
@@ -83,11 +83,11 @@ HLTRMakerAlg.MKTool.Serialiser          13  0     DEBUG Payload size after inser
 HLTRMakerAlg.MKTool.Serialiser          13  0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 2160 bytes
 HLTRMakerAlg.MKTool.Serialiser          13  0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 6580 bytes
 HLTRMakerAlg.MKTool.Serialiser          14  0     DEBUG Payload size after inserting xAOD::TrigCompositeContainer_v1#remap_EgammaCaloDecisions 152 bytes
-HLTRMakerAlg.MKTool.Serialiser          14  0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 548 bytes
-HLTRMakerAlg.MKTool.Serialiser          14  0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 720 bytes
-HLTRMakerAlg.MKTool.Serialiser          14  0     DEBUG Payload size after inserting xAOD::TrigEMClusterAuxContainer_v2#HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 1544 bytes
-HLTRMakerAlg.MKTool.Serialiser          14  0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 1712 bytes
-HLTRMakerAlg.MKTool.Serialiser          14  0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 3320 bytes
+HLTRMakerAlg.MKTool.Serialiser          14  0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 544 bytes
+HLTRMakerAlg.MKTool.Serialiser          14  0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 716 bytes
+HLTRMakerAlg.MKTool.Serialiser          14  0     DEBUG Payload size after inserting xAOD::TrigEMClusterAuxContainer_v2#HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 1540 bytes
+HLTRMakerAlg.MKTool.Serialiser          14  0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 1708 bytes
+HLTRMakerAlg.MKTool.Serialiser          14  0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 3316 bytes
 HLTRMakerAlg.MKTool.Serialiser          15  0     DEBUG Payload size after inserting xAOD::TrigCompositeContainer_v1#remap_EgammaCaloDecisions 152 bytes
 HLTRMakerAlg.MKTool.Serialiser          15  0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 424 bytes
 HLTRMakerAlg.MKTool.Serialiser          15  0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 596 bytes
@@ -95,11 +95,11 @@ HLTRMakerAlg.MKTool.Serialiser          15  0     DEBUG Payload size after inser
 HLTRMakerAlg.MKTool.Serialiser          15  0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 1216 bytes
 HLTRMakerAlg.MKTool.Serialiser          15  0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 1656 bytes
 HLTRMakerAlg.MKTool.Serialiser          16  0     DEBUG Payload size after inserting xAOD::TrigCompositeContainer_v1#remap_EgammaCaloDecisions 152 bytes
-HLTRMakerAlg.MKTool.Serialiser          16  0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 540 bytes
-HLTRMakerAlg.MKTool.Serialiser          16  0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 712 bytes
-HLTRMakerAlg.MKTool.Serialiser          16  0     DEBUG Payload size after inserting xAOD::TrigEMClusterAuxContainer_v2#HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 1536 bytes
-HLTRMakerAlg.MKTool.Serialiser          16  0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 1704 bytes
-HLTRMakerAlg.MKTool.Serialiser          16  0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 3904 bytes
+HLTRMakerAlg.MKTool.Serialiser          16  0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 536 bytes
+HLTRMakerAlg.MKTool.Serialiser          16  0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 708 bytes
+HLTRMakerAlg.MKTool.Serialiser          16  0     DEBUG Payload size after inserting xAOD::TrigEMClusterAuxContainer_v2#HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 1532 bytes
+HLTRMakerAlg.MKTool.Serialiser          16  0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 1700 bytes
+HLTRMakerAlg.MKTool.Serialiser          16  0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 2140 bytes
 HLTRMakerAlg.MKTool.Serialiser          17  0     DEBUG Payload size after inserting xAOD::TrigCompositeContainer_v1#remap_EgammaCaloDecisions 152 bytes
 HLTRMakerAlg.MKTool.Serialiser          17  0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 672 bytes
 HLTRMakerAlg.MKTool.Serialiser          17  0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 844 bytes
@@ -113,17 +113,17 @@ HLTRMakerAlg.MKTool.Serialiser          18  0     DEBUG Payload size after inser
 HLTRMakerAlg.MKTool.Serialiser          18  0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 2156 bytes
 HLTRMakerAlg.MKTool.Serialiser          18  0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 3912 bytes
 HLTRMakerAlg.MKTool.Serialiser          19  0     DEBUG Payload size after inserting xAOD::TrigCompositeContainer_v1#remap_EgammaCaloDecisions 152 bytes
-HLTRMakerAlg.MKTool.Serialiser          19  0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 768 bytes
-HLTRMakerAlg.MKTool.Serialiser          19  0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 940 bytes
-HLTRMakerAlg.MKTool.Serialiser          19  0     DEBUG Payload size after inserting xAOD::TrigEMClusterAuxContainer_v2#HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 2412 bytes
-HLTRMakerAlg.MKTool.Serialiser          19  0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 2580 bytes
-HLTRMakerAlg.MKTool.Serialiser          19  0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 8332 bytes
+HLTRMakerAlg.MKTool.Serialiser          19  0     DEBUG Payload size after inserting xAOD::TrigCompositeAuxContainer_v1#remap_EgammaCaloDecisionsAux. 756 bytes
+HLTRMakerAlg.MKTool.Serialiser          19  0     DEBUG Payload size after inserting xAOD::TrigEMClusterContainer_v1#HLT_xAOD__TrigEMClusterContainer_L2CaloClusters 928 bytes
+HLTRMakerAlg.MKTool.Serialiser          19  0     DEBUG Payload size after inserting xAOD::TrigEMClusterAuxContainer_v2#HLT_xAOD__TrigEMClusterContainer_L2CaloClustersAux. 2400 bytes
+HLTRMakerAlg.MKTool.Serialiser          19  0     DEBUG Payload size after inserting xAOD::TrigElectronContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFex 2568 bytes
+HLTRMakerAlg.MKTool.Serialiser          19  0     DEBUG Payload size after inserting xAOD::TrigElectronAuxContainer_v1#HLT_xAOD__TrigElectronContainer_L2ElectronFexAux. 8320 bytes
 TrigSignatureMoniMT                                INFO HLT_2e3_etcut                 20        10        6         5         5         
 TrigSignatureMoniMT                                INFO HLT_2e3_etcut decisions                           16        83        
+TrigSignatureMoniMT                                INFO HLT_e3_e5_etcut               20        20        12        10        10        
+TrigSignatureMoniMT                                INFO HLT_e3_e5_etcut decisions                         46        215       
 TrigSignatureMoniMT                                INFO HLT_e3_etcut                  20        9         8         8         8         
 TrigSignatureMoniMT                                INFO HLT_e3_etcut decisions                            22        107       
-TrigSignatureMoniMT                                INFO HLT_e3e5_etcut                20        20        18        11        11        
-TrigSignatureMoniMT                                INFO HLT_e3e5_etcut decisions                          54        239       
 TrigSignatureMoniMT                                INFO HLT_e5_etcut                  20        20        17        17        17        
 TrigSignatureMoniMT                                INFO HLT_e5_etcut decisions                            52        255       
 TrigSignatureMoniMT                                INFO HLT_e7_etcut                  20        20        11        11        11        
-- 
GitLab


From 5ac3110bce2fc139291b5862922ffddf3f64bf86 Mon Sep 17 00:00:00 2001
From: Stewart Martin-Haugh <smh@cern.ch>
Date: Mon, 28 Jan 2019 20:07:37 +0100
Subject: [PATCH 174/192] Remove last traces of AthAnalysisSequencer

---
 Control/AthenaCommon/python/AlgSequence.py | 66 ----------------------
 1 file changed, 66 deletions(-)

diff --git a/Control/AthenaCommon/python/AlgSequence.py b/Control/AthenaCommon/python/AlgSequence.py
index d99ea4587dbe..107e372c1019 100755
--- a/Control/AthenaCommon/python/AlgSequence.py
+++ b/Control/AthenaCommon/python/AlgSequence.py
@@ -103,72 +103,6 @@ if hasattr(GaudiSequencerConf, 'AthRetrySequencer'):
     pass # monkey-patching AthRetrySequencer
 
 
-
-### AthAnalysisSequencer ----------------------------------------------------------
-if hasattr(GaudiSequencerConf, 'AthAnalysisSequencer'):
-    # create a new base class type to replace the old configurable
-    class AthAnalysisSequencer( GaudiSequencerConf.AthAnalysisSequencer ):
-        """Sequence of Gaudi algorithms"""
-
-        def __init__( self, name = "AthAnalysisSequencer", **kwargs ):
-            # call base class __init__ to pass new name
-            super( AthAnalysisSequencer, self ).__init__( name, **kwargs )
-
-        def getProperties( self ):
-            ## call base class
-            props = super( AthAnalysisSequencer, self ).getProperties()
-
-            ## correctly display the value of 'Members' by gathering children
-            if 'Members' in props:
-                props['Members'] = [ c.getFullName() for c in self.getChildren() ]
-            return props
-
-        def insert( self, index, item ):
-            self.__iadd__( item, index = index )
-
-        def filterHistogramTools( self, cutname):
-            tools = []
-            for tool in self.HistToolList:
-                if not tool.OnlyAtCutStages or cutname in tool.OnlyAtCutStages:
-                    tools.append(tool)
-            return tools
-
-        def setup( self ):
-            ## it is the defining property of the AthAnalysisSequener
-            ## that it adds a HistAlg to each and every algorithm to
-            ## produce some histograms this is achieved by the
-            ## following lines
-            try:
-                from HistogramUtils.HistogramUtilsConf import HistAlg
-                for i in xrange(len(self.getChildren())-1,-1,-1):
-                    oldName = self.getChildren()[i].name()
-                    newName = oldName+"_histogram"
-                    self.insert(i+1,HistAlg(newName, HistToolList = self.filterHistogramTools(oldName)))
-            except ImportError:
-                print("WARNING: unable to import package HistogramUtils for usage in AthAnalysisSequencer - auto-booking of histograms will not work!")
-
-            ## synchronize the list of Members with our Configurable children
-            self.Members = [ c.getFullName() for c in self.getChildren() ]
-
-            import Logging
-            msg = Logging.logging.getLogger( "AthAnalysisSequencer" )
-            msg.debug( 'setup of sequence: %s', self.getName() )
-            if msg.isEnabledFor( Logging.logging.VERBOSE ):
-                # call of __repr__ is relatively expensive
-                msg.verbose( 'layout of sequence: %s\n%s', self.getName(), str(self) )
-
-            ## delegate to base class...
-            super( AthAnalysisSequencer, self ).setup()
-        pass # AthAnalysisSequencer
-    # store the new AthAnalysisSequencer into CfgMgr to make it available
-    import CfgMgr
-    setattr( CfgMgr, 'AthAnalysisSequencer', AthAnalysisSequencer )
-    del CfgMgr
-    pass # monkey-patching AthAnalysisSequencer
-
-
-
-
 ### sequence of Gaudi configurables
 class AlgSequence( AthSequencer ):
     __slots__ = ()
-- 
GitLab


From 539af4bca81223ef896c9a53ad63ea7a3f364821 Mon Sep 17 00:00:00 2001
From: scott snyder <scott.snyder@cern.ch>
Date: Mon, 28 Jan 2019 16:38:30 +0100
Subject: [PATCH 175/192] StoreGate: Fix gcc9 warnings.

In C++11, implicit declarations of copy and assignment are deprecated if the
class has a user defined destructor or copy or assignment.  gcc9 now warns
about this by default.
Adjust to avoid the warning.
---
 Control/StoreGate/StoreGate/VarHandleKeyArray.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Control/StoreGate/StoreGate/VarHandleKeyArray.h b/Control/StoreGate/StoreGate/VarHandleKeyArray.h
index 97c4f9e4c15e..e11cc7204915 100644
--- a/Control/StoreGate/StoreGate/VarHandleKeyArray.h
+++ b/Control/StoreGate/StoreGate/VarHandleKeyArray.h
@@ -28,7 +28,7 @@ namespace SG {
   class VarHandleKeyArray {
   public:
     VarHandleKeyArray(){};
-    virtual ~VarHandleKeyArray(){};
+    virtual ~VarHandleKeyArray() = default;
     virtual StatusCode assign(const std::vector<std::string>& vs)=0;
     virtual std::string toString() const = 0;
     virtual Gaudi::DataHandle::Mode mode() const = 0;
-- 
GitLab


From b1b29237de4279d92718d6bbaf814bacd9a30d67 Mon Sep 17 00:00:00 2001
From: scott snyder <snyder@bnl.gov>
Date: Mon, 28 Jan 2019 16:34:40 +0100
Subject: [PATCH 176/192] TileRecUtils: Working to make cell builders
 const-compatible.

Rework TileCellBuilderFromHit so that the process()
methods can be made const.

Working to make calo system reconstruction reentrant.
---
 .../TileRecUtils/TileCellBuilderFromHit.h     |  73 ++++---
 .../share/TileCellBuilderFromHit_test.py      |   3 +
 .../share/TileCellBuilderFromHit_test.ref     | 114 +++++------
 .../src/TileCellBuilderFromHit.cxx            | 192 ++++++++++--------
 4 files changed, 209 insertions(+), 173 deletions(-)

diff --git a/TileCalorimeter/TileRecUtils/TileRecUtils/TileCellBuilderFromHit.h b/TileCalorimeter/TileRecUtils/TileRecUtils/TileCellBuilderFromHit.h
index 1c2c238c180a..e0b653a6ac19 100644
--- a/TileCalorimeter/TileRecUtils/TileRecUtils/TileCellBuilderFromHit.h
+++ b/TileCalorimeter/TileRecUtils/TileRecUtils/TileCellBuilderFromHit.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef TILERECUTILS_TILECELLBUILDERFROMHIT_H
@@ -74,41 +74,38 @@ class IAtRndmGenSvc;
  @brief This class creates Cells from RawChannels and stores them in a container
  
  */
-class TileCellBuilderFromHit: public AthAlgTool, virtual public ICaloCellMakerTool {
+class TileCellBuilderFromHit
+  : public extends<AthAlgTool, ICaloCellMakerTool>
+{
   public:
     TileCellBuilderFromHit(const std::string& type, const std::string& name, const IInterface* parent); //!< Contructor
 
     virtual ~TileCellBuilderFromHit(); //!< Destructor
 
-    virtual StatusCode initialize();                     //!< initialize mehtod
+    virtual StatusCode initialize() override;
 
-    virtual StatusCode finalize(); //!< finalize method
+    virtual StatusCode finalize() override;
 
-    virtual StatusCode process(CaloCellContainer* theCellContainer); // method to process all raw channels and store them in container
-
-    template<class ITERATOR, class COLLECTION>
-    void build(const ITERATOR & begin, const ITERATOR & end, COLLECTION * coll); //!< method to process raw channels from a given vector and store them in collection
-
-    /** method to check if channels are good or bad. Puts zero if both channels are bad
-     or recovers from single-channel failure. It returns true if cell was changed, false otherwise
-     */
-    bool maskBadChannel(TileCell* pCell);
-    bool maskBadChannels(TileCell* pCell, bool single_PMT_C10, bool Ecell);
+    /// method to process all raw channels and store them in container
+    virtual StatusCode process(CaloCellContainer* theCellContainer) override;
 
     //AlgTool InterfaceID
     static const InterfaceID& interfaceID();
     //static const InterfaceID& interfaceID() { return ICaloCellMakerTool; };
 
   private:
+    /// status of every drawer
+    typedef TileDrawerEvtStatus TileDrawerEvtStatusArray[5][64];
 
-    // properties
     // properties
     SG::ReadHandleKey<TileHitContainer> m_hitContainerKey{this, "TileHitContainer", 
                                                           "TileHitCnt", 
                                                           "Input Tile hit container key"};
 
-    SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey{this, "EventInfo",
-                                                      "EventInfo", "Input Event info key"};
+    SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey{this, "EventInfo", 
+                                                      "EventInfo", 
+                                                      "EventInfo key"};
+
 
     SG::WriteHandleKey<TileCellContainer> m_MBTSContainerKey{this, "MBTSContainer", 
                                                              "MBTSContainer", 
@@ -152,31 +149,47 @@ class TileCellBuilderFromHit: public AthAlgTool, virtual public ICaloCellMakerTo
     const TileDetDescrManager* m_tileMgr; //!< Pointer to TileDetDescrManager
     const MbtsDetDescrManager* m_mbtsMgr; //!< Pointer to MbtsDetDescrManager
 
-    std::vector<TileCell*> m_allCells;  //!< vector to of pointers to TielCells
-    std::vector<TileCell*> m_MBTSVec;   //!< vector to of pointers to MBTS cells
-    std::vector<TileCell*> m_E4prVec;   //!< vector to of pointers to E4' cells
-    std::unique_ptr<TileCellContainer> m_MBTSCells;     //!< Pointer to MBTS cell container
-    std::unique_ptr<TileCellContainer> m_E4prCells;     //!< Pointer to E4'  cell container
-
     TileFragHash::TYPE m_RChType;        //!< Type of TileRawChannels (Fit, OF2, etc.)
     //unsigned int m_bsflags;              //!< other flags stored in TileRawChannelContainer
 
-    TileDrawerEvtStatus m_drawerEvtStatus[5][64]; //!< status of every drawer in every event
-    TileDrawerRunStatus m_drawerRunStatus[5][64]; //!< overall status of drawer in whole run
-    int m_eventErrorCounter[4]; //!< number of events with no errors(0), warnings(1), error(2), total(3)
+    // These were accumulated, but never actually used.
+    // They also spoil reentrancy, so leave them commented-out for now.
+    // If this information is needed in the future, these can be changed
+    // to use atomics.
+    ///TileDrawerRunStatus m_drawerRunStatus[5][64]; //!< overall status of drawer in whole run
+    //int m_eventErrorCounter[4]; //!< number of events with no errors(0), warnings(1), error(2), total(3)
 
     std::vector<CaloAffectedRegionInfo> m_affectedRegionInfo_global;
     std::vector<CaloAffectedRegionInfo> m_affectedRegionInfo_current_run;
 
+    //!< method to process raw channels from a given vector and store them in collection
+    template<class ITERATOR, class COLLECTION>
+    void build(TileDrawerEvtStatusArray& drawerEvtStatus,
+               const ITERATOR & begin,
+               const ITERATOR & end,
+               COLLECTION * coll,
+               TileCellContainer* MBTSCells,
+               TileCellContainer* E4prCells) const;
+               
+
+    /** method to check if channels are good or bad. Puts zero if both channels are bad
+     or recovers from single-channel failure. It returns true if cell was changed, false otherwise
+     */
+    bool maskBadChannel (TileDrawerEvtStatusArray& drawerEvtStatus,
+                         TileCell* pCell) const;
+    bool maskBadChannels (TileDrawerEvtStatusArray& drawerEvtStatus,
+                          TileCell* pCell, bool single_PMT_C10, bool Ecell) const;
+
     void correctCell(TileCell* pCell, int correction, int pmt, int gain, float ener, float time,
-        unsigned char iqual, unsigned char qbit); //!< Compute calibrated energy, time, etc. for TileCell and adjust it.
+        unsigned char iqual, unsigned char qbit) const; //!< Compute calibrated energy, time, etc. for TileCell and adjust it.
 
-    unsigned char iquality(float qual)  {//!< method to compute the cell quality
+    unsigned char iquality(float qual) const  {//!< method to compute the cell quality
          return std::min(255, abs((int) qual));
     } // keep quality within 8 bits make it "unsigned char"
 
-    unsigned char qbits(int ros, int drawer, bool count_over, bool good_time, bool good_ener,
-        bool overflow, bool underflow, bool good_overflowfit); //!< method to compute the cell quality bits
+    unsigned char qbits(TileDrawerEvtStatusArray& drawerEvtStatus,
+                        int ros, int drawer, bool count_over, bool good_time, bool good_ener,
+        bool overflow, bool underflow, bool good_overflowfit) const; //!< method to compute the cell quality bits
 
     int m_RUN2;
     int m_E1_TOWER;
diff --git a/TileCalorimeter/TileRecUtils/share/TileCellBuilderFromHit_test.py b/TileCalorimeter/TileRecUtils/share/TileCellBuilderFromHit_test.py
index ec8476d086ed..86f1227a3c06 100644
--- a/TileCalorimeter/TileRecUtils/share/TileCellBuilderFromHit_test.py
+++ b/TileCalorimeter/TileRecUtils/share/TileCellBuilderFromHit_test.py
@@ -429,6 +429,9 @@ ToolSvc += maketool ('tool1', bct1)
 ToolSvc += maketool ('tool2', bct2, maskBadChannels = True)
 ToolSvc += maketool ('tool3', bct1, noise = 0.1)
 
+from xAODEventInfoCnv.xAODEventInfoCnvConf import xAODMaker__EventInfoCnvAlg
+topSequence += xAODMaker__EventInfoCnvAlg (DoBeginRun = False)
+
 testalg1 = TestAlg ('testalg1')
 topSequence += testalg1
 
diff --git a/TileCalorimeter/TileRecUtils/share/TileCellBuilderFromHit_test.ref b/TileCalorimeter/TileRecUtils/share/TileCellBuilderFromHit_test.ref
index 0ebec00bd142..3dc63ae8fc87 100644
--- a/TileCalorimeter/TileRecUtils/share/TileCellBuilderFromHit_test.ref
+++ b/TileCalorimeter/TileRecUtils/share/TileCellBuilderFromHit_test.ref
@@ -1,14 +1,14 @@
-Mon Dec 17 02:35:03 CET 2018
+Mon Jan 14 15:46:49 EST 2019
 Preloading tcmalloc_minimal.so
 Py:Athena            INFO including file "AthenaCommon/Preparation.py"
-Py:Athena            INFO using release [AthenaWorkDir-22.0.1] [x86_64-slc6-gcc62-dbg] [atlas-work3/d6d3116653c] -- built on [2018-12-16T1848]
+Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc8-opt] [master-mt/7f37c8e33ff] -- built on [2019-01-11T2041]
 Py:Athena            INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
 Py:Athena            INFO executing ROOT6Setup
 Py:Athena            INFO including file "AthenaCommon/Execution.py"
 Py:Athena            INFO including file "TileRecUtils/TileCellBuilderFromHit_test.py"
-[?1034hSetGeometryVersion.py obtained major release version 22
+SetGeometryVersion.py obtained major release version 22
 Py:Athena            INFO including file "IdDictDetDescrCnv/IdDictDetDescrCnv_joboptions.py"
-Py:ConfigurableDb    INFO Read module info for 5459 configurables from 51 genConfDb files
+Py:ConfigurableDb    INFO Read module info for 5435 configurables from 52 genConfDb files
 Py:ConfigurableDb    INFO No duplicates have been found: that's good !
 EventInfoMgtInit: Got release version  Athena-22.0.1
 Py:IOVDbSvc.CondDB    INFO Setting up conditions DB access to instance OFLP200
@@ -28,7 +28,7 @@ ApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to leve
 ApplicationMgr    SUCCESS 
 ====================================================================================================================================
                                                    Welcome to ApplicationMgr (GaudiCoreSvc v30r5)
-                                          running on lxplus073.cern.ch on Mon Dec 17 02:35:26 2018
+                                          running on spar0101.usatlas.bnl.gov on Mon Jan 14 15:47:18 2019
 ====================================================================================================================================
 ApplicationMgr       INFO Successfully loaded modules : AthenaServices
 ApplicationMgr       INFO Application Manager Configured successfully
@@ -36,7 +36,7 @@ ApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to leve
 StatusCodeSvc        INFO initialize
 AthDictLoaderSvc     INFO in initialize...
 AthDictLoaderSvc     INFO acquired Dso-registry
-ClassIDSvc           INFO  getRegistryEntries: read 6864 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 7343 CLIDRegistry entries for module ALL
 CoreDumpSvc          INFO install f-a-t-a-l handler... (flag = -1)
 CoreDumpSvc          INFO Handling signals: 11(Segmentation fault) 7(Bus error) 4(Illegal instruction) 8(Floating point exception) 
 MetaDataSvc          INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00
@@ -44,9 +44,9 @@ AthenaPoolCnvSvc     INFO Initializing AthenaPoolCnvSvc - package version Athena
 PoolSvc              INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.xml) [ok]
 PoolSvc              INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
 PoolSvc              INFO Frontier compression level set to 5
-DBReplicaSvc         INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data
-DBReplicaSvc         INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-12-15T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/dbreplica.config
-DBReplicaSvc         INFO Total of 10 servers found for host lxplus073.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
+DBReplicaSvc         INFO Frontier server at (serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://frontier-atlas.lcg.triumf.ca:3128/ATLAS_frontier)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data
+DBReplicaSvc         INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-07T2353/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/dbreplica.config
+DBReplicaSvc         INFO Total of 1 servers found for host spar0101.usatlas.bnl.gov [ATLF ]
 PoolSvc              INFO Successfully setup replica sorting algorithm
 PoolSvc              INFO Setting up APR FileCatalog and Streams
 PoolSvc           WARNING Unable to locate catalog for prfile:poolcond/PoolCat_oflcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables
@@ -83,7 +83,7 @@ IOVDbSvc             INFO Added taginfo remove for /TILE/OFL02/STATUS/ADC
 IOVDbSvc             INFO Added taginfo remove for /TILE/OFL02/TIME/CHANNELOFFSET/PHY
 IOVDbSvc             INFO Added taginfo remove for /TILE/ONL01/STATUS/ADC
 IOVDbSvc             INFO Added taginfo remove for /LAR/LArCellPositionShift
-ClassIDSvc           INFO  getRegistryEntries: read 1919 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 1595 CLIDRegistry entries for module ALL
 ClassIDSvc           INFO  getRegistryEntries: read 17 CLIDRegistry entries for module ALL
 DetDescrCnvSvc       INFO  initializing 
 DetDescrCnvSvc       INFO Found DetectorStore service
@@ -137,7 +137,7 @@ BarrelConstruction   INFO   Use sagging in geometry  ? 0
   multi-layered version of absorbers activated, mlabs == 1
 ================================================
 EventPersistenc...   INFO Added successfully Conversion service:DetDescrCnvSvc
-ClassIDSvc           INFO  getRegistryEntries: read 2398 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 2389 CLIDRegistry entries for module ALL
 CaloIDHelper_ID...   INFO in createObj: creating a TileTBID helper object in the detector store
 IdDictDetDescrCnv    INFO in initialize
 IdDictDetDescrCnv    INFO in createObj: creating a IdDictManager object in the detector store
@@ -176,7 +176,7 @@ TileDddbManager      INFO n_tileSwitches = 1
 ClassIDSvc           INFO  getRegistryEntries: read 213 CLIDRegistry entries for module ALL
 CaloIDHelper_ID...   INFO in createObj: creating a TileID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-TileNeighbour        INFO Reading file  /afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc62-dbg/x86_64-slc6-gcc62-dbg/share/TileNeighbour_reduced.txt
+TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-07T2353/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/TileNeighbour_reduced.txt
 TileHWIDDetDesc...   INFO in createObj: creating a TileHWID helper object in the detector store
 TileHWID             INFO initialize_from_dictionary 
 AtlasDetectorID      INFO initialize_from_dictionary - OK
@@ -188,9 +188,9 @@ CaloIDHelper_ID...   INFO in createObj: creating a LArHEC_ID helper object in th
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIDHelper_ID...   INFO in createObj: creating a LArFCAL_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID      INFO Reading file /afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc62-dbg/x86_64-slc6-gcc62-dbg/share/FCal2DNeighbors-April2011.txt
-LArFCAL_Base_ID      INFO Reading file /afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc62-dbg/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsNext-April2011.txt
-LArFCAL_Base_ID      INFO Reading file /afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc62-dbg/x86_64-slc6-gcc62-dbg/share/FCal3DNeighborsPrev-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-07T2353/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/FCal2DNeighbors-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-07T2353/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/FCal3DNeighborsNext-April2011.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-07T2353/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/FCal3DNeighborsPrev-April2011.txt
 CaloIDHelper_ID...   INFO in createObj: creating a LArMiniFCAL_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 LArMiniFCAL_ID       INFO  initialize_from_dict - LArCalorimeter dictionary does NOT contain miniFCAL description. Unable to initialize LArMiniFCAL_ID.
@@ -217,11 +217,11 @@ TileInfoLoader       INFO Sampling fraction for E2 cells 1/107
 TileInfoLoader       INFO Sampling fraction for E3 cells 1/97
 TileInfoLoader       INFO Sampling fraction for E4 cells 1/75
 TileInfoLoader       INFO Sampling fraction for E4' cells 1/75
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-12-15T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulsehi_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-12-15T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulselo_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-12-15T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_tower_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-12-15T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muonRcv_physics.dat
-TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-12-15T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/pulse_adder_muon_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-07T2353/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/pulsehi_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-07T2353/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/pulselo_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-07T2353/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/pulse_adder_tower_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-07T2353/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/pulse_adder_muonRcv_physics.dat
+TileInfoLoader       INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-07T2353/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/pulse_adder_muon_physics.dat
 CaloIDHelper_ID...   INFO in createObj: creating a CaloLVL1_ID helper object in the detector store
 CaloLVL1_ID          INFO initialize_from_dictionary
 AtlasDetectorID      INFO initialize_from_dictionary - OK
@@ -276,9 +276,17 @@ TileSampleNoise...   INFO Creating TileCondProxyCool(TileSampleNoiseCondAlg.Tile
 TileTimingCondA...   INFO Creating TileCondProxyCool(TileTimingCondAlg.TileCondProxyCool_AdcOffset) for folder: "/TILE/OFL02/TIME/CHANNELOFFSET/PHY"
 tilecellbuilder...   INFO ProxyOnlBch and ProxyOflBch will be used for bad channel status
 tilecellbuilder...   INFO ProxyOnlBch and ProxyOflBch will be used for bad channel status
+ClassIDSvc           INFO  getRegistryEntries: read 504 CLIDRegistry entries for module ALL
+xAODMaker::Even...   INFO Initializing - Package version: xAODEventInfoCnv-00-00-00
+xAODMaker::Even...   INFO Initializing - Package version: xAODEventInfoCnv-00-00-00
+xAODMaker::Even...WARNING Beam conditions service not available
+xAODMaker::Even...WARNING Will not fill beam spot information into xAOD::EventInfo
+xAODMaker::Even...   INFO Luminosity information not available
+xAODMaker::Even...   INFO Will take information from the EventInfo object
+ClassIDSvc           INFO  getRegistryEntries: read 319 CLIDRegistry entries for module ALL
 PyComponentMgr       INFO Initializing PyComponentMgr...
 testalg1             INFO Initializing testalg1...
-ClassIDSvc           INFO  getRegistryEntries: read 5265 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 4849 CLIDRegistry entries for module ALL
 ToolSvc.tool1        INFO Storing MBTS cells in MBTSContainer
 ToolSvc.tool1        INFO Noise Sigma 0 MeV is selected!
 AtRndmGenSvc         INFO Initializing AtRndmGenSvc - package version RngComps-00-00-00
@@ -287,7 +295,6 @@ AtRndmGenSvc         INFO will be reseeded for every event
 AtRndmGenSvc      WARNING  INITIALISING Tile_DigitsMaker stream with DEFAULT seeds 3591  2309736
 ToolSvc.tool1        INFO max time thr  25 ns
 ToolSvc.tool1        INFO min time thr  -25 ns
-ToolSvc.tool1        INFO size of temp vector set to 5184
 ToolSvc.tool1        INFO taking hits from 'TileHitCnt'
 ToolSvc.tool1        INFO Storing E4'  cells in E4prContainer
 ToolSvc.tool1        INFO TileCellBuilderFromHit initialization completed
@@ -296,7 +303,6 @@ ToolSvc.tool2        INFO Storing MBTS cells in MBTSContainer
 ToolSvc.tool2        INFO Noise Sigma 0 MeV is selected!
 ToolSvc.tool2        INFO max time thr  25 ns
 ToolSvc.tool2        INFO min time thr  -25 ns
-ToolSvc.tool2        INFO size of temp vector set to 5184
 ToolSvc.tool2        INFO taking hits from 'TileHitCnt'
 ToolSvc.tool2        INFO Storing E4'  cells in E4prContainer
 ToolSvc.tool2        INFO TileCellBuilderFromHit initialization completed
@@ -304,7 +310,6 @@ ToolSvc.tool3        INFO Storing MBTS cells in MBTSContainer
 ToolSvc.tool3        INFO Noise Sigma 0.1 MeV is selected!
 ToolSvc.tool3        INFO max time thr  25 ns
 ToolSvc.tool3        INFO min time thr  -25 ns
-ToolSvc.tool3        INFO size of temp vector set to 5184
 ToolSvc.tool3        INFO taking hits from 'TileHitCnt'
 ToolSvc.tool3        INFO Storing E4'  cells in E4prContainer
 ToolSvc.tool3        INFO TileCellBuilderFromHit initialization completed
@@ -349,18 +354,19 @@ CaloIDHelper_ID...   INFO in createObj: creating a LArHEC_SuperCell_ID helper ob
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIDHelper_ID...   INFO in createObj: creating a LArFCAL_SuperCell_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-LArFCAL_Base_ID      INFO Reading file /afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc62-dbg/x86_64-slc6-gcc62-dbg/share/FCalSuperCells2DNeighborsNew-April2014.txt
-LArFCAL_Base_ID      INFO Reading file /afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc62-dbg/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
-LArFCAL_Base_ID      INFO Reading file /afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc62-dbg/x86_64-slc6-gcc62-dbg/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-07T2353/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/FCalSuperCells2DNeighborsNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-07T2353/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/FCalSuperCells3DNeighborsNextNew-April2014.txt
+LArFCAL_Base_ID      INFO Reading file /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-07T2353/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/FCalSuperCells3DNeighborsPrevNew-April2014.txt
 CaloIDHelper_ID...   INFO in createObj: creating a Tile_SuperCell_ID helper object in the detector store
 AtlasDetectorID      INFO initialize_from_dictionary - OK
-TileNeighbour        INFO Reading file  /afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc62-dbg/x86_64-slc6-gcc62-dbg/share/TileSuperCellNeighbour.txt
+TileNeighbour        INFO Reading file  /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-07T2353/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/TileSuperCellNeighbour.txt
 AtlasDetectorID      INFO initialize_from_dictionary - OK
 CaloIdMgrDetDes...   INFO  Finished 
 CaloIdMgrDetDes...   INFO Initializing CaloIdMgr from values in CaloIdMgrDetDescrCnv 
 Domain[ROOT_All]     INFO ->  Access   DbDatabase   READ      [ROOT_All] 8667C6F2-1559-DE11-A611-000423D9A21A
 Domain[ROOT_All]     INFO                           /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root
 RootDatabase.open    INFO /cvmfs/atlas-condb.cern.ch/repo/conditions/cond08/cond08_mc.000003.gen.COND/cond08_mc.000003.gen.COND._0064.pool.root File version:52200
+xAODMaker::Even...WARNING Algorithm::BeginRun is deprecated. Use Start instead
 AthenaEventLoopMgr   INFO   ===>>>  start processing event #1, run #1 0 events processed so far  <<<===
 IOVDbSvc             INFO Opening COOL connection for COOLOFL_TILE/OFLP200
 IOVDbFolder          INFO HVS tag OFLCOND-RUN12-SDR-35 resolved to TileOfl02CalibCes-SIM-06 for folder /TILE/OFL02/CALIB/CES
@@ -383,8 +389,8 @@ TileBadChannels...   INFO TileBchStatus::isNoisy() is defined by: Large HF noise
 TileBadChannels...   INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; 
 TileBadChannels...   INFO TileBchStatus::isBadTiming() is defined by: Bad timing; Online bad timing; 
 TileBadChannels...   INFO No drawer trips probabilities found in DB
-tilecellbuilder...   INFO Creating TileCondProxyFile(tilecellbuilder_bct1Cond.tilecellbuilder_bct1_onl) for ASCII file name: "/cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-12-15T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileNoBad.oflBch"
-tilecellbuilder...   INFO Creating TileCondProxyFile(tilecellbuilder_bct1Cond.tilecellbuilder_bct1_ofl) for ASCII file name: "/cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-12-15T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileNoBad.oflBch"
+tilecellbuilder...   INFO Creating TileCondProxyFile(tilecellbuilder_bct1Cond.tilecellbuilder_bct1_onl) for ASCII file name: "/cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-07T2353/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/TileNoBad.oflBch"
+tilecellbuilder...   INFO Creating TileCondProxyFile(tilecellbuilder_bct1Cond.tilecellbuilder_bct1_ofl) for ASCII file name: "/cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-07T2353/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/TileNoBad.oflBch"
 tilecellbuilder...   INFO No TileBchStatus::isBad() definition found in DB, using defaults
 tilecellbuilder...   INFO No TileBchStatus::isNoisy() definition found in DB, using defaults
 tilecellbuilder...   INFO No TileBchStatus::isNoGainL1() definition found in DB, using defaults
@@ -394,8 +400,8 @@ tilecellbuilder...   INFO TileBchStatus::isNoisy() is defined by: Large HF noise
 tilecellbuilder...   INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; No PMT connected; No HV; Channel masked for LV1 (unspecified); LV1 channel no gain; LV1 channel noisy; Channel disabled for LV1; 
 tilecellbuilder...   INFO TileBchStatus::isBadTiming() is defined by: Bad timing; Online bad timing; 
 tilecellbuilder...   INFO No drawer trips probabilities found in DB
-tilecellbuilder...   INFO Creating TileCondProxyFile(tilecellbuilder_bct2Cond.tilecellbuilder_bct2_onl) for ASCII file name: "/cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2018-12-15T2259/Athena/22.0.1/InstallArea/x86_64-slc6-gcc62-dbg/share/TileNoBad.oflBch"
-tilecellbuilder...   INFO Creating TileCondProxyFile(tilecellbuilder_bct2Cond.tilecellbuilder_bct2_ofl) for ASCII file name: "/afs/cern.ch/work/s/ssnyder/builds/atlas-work3/build-x86_64-slc6-gcc62-dbg/TileCalorimeter/TileRecUtils/unitTestRun/tilecellbuilder_bct2.bch"
+tilecellbuilder...   INFO Creating TileCondProxyFile(tilecellbuilder_bct2Cond.tilecellbuilder_bct2_onl) for ASCII file name: "/cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-07T2353/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/TileNoBad.oflBch"
+tilecellbuilder...   INFO Creating TileCondProxyFile(tilecellbuilder_bct2Cond.tilecellbuilder_bct2_ofl) for ASCII file name: "/gpfs/mnt/atlasgpfs01/usatlas/data/snyder/atlas-master-mt/build-x86_64-slc6-gcc8-opt/TileCalorimeter/TileRecUtils/unitTestRun/tilecellbuilder_bct2.bch"
 tilecellbuilder...   INFO No TileBchStatus::isBad() definition found in DB, using defaults
 tilecellbuilder...   INFO No TileBchStatus::isNoisy() definition found in DB, using defaults
 tilecellbuilder...   INFO No TileBchStatus::isNoGainL1() definition found in DB, using defaults
@@ -406,12 +412,6 @@ tilecellbuilder...   INFO TileBchStatus::isNoGainL1() is defined by: ADC dead; N
 tilecellbuilder...   INFO TileBchStatus::isBadTiming() is defined by: Bad timing; Online bad timing; 
 tilecellbuilder...   INFO No drawer trips probabilities found in DB
 ClassIDSvc           INFO  getRegistryEntries: read 650 CLIDRegistry entries for module ALL
-IncrementalExecutor::executeFunction: symbol '_ZNK7TileHitcvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEv' unresolved while linking function '__cxx_global_var_initcling_module_5164_'!
-You are probably missing the definition of TileHit::operator std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >() const
-Maybe you need to load the corresponding shared library?
-IncrementalExecutor::executeFunction: symbol '_ZNK7TileHitcvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEv' unresolved while linking function '__cxx_global_var_initcling_module_5179_'!
-You are probably missing the definition of TileHit::operator std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >() const
-Maybe you need to load the corresponding shared library?
 ClassIDSvc           INFO  getRegistryEntries: read 194 CLIDRegistry entries for module ALL
 ClassIDSvc           INFO  getRegistryEntries: read 8 CLIDRegistry entries for module ALL
 AtRndmGenSvc         INFO  Stream =  Tile_DigitsMaker, Seed1 =  288581169, Seed2 = 758068585
@@ -437,23 +437,23 @@ IncidentProcAlg2     INFO Finalize
 AtRndmGenSvc         INFO  FINALISING 
 PyComponentMgr       INFO Finalizing PyComponentMgr...
 IdDictDetDescrCnv    INFO in finalize
-IOVDbFolder          INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/170 ((     3.13 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/103344 ((     1.60 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 ((     1.00 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 ((     1.00 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/92 ((     0.99 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/940 ((     0.94 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/72 ((     0.97 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/76 ((     0.78 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/641476 ((     1.62 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/97884 ((     0.55 ))s
-IOVDbFolder          INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 ((     0.58 ))s
-IOVDbFolder          INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/76 ((     0.07 ))s
-IOVDbFolder          INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/195 ((     1.08 ))s
-IOVDbSvc             INFO  bytes in ((     14.30 ))s
+IOVDbFolder          INFO Folder /LAR/Align (PoolRef) db-read 1/1 objs/chan/bytes 1/1/170 ((     1.84 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CES (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/103344 ((     2.10 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 ((     1.83 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/CIS/FIT/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/80 ((     1.83 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/EMS (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/92 ((     1.48 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/FIBER (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/940 ((     1.65 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/LIN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/72 ((     1.65 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/CALIB/LAS/NLN (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/76 ((     1.65 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/NOISE/SAMPLE (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/641476 ((     2.60 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/97884 ((     1.48 ))s
+IOVDbFolder          INFO Folder /TILE/OFL02/TIME/CHANNELOFFSET/PHY (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/96 ((     1.65 ))s
+IOVDbFolder          INFO Folder /TILE/ONL01/STATUS/ADC (AttrListColl) db-read 1/1 objs/chan/bytes 277/277/76 ((     0.09 ))s
+IOVDbFolder          INFO Folder /LAR/LArCellPositionShift (PoolRef) db-read 1/1 objs/chan/bytes 1/1/195 ((     1.11 ))s
+IOVDbSvc             INFO  bytes in ((     20.96 ))s
 IOVDbSvc             INFO Connection sqlite://;schema=mycool.db;dbname=OFLP200 : nConnect: 0 nFolders: 0 ReadTime: ((     0.00 ))s
-IOVDbSvc             INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     4.21 ))s
-IOVDbSvc             INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: ((    10.10 ))s
+IOVDbSvc             INFO Connection COOLOFL_LAR/OFLP200 : nConnect: 2 nFolders: 2 ReadTime: ((     2.95 ))s
+IOVDbSvc             INFO Connection COOLOFL_TILE/OFLP200 : nConnect: 2 nFolders: 11 ReadTime: ((    18.01 ))s
 TileInfoLoader       INFO TileInfoLoader::finalize()
 AthDictLoaderSvc     INFO in finalize...
 ToolSvc              INFO Removing all tools created by ToolSvc
@@ -463,9 +463,9 @@ ToolSvc.tool1        INFO Finalizing
 *****Chrono*****     INFO ****************************************************************************************************
 *****Chrono*****     INFO  The Final CPU consumption ( Chrono ) Table (ordered)
 *****Chrono*****     INFO ****************************************************************************************************
-cObjR_ALL            INFO Time User   : Tot= 0.86  [s] Ave/Min/Max= 0.43(+- 0.41)/ 0.02/ 0.84  [s] #=  2
-cObj_ALL             INFO Time User   : Tot= 1.11  [s] Ave/Min/Max=0.0854(+-0.251)/    0/ 0.94  [s] #= 13
-ChronoStatSvc        INFO Time User   : Tot= 66.1  [s]                                             #=  1
+cObjR_ALL            INFO Time User   : Tot= 0.55  [s] Ave/Min/Max=0.275(+-0.265)/ 0.01/ 0.54  [s] #=  2
+cObj_ALL             INFO Time User   : Tot= 0.66  [s] Ave/Min/Max=0.0508(+-0.152)/    0/ 0.57  [s] #= 13
+ChronoStatSvc        INFO Time User   : Tot= 43.7  [s]                                             #=  1
 *****Chrono*****     INFO ****************************************************************************************************
 ChronoStatSvc.f...   INFO  Service finalized successfully 
 ApplicationMgr       INFO Application Manager Finalized successfully
diff --git a/TileCalorimeter/TileRecUtils/src/TileCellBuilderFromHit.cxx b/TileCalorimeter/TileRecUtils/src/TileCellBuilderFromHit.cxx
index 2d7978825a8b..7562651a66d9 100644
--- a/TileCalorimeter/TileRecUtils/src/TileCellBuilderFromHit.cxx
+++ b/TileCalorimeter/TileRecUtils/src/TileCellBuilderFromHit.cxx
@@ -70,7 +70,7 @@ const InterfaceID& TileCellBuilderFromHit::interfaceID( ) {
 //Constructor
 TileCellBuilderFromHit::TileCellBuilderFromHit(const std::string& type, const std::string& name,
     const IInterface* parent)
-  : AthAlgTool(type, name, parent)
+  : base_class(type, name, parent)
   , m_infoName("TileInfo")
   , m_eneForTimeCut(35. * MeV) // keep time only for cells above 70 MeV (more than 35 MeV in at least one PMT to be precise)
   , m_eneForTimeCutMBTS(0.03675) // the same cut for MBTS, but in pC, corresponds to 3 ADC counts or 35 MeV
@@ -91,12 +91,10 @@ TileCellBuilderFromHit::TileCellBuilderFromHit(const std::string& type, const st
   , m_mbtsMgr(0)
   , m_RChType(TileFragHash::Default)
 {
-  declareInterface<ICaloCellMakerTool>( this );
   declareInterface<TileCellBuilderFromHit>( this );
 
-  memset(m_drawerEvtStatus, 0, sizeof(m_drawerEvtStatus));
-  memset(m_drawerRunStatus, 0, sizeof(m_drawerRunStatus));
-  memset(m_eventErrorCounter, 0, sizeof(m_eventErrorCounter));
+  //memset(m_drawerRunStatus, 0, sizeof(m_drawerRunStatus));
+  //memset(m_eventErrorCounter, 0, sizeof(m_eventErrorCounter));
 
   // never set energy to zero, but set it to some small number
   // this will help TopoCluster to assign proper weight to the cell if needed
@@ -143,12 +141,10 @@ StatusCode TileCellBuilderFromHit::initialize() {
   // retrieve MBTS and Tile detector manager, TileID helper and TileIfno from det store
   if (m_MBTSContainerKey.key().empty()) {
     m_mbtsMgr = nullptr;
-    m_MBTSVec.resize(0);
   } else {
 
     ATH_CHECK( m_MBTSContainerKey.initialize() );
     ATH_MSG_INFO( "Storing MBTS cells in " << m_MBTSContainerKey.key() );
-    m_MBTSVec.resize(NCELLMBTS);
     
     if (detStore()->retrieve(m_mbtsMgr).isFailure()) {
       ATH_MSG_WARNING( "Unable to retrieve MbtsDetDescrManager from DetectorStore" );
@@ -186,11 +182,8 @@ StatusCode TileCellBuilderFromHit::initialize() {
   ATH_MSG_INFO( "max time thr  " << m_maxTime << " ns" );
   ATH_MSG_INFO( "min time thr  " << m_minTime << " ns" );
   
-  // prepare empty vector for all cell pointers
-  m_allCells.resize(m_tileID->cell_hash_max(), 0);
-  m_E1_TOWER = (m_allCells.size() < 10000) ? 10 : 40;
+  m_E1_TOWER = (m_tileID->cell_hash_max() < 10000) ? 10 : 40;
 
-  ATH_MSG_INFO( "size of temp vector set to " << m_allCells.size() );
   ATH_MSG_INFO( "taking hits from '" << m_hitContainerKey.key() << "'" );
 
   m_cabling = TileCablingService::getInstance();
@@ -199,10 +192,8 @@ StatusCode TileCellBuilderFromHit::initialize() {
   if (m_RUN2 && !m_E4prContainerKey.key().empty()) {
     ATH_CHECK( m_E4prContainerKey.initialize() );
     ATH_MSG_INFO( "Storing E4'  cells in " << m_E4prContainerKey.key() );
-    m_E4prVec.resize(NCELLE4PR);
   } else {
     m_E4prContainerKey = ""; // no E4' container for RUN1
-    m_E4prVec.resize(0);
   }
 
 
@@ -219,14 +210,15 @@ StatusCode TileCellBuilderFromHit::finalize() {
 }
 
 StatusCode TileCellBuilderFromHit::process(CaloCellContainer * theCellContainer) {
+  const EventContext& ctx = Gaudi::Hive::currentContext();
 
   //**
   //* Get TileHits
   //**
 
-  memset(m_drawerEvtStatus, 0, sizeof(m_drawerEvtStatus));
+  TileDrawerEvtStatusArray drawerEvtStatus;
 
-  SG::ReadHandle<TileHitContainer> hitContainer(m_hitContainerKey);
+  SG::ReadHandle<TileHitContainer> hitContainer(m_hitContainerKey, ctx);
 
   if (!hitContainer.isValid()) {
 
@@ -237,12 +229,14 @@ StatusCode TileCellBuilderFromHit::process(CaloCellContainer * theCellContainer)
     
     ATH_MSG_DEBUG( "Container " << m_hitContainerKey.key() << " with TileHits found ");
 
+    std::unique_ptr<TileCellContainer> MBTSCells;
     if (!m_MBTSContainerKey.key().empty()) {
-      m_MBTSCells = std::make_unique<TileCellContainer>(SG::VIEW_ELEMENTS);
+      MBTSCells = std::make_unique<TileCellContainer>(SG::VIEW_ELEMENTS);
     }
 
+    std::unique_ptr<TileCellContainer> E4prCells;
     if (!m_E4prContainerKey.key().empty()) {
-      m_E4prCells = std::make_unique<TileCellContainer>(SG::VIEW_ELEMENTS);
+      E4prCells = std::make_unique<TileCellContainer>(SG::VIEW_ELEMENTS);
     }
     
     SelectAllObject<TileHitContainer> selAll(hitContainer.cptr());
@@ -251,17 +245,18 @@ StatusCode TileCellBuilderFromHit::process(CaloCellContainer * theCellContainer)
 
     if (begin != end) {
       ATH_MSG_DEBUG( " Calling build() method for hits from " << m_hitContainerKey.key() );
-      build(begin, end, theCellContainer);
+      build (drawerEvtStatus, begin, end, theCellContainer,
+             MBTSCells.get(), E4prCells.get());
     }
     
     if (!m_MBTSContainerKey.key().empty()) {
-      SG::WriteHandle<TileCellContainer> MBTSContainer(m_MBTSContainerKey);
-      ATH_CHECK( MBTSContainer.record(std::move(m_MBTSCells)) );
+      SG::WriteHandle<TileCellContainer> MBTSContainer(m_MBTSContainerKey, ctx);
+      ATH_CHECK( MBTSContainer.record(std::move(MBTSCells)) );
     }
     
     if (!m_E4prContainerKey.key().empty()) {
-      SG::WriteHandle<TileCellContainer> E4prContainer(m_E4prContainerKey);
-      ATH_CHECK( E4prContainer.record(std::move(m_E4prCells)) );
+      SG::WriteHandle<TileCellContainer> E4prContainer(m_E4prContainerKey, ctx);
+      ATH_CHECK( E4prContainer.record(std::move(E4prCells)) );
     }
 
     CaloCell_ID::SUBCALO caloNum = CaloCell_ID::TILE;
@@ -293,8 +288,8 @@ StatusCode TileCellBuilderFromHit::process(CaloCellContainer * theCellContainer)
   int drConsecNum = 0;
 
   for (int p = 1; p < 5; ++p) {
-    TileDrawerEvtStatus * evt = m_drawerEvtStatus[p];
-    TileDrawerRunStatus * run = m_drawerRunStatus[p];
+    TileDrawerEvtStatus * evt = drawerEvtStatus[p];
+    //TileDrawerRunStatus * run = m_drawerRunStatus[p];
     int drAbsent = 0;
     int drMasked = 0;
     int drConsec = 0;
@@ -307,11 +302,11 @@ StatusCode TileCellBuilderFromHit::process(CaloCellContainer * theCellContainer)
       if (evt[d].nChannels == 0) {
         ++drConsec;
         ++drAbsent;
-        ++(run[d].drawerAbsent);
+        //++(run[d].drawerAbsent);
       } else if (evt[d].nMaskedChannels >= evt[d].nChannels) {
         ++drConsec;
         ++drMasked;
-        ++(run[d].drawerMasked);
+        //++(run[d].drawerMasked);
       } else {
         if (drConsec > drConsecMax) {
           drConsecMax = drConsec;
@@ -321,9 +316,9 @@ StatusCode TileCellBuilderFromHit::process(CaloCellContainer * theCellContainer)
           }
         }
         drConsec = 0;
-        if (evt[d].nMaskedChannels > 0) {
-          ++(run[d].channelsMasked);
-        }
+        //if (evt[d].nMaskedChannels > 0) {
+        // ++(run[d].channelsMasked);
+        //}
         if (evt[d].nBadQuality) ++hasBadQ;
         if (evt[d].nOverflow) ++hasOver;
         if (evt[d].nUnderflow) ++hasUnder;
@@ -383,11 +378,11 @@ StatusCode TileCellBuilderFromHit::process(CaloCellContainer * theCellContainer)
   std::cout<<"partition flag 0x0"<<std::hex<<flag<<std::dec<<" error "<<error<<std::endl;
 #endif
 
-  ++m_eventErrorCounter[error]; // error index is 0 or 1 or 2 here
-  ++m_eventErrorCounter[3]; // count separately total number of events
+  //++m_eventErrorCounter[error]; // error index is 0 or 1 or 2 here
+  //++m_eventErrorCounter[3]; // count separately total number of events
   
   // retrieve EventInfo
-  SG::ReadHandle<xAOD::EventInfo> eventInfo(m_eventInfoKey);
+  SG::ReadHandle<xAOD::EventInfo> eventInfo(m_eventInfoKey, ctx);
 
   if (eventInfo.isValid()) {
 
@@ -406,6 +401,9 @@ StatusCode TileCellBuilderFromHit::process(CaloCellContainer * theCellContainer)
     }
 
   }
+  else {
+    ATH_MSG_WARNING( " cannot retrieve EventInfo, will not set Tile information " );
+  }
   
   // Execution completed.
   ATH_MSG_DEBUG( "TileCellBuilderFromHit execution completed." );
@@ -415,7 +413,7 @@ StatusCode TileCellBuilderFromHit::process(CaloCellContainer * theCellContainer)
 
 //************************************************************************
 void TileCellBuilderFromHit::correctCell(TileCell* pCell, int correction, int pmt, int gain
-                                         , float ener, float time, unsigned char iqual, unsigned char qbit) {
+                                         , float ener, float time, unsigned char iqual, unsigned char qbit) const {
 //************************************************************************
 
 // Merge two pmts in one cell if needed
@@ -436,14 +434,15 @@ void TileCellBuilderFromHit::correctCell(TileCell* pCell, int correction, int pm
   }
 }
 
-unsigned char TileCellBuilderFromHit::qbits(int ros, int drawer, bool count_over
-    , bool good_time, bool good_ener, bool overflow, bool underflow, bool overfit) {
+unsigned char TileCellBuilderFromHit::qbits(TileDrawerEvtStatusArray& drawerEvtStatus,
+                                            int ros, int drawer, bool count_over
+    , bool good_time, bool good_ener, bool overflow, bool underflow, bool overfit) const {
 
-  ++m_drawerEvtStatus[ros][drawer].nChannels;
+  ++drawerEvtStatus[ros][drawer].nChannels;
   // new feature in rel 17.2.7 - count underflows and overflows
   if (count_over) {
-    if (overflow) ++m_drawerEvtStatus[ros][drawer].nOverflow;
-    if (underflow) ++m_drawerEvtStatus[ros][drawer].nUnderflow;
+    if (overflow) ++drawerEvtStatus[ros][drawer].nOverflow;
+    if (underflow) ++drawerEvtStatus[ros][drawer].nUnderflow;
   }
 #ifdef ALLOW_DEBUG_COUT
   if (overflow)  std::cout << "channel with overflow " << ((count_over)?"":"MBTS") << std::endl;
@@ -459,7 +458,7 @@ unsigned char TileCellBuilderFromHit::qbits(int ros, int drawer, bool count_over
   if (good_ener) {
     qbit |= TileCell::MASK_AMPL;
     if (count_over) {
-      ++m_drawerEvtStatus[ros][drawer].nSomeSignal;
+      ++drawerEvtStatus[ros][drawer].nSomeSignal;
     }
   }
 
@@ -467,8 +466,10 @@ unsigned char TileCellBuilderFromHit::qbits(int ros, int drawer, bool count_over
 }
 
 // masking for MBTS with single channel
-bool TileCellBuilderFromHit::maskBadChannel(TileCell* pCell) {
-
+bool
+TileCellBuilderFromHit::maskBadChannel (TileDrawerEvtStatusArray& drawerEvtStatus,
+                                        TileCell* pCell) const
+{
   Identifier cell_id = pCell->ID();
 
   HWIdentifier channel_id = m_cabling->s2h_channel_id(cell_id);
@@ -483,7 +484,7 @@ bool TileCellBuilderFromHit::maskBadChannel(TileCell* pCell) {
   // check quality first
   bool bad = ((int) pCell->qual1() > m_qualityCut);
   if (bad) {
-    ++m_drawerEvtStatus[ros][drawer].nBadQuality;
+    ++drawerEvtStatus[ros][drawer].nBadQuality;
 
   } else {
     // check bad status in DB
@@ -493,7 +494,7 @@ bool TileCellBuilderFromHit::maskBadChannel(TileCell* pCell) {
 
   if (bad) {
     // only one channel in this cell and it is bad
-    ++m_drawerEvtStatus[ros][drawer].nMaskedChannels;
+    ++drawerEvtStatus[ros][drawer].nMaskedChannels;
 
     //pCell->setEnergy(m_zeroEnergy,0.0,TileID::LOWGAIN,CaloGain::INVALIDGAIN); // reset energy completely, indicate problem putting low gain
     //pCell->setTime(0.0); // reset time completely
@@ -520,7 +521,9 @@ bool TileCellBuilderFromHit::maskBadChannel(TileCell* pCell) {
 }
   
 // masking for normal cells
-bool TileCellBuilderFromHit::maskBadChannels(TileCell* pCell, bool single_PMT_C10, bool Ecell) {
+bool
+TileCellBuilderFromHit::maskBadChannels (TileDrawerEvtStatusArray& drawerEvtStatus,
+                                         TileCell* pCell, bool single_PMT_C10, bool Ecell) const {
 
   const CaloDetDescrElement* caloDDE = pCell->caloDDE();
 
@@ -540,7 +543,7 @@ bool TileCellBuilderFromHit::maskBadChannels(TileCell* pCell, bool single_PMT_C1
   // check quality first
   bool bad1 = ((int) pCell->qual1() > m_qualityCut);
   if (bad1) {
-    ++m_drawerEvtStatus[ros1][drawer1].nBadQuality;
+    ++drawerEvtStatus[ros1][drawer1].nBadQuality;
 
   } else {
     // check bad status in DB
@@ -553,7 +556,7 @@ bool TileCellBuilderFromHit::maskBadChannels(TileCell* pCell, bool single_PMT_C1
 
     if (bad1) {
       // only one channel in this cell and it is bad
-      ++m_drawerEvtStatus[ros1][drawer1].nMaskedChannels;
+      ++drawerEvtStatus[ros1][drawer1].nMaskedChannels;
 
       if (gain1 == CaloGain::INVALIDGAIN) {
         pCell->setEnergy(m_zeroEnergy, 0.0, TileID::LOWGAIN, CaloGain::INVALIDGAIN); // reset energy completely, indicate problem putting low gain
@@ -587,7 +590,7 @@ bool TileCellBuilderFromHit::maskBadChannels(TileCell* pCell, bool single_PMT_C1
     // check quality first
     bool bad2 = ((int) pCell->qual2() > m_qualityCut);
     if (bad2) {
-      ++m_drawerEvtStatus[ros2][drawer2].nBadQuality;
+      ++drawerEvtStatus[ros2][drawer2].nBadQuality;
 
     } else {
       // check bad status in DB
@@ -623,7 +626,7 @@ bool TileCellBuilderFromHit::maskBadChannels(TileCell* pCell, bool single_PMT_C1
           pCell->setEnergy(pCell->ene2()/2., pCell->ene2()/2., gain2, gain2);
           //bad1 = bad2;
           bad1 = true;
-          --m_drawerEvtStatus[ros1][drawer1].nMaskedChannels; // since it's fake masking, decrease counter by 1 in advance
+          --drawerEvtStatus[ros1][drawer1].nMaskedChannels; // since it's fake masking, decrease counter by 1 in advance
         }
       } else {
         if (m_RUN2 || !chStatus2.isBad()) {
@@ -636,14 +639,14 @@ bool TileCellBuilderFromHit::maskBadChannels(TileCell* pCell, bool single_PMT_C1
           pCell->setEnergy(pCell->ene1()/2., pCell->ene1()/2., gain1, gain1);
           //bad2 = bad1;
           bad2 = true;
-          --m_drawerEvtStatus[ros2][drawer2].nMaskedChannels; // since it's fake masking, decrease counter by 1 in advance
+          --drawerEvtStatus[ros2][drawer2].nMaskedChannels; // since it's fake masking, decrease counter by 1 in advance
         }
       }
     }
     if (bad1 && bad2) {
       // both channels are bad
-      ++m_drawerEvtStatus[ros1][drawer1].nMaskedChannels;
-      ++m_drawerEvtStatus[ros2][drawer2].nMaskedChannels;
+      ++drawerEvtStatus[ros1][drawer1].nMaskedChannels;
+      ++drawerEvtStatus[ros2][drawer2].nMaskedChannels;
 
       if (gain1 == CaloGain::INVALIDGAIN || gain2 == CaloGain::INVALIDGAIN) {
         if (gain1 == CaloGain::INVALIDGAIN) gain1 = 0; // this is TileID::LOWGAIN; - commented out to make Coverity happy
@@ -660,7 +663,7 @@ bool TileCellBuilderFromHit::maskBadChannels(TileCell* pCell, bool single_PMT_C1
 
     } else if (bad1 && !bad2) {
       // first channel is bad
-      ++m_drawerEvtStatus[ros1][drawer1].nMaskedChannels;
+      ++drawerEvtStatus[ros1][drawer1].nMaskedChannels;
 
       float ene2 = pCell->ene2();
       pCell->setEnergy(ene2, ene2, gain2, gain2); // use energy/gain from second pmt for both pmts
@@ -683,7 +686,7 @@ bool TileCellBuilderFromHit::maskBadChannels(TileCell* pCell, bool single_PMT_C1
 
     } else if (!bad1 && bad2) {
       // second channel is bad
-      ++m_drawerEvtStatus[ros2][drawer2].nMaskedChannels;
+      ++drawerEvtStatus[ros2][drawer2].nMaskedChannels;
 
       float ene1 = pCell->ene1();
       pCell->setEnergy(ene1, ene1, gain1, gain1);  // use energy/gain from first pmt for both pmts
@@ -733,9 +736,13 @@ bool TileCellBuilderFromHit::maskBadChannels(TileCell* pCell, bool single_PMT_C1
 
 
 template<class ITERATOR, class COLLECTION>
-void TileCellBuilderFromHit::build(const ITERATOR & begin, const ITERATOR & end, COLLECTION * coll) {
-
+void TileCellBuilderFromHit::build(TileDrawerEvtStatusArray& drawerEvtStatus,
+                                   const ITERATOR & begin, const ITERATOR & end, COLLECTION * coll,
+                                   TileCellContainer* MBTSCells,
+                                   TileCellContainer* E4prCells) const
+{
   // disable checks for TileID and remember previous state
+  // FIXME: const violation; MT problem.
   bool do_checks = m_tileID->do_checks();
   m_tileID->set_do_checks(false);
   bool do_checks_tb = m_tileID->do_checks();
@@ -767,6 +774,16 @@ void TileCellBuilderFromHit::build(const ITERATOR & begin, const ITERATOR & end,
   bool overfit = false;
   float ener_min = (m_useNoiseTool) ? 1.0E-30F : 0.0;
 
+  std::vector<TileCell*> allCells (m_tileID->cell_hash_max(), nullptr);
+  std::vector<TileCell*> MBTSVec;   //!< vector to of pointers to MBTS cells
+  if (MBTSCells) {
+    MBTSVec.resize (NCELLMBTS);
+  }
+  std::vector<TileCell*> E4prVec;   //!< vector to of pointers to E4' cells
+  if (E4prCells) {
+    E4prVec.resize (NCELLE4PR);
+  }
+
   for (ITERATOR hitItr = begin; hitItr != end; ++hitItr) {
 
     const TileHit* pHit = (*hitItr);
@@ -857,13 +874,14 @@ void TileCellBuilderFromHit::build(const ITERATOR & begin, const ITERATOR & end,
 
     if (E4pr) { // E4' cells
 
-      if (m_E4prCells) { // do something with them only if contaier existst
+      if (E4prCells) { // do something with them only if contaier existst
         ++nE4pr;
 
         eE4prTot += ener;
         unsigned char iqual = iquality(qual);
         // for E4' cell qbit use only non_zero_time flag and check that energy is above standatd energy threshold in MeV
-        unsigned char qbit = qbits(ros, drawer, true, non_zero_time, (fabs(ener) > m_eneForTimeCut)
+        unsigned char qbit = qbits(drawerEvtStatus,
+                                   ros, drawer, true, non_zero_time, (fabs(ener) > m_eneForTimeCut)
                                    , overflow, underflow, overfit);
         CaloGain::CaloGain cgain = (gain == TileID::HIGHGAIN)
                                    ? CaloGain::TILEONEHIGH
@@ -890,16 +908,16 @@ void TileCellBuilderFromHit::build(const ITERATOR & begin, const ITERATOR & end,
                             << " qbit = 0x" << MSG::hex << (int) qbit << MSG::dec << endmsg;
         }
 
-        if (m_E4prVec[index]) {
+        if (E4prVec[index]) {
           msg(MSG::WARNING) << " double E4' cell_id=" << m_tileTBID->to_string(cell_id)
                             << "  ignoring previous value" << endmsg;
         }
-        m_E4prVec[index] = pCell;
+        E4prVec[index] = pCell;
       }
 
     } else if (MBTS) { // MBTS cells
 
-      if (m_MBTSCells) { // do something with them only if contaier existst
+      if (MBTSCells) { // do something with them only if contaier existst
         ++nMBTS;
 
         // convert energy to pCb
@@ -910,7 +928,8 @@ void TileCellBuilderFromHit::build(const ITERATOR & begin, const ITERATOR & end,
         eMBTSTot += ener;
         unsigned char iqual = iquality(qual);
         // for MBTS qbit use AND of good_time and non_zero_time and check that energy is above MBTS energy threshold in pC
-        unsigned char qbit = qbits(ros, drawer, false, (good_time && non_zero_time)
+        unsigned char qbit = qbits(drawerEvtStatus,
+                                   ros, drawer, false, (good_time && non_zero_time)
            , (fabs(ener) > m_eneForTimeCutMBTS), overflow, underflow, overfit);
         CaloGain::CaloGain cgain = (gain == TileID::HIGHGAIN)
                                    ? CaloGain::TILEONEHIGH
@@ -937,11 +956,11 @@ void TileCellBuilderFromHit::build(const ITERATOR & begin, const ITERATOR & end,
                             << " qbit = 0x" << MSG::hex << (int) qbit << MSG::dec << endmsg;
         }
 
-        if (m_MBTSVec[index]) {
+        if (MBTSVec[index]) {
           msg(MSG::WARNING) << " double MBTS cell_id=" << m_tileTBID->to_string(cell_id)
                             << "  ignoring previous value" << endmsg;
         }
-        m_MBTSVec[index] = pCell;
+        MBTSVec[index] = pCell;
       }
     } else {
 
@@ -949,7 +968,8 @@ void TileCellBuilderFromHit::build(const ITERATOR & begin, const ITERATOR & end,
 
       unsigned char iqual = iquality(qual);
       // for normal cell qbit use only non_zero_time flag and check that energy is above standard energy threshold in MeV
-      unsigned char qbit = qbits(ros, drawer, true, non_zero_time, (fabs(ener) > m_eneForTimeCut)
+     unsigned char qbit = qbits(drawerEvtStatus,
+                                ros, drawer, true, non_zero_time, (fabs(ener) > m_eneForTimeCut)
           , overflow, underflow, overfit);
 
       if (E1_CELL && m_RUN2) {
@@ -960,7 +980,7 @@ void TileCellBuilderFromHit::build(const ITERATOR & begin, const ITERATOR & end,
           int index2 = m_tileID->cell_hash(cell_id2);
           TileCell* pCell2 = NEWTILECELL();
           ++nCell;
-          m_allCells[index2] = pCell2;
+          allCells[index2] = pCell2;
           const CaloDetDescrElement* dde2 = m_tileMgr->get_cell_element(index2);
           pCell2->set(dde2, cell_id2);
           pCell2->setEnergy_nonvirt(0.0, 0.0, CaloGain::INVALIDGAIN, CaloGain::INVALIDGAIN);
@@ -973,13 +993,13 @@ void TileCellBuilderFromHit::build(const ITERATOR & begin, const ITERATOR & end,
         }
       }
 
-      TileCell* pCell = m_allCells[index];
+      TileCell* pCell = allCells[index];
       if (pCell) {
         ++nTwo;
         correctCell(pCell, 2, pmt, gain, ener, time, iqual, qbit); // correct & merge 2 PMTs in one cell
       } else {
         ++nCell;
-        m_allCells[index] = pCell = NEWTILECELL();
+        allCells[index] = pCell = NEWTILECELL();
         const CaloDetDescrElement* dde = m_tileMgr->get_cell_element(index);
         pCell->set(dde, cell_id);
         pCell->setEnergy_nonvirt(0, 0, CaloGain::INVALIDGAIN, CaloGain::INVALIDGAIN);
@@ -1010,9 +1030,9 @@ void TileCellBuilderFromHit::build(const ITERATOR & begin, const ITERATOR & end,
   //**
   // Now store all TileCells
   //**
-  for (unsigned int index = 0; index < m_allCells.size(); ++index) {
+  for (unsigned int index = 0; index < allCells.size(); ++index) {
 
-    TileCell * pCell = m_allCells[index];
+    TileCell * pCell = allCells[index];
     const CaloDetDescrElement* dde = m_tileMgr->get_cell_element(index);
     if(!dde)
     {
@@ -1038,7 +1058,7 @@ void TileCellBuilderFromHit::build(const ITERATOR & begin, const ITERATOR & end,
         ++nCell;
         if (!single_PMT) ++nTwo;
 
-        m_allCells[index] = pCell = NEWTILECELL();
+        allCells[index] = pCell = NEWTILECELL();
         pCell->set(dde, cell_id);
 
         pCell->setEnergy_nonvirt(ener_min, 0.0, TileID::HIGHGAIN, (Ecell)?3:TileID::HIGHGAIN); // reset energy completely
@@ -1053,7 +1073,7 @@ void TileCellBuilderFromHit::build(const ITERATOR & begin, const ITERATOR & end,
     if (pCell) {      // cell exists
 
       if (m_maskBadChannels)
-        if (maskBadChannels(pCell,single_PMT_C10,Ecell))
+        if (maskBadChannels (drawerEvtStatus, pCell,single_PMT_C10,Ecell))
           ATH_MSG_VERBOSE ( "cell with id=" << m_tileID->to_string(pCell->ID(), -2)
                            << " bad channels masked, new energy=" << pCell->energy() );
 
@@ -1108,26 +1128,26 @@ void TileCellBuilderFromHit::build(const ITERATOR & begin, const ITERATOR & end,
         }
       }
       coll->push_back(pCell); // store cell in container
-      m_allCells[index] = 0; // clear pointer for next event
+      allCells[index] = 0; // clear pointer for next event
     }
   }
 
 
-  if (m_MBTSCells) {
+  if (MBTSCells) {
 
     for (int side = 0; side < NSIDE; ++side) {
       for (int phi = 0; phi < NPHI; ++phi) {
         for (int eta = 0; eta < NETA; ++eta) {
 
           int index=mbts_index(side,phi,eta);
-          TileCell * pCell = m_MBTSVec[index];
+          TileCell * pCell = MBTSVec[index];
 
           bool merged_MBTS = ( eta == 1 && (phi&1) == 1 && m_RUN2); // in RUN2 every second outer MBTS does not exist
 
           if (!pCell && !merged_MBTS) {
 
             ++nMBTS;
-            m_MBTSVec[index] = pCell = NEWTILECELL();
+            MBTSVec[index] = pCell = NEWTILECELL();
 
             Identifier cell_id = m_tileTBID->channel_id((side > 0) ? 1 : -1, phi, eta);
             pCell->set((m_mbtsMgr) ? m_mbtsMgr->get_element(cell_id) : NULL, cell_id);
@@ -1138,29 +1158,29 @@ void TileCellBuilderFromHit::build(const ITERATOR & begin, const ITERATOR & end,
           }
           
           if (pCell) {
-            if (m_maskBadChannels && maskBadChannel(pCell))
+            if (m_maskBadChannels && maskBadChannel (drawerEvtStatus, pCell))
                 ATH_MSG_VERBOSE ( "MBTS cell with id=" << m_tileTBID->to_string(pCell->ID())
                                   << " bad channel masked, new energy=" << pCell->energy() );
 
-            m_MBTSCells->push_back(pCell); // store cell in container
-            m_MBTSVec[index] = 0; // clear pointer for next event
+            MBTSCells->push_back(pCell); // store cell in container
+            MBTSVec[index] = 0; // clear pointer for next event
           }
         }
       }
     }
   }
 
-  if (m_E4prCells) {
+  if (E4prCells) {
 
     for (int phi = 0; phi < E4NPHI; ++phi) {
 
       int index = e4pr_index(phi);
-      TileCell * pCell = m_E4prVec[index];
+      TileCell * pCell = E4prVec[index];
 
       if (!pCell) {
 
         ++nE4pr;
-        m_E4prVec[index] = pCell = NEWTILECELL();
+        E4prVec[index] = pCell = NEWTILECELL();
 
         pCell->set(NULL, m_tileTBID->channel_id(E4SIDE, phi, E4ETA));
         pCell->setEnergy_nonvirt(0.0, 0.0, CaloGain::TILEONEHIGH, CaloGain::INVALIDGAIN); // reset energy completely
@@ -1170,12 +1190,12 @@ void TileCellBuilderFromHit::build(const ITERATOR & begin, const ITERATOR & end,
       }
 
       if (pCell) {
-        if (m_maskBadChannels && maskBadChannel(pCell))
+        if (m_maskBadChannels && maskBadChannel (drawerEvtStatus, pCell))
           ATH_MSG_VERBOSE ( "E4pr cell with id=" << m_tileTBID->to_string(pCell->ID())
                              << " bad channel masked, new energy=" << pCell->energy() );
 
-        m_E4prCells->push_back(pCell); // store cell in container
-        m_E4prVec[index] = 0; // clear pointer for next event
+        E4prCells->push_back(pCell); // store cell in container
+        E4prVec[index] = 0; // clear pointer for next event
       }
     }
   }
@@ -1188,10 +1208,10 @@ void TileCellBuilderFromHit::build(const ITERATOR & begin, const ITERATOR & end,
                     << " nFake=" << nFake
                     << " eneTot=" << eCellTot;
 
-    if (m_MBTSCells)
+    if (MBTSCells)
       msg(MSG::DEBUG) << " nMBTS=" << nMBTS
                       << " eMBTS=" << eMBTSTot;
-    if (m_E4prCells)
+    if (E4prCells)
       msg(MSG::DEBUG) << " nE4pr=" << nE4pr
                       << " eE4pr=" << eE4prTot;
 
-- 
GitLab


From b0746ed6aa9e091f793d5f0a193276b25bb422b7 Mon Sep 17 00:00:00 2001
From: John Kenneth Anders <john.kenneth.anders@cern.ch>
Date: Mon, 28 Jan 2019 17:57:15 +0000
Subject: [PATCH 177/192] Merge branch '21.0-hadrontruth' into '21.0'

Adding variable HadronConeExclTruthLabelID to heavy-ion jet collections

See merge request atlas/athena!20652

(cherry picked from commit d0330f7abe3e44f4765d323f81ab997ba18e4ebc)

1fed1e45 Adding variable HadronConeExclTruthLabelID to heavy-ion jet collections.
---
 Reconstruction/HeavyIonRec/HIJetRec/python/HIJetRecTools.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Reconstruction/HeavyIonRec/HIJetRec/python/HIJetRecTools.py b/Reconstruction/HeavyIonRec/HIJetRec/python/HIJetRecTools.py
index b737f9623e81..d2732b638a86 100644
--- a/Reconstruction/HeavyIonRec/HIJetRec/python/HIJetRecTools.py
+++ b/Reconstruction/HeavyIonRec/HIJetRec/python/HIJetRecTools.py
@@ -194,8 +194,8 @@ if jetFlags.useCaloQualityTool():
 if jetFlags.useTracks(): 
     hi_modifiers += [jtm.jvf, jtm.jvt, jtm.trkmoms]
 if jetFlags.useTruth():
-    hi_modifiers += [jtm.truthpartondr,jtm.partontruthlabel]
-    hi_trk_modifiers += [jtm.truthpartondr,jtm.partontruthlabel]
+    hi_modifiers += [jtm.truthpartondr,jtm.partontruthlabel,jtm.jetdrlabeler]
+    hi_trk_modifiers += [jtm.truthpartondr,jtm.partontruthlabel,jtm.jetdrlabeler]
 
 
 
-- 
GitLab


From 0fe9fd355f2edca8afb7c0f939f46e791fcdd929 Mon Sep 17 00:00:00 2001
From: scott snyder <snyder@bnl.gov>
Date: Mon, 28 Jan 2019 16:37:01 +0100
Subject: [PATCH 178/192] BTagging: Record output objects in objKeyStore.

Note the objects produced by JetBTaggerAlg as transient in objKeyStore.
Needed for the output streams to get the correct dependencies in MT.
---
 .../BTagging/python/BTaggingConfiguration.py    | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTaggingConfiguration.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTaggingConfiguration.py
index b60906a410f2..997be8f34672 100644
--- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTaggingConfiguration.py
+++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTaggingConfiguration.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 # Python function implementation of B-tagging configuration
 # Wouter van den Wollenberg (2013-2015)
@@ -487,6 +487,7 @@ class Configuration:
               raise RuntimeError
           print self.BTagTag()+' - INFO - Adding JetBTaggerAlg for '+jetcol
           from BTagging.BTaggingConf import Analysis__JetBTaggerAlg as JetBTaggerAlg
+          objs = {}
           options = dict(options)
           options.setdefault('OutputLevel', BTaggingFlags.OutputLevel)
           # setup the Analysis__BTagTrackAssociation tool
@@ -495,7 +496,7 @@ class Configuration:
           self._BTaggingConfig_MainAssociatorTools[jetcol] = thisBTagTrackAssociation
           options.setdefault('BTagTrackAssocTool', thisBTagTrackAssociation)
           # setup the secondary vertexing tool
-          thisSecVtxTool = self.setupSecVtxTool('SecVx'+self.GeneralToolSuffix(), jetcol, ToolSvc, Verbose)
+          thisSecVtxTool = self.setupSecVtxTool('SecVx'+self.GeneralToolSuffix(), jetcol, ToolSvc, Verbose, objs=objs)
           self._BTaggingConfig_SecVtxTools[jetcol] = thisSecVtxTool
           options.setdefault('BTagSecVertexing', thisSecVtxTool)
           # Setup the associator tool
@@ -507,8 +508,11 @@ class Configuration:
           options.setdefault('JetCollectionName', jetcol.replace('Track','PV0Track') + "Jets")
           options.setdefault('BTaggingCollectionName', btagname)
           options['BTagTool'] = self._BTaggingConfig_JetCollections.get(jetcol, None)
+          objs['xAOD::BTaggingContainer'] = options['BTaggingCollectionName']
           # -- create main BTagging algorithm and add it to topSequence
           jetbtaggeralg = JetBTaggerAlg(**options)
+          from RecExConfig.ObjKeyStore import objKeyStore
+          objKeyStore.addManyTypesTransient(objs)
           if not topSequence is None:
               topSequence += jetbtaggeralg
           if Verbose:
@@ -1380,7 +1384,7 @@ class Configuration:
           ToolSvc += tool
       return tool
 
-  def setupSecVtxTool(self, name, JetCollection, ToolSvc, Verbose = False, options={}):
+  def setupSecVtxTool(self, name, JetCollection, ToolSvc, Verbose = False, options={}, objs=None):
       """Adds a SecVtxTool instance and registers it.
 
       input: name:               The tool's name.
@@ -1388,7 +1392,9 @@ class Configuration:
              ToolSvc:            The ToolSvc instance.
              Verbose:            Whether to print detailed information about the tool.
              options:            Python dictionary of options to be passed to the SecVtxTool.
-      output: The tool."""
+      output: The tool.
+
+      If OBJS is set, then it is filled with objects written to SG."""
       jetcol = JetCollection
       secVtxFinderList = []
       secVtxFinderTrackNameList = []
@@ -1426,6 +1432,9 @@ class Configuration:
       options.setdefault('JetFitterVariableFactory', jetFitterVF)
       options.setdefault('MSVVariableFactory', varFactory)
       options['name'] = name
+      if objs:
+        objs['xAOD::VertexContainer'] = options['BTagSVCollectionName']
+        objs['xAOD::BTagVertexContainer'] = options['BTagJFVtxCollectionName']
       from BTagging.BTaggingConf import Analysis__BTagSecVertexing
       tool = Analysis__BTagSecVertexing(**options)
       if self._name == "Trig":
-- 
GitLab


From 3ed023ec4c61f67bee6672e6a2e3cf50f8956155 Mon Sep 17 00:00:00 2001
From: scott snyder <snyder@bnl.gov>
Date: Mon, 28 Jan 2019 16:37:18 +0100
Subject: [PATCH 179/192] MuonCombinedRecExample: Record output objects in
 objKeyStore.

Note the objects produced by MuonCreatorAlg as transient in objKeyStore.
Needed for the output streams to get the correct dependencies in MT.
---
 .../python/MuonCombinedAlgs.py                | 27 ++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)

diff --git a/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/MuonCombinedAlgs.py b/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/MuonCombinedAlgs.py
index e5befec9507c..bd7a9aacde6b 100644
--- a/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/MuonCombinedAlgs.py
+++ b/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/MuonCombinedAlgs.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2017, 2019 CERN for the benefit of the ATLAS collaboration
 
 from MuonCombinedRecExample.MuonCombinedRecFlags import muonCombinedRecFlags
 from AthenaCommon.CfgGetter import getPublicTool, getAlgorithm,getPublicToolClone
@@ -82,8 +82,32 @@ def MuonCombinedAlg( name="MuonCombinedAlg",**kwargs ):
     kwargs.setdefault("CombinedTagMaps", tagmaps)
     return CfgMgr.MuonCombinedAlg(name,**kwargs)
 
+def recordMuonCreatorAlgObjs (kw):
+    Alg = CfgMgr.MuonCreatorAlg
+    def val (prop):
+        d = kw.get (prop)
+        if d == None:
+            d = Alg.__dict__[prop].default
+        return d
+    objs = {'xAOD::MuonContainer': val('MuonContainerLocation'),
+            'xAOD::TrackParticleContainer': (val('CombinedLocation')+'TrackParticles',
+                                             val('ExtrapolatedLocation')+'TrackParticles',
+                                             val('MSOnlyExtrapolatedLocation')+'TrackParticles'),
+            'xAOD::MuonSegmentContainer': val('SegmentContainerName'),
+            }
+    if val('BuildSlowMuon'):
+        objs['xAOD::SlowMuonContainer'] = val('SlowMuonContainerLocation')
+    if val('MakeClusters'):
+        objs['CaloClusterCellLinkContainer'] =  val('CaloClusterCellLinkName') + '_links'
+        objs['xAOD::CaloClusterContainer'] =  val('ClusterContainerName')
+        
+    from RecExConfig.ObjKeyStore import objKeyStore
+    objKeyStore.addManyTypesTransient (objs)
+    return
+    
 def MuonCreatorAlg( name="MuonCreatorAlg",**kwargs ):
     kwargs.setdefault("MuonCreatorTool",getPublicTool("MuonCreatorTool"))
+    recordMuonCreatorAlgObjs (kwargs)
     return CfgMgr.MuonCreatorAlg(name,**kwargs)
 
 def StauCreatorAlg( name="StauCreatorAlg", **kwargs ):
@@ -97,6 +121,7 @@ def StauCreatorAlg( name="StauCreatorAlg", **kwargs ):
     kwargs.setdefault("BuildSlowMuon",1)
     kwargs.setdefault("ClusterContainerName", "SlowMuonClusterCollection")
     kwargs.setdefault("TagMaps",["stauTagMap"])
+    recordMuonCreatorAlgObjs (kwargs)
     return MuonCreatorAlg(name,**kwargs)
 
 class MuonCombinedReconstruction(ConfiguredMuonRec):
-- 
GitLab


From c5822f16525066c624ad7aa11d195ca8a82cf841 Mon Sep 17 00:00:00 2001
From: scott snyder <snyder@bnl.gov>
Date: Mon, 28 Jan 2019 16:37:36 +0100
Subject: [PATCH 180/192] tauRec: Record output objects in objKeyStore.

Note the objects produced by tauRec as transient in objKeyStore.
Needed for the output streams to get the correct dependencies in MT.
---
 Reconstruction/tauRec/python/TauRecBuilder.py | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/Reconstruction/tauRec/python/TauRecBuilder.py b/Reconstruction/tauRec/python/TauRecBuilder.py
index e1440476500d..55ddca6c0d28 100644
--- a/Reconstruction/tauRec/python/TauRecBuilder.py
+++ b/Reconstruction/tauRec/python/TauRecBuilder.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 ################################################################################
 ##
@@ -42,7 +42,12 @@ class TauRecCoreBuilder ( TauRecConfigured ) :
     PhotonConversion will be run here too.
     """
   
-    _output     = { _outputType:_outputKey , _outputAuxType:_outputAuxKey }
+    _output     = { _outputType:_outputKey , _outputAuxType:_outputAuxKey,
+                    'xAOD::TauTrackContainer' : 'TauTracks',
+                    'xAOD::CaloClusterContainer' : 'TauShotClusters',
+                    'xAOD::PFOContainer' : 'TauShotParticleFlowObjects',
+                    'CaloCellContainer' : 'TauCommonPi0Cells',
+                    }
     
     def __init__(self, name = "TauCoreBuilder",doPi0Clus=False, doTJVA=False):
         self.name = name
@@ -59,10 +64,10 @@ class TauRecCoreBuilder ( TauRecConfigured ) :
         
         from RecExConfig.RecFlags import rec    
         
-        # xxx ToDo: still needed?        
         from RecExConfig.ObjKeyStore import objKeyStore
         objKeyStore.addManyTypesStreamESD(self._output)
         objKeyStore.addManyTypesStreamAOD(self._output)              
+        objKeyStore.addManyTypesTransient(self._output)              
         
         import tauRec.TauAlgorithmsHolder as taualgs
         from tauRec.tauRecFlags import tauFlags
-- 
GitLab


From 097e9f7e31a1fb9125c72fe0cec8b71b3f06518c Mon Sep 17 00:00:00 2001
From: scott snyder <snyder@bnl.gov>
Date: Mon, 28 Jan 2019 16:38:00 +0100
Subject: [PATCH 181/192] TRT_ConditionsServices: Fix undefined behavior
 sanitizer warnings.

Use DataHandle::cptr() rather than &*... .   The latter is technically
undefined if the handle is null, and could in principle result
in wrong code.
---
 .../src/TRT_StrawStatusSummarySvc.h                       | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/InnerDetector/InDetConditions/TRT_ConditionsServices/src/TRT_StrawStatusSummarySvc.h b/InnerDetector/InDetConditions/TRT_ConditionsServices/src/TRT_StrawStatusSummarySvc.h
index 3f2404b37678..0742555c7e17 100755
--- a/InnerDetector/InDetConditions/TRT_ConditionsServices/src/TRT_StrawStatusSummarySvc.h
+++ b/InnerDetector/InDetConditions/TRT_ConditionsServices/src/TRT_StrawStatusSummarySvc.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef TRT_STRAWSTATUSSUMMARYSVC_H
@@ -191,7 +191,7 @@ inline void TRT_StrawStatusSummarySvc::setStatus( const TRTCond::ExpandedIdentif
 
 inline const TRT_StrawStatusSummarySvc::StrawStatusContainer* TRT_StrawStatusSummarySvc::getStrawStatusContainer() {
   if(m_isGEANT4) {
-    return &(*m_strawstatusG4);
+    return m_strawstatusG4.cptr();
   }
   const EventContext& event_context=Gaudi::Hive::currentContext();
   EventContext::ContextID_t slot=event_context.slot();
@@ -214,7 +214,7 @@ inline const TRT_StrawStatusSummarySvc::StrawStatusContainer* TRT_StrawStatusSum
 inline const TRT_StrawStatusSummarySvc::StrawStatusContainer* TRT_StrawStatusSummarySvc::getStrawStatusPermanentContainer() {
 
   if(m_isGEANT4) {
-    return &(*m_strawstatuspermanentG4);
+    return m_strawstatuspermanentG4.cptr();
   }
   const EventContext& event_context=Gaudi::Hive::currentContext();
   EventContext::ContextID_t slot=event_context.slot();
@@ -237,7 +237,7 @@ inline const TRT_StrawStatusSummarySvc::StrawStatusContainer* TRT_StrawStatusSum
 inline const TRT_StrawStatusSummarySvc::StrawStatusContainer* TRT_StrawStatusSummarySvc::getStrawStatusHTContainer() {
 
   if(m_isGEANT4) {
-    return &(*m_strawstatusHTG4);
+    return m_strawstatusHTG4.cptr();
   }
   const EventContext& event_context=Gaudi::Hive::currentContext();
   EventContext::ContextID_t slot=event_context.slot();
-- 
GitLab


From 660d5cf406a3e44a8b8a68c2298f04c03560c8c7 Mon Sep 17 00:00:00 2001
From: scott snyder <snyder@bnl.gov>
Date: Mon, 28 Jan 2019 16:31:28 +0100
Subject: [PATCH 182/192] DataQualityTools: VarHandle migration.

Migrate DQTDataFlowMonTool to use ReadHandle.
---
 .../DataQualityTools/DQTDataFlowMonTool.h     | 19 ++++++++-------
 .../src/DQTDataFlowMonTool.cxx                | 23 +++++++++++--------
 2 files changed, 24 insertions(+), 18 deletions(-)

diff --git a/DataQuality/DataQualityTools/DataQualityTools/DQTDataFlowMonTool.h b/DataQuality/DataQualityTools/DataQualityTools/DQTDataFlowMonTool.h
index 68a3619d6ed2..562e5d8fb7f3 100644
--- a/DataQuality/DataQualityTools/DataQualityTools/DQTDataFlowMonTool.h
+++ b/DataQuality/DataQualityTools/DataQualityTools/DQTDataFlowMonTool.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // ********************************************************************
@@ -19,6 +19,7 @@
 #include "GaudiKernel/ToolHandle.h"
 #include <stdint.h>
 
+#include "StoreGate/ReadHandleKey.h"
 #include "xAODEventInfo/EventInfo.h"
 
 #include "DataQualityTools/DataQualityFatherMonTool.h"
@@ -32,15 +33,15 @@ class DQTDataFlowMonTool: public DataQualityFatherMonTool
   
   DQTDataFlowMonTool(const std::string & type, const std::string & name, const IInterface* parent);
 
-  ~DQTDataFlowMonTool();
+  virtual ~DQTDataFlowMonTool();
 
-  //StatusCode initialize();
+  virtual StatusCode initialize() override;
     
-  StatusCode bookHistogramsRecurrent( );
-  StatusCode bookHistograms( );
-  StatusCode fillHistograms( );
-  StatusCode procHistograms( );
-  StatusCode checkHists(bool fromFinalize);
+  virtual StatusCode bookHistogramsRecurrent( ) override;
+  virtual StatusCode bookHistograms( ) override;
+  virtual StatusCode fillHistograms( ) override;
+  virtual StatusCode procHistograms( ) override;
+  virtual StatusCode checkHists(bool fromFinalize) override;
 
 private:
 
@@ -61,6 +62,8 @@ private:
   typedef std::pair<unsigned int, unsigned int> EvFlagPt_t;
   //std::vector<EvFlagPt_t>* m_eventflag_vec[xAOD::EventInfo::nDets];
 
+  SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey
+  { this, "EventInfoKey", "EventInfo", "" };
 };
 
 #endif
diff --git a/DataQuality/DataQualityTools/src/DQTDataFlowMonTool.cxx b/DataQuality/DataQualityTools/src/DQTDataFlowMonTool.cxx
index bd0297b77129..c0c03fcd7cc4 100644
--- a/DataQuality/DataQualityTools/src/DQTDataFlowMonTool.cxx
+++ b/DataQuality/DataQualityTools/src/DQTDataFlowMonTool.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // ********************************************************************
@@ -18,6 +18,7 @@
 
 #include "GaudiKernel/MsgStream.h"
 #include "GaudiKernel/ITHistSvc.h"
+#include "StoreGate/ReadHandle.h"
 
 static const char* envstrings[AthenaMonManager::altprod+1] = { "user", "noOutput", "online", "tier0", 
 							       "tier0Raw", "tier0ESD", "AOD", "altprod" };
@@ -67,10 +68,18 @@ DQTDataFlowMonTool::~DQTDataFlowMonTool()
   */
 }
 
+//----------------------------------------------------------------------------------
+StatusCode DQTDataFlowMonTool::initialize()
+{
+  ATH_CHECK( DataQualityFatherMonTool::initialize() );
+  ATH_CHECK( m_eventInfoKey.initialize() );
+  return StatusCode::SUCCESS;
+}
 //----------------------------------------------------------------------------------
 StatusCode DQTDataFlowMonTool::bookHistograms(  )
 //----------------------------------------------------------------------------------
 {
+  const EventContext& ctx = Gaudi::Hive::currentContext();
   bool failure(false);
 
   if (m_releaseStageString == "") {
@@ -99,15 +108,9 @@ StatusCode DQTDataFlowMonTool::bookHistograms(  )
     m_release_stage_lowStat->GetXaxis()->SetBinLabel(m_environment+1, m_releaseStageString.c_str());
   }
 
-  const EventInfo* evtinfo;
-  StatusCode sc(evtStore()->retrieve(evtinfo));
-  if (sc.isFailure()) {
-    ATH_MSG_ERROR("Unable to retrieve EventInfo object");
-    failure = true;
-  } else {
-    if (evtinfo->eventType(xAOD::EventInfo::IS_SIMULATION)) {
-      failure |= rolling_hists.regHist(m_sumweights = new TH1D("m_sumweights", "Sum of MC event weights", 50, 0.5, 50.5)).isFailure();
-    }
+  SG::ReadHandle<xAOD::EventInfo> evtinfo (m_eventInfoKey, ctx);
+  if (evtinfo->eventType(xAOD::EventInfo::IS_SIMULATION)) {
+    failure |= rolling_hists.regHist(m_sumweights = new TH1D("m_sumweights", "Sum of MC event weights", 50, 0.5, 50.5)).isFailure();
   }
 
   if (failure) {return  StatusCode::FAILURE;}
-- 
GitLab


From 9201affe3ab29908d5b376410527b00e619cde87 Mon Sep 17 00:00:00 2001
From: Tomasz Bold <tomasz.bold@gmail.com>
Date: Tue, 29 Jan 2019 09:27:42 +0100
Subject: [PATCH 183/192] removed commented remnants

---
 .../python/testTrigMuonHypoConfig.py          | 25 -------------------
 1 file changed, 25 deletions(-)

diff --git a/Trigger/TrigHypothesis/TrigMuonHypo/python/testTrigMuonHypoConfig.py b/Trigger/TrigHypothesis/TrigMuonHypo/python/testTrigMuonHypoConfig.py
index 204aa8dadee5..f41f16c9f73c 100755
--- a/Trigger/TrigHypothesis/TrigMuonHypo/python/testTrigMuonHypoConfig.py
+++ b/Trigger/TrigHypothesis/TrigMuonHypo/python/testTrigMuonHypoConfig.py
@@ -495,31 +495,6 @@ def TrigmuCombHypoToolFromName( name, thresholdsHLT ):
     decodedDict['chainName'] = name # override
     return TrigmuCombHypoToolFromDict( decodedDict )
         
-    # name = "TrigmuCombHypoTool"
-
-    
-    # # Separete HLT_NmuX to bname[0]=HLT and bname[1]=NmuX
-    # bname = thresholdHLT.split('_') 
-    # threshold = bname[1]
-    # thresholds = config.decodeThreshold( threshold )
-    # print "TrigmuCombHypoConfig: Decoded ", thresholdHLT, " to ", thresholds
-
-
-    # tool=config.ConfigurationHypoTool( toolName, thresholds, tight )
-    
-    # # Setup MonTool for monitored variables in AthenaMonitoring package
-    # TriggerFlags.enableMonitoring = ["Validation"]
-
-    # try:
-    #         if 'Validation' in TriggerFlags.enableMonitoring() or 'Online' in TriggerFlags.enableMonitoring() or 'Cosmic' in TriggerFlags.enableMonitoring():
-    #             tool.MonTool = TrigmuCombHypoMonitoring( name + "Monitoring_" + thresholdHLT ) 
-    # except AttributeError:
-    #         tool.MonTool = ""
-    #         print name, ' Monitoring Tool failed'
-
-    # return tool
-
-
 class TrigmuCombHypoConfig():
 
     def decodeThreshold( self, threshold ):
-- 
GitLab


From 3ff9cf421f5de8c9985c40cec0c5976c1e086907 Mon Sep 17 00:00:00 2001
From: Susumu Oda <susumu.oda@cern.ch>
Date: Tue, 29 Jan 2019 08:40:01 +0000
Subject: [PATCH 184/192] Define and use methods using EventContext in
 SCT_Cabling (ATLASRECTS-4831)

---
 .../src/SCT_ConditionsParameterCondAlg.cxx    |   2 +-
 .../src/SCT_ConfigurationCondAlg.cxx          |  16 +--
 .../src/SCT_ConfigurationCondAlg.h            |   2 +-
 .../src/SCT_RODVetoCondAlg.cxx                |   4 +-
 .../src/SCT_ReadCalibDataTestAlg.cxx          |   6 +-
 .../src/SCT_TdaqEnabledCondAlg.cxx            |   2 +-
 .../src/SCT_ReadCalibDataTool.cxx             |   4 +-
 .../src/SCT_ReadCalibDataTool.h               |   2 +-
 .../SCT_Cabling/ISCT_CablingTool.h            |  14 +-
 .../SCT_Cabling/src/SCT_CablingTool.cxx       | 123 ++++++++++++++----
 .../SCT_Cabling/src/SCT_CablingTool.h         |  35 +++--
 .../SCT_Cabling/src/SCT_CablingToolCB.cxx     |  74 ++++++++++-
 .../SCT_Cabling/src/SCT_CablingToolCB.h       |  35 +++--
 .../SCT_Cabling/src/SCT_TestCablingAlg.cxx    |  36 ++---
 .../src/SCTRawDataProvider.cxx                |   2 +-
 .../D3PDMaker/InDetD3PDMaker/CMakeLists.txt   |   2 +-
 16 files changed, 267 insertions(+), 92 deletions(-)

diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConditionsParameterCondAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConditionsParameterCondAlg.cxx
index 22c4372db017..5ff4dcbc25d8 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConditionsParameterCondAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConditionsParameterCondAlg.cxx
@@ -137,7 +137,7 @@ StatusCode SCT_ConditionsParameterCondAlg::execute(const EventContext& ctx) cons
   for (; modItr != modEnd; modItr += nChipsPerModule) {
     // Get SN and identifiers (the channel number is serial number+1)
     const unsigned int truncatedSerialNumber{modItr->first - 1};
-    const IdentifierHash& moduleHash{m_cablingTool->getHashFromSerialNumber(truncatedSerialNumber)};
+    const IdentifierHash& moduleHash{m_cablingTool->getHashFromSerialNumber(truncatedSerialNumber, ctx)};
     if (not moduleHash.is_valid()) continue;
     // Loop over chips within module
    
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConfigurationCondAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConfigurationCondAlg.cxx
index 063e0bf5e368..99e0ea5313e1 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConfigurationCondAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConfigurationCondAlg.cxx
@@ -203,7 +203,7 @@ StatusCode SCT_ConfigurationCondAlg::fillChannelData(SCT_ConfigurationCondData*
     // Get SN and identifiers (the channel number is serial number+1 for the CoraCool folders but =serial number 
     // for Cool Vector Payload ; i.e. Run 1 and Run 2 resp.)
     const unsigned int truncatedSerialNumber{run1 ? (itr->first-1) : (itr->first)};
-    const IdentifierHash& hash{m_cablingTool->getHashFromSerialNumber(truncatedSerialNumber)};
+    const IdentifierHash& hash{m_cablingTool->getHashFromSerialNumber(truncatedSerialNumber, ctx)};
     if (not hash.is_valid()) continue;
     const Identifier waferId{m_pHelper->wafer_id(hash)};
     const Identifier moduleId{m_pHelper->module_id(waferId)};
@@ -255,7 +255,7 @@ StatusCode SCT_ConfigurationCondAlg::fillChannelData(SCT_ConfigurationCondData*
         thisChip->appendBadStripsToVector(badStripsVec);
         // Loop over bad strips and insert strip ID into set
         for (const auto& thisBadStrip:badStripsVec) {
-          const Identifier stripId{getStripId(truncatedSerialNumber, thisChip->id(), thisBadStrip, elements)};
+          const Identifier stripId{getStripId(truncatedSerialNumber, thisChip->id(), thisBadStrip, elements, ctx)};
           // If in rough order, may be better to call with itr of previous insertion as a suggestion    
           if (stripId.is_valid()) writeCdo->setBadStripId(stripId, // strip Identifier
                                                           thisChip->id()<6 ? hash : oppWaferHash, // wafer IdentifierHash
@@ -336,14 +336,14 @@ StatusCode SCT_ConfigurationCondAlg::fillModuleData(SCT_ConfigurationCondData* w
     // Get SN and identifiers (the channel number is serial number+1 for the CoraCool folders but =serial number 
     //  for Cool Vector Payload ; i.e. Run 1 and Run 2 resp.)
     const unsigned int truncatedSerialNumber{run1 ? (itr->first-1) : (itr->first)};
-    const IdentifierHash& hash{m_cablingTool->getHashFromSerialNumber(truncatedSerialNumber)};
+    const IdentifierHash& hash{m_cablingTool->getHashFromSerialNumber(truncatedSerialNumber, ctx)};
     ++totalNumberOfModules;
     if (not hash.is_valid()) continue;
 
     Identifier waferId{m_pHelper->wafer_id(hash)};
     ++totalNumberOfValidModules;
     IdentifierHash oppWaferHash;
-    m_pHelper->get_other_side(m_cablingTool->getHashFromSerialNumber(truncatedSerialNumber), oppWaferHash);
+    m_pHelper->get_other_side(m_cablingTool->getHashFromSerialNumber(truncatedSerialNumber, ctx), oppWaferHash);
     const Identifier oppWaferId{m_pHelper->wafer_id(oppWaferHash)};
     const Identifier moduleId{m_pHelper->module_id(waferId)};
     // Get AttributeList from second (see https://svnweb.cern.ch/trac/lcgcoral/browser/coral/trunk/src/CoralBase/CoralBase/AttributeList.h )
@@ -412,7 +412,7 @@ StatusCode SCT_ConfigurationCondAlg::fillLinkStatus(SCT_ConfigurationCondData* w
     const SCT_SerialNumber serialNumber{ullSerialNumber};
     if (not serialNumber.is_valid()) continue;
     // Check module hash
-    const IdentifierHash& hash{m_cablingTool->getHashFromSerialNumber(serialNumber.to_uint())};
+    const IdentifierHash& hash{m_cablingTool->getHashFromSerialNumber(serialNumber.to_uint(), ctx)};
     if (not hash.is_valid()) continue;
 
     int link0{run1 ? (itr->second[link0Index].data<int>()) : static_cast<int>(itr->second[link0Index].data<unsigned char>())};
@@ -430,7 +430,7 @@ StatusCode SCT_ConfigurationCondAlg::fillLinkStatus(SCT_ConfigurationCondData* w
 // Construct the strip ID from the module SN, chip number and strip number
 Identifier 
 SCT_ConfigurationCondAlg::getStripId(const unsigned int truncatedSerialNumber, const unsigned int chipNumber, const unsigned int stripNumber,
-                                     const InDetDD::SiDetectorElementCollection* elements) const {
+                                     const InDetDD::SiDetectorElementCollection* elements, const EventContext& ctx) const {
   Identifier waferId;
   const Identifier invalidIdentifier; //initialiser creates invalid Id
   unsigned int strip{0};
@@ -443,11 +443,11 @@ SCT_ConfigurationCondAlg::getStripId(const unsigned int truncatedSerialNumber, c
   // returns the side 0 hash, so we use the helper for side 1
 
   if (chipNumber<6) {
-    waferHash = m_cablingTool->getHashFromSerialNumber(truncatedSerialNumber);
+    waferHash = m_cablingTool->getHashFromSerialNumber(truncatedSerialNumber, ctx);
     strip = chipNumber * stripsPerChip + stripNumber;
     if (waferHash.is_valid()) waferId = m_pHelper->wafer_id(waferHash);
   } else {
-    m_pHelper->get_other_side(m_cablingTool->getHashFromSerialNumber(truncatedSerialNumber), waferHash);
+    m_pHelper->get_other_side(m_cablingTool->getHashFromSerialNumber(truncatedSerialNumber, ctx), waferHash);
     strip = (chipNumber - 6) * stripsPerChip + stripNumber;
     if (waferHash.is_valid()) waferId = m_pHelper->wafer_id(waferHash);
   }
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConfigurationCondAlg.h b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConfigurationCondAlg.h
index cb059211e398..d7c558be3912 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConfigurationCondAlg.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ConfigurationCondAlg.h
@@ -42,7 +42,7 @@ class SCT_ConfigurationCondAlg : public AthReentrantAlgorithm
   StatusCode fillModuleData(SCT_ConfigurationCondData* writeCdo, EventIDRange& rangeModule, const EventContext& ctx) const;
   StatusCode fillLinkStatus(SCT_ConfigurationCondData* writeCdo, EventIDRange& rangeMur, const EventContext& ctx) const;
   Identifier getStripId(const unsigned int truncatedSerialNumber, const unsigned int chipNumber, const unsigned int stripNumber,
-                        const InDetDD::SiDetectorElementCollection* elements) const;
+                        const InDetDD::SiDetectorElementCollection* elements, const EventContext& ctx) const;
 
   static const std::string s_coolChannelFolderName;
   static const std::string s_coolChannelFolderName2;
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_RODVetoCondAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_RODVetoCondAlg.cxx
index 5ead997314e2..4ad57d62af88 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_RODVetoCondAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_RODVetoCondAlg.cxx
@@ -38,7 +38,7 @@ StatusCode SCT_RODVetoCondAlg::execute(const EventContext& ctx) const {
   ATH_MSG_INFO(m_badRODElementsInput.value().size() <<" RODs were declared bad");
 
   std::vector<unsigned int> allRods;
-  m_cabling->getAllRods(allRods);
+  m_cabling->getAllRods(allRods, ctx);
   
   SG::WriteHandle<IdentifierSet> badIds{m_badIds, ctx};
   ATH_CHECK(badIds.record(std::make_unique<IdentifierSet>()));
@@ -53,7 +53,7 @@ StatusCode SCT_RODVetoCondAlg::execute(const EventContext& ctx) const {
     }
 
     std::vector<IdentifierHash> listOfHashes;
-    m_cabling->getHashesForRod(listOfHashes, thisRod);
+    m_cabling->getHashesForRod(listOfHashes, thisRod, ctx);
     // Two consecutive hashes may produce the same module id, since they will be two sides
     // of the same module. We avoid invalid inserts by guarding against this.
     Identifier previousId; //constructor produces an invalid one
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibDataTestAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibDataTestAlg.cxx
index 0fe2b50640fd..bfaa9b1a1a20 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibDataTestAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibDataTestAlg.cxx
@@ -91,7 +91,7 @@ StatusCode SCT_ReadCalibDataTestAlg::processProperties()
 } // SCT_ReadCalibDataTestAlg::processProperties()
 
 //----------------------------------------------------------------------
-StatusCode SCT_ReadCalibDataTestAlg::execute(const EventContext& /*ctx*/) const
+StatusCode SCT_ReadCalibDataTestAlg::execute(const EventContext& ctx) const
 {
   //This method is only used to test the summary service, and only used within this package,
   // so the INFO level messages have no impact on performance of these services when used by clients
@@ -114,12 +114,12 @@ StatusCode SCT_ReadCalibDataTestAlg::execute(const EventContext& /*ctx*/) const
     int nbad{0};
     //Loop over all wafers using hashIds from the cabling service
     std::vector<boost::uint32_t> listOfRODs;
-    m_cabling->getAllRods(listOfRODs);
+    m_cabling->getAllRods(listOfRODs, ctx);
     std::vector<boost::uint32_t>::iterator rodIter{listOfRODs.begin()};
     std::vector<boost::uint32_t>::iterator rodEnd{listOfRODs.end()};
     for (; rodIter != rodEnd; ++rodIter) {
       std::vector<IdentifierHash> listOfHashes;
-      m_cabling->getHashesForRod(listOfHashes, *rodIter);
+      m_cabling->getHashesForRod(listOfHashes, *rodIter, ctx);
       std::vector<IdentifierHash>::iterator hashIt{listOfHashes.begin()};
       std::vector<IdentifierHash>::iterator hashEnd{listOfHashes.end()};
       for (; hashIt != hashEnd; ++hashIt) {
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_TdaqEnabledCondAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_TdaqEnabledCondAlg.cxx
index 0cd077688362..688fd86c97af 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_TdaqEnabledCondAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_TdaqEnabledCondAlg.cxx
@@ -128,7 +128,7 @@ StatusCode SCT_TdaqEnabledCondAlg::execute(const EventContext& ctx) const
       tmpIdVec.reserve(s_modulesPerRod);
       for (const auto& thisRod : writeCdo->getGoodRods()) {
         tmpIdVec.clear();
-        m_cablingTool->getHashesForRod(tmpIdVec, thisRod);
+        m_cablingTool->getHashesForRod(tmpIdVec, thisRod, ctx);
         writeCdo->setGoodModules(tmpIdVec);
       }
       writeCdo->setFilled(true);
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ReadCalibDataTool.cxx b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ReadCalibDataTool.cxx
index f17e40e1b219..55ede894dba1 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ReadCalibDataTool.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ReadCalibDataTool.cxx
@@ -291,12 +291,12 @@ std::list<Identifier> SCT_ReadCalibDataTool::defectList(const std::string& defec
   
   //Loop over all wafers using hashIds from the cabling service
   std::vector<boost::uint32_t> listOfRODs;
-  m_cabling->getAllRods(listOfRODs);
+  m_cabling->getAllRods(listOfRODs, ctx);
   std::vector<boost::uint32_t>::iterator rodIter{listOfRODs.begin()};
   std::vector<boost::uint32_t>::iterator rodEnd{listOfRODs.end()};
   for (; rodIter!=rodEnd; ++rodIter) {
     std::vector<IdentifierHash> listOfHashes;
-    m_cabling->getHashesForRod(listOfHashes, *rodIter);
+    m_cabling->getHashesForRod(listOfHashes, *rodIter, ctx);
     std::vector<IdentifierHash>::iterator hashIt{listOfHashes.begin()};
     std::vector<IdentifierHash>::iterator hashEnd{listOfHashes.end()};
     for (; hashIt != hashEnd; ++hashIt) {
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ReadCalibDataTool.h b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ReadCalibDataTool.h
index fad58d5ab698..b09387c30fe6 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ReadCalibDataTool.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ReadCalibDataTool.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /** @file SCT_ReadCalibDataTool.h Header file for SCT_ReadCalibDataTool.
diff --git a/InnerDetector/InDetDetDescr/SCT_Cabling/SCT_Cabling/ISCT_CablingTool.h b/InnerDetector/InDetDetDescr/SCT_Cabling/SCT_Cabling/ISCT_CablingTool.h
index 6a1e8a7e9ea0..52340082ef86 100644
--- a/InnerDetector/InDetDetDescr/SCT_Cabling/SCT_Cabling/ISCT_CablingTool.h
+++ b/InnerDetector/InDetDetDescr/SCT_Cabling/SCT_Cabling/ISCT_CablingTool.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef ISCT_CablingTool_h
@@ -18,6 +18,7 @@
 #include "SCT_Cabling/SCT_OnlineId.h"
 
 //Gaudi includes
+#include "GaudiKernel/EventContext.h"
 #include "GaudiKernel/IAlgTool.h"
 
 //standard includes
@@ -42,36 +43,47 @@ class ISCT_CablingTool: virtual public IAlgTool {
 
   /// return offline hash, given the online Id (used by decoders)
   virtual IdentifierHash getHashFromOnlineId(const SCT_OnlineId& onlineId, const bool withWarnings = true) const = 0;
+  virtual IdentifierHash getHashFromOnlineId(const SCT_OnlineId& onlineId, const EventContext& ctx, const bool withWarnings = true) const = 0;
 
   /// return the online Id, given a hash (used by simulation encoders)
   virtual SCT_OnlineId getOnlineIdFromHash(const IdentifierHash& hash) const = 0;
+  virtual SCT_OnlineId getOnlineIdFromHash(const IdentifierHash& hash, const EventContext& ctx) const = 0;
 
   /// return the rob/rod Id, given a hash (used by simulation encoders)
   virtual std::uint32_t getRobIdFromHash(const IdentifierHash& hash) const = 0;
+  virtual std::uint32_t getRobIdFromHash(const IdentifierHash& hash, const EventContext& ctx) const = 0;
 
   /// return the online Id, given an offlineId
   virtual SCT_OnlineId getOnlineIdFromOfflineId(const Identifier& offlineId) const = 0;
+  virtual SCT_OnlineId getOnlineIdFromOfflineId(const Identifier& offlineId, const EventContext& ctx) const = 0;
 
   /// return the rob/rod Id, given an offlineId (used by simulation encoders)
   virtual std::uint32_t getRobIdFromOfflineId(const Identifier& offlineId) const = 0;
+  virtual std::uint32_t getRobIdFromOfflineId(const Identifier& offlineId, const EventContext& ctx) const = 0;
 
   /// size of the data structure (for the SCT should be 8176, one for each module side)
   virtual unsigned int size() const = 0;
+  virtual unsigned int size(const EventContext& ctx) const = 0;
 
   /// is the data structure empty?
   virtual bool empty() const = 0;
+  virtual bool empty(const EventContext& ctx) const = 0;
 
   /// get hash from a module serial number, needed in the conditions service because configurations are stored by module s/n
   virtual IdentifierHash getHashFromSerialNumber(const SCT_SerialNumber& sn) const = 0;
+  virtual IdentifierHash getHashFromSerialNumber(const SCT_SerialNumber& sn, const EventContext& ctx) const = 0;
 
   /// get module serial number from hash, needed during filling of data structure
   virtual SCT_SerialNumber getSerialNumberFromHash(const IdentifierHash& hash) const = 0;
+  virtual SCT_SerialNumber getSerialNumberFromHash(const IdentifierHash& hash, const EventContext& ctx) const = 0;
 
   /// fill a users vector with all the RodIds
   virtual void getAllRods(std::vector<std::uint32_t>& usersVector) const = 0;
+  virtual void getAllRods(std::vector<std::uint32_t>& usersVector, const EventContext& ctx) const = 0;
 
   /// fill a user's vector with all the hash ids which belong to a given rod
   virtual void getHashesForRod(std::vector<IdentifierHash>& usersVector, const std::uint32_t rodId) const = 0;
+  virtual void getHashesForRod(std::vector<IdentifierHash>& usersVector, const std::uint32_t rodId, const EventContext& ctx) const = 0;
 };
 
 #endif // ISCT_CablingTool_h
diff --git a/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingTool.cxx b/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingTool.cxx
index 4062118a5133..38c5c554382b 100644
--- a/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingTool.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingTool.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -71,8 +71,8 @@ SCT_CablingTool::finalize() {
 
 //
 unsigned int
-SCT_CablingTool::size() const {
-  const SCT_CablingData* data{getData()};
+SCT_CablingTool::size(const EventContext& ctx) const {
+  const SCT_CablingData* data{getData(ctx)};
   if (data==nullptr) {
     ATH_MSG_FATAL("Filling the cabling FAILED");
     return 0;
@@ -81,15 +81,27 @@ SCT_CablingTool::size() const {
   return data->getHashEntries();
 }
 
+unsigned int
+SCT_CablingTool::size() const {
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+  return size(ctx);
+}
+
 //
+bool
+SCT_CablingTool::empty(const EventContext& ctx) const {
+  return (size(ctx)==0);
+}
+
 bool
 SCT_CablingTool::empty() const {
-  return (size()==0);
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+  return empty(ctx);
 }
 
 //
 IdentifierHash 
-SCT_CablingTool::getHashFromOnlineId(const SCT_OnlineId& onlineId, const bool withWarnings) const {
+SCT_CablingTool::getHashFromOnlineId(const SCT_OnlineId& onlineId, const EventContext& ctx, const bool withWarnings) const {
   //is it valid at all?
   if (not onlineId.is_valid()) {
     if (withWarnings) ATH_MSG_WARNING("Invalid online id ("<<std::hex<<onlineId<<") "<<std::dec);
@@ -102,7 +114,7 @@ SCT_CablingTool::getHashFromOnlineId(const SCT_OnlineId& onlineId, const bool wi
     return invalidHash;
   }
 
-  const SCT_CablingData* data{getData()};
+  const SCT_CablingData* data{getData(ctx)};
   if (data==nullptr) {
     ATH_MSG_FATAL("Filling the cabling FAILED");
     return invalidHash;
@@ -111,10 +123,16 @@ SCT_CablingTool::getHashFromOnlineId(const SCT_OnlineId& onlineId, const bool wi
   return data->getHashFromOnlineId(onlineId);
 }
 
+IdentifierHash
+SCT_CablingTool::getHashFromOnlineId(const SCT_OnlineId& onlineId, const bool withWarnings) const {
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+  return getHashFromOnlineId(onlineId, ctx, withWarnings);
+}
+
 //
 SCT_OnlineId 
-SCT_CablingTool::getOnlineIdFromHash(const IdentifierHash& hash) const {
-  const SCT_CablingData* data{getData()};
+SCT_CablingTool::getOnlineIdFromHash(const IdentifierHash& hash, const EventContext& ctx) const {
+  const SCT_CablingData* data{getData(ctx)};
   if (data==nullptr) {
     ATH_MSG_FATAL("Filling the cabling FAILED");
     return invalidId;
@@ -123,20 +141,56 @@ SCT_CablingTool::getOnlineIdFromHash(const IdentifierHash& hash) const {
   return data->getOnlineIdFromHash(hash);
 }
 
+SCT_OnlineId
+SCT_CablingTool::getOnlineIdFromHash(const IdentifierHash& hash) const {
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+  return getOnlineIdFromHash(hash, ctx);
+}
+
 //
 SCT_OnlineId
-SCT_CablingTool::getOnlineIdFromOfflineId(const Identifier& offlineId) const {
+SCT_CablingTool::getOnlineIdFromOfflineId(const Identifier& offlineId, const EventContext& ctx) const {
   if (not offlineId.is_valid()) return invalidId;
   IdentifierHash hash(m_idHelper->wafer_hash(offlineId));
-  return getOnlineIdFromHash(hash);
+  return getOnlineIdFromHash(hash, ctx);
+}
+
+SCT_OnlineId
+SCT_CablingTool::getOnlineIdFromOfflineId(const Identifier& offlineId) const {
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+  return getOnlineIdFromOfflineId(offlineId, ctx);
+}
+
+//
+std::uint32_t
+SCT_CablingTool::getRobIdFromHash(const IdentifierHash& hash, const EventContext& ctx) const {
+  return getOnlineIdFromHash(hash, ctx).rod();
+}
+
+std::uint32_t
+SCT_CablingTool::getRobIdFromHash(const IdentifierHash& hash) const {
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+  return getRobIdFromHash(hash, ctx);
+}
+
+//
+std::uint32_t
+SCT_CablingTool::getRobIdFromOfflineId(const Identifier& offlineId, const EventContext& ctx) const {
+  return getOnlineIdFromOfflineId(offlineId, ctx).rod();
+}
+
+std::uint32_t
+SCT_CablingTool::getRobIdFromOfflineId(const Identifier& offlineId) const {
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+  return getRobIdFromOfflineId(offlineId, ctx);
 }
 
 //
 IdentifierHash
-SCT_CablingTool::getHashFromSerialNumber(const SCT_SerialNumber& sn) const {
+SCT_CablingTool::getHashFromSerialNumber(const SCT_SerialNumber& sn, const EventContext& ctx) const {
   if (not sn.isWellFormed()) return invalidHash;
 
-  const SCT_CablingData* data{getData()};
+  const SCT_CablingData* data{getData(ctx)};
   if (data==nullptr) {
     ATH_MSG_FATAL("Filling the cabling FAILED");
     return invalidHash;
@@ -145,13 +199,19 @@ SCT_CablingTool::getHashFromSerialNumber(const SCT_SerialNumber& sn) const {
   return data->getHashFromSerialNumber(sn);
 }
 
+IdentifierHash
+SCT_CablingTool::getHashFromSerialNumber(const SCT_SerialNumber& sn) const {
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+  return getHashFromSerialNumber(sn, ctx);
+}
+
 SCT_SerialNumber
-SCT_CablingTool::getSerialNumberFromHash(const IdentifierHash& hash) const {
+SCT_CablingTool::getSerialNumberFromHash(const IdentifierHash& hash, const EventContext& ctx) const {
   if (not hash.is_valid()) return invalidSn;
   //hash must be even
   IdentifierHash evenHash{even(hash)};
   
-  const SCT_CablingData* data{getData()};
+  const SCT_CablingData* data{getData(ctx)};
   if (data==nullptr) {
     ATH_MSG_FATAL("Filling the cabling FAILED");
     return invalidSn;
@@ -160,9 +220,15 @@ SCT_CablingTool::getSerialNumberFromHash(const IdentifierHash& hash) const {
   return data->getSerialNumberFromHash(evenHash);
 }
 
+SCT_SerialNumber
+SCT_CablingTool::getSerialNumberFromHash(const IdentifierHash& hash) const {
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+  return getSerialNumberFromHash(hash, ctx);
+}
+
 void
-SCT_CablingTool::getAllRods(std::vector<std::uint32_t>& usersVector) const {
-  const SCT_CablingData* data{getData()};
+SCT_CablingTool::getAllRods(std::vector<std::uint32_t>& usersVector, const EventContext& ctx) const {
+  const SCT_CablingData* data{getData(ctx)};
   if (data==nullptr) {
     ATH_MSG_FATAL("Filling the cabling FAILED");
     return;
@@ -172,21 +238,32 @@ SCT_CablingTool::getAllRods(std::vector<std::uint32_t>& usersVector) const {
 }
 
 void
-SCT_CablingTool::getHashesForRod(std::vector<IdentifierHash>& usersVector, const std::uint32_t rodId) const {
-  SCT_OnlineId firstPossibleId(rodId,SCT_OnlineId::FIRST_FIBRE);
-  const bool withWarnings(false);
-  for (SCT_OnlineId i(firstPossibleId);i!=SCT_OnlineId::INVALID_ONLINE_ID;++i) {
-    IdentifierHash thisHash(getHashFromOnlineId(i, withWarnings));
+SCT_CablingTool::getAllRods(std::vector<std::uint32_t>& usersVector) const {
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+  getAllRods(usersVector, ctx);
+}
+
+void
+SCT_CablingTool::getHashesForRod(std::vector<IdentifierHash>& usersVector, const std::uint32_t rodId, const EventContext& ctx) const {
+  SCT_OnlineId firstPossibleId{rodId, SCT_OnlineId::FIRST_FIBRE};
+  const bool withWarnings{false};
+  for (SCT_OnlineId i{firstPossibleId}; i!=SCT_OnlineId::INVALID_ONLINE_ID; ++i) {
+    IdentifierHash thisHash(getHashFromOnlineId(i, ctx, withWarnings));
     if (thisHash != invalidHash) {
       usersVector.push_back(thisHash);
     }
   }
 }
 
+void
+SCT_CablingTool::getHashesForRod(std::vector<IdentifierHash>& usersVector, const std::uint32_t rodId) const {
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+  getHashesForRod(usersVector, rodId, ctx);
+}
+
 const SCT_CablingData*
-SCT_CablingTool::getData() const {
+SCT_CablingTool::getData(const EventContext& ctx) const {
   static const EventContext::ContextEvt_t invalidValue{EventContext::INVALID_CONTEXT_EVT};
-  const EventContext& ctx{Gaudi::Hive::currentContext()};
   const EventContext::ContextID_t slot{ctx.slot()};
   const EventContext::ContextEvt_t evt{ctx.evt()};
   if (slot>=m_cache.size()) {
diff --git a/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingTool.h b/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingTool.h
index 0cd29cac31cc..e6cdf4068926 100644
--- a/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingTool.h
+++ b/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingTool.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef SCT_CablingTool_h
@@ -49,41 +49,48 @@ class SCT_CablingTool: public extends<AthAlgTool, ISCT_CablingTool> {
   
   //@name ISCT_CablingTool methods implemented, these are visible to clients
   //@{
+  /// size of the data structure (for the SCT should be 8176, one for each module side)
+  virtual unsigned int size(const EventContext& ctx) const override;
+  virtual unsigned int size() const override;
+    
+  /// is the data structure empty?
+  virtual bool empty(const EventContext& ctx) const override;
+  virtual bool empty() const override;
+    
   /// return offline hash, given the online Id (used by decoders)
+  virtual IdentifierHash getHashFromOnlineId(const SCT_OnlineId& onlineId, const EventContext& ctx, const bool withWarnings=true) const override;
   virtual IdentifierHash getHashFromOnlineId(const SCT_OnlineId& onlineId, const bool withWarnings=true) const override;
    
   /// return the online Id, given a hash (used by simulation encoders)
+  virtual SCT_OnlineId getOnlineIdFromHash(const IdentifierHash& hash, const EventContext& ctx) const override;
   virtual SCT_OnlineId getOnlineIdFromHash(const IdentifierHash& hash) const override;
   
   /// return the online Id, given an offlineId
+  virtual SCT_OnlineId getOnlineIdFromOfflineId(const Identifier& offlineId, const EventContext& ctx) const override;
   virtual SCT_OnlineId getOnlineIdFromOfflineId(const Identifier& offlineId) const override;
   
   /// return the rob/rod Id, given a hash (used by simulation encoders)
-  virtual std::uint32_t getRobIdFromHash(const IdentifierHash& hash) const override {
-    return getOnlineIdFromHash(hash).rod();
-  }
+  virtual std::uint32_t getRobIdFromHash(const IdentifierHash& hash, const EventContext& ctx) const override;
+  virtual std::uint32_t getRobIdFromHash(const IdentifierHash& hash) const override;
     
   /// return the rob/rod Id, given an offlineId (used by simulation encoders)
-  virtual std::uint32_t getRobIdFromOfflineId(const Identifier& offlineId) const override {
-    return getOnlineIdFromOfflineId(offlineId).rod();
-  }
+  virtual std::uint32_t getRobIdFromOfflineId(const Identifier& offlineId, const EventContext& ctx) const override;
+  virtual std::uint32_t getRobIdFromOfflineId(const Identifier& offlineId) const override;
 
-  /// size of the data structure (for the SCT should be 8176, one for each module side)
-  virtual unsigned int size() const override;
-    
-  /// is the data structure empty?
-  virtual bool empty() const override;
-    
   /// get hash from a module serial number, needed in the conditions service because configurations are stored by module s/n
+  virtual IdentifierHash getHashFromSerialNumber(const SCT_SerialNumber& sn, const EventContext& ctx) const override;
   virtual IdentifierHash getHashFromSerialNumber(const SCT_SerialNumber& sn) const override;
 
   /// get module serial number from hash, needed during filling of data structure
+  virtual SCT_SerialNumber getSerialNumberFromHash(const IdentifierHash& hash, const EventContext& ctx) const override;
   virtual SCT_SerialNumber getSerialNumberFromHash(const IdentifierHash& hash) const override;
 
   /// fill a users vector with all the RodIds
+  virtual void getAllRods(std::vector<std::uint32_t>& usersVector, const EventContext& ctx) const override;
   virtual void getAllRods(std::vector<std::uint32_t>& usersVector) const override;
 
   /// fill a user's vector with all the hash ids which belong to a given rod
+  virtual void getHashesForRod(std::vector<IdentifierHash>& usersVector, const std::uint32_t rodId, const EventContext& ctx) const override;
   virtual void getHashesForRod(std::vector<IdentifierHash>& usersVector, const std::uint32_t rodId) const override;
   //@}
 
@@ -100,7 +107,7 @@ class SCT_CablingTool: public extends<AthAlgTool, ISCT_CablingTool> {
   // Pointer of SCT_CablingData
   mutable Gaudi::Hive::ContextSpecificPtr<const SCT_CablingData> m_condData;
 
-  const SCT_CablingData* getData() const;
+  const SCT_CablingData* getData(const EventContext& ctx) const;
 };
 
 #endif // SCT_CablingTool_h
diff --git a/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingToolCB.cxx b/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingToolCB.cxx
index a92a00198e48..c99cb35312fd 100644
--- a/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingToolCB.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingToolCB.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -118,12 +118,22 @@ SCT_CablingToolCB::size() const {
   return m_data.getHashEntries();
 }
 
+unsigned int
+SCT_CablingToolCB::size(const EventContext& /*ctx*/) const {
+  return size();
+}
+
 //
 bool
 SCT_CablingToolCB::empty() const {
   return (size()==0);
 }
 
+bool
+SCT_CablingToolCB::empty(const EventContext& /*ctx*/) const {
+  return empty();
+}
+
 //
 IdentifierHash 
 SCT_CablingToolCB::getHashFromOnlineId(const SCT_OnlineId& onlineId, const bool withWarnings) const {
@@ -142,12 +152,22 @@ SCT_CablingToolCB::getHashFromOnlineId(const SCT_OnlineId& onlineId, const bool
   return m_data.getHashFromOnlineId(onlineId);
 }
 
+IdentifierHash 
+SCT_CablingToolCB::getHashFromOnlineId(const SCT_OnlineId& onlineId, const EventContext& /*ctx*/, const bool withWarnings) const {
+  return getHashFromOnlineId(onlineId, withWarnings);
+}
+
 //
 SCT_OnlineId 
 SCT_CablingToolCB::getOnlineIdFromHash(const IdentifierHash& hash) const {
   return m_data.getOnlineIdFromHash(hash);
 }
 
+SCT_OnlineId 
+SCT_CablingToolCB::getOnlineIdFromHash(const IdentifierHash& hash, const EventContext& /*ctx*/) const {
+  return getOnlineIdFromHash(hash);
+}
+
 //
 SCT_OnlineId
 SCT_CablingToolCB::getOnlineIdFromOfflineId(const Identifier& offlineId) const {
@@ -156,6 +176,33 @@ SCT_CablingToolCB::getOnlineIdFromOfflineId(const Identifier& offlineId) const {
   return getOnlineIdFromHash(hash);
 }
 
+SCT_OnlineId
+SCT_CablingToolCB::getOnlineIdFromOfflineId(const Identifier& offlineId, const EventContext& /*ctx*/) const {
+  return getOnlineIdFromOfflineId(offlineId);
+}
+
+//
+std::uint32_t
+SCT_CablingToolCB::getRobIdFromHash(const IdentifierHash& hash) const {
+  return getOnlineIdFromHash(hash).rod();
+}
+
+std::uint32_t
+SCT_CablingToolCB::getRobIdFromHash(const IdentifierHash& hash, const EventContext& /*ctx*/) const {
+  return getRobIdFromHash(hash);
+}
+
+//
+std::uint32_t
+SCT_CablingToolCB::getRobIdFromOfflineId(const Identifier& offlineId) const {
+  return getOnlineIdFromOfflineId(offlineId).rod();
+}
+
+std::uint32_t
+SCT_CablingToolCB::getRobIdFromOfflineId(const Identifier& offlineId, const EventContext& /*ctx*/) const {
+  return getRobIdFromOfflineId(offlineId);
+}
+
 //
 IdentifierHash
 SCT_CablingToolCB::getHashFromSerialNumber(const SCT_SerialNumber& sn) const {
@@ -163,6 +210,11 @@ SCT_CablingToolCB::getHashFromSerialNumber(const SCT_SerialNumber& sn) const {
   return m_data.getHashFromSerialNumber(sn);
 }
 
+IdentifierHash
+SCT_CablingToolCB::getHashFromSerialNumber(const SCT_SerialNumber& sn, const EventContext& /*ctx*/) const {
+  return getHashFromSerialNumber(sn);
+}
+
 SCT_SerialNumber
 SCT_CablingToolCB::getSerialNumberFromHash(const IdentifierHash& hash) const {
   if (not hash.is_valid()) return invalidSn;
@@ -171,6 +223,21 @@ SCT_CablingToolCB::getSerialNumberFromHash(const IdentifierHash& hash) const {
   return m_data.getSerialNumberFromHash(evenHash);
 }
 
+SCT_SerialNumber
+SCT_CablingToolCB::getSerialNumberFromHash(const IdentifierHash& hash, const EventContext& /*ctx*/) const {
+  return getSerialNumberFromHash(hash);
+}
+
+void
+SCT_CablingToolCB::getAllRods(std::vector<std::uint32_t>& usersVector) const {
+  m_data.getRods(usersVector);
+}
+
+void
+SCT_CablingToolCB::getAllRods(std::vector<std::uint32_t>& usersVector, const EventContext& /*ctx*/) const {
+  getAllRods(usersVector);
+}
+
 void
 SCT_CablingToolCB::getHashesForRod(std::vector<IdentifierHash>& usersVector, const std::uint32_t rodId) const {
   SCT_OnlineId firstPossibleId(rodId,SCT_OnlineId::FIRST_FIBRE);
@@ -182,3 +249,8 @@ SCT_CablingToolCB::getHashesForRod(std::vector<IdentifierHash>& usersVector, con
     }
   }
 }
+
+void
+SCT_CablingToolCB::getHashesForRod(std::vector<IdentifierHash>& usersVector, const std::uint32_t rodId, const EventContext& /*ctx*/) const {
+  getHashesForRod(usersVector, rodId);
+}
diff --git a/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingToolCB.h b/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingToolCB.h
index 0987e56b4122..73cf362bbc56 100644
--- a/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingToolCB.h
+++ b/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_CablingToolCB.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef SCT_CablingToolCB_h
@@ -53,41 +53,48 @@ class SCT_CablingToolCB: public extends<AthAlgTool, ISCT_CablingTool, IIncidentL
   
   //@name ISCT_CablingToolCB methods implemented, these are visible to clients
   //@{
+  /// size of the data structure (for the SCT should be 8176, one for each module side)
+  virtual unsigned int size(const EventContext& ctx) const override;
+  virtual unsigned int size() const override;
+    
+  /// is the data structure empty?
+  virtual bool empty(const EventContext& ctx) const override;
+  virtual bool empty() const override;
+    
   /// return offline hash, given the online Id (used by decoders)
+  virtual IdentifierHash getHashFromOnlineId(const SCT_OnlineId& onlineId, const EventContext& ctx, const bool withWarnings=true) const override;
   virtual IdentifierHash getHashFromOnlineId(const SCT_OnlineId& onlineId, const bool withWarnings=true) const override;
    
   /// return the online Id, given a hash (used by simulation encoders)
+  virtual SCT_OnlineId getOnlineIdFromHash(const IdentifierHash& hash, const EventContext& ctx) const override;
   virtual SCT_OnlineId getOnlineIdFromHash(const IdentifierHash& hash) const override;
   
   /// return the online Id, given an offlineId
+  virtual SCT_OnlineId getOnlineIdFromOfflineId(const Identifier& offlineId, const EventContext& ctx) const override;
   virtual SCT_OnlineId getOnlineIdFromOfflineId(const Identifier& offlineId) const override;
   
   /// return the rob/rod Id, given a hash (used by simulation encoders)
-  virtual std::uint32_t getRobIdFromHash(const IdentifierHash& hash) const override {
-    return getOnlineIdFromHash(hash).rod();
-  }
+  virtual std::uint32_t getRobIdFromHash(const IdentifierHash& hash, const EventContext& ctx) const override;
+  virtual std::uint32_t getRobIdFromHash(const IdentifierHash& hash) const override;
     
   /// return the rob/rod Id, given an offlineId (used by simulation encoders)
-  virtual std::uint32_t getRobIdFromOfflineId(const Identifier& offlineId) const override {
-    return getOnlineIdFromOfflineId(offlineId).rod();
-  }
+  virtual std::uint32_t getRobIdFromOfflineId(const Identifier& offlineId, const EventContext& ctx) const override;
+  virtual std::uint32_t getRobIdFromOfflineId(const Identifier& offlineId) const override;
 
-  /// size of the data structure (for the SCT should be 8176, one for each module side)
-  virtual unsigned int size() const override;
-    
-  /// is the data structure empty?
-  virtual bool empty() const override;
-    
   /// get hash from a module serial number, needed in the conditions service because configurations are stored by module s/n
+  virtual IdentifierHash getHashFromSerialNumber(const SCT_SerialNumber& sn, const EventContext& ctx) const override;
   virtual IdentifierHash getHashFromSerialNumber(const SCT_SerialNumber& sn) const override;
 
   /// get module serial number from hash, needed during filling of data structure
+  virtual SCT_SerialNumber getSerialNumberFromHash(const IdentifierHash& hash, const EventContext& ctx) const override;
   virtual SCT_SerialNumber getSerialNumberFromHash(const IdentifierHash& hash) const override;
 
   /// fill a users vector with all the RodIds
-  virtual void getAllRods(std::vector<std::uint32_t>& usersVector) const override { m_data.getRods(usersVector); }
+  virtual void getAllRods(std::vector<std::uint32_t>& usersVector, const EventContext& ctx) const override;
+  virtual void getAllRods(std::vector<std::uint32_t>& usersVector) const override;
     
   /// fill a user's vector with all the hash ids which belong to a given rod
+  virtual void getHashesForRod(std::vector<IdentifierHash>& usersVector, const std::uint32_t rodId, const EventContext& ctx) const override;
   virtual void getHashesForRod(std::vector<IdentifierHash>& usersVector, const std::uint32_t rodId) const override;
   //@}
 
diff --git a/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_TestCablingAlg.cxx b/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_TestCablingAlg.cxx
index a3b2bd66f4ae..a879af5acf09 100644
--- a/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_TestCablingAlg.cxx
+++ b/InnerDetector/InDetDetDescr/SCT_Cabling/src/SCT_TestCablingAlg.cxx
@@ -63,43 +63,43 @@ SCT_TestCablingAlg::coordString(const Identifier& offlineId) const {
 }
 
 StatusCode
-SCT_TestCablingAlg::execute(const EventContext& /*ctx*/) const {
+SCT_TestCablingAlg::execute(const EventContext& ctx) const {
   const string testAreaPath{CoveritySafe::getenv("TestArea")};
   string filename{testAreaPath+"/cabling.txt"};
   ATH_MSG_INFO("Filename: " << filename << " will be written to your $TestArea.");
   ofstream opFile1{filename.c_str(), ios::out};
   ATH_MSG_INFO("Executing...");
   ATH_MSG_INFO("hash, offline Id, online Id(hex), serial number");
-  const unsigned int nHashesInCabling{2*m_cablingTool->size()};
+  const unsigned int nHashesInCabling{2*m_cablingTool->size(ctx)};
   for (unsigned int i{0}; i!=nHashesInCabling; ++i) {
     IdentifierHash hash{i};
     Identifier offlineId{m_idHelper->wafer_id(hash)};
-    SCT_OnlineId onlineId{m_cablingTool->getOnlineIdFromHash(hash)};
-    SCT_SerialNumber sn{m_cablingTool->getSerialNumberFromHash(hash)};
+    SCT_OnlineId onlineId{m_cablingTool->getOnlineIdFromHash(hash, ctx)};
+    SCT_SerialNumber sn{m_cablingTool->getSerialNumberFromHash(hash, ctx)};
     ATH_MSG_INFO(i << " " << offlineId << " " << hex << onlineId << dec << " " << sn << " " << coordString(offlineId));
     opFile1 << i << " " << offlineId << " " << hex << onlineId << dec << " " << sn << " " << coordString(offlineId) << std::endl;
-    if (m_cablingTool->getHashFromOnlineId(onlineId) != hash){
-      ATH_MSG_ERROR("?? " << m_cablingTool->getHashFromOnlineId(onlineId));
+    if (m_cablingTool->getHashFromOnlineId(onlineId, ctx) != hash){
+      ATH_MSG_ERROR("?? " << m_cablingTool->getHashFromOnlineId(onlineId, ctx));
     }
   }
   opFile1.close();
-  ATH_MSG_INFO("Size: " << m_cablingTool->size());
+  ATH_MSG_INFO("Size: " << m_cablingTool->size(ctx));
   std::vector<unsigned int> rods;
-  m_cablingTool->getAllRods(rods);
+  m_cablingTool->getAllRods(rods, ctx);
   ATH_MSG_INFO("Num. of rods= " << rods.size());
   ATH_MSG_INFO("First rod id " << std::hex << rods[0] << std::dec);
   string sn{"20220130000299"};
-  ATH_MSG_INFO("Hash from serial number " << m_cablingTool->getHashFromSerialNumber(sn));
+  ATH_MSG_INFO("Hash from serial number " << m_cablingTool->getHashFromSerialNumber(sn, ctx));
   int tsn{130000299};
-  ATH_MSG_INFO("Hash from truncated serial number " << m_cablingTool->getHashFromSerialNumber(tsn));
+  ATH_MSG_INFO("Hash from truncated serial number " << m_cablingTool->getHashFromSerialNumber(tsn, ctx));
   unsigned long long snll{20220130000299LL};
-  ATH_MSG_INFO("Hash from truncated serial number " << m_cablingTool->getHashFromSerialNumber(snll));
-  ATH_MSG_INFO("Hash from onlineid " << m_cablingTool->getHashFromOnlineId(0x3d230006));
-  ATH_MSG_INFO("Hash from invalid onlineid " << m_cablingTool->getHashFromOnlineId(0x3d250006));
-  ATH_MSG_INFO("Hash from textfile onlineid " << m_cablingTool->getHashFromOnlineId(0x3d220010));
-  ATH_MSG_INFO("Hash from db onlineid " << m_cablingTool->getHashFromOnlineId(0x3d220105));
+  ATH_MSG_INFO("Hash from truncated serial number " << m_cablingTool->getHashFromSerialNumber(snll, ctx));
+  ATH_MSG_INFO("Hash from onlineid " << m_cablingTool->getHashFromOnlineId(0x3d230006, ctx));
+  ATH_MSG_INFO("Hash from invalid onlineid " << m_cablingTool->getHashFromOnlineId(0x3d250006, ctx));
+  ATH_MSG_INFO("Hash from textfile onlineid " << m_cablingTool->getHashFromOnlineId(0x3d220010, ctx));
+  ATH_MSG_INFO("Hash from db onlineid " << m_cablingTool->getHashFromOnlineId(0x3d220105, ctx));
   std::vector<IdentifierHash> hashVec;
-  m_cablingTool->getHashesForRod(hashVec, 0x220005);
+  m_cablingTool->getHashesForRod(hashVec, 0x220005, ctx);
   ATH_MSG_INFO("number of hashes for rod 0x220005: " << hashVec.size());
   //new section December 2014
   
@@ -124,8 +124,8 @@ SCT_TestCablingAlg::execute(const EventContext& /*ctx*/) const {
   for (unsigned int i{0}; i!=nHashesInCabling; ++i) {
     IdentifierHash hash{i};
     Identifier offlineId{m_idHelper->wafer_id(hash)};
-    SCT_OnlineId onlineId{m_cablingTool->getOnlineIdFromHash(hash)};
-    SCT_SerialNumber sn{m_cablingTool->getSerialNumberFromHash(hash)};
+    SCT_OnlineId onlineId{m_cablingTool->getOnlineIdFromHash(hash, ctx)};
+    SCT_SerialNumber sn{m_cablingTool->getSerialNumberFromHash(hash, ctx)};
     //rod, fibre, bec, layerDisk, eta,  phi, side,  robId, sn
     const int bec{m_idHelper->barrel_ec(offlineId)};
     const int layer{m_idHelper->layer_disk(offlineId)};
diff --git a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProvider.cxx b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProvider.cxx
index 25604d4d4ba5..d1967ada521f 100644
--- a/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProvider.cxx
+++ b/InnerDetector/InDetEventCnv/SCT_RawDataByteStreamCnv/src/SCTRawDataProvider.cxx
@@ -90,7 +90,7 @@ StatusCode SCTRawDataProvider::execute(const EventContext& ctx) const
   std::vector<const ROBFragment*> vecROBFrags;
   if (not m_roiSeeded.value()) {
     std::vector<uint32_t> rodList;
-    m_cabling->getAllRods(rodList);
+    m_cabling->getAllRods(rodList, ctx);
     m_robDataProvider->getROBData(rodList , vecROBFrags);
   } 
   else {
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/CMakeLists.txt b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/CMakeLists.txt
index 4f90a5e19dbb..1ee9db08366f 100644
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/CMakeLists.txt
+++ b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/CMakeLists.txt
@@ -60,7 +60,7 @@ atlas_add_component( InDetD3PDMaker
                      src/*.cxx
                      src/components/*.cxx
                      INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${Boost_LIBRARIES} ${HEPMC_LIBRARIES} ${HEPPDT_LIBRARIES}  GaudiKernel CommissionEvent AthContainers AthenaKernel StoreGateLib AtlasDetDescr GeoAdaptors Identifier EventPrimitives xAODEventInfo xAODTracking InDetBeamSpotService SCT_ConditionsTools TRT_ConditionsServices InDetIdentifier InDetReadoutGeometry SCT_CablingLib InDetRawData InDetPrepRawData InDetRIO_OnTrack InDetSimEvent D3PDMakerUtils MCTruthClassifier ParticleTruth ITrackToVertex muonEvent Particle TrkCompetingRIOsOnTrack TrkEventPrimitives TrkParameters TrkParticleBase TrkPrepRawData TrkRIO_OnTrack TrkTrack TrkTrackSummary TrkTruthData TrkV0Vertex VxVertex TrkToolInterfaces TrkVertexFitterValidationUtils )
+                     LINK_LIBRARIES ${Boost_LIBRARIES} ${HEPMC_LIBRARIES} ${HEPPDT_LIBRARIES}  GaudiKernel CommissionEvent AthContainers AthenaKernel StoreGateLib AtlasDetDescr GeoAdaptors Identifier EventPrimitives xAODEventInfo xAODTracking InDetBeamSpotService SCT_ConditionsToolsLib TRT_ConditionsServices InDetIdentifier InDetReadoutGeometry SCT_CablingLib InDetRawData InDetPrepRawData InDetRIO_OnTrack InDetSimEvent D3PDMakerUtils MCTruthClassifier ParticleTruth ITrackToVertex muonEvent Particle TrkCompetingRIOsOnTrack TrkEventPrimitives TrkParameters TrkParticleBase TrkPrepRawData TrkRIO_OnTrack TrkTrack TrkTrackSummary TrkTruthData TrkV0Vertex VxVertex TrkToolInterfaces TrkVertexFitterValidationUtils )
 
 # Install files from the package:
 atlas_install_headers( InDetD3PDMaker )
-- 
GitLab


From aa84304f7ab853fb9f7a9ac2f9f2cc4b7756a646 Mon Sep 17 00:00:00 2001
From: Tomasz Bold <tomasz.bold@gmail.com>
Date: Tue, 29 Jan 2019 09:40:35 +0100
Subject: [PATCH 185/192] fixed decode BS test

---
 Trigger/TrigValidation/TrigUpgradeTest/CMakeLists.txt |  6 +++---
 .../TrigValidation/TrigUpgradeTest/share/decodeBS.py  |  2 +-
 .../TrigUpgradeTest/test/test_decodeBS.sh             | 11 +++++++++++
 3 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/Trigger/TrigValidation/TrigUpgradeTest/CMakeLists.txt b/Trigger/TrigValidation/TrigUpgradeTest/CMakeLists.txt
index 4d8de0a33b11..9acc904b0538 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/CMakeLists.txt
+++ b/Trigger/TrigValidation/TrigUpgradeTest/CMakeLists.txt
@@ -72,12 +72,12 @@ atlas_add_test( egammaRunData
    PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/unitTestRun_egammaRunData
    )
 
-
+file( MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/unitTestRun_decodeBS )
 atlas_add_test( decodeBS
    SCRIPT test/test_decodeBS.sh
    PROPERTIES TIMEOUT 1000
-   EXTRA_PATTERNS "-s .*absent.*|.*present.*|.*fragment: clid, type, key.*"
-   PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/unitTestRun_egammaRunData
+   EXTRA_PATTERNS "-s FillMissingEDM.*(present|absent)"
+   PROPERTIES WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/unitTestRun_decodeBS
    DEPENDS egammaRunData
    )
 
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/decodeBS.py b/Trigger/TrigValidation/TrigUpgradeTest/share/decodeBS.py
index 8705ff003925..607cbd29be61 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/share/decodeBS.py
+++ b/Trigger/TrigValidation/TrigUpgradeTest/share/decodeBS.py
@@ -14,7 +14,7 @@ topSequence += decoder
 
 
 from TrigOutputHandling.TrigOutputHandlingConf import TriggerEDMDeserialiserAlg
-deserialiser = TriggerEDMDeserialiserAlg()
+deserialiser = TriggerEDMDeserialiserAlg("TrigDeserialiser")
 deserialiser.OutputLevel=DEBUG
 topSequence += deserialiser
 
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/test/test_decodeBS.sh b/Trigger/TrigValidation/TrigUpgradeTest/test/test_decodeBS.sh
index ea29332352d6..b045f5aa72b4 100755
--- a/Trigger/TrigValidation/TrigUpgradeTest/test/test_decodeBS.sh
+++ b/Trigger/TrigValidation/TrigUpgradeTest/test/test_decodeBS.sh
@@ -3,6 +3,17 @@
 # art-include: master/Athena
 
 #
+
+#!/bin/sh
+# art-type: build
+# art-include: master/Athena
+
+#clear BS from previous runs
+rm -rf  data_test.*.data
+athena  --threads=1 --skipEvents=10 --evtMax=20 --filesInput="/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TrigP1Test/data17_13TeV.00327265.physics_EnhancedBias.merge.RAW._lb0100._SFO-1._0001.1" TrigUpgradeTest/egamma.withViews.py
+
+
+
 FNAME=data_test.00327265.Single_Stream.daq.RAW._lb0100._Athena._0000.data 
 if [ -f ${FNAME} ]
 then
-- 
GitLab


From 0598c8971bd062781c5515032dc41c416d9476fc Mon Sep 17 00:00:00 2001
From: Catrin Bernius <catrin.bernius@cern.ch>
Date: Tue, 29 Jan 2019 08:41:51 +0000
Subject: [PATCH 186/192] ATR-19303: Example to configure simple example
 electron chain

---
 .../TriggerJobOpts/python/TriggerConfig.py    |   2 +
 .../HLTMenuConfig/Egamma/ElectronDef.py       | 114 +++++++-----------
 .../Egamma/generateElectronChainDefs.py       |  10 +-
 .../Menu/ChainConfigurationBase.py            |  42 +++++++
 .../HLTMenuConfig/Menu/GenerateMenuMT.py      |  38 +++---
 .../python/HLTMenuConfig/Menu/LS2_v1.py       |   7 +-
 .../HLTMenuConfig/Menu/MenuComponents.py      |   4 +-
 .../HLTMenuConfig/Menu/TriggerConfigHLT.py    |   1 -
 .../TriggerMenuMT/scripts/generateMenuMT.py   |   2 -
 .../TriggerMenuMT/scripts/test_HLTmenu.sh     |   1 +
 .../TriggerMenuMT/share/generateMT.py         |   5 +
 11 files changed, 119 insertions(+), 107 deletions(-)
 create mode 100644 Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/ChainConfigurationBase.py

diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfig.py b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfig.py
index 35e1889d2ed0..16edb349cb7f 100644
--- a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfig.py
+++ b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfig.py
@@ -31,6 +31,8 @@ def collectHypos( steps ):
                 if 'HypoInputDecisions'  in alg.getProperties():
                     __log.info( "found hypo " + alg.name() + " in " +stepSeq.name() )
                     hypos[stepSeq.name()].append( alg )
+                else:
+                    __log.info("DID NOT FIND HYPO" + alg.name())
     return hypos
 
 def __decisionsFromHypo( hypo ):
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/ElectronDef.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/ElectronDef.py
index abaa584fd3f6..119e757f71fe 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/ElectronDef.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/ElectronDef.py
@@ -5,98 +5,70 @@ logging.getLogger().info("Importing %s",__name__)
 log = logging.getLogger("TriggerMenuMT.HLTMenuConfig.Egamma.ElectronDef")
 
 
-
+from TriggerMenuMT.HLTMenuConfig.Menu.ChainConfigurationBase import ChainConfigurationBase
 from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import Chain, ChainStep, RecoFragmentsPool
 from TriggerMenuMT.HLTMenuConfig.Menu.TriggerConfigHLT import TriggerConfigHLT
 
+from TrigUpgradeTest.electronMenuDefs import fastCaloSequence, electronSequence        
+
+#----------------------------------------------------------------
+# fragments generating configuration will be functions in New JO, 
+# so let's make them functions already now
+#----------------------------------------------------------------
 
-# fragments generating configuration will be functions in New JO, so let's make them functions already now
 def fastCaloSequenceCfg( flags ):
-    from TrigUpgradeTest.electronMenuDefs import fastCaloSequence
     return fastCaloSequence()
     
 def electronSequenceCfg( flags ):
-    from TrigUpgradeTest.electronMenuDefs import electronSequence        
     return electronSequence()
 
-def generateChain(flags, chainDict ): # in New JO  we will add flags here
-    chainDict = type("chainDict", (object,), chainDict)
-    # translation from  chainDict["chainName"] to chainDict.chainName (less typing),
-    # it is not exact as the things like the multiplicity are not converted to int, however they should be made int in the first place
-    #
-
 
-    # this is the cache, we hope we will be able to get rid of it in future
-    fastCalo = RecoFragmentsPool.retrieve( fastCaloSequenceCfg, None ) # the None will be used for flags in future
-    electronReco = RecoFragmentsPool.retrieve( electronSequenceCfg, None )
-    
-    return Chain(name = chainDict.chainName,
-                 Seed = chainDict.L1item, 
-                 ChainSteps = [
-                     ChainStep('ElectronStep1', [fastCalo]),
-                     ChainStep('ElectronStep2', [electronReco])
-                 ])
-    
-    
-
-
-class Chain_electron:
+#----------------------------------------------------------------
+# Class to configure chain
+#----------------------------------------------------------------
+class ElectronChainConfiguration(ChainConfigurationBase):
 
     def __init__(self, chainDict):
-
-        self.chainSteps = []
-
-        self.chainPart = chainDict['chainParts']
-        self.chainName = chainDict['chainName']
-        self.chainL1Item = chainDict['L1item']        
-        self.chainPartL1Item = self.chainPart['L1item']
-        self.mult = int(self.chainPart['multiplicity'])
-        self.chainPartName = self.chainPart['chainPartName']
-        self.chainPartNameNoMult = self.chainPartName[1:] if self.mult > 1 else self.chainPartName
-        self.chainPartNameNoMult += "_"+self.chainL1Item
-
-
+        ChainConfigurationBase.__init__(self,chainDict)
+        
+    # ----------------------
+    # Assemble the chain depending on information from chainName
+    # ----------------------
     def assembleChain(self):                            
         myStepNames = []
         chainSteps = []
-        if 'etcut' in self.chainName:
+        log.debug("Assembling chain for " + self.chainName)
+        # --------------------
+        # define here the names of the steps and obtain the chainStep configuration 
+        # --------------------
+        if 'etcut' in self.chainName:            
             myStepNames += ["Step1_etcut"]
-            myStepNames += ["Step2_etcut"]
-            
+            myStepNames += ["Step2_etcut"]            
             for step in myStepNames: 
-                chainSteps += [self.getStep(step)]
-
-
-        self.chainSteps = chainSteps
-        myChain = Chain(name = self.chainName, 
-                        Seed = self.chainL1Item, 
-                        ChainSteps = self.chainSteps)
+                chainSteps += [self.getEtCutStep(step)]
+            log.debug("chainSteps are: ", chainSteps )
+        else:
+            raise RuntimeError("Chain configuration unknown for chain: " + self.chainName )
+            
+        myChain = self.buildChain(chainSteps)
         return myChain
-
-
-    def getFastCaloStep(self, stepName):
-        fastCaloStep= fastCaloSequence()
-        step1=ChainStep(stepName, [fastCaloStep])
-        return step1
-
-    def getElectronStep(self, stepName):
-        electronStep= electronSequence()
-        step2=ChainStep(stepName, [electronStep])
-        return step2
         
-    def getStep(self, name):
-        myTriggerConfigHLT = TriggerConfigHLT.currentTriggerConfig()        
-        if name in myTriggerConfigHLT.allChainSteps:
-            return myTriggerConfigHLT.allChainSteps[name]            
-        log.debug("ChainStep has not been configured so far, add to the list!")
-        if name == "Step1_etcut":
-            chainStep = self.getFastCaloStep(name)
-        elif name == "Step2_etcut":
-            chainStep = self.getElectronStep(name)
-        else:
-            raise RuntimeError("chainStepName unknown: " + name )
+    # --------------------
+    # Configuration of etcut chain
+    # --------------------
+    def getEtCutStep(self, stepName):
+        if stepName == "Step1_etcut":
+            log.debug("Configuring step " + stepName)
+            fastCalo = RecoFragmentsPool.retrieve( fastCaloSequenceCfg, None ) # the None will be used for flags in future
+            chainStep =ChainStep(stepName, [fastCalo])
+        elif stepName == "Step2_etcut":
+            log.debug("Configuring step " + stepName)
+            electronReco = RecoFragmentsPool.retrieve( electronSequenceCfg, None )
+            chainStep=ChainStep(stepName, [electronReco])
+        else:            
+            raise RuntimeError("chainStepName unknown: " + stepName )
                         
-        myTriggerConfigHLT.allChainSteps[name]= chainStep    
+        log.debug("Returning chainStep from getEtCutStep function: " + stepName)
         return chainStep
             
             
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/generateElectronChainDefs.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/generateElectronChainDefs.py
index e58b5f4b36a9..6634c719aa25 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/generateElectronChainDefs.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/generateElectronChainDefs.py
@@ -1,9 +1,8 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
-from TriggerMenuMT.HLTMenuConfig.Egamma.ElectronDef import generateChain as generateElectronChain
 from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import Chain
 from TriggerMenuMT.HLTMenuConfig.Menu.ChainDictTools import splitChainDict
-#from TriggerMenuMT.HLTMenuConfig.Egamma.ElectronDef import Chain_electron as Chain_electron
+from TriggerMenuMT.HLTMenuConfig.Egamma.ElectronDef import ElectronChainConfiguration as ElectronChainConfiguration
 
 
 from AthenaCommon.Logging import logging
@@ -21,11 +20,8 @@ def generateChainConfigs( chainDict ):
     listOfChainDefs = []
 
     for subChainDict in listOfChainDicts:
-        log.debug("IN ELECTRON GENERATION CODE")
         
-        Electron = generateElectronChain( None, subChainDict )
-        #Electron = Chain_electron(subChainDict).assembleChain() 
-
+        Electron = ElectronChainConfiguration(subChainDict).assembleChain() 
 
         listOfChainDefs += [Electron]
         log.debug('length of chaindefs %s', len(listOfChainDefs) )
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/ChainConfigurationBase.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/ChainConfigurationBase.py
new file mode 100644
index 000000000000..6b70ec409f90
--- /dev/null
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/ChainConfigurationBase.py
@@ -0,0 +1,42 @@
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+
+
+from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import Chain, ChainStep, RecoFragmentsPool
+
+#----------------------------------------------------------------
+# Base class to configure chain
+#----------------------------------------------------------------
+class ChainConfigurationBase:
+
+    def __init__(self, chainDict):
+        
+        # Consider using translation from  dict["chainName"] to dict.chainName (less typing),
+        # though need to be able to access list of dictionaries as value of chainPart as well 
+        # dict = type("dict", (object,), dict)
+
+        self.dict = {}
+        self.dict.update(chainDict)
+
+        self.chainName = self.dict['chainName']
+        self.chainL1Item = self.dict['L1item']        
+
+        self.chainPart = self.dict['chainParts']
+        self.chainPartL1Item = self.chainPart['L1item']
+        self.mult = int(self.chainPart['multiplicity'])
+        self.chainPartName = self.chainPart['chainPartName']
+        self.chainPartNameNoMult = self.chainPartName[1:] if self.mult > 1 else self.chainPartName
+        self.chainPartNameNoMult += "_"+self.chainL1Item
+
+
+    # this is the cache, hoping to be able to get rid of it in future
+    def checkRecoFragmentPool(mySequenceCfg):
+        mySequence = RecoFragmentsPool.retrieve(mySequenceCfg, None) # the None will be used for flags in future
+        return mySequence
+
+    def buildChain(self, chainSteps):                            
+        myChain = Chain(name = self.chainName, 
+                        Seed = self.chainL1Item, 
+                        ChainSteps = chainSteps)
+        return myChain
+
+        
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/GenerateMenuMT.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/GenerateMenuMT.py
index 1205f0a54f9f..e0acb90930ca 100755
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/GenerateMenuMT.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/GenerateMenuMT.py
@@ -51,13 +51,13 @@ class GenerateMenuMT:
 
     def setTriggerConfigHLT(self):
         # setting the hlt menu configuration
-        #(HLTPrescales) = self.setupMenu()
+        (HLTPrescales) = self.setupMenu()
         self.triggerConfigHLT = TriggerConfigHLT(TriggerFlags.outputHLTconfigFile())
         self.triggerConfigHLT.menuName = TriggerFlags.triggerMenuSetup()
         log.debug("Working with menu: %s", self.triggerConfigHLT.menuName)
 
         
-    def getChainConfig(self, chainDicts):
+    def generateChainConfig(self, chainDicts):
         """
         == Assembles the chain configuration and returns a chain object with (name, L1see and list of ChainSteps)
         """
@@ -86,11 +86,8 @@ class GenerateMenuMT:
                     chainConfigs = TriggerMenuMT.HLTMenuConfig.Egamma.generateElectronChainDefs.generateChainConfigs(chainDict)                    
                 except:
                     log.exception( 'Problems creating ChainDef for chain\n %s ' % (chainDict['chainName']) ) 
-
-
                     continue
-            else:
-                
+            else:                
                 log.error('Chain %s ignored - either trigger signature is turned off or the corresponding chain dictionary cannot be read.' %(chainDict['chainName']))
                 log.debug('Chain dictionary of failed chain is %s.', chainDict)
             
@@ -103,7 +100,7 @@ class GenerateMenuMT:
 
         if len(listOfChainConfigs) == 0:  
             log.error('No Chain Configuration found ')
-            return None
+            return False
         
         elif len(listOfChainConfigs)>1:
             if ("mergingStrategy" in chainDicts[0].keys()):
@@ -127,16 +124,17 @@ class GenerateMenuMT:
 
         log.debug('Creating one big list of of enabled signatures and chains')
         chains = []
-        # we can already use new set of flags
-        from AthenaConfiguration.AllConfigFlags import ConfigFlags
-        from TriggerMenuMT.HLTMenuConfig.Menu.LS2_v1_newJO import setupMenu as setupMenuFlags
-        setupMenuFlags( ConfigFlags ) 
-        ConfigFlags.lock()
+        ## we can already use new set of flags
+        #from AthenaConfiguration.AllConfigFlags import ConfigFlags
+        #from TriggerMenuMT.HLTMenuConfig.Menu.LS2_v1_newJO import setupMenu as setupMenuFlags
+        #setupMenuFlags( ConfigFlags ) 
+        #ConfigFlags.lock()
         
-        #if (TriggerFlags.CombinedSlice.signatures() or TriggerFlags.EgammaSlice.signatures()) and self.doEgammaChains:
-        if ConfigFlags.Trigger.menu.electron and self.doEgammaChains:
-            chains += ConfigFlags.Trigger.menu.electron
-            log.debug("egamma chains "+str(ConfigFlags.Trigger.menu.egamma))
+        #if ConfigFlags.Trigger.menu.electron and self.doEgammaChains:
+        if (TriggerFlags.CombinedSlice.signatures() or TriggerFlags.EgammaSlice.signatures()) and self.doEgammaChains:
+            chains += TriggerFlags.EgammaSlice.signatures() 
+            #chains += ConfigFlags.Trigger.menu.electron
+            #log.debug("egamma chains "+str(ConfigFlags.Trigger.menu.egamma))
         else:
             self.doEgammaChains   = False
 
@@ -191,9 +189,9 @@ class GenerateMenuMT:
         # go over the slices and put together big list of signatures requested
         #(L1Prescales, HLTPrescales, streamConfig) = MenuPrescaleConfig(self.triggerPythonConfig)
         # that does not seem to work
-        #(self.L1Prescales, self.HLTPrescales) = MenuPrescaleConfig(self.triggerConfigHLT)
-        #return (self.HLTPrescales)
-        pass
+        (self.L1Prescales, self.HLTPrescales) = MenuPrescaleConfig(self.triggerConfigHLT)
+        return (self.HLTPrescales)
+        #pass
 
 
 
@@ -214,7 +212,7 @@ class GenerateMenuMT:
             chainDict['chainCounter'] = chainCounter
 
             log.debug("Next: getting chain configuration for chain %s ", chain) 
-            chainConfig= self.getChainConfig(chainDict)
+            chainConfig= self.generateChainConfig(chainDict)
 
             log.debug("Finished with retrieving chain configuration for chain %s", chain) 
             self.triggerConfigHLT.allChainConfigs.append(chainConfig)
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py
index eebff07b51d8..ee607522968a 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py
@@ -37,10 +37,9 @@ def setupMenu():
 
      ]
     TriggerFlags.EgammaSlice.signatures = [
-        ['e3_etcut1step', 'L1_EM3', [],  [PhysicsStream], ['RATE:SingleElectron', 'BW:Electron'], -1],
-        ['e3_etcut', 'L1_EM3',      [],  [PhysicsStream], ['RATE:SingleElectron', 'BW:Electron'], -1],
-        ['e5_etcut', 'L1_EM3',      [],  [PhysicsStream], ['RATE:SingleElectron', 'BW:Electron'], -1],
-        ['e7_etcut', 'L1_EM3',      [],  [PhysicsStream], ['RATE:SingleElectron', 'BW:Electron'], -1],
+        ['HLT_e3_etcut', 'L1_EM3',      [],  [PhysicsStream], ['RATE:SingleElectron', 'BW:Electron'], -1],
+        ['HLT_e5_etcut', 'L1_EM3',      [],  [PhysicsStream], ['RATE:SingleElectron', 'BW:Electron'], -1],
+        ['HLT_e7_etcut', 'L1_EM3',      [],  [PhysicsStream], ['RATE:SingleElectron', 'BW:Electron'], -1],
         #['e20',	      'L1_EM10',   [], [PhysicsStream], ['RATE:SingleElectron', 'BW:Electron'], -1],        
         ]
     TriggerFlags.CombinedSlice.signatures = [
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuComponents.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuComponents.py
index 66db49a5a03a..39d58c7199c7 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuComponents.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/MenuComponents.py
@@ -209,7 +209,7 @@ class ComboMaker(AlgNode):
 
     def addChain(self, chain):
         log.debug("ComboMaker %s adding chain %s"%(self.Alg.name(),chain))
-        from MenuChains import getConfFromChainName
+        from TriggerMenuMT.HLTMenuConfig.Menu.MenuChains import getConfFromChainName
         confs=getConfFromChainName(chain)
         for conf in confs:
             seed=conf.replace("HLT_", "")
@@ -380,7 +380,7 @@ class Chain:
     def decodeHypoToolConfs(self):
         """ This is extrapolating the hypotool configuration from the (combined) chain name"""
         from TriggerMenuMT.HLTMenuConfig.Menu.MenuChains import getConfFromChainName
-        signatures = getConfFromChainName(self.name)
+        signatures = getConfFromChainName(self.name) #currently a lis of chainPart names
         for step in self.steps:
             if len(signatures) != len(step.sequences):
                 log.error("Error in step %s: found %d signatures and %d sequences"%(step.name, len(signatures), len(step.sequences)))
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/TriggerConfigHLT.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/TriggerConfigHLT.py
index 5d44149900cb..9fbb2bfada60 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/TriggerConfigHLT.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/TriggerConfigHLT.py
@@ -15,7 +15,6 @@ class TriggerConfigHLT:
         return TriggerConfigHLT.sCurrentTriggerConfig
     currentTriggerConfig = staticmethod(currentTriggerConfig)
 
-
     def __init__(self, hltfile=None):
         self.menuName = 'TestMenu'
         self.__HLTFile = hltfile
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/scripts/generateMenuMT.py b/Trigger/TriggerCommon/TriggerMenuMT/scripts/generateMenuMT.py
index 0c3ffce84b7b..479bd89244b6 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/scripts/generateMenuMT.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/scripts/generateMenuMT.py
@@ -61,5 +61,3 @@ g.generateMT()
 
 
 
-
-
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/scripts/test_HLTmenu.sh b/Trigger/TriggerCommon/TriggerMenuMT/scripts/test_HLTmenu.sh
index bba2ef6c262f..9bc1327118eb 100755
--- a/Trigger/TriggerCommon/TriggerMenuMT/scripts/test_HLTmenu.sh
+++ b/Trigger/TriggerCommon/TriggerMenuMT/scripts/test_HLTmenu.sh
@@ -1,3 +1,4 @@
 #!bin/sh
 
+
 athena -l DEBUG --threads=1 --skipEvents=10 --evtMax=20 --filesInput="/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TrigP1Test/data17_13TeV.00327265.physics_EnhancedBias.merge.RAW._lb0100._SFO-1._0001.1" TriggerMenuMT/generateMT.py
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/share/generateMT.py b/Trigger/TriggerCommon/TriggerMenuMT/share/generateMT.py
index e2af3b1baa4c..5c6ac07101f5 100755
--- a/Trigger/TriggerCommon/TriggerMenuMT/share/generateMT.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/share/generateMT.py
@@ -36,6 +36,11 @@ for unpack in topSequence.L1DecoderTest.rerunRoiUnpackers:
 # Menu and CF construction
 ##########################################
 
+from TriggerJobOpts.TriggerFlags import TriggerFlags
+TriggerFlags.triggerMenuSetup = "LS2_v1"
+
+
+
 from TriggerMenuMT.HLTMenuConfig.Menu.GenerateMenuMT import GenerateMenuMT
 g = GenerateMenuMT()
 g.generateMT()
-- 
GitLab


From d9728fe57ea56b1a83c88efbd3d76a0cbe9ed3cd Mon Sep 17 00:00:00 2001
From: Susumu Oda <Susumu.Oda@cern.ch>
Date: Mon, 28 Jan 2019 03:27:12 +0100
Subject: [PATCH 187/192] Implement virtual bool isGood(const Identifier&
 elementId, EventContext& ctx, InDetConditions::Hierarchy
 h=InDetConditions::DEFAULT) const and virtual bool isGood(const
 IdentifierHash& hashId, EventContext& ctx) const

Add Lib to SCT_ConditionsTools of PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/CMakeLists.txt

Add const to EventContext& ctx

Updated

Update SCT_ByteStreamErrorsTool to use EventContext

Use EventContext in SCT_ConfigurationConditionsTool

Use EventContextin SCT_DCSConditionsTool

Use EventContext in SCT_FlaggedConditionTool

Use EventContext in SCT_LinkMaskingTool

Use EventContext in SCT_ModuleVetoTool

Use EventContextin SCT_MonitorConditionsTool

Use EventContext in SCT_RODVetoTool

Use EventContext in SCT_ReadCalibChipDataTool

Use EventContext in SCT_ReadCalibDataTool

Use EventContext in SCT_TdaqEnabledTool

Fix unit test failure
---
 .../src/SCT_DCSConditionsTestAlg.cxx          |  8 ++--
 .../src/SCT_LinkMaskingTestAlg.cxx            | 10 ++---
 .../src/SCT_ModuleVetoTestAlg.cxx             | 14 +++----
 .../src/SCT_MonitorConditionsTestAlg.cxx      | 30 +++++++-------
 .../src/SCT_RODVetoTestAlg.cxx                |  4 +-
 .../src/SCT_ReadCalibChipDataTestAlg.cxx      |  2 +-
 .../src/SCT_ReadCalibDataTestAlg.cxx          |  6 +--
 .../src/SCT_StripVetoTestAlg.cxx              |  4 +-
 .../src/SCT_TdaqEnabledTestAlg.cxx            | 14 +++----
 .../SCT_ConditionsTools/ISCT_ConditionsTool.h | 11 +++--
 .../src/SCT_ByteStreamErrorsTool.cxx          | 22 +++++++---
 .../src/SCT_ByteStreamErrorsTool.h            |  2 +
 .../src/SCT_ConditionsSummaryTool.cxx         | 13 ++++--
 .../src/SCT_ConfigurationConditionsTool.cxx   | 21 +++++++---
 .../src/SCT_ConfigurationConditionsTool.h     |  4 +-
 .../src/SCT_DCSConditionsTool.cxx             | 23 ++++++++---
 .../src/SCT_DCSConditionsTool.h               |  4 +-
 .../src/SCT_FlaggedConditionTool.cxx          | 40 ++++++++++++++-----
 .../src/SCT_FlaggedConditionTool.h            |  6 ++-
 .../src/SCT_LinkMaskingTool.cxx               | 21 +++++++---
 .../src/SCT_LinkMaskingTool.h                 |  4 +-
 .../src/SCT_ModuleVetoTool.cxx                | 23 ++++++++---
 .../src/SCT_ModuleVetoTool.h                  |  4 +-
 .../src/SCT_MonitorConditionsTool.cxx         | 40 ++++++++++++++-----
 .../src/SCT_MonitorConditionsTool.h           |  6 ++-
 .../src/SCT_RODVetoTool.cxx                   | 28 +++++++++----
 .../SCT_ConditionsTools/src/SCT_RODVetoTool.h |  6 ++-
 .../src/SCT_ReadCalibChipDataTool.cxx         | 25 +++++++++---
 .../src/SCT_ReadCalibChipDataTool.h           |  4 +-
 .../src/SCT_ReadCalibDataTool.cxx             | 10 +++--
 .../src/SCT_ReadCalibDataTool.h               |  6 ++-
 .../src/SCT_StripVetoTool.cxx                 | 12 +++++-
 .../src/SCT_StripVetoTool.h                   |  9 +++--
 .../src/SCT_TdaqEnabledTool.cxx               | 21 ++++++++--
 .../src/SCT_TdaqEnabledTool.h                 |  4 +-
 .../test/SCT_RODVetoTool_test.cxx             | 20 ++++++++--
 .../D3PDMaker/InDetD3PDMaker/CMakeLists.txt   |  2 +-
 37 files changed, 340 insertions(+), 143 deletions(-)

diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsTestAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsTestAlg.cxx
index bb802e01c4d9..a45ecf9beba4 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsTestAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_DCSConditionsTestAlg.cxx
@@ -28,7 +28,7 @@ StatusCode SCT_DCSConditionsTestAlg::initialize() {
 } // SCT_DCSConditionsTestAlg::execute()
 
 //----------------------------------------------------------------------
-StatusCode SCT_DCSConditionsTestAlg::execute(const EventContext& /*ctx*/) const {
+StatusCode SCT_DCSConditionsTestAlg::execute(const EventContext& ctx) const {
   //This method is only used to test the summary service, and only used within this package,
   // so the INFO level messages have no impact on performance of these services when used by clients
   ATH_MSG_DEBUG("in execute()");
@@ -42,7 +42,7 @@ StatusCode SCT_DCSConditionsTestAlg::execute(const EventContext& /*ctx*/) const
   
   try {
     gettempworks = (m_DCSConditionsTool->sensorTemperature(Identifier{141015041}, InDetConditions::SCT_STRIP));
-    isgoodworks =(m_DCSConditionsTool->isGood(Identifier{208584704}, InDetConditions::SCT_SIDE));
+    isgoodworks =(m_DCSConditionsTool->isGood(Identifier{208584704}, ctx, InDetConditions::SCT_SIDE));
     module = (m_DCSConditionsTool->canReportAbout(InDetConditions::SCT_MODULE));
     strip = (m_DCSConditionsTool->canReportAbout(InDetConditions::SCT_STRIP));
   } catch(...) {
@@ -65,8 +65,8 @@ StatusCode SCT_DCSConditionsTestAlg::execute(const EventContext& /*ctx*/) const
   ATH_MSG_INFO("gethv(141015041,Strip) " << (m_DCSConditionsTool->modHV(Identifier{141015041}, InDetConditions::SCT_STRIP)));
 
   try {
-    isgoodworks = (m_DCSConditionsTool->isGood(Identifier{208584704}, InDetConditions::SCT_SIDE));
-    isgoodworks = (m_DCSConditionsTool->isGood(Identifier{141015041}, InDetConditions::SCT_STRIP));
+    isgoodworks = (m_DCSConditionsTool->isGood(Identifier{208584704}, ctx, InDetConditions::SCT_SIDE));
+    isgoodworks = (m_DCSConditionsTool->isGood(Identifier{141015041}, ctx, InDetConditions::SCT_STRIP));
   } catch(...) {
     ATH_MSG_FATAL("Exception caught while trying to the isGood method");
     return StatusCode::FAILURE;
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_LinkMaskingTestAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_LinkMaskingTestAlg.cxx
index d9e286809456..a070214774f4 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_LinkMaskingTestAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_LinkMaskingTestAlg.cxx
@@ -34,12 +34,12 @@ StatusCode SCT_LinkMaskingTestAlg::initialize() {
 }
 
 //Execute
-StatusCode SCT_LinkMaskingTestAlg::execute(const EventContext& /*ctx*/) const {
+StatusCode SCT_LinkMaskingTestAlg::execute(const EventContext& ctx) const {
 
-  ATH_MSG_INFO("Wafer 167772160 is " << (m_linkMaskingTool->isGood(Identifier{167772160}) ? "not masked" : "masked"));
-  ATH_MSG_INFO("Wafer 167773184 is " << (m_linkMaskingTool->isGood(Identifier{167773184}) ? "not masked" : "masked"));
-  ATH_MSG_INFO("Wafer 167786496 is " << (m_linkMaskingTool->isGood(Identifier{167786496}) ? "not masked" : "masked"));
-  ATH_MSG_INFO("Wafer 167787520 is " << (m_linkMaskingTool->isGood(Identifier{167787520}) ? "not masked" : "masked"));
+  ATH_MSG_INFO("Wafer 167772160 is " << (m_linkMaskingTool->isGood(Identifier{167772160}, ctx) ? "not masked" : "masked"));
+  ATH_MSG_INFO("Wafer 167773184 is " << (m_linkMaskingTool->isGood(Identifier{167773184}, ctx) ? "not masked" : "masked"));
+  ATH_MSG_INFO("Wafer 167786496 is " << (m_linkMaskingTool->isGood(Identifier{167786496}, ctx) ? "not masked" : "masked"));
+  ATH_MSG_INFO("Wafer 167787520 is " << (m_linkMaskingTool->isGood(Identifier{167787520}, ctx) ? "not masked" : "masked"));
 
   return StatusCode::SUCCESS;
 }
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ModuleVetoTestAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ModuleVetoTestAlg.cxx
index db144080dc4d..f33d969402b7 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ModuleVetoTestAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ModuleVetoTestAlg.cxx
@@ -32,34 +32,34 @@ SCT_ModuleVetoTestAlg::initialize() {
 
 //Execute
 StatusCode 
-SCT_ModuleVetoTestAlg::execute(const EventContext& /*ctx*/) const {
+SCT_ModuleVetoTestAlg::execute(const EventContext& ctx) const {
   //This method is only used to test the summary service, and only used within this package,
   // so the INFO level messages have no impact on performance of these services when used by clients
 
   ATH_MSG_INFO("Calling execute");
 
   ATH_MSG_INFO("Dummy call to module id 0: module is ");
-  bool result{m_pModuleVetoTool->isGood(Identifier{0})};
+  bool result{m_pModuleVetoTool->isGood(Identifier{0}, ctx)};
   ATH_MSG_INFO((result ? "good" : "bad"));
 
   ATH_MSG_INFO("Dummy call to module id 1:  module is ");
-  result=m_pModuleVetoTool->isGood(Identifier{1});
+  result=m_pModuleVetoTool->isGood(Identifier{1}, ctx);
   ATH_MSG_INFO((result ? "good" : "bad"));
 
   ATH_MSG_INFO("Dummy call to module id 2:  module is ");
-  result=m_pModuleVetoTool->isGood(Identifier{2});
+  result=m_pModuleVetoTool->isGood(Identifier{2}, ctx);
   ATH_MSG_INFO((result ? "good" : "bad"));
 
   ATH_MSG_INFO("Dummy call to module id 3:  module is ");
-  result=m_pModuleVetoTool->isGood(Identifier{3});
+  result=m_pModuleVetoTool->isGood(Identifier{3}, ctx);
   ATH_MSG_INFO((result ? "good" : "bad"));
 
   ATH_MSG_INFO("Dummy call to module id 151040000:  module is ");
-  result=m_pModuleVetoTool->isGood(Identifier{151040000});
+  result=m_pModuleVetoTool->isGood(Identifier{151040000}, ctx);
   ATH_MSG_INFO((result ? "good" : "bad"));
 
   ATH_MSG_INFO("Using Identifier Hash method:  with number 2137 ");
-  result=m_pModuleVetoTool->isGood(IdentifierHash{2137});
+  result=m_pModuleVetoTool->isGood(IdentifierHash{2137}, ctx);
   ATH_MSG_INFO((result ? "good" : "bad"));
 
   return StatusCode::SUCCESS;
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MonitorConditionsTestAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MonitorConditionsTestAlg.cxx
index 893a4cd3e409..4b9b4a2c615e 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MonitorConditionsTestAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_MonitorConditionsTestAlg.cxx
@@ -83,7 +83,7 @@ StatusCode SCT_MonitorConditionsTestAlg::execute(const EventContext& ctx) const
     Identifier waferId{*waferItr};
     for (int i{0}; i<768; i++){
       Identifier stripId{m_sctId->strip_id(waferId, i)};
-      if (not (m_pMonitorConditionsTool->isGood(stripId, InDetConditions::SCT_STRIP)))
+      if (not (m_pMonitorConditionsTool->isGood(stripId, ctx, InDetConditions::SCT_STRIP)))
 	n_bad++;
     }
   }
@@ -97,7 +97,7 @@ StatusCode SCT_MonitorConditionsTestAlg::execute(const EventContext& ctx) const
   ATH_MSG_DEBUG("(MonitorTest): moduleid = " << moduleid1);
   //    SCT_ComponentIdentifier compid = SCT_ComponentIdentifier(stripid1,"STRIP");
   //    SCT_Conditions::SCT_ComponentIdentifier compid(stripid1,"STRIP");
-  bool isthisGood{m_pMonitorConditionsTool->isGood(stripid1, InDetConditions::SCT_STRIP)};
+  bool isthisGood{m_pMonitorConditionsTool->isGood(stripid1, ctx, InDetConditions::SCT_STRIP)};
   if (isthisGood) {
     ATH_MSG_INFO("isGood(): strip(0,3,41,-4,1,703) is not noisy ");
   } else {
@@ -108,7 +108,7 @@ StatusCode SCT_MonitorConditionsTestAlg::execute(const EventContext& ctx) const
   waferid1 = m_sctId->wafer_id(stripid1);
   moduleid1 = m_sctId->module_id(waferid1);
   //    compid = SCT_Conditions::SCT_ComponentIdentifier(stripid1,"STRIP");
-  isthisGood = m_pMonitorConditionsTool->isGood(stripid1, InDetConditions::SCT_STRIP);
+  isthisGood = m_pMonitorConditionsTool->isGood(stripid1, ctx, InDetConditions::SCT_STRIP);
   if (isthisGood) {
     ATH_MSG_INFO("isGood(): strip(0,3,41,-4,0,703) is not noisy ");
   } else {
@@ -121,7 +121,7 @@ StatusCode SCT_MonitorConditionsTestAlg::execute(const EventContext& ctx) const
   moduleid1 = m_sctId->module_id(waferid1);
   ATH_MSG_DEBUG("(MonitorTest): stripid  = " << stripid1);
   ATH_MSG_DEBUG("(MonitorTest): moduleid = " << moduleid1);
-  isthisGood = m_pMonitorConditionsTool->isGood(stripid1, InDetConditions::SCT_STRIP);
+  isthisGood = m_pMonitorConditionsTool->isGood(stripid1, ctx, InDetConditions::SCT_STRIP);
   if (isthisGood) {
     ATH_MSG_INFO("isGood(): strip(0,2,39,-1,0,397) is not noisy ");
   } else {
@@ -133,7 +133,7 @@ StatusCode SCT_MonitorConditionsTestAlg::execute(const EventContext& ctx) const
   moduleid1 = m_sctId->module_id(waferid1);
   ATH_MSG_DEBUG("(MonitorTest): stripid  = " << stripid1);
   ATH_MSG_DEBUG("(MonitorTest): moduleid = " << moduleid1);
-  isthisGood = m_pMonitorConditionsTool->isGood(stripid1, InDetConditions::SCT_STRIP);
+  isthisGood = m_pMonitorConditionsTool->isGood(stripid1, ctx, InDetConditions::SCT_STRIP);
   if (isthisGood) {
     ATH_MSG_INFO("isGood(): strip(0,2,39,-1,0,396) is not noisy ");
   } else {
@@ -145,7 +145,7 @@ StatusCode SCT_MonitorConditionsTestAlg::execute(const EventContext& ctx) const
   moduleid1 = m_sctId->module_id(waferid1);
   ATH_MSG_DEBUG("(MonitorTest): stripid  = " << stripid1);
   ATH_MSG_DEBUG("(MonitorTest): moduleid = " << moduleid1);
-  isthisGood = m_pMonitorConditionsTool->isGood(stripid1, InDetConditions::SCT_STRIP);
+  isthisGood = m_pMonitorConditionsTool->isGood(stripid1, ctx, InDetConditions::SCT_STRIP);
   if (isthisGood) {
     ATH_MSG_INFO("isGood(): strip(0,2,39,-1,0,398) is not noisy ");
   } else {
@@ -154,7 +154,7 @@ StatusCode SCT_MonitorConditionsTestAlg::execute(const EventContext& ctx) const
   
   stripid1 = m_sctId->strip_id(0, 3, 13, -3, 0, 567);
   //    compid = SCT_Conditions::SCT_ComponentIdentifier(stripid1,"STRIP");
-  isthisGood = m_pMonitorConditionsTool->isGood(stripid1, InDetConditions::SCT_STRIP);
+  isthisGood = m_pMonitorConditionsTool->isGood(stripid1, ctx, InDetConditions::SCT_STRIP);
   if (isthisGood) {
     ATH_MSG_INFO("isGood(): strip(0,3,13,-3,0,567) is not noisy ");
   } else {
@@ -163,7 +163,7 @@ StatusCode SCT_MonitorConditionsTestAlg::execute(const EventContext& ctx) const
   
   stripid1 = m_sctId->strip_id(0, 3, 13, -3, 0, 566);
   //    compid = SCT_Conditions::SCT_ComponentIdentifier(stripid1,"STRIP");
-  isthisGood = m_pMonitorConditionsTool->isGood(stripid1, InDetConditions::SCT_STRIP);
+  isthisGood = m_pMonitorConditionsTool->isGood(stripid1, ctx, InDetConditions::SCT_STRIP);
   if (isthisGood) {
     ATH_MSG_INFO("isGood(): strip(0,3,13,-3,0,566) is not noisy ");
   } else {
@@ -172,7 +172,7 @@ StatusCode SCT_MonitorConditionsTestAlg::execute(const EventContext& ctx) const
   
   stripid1 = m_sctId->strip_id(0, 3, 13, -3, 1, 567);
   //    compid = SCT_Conditions::SCT_ComponentIdentifier(stripid1,"STRIP");
-  isthisGood = m_pMonitorConditionsTool->isGood(stripid1, InDetConditions::SCT_STRIP);
+  isthisGood = m_pMonitorConditionsTool->isGood(stripid1, ctx, InDetConditions::SCT_STRIP);
   if (isthisGood) {
     ATH_MSG_INFO("isGood(): strip(0,3,13,-3,1,567) is not noisy ");
   } else {
@@ -181,7 +181,7 @@ StatusCode SCT_MonitorConditionsTestAlg::execute(const EventContext& ctx) const
 
   stripid1 = m_sctId->strip_id(0, 0, 7, 2, 0, 700);
   //    compid = SCT_Conditions::SCT_ComponentIdentifier(stripid1,"STRIP");
-  isthisGood = m_pMonitorConditionsTool->isGood(stripid1, InDetConditions::SCT_STRIP);
+  isthisGood = m_pMonitorConditionsTool->isGood(stripid1, ctx, InDetConditions::SCT_STRIP);
   if (isthisGood) {
     ATH_MSG_INFO("isGood(): strip(0,0,7,2,0,700) is not noisy ");
   } else {
@@ -190,7 +190,7 @@ StatusCode SCT_MonitorConditionsTestAlg::execute(const EventContext& ctx) const
   
   stripid1 = m_sctId->strip_id(0, 0, 7, 2, 1, 700);
   //    compid = SCT_Conditions::SCT_ComponentIdentifier(stripid1,"STRIP");
-  isthisGood = m_pMonitorConditionsTool->isGood(stripid1, InDetConditions::SCT_STRIP);
+  isthisGood = m_pMonitorConditionsTool->isGood(stripid1, ctx, InDetConditions::SCT_STRIP);
   if (isthisGood) {
     ATH_MSG_INFO("isGood(): strip(0,0,7,2,1,700) is not noisy ");
   } else {
@@ -200,7 +200,7 @@ StatusCode SCT_MonitorConditionsTestAlg::execute(const EventContext& ctx) const
   // check if chip is noisy
   stripid1 = m_sctId->strip_id(0, 0, 8, -4, 0, 100);
   //    compid = SCT_Conditions::SCT_ComponentIdentifier(stripid1,"CHIP");
-  isthisGood = m_pMonitorConditionsTool->isGood(stripid1, InDetConditions::SCT_CHIP);
+  isthisGood = m_pMonitorConditionsTool->isGood(stripid1, ctx, InDetConditions::SCT_CHIP);
   if (isthisGood) {
     ATH_MSG_INFO("isGood(): chip(0,0,8,-4,0,100) is not noisy ");
   } else {
@@ -209,7 +209,7 @@ StatusCode SCT_MonitorConditionsTestAlg::execute(const EventContext& ctx) const
   
   stripid1 = m_sctId->strip_id(0, 3, 13, -3, 0, 567);
   //    compid = SCT_Conditions::SCT_ComponentIdentifier(stripid1,"CHIP");
-  isthisGood = m_pMonitorConditionsTool->isGood(stripid1, InDetConditions::SCT_CHIP);
+  isthisGood = m_pMonitorConditionsTool->isGood(stripid1, ctx, InDetConditions::SCT_CHIP);
   if (isthisGood) {
     ATH_MSG_INFO("isGood(): chip(0,3,13,-3,0,567) is not noisy ");
   } else {
@@ -219,7 +219,7 @@ StatusCode SCT_MonitorConditionsTestAlg::execute(const EventContext& ctx) const
   // check if wafer is noisy
   stripid1 = m_sctId->strip_id(0, 0, 8, -4, 0, 100);
   //    compid = SCT_Conditions::SCT_ComponentIdentifier(stripid1,"WAFER");
-  isthisGood = m_pMonitorConditionsTool->isGood(stripid1, InDetConditions::SCT_SIDE);
+  isthisGood = m_pMonitorConditionsTool->isGood(stripid1, ctx, InDetConditions::SCT_SIDE);
   if (isthisGood) {
     ATH_MSG_INFO("isGood(): wafer(0,0,8,-4,0,100) is not noisy ");
   } else {
@@ -229,7 +229,7 @@ StatusCode SCT_MonitorConditionsTestAlg::execute(const EventContext& ctx) const
   // check if module is noisy
   stripid1 = m_sctId->strip_id(0, 0, 8, -4, 0, 100);
   //    compid = SCT_Conditions::SCT_ComponentIdentifier(stripid1,"MODULE");
-  isthisGood = m_pMonitorConditionsTool->isGood(stripid1, InDetConditions::SCT_MODULE);
+  isthisGood = m_pMonitorConditionsTool->isGood(stripid1, ctx, InDetConditions::SCT_MODULE);
   if (isthisGood) {
     ATH_MSG_INFO("isGood(): module(0,0,8,-4,0,100) is not noisy ");
   } else {
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_RODVetoTestAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_RODVetoTestAlg.cxx
index 4fd95db28a84..4cc0d352938f 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_RODVetoTestAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_RODVetoTestAlg.cxx
@@ -32,12 +32,12 @@ SCT_RODVetoTestAlg::initialize() {
 
 //Execute
 StatusCode 
-SCT_RODVetoTestAlg::execute(const EventContext& /*ctx*/) const {
+SCT_RODVetoTestAlg::execute(const EventContext& ctx) const {
   //This method is only used to test the summary service, and only used within this package,
   // so the INFO level messages have no impact on performance of these services when used by clients
   ATH_MSG_INFO("Calling execute");
   for (unsigned int hash{0}; hash<8176; hash+=2) {
-    bool result{m_pRODVetoTool->isGood(IdentifierHash(hash))};//invented, no idea what this is
+    bool result{m_pRODVetoTool->isGood(IdentifierHash{hash}, ctx)};//invented, no idea what this is
     ATH_MSG_INFO("Call to module in ROD : Module (hash=" << hash << ") is " << (result?"good":"bad"));
   }
 
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibChipDataTestAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibChipDataTestAlg.cxx
index 2d315e160d8a..a223f3d4f544 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibChipDataTestAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibChipDataTestAlg.cxx
@@ -113,7 +113,7 @@ StatusCode SCT_ReadCalibChipDataTestAlg::execute(const EventContext& ctx) const
     // Test summmary, ask status of strip in module
     Identifier IdM{m_moduleId};
     Identifier IdS{m_waferId};
-    bool Sok{m_ReadCalibChipDataTool->isGood(IdS, InDetConditions::SCT_SIDE)};
+    bool Sok{m_ReadCalibChipDataTool->isGood(IdS, ctx, InDetConditions::SCT_SIDE)};
     ATH_MSG_INFO("Side " << IdS << " on module " << IdM << " is " << (Sok ? "good" : "bad"));
   }
 
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibDataTestAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibDataTestAlg.cxx
index 0fe2b50640fd..a9fd08c60ce7 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibDataTestAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_ReadCalibDataTestAlg.cxx
@@ -91,7 +91,7 @@ StatusCode SCT_ReadCalibDataTestAlg::processProperties()
 } // SCT_ReadCalibDataTestAlg::processProperties()
 
 //----------------------------------------------------------------------
-StatusCode SCT_ReadCalibDataTestAlg::execute(const EventContext& /*ctx*/) const
+StatusCode SCT_ReadCalibDataTestAlg::execute(const EventContext& ctx) const
 {
   //This method is only used to test the summary service, and only used within this package,
   // so the INFO level messages have no impact on performance of these services when used by clients
@@ -104,7 +104,7 @@ StatusCode SCT_ReadCalibDataTestAlg::execute(const EventContext& /*ctx*/) const
     // Test summmary, ask status of strip in module
     Identifier IdM{m_moduleId};
     Identifier IdS{m_stripId};
-    bool Sok{m_ReadCalibDataTool->isGood(IdS, InDetConditions::SCT_STRIP)};
+    bool Sok{m_ReadCalibDataTool->isGood(IdS, ctx, InDetConditions::SCT_STRIP)};
     ATH_MSG_INFO("Strip " << IdS << " on module " << IdM << " is " << (Sok?"good":"bad"));
   }
 
@@ -129,7 +129,7 @@ StatusCode SCT_ReadCalibDataTestAlg::execute(const EventContext& /*ctx*/) const
           Identifier IdS{m_id_sct->strip_id(waferId,stripIndex)};
           const int stripId{m_id_sct->strip(IdS)};
           const int side{m_id_sct->side(IdS)};
-          const bool stripOk{m_ReadCalibDataTool->isGood(IdS, InDetConditions::SCT_STRIP)};
+          const bool stripOk{m_ReadCalibDataTool->isGood(IdS, ctx, InDetConditions::SCT_STRIP)};
           if (stripOk) ++ngood;
 	  else ++nbad; 
           if (not stripOk) { // Print info on all bad strips
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_StripVetoTestAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_StripVetoTestAlg.cxx
index 93a2ba5bbc87..506814d5a4ee 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_StripVetoTestAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_StripVetoTestAlg.cxx
@@ -36,7 +36,7 @@ StatusCode SCT_StripVetoTestAlg::initialize() {
 }
 
 //Execute
-StatusCode SCT_StripVetoTestAlg::execute(const EventContext& /*ctx*/) const {
+StatusCode SCT_StripVetoTestAlg::execute(const EventContext& ctx) const {
   std::vector<Identifier::value_type> stripIds{576522359582752768ULL,
                                                576522475009998848ULL,
                                                576522475278434304ULL,
@@ -45,7 +45,7 @@ StatusCode SCT_StripVetoTestAlg::execute(const EventContext& /*ctx*/) const {
                                                576522475815305216ULL};
 
   for (Identifier::value_type stripId : stripIds) {
-    ATH_MSG_INFO("Strip " << stripId << " " << (m_stripVetoTool->isGood(Identifier{stripId}, InDetConditions::SCT_STRIP) ? "not vetoed" : "vetoed"));
+    ATH_MSG_INFO("Strip " << stripId << " " << (m_stripVetoTool->isGood(Identifier{stripId}, ctx, InDetConditions::SCT_STRIP) ? "not vetoed" : "vetoed"));
   }
 
   return StatusCode::SUCCESS;
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_TdaqEnabledTestAlg.cxx b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_TdaqEnabledTestAlg.cxx
index bbdb97fbd98d..adcd9e1959fd 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_TdaqEnabledTestAlg.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsAlgorithms/src/SCT_TdaqEnabledTestAlg.cxx
@@ -35,31 +35,31 @@ SCT_TdaqEnabledTestAlg::initialize() {
 
 //Execute
 StatusCode 
-SCT_TdaqEnabledTestAlg::execute(const EventContext& /*ctx*/) const {
+SCT_TdaqEnabledTestAlg::execute(const EventContext& ctx) const {
   //This method is only used to test the summary service, and only used within this package,
   // so the INFO level messages have no impact on performance of these services when used by clients
   ATH_MSG_INFO("Calling execute");
   ATH_MSG_INFO("Dummy call to module idHash 0: module is ");
-  bool result{m_pTdaqEnabledTool->isGood(IdentifierHash{0})};
+  bool result{m_pTdaqEnabledTool->isGood(IdentifierHash{0}, ctx)};
   ATH_MSG_INFO((result ? "good" : "bad"));
   ATH_MSG_INFO("Dummy call to module Identifier 1: module is ");
-  result=m_pTdaqEnabledTool->isGood(Identifier{1});
+  result=m_pTdaqEnabledTool->isGood(Identifier{1}, ctx);
   ATH_MSG_INFO((result ? "good" : "bad"));
   ATH_MSG_INFO("Using Identifier Hash method: with number 2137 ");
-  result=m_pTdaqEnabledTool->isGood(IdentifierHash{2137});
+  result=m_pTdaqEnabledTool->isGood(IdentifierHash{2137}, ctx);
   ATH_MSG_INFO((result ? "good" : "bad"));
   ATH_MSG_INFO("Dummy call to module idHash 3: module is ");
-  result=m_pTdaqEnabledTool->isGood(IdentifierHash{3});
+  result=m_pTdaqEnabledTool->isGood(IdentifierHash{3}, ctx);
   ATH_MSG_INFO((result ? "good" : "bad"));
   unsigned int printNbad{10}, printNgood{10};
   ATH_MSG_INFO("Printing the first " << printNbad << " bad modules, and the first " << printNgood << " good modules.");
   for (unsigned int i{0}; i<8176; ++i) {
     IdentifierHash idh{i};
-    if (printNbad and (not m_pTdaqEnabledTool->isGood(idh))) {
+    if (printNbad and (not m_pTdaqEnabledTool->isGood(idh, ctx))) {
       ATH_MSG_INFO(i << " is bad.");
       --printNbad;
     }
-    if (printNgood and m_pTdaqEnabledTool->isGood(idh)) {
+    if (printNgood and m_pTdaqEnabledTool->isGood(idh, ctx)) {
       ATH_MSG_INFO(i << " is good.");
       --printNgood;
     }
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/SCT_ConditionsTools/ISCT_ConditionsTool.h b/InnerDetector/InDetConditions/SCT_ConditionsTools/SCT_ConditionsTools/ISCT_ConditionsTool.h
index a662ef58a294..4e3370836f66 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/SCT_ConditionsTools/ISCT_ConditionsTool.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/SCT_ConditionsTools/ISCT_ConditionsTool.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -11,14 +11,15 @@
 #ifndef ISCT_ConditionsTool_h
 #define ISCT_ConditionsTool_h
 
-//Gaudi Includes
-#include "GaudiKernel/IAlgTool.h"
-
 //Athena includes
 #include "Identifier/Identifier.h"
 #include "Identifier/IdentifierHash.h"
 #include "InDetConditionsSummaryService/InDetHierarchy.h"
 
+//Gaudi Includes
+#include "GaudiKernel/IAlgTool.h"
+#include "GaudiKernel/EventContext.h"
+
 /**
  * @class ISCT_ConditionsTool
  * Base class for SCT conditions tools so they can be used in the summary tool
@@ -35,9 +36,11 @@ class ISCT_ConditionsTool: virtual public IAlgTool {
   
   ///Summarise the result from the service as good/bad
   virtual bool isGood(const Identifier& elementId, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const =0;
+  virtual bool isGood(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const =0;
   
   //@todo introduce hash identifier method
   virtual bool isGood(const IdentifierHash& hashId) const =0;
+  virtual bool isGood(const IdentifierHash& hashId, const EventContext& ctx) const =0;
 };
 
 #endif // ISCT_ConditionsTool_h
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ByteStreamErrorsTool.cxx b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ByteStreamErrorsTool.cxx
index c2994778c4b1..a66025bc224e 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ByteStreamErrorsTool.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ByteStreamErrorsTool.cxx
@@ -103,9 +103,7 @@ SCT_ByteStreamErrorsTool::canReportAbout(InDetConditions::Hierarchy h) const {
  * result in bad hits or no hits for that event */
  
 bool 
-SCT_ByteStreamErrorsTool::isGood(const IdentifierHash& elementIdHash) const {
-  const EventContext& ctx{Gaudi::Hive::currentContext()};
-  
+SCT_ByteStreamErrorsTool::isGood(const IdentifierHash& elementIdHash, const EventContext& ctx) const {
   if (m_checkRODSimulatedData and isRODSimulatedData(elementIdHash)) return false;
   
   bool result{true};
@@ -137,13 +135,20 @@ SCT_ByteStreamErrorsTool::isGood(const IdentifierHash& elementIdHash) const {
   return result;
 }
 
+bool
+SCT_ByteStreamErrorsTool::isGood(const IdentifierHash& elementIdHash) const {
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+
+  return isGood(elementIdHash, ctx);
+}
+
 bool 
-SCT_ByteStreamErrorsTool::isGood(const Identifier& elementId, InDetConditions::Hierarchy h) const {
+SCT_ByteStreamErrorsTool::isGood(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h) const {
   if (not canReportAbout(h)) return true;
   
   if (h==InDetConditions::SCT_SIDE) {
     const IdentifierHash elementIdHash{m_sct_id->wafer_hash(elementId)};
-    return isGood(elementIdHash);
+    return isGood(elementIdHash, ctx);
   }
   if (h==InDetConditions::SCT_CHIP) {
     return isGoodChip(elementId);
@@ -152,6 +157,13 @@ SCT_ByteStreamErrorsTool::isGood(const Identifier& elementId, InDetConditions::H
   return true;
 }
 
+bool
+SCT_ByteStreamErrorsTool::isGood(const Identifier& elementId, InDetConditions::Hierarchy h) const {
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+
+  return isGood(elementId, ctx, h);
+}
+
 bool
 SCT_ByteStreamErrorsTool::isGoodChip(const Identifier& stripId) const {
   // This check assumes present SCT.
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ByteStreamErrorsTool.h b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ByteStreamErrorsTool.h
index 3a7b2dfbff71..7a612ce579d8 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ByteStreamErrorsTool.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ByteStreamErrorsTool.h
@@ -59,7 +59,9 @@ public:
   
   ///Is the detector element good?
   virtual bool isGood(const Identifier& elementId, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
+  virtual bool isGood(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
   virtual bool isGood(const IdentifierHash& elementIdHash) const override;
+  virtual bool isGood(const IdentifierHash& elementIdHash, const EventContext& ctx) const override;
   
   const std::set<IdentifierHash>* getErrorSet(int errorType) const override; // Used by SCTRawDataProviderTool and others
   const std::set<IdentifierHash>* getErrorSet(int errorType, const EventContext& ctx) const override; // Used by SCTRawDataProviderTool and others
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ConditionsSummaryTool.cxx b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ConditionsSummaryTool.cxx
index d2bcf1ea07e3..f4805fd3dca1 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ConditionsSummaryTool.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ConditionsSummaryTool.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -11,6 +11,8 @@
 #include "SCT_ConditionsSummaryTool.h"
 #include "SCT_ConditionsTools/ISCT_ConditionsTool.h"
 
+#include "GaudiKernel/EventContext.h"
+
 using namespace std;
 
 // Constructor
@@ -64,8 +66,9 @@ SCT_ConditionsSummaryTool::activeFraction(const IdentifierHash& elementHash, con
 bool
 SCT_ConditionsSummaryTool::isGood(const Identifier& elementId, const InDetConditions::Hierarchy h) const {
   if (not m_noReports) {
+    const EventContext& ctx{Gaudi::Hive::currentContext()};
     for (const ToolHandle<ISCT_ConditionsTool>& tool: m_toolHandles) {
-      if (tool->canReportAbout(h) and (not tool->isGood(elementId, h))) return false;
+      if (tool->canReportAbout(h) and (not tool->isGood(elementId, ctx, h))) return false;
     }
   }
   return true;
@@ -74,8 +77,9 @@ SCT_ConditionsSummaryTool::isGood(const Identifier& elementId, const InDetCondit
 bool
 SCT_ConditionsSummaryTool::isGood(const IdentifierHash& elementHash) const {
   if (not m_noReports) {
+    const EventContext& ctx{Gaudi::Hive::currentContext()};
     for (const ToolHandle<ISCT_ConditionsTool>& tool: m_toolHandles) {
-      if (tool->canReportAbout(InDetConditions::SCT_SIDE) and (not tool->isGood(elementHash))) return false;
+      if (tool->canReportAbout(InDetConditions::SCT_SIDE) and (not tool->isGood(elementHash, ctx))) return false;
     }    
   }
   return true;
@@ -84,8 +88,9 @@ SCT_ConditionsSummaryTool::isGood(const IdentifierHash& elementHash) const {
 bool
 SCT_ConditionsSummaryTool::isGood(const IdentifierHash& /*elementHash*/, const Identifier& elementId) const {
   if (not m_noReports) {
+    const EventContext& ctx{Gaudi::Hive::currentContext()};
     for (const ToolHandle<ISCT_ConditionsTool>& tool: m_toolHandles) {
-      if (tool->canReportAbout(InDetConditions::SCT_STRIP) and (not tool->isGood(elementId))) return false;
+      if (tool->canReportAbout(InDetConditions::SCT_STRIP) and (not tool->isGood(elementId, ctx))) return false;
     } 
   }
   return true;
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ConfigurationConditionsTool.cxx b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ConfigurationConditionsTool.cxx
index cbce7855b989..d141efb67a10 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ConfigurationConditionsTool.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ConfigurationConditionsTool.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "SCT_ConfigurationConditionsTool.h"
@@ -53,10 +53,9 @@ bool SCT_ConfigurationConditionsTool::canReportAbout(InDetConditions::Hierarchy
 }
 
 // Is an element with this Identifier and hierachy good?
-bool SCT_ConfigurationConditionsTool::isGood(const Identifier& elementId, InDetConditions::Hierarchy h) const {
+bool SCT_ConfigurationConditionsTool::isGood(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h) const {
   if (not canReportAbout(h)) return true;
 
-  const EventContext& ctx{Gaudi::Hive::currentContext()};
   const SCT_ConfigurationCondData* condData{getCondData(ctx)};
   if (condData==nullptr) {
     ATH_MSG_ERROR("In isGood, SCT_ConfigurationCondData pointer cannot be retrieved");
@@ -79,10 +78,22 @@ bool SCT_ConfigurationConditionsTool::isGood(const Identifier& elementId, InDetC
   return result;
 }
 
+bool SCT_ConfigurationConditionsTool::isGood(const Identifier& elementId, InDetConditions::Hierarchy h) const {
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+
+  return isGood(elementId, ctx, h);
+}
+
 // Is a wafer with this IdentifierHash good?
-bool SCT_ConfigurationConditionsTool::isGood(const IdentifierHash& hashId) const {
+bool SCT_ConfigurationConditionsTool::isGood(const IdentifierHash& hashId, const EventContext& ctx) const {
   const Identifier elementId{m_pHelper->wafer_id(hashId)};
-  return isGood(elementId);
+  return isGood(elementId, ctx);
+}
+
+bool SCT_ConfigurationConditionsTool::isGood(const IdentifierHash& hashId) const {
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+
+  return isGood(hashId, ctx);
 }
 
 // Is a chip with this Identifier good?
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ConfigurationConditionsTool.h b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ConfigurationConditionsTool.h
index 3c62d34d62b1..f688f55a0d39 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ConfigurationConditionsTool.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ConfigurationConditionsTool.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -53,9 +53,11 @@ class SCT_ConfigurationConditionsTool: public extends<AthAlgTool, ISCT_Configura
   
   /**Is the detector element good?*/
   virtual bool                          isGood(const Identifier& elementId, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
+  virtual bool                          isGood(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
   
   /**Is it good?, using wafer hash*/
   virtual bool                          isGood(const IdentifierHash& hashId) const override;
+  virtual bool                          isGood(const IdentifierHash& hashId, const EventContext& ctx) const override;
 
   /**List of bad modules*/
   virtual const std::set<Identifier>*   badModules() const override;
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_DCSConditionsTool.cxx b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_DCSConditionsTool.cxx
index 6a8f83d3324b..d4ee92174855 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_DCSConditionsTool.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_DCSConditionsTool.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 // New SCT_DCSConditions Tool, based on existing tool in SCT_ConditionsAlgs
@@ -86,12 +86,11 @@ Identifier SCT_DCSConditionsTool::getModuleID(const Identifier& elementId, InDet
 }
 
 //Returns if element Id is good or bad
-bool SCT_DCSConditionsTool::isGood(const Identifier& elementId, InDetConditions::Hierarchy h) const {
+bool SCT_DCSConditionsTool::isGood(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h) const {
   Identifier moduleId=getModuleID(elementId, h);
   if (not moduleId.is_valid()) return true; // not canreportabout
 
   if ((m_readAllDBFolders and m_returnHVTemp) or (not m_readAllDBFolders and not m_returnHVTemp)) {
-    const EventContext& ctx{Gaudi::Hive::currentContext()};
     const SCT_DCSStatCondData* condDataState{getCondDataState(ctx)};
     if (!condDataState) return false; // no cond data
     else if (condDataState->output(castId(moduleId))==0) return true; //No params are listed as bad
@@ -101,11 +100,23 @@ bool SCT_DCSConditionsTool::isGood(const Identifier& elementId, InDetConditions:
   }
 }
 
+bool SCT_DCSConditionsTool::isGood(const Identifier& elementId, InDetConditions::Hierarchy h) const {
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+
+  return isGood(elementId, ctx, h);
+}
+
 //Does the same for hashIds
+bool SCT_DCSConditionsTool::isGood(const IdentifierHash& hashId, const EventContext& ctx) const {
+  Identifier waferId{m_pHelper->wafer_id(hashId)};
+  Identifier moduleId{m_pHelper->module_id(waferId)};
+  return isGood(moduleId, ctx, InDetConditions::SCT_MODULE);
+}
+
 bool SCT_DCSConditionsTool::isGood(const IdentifierHash& hashId) const {
-  Identifier waferId = m_pHelper->wafer_id(hashId);
-  Identifier moduleId = m_pHelper->module_id(waferId);
-  return isGood(moduleId, InDetConditions::SCT_MODULE);
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+
+  return isGood(hashId, ctx);
 }
 
 /////////////////////////////////// 
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_DCSConditionsTool.h b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_DCSConditionsTool.h
index 563d492305eb..6ba11daf85ae 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_DCSConditionsTool.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_DCSConditionsTool.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef SCT_DCSConditionsTool_h
@@ -52,8 +52,10 @@ public:
   virtual Identifier getModuleID(const Identifier& elementId, InDetConditions::Hierarchy h) const;
   ///Summarise the result from the service as good/bad
   virtual bool isGood(const Identifier& elementId, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
+  virtual bool isGood(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
   ///is it good?, using wafer hash
   virtual bool isGood(const IdentifierHash& hashId) const override;
+  virtual bool isGood(const IdentifierHash& hashId, const EventContext& ctx) const override;
   //Returns HV (0 if there is no information)
   virtual float modHV(const Identifier& elementId, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
   //Does the same for hashIds
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_FlaggedConditionTool.cxx b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_FlaggedConditionTool.cxx
index d37936efcdbd..2d2fcabbf71c 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_FlaggedConditionTool.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_FlaggedConditionTool.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "SCT_FlaggedConditionTool.h"
@@ -53,15 +53,21 @@ bool SCT_FlaggedConditionTool::canReportAbout(InDetConditions::Hierarchy h) cons
 }
 
 // Is this element good (by Identifier)?
-bool SCT_FlaggedConditionTool::isGood(const Identifier& elementId, InDetConditions::Hierarchy h) const {
+bool SCT_FlaggedConditionTool::isGood(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h) const {
   if (not canReportAbout(h)) return true;
-  const IdentifierHash hashId = m_sctID->wafer_hash(elementId);
-  return isGood(hashId);
+  const IdentifierHash hashId{m_sctID->wafer_hash(elementId)};
+  return isGood(hashId, ctx);
+}
+
+bool SCT_FlaggedConditionTool::isGood(const Identifier& elementId, InDetConditions::Hierarchy h) const {
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+
+  return isGood(elementId, ctx, h);
 }
 
 // Is this element good (by IdentifierHash)?
-bool SCT_FlaggedConditionTool::isGood(const IdentifierHash& hashId) const {
-  const SCT_FlaggedCondData* badIds{getCondData()};
+bool SCT_FlaggedConditionTool::isGood(const IdentifierHash& hashId, const EventContext& ctx) const {
+  const SCT_FlaggedCondData* badIds{getCondData(ctx)};
   if (badIds==nullptr) {
     ATH_MSG_ERROR("SCT_FlaggedCondData cannot be retrieved. (isGood)");
     return false;
@@ -70,12 +76,20 @@ bool SCT_FlaggedConditionTool::isGood(const IdentifierHash& hashId) const {
   return (badIds->find(hashId) == badIds->end());
 }
 
+bool SCT_FlaggedConditionTool::isGood(const IdentifierHash& hashId) const {
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+
+  return isGood(hashId, ctx);
+}
+
 // Retrieve the reason why the wafer is flagged as bad (by IdentifierHash)
 // If wafer is not found return a null string
 const std::string& SCT_FlaggedConditionTool::details(const IdentifierHash& hashId) const {
   static const std::string nullString;
 
-  const SCT_FlaggedCondData* badIds{getCondData()};
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+
+  const SCT_FlaggedCondData* badIds{getCondData(ctx)};
   if (badIds==nullptr) {
     ATH_MSG_ERROR("SCT_FlaggedCondData cannot be retrieved. (details)");
     return nullString;
@@ -93,7 +107,9 @@ const std::string& SCT_FlaggedConditionTool::details(const Identifier& Id) const
 }
 
 int SCT_FlaggedConditionTool::numBadIds() const {
-  const SCT_FlaggedCondData* badIds{getCondData()};
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+
+  const SCT_FlaggedCondData* badIds{getCondData(ctx)};
   if (badIds==nullptr) {
     ATH_MSG_ERROR("SCT_FlaggedCondData cannot be retrieved. (numBadIds)");
     return -1;
@@ -103,11 +119,13 @@ int SCT_FlaggedConditionTool::numBadIds() const {
 }
 
 const SCT_FlaggedCondData* SCT_FlaggedConditionTool::getBadIds() const {
-  return getCondData();
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+
+  return getCondData(ctx);
 }
 
-const SCT_FlaggedCondData* SCT_FlaggedConditionTool::getCondData() const {
-  SG::ReadHandle<SCT_FlaggedCondData> condData{m_badIds};
+const SCT_FlaggedCondData* SCT_FlaggedConditionTool::getCondData(const EventContext& ctx) const {
+  SG::ReadHandle<SCT_FlaggedCondData> condData{m_badIds, ctx};
   if (not condData.isValid()) {
     ATH_MSG_ERROR("Failed to get " << m_badIds.key());
     return nullptr;
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_FlaggedConditionTool.h b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_FlaggedConditionTool.h
index c89717067363..b3ee3a21bcd3 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_FlaggedConditionTool.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_FlaggedConditionTool.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /*
@@ -43,7 +43,9 @@ public:
   
   /**Is the detector element good?*/
   virtual bool isGood(const Identifier& elementId, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
+  virtual bool isGood(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
   virtual bool isGood(const IdentifierHash& hashId) const override;
+  virtual bool isGood(const IdentifierHash& hashId, const EventContext& ctx) const override;
 
   /**Get the reason why the wafer is bad (by Identifier)*/ 
   virtual const std::string& details(const Identifier& id) const override;
@@ -61,7 +63,7 @@ public:
 
   const SCT_ID* m_sctID; //!< ID helper for SCT
 
-  const SCT_FlaggedCondData* getCondData() const;
+  const SCT_FlaggedCondData* getCondData(const EventContext& ctx) const;
 };
 
 #endif // SCT_FlaggedConditionTool_h
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_LinkMaskingTool.cxx b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_LinkMaskingTool.cxx
index 82103b7472a5..b4860fcbad85 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_LinkMaskingTool.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_LinkMaskingTool.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "SCT_LinkMaskingTool.h"
@@ -45,10 +45,9 @@ bool SCT_LinkMaskingTool::canReportAbout(InDetConditions::Hierarchy h) const {
 }
 
 // Is an element with this Identifier and hierachy good?
-bool SCT_LinkMaskingTool::isGood(const Identifier& elementId, InDetConditions::Hierarchy h) const {
+bool SCT_LinkMaskingTool::isGood(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h) const {
   if (not canReportAbout(h)) return true;
 
-  const EventContext& ctx{Gaudi::Hive::currentContext()};
   const SCT_ModuleVetoCondData* condData{getCondData(ctx)};
   // If database cannot be retrieved, all wafer IDs are good.
   if (condData==nullptr) return true;
@@ -57,10 +56,22 @@ bool SCT_LinkMaskingTool::isGood(const Identifier& elementId, InDetConditions::H
   return (not condData->isBadWaferId(elementId));
 }
 
+bool SCT_LinkMaskingTool::isGood(const Identifier& elementId, InDetConditions::Hierarchy h) const {
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+
+  return isGood(elementId, ctx, h);
+}
+
 // Is a wafer with this IdentifierHash good?
-bool SCT_LinkMaskingTool::isGood(const IdentifierHash& hashId) const {
+bool SCT_LinkMaskingTool::isGood(const IdentifierHash& hashId, const EventContext& ctx) const {
   Identifier elementId{m_sctHelper->wafer_id(hashId)};
-  return isGood(elementId);
+  return isGood(elementId, ctx);
+}
+
+bool SCT_LinkMaskingTool::isGood(const IdentifierHash& hashId) const {
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+
+  return isGood(hashId, ctx);
 }
 
 const SCT_ModuleVetoCondData*
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_LinkMaskingTool.h b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_LinkMaskingTool.h
index a81b4076b77b..ed863c0badca 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_LinkMaskingTool.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_LinkMaskingTool.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -49,9 +49,11 @@ public:
   
   /**Is the detector element good?*/
   virtual bool isGood(const Identifier& elementId, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
+  virtual bool isGood(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
   
   /**Is it good?, using wafer hash*/
   virtual bool isGood(const IdentifierHash& hashId) const override;
+  virtual bool isGood(const IdentifierHash& hashId, const EventContext& ctx) const override;
 
 private:
   const SCT_ID* m_sctHelper; //!< ID helper for SCT
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ModuleVetoTool.cxx b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ModuleVetoTool.cxx
index d5fc6dc7ba3b..657844222134 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ModuleVetoTool.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ModuleVetoTool.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -99,7 +99,7 @@ SCT_ModuleVetoTool::canReportAbout(InDetConditions::Hierarchy h) const {
 }
 
 bool 
-SCT_ModuleVetoTool::isGood(const Identifier& elementId, InDetConditions::Hierarchy h) const {
+SCT_ModuleVetoTool::isGood(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h) const {
   if (not canReportAbout(h)) return true;
 
   // Bad wafer in properties
@@ -107,7 +107,6 @@ SCT_ModuleVetoTool::isGood(const Identifier& elementId, InDetConditions::Hierarc
   // If database is not used, all wafer IDs here should be good.
   if (not m_useDatabase) return true;
 
-  const EventContext& ctx{Gaudi::Hive::currentContext()};
   const SCT_ModuleVetoCondData* condData{getCondData(ctx)};
   // If database cannot be retrieved, all wafer IDs are good.
   if (condData==nullptr) return true;
@@ -117,9 +116,23 @@ SCT_ModuleVetoTool::isGood(const Identifier& elementId, InDetConditions::Hierarc
 }
 
 bool 
-SCT_ModuleVetoTool::isGood(const IdentifierHash& hashId) const {
+SCT_ModuleVetoTool::isGood(const Identifier& elementId, InDetConditions::Hierarchy h) const {
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+
+  return isGood(elementId, ctx, h);
+}
+
+bool 
+SCT_ModuleVetoTool::isGood(const IdentifierHash& hashId, const EventContext& ctx) const {
   Identifier elementId{m_pHelper->wafer_id(hashId)};
-  return isGood(elementId);
+  return isGood(elementId, ctx);
+}
+
+bool
+SCT_ModuleVetoTool::isGood(const IdentifierHash& hashId) const {
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+
+  return isGood(hashId, ctx);
 }
 
 StatusCode 
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ModuleVetoTool.h b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ModuleVetoTool.h
index 7e06a86f7662..cca07e4a6f42 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ModuleVetoTool.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ModuleVetoTool.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -50,9 +50,11 @@ class SCT_ModuleVetoTool: public extends<AthAlgTool, ISCT_ConditionsTool> {
   
   ///Is the detector element good?
   virtual bool isGood(const Identifier& elementId, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
+  virtual bool isGood(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
   
   ///is it good?, using wafer hash
   virtual bool isGood(const IdentifierHash& hashId) const override;
+  virtual bool isGood(const IdentifierHash& hashId, const EventContext& ctx) const override;
 
  private:
   StringArrayProperty m_badElements; //list of bad detector elements (= module sides)
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_MonitorConditionsTool.cxx b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_MonitorConditionsTool.cxx
index 9ccec0acf2a8..91fdba0a24d6 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_MonitorConditionsTool.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_MonitorConditionsTool.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -81,11 +81,11 @@ SCT_MonitorConditionsTool::canReportAbout(InDetConditions::Hierarchy h) const {
 ///////////////////////////////////////////////////////////////////////////////////
 
 bool
-SCT_MonitorConditionsTool::isGood(const Identifier& elementId, InDetConditions::Hierarchy h) const {
+SCT_MonitorConditionsTool::isGood(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h) const {
   Identifier waferid{m_pHelper->wafer_id(elementId)};
   Identifier iimodule{m_pHelper->module_id(waferid)};
   // defectlist is based on each module
-  std::string defectlist{getList(iimodule)};
+  std::string defectlist{getList(iimodule, ctx)};
 
   if (not defectlist.empty()) {
     switch (h) {
@@ -107,11 +107,28 @@ SCT_MonitorConditionsTool::isGood(const Identifier& elementId, InDetConditions::
 
 ///////////////////////////////////////////////////////////////////////////////////
 
+bool
+SCT_MonitorConditionsTool::isGood(const Identifier& elementId, InDetConditions::Hierarchy h) const {
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+
+  return isGood(elementId, ctx, h);
+}
+
+///////////////////////////////////////////////////////////////////////////////////
+
 bool 
-SCT_MonitorConditionsTool::isGood(const IdentifierHash& hashId) const {
-  //bool result(true);
+SCT_MonitorConditionsTool::isGood(const IdentifierHash& hashId, const EventContext& ctx) const {
   Identifier elementId{m_pHelper->wafer_id(hashId)};
-  return isGood(elementId);
+  return isGood(elementId, ctx);
+}
+
+//////////////////////////////////////////////////////////////////////////////////////////
+
+bool
+SCT_MonitorConditionsTool::isGood(const IdentifierHash& hashId) const {
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+
+  return isGood(hashId, ctx);
 }
 
 //////////////////////////////////////////////////////////////////////////////////////////
@@ -132,9 +149,11 @@ SCT_MonitorConditionsTool::badStrips(std::set<Identifier>& strips) const {
 
 void
 SCT_MonitorConditionsTool::badStrips(const Identifier& moduleId, std::set<Identifier>& strips) const {
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+
   // Set of bad strip Identifers for a given module
   // Get defect string and check it is sensible, i.e. non-empty and contains numbers
-  std::string defectStr{getList(moduleId)};
+  std::string defectStr{getList(moduleId, ctx)};
   if (doesNotHaveNumbers(defectStr)) return;
 
   // Expand the string
@@ -163,7 +182,9 @@ SCT_MonitorConditionsTool::badStrips(const Identifier& moduleId, std::set<Identi
 
 std::string 
 SCT_MonitorConditionsTool::badStripsAsString(const Identifier& moduleId) const {
-   return getList(moduleId);
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+
+  return getList(moduleId, ctx);
 }
 
 ///////////////////////////////////////////////////////////////////////////////////////////
@@ -171,9 +192,8 @@ SCT_MonitorConditionsTool::badStripsAsString(const Identifier& moduleId) const {
 //////////////////////////////////////////////////////////////////////////////////////////
 
 std::string
-SCT_MonitorConditionsTool::getList(const Identifier& moduleId) const {
+SCT_MonitorConditionsTool::getList(const Identifier& moduleId, const EventContext& ctx) const {
   string currentDefectList{""};
-  const EventContext& ctx{Gaudi::Hive::currentContext()};
   const SCT_MonitorCondData* condData{getCondData(ctx)};
   if (condData) {
     const IdentifierHash moduleHash{m_pHelper->wafer_hash(moduleId)};
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_MonitorConditionsTool.h b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_MonitorConditionsTool.h
index c821150c5aaf..a8f97efd8741 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_MonitorConditionsTool.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_MonitorConditionsTool.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef SCT_MONITORCONDITIONSTOOL_SCT_MONITORCONDITIONSTOOL_H
@@ -48,9 +48,11 @@ public:
 
   ///Is the detector element good?
   virtual bool isGood(const Identifier& elementId, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
+  virtual bool isGood(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
 
   ///is it good?, using wafer hash
   virtual bool isGood(const IdentifierHash& hashId) const override;
+  virtual bool isGood(const IdentifierHash& hashId, const EventContext& ctx) const override;
 
   /// List of bad strip Identifiers
   virtual void badStrips(std::set<Identifier>& strips) const override;
@@ -65,7 +67,7 @@ private:
   // ------------------------------------------------------------------------------------
   // local stuff 
   // ------------------------------------------------------------------------------------
-  std::string getList(const Identifier& imodule) const;
+  std::string getList(const Identifier& imodule, const EventContext& ctx) const;
 
   bool stripIsNoisy(const int strip, const std::string& defectList) const;
 
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_RODVetoTool.cxx b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_RODVetoTool.cxx
index 5465e58e78c0..0868cfe8ca54 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_RODVetoTool.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_RODVetoTool.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -56,9 +56,9 @@ SCT_RODVetoTool::canReportAbout(InDetConditions::Hierarchy h) const {
 }
 
 bool 
-SCT_RODVetoTool::isGood(const Identifier& elementId, InDetConditions::Hierarchy h) const {
+SCT_RODVetoTool::isGood(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h) const {
   if (not canReportAbout(h)) return true;
-  const IdentifierSet* badIds{getCondData()};
+  const IdentifierSet* badIds{getCondData(ctx)};
   if (badIds==nullptr) {
     ATH_MSG_ERROR("IdentifierSet cannot be retrieved in isGood. true is returned.");
     return true;
@@ -68,15 +68,29 @@ SCT_RODVetoTool::isGood(const Identifier& elementId, InDetConditions::Hierarchy
 }
 
 bool 
-SCT_RODVetoTool::isGood(const IdentifierHash& hashId) const {
+SCT_RODVetoTool::isGood(const Identifier& elementId, InDetConditions::Hierarchy h) const {
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+
+  return isGood(elementId, ctx, h);
+}
+
+bool 
+SCT_RODVetoTool::isGood(const IdentifierHash& hashId, const EventContext& ctx) const {
   Identifier elementId{m_pHelper->wafer_id(hashId)};
   Identifier moduleId{m_pHelper->module_id(elementId)};
-  return isGood(moduleId);
+  return isGood(moduleId, ctx);
+}
+
+bool 
+SCT_RODVetoTool::isGood(const IdentifierHash& hashId) const {
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+
+  return isGood(hashId, ctx);
 }
 
 const IdentifierSet*
-SCT_RODVetoTool::getCondData() const {
-  SG::ReadHandle<IdentifierSet> condData{m_badModuleIds};
+SCT_RODVetoTool::getCondData(const EventContext& ctx) const {
+  SG::ReadHandle<IdentifierSet> condData{m_badModuleIds, ctx};
   if (not condData.isValid()) {
     ATH_MSG_ERROR("Failed to get " << m_badModuleIds.key());
     return nullptr;
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_RODVetoTool.h b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_RODVetoTool.h
index 627c50b48800..6eef5e8fb8ca 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_RODVetoTool.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_RODVetoTool.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -51,13 +51,15 @@ public:
   
   ///Is the detector element good?
   virtual bool isGood(const Identifier& elementId, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
+  virtual bool isGood(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
   
   ///is it good?, using wafer hash
   virtual bool isGood(const IdentifierHash& hashId) const override;
+  virtual bool isGood(const IdentifierHash& hashId, const EventContext& ctx) const override;
 
 private:
 
-  const IdentifierSet* getCondData() const;
+  const IdentifierSet* getCondData(const EventContext& ctx) const;
 
   // The vector of bad rods should be kept in a threadsafe way so it can 
   // be called and read safely.
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ReadCalibChipDataTool.cxx b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ReadCalibChipDataTool.cxx
index a3be15a7211d..778c507e9943 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ReadCalibChipDataTool.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ReadCalibChipDataTool.cxx
@@ -1,5 +1,5 @@
- /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+/*
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /** @file SCT_ReadCalibChipDataTool.cxx Implementation file for SCT_ReadCalibChipDataTool.
@@ -62,9 +62,8 @@ SCT_ReadCalibChipDataTool::canReportAbout(InDetConditions::Hierarchy h) const {
 //----------------------------------------------------------------------
 // Returns a bool summary of the data
 bool
-SCT_ReadCalibChipDataTool::isGood(const IdentifierHash& elementHashId) const {
+SCT_ReadCalibChipDataTool::isGood(const IdentifierHash& elementHashId, const EventContext& ctx) const {
   // Retrieve SCT_NoiseCalibData pointer
-  const EventContext& ctx{Gaudi::Hive::currentContext()};
   const SCT_NoiseCalibData* condDataNoise{getCondDataNoise(ctx)};
   if (condDataNoise==nullptr) {
     ATH_MSG_ERROR("In isGood, SCT_NoiseCalibData cannot be retrieved");
@@ -103,13 +102,20 @@ SCT_ReadCalibChipDataTool::isGood(const IdentifierHash& elementHashId) const {
   return (meanNoiseValue < m_noiseLevel);
 } //SCT_ReadCalibChipDataTool::summary()
 
+bool
+SCT_ReadCalibChipDataTool::isGood(const IdentifierHash& elementHashId) const {
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+
+  return isGood(elementHashId, ctx);
+}
+
 //----------------------------------------------------------------------
 // Returns a bool summary of the data
 bool
-SCT_ReadCalibChipDataTool::isGood(const Identifier& elementId, InDetConditions::Hierarchy h) const {
+SCT_ReadCalibChipDataTool::isGood(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h) const {
   if (h==InDetConditions::SCT_SIDE) { //Could do by chip too
     const IdentifierHash elementIdHash{m_id_sct->wafer_hash(elementId)};
-    return isGood(elementIdHash);
+    return isGood(elementIdHash, ctx);
   } else{
     // Not applicable for Calibration data
     ATH_MSG_WARNING("summary(): " << h << "good/bad is not applicable for Calibration data");
@@ -117,6 +123,13 @@ SCT_ReadCalibChipDataTool::isGood(const Identifier& elementId, InDetConditions::
   }
 }
 
+bool
+SCT_ReadCalibChipDataTool::isGood(const Identifier& elementId, InDetConditions::Hierarchy h) const {
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+
+  return isGood(elementId, ctx, h);
+}
+
 //----------------------------------------------------------------------
 std::vector<float> 
 SCT_ReadCalibChipDataTool::getNPtGainData(const Identifier& moduleId, const int side, const std::string& datatype) const {
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ReadCalibChipDataTool.h b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ReadCalibChipDataTool.h
index 142897aed122..29d53f8921b1 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ReadCalibChipDataTool.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ReadCalibChipDataTool.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /** @file SCT_ReadCalibChipDataTool.h Header file for SCT_ReadCalibChipDataTool.
@@ -50,8 +50,10 @@ class SCT_ReadCalibChipDataTool: public extends<AthAlgTool, ISCT_ReadCalibChipDa
   virtual bool canReportAbout(InDetConditions::Hierarchy h) const override;
   ///Summarise the result from the service as good/bad
   virtual bool isGood(const Identifier& elementId, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
+  virtual bool isGood(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
   ///same thing with id hash, introduced by shaun with dummy method for now
   virtual bool isGood(const IdentifierHash& hashId) const override;
+  virtual bool isGood(const IdentifierHash& hashId, const EventContext& ctx) const override;
   //@}
   
   // Methods to return calibration data
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ReadCalibDataTool.cxx b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ReadCalibDataTool.cxx
index f17e40e1b219..2d775f266f5b 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ReadCalibDataTool.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ReadCalibDataTool.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /** @file SCT_ReadCalibDataTool.cxx Implementation file for SCT_ReadCalibDataTool.
@@ -58,7 +58,7 @@ bool SCT_ReadCalibDataTool::canReportAbout(InDetConditions::Hierarchy h) const {
 
 //----------------------------------------------------------------------
 // Returns a bool summary of the data
-bool SCT_ReadCalibDataTool::isGood(const Identifier& elementId, InDetConditions::Hierarchy h) const {
+bool SCT_ReadCalibDataTool::isGood(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h) const {
   // Status of the compId
   bool status{true};
   // Extract the moduleId from the comp identifier
@@ -94,7 +94,6 @@ bool SCT_ReadCalibDataTool::isGood(const Identifier& elementId, InDetConditions:
       int strip{m_id_sct->strip(elementId)};
       // Retrieve isGood Wafer data
 
-      const EventContext& ctx{Gaudi::Hive::currentContext()};
       const SCT_AllGoodStripInfo* condDataInfo{getCondDataInfo(ctx)};
       if (condDataInfo==nullptr) {
         ATH_MSG_ERROR("In isGood, SCT_AllGoodStripInfo cannot be retrieved");
@@ -115,6 +114,11 @@ bool SCT_ReadCalibDataTool::isGood(const Identifier& elementId, InDetConditions:
   return status;
 } //SCT_ReadCalibDataTool::summary()
 
+bool SCT_ReadCalibDataTool::isGood(const Identifier& elementId, InDetConditions::Hierarchy h) const {
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+
+  return isGood(elementId, ctx, h);
+}
 
 //----------------------------------------------------------------------
 // Returns a defect summary of a defect strip, scan, type and value
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ReadCalibDataTool.h b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ReadCalibDataTool.h
index fad58d5ab698..41ce81b29258 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ReadCalibDataTool.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_ReadCalibDataTool.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /** @file SCT_ReadCalibDataTool.h Header file for SCT_ReadCalibDataTool.
@@ -56,9 +56,11 @@ class SCT_ReadCalibDataTool: public extends<AthAlgTool, ISCT_ReadCalibDataTool>
   ///Return whether this tool can report on the hierarchy level (e.g. module, chip...)
   virtual bool canReportAbout(InDetConditions::Hierarchy h) const override;
   ///Summarise the result from the tool as good/bad
-  virtual bool isGood(const Identifier& elementId,InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
+  virtual bool isGood(const Identifier& elementId, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
+  virtual bool isGood(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
   ///same thing with id hash, introduced by shaun with dummy method for now
   virtual bool isGood(const IdentifierHash& /*hashId*/) const override { return true; }
+  virtual bool isGood(const IdentifierHash& hashId, const EventContext& /*ctx*/) const override { return isGood(hashId); }
   //@}
   
   // Methods to return calibration defect type and summary
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_StripVetoTool.cxx b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_StripVetoTool.cxx
index 61f1a0f0e43a..8189cce824f4 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_StripVetoTool.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_StripVetoTool.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -59,11 +59,21 @@ SCT_StripVetoTool::isGood(const Identifier& elementId, InDetConditions::Hierarch
   return (m_badIds.find(elementId) == m_badIds.end());
 }
 
+bool 
+SCT_StripVetoTool::isGood(const Identifier& elementId, const EventContext& /*ctx*/, InDetConditions::Hierarchy h) const {
+  return isGood(elementId, h);
+}
+
 bool 
 SCT_StripVetoTool::isGood(const IdentifierHash& /*hashId*/) const { //comment out unused parameter to prevent compiler warning
   return true; //cant answer questions about the module side
 }
 
+bool 
+SCT_StripVetoTool::isGood(const IdentifierHash& hashId, const EventContext& /*ctx*/) const {
+  return isGood(hashId);
+}
+
 StatusCode 
 SCT_StripVetoTool::fillData() {
   if (m_badElements.value().empty()) ATH_MSG_INFO("No bad strips.");
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_StripVetoTool.h b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_StripVetoTool.h
index 6b0e80006210..f5b27c2ce4c9 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_StripVetoTool.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_StripVetoTool.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -10,8 +10,6 @@
 
 #ifndef SCT_StripVetoTool_h
 #define SCT_StripVetoTool_h
-//STL includes
-#include <set>
 
 //Gaudi includes
 #include "AthenaBaseComps/AthAlgTool.h"
@@ -20,6 +18,9 @@
 #include "InDetConditionsSummaryService/InDetHierarchy.h"
 #include "SCT_ConditionsTools/ISCT_ConditionsTool.h"
 
+//STL includes
+#include <set>
+
 //forward declarations
 class IdentifierHash;
 class SCT_ID;
@@ -43,9 +44,11 @@ public:
   
   ///Is the detector element good?
   virtual bool isGood(const Identifier& elementId, InDetConditions::Hierarchy h=InDetConditions::SCT_STRIP) const override;
+  virtual bool isGood(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h=InDetConditions::SCT_STRIP) const override;
   
   ///is it good?, using wafer hash
   virtual bool isGood(const IdentifierHash& hashId) const override;
+  virtual bool isGood(const IdentifierHash& hashId, const EventContext& ctx) const override;
 
 private:
   StatusCode fillData();
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_TdaqEnabledTool.cxx b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_TdaqEnabledTool.cxx
index 1128a81daca5..250b755a541b 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_TdaqEnabledTool.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_TdaqEnabledTool.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -59,21 +59,34 @@ SCT_TdaqEnabledTool::canReportAbout(InDetConditions::Hierarchy h) const {
 }
 
 bool 
-SCT_TdaqEnabledTool::isGood(const Identifier& elementId, InDetConditions::Hierarchy h) const {
+SCT_TdaqEnabledTool::isGood(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h) const {
   if (not canReportAbout(h)) return true;
   //turn to hash, given the identifier
   const IdentifierHash hashId{m_pHelper->wafer_hash(elementId)};
-  return isGood(hashId);
+  return isGood(hashId, ctx);
 }
 
 bool 
-SCT_TdaqEnabledTool::isGood(const IdentifierHash& hashId) const {
+SCT_TdaqEnabledTool::isGood(const Identifier& elementId, InDetConditions::Hierarchy h) const {
   const EventContext& ctx{Gaudi::Hive::currentContext()};
+
+  return isGood(elementId, ctx, h);
+}
+
+bool
+SCT_TdaqEnabledTool::isGood(const IdentifierHash& hashId, const EventContext& ctx) const {
   const SCT_TdaqEnabledCondData* condData{getCondData(ctx)};
   if (!condData) return false;
   return condData->isGood(hashId);
 }
 
+bool
+SCT_TdaqEnabledTool::isGood(const IdentifierHash& hashId) const {
+  const EventContext& ctx{Gaudi::Hive::currentContext()};
+
+  return isGood(hashId, ctx);
+}
+
 const SCT_TdaqEnabledCondData*
 SCT_TdaqEnabledTool::getCondData(const EventContext& ctx) const {
   static const EventContext::ContextEvt_t invalidValue{EventContext::INVALID_CONTEXT_EVT};
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_TdaqEnabledTool.h b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_TdaqEnabledTool.h
index a0a52d8c7c57..62b8a07dc596 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_TdaqEnabledTool.h
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/src/SCT_TdaqEnabledTool.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -52,9 +52,11 @@ public:
 
   ///Is the detector element good?
   virtual bool isGood(const Identifier& elementId, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
+  virtual bool isGood(const Identifier& elementId, const EventContext& ctx, InDetConditions::Hierarchy h=InDetConditions::DEFAULT) const override;
 
   ///is it good?, using wafer hash
   virtual bool isGood(const IdentifierHash& hashId) const override;
+  virtual bool isGood(const IdentifierHash& hashId, const EventContext& ctx) const override;
 
  private:
   // Mutex to protect the contents.
diff --git a/InnerDetector/InDetConditions/SCT_ConditionsTools/test/SCT_RODVetoTool_test.cxx b/InnerDetector/InDetConditions/SCT_ConditionsTools/test/SCT_RODVetoTool_test.cxx
index 014135b01427..9a49473b5fb3 100644
--- a/InnerDetector/InDetConditions/SCT_ConditionsTools/test/SCT_RODVetoTool_test.cxx
+++ b/InnerDetector/InDetConditions/SCT_ConditionsTools/test/SCT_RODVetoTool_test.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /**
@@ -23,16 +23,20 @@
 //Gaudi includes
 #include "GaudiKernel/IAppMgrUI.h"
 #include "GaudiKernel/SmartIF.h"
+#include "GaudiKernel/IEvtSelector.h"
 #include "GaudiKernel/IToolSvc.h"
 #include "GaudiKernel/ISvcLocator.h"
 #include "GaudiKernel/IProperty.h"
+#include "GaudiKernel/EventContext.h"
 
 // Tested AthAlgTool
 #include "../src/SCT_RODVetoTool.h"
 
 // ATLAS C++
+#include "AthenaKernel/ExtendedEventContext.h"
 #include "SCT_ConditionsTools/ISCT_ConditionsTool.h"
 #include "InDetIdentifier/SCT_ID.h"
+#include "StoreGate/StoreGateSvc.h"
 
 namespace SCT_test {
 
@@ -58,9 +62,15 @@ protected:
     m_svcMgr = m_appMgr;
     ASSERT_TRUE( m_svcMgr.isValid() );
 
+    m_sg = nullptr;
+    ASSERT_TRUE( m_svcLoc->service ("StoreGateSvc", m_sg).isSuccess() );
+
+    m_evtSel = m_svcLoc->service("EventSelector");
+    ASSERT_TRUE( m_evtSel.isValid() );
+
     m_propMgr = m_appMgr;
     ASSERT_TRUE( m_propMgr.isValid() );
-    ASSERT_TRUE( m_propMgr->setProperty("EvtSel", "NONE").isSuccess() );
+    ASSERT_TRUE( m_propMgr->setProperty("EvtSel", "EventSelector").isSuccess() );
     ASSERT_TRUE( m_propMgr->setProperty("JobOptionsType", "NONE").isSuccess() );
 
     m_toolSvc = m_svcLoc->service("ToolSvc");
@@ -99,7 +109,9 @@ protected:
   SmartIF<ISvcLocator> m_svcLoc;
   SmartIF<ISvcManager> m_svcMgr;
   SmartIF<IToolSvc> m_toolSvc;
+  SmartIF<IEvtSelector> m_evtSel;
   SmartIF<IProperty> m_propMgr;
+  StoreGateSvc* m_sg{nullptr};
 };
 
 class SCT_RODVetoTool_test: public ::testing::Test, public GaudiFixture {
@@ -159,7 +171,9 @@ TEST_F(SCT_RODVetoTool_test, isGood_Hash) {
 TEST_F(SCT_RODVetoTool_test, isGood_Id) {
   m_tool->initialize(); 
   const Identifier elementId{0};
-  ASSERT_TRUE( m_tool->isGood(elementId, InDetConditions::DEFAULT) );
+  EventContext ctx{0, 0};
+  ctx.setExtension( Atlas::ExtendedEventContext( m_sg, 0 ) );
+  ASSERT_TRUE( m_tool->isGood(elementId, ctx, InDetConditions::DEFAULT) );
 }
 
 } // namespace SCT_test
diff --git a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/CMakeLists.txt b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/CMakeLists.txt
index 4f90a5e19dbb..1ee9db08366f 100644
--- a/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/CMakeLists.txt
+++ b/PhysicsAnalysis/D3PDMaker/InDetD3PDMaker/CMakeLists.txt
@@ -60,7 +60,7 @@ atlas_add_component( InDetD3PDMaker
                      src/*.cxx
                      src/components/*.cxx
                      INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${Boost_LIBRARIES} ${HEPMC_LIBRARIES} ${HEPPDT_LIBRARIES}  GaudiKernel CommissionEvent AthContainers AthenaKernel StoreGateLib AtlasDetDescr GeoAdaptors Identifier EventPrimitives xAODEventInfo xAODTracking InDetBeamSpotService SCT_ConditionsTools TRT_ConditionsServices InDetIdentifier InDetReadoutGeometry SCT_CablingLib InDetRawData InDetPrepRawData InDetRIO_OnTrack InDetSimEvent D3PDMakerUtils MCTruthClassifier ParticleTruth ITrackToVertex muonEvent Particle TrkCompetingRIOsOnTrack TrkEventPrimitives TrkParameters TrkParticleBase TrkPrepRawData TrkRIO_OnTrack TrkTrack TrkTrackSummary TrkTruthData TrkV0Vertex VxVertex TrkToolInterfaces TrkVertexFitterValidationUtils )
+                     LINK_LIBRARIES ${Boost_LIBRARIES} ${HEPMC_LIBRARIES} ${HEPPDT_LIBRARIES}  GaudiKernel CommissionEvent AthContainers AthenaKernel StoreGateLib AtlasDetDescr GeoAdaptors Identifier EventPrimitives xAODEventInfo xAODTracking InDetBeamSpotService SCT_ConditionsToolsLib TRT_ConditionsServices InDetIdentifier InDetReadoutGeometry SCT_CablingLib InDetRawData InDetPrepRawData InDetRIO_OnTrack InDetSimEvent D3PDMakerUtils MCTruthClassifier ParticleTruth ITrackToVertex muonEvent Particle TrkCompetingRIOsOnTrack TrkEventPrimitives TrkParameters TrkParticleBase TrkPrepRawData TrkRIO_OnTrack TrkTrack TrkTrackSummary TrkTruthData TrkV0Vertex VxVertex TrkToolInterfaces TrkVertexFitterValidationUtils )
 
 # Install files from the package:
 atlas_install_headers( InDetD3PDMaker )
-- 
GitLab


From 1aea72a2b96a4175476ae77f0d729fda78f5d68c Mon Sep 17 00:00:00 2001
From: Frank Winklmeier <frank.winklmeier@cern.ch>
Date: Tue, 29 Jan 2019 11:59:29 +0100
Subject: [PATCH 188/192] Remove obsolete external python modules

Following ATLINFR-2325, these python modules are obsolete:
- Beaker
- affinity
- bunch
- configparser
- datadiff
- gcovr
- pyinotify
---
 External/AtlasPyFwdBwdPorts/CMakeLists.txt    |  46 +-----------------
 .../src/Beaker-1.5.4.tar.gz                   | Bin 46238 -> 0 bytes
 .../src/affinity-0.1.0.tar.gz                 | Bin 2567 -> 0 bytes
 .../AtlasPyFwdBwdPorts/src/bunch-1.0.0.tar.gz | Bin 5217 -> 0 bytes
 .../src/configparser-3.5.0.tar.gz             | Bin 39573 -> 0 bytes
 .../src/datadiff-1.1.1.tar.gz                 | Bin 5275 -> 0 bytes
 .../AtlasPyFwdBwdPorts/src/gcovr-3.4.tar.gz   | Bin 161942 -> 0 bytes
 .../src/pyinotify-0.9.1.tar.gz                | Bin 56066 -> 0 bytes
 8 files changed, 2 insertions(+), 44 deletions(-)
 delete mode 100644 External/AtlasPyFwdBwdPorts/src/Beaker-1.5.4.tar.gz
 delete mode 100644 External/AtlasPyFwdBwdPorts/src/affinity-0.1.0.tar.gz
 delete mode 100644 External/AtlasPyFwdBwdPorts/src/bunch-1.0.0.tar.gz
 delete mode 100644 External/AtlasPyFwdBwdPorts/src/configparser-3.5.0.tar.gz
 delete mode 100644 External/AtlasPyFwdBwdPorts/src/datadiff-1.1.1.tar.gz
 delete mode 100644 External/AtlasPyFwdBwdPorts/src/gcovr-3.4.tar.gz
 delete mode 100644 External/AtlasPyFwdBwdPorts/src/pyinotify-0.9.1.tar.gz

diff --git a/External/AtlasPyFwdBwdPorts/CMakeLists.txt b/External/AtlasPyFwdBwdPorts/CMakeLists.txt
index 6f7eea61f459..0419f2337f4b 100644
--- a/External/AtlasPyFwdBwdPorts/CMakeLists.txt
+++ b/External/AtlasPyFwdBwdPorts/CMakeLists.txt
@@ -79,30 +79,6 @@ function( _setup_python_package name file md5 )
 
 endfunction( _setup_python_package )
 
-# Install Beaker:
-_setup_python_package( Beaker
-   ${CMAKE_CURRENT_SOURCE_DIR}/src/Beaker-1.5.4.tar.gz
-   de84e7511119dc0b8eb4ac177d3e2512
-   )
-
-# Install affinity:
-_setup_python_package( affinity
-   ${CMAKE_CURRENT_SOURCE_DIR}/src/affinity-0.1.0.tar.gz
-   cc610cdb05ca675b4089ce2f05796f57
-   )
-
-# Install bunch:
-_setup_python_package( bunch
-   ${CMAKE_CURRENT_SOURCE_DIR}/src/bunch-1.0.0.tar.gz
-   944d2e8f222ed032961daa34c5b5151c
-   )
-
-# Install datadiff:
-_setup_python_package( datadiff
-   ${CMAKE_CURRENT_SOURCE_DIR}/src/datadiff-1.1.1.tar.gz
-   48a2e9b85332b8252c8401205ff02756
-   )
-
 # Install extensions:
 _setup_python_package( extensions
    ${CMAKE_CURRENT_SOURCE_DIR}/src/extensions-0.4.tar.gz
@@ -125,13 +101,7 @@ _setup_python_package( pyflakes
 _setup_python_package( flake8
    ${CMAKE_CURRENT_SOURCE_DIR}/src/flake8-3.6.0.tar.gz
    178485aed0799655d0cbf2e3bdcfaddc
-   DEPENDS pyflakes
-   SINGLE_VERSION )
-
-# Install configparser:
-_setup_python_package( configparser
-   ${CMAKE_CURRENT_SOURCE_DIR}/src/configparser-3.5.0.tar.gz
-   cfdd915a5b7a6c09917a64a573140538
+   DEPENDS pyflakes pycodestyle mccabe enum34
    SINGLE_VERSION )
 
 # Install enum34:
@@ -146,18 +116,12 @@ _setup_python_package( mccabe
    723df2f7b1737b8887475bac4c763e1e
    SINGLE_VERSION )
 
-# Install :
+# Install pycodestyle:
 _setup_python_package( pycodestyle 
    ${CMAKE_CURRENT_SOURCE_DIR}/src/pycodestyle-2.4.0.tar.gz
    85bbebd2c90d2f833c1db467d4d0e9a3
    SINGLE_VERSION )
 
-# Install pyinotify:
-_setup_python_package( pyinotify
-   ${CMAKE_CURRENT_SOURCE_DIR}/src/pyinotify-0.9.1.tar.gz
-   bd06a9feac312414e57d92c781bda539
-   SINGLE_VERSION )
-
 # Install pyyaml:
 _setup_python_package( pyyaml
    ${CMAKE_CURRENT_SOURCE_DIR}/src/pyyaml-3.10.tar.gz
@@ -165,12 +129,6 @@ _setup_python_package( pyyaml
    EXTRA_ARGS --without-libyaml
    SINGLE_VERSION )
 
-# Install gcovr:
-_setup_python_package( gcovr
-   ${CMAKE_CURRENT_SOURCE_DIR}/src/gcovr-3.4.tar.gz
-   0e8aece2bd438530853e7e10968efd56
-   SINGLE_VERSION )
-
 # Install scandir:
 _setup_python_package( scandir
    ${CMAKE_CURRENT_SOURCE_DIR}/src/scandir-1.6.tar.gz
diff --git a/External/AtlasPyFwdBwdPorts/src/Beaker-1.5.4.tar.gz b/External/AtlasPyFwdBwdPorts/src/Beaker-1.5.4.tar.gz
deleted file mode 100644
index 958406f2cbe5d01f75a345515bee0159b9a60060..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 46238
zcmV(rK<>XEiwFqKKp9K|143nCYh`jRF)lSOG%j>uascdG-E!MTmd-VwqDymOStXJ9
z|C#Jw*dE8@RFd_MlfCsc&<zqJ5a6Ie$;^Z83+#*ScTP7zkaBE!Yvb%znUxw#V59r|
ze&;)<HP5xY)%}gXjF-{so8RZ-d0v{vg8xnIzg`g8f89s;e&i)V<b{4LJU>YM^cxX>
z^94S8GsqsI6uSNBIxMTIk1I)fO#l8r`8=Qdf4N!L>$dCl|GNK^B>HXt2Z0a&2TAJt
zNgO8de-wrOH^Tes|KI(y_>*|HAG)m^>QXk%L9BJFdpT$&ii7w&0%E)C`oY|_e_xnG
zJIMEcUN>E_SmMdzYPma<_+PzV-_&i@EeejNmFh~fD)x1w7G;NbYHazgsvAA~RTbOC
zpv_=bSF7XGtHn28KYwKY4{~jO2mJq7{)dU@Pxv1sA>}^`#@GD+5}&B7q)u`f=_rW9
zJSj6NE2)xPCxNGuB(MBP=2;@{yk)#d^Dyu;<%MYyW`3&jtc;7K2(|XL@9PB5e3i+R
zR;O6+=PK~y%2!d8<;pLjyp&#CMSd0~I?S^$^iv&s8LiJ2p(l$_=4n>wGD*rX3ez&k
zt5Qo<7G;v@D%ZL43SPbR7b=uN7G`0fwamjp={QWi3Nk0!%ZnoQJ(&h^#M0!Sx!Q}9
zJdjbLRTV^W5G6@clyP1ad0Fa2`eBu$RLPQ8Ll&$Fs;KbNNGmo)Sb1rgdO-?Ij7#Vp
zRe4b=yFOTCUgeco>ZM++t0YVU$di{kDq?(*rD2q7t*gkc4;OJBgsD=#%99`oWELh_
z43bm?D)iz4MvSG-5*gU_(IPFRUwU~2cNK9^Vt18gCEiL)S;SsZ6gu<E%(v^~g;%C&
zP!`(Ds<28bFDR-!^op$Vs<<jW?H5512VpMm{H3>$VI{MG^@|c2r&XBcVHre-pEQKY
z@=z9OT4`Pl>y$y9#ePu6k*;K#B#<~w!#sp<HH=dzC{V?zwCjUKQ0b(I6rMwvQfC^c
zB&i4Y7k(+jP=&q<ROQ+A;UW)WFVVS#{6U%cQ7ZkokcmPN2SuO@m<^^5SbBdEs6duM
zQov$3Hc7Hb$vjS?0$Gq|6$}CGV&AUDdPGaEDj3ICDwk=IW-`lE>;)Af-z)u66@I7!
zZPy12glviMh>%m*H&1+=9A`SwQsz~X29XNm!UH1m`fyR;Tjj|Z+v_w&6sB=hh6PMj
zAkES|j-iAXWwbt6geAgJXGls292AKzs{()-$4HV&#t9P0%VY3uT20!f2)+vTiB%XT
z6kidAT?iKhS*fC+LZlbgvjO%`q6~JZg2c<yJon4U(?O17vJwdoohk%Q5CW#}NOli^
z0E>B99G6iUq=E9XLS-Hj3{gRhuE?Qw!K)!n7{!!1o{l30r%5l0lORr!384?UiUK*M
zWt!6ZXaPUTB*I>y?^UV@W29M_MparCD)+-OQ%Kw_XW1i)Gq^QG^Pn}fQxWi~(4kDd
z1lEkSpZFotGbs{bK4+=-$Pbn(3O}u4#8s4gsrITOid3AZNty!N{4$h?oj9=q2aD2=
zRgmFqU__+>wp0dn4*x12cCKO>DnHH&fdakI9-==6YF0A9P5~-ss>3R%D4j#tMafiE
zGNHv}Y9#{=&sH$BMC@jXk4OfbM|qfr8SETJ5Q`m2>px4DN899oAo%C({W)@zo{Kn!
z0g?)ti4p{C3xVeVv0VEy^`)PAi5KR8Rcn=C0aOGGBM-n?Dl(*3=Ao*90!bJGP(9Sk
zAeXUSA1-`?LKKPs=@SB3(kudOMg{V&Eb=VFk6E5psa+o}{x9)AN8kVW{vUAWeeM6h
zxc}`hQ#-f%!~7qkxPJBj7x({*zdrlv)yp6L?bVm;{~~@k^?w1+f4nI9+W&ot&);;T
zrO{kUBXOCm{A3k)zV~$TufO$KEUv_N^?P9_Lqhj`*Ngjl*ofEdoos6LqCf10?zt>)
zb*o;|*Gu<Gg_Ww?%DNT*-0S{Ow`<Y0V%K*&-46#^_OmvFC?Qn4-x>E>v0vK*?q%QN
z9fLRYoo)wu-@YvReM?`7eXH=>_lIHAwadj~u3soF!&UGJ^+xU9@D3t?RqD3vwmUi0
zMcvfH!HTl(x^<(S5zY<@=pg?Q2kmax?|N;zeP3!LOew7nWG1OpJ=9$*8)0))6fo!w
zENaBM2YIXZG_KpoRyEozgfR86m-L1a_Z!_qw84nB8^~4$wi1`Gp1pj!B;|0{pTdN!
z{p_x*l^E(R9V>?cM;P+RMw*Rat^3-LA+N-nzPqcH7P2q{&L1ET)Fn}W)Z4B<{3N&9
z>>${WvXyJdJ8a}2l$MQQi$TN-RhO(&Uu$#0=cDDp`7{UQt!f)Vl093>a-**WG!zwt
zR>wG~_APH@myo_Kwr@KjdjyAs@=j@vD6Dw<?>{_iuylK1GqM$X{m*^fpM2-R+mK@2
zYdJuJOK+KA8SJpd8(KZ3?f$k`HGUo77#Aa<F#8?nLQNLG7xGTljVv0y6hgd3h`>>M
z7;9SZ?D3ZxrmTzopjpX_o&DbEVZU4M4zLDLr)e(4&{2GgVCX_2=i}OI>;i$e$QGX7
zPOGrZg{5;Bc5k*Z?^Jf}9kPvnlmhQhQsJqot+TCPMzzQ@Zw@xC#kNy>1U`P!ZAp)4
zp*Hm9wa`PkgxFK`VtXtc-~s&}%5uIQ_^ocY8}~oU9$#Gg!OBmOKVJS39GX(q20`oM
z4`-Zii0zPz;U~7E&3@S-^0e6MEpMqvc7-;4->|jz#>(H+#kS<2n|XQ;RrHM&3emjR
zfIMy5Cxf*CzOfr2$KKuQgEdg!-NRP0#hOy@IJSEUyKx%fXM{xGitmt2dP?CSIy)7?
zyw<}G8EsJz2~Q!3&{G6d43rHYD2>@~2_gtMHr>8Kav=y2z3mOfBy2dH61ae{Dgm$7
zB%MN9K*G-D`F+;|Ij#zgSkYG$V^zK0_Y6p)t0)d&4r>&<gMk6=G>#=>0cjddkwl?J
zse%}?fp*gX=^MQ74x~39s!g`Ewl*3<50mMwK#YYwVCqgQdigaO13wE{mJqT$Kt!NZ
zx8Bu_z7P<yWW+t#m&jX6?+63h@<1tv>@vEkE(kMi2AgY$QkNSNU`r;3Jxx=uHv=Vq
z+v}#LIKj(MZG-1{3@hRIp1|3ZnqaXrC$Sq*Dalts{Ha`6Jg~?yh_~_}4zj(4d#z1m
zHE>+b%?1^mt(>duV^kzkq(WYAtm)_!SFZu$>@VOIXEwctGP#*T$B)N1=&L6`A9kAQ
zz@G`H_XMJ13;xBS*TOEtHGvt2g%osO)OMFoA<tF=q0|#ljjqRWzznI}b(P-MgS)Ky
z4lletv?X$>t$&4vHVF_$e4&MXnog=S`}$;G-+Qcm0g-iuqg_~wZf7g*n8TdGOo-|V
zI#>jTQF^(hOq2wOdb<OOa9QS3>jk;W70%^U1og4d5!^~sHwQ8MmK{tPOl8-IlFJs`
zg6vIc1QCyUH>K<cPqkV3?sq!;0c^}8<2QNZ3=LtfHN<3|BBn@MiZ>FW2{Ed^+Y0sT
zHB$wOz3|l2;t~ZV`naDL=X`Usl_e$nkqo*6?QuhAHg$Imy4o2+of?u4KukXjM~O(i
zpZ9&yz0$Hbf%q9{vphehD@$oC*ZU7jJF7dtPeFaotd^>KhXh2S7E`8qZqqqSa#fi#
z$siWVc19BHDePAd+C6LaJ#z$*Me?V-n=*aAn+=v)fo|Rt!vcQx_kC@d+6mnAa#uI0
zsJUD>)3G}M-2@vSIO;85G+QeWgSBF!ZURlkRK|d#*tI{1T?go(3Q?Pqq~bo}1<K~y
zmT+5cpEq6c#x)uYTdypG|BD=?K|tyw@3Ae)im+^sb&kn6vo1j_DW#jHyC=>}l!$~l
zfQUG7f`&E&y6(2tPt4f+z}Ty<XRM^?q9ql$oGl>O<GyYhddk>Ko47@G9~OQt$OrkF
zU3)_$ed1?^Y-U>{aaT*;<og#d#pU<lF*w&IAi9g)<{)0aA9TxaJv|BfXN`U@UiJU=
zpY5h=w#y@Ja%~EJmfRZXX#=tx5d`PmIp0o*fOcj8<;HVM_CL_Pg#^^`Dt-isv!;+R
zX4g<%LqQ-Udb``y?R$8j<Y2UsI$Cni8Yt?aW?=xNLKm^?T1D|==>wP(VLaeUP65FH
zH}VTxPme+Ed^YAHg)<5q!&oam0Jaan;XLnX2ggKh=R1dKs&KIA8U3<F>RN1TW5z;#
zLd8yPEiR)~@=;44?c5-D-ho9yJ+k`9hDerCW&BvTRIlmrhFi0{y4w?8Zutp;j$3;V
ztJ0QY+;SG&)D;a~hjwz7_Uwdt&W#{2Z=lE4fKD3QzYoC9%o`MjO^0T9swZ(C%_4)0
zw>+z=wr%f=8tpN}qi>HDetPL4eYQa~uf?J({-Mj^?A6IxSj)(;vmLqOhU?7duYY<i
z22@F6RHXHR?E&B0wX>2;{qp)lQap%6@>d6*c!XqIO-4k1@Pfmju4OEA5QMf|*_uIL
zS_VlKXj(v%9iqw19uDFjY?hiQ1~+37onUcRrual|L#Vgn?59SCI^`*l=HW;RP+Q+C
zR+{6GTOkU+F+3sj^e$ikwal4s+Q^#2jBIM2hhTh0pSgsFABOQ`M;7aAPJ7qySOaq|
zocn<07Z>{du0|7xBQNZf0pZ!MnOhoX6jJ5L`dyrh8-QBNkq?8;n}S={C)u45L<9Pk
zeLHouNM>7Q<W|p9b^2p1_a=%8cso}sBp_^tpf--zQwm|vq2_YNZf1BSY0R;C7MJxB
zZEXPxd25A|c<09TW6*S6mrsFFGmr|7)4Wd=1PYMJlduJFnmP}%7>pox4S+#haZ_|<
z4<8rXz%Z^KRCbtw{*Fvp6ONnFdQ;02XUxQ?2)<Kwzak6J54HzDi`(1zl*MFV6Hipg
zRt}fGrOho9b2BX9HW2l_E9JBy1tN2VLfht^3qBEWE^00g4aem_;0VjUaMFv(cbr56
z^?}f~gNt~NX*M=85!F%ZIiNurNVOu)r$=x!dsJ7LVG69J5YM2Y%b07|Ov1)UoQo|F
z3NOZi%@o6K5@+TIu+DatbK-V1#KFps9^0@fO>+eXh+Y#pvMmbmoz6R<$wyeTFRAmR
zeLC99AA9sH7d4f9stz+txtWd;KM{B2^IIMeQE=XB8Z&U)?Zyg4-`(o5L`^btWInW#
zxb#;+@abmfmy!1zvC)DxwcsP&MLq+H#8n3vxgxLGzFM}26%yVef-SY?WM-v_irXBb
z{Vtz!D&dvWs%|+f&GY*KYmO*Ncy1q?Io&<V#f5rsAy%N6+3C4!J1MBN8I~VblNmn|
z37P<p&natdfh3yL9A}D}9AbkRIv_aaeq?4l)<DZ(ExJ-hZTXn0s>_=EdTfh{^f=3!
zgCXp-qZC^NPyNZ9%!fZY_Oi#!M9BjD*GQsk9Di7iYVLQS_{xHSy+4?SL2exNZbWH2
zc_ADANLV>G>a^WSpAL7w=9>_A-E%5^U`Mdgqon`EN;kF>0KpsVai#*xHxY2EE3n>{
z0_GTi?5@7McU*fKC7es=e~xrV%7{2|9pu#LxKwo|`PlcOR=6SSgn0z-SVkH=Xz$OC
zx$7G47YK4~E8pk}J>d=&SMB@hrbJx0nVl;H7aU@Gccw3E%eQ<V)0T9l!(7#I_bgO%
zxPzgfLM`cp%K>{bAp~Q%?G)+#Z^w4l&WDZ^!0|g?M8M!Mmmsn`5<NJddmY+^$IN4Y
zK&PPA%v*4BLr*1@8!`NgM6>qdVuvj(H#8#wzB%4D!FO9-B4}#EE$vM8lY-05SKHL>
z?a>|IT2v_Q2vhf!<{|3H=+N3@C6H}8fI^3v*B$c^(o4=~!N3wCAdVz485z4aJ`j3C
z#J7$|Ul7f=mpmQE{t>h+|C|Nl=&<El18Y}=-TdorPrr^0%CU{Ln5{IDklHu0IMdO2
zLv>1W-3=ICfEjvj36G71;935)V7AA%B!_NK8<?Trmpm(S3yIGVo3xF})+Gj{e#cKP
zpN_t_(mK+(Eg(oe@PxjyJJHZ(ymUM`|Bz|OT<!vfT|+Q8jqqs#?d}t)<!<2si`odw
zqctf`h6midwbvKMRv0z<+9psv(5(SzQ)k^?^OYg#-Q3H=oDsV_q^6nO6hY9Vmz~J4
z!*e~{Yu%33spP>IuN=5Nwa#+`>n9W~Pp)S^Inpp3!*@^zWT{O*TP3aRXMU!HAvPyy
z1YuWDjdT{|B6>OvyE*<pOX${XyzsDR*rAH+ooUeAz|4?szb&x6_2-EI28|7obQExI
z`{gJOaPF2oGuG#^4`;T{mrZxT4;ml3JD}^C1x8s!Ll<>?ZADQCd8gQrv~<=OZO~1O
ze~tjv=B1u$du59wk3oM!JE%qnENyDhk5fdB>9lX@5}ErJ5}3Vo94Jr*;1&9#iQe^e
zme-uvfcl!gGYpr<1ZFUCxl|hqvhzk#JbUwc<o|}^wjQ1sN4Q|3dwWHsx~2G#&AAd9
zXS0($dC;$3@N+JUu2DLs$$0|tnMkgEX>ayS{j0UKwl+HUFVt#{4esS69$nEf7+PRC
z?!mKJ8r>LuZL<mgQ3oYxJPMV#ZFG^tuMz9xfaJdoK#M`$B%r0+>NU7W3(Hce`k_M(
zh{=hwIr+ff6NPVR&9$iDAL9m9_Ku!<UHca(JZ2_E?OzJ~OR$Viio3@|(R2OLBgsr>
zmhRTLHioM>T^#caokuip$JrbeK&g~?^3HYsPh2Ud5gbuxdnMjFi%;#d(Zdw8d&2{R
zGpX$@XYeVZPYIZt_1Htv%5Hb|7P31T<Q+*rMbbtpG_<z29;ZC^2HIX<Ezbl4Tgp~`
z{usfYL!`?6jnnDS*H|V)owumfcqPs0N&;Ihdv-FP8-D!U#cWc|=ecH==uS6{-^A(o
z&0h3?D>u`#YkPCC(ap}rB*OcBt?gRw@Y!~BkE|#$w{^<}>c82$w(hi%W&N&Sp*8b>
z6JxH%*z7~jmO(a(xdnl3oRj4U5Lh-KECCMQYybCCReezlUy{uDWIvpE&6<GJYW1bM
zy6UU18rp{(oYDZNdFoFlwBbQr7+r9915)}9Z^@d7Ka3>;JGi}q2SO3Ob*C_R_V5OF
z+(#5XX{bn3gfwBuH~WbP8drb+{_cS|KORG$aOH+#&qW1|K8!O*#KQ@Bm0?t+up%BX
zM2@D2Gbel!0YorVnNXld%AlX8O>&(f!$oPVU^`b~8JJQ~u3}Ot&xROwM?WX$Y^#kJ
zDFdA0DX5+KQtTawdOM2+7bsd0@)3+UbD$14tH`^Ew5ssA9iq1pXu4#4BJ^#O>SB?D
zho(4MsFW`};?{gXmtiJQr)?zR03K4sn=+Iz$nZS@mm-e6N-)M<LL!?Z5x7e#b`wZa
zxNwKwcoTcZ2?cr?b0g6hO6g6XA``UHfG{k{d3WXtMu$~j<DSV}2!xQCY|$R(!@7gz
zjPBfuhb(Nf((72=zJA<0E%EUVT`=%*fSH=5mByW1M$_YQO+h)Kh$h%>OEhcTaOf<^
z)w^+!eTO)r3^0rCSXDOntNC6C6QczF_*O{G(>nqPV~d?ad(W-Ft?-E2)~Q3|`{07K
z)6I@MK{DHhH2`-;z7skFpNwfVb>{-O8Qx*^)S2If`UPy%$VM~npmJEM+k%ou&@FfP
zGlJrc5{&2eTm+P0PKJEOSe;Ra6+&x7KM0q&umi^vaBIYeV?i~1{=(=qttL#k*fM8o
z*iIOkLmY6Bur^4qtJk{Swr+~|fO3R&ET#(;9;{su0VZ@H0?Sn(oEHLao~?uyIv7f8
zR|#_|gw{BnmFpPfIz*+>M4!R{t`>A(QY~3zN&<!G>o5tVSbiuYstmwnHKg<te>Ep9
zZy@gapxa9j-MPQso@@s0{-{<!+hrjlE(o~^5ye(HY`uw~IWadG0ZgxSI~8wn!}bJ)
zjwon)<o$R{l|^8fHe(XFdaiJw57=G4u3@RMfY!(rg@`!9(B&IPl{ryZD1)e)NXM%c
zu`T_2hT$ig1z|PtL1rT^ybdC#k(tF2Pn<@uJYd^hvsi=FGR(EZvi!cwfM{Wj@ZpLg
zbx24hgMeukzNJSJp5#gvoR75^_;cbmviU(MI|4V=RUthKhmmODVShEbQMn=86OE%n
zCi(O08wVYOlq{ye)F>ya^60t^MQEI(%OV0nfgw_>a(UyJMIyp{Kr%wezvUr#6c1QJ
z6%3@n*9J`BwrErEVE+eDxA?{%4Hb*|3-&Ds!%$oq1wC%N!W#vPHdA~pivNO{!5x{H
zEg-IO!q-;R7bSR9kd`k9i9@=I&zM~^_Oj1#W(73=++<3CJX(2su<~%U_h1dv#>*BN
zdS~nnwT4lN-i~|wLlj<8Cw0Zi>o|2GvQgZa25*q25Dk&uwmKoC`(x6-;IvAAIwHbq
zguKYa1#m#XE(I?D?WBp%9hMt3-WVMPQ`@)f`d9#64hq|LE1=Cum&N2c8TC0Lcq4m_
zhpGuJ<LVz_9%eB;%T;<QDnTju3`;J&B4f`;nIH(ELWvnZw55@dbDm0gKXo`$XzC4+
zRk76q=Is8Ij5F@pXuwsZWMiu#FiFRoZg^Bs$DrhrKsMo*6Sy{bPJg4~Q;Z1G(mZNT
zZ{oNMH-J8RGra+An8xMLxkW#cVR^{E{I)DfW)&A-8Ky$w=|V+*kr`-6{tHH>$T&|h
zm`$>EP^vj?bLdZ3v$@O_L80JeGSr_i9LVg#y+{yWpG1|gbt%0MUetSZg5FCIaRl>=
zunIXMJPCj-YQae)o0{`RWBufoJ}K=bG;}sa&-1w=q^KyDWd+V2_7CA+Sqf|+cgRvq
zpcSCVTue>D2Fs<kl?5VtzdiJ_Nva$c(Xq>b!+!XKD?!i$h$kX4exe1=VmiJX44Fx&
zusu9X&;g?i_iEhhaUT-3DJBVzs-mkp*j#%f#tkEL4s;UCFc0!78>bS%oQ8-8umuuE
z+$^H>@ZeIKNfGmXR|{-5R44SyY7S~T%Ib-lAz5xx@yD9Th&jj{U@(Hh;fj%2pT>`$
zzJh};%(RJMARZlN@PYSaBEc`s6fwyEV-xuuS59iQC<No+HZ;WnM?3`qQszctR4AH2
zIe^UUC-Nl*%0y^O31*5%oH+{&a6K1FCcMLT1oCas!iyq`fs0H!hsd)^5TB)3;p?_4
z!OV#<r{=Tx;~2Jb*eVzXh{8#|CFKWlOC%9ytYK-wB5>yn*nnd<<!ez*ZOsL^ewl-G
z=KG6^4?S+FvEdi1%bPD&OO>nt)Djiym;pU~OvD2<e+o|r4g<ov-V6qKquXq;F8nCz
zfuuln7oPAbTpo?#=FyEy@pqyTg&b^BYz@xB-g!q|;*<&9fMv<5V@f;Dil8}R%nY~;
zBN&_0Z7~N&D^oxu>U%@W3DHkY8OCmitRZx*(Ck1I8`pK*P!h=k<UokQCsQ_*#3Lv>
z3b&o|c(b!Qw)$0pz(za7dct{#%P(V+F{3sjJvE#=KaDd`Q9RrPSx)43F@zqal_EMA
zSrjy?t@g1&J^YS2BKP<TX1QX$i`c7mW&}fXv1Kv8JE?~FLYY)Gohp${nRFD9!YF4V
z_6i0pf$@$pC+ui6TQNT$v&ZJnc+4OO@{ADQpO5wk^<8`J1LwiBHc`MV<a;qHhQ*W-
zf5pBL%E&B#h0x{1yV~B>$(5CRNu>1^JQQvud3tDcH41?vw-uFaEYaYpSx@yRIm&}d
zjSMxA9t<AS-IUA?7*b*G)3UB$MNcsw(g-Y*na3}g)UZIia_Svc2xTP^Bz($^V+?^M
z*dj@h$QG5ausi<^b=3XIg!5Eo{b*>D%R1#Z*~*KzPG)5B(MpnuNtmYsvcswZ2L_72
ze@}5bwt8VKD7Xu2i<P9<k)Rq9GU`eb824fffDO4CyOxtB!=6bcK1mw}ij}ZhCF&{P
zAi7Uc2W~x4!*><3D#K?n66vx8KoL&WcLto(ym8r7yCWV<jpDE{uN9V!%=8<JqC&Hj
zIb+c9%?ifE37BlLh%5yOaOaf^8?`<U^n&4ywkg|PnRr$hyFA_k)f1;%Y6w5F`y-F~
zDHWJJy(yBB+yHZZu_cLrB$y^gO$TEViyNq1`Gy;i>@+r@T{gWX?)wB(c}N4|Cx^t;
z;Q?*nc~pqG%xn8hEN^4saYGX{xIgnA-DqX8gmMnjMeBmKNbvoLEWni|i`)_cB=sB#
zP@tDYN{W)7CGZ8Rhq_1}oP*)-8Tx#)h$lOAuq_;mRf{WHZHPb{Cn8}F7!@oba$nIg
zqXEWZOnPw{3T7w6_ZTm9NV|^{OZ*|H2b8%`^r}t3l{kmwVN0Xb!<6>Y`5$$wVm58_
z7oY!_D;A1d=fCFR-{0qd{EEMdzt{w5Fz7qOcRH-ogCzdH2rGK7ALEuDz(Q(x2(CLD
zBxSU3V0T>TAKm$yF#Z?*NdJNMrF<ap22z@V0Tg@{vbIPCv1HtlI0Zp$$vpp?9g9I%
z1|HG3kmHF&9Lkvt1k|g+b|#Z@lkD^d3{q2Gu*{K>M3S+ObU~iA$jxJoELeA0(y|yH
zQ(Hs^3vUXoZpv)n(R_xZAs1vQ#t}yZHWP0s7$lrZq&irFn-w($vzDd~_|l+5b5EN9
zuTq9UGy(cX6qx^mR`6IIRuj*d<Ee|BgNCPMczD2v9A?RSR6CH;@+rw16dt&<g4qj*
z>8FSZdBq%a6R}p%v_7WO5O{;Hn)#GOioK_-(!g6sh5-^z{PB`(SrH6i04JCng#KYI
z9M5Bt!nLW^ty#8iw@$iXqMJH=Zg*PeR@JQP$9=t9Gj*fat+hJ3(X8r~R<ql&j(go!
z$JW1oHEbxKNZ>8aX!dpUvfVLlTZhtCqg}V44yd$aG`p5*Cv~e?srRbj1tfK-LT|RZ
zdfjSRT`1OVCGlO_)5rAIiQX_fcuG^(IJW8-U&f}KSluSR>jayow~bEMs`TncM{oB!
z?Urq7*qf?lSL%k<FsmsYUJtL-&2zKaMclkzS9=Hl#X5IvLfeevx~b6%pmSBLV^+G@
zi|A7Y#tE8LPwIBttXTNLyfmQ?MyH?Tb=u~q9u$I`TGeP6r_iOH?~DY@K&96)8`x6l
zzTG>vyH>Z?HTBb0t7>adv2AwFVdJv@q1RhB4N}iGlX}(Y8uVhQ0!9dK!{_6kZP8d+
z&92$$^x9pk)qJPbS{E=F&_)9ut<s>jn$%SomsY2bmEsuCm?!m%nhDoCIE*w>1`dG@
zBUb5ZN-=mJ3}9F3quw-6>(;5+teAMWg|%E*w)svsI+l$EEcV(9qp!7k)McC*XchaY
z$Y+w~Pq$8Vqk3*(vw2~da@*qK(K^xWUZtk9;ZA9<pa0c9JKeLIC#_$*{}*!E;@0_Z
z`C{((`R~8vuK^nwy4`!{%>FGQ`AkEvro@eUO}T>yR@$rC40fUts2W@Gqbr>9$pbZP
zBe<|nEj`Lz)@oot?=74ORDQEuE=p;B<Ya0R_^^SvDL<HK25k(bAGJVO@jZ72UV90)
zjrl*7%98rxmWrttwL0vJ^ALMzSGB4e4g-&{!O}DCe4X`28alf#{mByYgE2tsM0{h8
z&XYnMyF{kH{@@N`*aTxtPbHmJj4k7i&xg|$hR$h_Wqk^gqnxFKH9HFi#xOkaX=||s
zFT61+nu!EC?(JY4QurrG>=PN?p%$5d8xeaHv=Nr0%d(ddEfyAoq*_IXocWwW&i=;W
z#P3Z4^ySf^4ZY{Opy0sx>jO*1vj&G*o}U2r8<`1;7t3>319wcRt1K=itEAi>Y1l*o
zC2?}qi}NXF=cz=|e8u5W@|Y3An<z(U$SUc9p|c=@+Zfr=blMV2HABIP{eXjrrhVmM
z23gI2@g=vQ>o@nQp+8H1_<H?JC*+3{m*VJQT#BC+<oEiCgIHYP570aX!-`U}SnjbX
z(hx8ML8?KT2QVq+GoW~Z$cB>vy$C}LJwz#-xr?HvcpjW{&JjlCZEWl#k>ZnrE_{+a
z@+8k1NJg*+8&x^cJ3XF$B>t2*p^BUAjRyLf3{@c;@05nvDrY7UG9nI3{}Jo`#=CXM
z;ZKJP-yf?l6-4Z<M0$#E(U}ws!{Ed;2ZP&q8UY3b1oX4x;X!=rpb<JeMVLGwpd1H1
zRNKtY|3I0Gu)K)=B?6>~oyZa19{WTnR{O{kM-_1LBnQoQs24Kq?9LWbhYr)?=x|bP
zGx3Jma=mjmyuaZ4Va63gCjP>6V{KqLXEGt0jgMF@1f1^;=*UA1QA7!9BH?90Bxp<w
zR~vz3+HFZYQPtDZpG>Aa6IBjPl4p^ibVXHA*j|OhUs;P))e(ELAYWLOv4`YwUPQ;^
zO7Uxp$YaqtlkiALC!svi98Wjv@97Vl9OtdZJ}rj6A<a7;7`b+*M5^M5T>PW}!jHc;
z+yLowl<T+fp{>5ML(A5B%fSjyWTJ)+2F#QYhg?tGWg1p)YV!D}JDHTZ9Sm=e_vp;s
zfU+HhCH*0sc>0WCjWQ$-+v+wiNNYn+Q1zAcUh}Nkx@c+@#Gb+bbit~rvi=d&Zo{;I
zDl3)rg1(0bY@$Pp!F8MX5wYh?#;T*|;DHNxvvMg`)SB}>%UF#(LJdpuy)dS+vfLEH
z5-r=(jRij#uSCX?xE*^0+6j_Aqa#D>FsLhxia~j{)yIl<VF?ZK9yTeMyR7LK7il7_
zVyjqw7-<;n#_u2G`A?qz%nlwMjwiqN_rLPF{Py|p`}yDJKmU@y&!GIS@v!$V+R~X^
z(~oxPWu3kdKd!82=u5bsUt<~w={>xteV+RuFc=H{qS28{;MooDP#Ki@!G{`L93ZQ=
ztapQztD#l9M@3mFx;R286&!&*#u|y0<-t~YjWSHiELzLoNj6>Rtz~_`b;#db|BKD9
z#ea&KJg)zI@gQ5s7m8V2|M|ji{O6ba@k89f{?|0}jFn^7#67%%{?dGO%~v=S7S>r=
zPmu5=G!1;^z<~?@`nTqdvC0%LL<&a#P}X<yNj>wfq;bzWa8it9xFZcN@LsR+0P8ZY
z<s@Bxr)dfUAKn*z`%uo{fzi1H`zgU|5fm=#pA)E^5=lJ)HX7bce9_p!O4P6gx6x8K
z`^ylO%}(ML%*@0)aTI2(99XV;VmS2@tnIP4r5HxA^Eql4ycYe$I{Ar-FU+l42Ah)X
zrx@G&DHz&$J|M{HQ_oR}ipO6_Z1K?!3<P^V0YgNyw1b{iIl&fnBFP`;vry*$ip!%2
z_$vSL^I+Z|q8=owT*oT=<B$K*UPjVhM$j~dm~l$LTOngViil}%hk(5W^7S0zrM)4-
z^*v-udqX7aZz5PPBUhRx5vmwD_a!9ijS;9V<mqh@r=LKY{wl)srpVF@h|*s~lHL|U
z`Z46_jS(XSDSAtUNYmm-&=!;GZy`S4LwYogBRb-3Z-U&s1!4o6j@Xcf5`hTIpZT@K
zPv9<c<4n8`x<uu^gSbQme++Jk%D;}aMCE=KXpv8T5g+b2&{a<SD9|PAU`!4)JANc!
zxAoXH1@6j;9|_#aM^^zn@uH~8VpBGp&@#I!FA5X395ZNl!1_W>UH+VKAFs)nLgUf>
z<{(ov#Lr}dfiWj4dh{08p)+>N^s5}=D*w$EVXJ`z${{9;S6Xr9e<`4Hf?1A<l43-D
z;rIV7p2r4Uhbvg8WwLHloIC1Are4fWEXTgdR^Z{u*X;0QG}V+=d|qHSc?$IV5`VCp
ztcA@Nr2rf2YatcF&rd}{QR4Tm<CQ3Ny!bw_#@^<gN<}ZcmscTZoa*c3J}h4Z)0Prf
zOI7}1`_Mk6hKP6@t3qBbHN>Y^D&apb6{~?=E3s1tUwIbOCgV@ym68qrd*LZXdA@&7
zVyeCSjida(!+%I$y!p?6{)OLvL@em{??3*B=AX71elFzZjpqLq{4bZy6>$FZ``K(J
zpDPw&{tx!|Gr#e_U-9=RLIz-6mh{zfymzQ^T*?o{CxL*8@8QjA=}pBq7(4U^<yY{&
zV&A=)%V5PPo3=o}wtn6sR+^vrrxawjIix4<;7>+^C9P?H>Rl%o;Q4uiWbCh&l=?X?
z!OagJKIq@6o)sFx?n&Qw$mj#(Po!9v6Qcp1p1E1L_;HqaCm#8n82f(W3*wUlCrH3$
z&JV{-d3HFl#E|}}i%3dI&+U&3#cU>rKXI->jcnyz!@xpSgrvD2AD4M^*?PD$j7iHp
zzU|h`<LY>obMMZs4hG%sJUp)N8pn_A&hfq<+MVOZWi4z5tIO&%KX3HwjyYKLJBDM;
z547>&-NVhvaGo~Wb=z%rd)?7hSl>_2_S=(O_QAgQD$Ap4wp}@x^{$GS{_fyn9n_A~
z&3x_l@@}^g1ofLwX=neic3Icv>)mN)J;`kP!|v#D-uQMiT8vNDwZY;xJKd}^%|riw
z_jYs>1nEKADD?f}QRnFN$n0DmUJfoN^`KcBJL_WlG+P^K`OM|%O~2jf7C!bn1G9d9
zYT2jf{`$y1JMTEB%}=*EYyYSloa`R@-xeQ(uF<G{^B(=d?x5&wcKhjdVQOZfU%Q8E
z?Z__-hokVKzaE`?jrPKN7*&>yPUyAsn{Kcgjt+yu;^Vi$<6&!lls@a`R_A`cRtQeB
z!xIDlTGhN`t=h%uI<GA{x6s-<x^A4@o^OU(YcxFQWvBhq$-th~GmYDYo7+F!ZTD~c
zhehis`z_r&bqD#?h&@!9jBj?w_(?O2>Lf@n3+b?Z(!DAS2kHD_HG5QloF6SZwafHl
zXTP#EuhRbReC(N*N6q}5l{pQL))&+CMdmSc{9wpGO?<d-8z-CAdU$4lPYyzp!k-rz
zf%u}Sda$2(Coeosy#d0-f9j*vY=F5;Og1(C^?C8j9%b(*k4FD^R%x&M_rqN8^xN*$
zS^vPuhr^0noP0d<Z=8dHH-~W>=Qi^~Yc<YyyVGVZZ+x1XABSdszBxVDE;60&exdj=
zyg#})ILPNNGPaxf2=kiGnwfRQy1Ht&A8X4(ZT8r{Xns1%HnKtba`3P^Z|Bno^RxQ!
zK6mPF4(`XxsaCi;m|Yn8dEp>!owYuVAMT2~qxHl2p|w6dv1@6oJ-8d}uR7Di<E!2A
zdXm2AnTL}jZ=62J^{Q9n?D_Pn<=qdn=k~pJw;G+E2WOL2c+<S=ug-^s^G3S!zwN#4
zVj4%bD0+YM6g_x+02?ELz8vk*>@7=jti-mwEqOAt9Ut64BXtZkp+ORvJNFgNQ=Rv^
z>#M4(x~rj)WF?u%GqHiLURAYf)v8tNb2g5*E`R#R#?{f}yARu=!>9kV)1SY5`*M8r
z({X=u|78&LcfR|%)jB)*pV2QT<JaMLuYXzZl@7k0A3gnfE$+UWzxlHE!{yVXoo~Kf
zfBntHF9$o{oxXfCzFdFzcKzvho0H3(>$hK?hG(<yFV=UCw*9}4UVQV$kJfhnzScjw
z{$;whR(ct9PrrHp{NS6*waGV=cTWeK-%Mwn(U+&e+AnM0J^${f%QyXmCJy&UJL`up
zzuVux`tPE|&<pyg+JuWP-kqwFzzM@){mHb=HIU*!>^2;HxW~09>6fstaz0UB>55{n
z*sxMdj2P-oGSeoGdwc5bj}?<KS3Vi}o{10h&o$L2fis|+QIlDN3uhwS%j9sZ&_4o|
zO)%M))|25H=_BRUIyZaTWEeKms+AT<11H}@tB=)+XkVU566Okqt*%jVj7m+cL{jPV
zV+A#9DkHdLOpkZH$8p7boI8n6yp~qh>>^7#%wGg)kY0;Q?IZn*S-$wxqZ66OQMwC6
z%)?+Hb!#b=7|;I4Q5omIWIVZp*7T7j5PDlvNs$i3VE276Pg(2IL#IxI9;;dc*f#l1
zC8w9XQMYFOqZMtpbcjR>^j+r<-?g?~o`}=n0QHodgKtLg7Hgqpi>0>&O{84+B7Tg4
z-;=4dQlsEDRs;Ttg4QKbgnopU*wp(VXr*4qU#O)8!I972(YK=mX_O$46R5T&@4^B+
zwo&#ghRX~$k#)eD;kmezb<Q;4g~yG!2LMW1-}MN#bxdj4C}A9D>sA@!y%APdc}A1d
ziHH}Dt+ihFk}TeP&0CJN#Un*njd&0Q<7#us(wI<Xf}ABMJH2pf7XOtb;0tHBVb5;s
zwhOUgEJR+Pn|7ZYx9oB=gVBwG7)^-14=nqlo#Z}VMDBR!DMs$suCrH=ko2`T@Iegq
zcY%m4ytJ%YTpMJ*D%{prg1cD|uCX+&n_*^qX;0fXg8RH6+&tdupwGn{c*Oy>mXbuv
z*l_$;`UvDis!~Jb_jDTGe3T1&O%No>E83ivWY=EkuY;ah<s$sQ|EH41kNoVE2H@HM
z{Xc%C&{;2VoUpC;6C@CIC=|G+KMJnc47kb}Z{A5bnHM|Bu@hEb<-sv|ZPN5(g)%pO
zGVe{sJ)v?DUG?Ubgyb!mHnY26YEA2|<B(n@CtX@nrQFv^lId#sCAsaQBLuosP`=A-
z6}z&C+Jb)>E^b!W*jo0^HxQGeWg9aFYA6-E^|(|FEgScZmfz-LX*&7}3x+^|?33-L
zi*YKl_sPLi^tsiPYPg!HC~E4ijPBy_o%IfDl{(wl+j5uP`=`3h(mivR3*y@PiCrX}
ze_5lgWUt*#Vn-?vGSly}*IT!HeM7&V;Lf_^7sFphEs%#sdpy<++_>eNQ_8fJ3#`>B
z8T=qP_q+4<qH}mfPU{x3uTi(qbRC4}W}_Op_cklbAhmSIXykB?Y^AR9n=S8$;It}>
zC9-Sl97;bcIGLqGHE)DY$*r;_<K3#<0kG|&*x9~|-gfSC=+9RidhX5mhW&pd;J>+x
z$u!rC&IVfEMSsmZ9er!n(VN0D*C<u2>k+2Ky$UK5DxP(6`u955h@H$vl8^{XaFZSa
z9-`%C%n9M@oJi>^6ixag)L~pm@!j}KIOekCr0z~a7Ra-<TJ!z{gFE!$?NMbnB^Q=d
zh&S6wM_$_;x4I40Q$L5J^e?~xu`YN5o@?6n>S*~zxYa5#;kswpj<k=Q;}5*RrY3wT
zZFH&`@^3~!Qh(ZQw%NAZRTxUmdcG)#LJL~aXc~?TS(*gLa6*w~Y`|^|zx42P)rQ`e
z)RcD1m|7y`z<;S1@H~#<M!$y%kgNE9<*Jfy(;)BjD$YOsgsNhsM#088F}*hkFb*p9
zE-q9+1qRU&?Njwk{voc`vPi)eBs{@&jhofI%yh7kb40FXLPDy-+{ga(qVZD{ju1sK
z|6Zq3ON}+8^v_uk>}=4O45yPIsM2s~6FRAxo)@~)(>My<lgX&R{JCRLJl)%mhk9_{
zg;P%)W02i@hltT$4$948X#>SI{Yfvn8Y#-Nok_AwZAf}3pFcPw-n;*okv#b8`hPWB
zTRU6q|Fyogxw(!0UppH+I}iR}_Za_~_<K$KQ7;<iI&dWkm8HcK>v1~ax-@DhzheT5
zTqmsVARhYTl4Np}!l>HKi+(7TIFmDRu-*@05AUq3W)$8sji&xUrN~#d`(7~c=lYvg
zy@4n(3Q>^2va-ghXhLsT0H5x8&BSJ$$miA@)LU}KA@BxO%Gl#q@UN;mHb6>j+quB2
zT?*R6Zn32)&enM*bwLl+jFoYZCs?1h{No5gAl@Ex_|ju4Js7Ksb_x<cW~@B!p>?@x
z_-QQZU37Z+NK$ytA_X4NzorF`>bDzZZ9NR^#}Wxr1zTl8R*Dg>w|VYksD)W;mbDE1
zS&xznG?OmK6TyLh-2j$=Y8vc$AMv;m{{f=2_p=cbUX}kbhy+&;-b~Yuu@;YG?i*ku
zim{>9%=$tlH1(opg(3P`IVk*%?mGEWwu&o}6Mkt!Sn~zS{aO(S$tBBN_5yDjmo<~r
zmcFN#bx(h)Ex;Np{8Z^y`_^D7Pn`%)jN`cr=#+x5E~st`6WGV~PrJ@(p_m4p7=tyc
z%(~y`n|nFr$|qPAXg3#cvVU?mLf){XIew((xs62()bBhs2l!NY%~RQ*f88^OQ&0J}
zr2mwqOx3RUSWTNg5={DJ0K@NDcbUvJRE^WgT@7$<>=>M%Ps|4Y1K08=UW4Qs*Tpou
zI0<D~K6O?TKTQ3auot*Gh4Domf6*i=sSlj|r2tD=$VP6)I#y#BtFVZLY$1;m*c?Ei
zM5=5l(;8t9Pq&ZBsZgVXD<nNP`khppb?<rYQ}PyRVb~d*UN=0>IQxXL|I$i7eF)2m
z+h;4z9v8~elv7$jNK3~+H}kBf7kl9D>R$O|gxR;fVMLxpj0JvJE;*Tz&4_djTXibi
z*ft*P343cc_h_19%NIQUvZtY?c}n^1jI<$9U)N81+@oz7^x|X;L;qR{M7iD6b#v2#
z&Vl`jD3`3>Udo#Vu_LTzZ`~5*IF?j|i5$rgB;=13?yU03rD!WII2xlTHQb6rFECD2
zBYavW%krd67bGC9dqN~Be?Qf4hP3pOx2M!ZX*t|vVY-;9!ME(ev(Ce|nPvKF74D|B
zaLgMw7;Y}*q()^^Ro;+n2ph#9xCdiXPHHqMvdTIW<-*x02&d4X97IwCqKiaQeV{J5
z-I<*$*yVCr{68hRniMea%_dy`4;eXD(m?$)mV8CuW6FUtHOmT7^}dFR6)$Cl2JN+F
zZK`TT7Z_~k%Lm$@U#W`8BO$KxNu887LYT%a3tF>1)7>yNQqw8xTKS~(Q8$m;a~A|d
zQQsH+eEG%e{a2p;tE`@y8gaSOo}C<?>;gWuJqPQq(&6<UR{#q?h3I~f6mzB2cK?|Z
zw_pxmd1)BuVRG81rA+M}qQ_>dVr+l-yIj<-kBDDZMuf3lCQ{>x_st|Ar`N=_8)!Z8
zE9N45sHRfIr^54*D(a+4a>my7K-Wekm?bV=rrqTl1vN{VBpzMY>b)g<El(CttrdIo
z-bOs<k99+?UUqf-id$M1I&()R|I~slZre}m-^i$uum8uqP;JZ$b!!X268-=B#?D4s
z|Nl_`<9_x3lfa1lRv(p4pR=nhiQ|@>aOp^H;_Rx)mvD@}X^Vrnjc&AAfHLB!{EhsL
zOt5|+S6TLVR2@{yZzFI2=v1c#3}cm-2k(Vkw2wOP8tKo<E?!oadBx>b<0O-WHR;GY
zc_L9{Dl4Vb^wXAQ3F+H4tO(TNqdfVfwd|P(`dAUzdI0bC&tA2$!cXOsmHBcFmI)4L
zM{f--M0_8SjZ%=FD<s2;aj0W8J-fOZTJ6&!S5j5&dC&W2Ma=~ugqUuW0_1ip7g5v+
zCPSaHJE=D8DO!<4djE2`Rc0vNa7?XxPo7B6#hfdD53Z&<Po7G`6#v$c3_rGh^%ZK}
z?fW<Qy>&xUX)S5E=^zT`7{B%1ruf=QD<bVak{1j7*x+*QF~Wo+q*^%*rq4KWX5|jM
zy$fQLb_2N7E*p5w`>UKEx8N}j2HeIYr5%jun8w(H1tcP^ghIBrxBccf-TqF0yV>2|
z?3#p<PfY1k`+<|M!pZ+_SL@+O_?3=?Kg|ArI9u-PY!PKd*!zQ=C1sduWw&f19|r=z
zdPp>lc-E;-%8e%#YUfp|jVJ$Et2CaJ>)xdDV-x0z3)G2v^M$>Qf~y;YR90dEv8M)D
z!drT~jViTvo4kPA?IGL(+ii(apzA&5eO0%6%;QVtz&RT!rXOxIZWrV9pAxl~yx*XI
zstQ8gyNKfHUZvUEX{^Kla2D9(-t+b6>klr)3-y00;q6_dfLv1lWxKVJ@&9dZZ9VA!
zevSN(OI&m7W*SDFU|6Dzb;X$D5wTcm`hs&TQz*_&QbDe+KrCsqk+Oya*VA1^(3MXO
z_WA7vSVRR*jS$T~B^5Z7Gjz9_5sg`x!hJjmu@Zn$u|btb5XU^NeIzwvr#+htFlQE*
zZ`oa2qfOW7bt)?=89Ch9pPa`@N`X5}(3XJzSfL}3GJRR-%(R24Q8S)p=CLwCF(_pb
zxp_Lcy2@Bh@E?-HJtT*FNDg;D$>FdF18;H_GiEV{KX%5ryT~{6n?vv&4}IxS79^Q6
zE{D8ne;>%ro<l3pR4PT&uQK7^O3o(RTkrl7$vh;DxyPh257+Zw?f$QK)Yp&y-Q3t%
z&&K~g)PMN({C{rb>63dMzY|wEf-;KQWMQ~F=bJ>WYF&^|k4{gIPu{kV4=eX`Z_`dK
zUf9d}zVM*r8dqN$7r8KIQXqys6{GZ3oSKT_73&0Z(~Relx91ttZ+GUX|Ch!!hv$?5
z;C72;E*LtJ87mX@IjDLz>NPmvj)wE#$YncnEvDwglk4s%*`ngvG%7&K<#PEo)+j{p
zZquyLnN3kLnGGdrwyuhbaGxO-m8bW^X86@M!)-PKmc`Xkm%r{-Fc~{mM!)MFA!hmZ
zGFL6Fl-)HBUi~x<Ko*?Bv(CW3C}{jNj_NybufRCJTbR*T^%K2&bo`t96(!DJ$RvLq
z)C$+H6Q8E=xPK>9-_#rTeo6Vk>FVB{t{g6XzwJF(m`3h%LqGU#|CUa`8@agsX8h#t
z#N|y1slS(#v>>+E?_$Z;zm{v`Exa=A4p#tFRCthh>X)1<wQkjQVq(FF{`exgis?#=
zUMZOEL=xB(LG>Mv+DP{v`8{<!$=&teT>8F+s7GiS^lZ<}%KvUW`A_>MS^e?!Y3<LI
zjDIG6YP_+s5gd?T4~4PQBE}SH*NdnG*cG(@d4^t9zcMOiu&;qwU|^l-d=~4=Gp551
zgxWEUHYc+Jxu>Z4&QP}OR(=Wxt)DhF)!#q0HYzD&URu-P8t5r(pq_4a<pWly-bNk9
zb_HXs3<h2&@HTHUKwkc(_Qg%tsNPM&Xrh*s-OsMP*%&d{y7lq&;N1I1vHuN&A+g@x
z*SG&|Z*FX6?0*mO|G#$q_nWu^FZJoI=UESL=u3Q8-ocvOzovVz?qs2N@UW}AgEed0
zZ8lrYX5}tTslscOQ1+`>{+288Lq@l$#ed}OPqE&@6i+n2+lB7fgd<rhbn4QcVKWJP
zi|h?8hwG)w7PFE)W|2+ij_fiwwau(#pIK<5S!}1drQ!0AX}tXHy8I_RGS}yydDnx_
z|8L3XpQvjVW3DqS_xC_yzYhv)E+H{AiQXT5(RW2m4-q5}5hR~XlcbzxZinLBd%hui
zE~@cpGY0l!XD;w>WYkr-5P|nMf=MNQ*F8}P@Abm&w91;`y_Eb9vdmtu4>$MCZ<@`Z
zwYlBdS?_G^Ja2Y4x?9gTTF*B(TmRv`^QRYkYbxt&F{RVpgevh&-MIK;$13&UhB`+1
z;O2oP%aNNo$OK|*J?D9ULPXkJUsQfATXLR%aw0ojx^1EdC%V(aZ~}`zn0up{I0pLN
z>C7K^R4Wm6(BW`4z^i<S*%3K~GU6X@^z-C;Z_Fo2EjsLC0i0keGjC@{o?R-(^p?)y
ztr|Kmric5rj-wrh=ND7>8q~e3i^%&jimu`!<J?6sD-L0Q)WdYY@iZI^yiowyVHpq*
zcoj{))V<&`7@;@?<GP}h)A%#IG8j05qzpR6asAqK`t{LVjND}$Ltw!kSpu&xN%2Uq
z&aioKgzf1?G&{fWqS+)Fv3Cv>hos&!N~co|KkDa`vnGUlM0X$f_}gOFcRlunW66#9
zvui!yCn|p{VSk3igxe?vf$6t}BrgX`-d&-|bK%J=gsA&un`IzskGh5p*xFn~^+`*s
zRcjM1jOn{`rnReM)$e9&NxzP6H(Pn#s>Tmt06##$zo*3=86L3mZxf7baFl5@2}qe(
zY}B^$@$0Vg`t8=q3N-j5+yAjj2+D}}kpF9Ar@7-bo2~7g=JwX+4%z=(o7)fe|NHo3
z8sE`stc~fg{)cp{`2ikM<&oa|;5>|{let|gxbAVKtSe|Y3HrKnuqxln=KvQ|<q9TN
zwO-nLhM_^1OzB1KI2s01EN)08R^ftWR$nDp4SxM&*!x5#S)=};1_bPC-0nrlgBAkB
z`%fBZsWhBT1FYtv=hJu{b-$>4snm7RaEyzR399auWuAOJ1F69eN35_tA4DC0U{x*7
zmNC{gRngY}EmawmnKKQMs++~e+@x3}gOWy66xgUti-{YJ!ALE^%=mzd^5CqhriPL`
zT>(`oyklm-B4!T!VW;Qs8rZ94-)dL{V4BrMF@B_cMd0LcR^KJHIf#LF?aZXsZ?@WI
z2L|+|lwTEABf&Ou7bpnYbj{F7ndVFtS!RpR7VoYkWr~?DfF{gUWva~Ih=qvLs;ccI
zmjrLvHjmPhl_6VUy5{C5UCJ`-wXJ%at#xA?Pp!==RXTyxq5HjLhtxeZ?CtSJX&dyH
zEy^iFXn+_Ii~v;4uB&O3{#++@<!;*fA+t@gq-HE<(}eG+_gN~rsJLjE&)gE9Bo?Zg
zo+jU*wUdjlQ8^R2Muse0uh6m^?TIK-`FqH$Ac%Ve<C+ZNef$x2H`Z_A6}zI+U{~;e
z;h}IdCLLU|Jsx@EU=l{~DtgH`xQtz<?q_@v%?3Sm&kcT_5wXh4c606__Qr!*jE?jT
zy)Kzj>r`9a7<XAM674#5m{x06EGnLu=FHttv6Ta6_E<*fcPjs>Dsi`!0hh>s&DKWK
z_Wx|HH#Z*gzuvq2m#n!zCI2Uu<erpDs*Ybg_OCQ|sq<A5%S9rmz0*uD5(A|Q4Psq3
z1rSHs1inXw`%E%T#0wZvs>+>yvvuP)n+?DF^DKm$FI9tV4_FM;fR{a<1aOaya~?O{
zkByMM*<fH|0M7*Y$)1LFyTvDq$CN)LqgpJAzp0Mtw-f?VehGW9UIxZ)+B=Ql!8QN>
z@Bc5v3H$u~SvcxPYuX2T-X4UbFL7gfJ-vJWk4FIT|IPL7*5>*~a|8H)bL-*$e?Na7
z_SwV!&)xrc{Lb5BxH(L3y7!C7f9va;sr|pcv-1%Db3gk(xsiUPz&)&iI}Il7zTcfj
zlldp30gH+4Bm^Q8^|Pxy(QF_FjNJa<c6~Q}8h~>86%Z1H6Pw+sbht@J!S%GEe%(Ek
z4{wzp#~U`q7!Z;m9}9&3dH0R_v;fF?6rB%JgW%tGzomZ`yc_>K@a;G8m)%qNE9b2T
zF8ILzo&0|kO`rV|j-SPTKlpn0f0qB?QFFVszO~h&`p=sW`ClL8zlT4+?*4!G{kP9B
zR`2WDf45p>|25>l=Jxh_>tX-j$DcRB)JO5=+24W*1*v+?#(D__g<X%yp=3M(A}O8D
zhC_cc-}UxYEH`BnL8lMYS*w!kq`Us%^xI?42=#sy4TEQ65IuG&vBU1#nusaqlPJ0j
zgGMwtFYV8!7tsW}A9*j(t}>a{0mzpCzRiP4-FtTt4#KhbT`;-~=F<EbT2u$SAoh&@
z%K%pQ#y?Rr^T*Qbup5kGoZ;zV=`e`9laLIFyX+1}^HFnq&GXR$*3-N{rHrV#--%{Z
z{cR8bWE;JZO82qnW6Zh^KE*Md2cux(vsbQ(TTX*A>JDbTAZ8?Mct!|5nuBH-A3q|<
zAQ%tAE~$3ohGVoif}9@fYMAI@d;vonpnG>T!6w+tr9TOySxjcESVQzjbMM_8R%fJa
zK{RlL(Fwe9*!_aWEg}?7Bm*6zQ2q?1au0EkjIJM!f@kLwAO6Ac`8ae<K?aGbSUNMf
z4R`}I`wiv@i?iSK0?twLW`2G#oqw2y15{&Q1nBU?mxh4K&>ObqDXPF^nEHAU&&H_M
z&L4wboh(JsdKt?!jXczY!Yk7NW=N`c>`jBD7rOq~?+kGGus6|P9tQ4n3IR;hHT0)!
z^THLUaD>nA<^#;5puzk_w%nM0zxcV)jfQJ~{oHm;LVtJ}_|w_MSkpcElWqFMd+DQ<
zZW48Xr=lIMkM^)pH!zyKL9g&Jx(-l4(HeS&!8cL?Pe}dl#dEk74k^0-G75WMZ^mRB
zaP-C09|cHi#*K%4S;@F(W&n61xKBt*7RBpzhIO(6)bY9&A${xn8Dmv1boE25%+vhG
zsPTrBKa>eQ>vg<K=mdTe+Nc==IStQ|Zl!!^jFTH<(yoz?!1pe~pL{Z;ti|If>YJUy
zMCiq5(FoR8=c5K7h7FYBEO10VOwWUVaeg|{L^bRMu)B<TU{k;b;2KGuksh04K0?Zm
zL!>zjr^KB%(fc@3v!n!48pCPa!&GIr_rl8%w-FF|<moVo*sIbk02whN0~0%7d=1bx
z_XHn|F$dFbqsH6yOE8!D>I9g8-f<XMV_=t;{%q9coFarDwOc&gFVAr7giG;{!TAV5
z5jfB9Pp$iPa6JwuX-a!(vZrZuem+3f81)m>)G6+QsVf12+eFBeC%j-U9!A|6Ivd-4
z@0ov=yrdR`@<J%4`1z#Y54#~yhp;YqC5F8=4Kkb~dsr{yAE(i5VlaTbQDW#Zt^3sL
z!L}Gs>bgsoJBY(w!r@NrFT_*f^P6DOolS7eKsynP)l~NA(T3B`49I^<1MPHJl#ofR
zod?r3*tw1KUmk(HyC-rm^ls1S`(O^twioYG>MCzY=SGtB3yxJLmV}>|-oZ?e_3e5e
z-hTh~<cGJV19W~1`(Xf5%^}YZ*Tg%8WdT;UyX$Rv&%Ae&s5c`*U4sWOS?j$cc8jI=
z;DsNcXX7WU>G4R;to>Op41fXS3x^7?vDH>YA#8DSdhG3Ex*CjU+a=*hJ+@wfaRQ|e
zhe+YC0jV>P=de8=^;Xj}*g{==hC`Z+0v`GgKdikvJ9|f?ngcI@CK9mya2x$i-TyF)
zT!?uEZ?5|<r2nD%zn1<V8a~|r?nVDo`bcHdqfe#roIj1nf8ARLdT6#Dw#OfP|DT?G
zcz<wodduy<)c&`%nX>;q)c?A-KaGoXxSPPWw*;T2{y9houlC=5d-VF`+tTafgQK^n
zN2NHJ&c=;y|6D$e=cPPNVQB#gm5R8Rl$P0`ON)#Yr9~%L<{^4t4^S+kry>`&IsIQ7
zXDL5%Fre{WU5D)7Fb6XxO-_DHvKbmbCX%A@qspOS{9-%f8BfT2&ghw#wsYM4<fm@H
zpR$j}oiDw9%kld>?~PRFm{-TqGybfu(5au<jG6k;%r<KNj+RUO$#6{7i(&p|E{OFz
zUYpx^ZB9Kg2bWXzu#}Sxwd9VHDt#sA*<X|YTN~tS+W&Ua@?Wd9^T7Y_;}37PhkMt9
z{0I9#dj#G|AItZDOZI<jV{3=(f6eU&`R`u-JbKvr5Bop0|CNY!SA8tr{~Oyo>)ROr
zv$MXjwY|N)4*P#=tGW5G|L@~Zxm>o)4<%H^o4=s?olJ_;$m7Hlp6|gukmBj69U7Xr
zqR8|j2qz^!j-xInJlA>78>HY@{+7xLF^Q(sNbC^(!QAW2OYu19hW$Azmoa@hx^#{x
zZh1ZqFamHyqiK{%`@KsvF81*Ign|0Kp0-Dc!Ou%MdzMP7daDXlhnpBiQo<AYL8YD0
zMlT<rt1qcW6fzIbDY$8IB75FxM$mF@X8Tkhmis7nmL!_XHq?eoXs13qnvs(zX3~Lw
z9goHT6dLd+i~u_ZnIMD#|HAf0w83``!;D5Sr`5+eV#8=wVLNMOH@T|4p<mK2sb*U3
zO0P3C-#C2nW?^$AM6><NFzYC5y<jIYN<KDneRMOgD;!t!r$(NWaOPb^er1=|py6`Q
z&Ah;i0k6m<+U*N$zV<K2%JHt91m|eM!rN<!)5`EK5&>>ynvvg<(g{K_<1go!fR}81
z64NX7d$8aPx;^xIp*VJs9>*g+4rXN#KMtW8Wso+MJ-Bx*_ziRsXq)OFopV~jG1E?G
zQW2!lL^+8yum;wss@jqFXr@lJ!k?@*7~+l1F!2@<{%$5OJXeKCZU1UHGaiBi)Y~6m
z-i-<-UM?3*GGF!w=uk2Da25f@S|c=jI#TZfA7HYKTo-aluTah7PjyTVGWD<NODbPK
z5F2R|JxLvFFR{+g07pcsI~$A&8lBtkad{z=C{)WsjDQY1Geqs%X!;Tj+^K>60DPVg
z5Gov1L3gL|Bm&+wB(%|q<1KKk*YW&eOa(jO@TtNGk=3_RT~e)mY<{Xchf>Q@g-Vk$
zfxZw)nFci3(<%B`9iQm5Eb=|mdfLH~O7b*C$Gjb+p9V#lw_(s#<d=KXPPVZ+5*zrT
zTK+I14i5qV;wih4jIF)vA>HmSCEW7k7>TrM?5#S?0kec~!nInh?!BLl(4p)H9?i0X
z3$3I`3*pL0nyu-rWMwdChF9f(>fV!H(2Y3XyRHy_2tQ3w{P49G3Hgd}Ih-kGk>T9>
z(7@!YNeYKEgV!=JDbIy!X-q;v?in%C7SW}LE@8unOZzdL7Rp*w;{-Vb?%$psO`X#{
z$g^S8o58sNor2UB@|-(C*GDfvauQNY$08l&i?}cyWMpD79`7WYNfHjT4e==v_f(I`
zeCe;FYaf%k?e1n>Jsx@cAf;Jn5J;1l?tr{-n4>4}nc3nS);ZOfjeD3q22Zed)JG+7
zKRlPGZM!m^HG==LR=*No0I{^;Y#CCS!DtwecDPbA5(D*ty2q6Hw@pb};%XfDlkNq*
zR`&+sFa-LI`hA#6YOhPe9x8zd2qV~w-p-EKfKaVW{7whxjuO&h#rOp0jRrC&C(h4|
z^^?5CLW{7*L-f`o&$3QHE>Ys_sNW_B8$QG}xf%<u<Y|>r@+0O@`;^M%B)wH}6b6D4
zdfX!sx`EHz`d4mltpkf?)hEU_P4INCiY+J_`N;o%a&d8Z#7T()VsAZ_fWUEp^8(;t
zq+_dz3pnS|UH|0Z`+Y_BX1-1};9Vz^b4w7F19KBmue1eblc1;SHt@qNhgaiM89*ED
zB-y`4KUR`FUocl5Ipzx7^U7YCQ_O&fQH2Ar?rCo7J*8YbwRBpeK8Uf^TcTUqs_7UR
zJN4k|;@OAr_Rgc4UA?2%z%jN>Le!s~Ed||sCZkV}q-Un;QnW8ekMJjvk8n@e_~xU?
zK822T<J2)@Y#{W6)O%WOcJmklrmlGaZTDmditme0CgV$7o~LFy+IIRRGx)&n*q`{r
zWJJ5(QHUp6>fn*13=Y59fE-DaVbnc7k5YI~hCK<$(^FQ)?3Ks0Yo4~|p+zp?0&N;K
zyyJf6ak^9VKla2uIf00Og~_q4R2gqonO$>CxQ4slzCPi}`TYuyc%@I#uB#zuW(!R6
zAsJ8&5QdNG(eYopS81Rq+AuKuT~j~?Lg}}EF1wD|ggEvn&sB<DSYK8?*Hx!<vKBtj
zZ*{0=2K`9UB5w#YH&rrs*aG1so~93)q=9RMX*Pp{<+4E*I*QjZbITqpN-0WOz+y@u
zYv9S7FhED@G~U;x?9@y~ZE|L(Y>{f2aQM=KzH;vE@40()pO*<F+qBqyy_^gUc!}Hv
zdXk3PPCBUPnlIL5(|P9~=2{kT9^G(kSFdYyE4U^{Ykl@Qa*=BYn9_{1dvY#uE4wEw
z_sdB%nxYH5Vp5`@BmTMn?%1RJ&-jh6QAm~2VJYWeahxcjbZ@<aI^$i|9BXYg3}P1B
z&Bz@e8pgmqQELoMz68Noodh@_M|-@QE_}zU4uW&PJ5K^aOdynHkYV88teM~;>cdK(
zOV-vwmZeOzlE>6oWlqs9>ejk3);-$#SpwAq;Rf=Ce0lO@6sJV(jAE@jK>eU-m$3Vc
zxNRs*x)^Ykr&+4yDbL`ow0bIA7At9f27{o7sJp-#9163V)HodC@r1GxLhBq3jo59N
zj06T^ZYhl(`;7$Ys6I@-poWva+0FF|V4_s@IW>k@%JK1sged-twjSmVjd}@nB>SK6
zZH)NKm4Rg5|H=HGddLExN&aG+Vy;#Xe*{3EiY<`iMaA7*=rzZZ?mnC8cRZWQh9J40
z7?nWTwei_bE(+9?+89*?=x@nY79@4s#uCq|d&CQ*(POGB*s<?}=_Cv;wcy^9l(?kb
zGq_<eQQO;?=7OOnKk_KgjZwm9dz2RA&L8e@p4hzh7IbbN(#AVfSwT{&tFhUOZ#Jf^
z?$#6}m~GD*ZpkL<WmB-34YiQ+AgQ4+>BHX*xKF_2YQ>McVTht4MTEhwx|jsx0nlMZ
z7`MRZnw5Ayez|h)4MrUEemDM-4S0n#2eb1*_N!JBR#B;^IY}+=CCxF^JNk!wT~e|P
ze@n(@GdpvwnbVMhriZb57>(JhmQM{+ZA$bh3zkq#7||^-;WA1~kwm&C<u<CdHQdCt
zH4ODj!-O+F>AvAf_g>+y;EYZ|w78K`@34l@)<ipcAklz8Rg)Qp2vfc8!0$CgWFzX#
zthYg=IKT|4T89LzDO`PuQh<42s5ebANNR%;%hl=+qj~aUru~;IIctoQr_qhZ^J=<{
zy6Txcp{t9^*!0v$%P0v_>=RUxXomL~qD=D9((WW5>)t|1Jdt@)n?<iDS0BSE*!=u}
zDw%=cpClfR6K1aGXfpE@9+<mTttwtrjSJ(yCw--NVkr+$5Ke=k7W7cw-gO=mxOqq#
zx2DlnzR__35H`YVE`Dx9SEY0o0H&%Vqa-uGF|uATSTHvlk#%snW*2AiBj<h^6tWfL
zseNe?OO}0iamd-4S}mF|?CZV-Pr1+#kJDZ=q5{b>=M!-lNmKxERfyAyIJ!e1jqiT`
z{|qmb2DO!<GNN;lo<5tltAziIsB9dm0@+q8&B+4APBxh#X6RZo3;vK^KIKs${DN7J
zd6fn3^Ur_P^3+i<=UAzuVs(FHlanNnx7BuO9h5nWT1IjcW}jT4oD2NrO0hzjM1~b6
zY|zQcoOg1P#B)ZZR9NP~<nnGwI<_6boU7|nbQk7>1Q&S*mKEo0&D5p+z6(2S#uj!<
zd+hCPvUg;cUBNc%4$sf(gB=RW{WzWtP1Giifr<OqAp8<IZhA@>Pz*Mu6js{c{O&W#
z+O&q)p)<(*@Lx)QwTfo==Gx&~YlxkbSgv5TUdx(;Gf;157G7)`&OJ3O1wz^bgZXEQ
zJD5uBjJj(9&$yk{EX6c#X+2wJL9=@M3YIkG%_i@p3~RYVxI?qrtxapL@!f%m?QYC$
zSyS8ZgT3Cs=JxN)VQ*}UD`1Z^ttfYHnOkn1D}I2u1qBBOU%`>V6j~Qr{gzn%R<Qo9
zW&vDgar{**f$kDydj1Q=@KTyhC>=r8EcoO}TFPJ1I9R|yXnAj`yEH<`yHXdC_vwH|
z+u9(6T}cN*fC2a=_bKr~2eBlT+fh0E^DGd7+c@Lvcm#xs$W#8beg|gR$aKT=*!AA&
zk+9>0ad;RS#yVHA0!Widh&kz4pBuYQkAGKzoKaC3&Q%2<u{}1o9z^jw5yicdlY={4
zH4~di!5we8?d17)uI}Smz|XUgn`O$$aS{7Vt8H9t5dVIPsNuhhAZWRxV*zK!+xj@J
z=I7}4V|4m5s+nc(W~_Z*$lM(lv-`b-6}f$phSfXFjLW`gExDQeDrb(q1If9g(g1hn
z_W6T6iCWu*MOjV7_*D`K?l<52{26UFpFh*JkK;7ML|gT{zYBfMi&5sJBNJE|BXG*U
zn`7^O?njx6k%6`JVQb;BcH48>JR(g-iNu_HZ73pOr%#wW7qIU*{@+Na^!4NaH+QzT
zw^ja+*2V_L|8H-$9^(J+E&e|VbRQYfeID6IgBW*(L?8O2d9O26-@5N8gS+}Vh|bS3
zYqflhVqFOyz1eOaH-8{`z4trtEl?q-Z^9Tgh{W;r;a4h9&9tp+L)Wu~K<nO*yyLPZ
zF6)FDto>fkR^BX?+HH`_+ieu8E96sy+)88C`a-#Gucx+tr^4az)*FW}-dNw$ftOAQ
z*+vA&^)trD8y#4{PR7CLy+qkA>DLuzPZM@5T;)@#R6<H27c(IlWSg()HyzQfSx}``
z3i}?v(Fo%sj@5b@O{(hU!=o1;zSSoC&g@(OLwovKN^~fERe|5CFxnW#nY9~GsHpM{
zNY5(c+x&`3A;e~>YD}^0iya-dlT^o*%<QJ}-YB}>u){@DUaI)2gkliL3A+^HSKA;!
zPRC+l<RT4J2q2zyWGfr}WP*5yK3y+KZ|)CB7a8ea$CL094rGuB{Vs^tTw#FVKtpPW
z2GVqzc({LNf5Vt-Oa+gb&!55JB|esu%Mj&ul<my)=u}XGW}T#Mp9Ct^KbkW#7}O;O
z(o;;`3Vc)<0Xz`#B=(*ZGO&%MN--LKdAdsPPxjo|s25BI<n@LK=Pg1*<oBnT#D1zg
zEetN<`RC|}GezMx8V+Ij#AO6A4PN`W8;!L~yB-L3CQE^1rzGfNKml~p5RtyRlL$Vk
zk_1vyoE~FFeNMMYdFk1Vqa5Qiw2(M|XqwEl5hWZ*=2A0cFjs}4{XV&olNT^s!X=0x
z)&?jCN1|BBX!Mgd9?8|sJBKp|OE##?6UN?<3z1IglJ5~sZag~SXc)xk8J*tu8HeIL
zH~Wk`aTa_n--$eX@wR<Hgu1yTveUPU^wDpl>9N9wu-B@gYwbmCaWzYMu@!n-m2Sob
zO$L%-l!>L5YdIHe?kEh+^StuI>0T-fSEP9SHQQkdLT--*T-A6bO@}#KdA-ydZvkE%
zlvT)eZ5d1rFLwEziUWKq2E<mzoT$n>351%*yGQ97;S3>>##J<EFo>>@L7VQZrq;Vo
z$5)o(?R^}3R~KRTf^5Fy$!rvGDk<OxFo3S@F2`;@Np}Uj)Kr)Odz3rYVwsa<ksY(l
zp|S8%Vx5px_N>FzKm9t9cES)0dK5`#k+@e)|B%Q(``L5hikzm953JGNGzB72C*e<+
z(PNE|g+UZcu@v7^iCu&q;B*<okrsB~aG}G}I+uzBL>Wj(54Dl|j*T~#0f@(#_k82$
zG_%L~an_`D`vD*Ld&VWC@tWVaP5=}1O_(>VG!8*&WCuQqxZcVzaAg!Jd3SSsc)6%;
zWM5ejhNRJ4t>9e)E`i-I-DozN0&?m2SeRZY(|7jxs$~tpS!H3Nlg~YN#_fV}_rnp&
zRJR!TN~f){zKY0Qi(`Pmmlv!M+}fxK3Z@eizGDfyi<i)JI=I=o8pB?BVKWkjx8l<7
z-DY8}k?XOgcejbYjBYyNJZc%Mi`OlI<utt6EDm_wt~=O59Xd2vW<vQyfUutKc}=TD
z*8AZ`a80oJ*k=q0-c4jDZ1DcjY>od}8ZS3o2%bo-0E*MV{|c~I2EFh&yumsw5N(#Q
zs@keMme;oAnrTLay3KxO;frJNEZq`Z4+haRCWT@J1VYrOSs`0?q?mkbE6YE5-5CL4
zm6$49^0yx|t5ngVPo<P6QPG9Muxc0vXEScx2qd=y%hOAy?dtZ=R<K&~#T8$zXKMvn
zuN+#Ppa$AJYZke-Ter&O)@5I;<iwf+^Os<PB<vDj1ZkH8c6k7XZC4@%&=BlTP`?<X
za2!s>F@)#Z!-I7cO&g{B;GD$iZJBVDmslwU#=J#0bUfDLU0_DOWrY>PHEh(r@U1B2
zoGZE`EX^YosZBnBKy(p7+Vebn$?UgX4CNM>(=?$YC<~xZn67?z*O9<+p2LEPeANEy
z$*tcJz+GEpCPq|=Dl2XasA>vy7Qn(#f2V5A=#rT1-4T#AaAH}>&NjJICO+TZrJ<4R
zxe^O9;YR`8aCpL2tua^KhhV~qOv3b2X-bm?rKW#Ly=%3#mm``i8HJ&sSvCSvtKeU-
zv;Jyjuy|^WE@v>QyX;-;vBmo<VZy(K{Un}gOZU=lu7j{pm94B=X~#YC&S!9PXoJIS
z^h~rTNosVw`QT}yAUOe<xVE?JvIK}JZk(6cMfHByCyE+8k3dv6_6#gFdzM$bHSzWk
z^C?XECz=5CwScbOc^*V;pDZW&JeV9vLpD&^L#{5cxHG1@$1NOc%T~S*OqQD5lD~A1
z<K^koSz7Idz0s8P1vN(>8B8a-dIK4DtKHJVZutx+RKe8Kox1T_D-06$U)i9P3@>;D
z)IjF}Mq?m~mE}+e{d<yedl7XmVr#i9NL{@QuIAq4xeV+MnAqJgvZc(dFhjdjrskAM
zoZMzrj^o_FOsg;`+^+OfikL6evLsYmb=*CT<U~%@*yUo*X>Xb2dhHmyJnX5G==est
zmYa#kpa8er`%!VuPYdqhc?4@yj!+BTm>u*YG&=}JlEDepBCVXmC$-~G2IR^*^rySt
zY<xcPdx3L=?tvu|R!_}8bxU1LCEO$VbfBE|SY--RU(0np02lDus;A^4@?xtYcUQY9
zgOiogso2sCHtNDHEY=D66G0oL(uS85IZ68nqaVcFAAMm@)Y&;_Um>pyZ$=K(%9aT7
zMe1GjcCN&R4{NE2NaB=r)Q!|hx20UWtcBcM<wzFA#k5&?cqF$6LFVqF8^)d~?7K)b
zNq@#~Eu&AqZmmqCHl7-!ZK^JVsO;r86B^yBbu%wnv0F>Ar4e)*;LDlo$})Aq3b&YE
zFj&rof1OK3=ImXlhP(NSvT}956Jza*>7jPfdwW{Mu&uo2DC8hx<)$DD$_^Kc+a0=O
zC2oL*mHJe>-zk52<pJk=<>ZYrdX7=u5XnjqcPHU^DmY}8#ylsMo}Q7joc10gH!Z^v
zk-X6etK?B2g&bhm=+_1~@(0STEr~+41|ixI$&Lm)kUiQYZxDf+I=aLISUD1Q=IAq=
zPRk}LOSoe-Bpk$a3nABHhu;UE1{B7Cs^O$XLqaEUAQbiCaP4PWcr#C^K+(Vg`l#(@
zLP83-8EDs-e82@f4{WnTg5o_B4<GG)@W~y*fpkIPLre`O!Ez2Ia|y-er)>06t{Wr>
z1i@+WFinu>#}?Hi&FF6-`Wyn~Nfa4Hg?Lu-4RX5VWDv8?vjj|?(?MW92Ixm}JaL=_
zS`FZh%fuZi>j1cdA040J%CXzlnZXVnO)<i0vRCGGx_abmD5E3Pwa4+ARI*8DPsE<;
zDLEah-S}b<cInG<Jj^_&8a%-lr(a#_&a@27BHuTM``it{-P8-tHD5~tFYJV+kHuW<
z<+@F#r^gur9g}kUZ@E!KO~r#tSd`O=zW|rgq!+6=+tc}|i|uVEwY<F1j!@0paj-1s
za?dT<G;u?v(=|5IN=Y!Bk`SE;f?kK;adnaJTYf4)19iR5kW+1m;S-r=yBAL6t9^)c
zhQ=dOP9<M^;W?I%$FLLvPmIF3G=f~aIiNWGQ}!g3E3%A({MPBajM<g=!WnB*Evr{Z
zToG`2SuCJeY2py%)XRIS&4Tn7=@--(o_ggZZmkUs5-SaDhRa|Q_UG6%z!a_`R12V5
zE}GN=-4&iRyak9-Z5$KVukYzr%W!49l8-DpA`4+mfitvT3X_tTaWB~q6qLX*W0}@i
zfzV9tv}hMD;5If~q<h8wIInZBJ@%&;)kzdh_blQm%2*OHAl^&MTSZ|6*He(1fe-Fg
zu=~Q9eKP#Ox$T`f8R)V}f*#=ngp_)Mq7;*EljjRQSj7=l5*MUH=&FX?v@$E#{4hmp
zOJBU1;FleIX)y_4ye=%D-aDosh*Dr$2rLz!WTvUH6g1A@I*g~W^7_M7w32~FvG^NN
zS;snlf7w3yKJ9sF22<p74ywg^P0>5mO0R<+L_kaU&)7ewZ{eikPRn7B16WOj6*8xB
zFow_Y!5G;he*|lQixhB)Q7<{E6M9Y&t!dLpBejvjDgHV4_EPMvp<OQ<jOR+XQnOKf
z-pKQYv#3<>-}E2{FeHp4{p4O=qi;7R@%@HB##p4PW6N7ev=-V}Tl_~adp1FrV>GL+
zv~!GE5Sd)M_}&sf_cRlfU;{jr7V|>4Zy+C4ONb!lg_`S|Y;oFKb(QC*UrMVJ5vbws
zk)xF45R9cLGKZR>^5s`3q_)1!Rcvp96p;WS2#mh--dOCSEFtPt+&R`FAKmzBH@+~#
z)YWzP4sNwF98~PcV0*LSI93%%Zg8^|h^68eQkaq4MAbdX71MnO7bW{*L>xHpGE`bF
z4Sl`aks8@uiTxVh0<mAUaj*^j`krpJOzbya$r1Z0XG#%~UxBKX{)o3Dn*9x~NB4NI
zu~unG<%_R(v5_1-U+HS2d}1yD4gdVt4Q@OS_nHNF8hqjAml|UeExXcW=C$-{BU8$|
z-V_xEl{i#H>hB|wW#s%xr&7Ru%cN6N`l$9VQh_&YbFChqNJg8JQ~7Xo@=`u20Q`^q
znE1Xp<m#+n(}kAPQY-}#ga-=#>y+UZik0&E9^QYn_kHr?Riy|@uhJ+rMWCuiC9Gx&
zdAYO7atLd(md2^L+?rYGL^^c{$+EI~J%dTc`K2#Kq_9d^T~~s*3OtN}7*(d;JeW!f
zb8<*W)>==&=**^GcMwvlbT|+=q$K_#3Hf}fU{p)uuN#d<DVJ6j@z<42QwZl)Mkxev
zheEa<k2V^uE>=6{v`nt1S!luf5&ZE~MbPQ2-$z5Hlm;b3I=c5J$+*g5vrei)l{61-
zD~AGFt5Q0%6iK?>scBZyP2L1kze*J^9RfQQi=-F0TniQ(!Nf6`Nzs^NW*i^k#ZO$m
zv5|V1Mhte{DAu7#JCt0@T<0!Nbzw+a$;*#{aK@-PFB2&1CRw^is^?UaTPlIdPd+*f
z@>%h76m#9wEHZJHwkbagm@0wNUyhQQ&MHJkp}$d_S2eAaBjq^@uQ`jTrRgml)(BF+
zPfaMa(IU%|gSL=or-WwnikftzKc&r~8jkBqTe7UKt3Y$xG7U51D!?38$x`XCGdwWL
zahf1YcbES!C;ubdZZMhb-6Viqod0pXxwWz5HQ`ZnyS2WxxsCZBw>P#P@;~0kpGRJ`
zTk~4$>s#KjKk{CLoURTp^vHF{7c82@|KXu;9bEQExOnHs)4;1<OsC`BwYBkldJ&Dr
z_*)~IoYzW^yw_nD?u8(Vuv;#kZf}myyaE5b>&cr}S68Ip<l8a6ye3WJwPA=3ZuF%w
zz8IG%kwx5zq5-lL*-Cb~SNNTrMkh(pSA&nkQ<OnFKQ*95IIh+}F24#)4-QmpLnGkv
zA1fFTi2Cn&fEi;e(TKj_Ut|VpRzB?(u&bC5`)H`ZcSjLH?Dy#l{zaeGb3ocrOOApN
zq+LmF1=+h^`E*Jd<U|dOQ(L3a>`Db}L}<zAQe(L!Xh*d>qc;x5`sf5Knz_1GS&RXh
zIA}4(Ab!EgKDO3@fTzqFY!$gw%SV)WiMWL)nF4eJNkL3&kQo-vr|wN><AF6Qb=U0t
zRI=AE?MN*R#YAJTiFyVvek%Ru_rH_>Pv+xkw038GAm88F%H{vWFFF73=K4l+%cB!v
z{r~Z{9{B&Svi?a9-g`O!*S9GD^TuWqPXEpA9XkJ88xQCIJ>`F967ck@n~9%Ao=ulN
z(w~HRT3K^ld4Dr+P>mm5%bU8A*QGiH*$G~7U;%?j4WjNHle4&~3bV%HHaMi9xL!nG
zU}u-E#%j34GZ&55eEGM&|EFtr*~jYqe{*~5f&c$%>pu*8y+Ls0PlEg4|IN+Kb-4dE
zTiZL$=JwVG-T$_>n-Bc|KK@9+4J<Y~$pBl^x^4=q<Xat9qyedWuEKLpr^x4eC#2eW
zH;Jw}44%oS4M#`JCF-*6NL96`j+|3&DJEWdT@}>GeVOZ4i=G7DHN9<8FtoluGc<Z)
z)eDf?a#D1_s3c=o6%Yst6a2NVKJaL*H>lKsj%x}gT~(x=D)^u(j(-%$`sW|zxX7#O
zo~mH4_pGgPQ<yLjlMb1%Y|#FAT$f7VDzVq-GMvD`z6A5ViixaBeu1ZO8p5gg3l}|-
z1=AyR7v<(w3Gd-(GOC>9%R_aGONs#{_u|W7!u5&*icM5%htHp7_#f?|fBO8Hf{8kF
zvyd5vku_*E7$C=GBSs1Vsv>Ro!XKSWYJE=2uR-YE5Lur;J5m#W{>-@j{JE44QlM<g
z3Zz+F2gIa)c+EXlxDZT*>xo-1Bx!ThCm91T{FnYDL@ZG@F*GCqT6%^C2emvDo0oEo
zfQzxzk@CCU*^r7L>9q2gynYOXF`6c0#b7cU1}CRCLS3+S5Kmp@SBkwSBPr?F&~vnl
zUIAr2k!Y|d{$TJ#*Dq#3vJ;q6I=bku?X5V<lA<b4;94GQ0WC<c6-jW4;{=>0OBx4-
zyr~NCKb(GhY@2-<ysKxmmr~vCGt8?9V{dgqVk%C6)v~z2SSL{R&(xBn^E%npCNU~g
zH|<BTUvR_*apotL0|o*71pY1=<_TPlJ-sXwr;CQ<g5)K0dvQGSK8$;+P;;`nQV4)}
zVNZH-f^E#`^=dxXtn$}d&DHsSugCGK(lfDfUX(i7TL*!E2?Lu+<g1kIOlmbqmVr!;
z!PM|lX4u@Zs;<LPcQES(ZPlS94_Z*NOG>F>ni`@WCK!ta$a#mJT$l!IV(=NOxa1?v
zbDVC}3Rj{rhT%IiHLF!mE#5*jr7c;UB!v(qLCNWwZ%>|>a8hp?I~y}bCg0NMp=E89
zc4F>oPl6bjUz~Ejmqrx7R<UI!hxfETky0%`;YU<WX8k%Az5*WuNmt?U6e##7i(JE_
zL3&T4QCHTq-gDZ*fnQYfP^l#u5u);BnM8WC#kqy@%+<snw~Gli0?y^bR!Gi~;V+eR
zRJ$BmXW;)b*K<{8iw2O?K`buvsEK_tjusYvZXom+n~G}^-Gk606L=7Nej8%XX^J?1
zUBO3fm9HxL6qIou0lNI2HyfJ*0@o&w^8_KvTai?~1R-EDnT@C7-cAKB9f8DYe_GqM
z-oe%yVXv|n2FfiU+bH`Umf4zW-~4m(%H?cDC1bwtW{BJw6$ezv!Nr7q>BC;ZUB}~4
z>(r2J$P*Si;592gq}Qcrq>l`$F5=gxY<!w>_rlijQX_;z5FNRk705&K*5X8}F^V_U
zG<GVr1sTp|vC#kPV{>cwlQ@zU>1Jj4&u;?0od;eib{hDhT2VV!QJ?Tzg2;llUZqL_
zDWZZLAn=L%s*yB+%9Ls!zW=}jsC%v2jpuKW+W{#{h=uDS(ux73wwY6}QgsW6e*nQ*
z2|@r%eOyI8zMYJ0=mbqgSt1hVN$$TT;W}2zKKW2oKu&~It2bdl=-ICYG%G`A`b|?)
zrMH`n@+y3t&fv;;0lPAo#8ih51mb=qI?pV^)P`4;9bN2GwHX6QbOouo)0T3hcANY+
z+aD`!8AavO#|kER>qgO+Fi88kB>NSgCK$^B#Le1p<WxT8Wnktu`ME>|oQgn2zBqj*
zqpQo?HD{L1qUf$UZ$WC~8CN0aGNy`pnbeTua4g%Z`p<vWQ63aji>4sEz1Xowbq*){
z6hobSj%4DjP^65=Xm}-N1NQ{XBX=Ce6^`y+ZjdEAW(6zwItK<I^xzhN+b!LAApg%F
z^^eQ`r+54O&g{Pn?0;LW)^<zP|K4n^qy2XqzCPIh?$Q2tK<px0yL$rCNi?)7d6QBU
z#SG3d%1_kyI<@Hq199iJEo|f?p<cNd`dv&Q_v+35L7l#};|sruKb^kXZ`QqGZ!6c3
zHs;df=5uXhqh9h&d)+}i^v6qzj%R&M^4vTGkRJy?;;P8`_9jPZ*70L6z>g)nM)+xX
zJ_>pV>c~-oIo8JpW<L%wi|~aXV>-ra1m{YHf34J5dqJtPuocLo)qy|k^n7pEt5mcD
zz6rm||1@5}Ao*kBgmZ)uoW0m%Cth_1!z!JJm#D}%52sig6rlN-@=pb<EGWIm_eNA&
zkL50z4#(jZbkO4m{V+4kbbKs<Or4Ds&(mfcCpmWQoYZ`s5XaF<*$6s|=}wO%*cb&@
zRbzMr=Hur2?x#A@W36!!TyuPC)qQWcj6%weOa9YSv|cB75xL&CJK@x>gGEzn^DwZ(
z-OY6??+2!`hNm^}PkZ!Px34*!h55GbygN};7!V}hmwy2~#CW^T180r*>7M6f{~c$%
zyxFwim>f>bI!(NwTs2RvGjA*BIxktuMXRV~y9uUUsMWn{`EjiBIwG3z*NmE)bB*eq
zq_5U=vtd2r41=_is!wB}3I9CcitZrIz-J?g<>$|~^6l(GrN|`JA8pJ;KML|RY}1Ck
zDXJUe?N`y2H;8}~)zwR?!{cz`5QNo0ZqN-~Z;JGY22#xGQ^pv$3KiUWV^oH66)NNy
zJ@l^w>Q8jlR~G?geoYS{o}xyMdoL*kF-i4s*Z``GX&llI2p%IO5pl^#)Vr|Cz?zJg
zevp3E*fRKwMuRyc5od6Tt|+Ik8_SByimDxUO;6Nf4y_#v+}WFlDU@e4d$#s2`*N;2
z&sNz95;;gqx+&${vjo*HWgp`+cP6R$B^^1J{O*XL!)1W^W^SMEj1l^%pc3_aUIlfJ
zm7=vF)k~bUwX!S+gfz#0N;$c{b);7M7gPt4Jn>P3`jiWV)S@N~{2@o9qs%&cit19y
zO;oaqByYvC@_P1jAsos74xjAD2DM_|iR4?#7;6z6X{pQ~T*u_0=)`41G8L|2GK*AF
zI)0MC<nO6Q_#Q6xS|z3I^5b^0IeVGnKMUm$^$_KqJ=qQRLlV!zo~sBYCQU}WmfOKW
zh0hxpO_k}OA6cD{EI#YLw1T2iaiosNDXdcFDp^0&%9-M#Ey0;1%B=t=@*4lMAc=h8
zUfIr2aKmeWGK^EIE-!GG%_6sYRoEk0TW=?ow<=G$lu(AzEXlgxa8#d9UW?mU9%fGi
zk&vSd;c!D|YB37qZHGNaYO#-%wx&)h0;&{^@IYr3(GOe|A+p%dPk%xAE?n6zoOYS)
z8M=UUlEw}lq?<x?jGRM_o#4!s?3vaQZlSin4*pPn+y?=%FCwCWFO&_c|NIyH%Qxo+
z|5L3k^U2`rT(wrSBviv*=ayV;;<2I+c`5vOs+T^U0AndLa?)`^q|Wjc!lxJR)CAba
z3O6@2-zh$C!e&-n7&JF0(3y0SIj`V(VvNN)mduf)4nB#j#9s0%dS&0CGikS!A9Ek`
z`A({p1}YlxLp=3|<EpoQz4Ma)c&@Erhdnw5V5n+pg~u?Bdj7mx!#a>zh&LOBg1vMQ
z#d=)G0?aVkvZ!>lZvh+kEcm;aMyi-M)nhoT#}n5SYqg>TD=!cM{<sJmsLJRQ$0<LC
zJN@I{v&WrhkN@F4ezp7f&F<q<@7p(LWzUhfQRE5RijsR`!BaRpt9)wirKJuVplRQ+
z#I2;V4%g6IkTE5D8nF+%6yMv!$|>VuGM!iDr?i~}2f_S9u5A1z#n_=6gX_5D%7tvo
z^}=1@bs<hQ6SECN#)NYc(U?4y-&L};MyLU)ZsO5}Vahzm_{EP|>}oEW73&wU+-&1t
z6RUcXc{tU>l{gK$h}ihVAL|Lu%xs>(cY~=qcAe74(($fxLN7d>Z+J2<I+a&Ek(ZH%
zdB4j)l>lW_lBqfm{K;NxeSM==x-rMSA*a1(x=nJI5j{D|&>zwRu6d{QaAdL|k9xM}
zlT#z>BkOYK8TFFG)gS57hH}$_A)C%|#RSO|&8OE!%BkoX8KQo6R>%4wd*6H7H-k?G
ztV@J4v38^F)m8PZB&!=&zY^&gE%`wv*dblyB}ciCC1&S!EPXrDbEV(XvqVoqUN_Ea
z$%~fERU-5<OIXg)KV|B2vJR^%yu!YrXpN+$ZgP|;acBv}*&wA4Owxx%S2>r=;(YH$
zmBdlpZL`wL)&{vVf2Y@e!KIhI6{Iv-s_b4RPE330Hy>dhDJgU553c-qY}9xo2S>EO
zP@Q%vl!@QqqTzre>i7kIIc=qVch`h;Oyr-rl5bj0+l4i)FKBHmAF#Ev@xK;a{GE4P
zGm)mMIap6>j@Fj0m3xZCr&nld|0=CGCFhk>X>5&T?!>Dz7X{p3&#Z|$)IWc<fI9Ss
zYO}a7?!06@^4^i~Gnlh&3gZbZ?F0J<=rVG>u-^|RE}Eq}t?Wkr1mp#5GnhZ|>^bCK
zvjweimrKu@@J3p^1T_nEO$&7=%P*Wx7>idWKc34OASbw4hL|Oku;;mGme2FC9KQ*G
zoV#pV_ierc63-ZQ26=N^rNXC+ucJG;qE-ixjLI;n&Ffz(Q?edES_UP&&Js9Ip{;os
zlOfVLi$R#kp2XSX>bP%rg&RSvfn4$sexlgNNqCNE;oeX@Fk(cc@Mb4~CREx&?6b;d
zq~bzwejxYg_(@*Q1P&6XXKhbMXox8iVRS?Eh4PjL<N=N6ku7ME*&75To{9o)+J7R<
zZ;L~Nw{_GKyoB|d%{8_0q&4v_1-Rj8kekw9In(fZS2Ss*U5JaxOoenpO0X)Hkv&J^
zD)z2hDl69U5^?R$DpOkvn&p{tB2zR>mZvl%w4;bkC<Dp)ZYrHJZg9Q7T{a<tie#t-
zI&BfsNO6oMTZh>Y2n*V`T<?nI_x5#?3tO0qD^MmFnmBb_+uqXy>n@58fzvo)cytfr
zs}256Wn&Z0M<k(Q%w#~tE^YcOOH-C{C_M7cP7Y6Yy<_C<qc2`3V$K-{5@l!xC~^Yu
zUV|KU=9LK#x}*dcgNF~JUR(Ru^?>gYgPerpF*ENz#g@Y>7|n@`C_pe7IFKHBzF@pm
z!?-VI3l{(yFmaWAAJ)~nxdiig64A`#wdn;Or7?}3ynhlL&!*83gx@Y-Iq>XRV|E=&
zbzsLS@#M)9%3zL1O&1_Q*YFc<7rEEaBi}<4A33@AaPF1a2&ZBM$dGRmR>oHJT=qKH
zq|UX5u^{Q3rjPy_A&v)Y7LT~-bW)*%z)C<43eEAwjDuBs(G?TV)kQQ2Fpa?=<Upmy
zf}96SxSn1Y?$@z0ALzl2)+WJCTxe}pTobAT?ZS3K5KFMW1l!4(aC59LD)7!`e&v%V
z|0ZsE@6d~bxz#iD((QSfsPPl={hb8e=p5^1^ccM}iY9iw%TZzRAUwaA%61)Mp>-hb
z=>&KRCGLkS%y}>hCdky}wFhrM6>Usj+U+a~q`<f7?5E(#OQhwKGa2^GW!NKZ2bowi
zvl_j;8|V>ep9A+0B&3=gpJ@;pfJHvPA-~1K&Wpu-33J^BE$2d~FQKuxd9Y0EyPOVP
z`4-XwJ^T4nl?XrJFiN9mSB~WTRE_1gk+*+z>J7rq1Z!1O-T;t9kfYX-)4`R6_cF*P
zMGV5_gkFSy(9#KaYLsg?bNkDB^%ZgEE9#{u(Tf^~6a}ik+0D!qWY=~5wU|2B?T?r5
za(82Y!2COj+t*H6Z4B{TRE$c)xDZOE;-pv$Urr?~(`Y)=DpIEPZafaUShtB|kq^Wk
zgTz&cE*DW?jvCzQt!IvDv8P}`55X1tvi$?o258`CiP;j<syOU0ZuP67sW|SdiaaE@
z;!x@&a>2zUb8E^v2qr2Ew<lnJRZe?&_C{Ikd1qd7FeZlfE}p}gi*t@YUZ#H3GVQZr
z#_^tIb<sJ_hs(6jx%QVFWg{UOm5lj*k(Sl*9(_{6CBTtXIeoqbEbN)y0(a%tk}%QK
z)8Da2iQ@UTKgNCeai{~5Hd*%GcN$DM4G)P$;TWVlwy;aUpef%XHM^|pxl+w28j*%l
zhZ|O-xG@ut)6Ml-?c?tAl#a<d+(m*?f(^?>->aflX1^<D6w68oPkFF)uURWORCQys
z@~yF*Gg(7q<#^^#jhV|_KoUISVOJ5fC5+Y<c{AT|Ajtp{<A~|xvyeDm`0@58?Bzfa
z2H5~+qi3<AnzX?o$YhhaG0`kInST3ZGxq0n5bq`NwbexvdcOO~Np}g=9P(0C1+q;z
zu9Y8~m8EUVST1!H8tf{)C8VZ=95<&!pY@C*`wg7f6E}4WlG`^u`|JH#-cnm)Wm{6I
znB8KroU%maTu?;eTUxGX7hy*Gv0>mb)oj8$0pm%hsK%*`<_!}y_Bh7TxLQ%S!b;t9
z$k=Aogxhx!dPz%6iQRqB-*v^N6bnHi$RI8)1y?}&ciO>SotAFu`M<K)|1CWJZ|&`W
zD^LI1difXk@OPWYzNTk?VXuB6D$}1dJp;m1(!@=|HZn|z3yzoMB~EK^r#|3)U<s<V
zbcz8CaEDvj=KA(#A+3by9rQ(Z8bz#sMx80J;2>AS<#1LuQv(o+<Q9{^$(MU88+Rdl
z0e;JF(1rb>={JfA<(p9*HC}F}rRcrLxE9Bs{60LQt)ps*SG1vF=UW*a<))l%d%v6p
zXgd?AN;U6P)E4t~wiN}7{GAW<z^E21B|;skyp5IzPR5ERIH(oWk)@JcNS;0`53`Z%
zVvKb;)+l2!9pcd>nG_kCBpU{{!&q`L;EU_E-<{49>zK5ydvU}bL9)qc)^J_sAI%%{
zg&(74z7vqK4s!(u!09nBgLZ<F#L?5)SS(*YrD<V_LkeA@RE?iAF7k<7$zWKvM0+QB
zA>bm=3<hE_>dht!jtbl^WScRvAaa(<bS#LG36C3yE+m^))@UhE`7BCh-%Yp0X;VYX
zhbrAlXW_#XMxQcz9A|zybW1?;2su}_r(``NWvDE?>l&LKqEmOyn9$Um#g;1-v7@<0
znM050Mgy!fx)GavZ5PM)uhgaD=ftd#EC;jjS7&GM+6N~m-ya`k<NA35+z_)%RBGPd
zo~K~tXii-VYn#boKnArH^+R&OwIF7aoUERSK07E&TbCX|I`=yu3a>y(IUD$ry$?$(
zQIspntx5AV%-8|bRcU?!Ow~LM8kn;M8a)6qn_t6fm@iOM$MhEzv$rs*p>kFG?3~kp
zTvN^hVtFnTQilUyFf!*vrM=d`7|>8E7f?&**U-%~U@&KN77Q?=6Vwx2MUyWv-5uzd
z3t7DNGdefvHq?n?jlMC3uu_+p>2oC){7MT&wr*(XzzAxoJ9DJ~LIqCRGYn&ie9dt&
zyW7b4etc+7s5m>#<n_%<KpOV;&=WShyN$%LMO}L}b{y3ov}S3+5!wqU)A>pgV*v;*
zDz-!~-Gxe`o29yU{3PukNnaOul%pWR4npK0hA0qSGJCE}!%1L!#VF_S9QU74@K{3$
zi^VJPF7r;%LFFpMCH-l}Lrr;SiYs|ioq)a04WQ`#NFE&GUlC0#A2H`hQ?KVbA}$dk
z6an*rir8}ce;aGaoi4b1r+blm8IwpY?<CFbVA&CzdeK&&QZ?=rLE|_UGD_FD>#U_p
z!O|(BU7o!hwsw_uVKSt3rX>Z&!9(+fK4o?O<EHApzx==RQTGDG)9@E|(Y$RQ;KliW
zTiZKZ8>#xAJ39~gfA6jS^QpbuUVk>~ayfxg>18+wp3x<FIGYC7;spzz@!lR>cLy^r
zy`n+D2__{G*fX<Uf?a<V04FE^Z4_D)Ai=eS1G00paz`GS4#FjF9gWxz8HF$e0%N11
z(V2|J@mzld@o|hHF-B2S^@KdE>HZ&kZT(G3iJFC_t=D?9;c(v0d%5(;>s|!iFC;Pc
zyQ3+2{?DL)-8~Er+3Zy~>P1)aB_8+4%IO&jcYX4)Rz5$blaA%{Bg3IS^pEEIS}Mt#
zkh?=yI%Ukdyd+t&u9uypI7S6Q8FAk>Nuyl%%Czj6Uq>@|&HmB0RlbEa$9}MJg7fkx
zt*=rIGO8+{rFYJMJM!LRBP&TOxhO{yu3f|=O70mwNhi<MAR2NG(qC^>Q7CcMrz%;n
zu<-gMps3bvpd~ki$GvJ&R#Fr7<qyaKmh^cE20U~?@s(rxfJCUND8^(1$OIDs0Zufr
z%ZRtp9<5p92UspLiuB&g6jY>wAnf&lN=$3xEZ2b;B*}?Cnr2H#=tsE;;fTnRb!!kl
zic39N0IBygMM>Q0ku|VVo+=J_7Rbx}kbF7WGg;40?GxMDX}saoO|eKLGf-68FtMLt
zc3G;@3>aE*lH8JE)SbPoriw9!WJrG$`l9OU`QcPJO`c%MaT+RQriyPE;3THQebtgz
zRU1@Gx9vk_5tXw((r9jBr#p!AibmLdH1Hd$RI2IsYXZgmIVmQ=H7qjRuj*_q2aFC<
z6_$+Q>-YiXac%MDSF+w68J22v#WZEplWVrt=<wJ-H6CVXx3JGb=(XA(U_cl$yZm06
zYh?}!n|B#>Y6c4>B)jJ(Sbboc0Fq$y6pd;xS%Z$#-7Rar9JmYvi|uA+Bv>U-q=in8
zA+h5axB@X?kj0n90kb+eipP}Qc1HXcD*_Je!vuRd#g^Hlq}`4O(KM#I2Nlg%y3uSj
zMY|;q85lZ#6y9Db<sU;eXI!cY)5@-&r0n5dobJ>Dghe_n3TcJX)M1e`)5J1{P&b#Z
zoTN~fUV=t~EtkVG!$Sioeab6CG!2&L(>DPkAFGwjacL)4qo3k*s-Up(o5o{lUZ_*S
z`>yA3D$rtMwM;CJf^IyuQk;*emO(jzmDMT=R@kRn<22~(u+t>9=QSOK*NfVV@=|Cd
zxrxhsZ1wgGddqrUxtUVlIegEHQv`$SHU_WN=m3k^xv{K}5;N&nJQ=TDYBg84Pfb+j
ztw|=ojclIll;em+d8O6+P9HUyC0>4#6k665H^+jFVePpUsYUi&nqux?uQ{_9B+HOy
z^#wQE@)Om$9i2jkcf$>NcPn>C8`7BF(jDpDdP^oNx6+nWgn7#?xm@N-bm}g~pH{Kc
zs=bY-c;W}>g&0V%X<9+=;(xaQww#OHWN0^ori9S+eWIEciA;5kDcxK8L5|1o%iWNd
zW54H9lr2^FrW_k<RIytrW=M0jKgJY$ySrke+}*{^w7ZL=;%o86bUNN$TZ;pK(!FSO
z$Ns1hP0rWiNq6nwhojT8HHPp^06c3po;TOz%Nhb(Ls*URFy;Nk`ai&9zzlIV8em=#
zR7^$`XpEP{Sn~9Ag07Fj;^CC)%}!8{BzZGfQX@2=@<X7b(urT;(4|S#fd#<SOI{b`
zI*iAP=P~BK@v5)G(d@d0`4=!89ePb31=rJ74aP_#WJu6?G#RqqmIi<lJX!{6yvTSk
z{tvFE0TpG$0Y#W2;1Zo}rz&a1JesM%bsQwDY<Cil$xewLa3d-k9l=wEN=pUr@H`FZ
zg?y;Y+oZZUoBVeMld5L#wM5KGow2lMK8~yx@VKLi`x@lpxoQM%m5_eAr*+gQp5tfu
zb)mJ<cvXE&)tgaCpwwVFKB>ona0`_{3gD8wQ6Cdje_GNs!0K|iN%krYJJCz}j~P>^
zkiO7rX|IfNyU|aqFh2F8E1m(`sJKelu;!_qS$?~3bH!6lo$H<f7sU<Txn4LKh2v(J
znloMz?VmDEQ}$!G*qM6(u`sh79W(`)%1Qg+{n7rJ_y2nI<^AEw+t>fdNRtS&KqV0}
zZZw$L+x^z%+3S;o@7t%ZpgZIH+ZWjkg?WOvGLD?&6s&<+bO*pMbCJAobvQp%HFr3+
zA|kuf3nQSmSfp8ekl%8Re|UcnYkc(gKlmCS{k^vECb^Pe$`et|&|*T;)r};{g0LJd
zQh;v7Xx&*93gY&|TN}592x2iYB$=rkO6}sJFN?c=0!D}KEti2Zl249;JtO`Y(GGNH
zioJ{I${YHlx#z3VMYCAv!$Vtta2<4Kcm+$<L&Nr@jx~UeBa&^|l!-K|ZLnrWTY6I)
zKvTgJ+=h$*ZQUjl`-J0{DQjzQ#FAwOqHbuJ7&XeO8M|YxRP^-JngCaPk6Kq{AzP3?
z^N~uqnh*&tLo$EBAodrk7%YD>O#$G|;tz0`b8j-E+_801($FP~Vl1u#9(EO4qk~@x
z22}-~jmcQeTqvUx$nt(p4n}v51q+zFk#mrS{S>kw>qyKS_G|HSM>Y~7R!g;zpNlgY
zzG2#Q9iHA&)#2()e<gx5=9X1R8=H(gUP4NhgS<ec{kFNqgtH^bj!)AiC%=Sw026h(
zRthJ{sI2(?c@Q@+W=L-i=dP$DZo~e3AFi~pL9YBSfddw%Bp%;61*NdB2U2x}@fs8U
zi)+3aZJ^1}y#Rmno>4p|G416suH_8zDEC@JpST)D7gQqU8ZU0Z9Wg&@T@fL!hRr9L
z0NKgL@8bc)TM7vy1qn{>8P)Js>=gOta2WJL)ZqG;emL+u;UJvOsXy^jZn!r{E<b$4
z;rN{TlU5r^HJW@OQpI<EODuHZXdSJua5s;Tm5rvn+d_`(>qirGlM1I_mrG~vxyjHl
zn7%Uz;|t(B6X+3>OZX1yBlQ}kQV0QYU9LG3N!C^*tTm!*!(l7)t}p3*MH@zB55iSA
z5V%s~gA&3zwpgCTW5^}ahBZ^>p~6GJnh?}0b-})H2##g~n;Y=4fb;&<#fWlATS&k~
z!o_GXpAK(KT?M7b!i2RtKXj$ATyoOi;4Zcj*DSW>@`>!Ghm+c8A`YN-9KIDesV-EG
zcHVG^g>r_}F;ney!EFKwCC&1Mvnemm6alSr?T{UhigV0$KF4hhB#KZ;?k=q;7dQ#+
zQ3Crs^8WOvVpLez|DV*xw{`k2?*G5B-bDZZjm?dX_4SRdEpNTKwXw7F;QxP5{{Kt@
zWGn!Z31afAcYDkm9`ASTPM-sLiN`&ej8tkF{f>M$Qr<Yi1Sph1M+(fxfqrxa_?QHJ
z{naNi(F!mqjprNahpXd==W*Su;E&Q;2T-B(h+hBV>)#GX{mA?4o>$$dd+RlT0~=v4
z+u|=?wN>A$m44!~0o-Cd@TX{(YtZdJM#EgS@)Jm;6<~rGD~^N0dpo^kp_=oDm6B6c
ze(%1c2Z&c`V)^<58^MAN=x-}8_;DwSBp@JJ7I`>8ix{sFeJrH{0t~wu`td7|UHqK&
z<HcX`_&CI9+f+1wY16`XFi7B>ZEZ57xBxsk(+{eNRS?LWo`#Y<Iw>4z+BJbpNZezj
zosS~QCO-fHl05UtILe2IvN$6woy(t8b`ro5QidLOPGnggkJl)c++bC*yusI(?UV0~
zvo&*UGo*|!1H6e@JOB!TN+;mW9Q_RDuijS9G0wv-aZv0SFhYq^hcHtAJTTlxuO|K&
zHH`gHDt;h&tIgWN>J#+kC9mF8Zf`<~?6U@bQ2o@sLxBS5{()QM<znoQ(j6GeKrZZo
zW@ya7H^EFL-hX-=>jVT1z4A1?|1{>18h@kRM*AFjvi3*%+rk%mQJ316AICqAejG`%
zJv}=DLv1pqy9_kblUhd0OT^k{(<q&efuZ;oByCREM8Q<>`ZM9Z9X}3ZO{tc{uI%JW
zsi3<sH>bPFz_5=e!Oyd)-2L6j1o$n<knBt)fR46q!?0Q6NkIa(OfV`nxA7D0#*$Ju
z==-yQWR_l%F(L(9zg)|6>?6xSYSg+kkTq#@NfrCctS7s^jJ%-V54$0VrK)C#-w!-A
z8w`ReEb`DFd;Z`&0%`eTSoi$Kmxj-ZiZTZ)F`A9AB#`+j(?h}#)m^0@&EPi<>n%xg
zv9MRBTmilCe7IY(ZaBd;F!9*?U;hiP5uA+eKS>DQ6|hWChe1q<zUdYhO};Qcl>?aa
zEWoz+g#}{*DpccBH7Dk&k)>uF%;A+7H-<k+YTRll6v9RCeE>Ef1$kPHjm8E}>zsx)
z@&1GbPlo<a@Ka}YPQm6B=-v;nIYR7hbjdix0>eqYv)&}U#G?@8kkM=^C&Rfv>0rhn
zJTU?q#+pnnPO=+OF3YY_3`JtPitRWKqtv>91{}8$a*ecuB)j%;!t8(ktF&Mv5CQNi
zA$tUNs<~>qCPVI((#%w`n`a%>LrOA`EXnj|yr*MxmJYXA8vh%@PT~aAJ1ZkGS;iul
zcBdh|7}|@WezEq&^1<Qxt*`=1SK;<u<ZEUa#VNask<j#JE2om)0E?!C!s@+h?g(Xm
z@IuKv)M(+BC4-?-c$qXXH%~4@@T@m9&{Y!(38>_S6r|!Ag#=P;Lb4Jl70D>%7@8xc
z5Y+&nY<w=>O7H2y<Z>uGA`aC#T{NgF#j{-ju_n8gBO{4*Jk&=Tjw`<Ko1%xZqz_6S
zY&!o<qG)P52>^9!2R#%~(N(aFvdoxr;BPoWMl*#bQ>GhR_JM=!TU9m3_hzH;=NUVn
zKI1D-*nvwBW!%@NH76z-U>2OHFLe?0c-gE?dVs0X8s}wP+LU}mFXFt~<;G7@I5Gkb
zV?!!EA4DBYLI_w?p_qixj0c}}F{Z@f>fWp0)j-33231z{7+%#=C#Q@SVev@CbF*5R
zP5aNDS8DDo+m3`Z8Av&qxK%^AIpQKTP!7bQ%1d%@jlKYdBnkh}bU<>@#2=jp)uzyk
zDHPBf4V1%1J%;sheYf|?ya|L8qhDGaCeA1PGB<Tz-pybQ=A$MQx<m84o+iXyv$X*c
zr!T0&zjapq)LA!e2jdzkjgywyAV8y;z?#m+gY>4LM=)n;ldNAi3MO4DB$Bc)V4m~&
zm}*_(E5)P$d83LO$UP9PE*Rs|f4s(YuHm>^qYkghwR=2m#A9HU)k?imTSYjK0qpI0
zs3h9WRp?VArAo>l95h4BXN^M%&T{<yiWRmIFxkc(;L2Yz^~PMS+2D~RMrJZ9xzb`2
z4FR%ibh#qc4<eeepAM%mQY{}1$J4p!E7{*lGR5MGQ5tLSv1jzFw#9gAQ~hK%2;wRy
zz^Z%nEl?*Gu00*HLcyY+pl!|#EwYzlM-0oAiBo3+v^SjbFx{0kc1di?!)Ls!yjPOJ
zt7_#*r7<Ek>!DODs(><F&Z{vdV5I&U$kNZ?Q?2fmRTFQB7rai8WSB8*QDsW#F)@<=
z>2s!5H~Q1T`uY87-~CK~sXol^^ZKJ?p!t2N1iknq(_addo!A_K;>N7I6zK?Ba(}C&
z<9PWs2h7eF2qExCCJ<z33XZ3?g?lKHb31=}G6tzSl+4c@h;yz~>5!nBSPFZ~a0E2#
zdJ%WRk~iUQ4`f|nskq@XaAtj!0zl2uEef)Uq?}%i*9vrE)ofXz7s-RJ32q^7ury$T
z8=<fCrr?5N2r(Q@7w!wGXQm;JtO28w>N&`HHh9VxSYWgmn<e$ZjQSxO*e8?M<#Xqn
z%>cU?f%d@u9PE!60%E5Sw*wIut{uHa>nKe$q$x-lYkd^YY$EBay13~sh&3*tLT+FZ
zpAa0Cn;?+sb<l3uuoa?FPdt`r)<AArAg~95$*bVt#gP~ip=(6%xn&M3?MA~PCW|Gv
z2SAM6&!k)FMcf5fq;B{zR>Tbx>xbuBT;Q+hq1+wJdT=VRlHIy=V%AiI;Bn)bxMc_k
z615a}A}L2##8xS|h;ZKcBalHRmVf;t50mC9&Ay;o;HqmvdSr<#Bn|gS{Y*mtUS${z
zfsiY7CeqGR1#^iS<V$H`fZjRXCynZtwlJ=ytyR2Qu)|Uy;YhI5z*NPgMz7Y=f}Let
zR<~W8dn299R60X(?qhRf_miWPM;hL8K-)GP7w?niHFK#>1GPeECy?zcf;$o-+Bf=r
zwQQOPs4N8nGK0vEx@9(7@FNV&Ad(AY2hdt`KD2XPBwQRu2Z7Ee#|tDqaM7h?pC&7t
zz%i9t_=D_|*w*CZQp-3fF+l27ji=d|%_6yUo$4&1DI#S}yJ`ZIHdY@uwIX@O)Jb5&
z&__ri7__CV_c=X&k#}WL_p+;8=xyGvR^P($Yc&@J2LY<ru*?qsfJK#T+r4a4gA^rk
zxbu>q-c^s|MujRB5%4^{y}6jQ)soTio--*jQ}xcZ5p9^xsSBk_UtBQ3d?~x(xCgZ%
zj5h>S>W)i5IN#cA)Fq32Joe$bjbD>9La8C+L=UN(vNx<wd#VnBFN4^03l00)zRYHU
zN;queCzG4;JNRn@o|3*e*`G6thEfml-;${>gm*LAYh2pLF)nTu9yi);PAJfB*FFBu
z9taC^ycrOvXA^|{pkO>CLw?BrO#Yw2^>j_yFYdw*bg};@`%5<AQFFVszO{+@pSO3m
zTMz!9zvlYmfsXcoufP7yjjio<^8anZ>ThoEVE*s*^@sf5_wvW~11)Js&hvA_Jyu*p
z7kb-f97j3rtZH^L4o2^TIGTYJ@m8I@a_yq@pWJ*&rfDhcNO!gue)mf-;#5O*?@bt^
z-xED~hvG>vO+ia#wbx0s(`j1k*&L%59Q2b`FQ+Y3b?vfMDgh2DNef{TrNr0pF_=`7
z1Gg0WO2QaN(LjAxrXmh3V59S)Y{xX}s*CU{f(f9)$L$<TDoXMwW03(vp@P)!^x(g!
zTf^^=Y}#}r^a8Z&VKsBO(qk^%MCMSYRKM<x6V-~9i_FiD<VscE&H5IJvGwPHKY&#p
zVnjLsT->HXm__&Iw5^HO)Bt9=f~V6*xbmkb)|x!Btd`Zf$u+CP52-pFDbLF*Wo0f?
zt>0wK6>kuBFppH(=?7xv2GHVe-J4AYqHKtL6vSishT`-vjHh8&s`g|DM+8FzyeG;5
zz7k}W8v2e$U$c-LrS7oKVd8|XFqg>bLniBNIMwIRFs09*txit=`}Mx8Y&RN?2O$QF
z^*T6t<2^w@>fL?AX%N+11}wN3T}6|g*0i7#09UqC<=TT0Y<Sx!iPyA-(QAU}RLAI;
zm^{>#QzY*fg)r+fh!}y1v8O;rc#o&T2^KKF$00yeVG-RAu{g_!>+x`A2_{N*0>z|U
zfG1R0NF;(?HhwnjU`lLb76~n+W^smU7<|b2?Ex~SH5=(7-n6c&qCM+`oCSOqF}Fq@
zedi=W<b}>j(Jl{lNkvyGFNa5&D;bv+%&qps;&-(o{;5}9(<f)U*C8LyY&|3Qh%(+1
zR@<60B-U_{KcGN<OdY{_CZ=i;E2;vNSTwlCrhXIl6J{ENzcJE<5&5wa`wjTXC=|xT
zf;tXv{M2A2R@4AhA|;wgYd^AMyb3%D3G`8~Ibt7LV)Pj8H&UrCEFgFoE*pk56nw#@
zhk0ajg>f`yg*?El^WF?b@r(+7W2{k#LG}IwU8o&^u(-n{n{X(NOCEC89fSA{`uq3|
z{@li+P4p#I0aN!7P9^J0f%D^+-@vCsyE?SlsL=^WJ*r)q;cte%0b7<F@bd(ihL%o9
zk*1cXo*=)LCIWU#*Yv5fyO7H|+e4-p?`*5D=mAah3}31y%U-7;E>Zl!dk4{AHXMls
znGGn%Y_tJsXA%zKtiX}8aiTal&9^kvQ?goBTU%Q-mPK)>d?K#^S6Ll3SXhDJj12KN
zhAAxIE<xhbYj}JKL6g)CAbudV9^542DM)3bsfk*fhH6>TXow3ir8DV=lXz;>QcICI
zy<j_PUik5at&L~zWv*zL@$C}M?DrggUmU(G<eIx{Sa7E;qd9Bc;GK^0kW3Kn6s|n6
zY;6U@Ng6?@+P!8952x2{w)REVLs5#Xl$AiB556_jOJWae?At^bNyOK@beQ&WX9dq2
z2_E|c-*Vx8gas5aZHS~rl2uWXN*yx|V2Npt@l%zeRU!q)(TuM<j(h4C)xY@fqH9kn
z!?H9%7+5BekJuTDcGZtU#tj_xlC+$vsmAHvo{i%LFV`BJ?F&xlMn9N#FF=^8X7c~>
z09^%a^p41Q?&WNxyh=DZTPxQ&(ge@L`^e1alPfx*DhUJY-pQ$aI68SLpF~+A?23PM
zqHLUL=MW?Y(Rrg6bY|z(@<B8kAhjVC$;(28x?VX|dgof8<=VnY{_|fsISk!Puz*T!
zcIC`E$SL!(RWb~y#=W1;>Z;izmb9*r1Zn?xm9`Zx*cE1%ZC5SXg!aQx989LwgqV}9
zkm5Fk|2>V@!c~;i@w=z=V+{~Vs<p!J%Tb$py|!#gvzx)~t;=ZO(yY~`{2;-TbNDF~
z<;}h3rZsJ0v(ufpA|@9sKF>i4?yfMQ+OmV(I4OPzC_@M^Y+o+3eP0!k!<;l>4{jo~
zcYVs`Jgs}3*%ae3yMa|G_Yr5{h8=NE`9btuo*Zv*B@?BGqznqDx)g4sv}ivsi{0^@
z5i&S$4h35pN0bj>X<$<E5FkAs9RplA@JEN$I_5-1^#xg_X%=jGPitP2a&7vP0MTpJ
z76sJ;!L9UrvHzS$(fJ^_n=CL(?0@jvHs^n7ZLe={p#5iitF`rD|M~UpKfhgzPZ85j
z){axeDAVhtY%kx^R=A1fMVnXPJh{DDrPnbfD;VaDEh#j`cAL=zY_uY~okF%yy8{a`
zZS*>oTIQ!awTw_&iagT@p06vJN6OA=q-`Vx>>~?|97U`aJgbb^;%g|j7b{G89uh=K
z&U;#_>}cK1J5?fKscf2vbvJpNghY7r1rT%cRxLYV4*aq;bX9oqO#~-9`g$kRa;j&h
z+SyV|6A35;o>ll-Iv4kLR~i=(VZ?LNRv{XTQ2V;NA#?(!`=Y_f4v$`Z_!iSj;bjuI
z+EKrc+VIQZb#NItYm_{ac~TO^I3coFXOEV`FIbiYBZa#c81G5DGOH(elzPjT_w11;
zTLNx&WA;jOC?4)#YxPK{;k*jMNw2PiZmg&Si#$isTio(j>izesdP3>ix@I9wwL7HW
zCW5b~u2Z=gE)mjiRt==|IEc9zBT1?_T+*P`YImU(s^w?u(7V{}uKS=AT16?eRO^!=
z=&GXRy*x@bUnP<-2&Ok1j`<!*c+Gi98BF&)TMy!Htxng1%`uPGooRz^zTa<;rCZJW
zri!GSPnajlYNkJ&?&v{vR7`cG$8X&ri)fIzeV!0nx<CETFc{Lt=-q(|Xo>!3YjZ2(
z|J&Sr(Er@apM@%%KZK)hI?ZoMk$y@I^hWK7j3y{Y`_mm@W=4nC?d?@TYKW#(rH6f6
z2ix&{5O#)LbehfdvrOyb&PyXYMm<6oWOo|aa@U;J7Z40ac-17YuNc-8YkMqK5|x3f
zId^+^4lv?b5dR0di^XA2*VwA4PDt9U2m&f)=OrL_?z!_faF9FgBEXBN)ijmnsnvpz
zu9K@d9%r49ZH#r3uebC_Ug$;aQopUPK1<(Gp>vn&(#fc*W%L>hV};LNx#le_0DJFV
zqr-0R{@g}6n;nKV=5oh|utD-wBKJr|D~$tsLaVP5PW?xv_SJok_R3ngDe7}nz|E+Q
znc4kmp)8Jxg#Og4v@7s8hV)K?@c<)ND_*7URes!9Z~fTX-l^1XCYBGo4V8_wVU7*o
zsFjLmi&UAI3jj?GgWohxqm|NKN;ovOFp{hSK@ix?EkI>a!24r5g)?k`<e@7uXcyJG
z?pbN@1ULaxTc(*R0MuHB;uo9*3F*9;DQ>&?vZF>Rm)T{6l6#j{aQcH;e1X~i(<#55
zH>cd9@%jX#0}M}RT|GUXjp-1@>=lycqwhh7a@1iz<yuBuTjko7%f<d}gQN5Ae;8zR
zS2bXk#D6x|o9X-Cc60k7{_`RJ^LHKpxmp0I%J>i4?k1iF7@KjA@tyY-(s^4agCs<!
zE=6t)(cSCJSC7Ah_vK1eSJS3chEgxHz+DHIN{rYy2%5~~AlL2(sQpd*9M~zZjG#)k
zv|ok^suNT-N=A?$jy6BC^7H2-a<usT8Lxq#KOg8YEc}Jya!Tol!9~!{xPc1k(WQyW
zx@>z@;8Yr^utTh*z$))qJi{#Tr1y@H%u$fg5p391VzF<_u<kSl@!vgy&=&tBG>m0P
zmZsWm`jzi}Xj{c^7{~_F@4z2+dj2kLg_^@vBMZuicd0y%cO|2Z0x8>x?p4KIthKFG
zMnf>}-g)DX6NIyOvk;uSb6}7#XDcoyp(-65vxq>dR(r!^WiN#S>%ObPanxSW?&Um+
zhftY6aH!00)FXl-U=+<Vy{o7gH!>``=BCDpcL#AZc_A}jI~IncU~E)KWK3aZPyl5N
zvVIrQGRu`RtkkjRWGZ@Anp1Wz3~JT0@?Lxl3c48lZlh9+i{fe_DXyy}XHHCu!c`TM
zzrYnbNv-&vN9t$A_jnevIES|o<isR|vvrEl7po*7_Mp}6rQvyp5!YTw#r*3UFA7b0
zVf{3V(h4E?@Us<vUof)Y9e5AFt{5Wk47R@&7zwb4Ulv5yKO}#A$p4t=f4R8P-KBtB
z;{VgyXf;v)yWMQIwl|tB^#9p>sQ-PB{y)m+!ZUnfQu<sXiN?6|rPpt%X765nfB3RR
zMQyHA5n0mS)RkTg{cfF#Qq}2mn?DYFTjrapHNIIY0oQ#UjLxYX8B0DO*iw0Vv&OY`
ziE)hLr*2@^>jJ^!dj%N;upmC-au-P+U!z~MvB<`Y)RI(aC=oQ5jcq(HHZ=Nt7~JhJ
zOL7O*aQHb2N<OKLS%gkzlRRNrj*}wOPk2{J#`70%qs6a~8&BmxPm-;DV!j&<=E|x^
zg=aBIHoP8tn4~=N9{0RXIE@=#B{}6PDwT6jr$^(WF)@e@r0@$zl*nvK)#Z!=-6oJ=
zbQw;f5e`MtE9;>@@t)UIae{N{i--R`ieN)Oo`MuaLSpO>u%MnYM=GVpBk%2tUG(_<
z`^kIEC<b$jIH48_aZ@<ghgk0+qMs&!xM(<-KReg+qF3rvc2?kF=6+P$MsZ`tFH~!A
zQ^X6f9}5Wlgvq8@0on;bdU~tV#f5!=WI<r*DaQI1un+=91V8OpOukm52x|?aP)B8g
z0|o68hCCQ>d6sZGXBBEP%RS){3$eCmAdnsB!tn(+1^^mZ1EXY;b+QUZC2u?kGIw_V
zYqoh?0btqrzuw$P`~U82H6PCZ`}l(wDLG=0m2z@;<{7hCqHw?SFMW?$;Q7QKU(CHD
zRar6is^1+P)f%Oe!D~jkxP+L-cylWzNZ{VjMr1`kN*HmS7|YPV4u`X$aT=gXY!D8^
zDc1>aww}|e;Pp6b<%d)B?tv4eGzqZaPnWA0usH~?wmgZ1y&^|(91_?FM2xtUwCv11
zbv}>B%7O?79<sxD2A@+sMpz}BSZBS|i>^kboTNDB4<j`LxLxwBz5|XKOP*2hT{H;0
zbMIw12;wr!38%ABy~JG-AI8GoSE`;DzQew&t*vcDhqr%pN;7Mea7hWmPk`v_RH@Pf
z;*{Cvjd&b%Rijg?L<Yy*Dg0RXjxV)E9e*e(w}7Ag$;6+RN{_r_l>(K|^-HoJp#cKR
zun=~C2_{ioYKND=(o^uN45vX&s?F`XSLu)&AfCX91XSgNDN(C1(+7AwCo~Qnt73~4
zK*!p_+55G((L2n8Iy#peaPb$O6)Hr`S+Xw`zE&|0p$1-os?x#H+k^N2cz4!*b8>i8
z*O2NS%*t^ZHG0uYtVK=Zt~I6+SEE85&Lg19^RU|}B{Ch>!%XB*5k5?bPI5W>*IZ2`
zne!X}dLKz6=q0Ulr?0X!hNCKjsv`l_yfyFn!^!z@{#)liU-rIw{7-AAwb9DN|7<**
z|M&9e(Vy04@no$Nj@HI>r3U8o?8!5@Qz6&bg-b;@4DpxJqr3Y9eek^ih|7ECz5D*)
z^wE}g*=nqN@8DjF3AUfT@G&S9SekbjOu|b#SW5WjK{TFE!t;x%S3RhCEubmy@XDW$
z0`H*Vy$+|p1fxzcL7n$sdIR|SU-Wll6iojLZ|`HqY<wI2fZ||6F_Div98oYChEg1o
zGFI0C31iHv38?79zj(v#VZryXGn-1}WgPXVS5)R}gmIQJ!0AQZS#rgt+Cn3cBW9Cv
z6mvT~5V7`TKOpyL;Nt;E8X#Js7i=9sj3?1$$hiQd(7E4%s}_xirw+IFunRwr$ALeg
z+~4R18;wJ`iQ|g^2y+K8knF3}3c4RB^G-tr2y#1TKU`yCg0!<&N8bL2vsZA@efR$4
zZ^wrqg`B-QKJ`vdUY`B1|NhAP{CWS>J3g&cy#2R_@ZUeYqrbm<e{_0!bm+lbC_KD*
z_xc#VLG$<fZ_kd8PC?{&d+_?h;qlvV>)wkGXWrYBGw=2Bo8vQRc6L&yZnLi;u#=bG
zo1^y!ui%&c7ss!U&;CLEzC1pA3w?Soq04>m-TwQt<AV>c_hHl@-oHCJg-O6r506g|
zUhf~jIXZ;9GY;%6bnG4d?da{9clv7o^=oswFOFbD`!8M}F-(}(;qm*UgEJhv`b01e
z04Xq-*LCmo-O<4@emMI35e$C+{Xgo6f`gN{r$_(&0UE(W?{NRk{<kofs*M5wl|}*}
z{NTg;qc=D_nD*(17pG^(XCKavyl+oV4o?yE>CyYY9UmN>{)hMa1ZEGdKAaxWxDNNv
z_NjM(0?2_DIHwP%$AqTiw`WK1-+y>_c6{=-=Dj-k0gwO#-T#2AhWI>rOH*bFIC=jM
z1dZq*jMu#%ULC>j?-7GAyR-NEh>g>;_s0ikW;5vW?Bx9!f=Q<9y*>K&_3^hLY#m{P
z69n|b@##?w*68>Y8ys`zKkP%dA878lE-*GB0E+<Yw1D36OK<=1Z^uM++#Z(w^jJuQ
z(0A}kklzqK16LHz{~y852}ir$fj{zlK0duuUU=%GT1;3Xa323W*oB`(U&t4)1`B*j
zLI?RSX(2CKT3LE3zkuNVh`yud1q;0;I-ut@R^)7NKEq1{HlUWQdlBVLnXXc(F&tk^
zPz@Dgsv|B}+$gg`r^f1;jaChyfk;W<P#;6%xU_q1Zr3E19WHa!^7wDmP>b|1Kj7F`
zES2LIl)2jnFAnM+3fqt9^+tnNO7O?GgjxoHHhNgV#)so8l?Q}gEc1lQ3>_Uh&x2lj
zjE3upf7K30n0lam1Uz~|xWH3t*OTU03Rb`=cnO5MJge=>z&$i8j;3B&op#=N6!psV
zl$EWicH-fx`z_x&4ZaG|Ks(=MO2Je08T`Ms(%I_4SuQt0?|m=`kW{Ld&Bl7ohPu&Q
z73z!GIo_-%2GC|ro}C^67lci`OLZsS%|+FWx>q5mDjeqMuG>$Fan@BiinbUp9!Z71
zsnpNJXX8n5NfD;fZ_SJ0em<HG=BP0pbvfr39K57afIhc32~KAY4;owt1LlcZSuB!{
zqsRlT6t1MZCAD}bU?QDFFx;W4$S{tBSuYYztsXC(@O-sPOzQ)mPzujR1PLT?8kkp&
zBRtNUb^IIE2Pg`_$E{|IDwg)c5tanT^b^ODgJ=+b;o*QN!@jiCrAEgj=*_yKXi>Ug
zxT{WpYw{kvBE?Y56n+i2<|)ZtcS^*ic3Uc!wA-+0%RnP#v0}j@&(NP(!WsPT7qL0P
z1)T(3dD3b5?Tg@=9}1S`5q^WcsLW!pW`I!j+V*BJ0*N^&6)}RLqW;yJ{R6`chCktw
z@Wr1=vg*Scs0!bFZ7-J_KSgkL|Jc2lRDlgtuWR1__VB~JRwGffdR_PCHKej%!ZAbm
zq(h>FowIj_Q9oIW;=3z|;yT2O4u_OsXG&@}-#jyr$b3G5s`!};=#Z1P)U8Rvy1IDu
z)~VX~c@R%UD_Iv9fI9i5M!$%(4E=G*V<5_BNU+KcMF<cTX+8+b6F6@s{v;gCpT*%X
ztPiBzEFG-l>-WU{{a7}fHG?&(aRO7oeKH$`xaQJLOzO)yJz-*iv9e>}hqIT@o=e@7
zq!A2T>cW>ws%j2Q!-s|!=uWMUE#fRaL_8HbNz|}mmxfN$<EcB*-AI;7K%$+@9{?AC
z852|TV=k5+!N$f{g5;#}$oYsyM<6ORfQrE@<K()+-aN3=<+fvV{T`?TD+ui(9mR$=
zmbI8NGQ<mUKMVum@%XW}Hzm`H6ErerdW43CBI(>Xj0A+k4%LK<yThM`iI6F7j~OTI
zTltO~+4kime<h#YYpS|o%0E;84vb2FMu{ioJJ)tLOgAz|NU0u^uc@Xn)_<-p!a`kI
znkS9vE@%F3I?N5@b2}>Ko$IIqN(vh14dQ>#5SM1Ch3WHV%p8TlJ=Mn^{AaI`p6#9k
z8?^?1OUI;=u*##SL(v}k`#|*es1!#R`JU9j!pi{eIX>adu`7pL^6>4sqLluI$FjsF
zWq1_qB7U=MgpMG4lETq4wa%=cI9+zo(;jW{ACsqvhjy3*QBcFTv!Q+l%n%5L!2gBk
zlJXw*p6;b8RAaGw@2}qabzlCtDk5Q$E0SRJc}2<%mL*E=R2C<2X7>ltm0(6~XT<U}
zio5~vfRy((O(&UMzZyE8$D9SWSEX-u1Dg0#Mr`Uapb$j|IcFJ?71$2K6*PcmA9o3H
zpVE7gAz%YWY_@@{2DA#(q|Y6s^VIf*QbQ|wWatfNF~%=)&P_P-H(F#E(`{gvqmOsB
z>HP)zVigsBOcpVj+J^+8<4Ir9o5d*jCp!L~k_=TX|LJuZhvf)`_+Ztg{|P0M>j`EM
zt+wi3^Qi#KxK0!w&WCjJR~3W7!V`bDnrR&46C1}M^BEi=0_k+R3QOP@8lJeqLNoHl
z0H}TsS`Yn!5mT2KN|F9x|2I_cBM{=?`q+9ha)+YH1Vl(>q|l2pV3SQVqhEgLp@(bV
zqN`JXgwi`zLNfS*(IO>g5JeCzVzk|Kg7FDTHmb^fXW(1uU>}h?OC2-cb)(TGQYl(;
zQBJY~WWqR97Cmzk0zE}D#<2E`FAbK)s$~LS&II7(^Z^s8x!5@R&kC<HI&@FJoHrR>
z1@|;WNkgJr@u4%s0)t+#TISjF$e<D3+{ddil{~{-!_5W5F$oN4U|J_eURyS}g?*;5
znKb>2*Iahsx&Y$_^x<=}?97i0`$D%>@?5T*XKx}mwK(8er+u2oSyY^EW>87`kuldj
z15KHZCU{W6-wO_?b@%CJ@FYX%u|jS%Cvt{7VbC)E&K#B9yHe5=CH%;fsB|=iiLbmC
z7LHQS9Oy~IHxQJ1l##2_&u9H?G@iy4dr%UJNMDGzE#}V>3~t;^jD$A&!v3s7*K*jq
z*8*V!J^Cnz5Z=Ta<`q3KPAh{xlEX~+G?5j0^-btTO{u<;_7%B?iSveWaSc?$ak?)W
zjyuh7SSU%ZW_nbQJmty>x6dlyE1uQl!axHNr5D^$CkPicQTnb47-5){f?zPsR(6#w
z(k34u_^bkHAK51s-F)#5D)ne*@iW#5#j_5aqKGl!kEP;_+{MHdU|~1Kc=%%et;Sx~
zQ=>b(YijNjdD%H^&z4CvJ6q~>kN$BUS=p%yu`izLvbiL)KAYfe!3(aZ6V9qjs+@u7
zYREKe>6Tb&q6pq3qXuQMk5Qtomj687`qKJy*%+gBu<?5JX2apUrWTv?n3dtBkFDLU
zPdO*n9`exCoy+9fo9pWfqIzYih>KvMOLI)k?ONvEmO%a!^!xZ4<GD4AU8+DET?G^J
zFb2W0j_yI^g9mqK^FEP(yej(yq9Ao!v*x9HO^*@D!<Yw&7mfhnLOlyjyn$`+VGZ7d
zu?_txh_%eteD;~bx&}xy0mjraC8#HWE5FkP27P`J{`6%q97W@wC-HQ4d38PiW&g#&
z;nB-)Umbt<{p&YxPu~6a`_r=zfBWI@|M;KvW@}?}YkTMUH;pysc6bBA)FUGrg{3Tl
zpE-qy>UEhQbBtCcpzLJWk0%N;u4}b>QCAlMd+mik;{LHI5s1yojO`{v;b^ia{#=GT
zpx!$+iP|k6U;mji2xPX7c%=Et3@7U8<Q%kI>-nbB+N{}ee{>lw({QvFzA7;5UKy5v
z{O$I8Jw7CruG7c*>YV>Z`K5{ul62*0*iQUM;ff8CB4$cJRcz#ybIq=0z7b8)VH1um
z07JbtN}^;}zJ5Fa?!QVuioc_AT4f_FH`!Qf8G#4|L}6_HY@{^vrlOXUs2M?-qK4(<
zD5heWZK0`C8?7aixmsRji(pN_f4wT#m5rpjUKbsMSS3QFP`>?dpgqF8%<4r;pzC!*
zgiM2Y+GbZY10`=**NGC<Gi;%T=(Otitqxgr66T<e4KyyWvuez*zJGb(ZG5xcl4fSR
zX35esDBHL;$-=1j&t4t9-EX`(K5HBuewg?{2c`%QnnJybIV%eoI(_oks%2m_z0Owa
zd9%}L^`Eadx3;(ZX0z4mw6?Z4wwhbXQ7S_KUasJz&ror$RuY3klGpb`BTbRat96Tc
zwbs{bT79w6%FM1>-s-MD4?5e;ey_jN3^w6^-HmR4yW=<eTU*UmC!2t&?C%6ytzNIw
z-3qpvo2~xN`g4Dy8MK1!R;L*>H@+GsHr$x_d-=)sCSU<E;>p!4_<06b9Z^N1KCu`!
znj7DAH`crB-)wJpx*M&IzqQrxb^5JlYincO?|$RJ24JDP^-aI&Z*H~vTixzAe(#&j
z^?u;5Z+-JT=r!*Y8^-ZT7}?Cn$W|I7*WDoKt&Wm!x?R7w-P_!LzO%F5?QJzX&Glg0
zhp(+>C)jQ}P}20DcQ$*i=dJDaX0Nl++1Ty`-?TQjzi9%lp11t3gc3o_2?di)4c1{i
zmNo|$v(cBJM`i}*O9uA7gxxPBW#ZO?E%v1Y9Ppydp4c|RMZeeFv3`GA;6cvst(@OC
zGAmPPwEXhs`d3A`^6PP++-#9%(Bjq8#UP9!4jz+Nlr!_Jh(Lo+|2%0P{qW}C&6l0`
zgUgNAYwzE7U;h0vJPi8(@YgQ}KMyKjXRq=2Th8&Hk7h7<8D;m+vu|EqcF#6@e{SHP
zO5SvghNr#e`PJ#)4qpGyKlW!o|4(ac9KIiQUK~aHAZPe%=aswXraYew=X`qI0WQY$
zL)^XC>3=BO7T7EuiWu4ZvwGvtqn{7I_}6a^PhP$VzKhRJ`};5A`Ka;kA0Pf64qjco
zE`QBM+VraG{_C3Ftn%Y*edC*N@b51D-D%R_J>%~kdfKWac1%Tt-$(JQ^Pk^FfBt6p
z)7$6gKmRmcZ(STl@7BAm@7DKUOkW>gO{3}a?tkYl{0boMa@|9;Q*l~LN=Ss}+i=uw
zS0oDB6yi`GzYK@Fs9c%Gdz)T-g@4gU7y-zTAfWC(grofG@gMWM3IALc|JmGXtxNsi
zo%O9P%Kxyv@sR)FzT!U@g?}dDkEl0L-|)7j6B|78-X)F58z|@p6U?uQdSr25_Buh=
z$3&#^6@w@*L^c9$;BzI9F;?{GQJ^SZRXYJ*Op%dLa-$wQfEh!=A(m7DM+N)oQ&oc^
zN%_k6T=X?ll|Q7=V&yy<;C&qc`;%Tpg|&-LKAo^2PVSh=C>mYMGuwwDY2(L&=tV1n
z5!yBOk529CS9Ua^xQlT#p?NMzC?RRCa>5CzbzU}z#ZKlcPsQ-ub``AU5^?m;Q;`0>
zviHP;d$IS-tD-raX6HRdHD)aj6M->|nl(U~{0ali>7r)<0wEVQ&*N$>KP*$;-e{Hn
zjrc$1S-Fc8@XPrB#`bnP|NG9y_5=U_b@Tt^Cgm|%|A*Lcxv!cY_O%Rid4+0TfrS2l
z<RU{!flgoTt1sjZ&5_#Z7rmGKsJ$a|Ihj6=WIT9==<zf>8Z0S#DbP`KeRW)jIWck6
zR@a#yE&>&8&-Usbyg^1Y%8dd&4J}&(IeCjKI_rZke09>PU$O4FPC%d}aoKUL%~Z-D
zcweVVhmYtStFUBdQRhcC7H!o$1(6+5ZW=Z8nIJ{EByhMss?TAPUR6Fc5TKE4?h)tI
zxx(84O_#lPySOkC1^}ZGaYFexPN|rSH8a&uGKFMXiFf=SKS;7aB{(7|!`_xIu+`f#
e@)f!Iz!nd3|HGe$KM#K%{`~)FNOODubOQhZO||?0

diff --git a/External/AtlasPyFwdBwdPorts/src/affinity-0.1.0.tar.gz b/External/AtlasPyFwdBwdPorts/src/affinity-0.1.0.tar.gz
deleted file mode 100644
index 5865a5fd41866f9a9a522763a6a00fe12ca8604c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2567
zcmV+i3i$OOiwFqz3nD}U17T)nX>MtBc`Yz5F)lDJbYXG;?HX%y8adLR=U3=(?E*PG
zydfdW)_QFcQ?W4zcJ{Us*OW3NV3I+alQgzTHvj!vnitsMM`C+-Yp3%7r0!O$yQS{w
zX*`*@)Rl{!idi))<*mnn3P8KrRG-y$v$Fgd!&bG@fWMVyy9IdFTB}~)Ld~rwfIvvh
z5!w>2Ly5Z?@3#5BDd1K658u4r=?`8VKe+u{jm9SX*Wk|;``6pG+7_y0_J4FZA`&}T
z;+?mI3zyLj0yi)QcuqPf_6;MM(@tWHgZUiuMT&rSkj<#%%tJnBHW7mHbdphY;ZlcP
z2!yGFJeLNS#sQm?9Uo6&nVFP+r(CvYga{&L%s2gooH1%LJ}vtT-z_JC>;^EwJ7}zp
zfgB9qymK6l?~plmy$%XZ^$VdB<~d>^B$*4-W^?1vwFwol<muqe;P|(JvCl53$FQ?=
zIy$^f5Nv+}aYb3MfZL>u6RFCpXUGJ9GN+%7eIjh``cf+{ALHbehR$7wfHFYPx$hB#
zeHTqYV}eNO(kYTNvQCd576yvof@9y0QH4)zcjDS8pbp{QLXA%XYO9rzjXh5wHbDg2
zvxMIFu!I%oCc0q!lUO!Ufs_9QE(iJi1&q~e#nfu3@QH9rJXAAVi1CyimY_5Th8soG
zctaMz)e)U|6X_O0F7Z-A5d|LM#xRm6walJ}g@9cVu=YMVCm!?Xgi17)SOx-hI;aj_
zx9j;cyn@@K=PqYd;{wt#D2Oi)t{_MLpb^J?wCgL|z&_yjP+K02*+gDoPS7g`+QnL>
z5!DK(W1n!WjW^c*rdS-gHfI7Ds2{(Dd%l%u2!i}qeL2*}WEp+P*_7k?ToD{%It{=b
zQ&Cq?PnZw>0COqh1I!)06FoYg6UhPPDDb4a6WIwE8(SItqu@&XkAIqEI^A*M0xdsK
z{J&rR*Q(ZAS^oEzu>S*Og!j+?ApL7*`Cpd*W%*y0|7H1Kmj7k&r^WyA@#$!<H#X&^
ze5CkasZ|@R@xP`JviScL05K;}an4AhnPsU@%UT^w9K$v?=ZMCQ?z3iAGT-vl?XKsu
z)A$!W|0^bXobz9)R<EA_R;!Yo|EIKncKEXMzjXc|^hMzP>pu;Etp4+7+J7kvco6&F
zaR1k9?N)66YP()l^}l8_d;j+&uniB#s!ReOl5n59@Hjjs{2U(2x6vN+7u=oBWMQvZ
zLXed=cABM_AbhkGC3JYWryj)*57DUq`ru@YM!j)w^tQKe7~AWRVYJbzw$YI;8NqtL
zdgqQ=LgT=d1nt$TO~5!{U>HVA=!9Hif!b|wA#^(4g(=@e|E{8TwQjy>)XZAF-9~?)
zi5`4jhk;7feEz)I0?dnx3-fvvXd9`-W=(m>aOXbb62TaJpQukWu9N@`D&%!RBws3a
zbm?Ooor3gwEUt7+IGe|X6O9wG)C1UeuZ`L8<bHK5VzxZ4S;~b^Kr%J#kO{J;L|QXU
z9gkQbqUF0z0sfT`XWbJXkVs0+WrAP^b-SpN4(iIyfu={@m6grcMD7Kg6Do({NTHaJ
z5l@g+CKC@&Ma%*=WDZBikn@kN|D5(lzgz0bV05&5(mx)okbzK?NsxAxTgvf|H7v)y
zlZ^}|UtDK(Wrtt`^Vlae-j`mfgeoPapyCQOxwMJDta_7h&Ugut>#K0A4$fQb1*8`t
zB{&=&u{ezdN$m%ZURI>=<nhXyWAQ1p;<;kBWW#hL8x8*ogKg4H*r5s67&qGeZnWx=
zUNq!id{;R$HfnT*(fCG2@eYhD`dneLUZZ!=X0*3do70=Lc^@?vH}5`L`&+g7eF`v$
zxAsobHPu=^+M>RI5(UK9$3|BxZPuGwFh1$u;I82o22A!<ja!voiKF*&f0J!ymF4e`
zmj9&%pU2Ms8jV_%|J7T~TD2DDf2}P4dkQE&+n4~NXJrGXzcUF`T#R&;6@qYqTav*D
zYg0lPP2VvojIh@xhSA*m<S^bwp9<gQ#6cex9TZVS?+q1GeHnjb5GAmu$jX>Y*Y-%c
z)qe3p^VoK&?F9}&x$wP>Im@MEKj~Lu=Im#~7%ujiZH-SxZ+Az9^m?=$7_~|$r{52u
zVe*<Vjy~^cuK3b0z^h?lG+Z2i_(*Jto*A2O+Z0I<Z&F$!!h9-<#uvDW11j7pg?)RB
zPF3{Pq%W6eAWK3Xp%7Vx`<bvwA;u~yG`P|&ss4Yd0sus^!oP-#T|Tvjm<w_ez|CGz
z%fZ&%&PG{tCG?{T4q=dv;_=}0@G#-3HK;;+Oc#bH5Ug}9Ym1>^`+=q68*I7wV<I;C
z2~~>dizXW`AmUh%@w|cn3tuS%we>D-D-F_mn^%NF=&KSe8XGRGUjx^3G)*Dr!ETmx
z^mU!p!~<H5l8ftByN5kv`g_~c>xf$n3jZhE|7NyL1rzH8yCOik%Rk4ljtE>j&OT&c
zbNx-cI|BnNQNHAEI(5^{8RSv#<iLVkYIpQ{9NHmwb7qHjetu8i8<06Kw>qR<0t!*J
zEaU+>ZvrYH|IPwrW2)rPMAwipT_l`%K&eZoiVjj_-6NrIa!8}k!J)xo3t*>ShN}nA
zWf|B7CEUz?Eop_^<h9~n3b`eDUKxt@Grp64kYs6hiKfphV%4(|IY-EYoVyS~SD8e*
z?N2n$u)mL7p*E&?ekPoil5rNI#7~q`NdUNkfM^vmf%Keov|i^BsL=<4@|-c5M-ZD7
zsn%>NwX2C3cVG}!19bcWp32~>>R15^SHxye4qwu455K>@RH5<cc)vgBpIEO>2YZGt
zR3-=SoT*1R<<M{_`Y?3FRF6r$kV|mDdXe*&(ACHq9+!V?{vW>%e$X{;t^YQfas3y5
zsQPcCUeDhDW%b`DuK(t8x$o#`G#;qO?^}EO9;l~pwU-Z6Vi<PPS*EJIF!bKIttIc)
zHoWg^y}NU}-5px&ZfUFg_EtKryQNnOx-_RRSjiX|F0IW4ehGmCI9A+b8sa*xkb!hP
z<(;rvgx|ZApaal`VL-$J8xm!eD14d1_gtw53q`|t+Z&Dh#{-zp>-#-#801nFgx{SR
zHx(1(HynU$f;STC6p{oxS-(K>oOBbfH<M7BUzd%CZL^~LF2AnEls`+$t{}J8Nx0<d
zA`$EJupzk{?Jpd}x(T?OyV4w-Tb{Lai*Pr$sYN(K{uH&ac5`=aVT}j_4$SY~&>T@Y
zQ5&*#2l6|#A^#wv9^@SQ0j;RWNqdsJvGcsEoQ0E1$GkgnJqQPd0i&d}JQ4a=A*ZSg
z#gI%rKw8U;)uj26xwMchQR|#V*s=WG6@M>8v*2&mT<2?|3*W=RVpitOAcG7t$RL9Z
dGRPo<3^K?dgA6jrAcJp%{{u3oU&jDY005@q^*jIo

diff --git a/External/AtlasPyFwdBwdPorts/src/bunch-1.0.0.tar.gz b/External/AtlasPyFwdBwdPorts/src/bunch-1.0.0.tar.gz
deleted file mode 100644
index 02caf5284549c08a0d670ca73f56365188bceef8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5217
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
bYk!#Rp@i(puI$RLRbKxON%i=b0FD3vinV&`

diff --git a/External/AtlasPyFwdBwdPorts/src/configparser-3.5.0.tar.gz b/External/AtlasPyFwdBwdPorts/src/configparser-3.5.0.tar.gz
deleted file mode 100644
index 7c9dc40781ce25c21596b8f9f2bcc96d94c37288..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 39573
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
Vv-xa3o6m3f^Z$i%w!r|X0sz>L+dKdO

diff --git a/External/AtlasPyFwdBwdPorts/src/datadiff-1.1.1.tar.gz b/External/AtlasPyFwdBwdPorts/src/datadiff-1.1.1.tar.gz
deleted file mode 100644
index 00c753f7f3e4b71fde07d6b1e46b5f50bd259e4b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5275
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

diff --git a/External/AtlasPyFwdBwdPorts/src/gcovr-3.4.tar.gz b/External/AtlasPyFwdBwdPorts/src/gcovr-3.4.tar.gz
deleted file mode 100644
index fa9fafaa9881cc3c8d2d957fe59eb2c81b4c0f2a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 161942
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%0Dte@#V6p8|t
z`)Fk)3#L39h}7-zw{o~Yl&Z}?08>c~t%FrmWCEi+GLk8>4f<bSs;htjKw;76Q5Mi?
z&TFHeecl48{7o|YikRz1NOaIe0Jnkc+}w`tZZQ)XRY1wp7^*COU}9FbM!!#|s#+2R
z_U}hvB>O_I)C7r0ugY5EdTh{-h&oeiGaP70kSnQ=0bNHponYbM5bOW?f)!*eyV-Ae
zkfD8jeQm(s91k$JO121?7#R3vWMuHQc3rV{lIaBY3yNF9f+lQOVLyB357=rwQ9e^a
z4?sJEGhyH>d+zK{;HlTcb`B2E67(qtGF&H1cuRRuJhU+uBz&%zdGhH!Ad@kPh(fov
zOrO7a0dyoX6B84(vJBc61xRk)LXtO7KjE&8wdtSrk3mGVAol-<MHB+Of4_j*=@+m6
zzb&jVxK6|W?@KIh^8KfOI*_|9Yq0-a%NY`8XPaE#TmJWs0;d1@eR6hWDk@I6f3M5z
zAk+E(s~r!#?YA4hh+jTKKL2QH`qaU};Tf|I38O|;TPQC5moHx^)Q3Ae;gADh!B{++
zeO4`2`=nlJtPdnm(<SI}f=eI{EhK<yvwvW>)50NLpuSe!BQ$uVY*4e-SG}^!abKf-
z_hKvBc-HIYnN?%D076d`BAx1!;$n!jbcQg((&Gch)h@FD{=yUS07eQnHk|(c{-<bY
zVy31q0o??|(yJOgKHTSP)t~TAF5%LvEKOIMfW&MA$#?Y>y1JEs5eyzRtxg`|<Oshr
z=2p8?>%qlhOL25lZGH0@(ctFR=J=?y$<XieXt^^uEUXhSNQLvhhNy(ZD)1eqvo(y?
zi!Ep#9v+akI7ZDcDJiJ$-~Ztokdc=U`t%6~6%B2X_jAjzlL>g%0-C3%?;bN1BZEMb
zvs@}NDp7VKIhS0p07UHve7^F#N(O1Urb(?<^s`;W?7Xn+NYYQtEs&JdPa_ITZ7}!z
z(~mD+z49fqKbZGBdFSrV1EU~6BPu2q9TXJgJ`Kd-_`ux!JQCy$FK^KwPRpr`p+@_4
zsU&tY?D~d=ufmxbfUc>iLc_zeD-3(Tf)pntCXT7D=BPFu^@}9qrz@Ck_PE?S9Tv=6
z=?;rgDtHc9-Fz$`3tH6z%uxE?X1@UVft}YKot<W5`HISg%CD5@Vm}%giA4}`WC3rr
zV@Y4zfI-Tm+`RWQmY!$#Ly1N#<O_hx7qqlESc;oNspHq_d~U+f;P34{UKRCCNMi4Q
zvp5hhYHdxGo=mK0SuE*u^`&o4D|<5k?YE@D1{)kkZ7JpE1~qGQDdiHP(ZUa+goF)7
zt!~u6cPC!__(AoWm6Gm5=vEl>11a%XNl``n^=ZR^^&G{{=;yxvkiNd)d^OfAChg!V
zn@Tid^NC>rQf>;%(MB%C?od%@=PVKni>#aT5Kk|s+RMwuBqyL9lP;>QOI}r4s9y8g
z*)^Q<x`eK_&m>6}JU=;mPQ>c>l3h6_PlZu2Hx_qvcQWbh%C({uW>g#(1}00kv@}bG
zmNu)!D};=1Wd6b=-E7C>h8>9DEHWJ(gX_I%gW2v-EJ9+O#6+aop@d9LjLfnwPDaKM
zORJDTR4k*ypXA&MT&*omWARkDO`@WJHC3656u$>9_)ShvtLM#uDMUs>$^;Ws^hZle
zt8Z{H9P$NBEdb*D0jNMsOi1WMo>?D=-+kelF5o3qT3Y&MgBa@goLX&{VF?KcFd;;I
zuI28jx0i=Sr{QG$8mU8n(|HuHNkBj}2xC`nhU*50HuxEGv`ZU=Qfqe-{}c~T^zB=s
zirK>0TrEva$}{ED`&)~}#gLhrSo|<f&c~7^epiKHvib%>LahDyqVy$MxrxEq*)YT>
zaB#9Sp}02kM>H?CYnF#nn<f)E88<Ju-(c~(KR+o^|Nd^V{(a>`9AlDW>_;AVWxhU$
zXkeh|!NCeXromZR>l#8?W#xuX;_HUnf!|;AUF|5{Ke#nGj(&?tkpXJ23hm(F#E(nR
z>24VQ5M=w<z~27;IbIWx%vJ8^=FqVMWB6W43ES&p+Qi&$cXLxhR1^sRtex>99LSF!
zKeB+A`q|e<0nEIUIu5N|_R*1TXhcK~Fk0KLpFdoakdQogI{cFt)ev6RauW)S>-NU4
z<h6~BTse%VPe+OlQhA)HAkY;TJM}0FHsirB-~NHeekRxTTqGRF)5k-fBqLH@^9P$5
zQH@J=*_*KfVFHtnm}ums?*tvh*XHXKV^kX0N2e==vk?%mekETnA}w&)1oQE+Z?`^3
zefvV;pDI<%!;6!X6LQzmlGIeBVpR9BSp7ft0!*?P)Yssjr~CL{A^2aOSs^WCP{_JT
z<(R5k!#^=6GfzqJr{!gmBSD;Q?y9IDk}s_pvHT-`iusJ3`NAs%o9fs2hbrxAMii9j
zg{p$4B_}&d9>?I93^J=97OTUyrrETkPH59jCluc$IqkBWRa@Zjdo%1UuTtYSU6-u-
z(6}<|wrEkb&z9*5zEhu=n1J_{k&($43&Y!aH@oX`cV%~Sd8s<A3e3sm%_fa&NpbO0
z$g5Z>@J}gkIFU_4`=KKM<-G8=;C<fMfT~fd9SB}ph;pN|Rce!&nc26L6d3^O-x3r1
zRlWX_kQ?$s6?;|^htugteB)Fevp5b@p|PxhghJ)fY@gEz_QN#(#|X4F_`_exNmYSp
zPN!TprRvVt_6xwlzI-m~?}|z+K30UUczGa-j-KSCq_lw6-so81NRAb9Qy{E5ILNO5
z%Ih|i9S4UpoSHh|Qd3jr=5`lZZTxs7E8r-lkgt%A*c4?U-TUhVE2|=(UIdZYSYA|l
zPHnAmDz$`Y%fUQ{SrEF}#A1aAo$INlgcmE_PQsFAt#!d;Jg_E*=Rk-Su%#y@g<f5`
zo<GLW%Kt3ICnb#t4@W(3s;zbTw3C{YR7fWGtGyit=&T*17gFC89;3p;2P+RCBgN`$
z$|V{AZD6jBd&x)3^+n(j5MUsIXvDcOss+lz1<Ll!XkeV4Kt{5WY&T>M+`dVT_80m1
z$j(evG`LmSsK+x=2Hobf+XNsVMlxn)u|J04Pip5nc?1sbtAnW!O6L5Hg<bVd?um>{
zXbUMBnL&C^Uf3%Z1yt#{Md#!Mh@6~(Y315S3RbN0nkRv%Ff~?iO7B1MdvyKavgzUx
z36ipUhDEvfmWdiJI1Gn$+p#+G;BFvZXuhFswYPp&DONQgFYnH${yt%mXG1*N+jRv@
zcmkJAntRLpJUREWB1V>ObdFEe)lMqIG9EzRQw>m;u$>>w6U)iT?VQ8H!8y!F3TJ+i
zom|jybY$1DNJSe?<A47+xu7EFq{?bMNC0V@Z**bh+@<@dum7pV>vm^NT3%j4N(xy?
zNl8fb`iGlw?iOR>S1NP}RP?P<&^$?aEyiWFCP~4Frg6#e>(LkDws_p&^t<Wuu$6az
ztW?#u{NQ!TY$cB_daWCzZKa#2;&wG^W#JvXa@oVhtiClmyG3qdI;)7lVv%ZnEiVVI
z>#^`17aNY@6|B(dMiQd0)od3$#ApCE-II#3(qb}Yk+u)1e@|(1QkTQPr4Q4N4?85N
ze2<&Q{2|ES^g+<=>+Qpk4e4Ux62JZ0Q|G;@PlRm7ZL_n)!|8&<?q84FfG9@!;2eZb
z`a^DqKqg&))aD1-2c1^$2teUk+KtW--@*??9c;U-0CIT=1iksv1brfbG9}@*g#=-c
ztHc)&(J%@K=t%UzwgD$qh?fDNuWKNl*=~P^qgc09hcOPA_A;0I+w<KZgYHlm2)GX-
zWNW+#zqq*A@#K7O8pqh!7#QT3u~*E_2hR|j5)-+jp^^?mWRUC)RqAUt4!1xw91(Rw
zLNotEU7wK57WPZUUyuDUV)eeZU$h$F&-PK~T1xDd%ueJ|o~8((J%0{)`?hVa{xOxY
zP#J4MQE1HV)OdM*wnlap!NqRWm7+R`83lFB^$pB2+K187)T6kCdbqjf+ruiOA(G{F
z1Yf}i2#?DXbW-fj*!yEd7T5AA+QOTHuG>Jgto_0ulGx2EZQeEt>3%{2(?C~VC#ls@
zaz3@mI69l-PjGDy_en;Iifu_8ZIimYlXzB|oL0zF(;-!Gh}mwMHDlH7tGxz`rq_~-
zQlw5VEm6znpz^07rsP&%hqY;Uq9n$Wo|{{(nGEupgX4v&s_JWY_UDj~-^Z=au8vph
zBY$TYKo<+v4ST{Vsj`3*UgweOgfD><Htm$I%-Xb$zgmT^`tSv8SJhZ0Z@AIYHzhz#
z2gJ}7W^^_+*!13AcBWXpfi(pgVYI?9iCcG{TUA746iafv9ckpu)hAxUjN9?$r6SS8
zl}HR1yRu6aWc(Sibd_bIb#K#9YB!5!;gCY1rww(W>TQdaaonkZ^{8+RSD7M_GHHV{
zpIg@UR_@H=aQg1X8&9=K0ZvW>HP&&@&7qUj30OF%fqHN4KV~C6;*J^gio%m|h4)#*
zFVQ|f!7YxwQ8L9S6V8P0#{u$l6yVd{Q753rr!T*j72^Uo@bK_Jz-3JW6d@v&u&^+!
zR6J9JfY*&)>JC4uFVM^@fKLfn^dNkEd>P7g`W6;p0L-#9s?B#iD~*2%gXCV$-`5?^
z5)Hwwb33IGk01*8`a&82UB~a=&<zY-6D67zAN#+0*6M>H-np6s)*}lz>%9i3z(<zR
z%h;&4E754<S`2=)n1CD{2xFs?yj-D)m0Bj$sgYUZ;K0=prlrLiXfO!ai0Kv=Z)^YD
zR``L6^UrT=7S1P9v9RvvH#W0#E&R6EuSc32^Bbe1U1b;QD}x92e~ZOT&XXRUBQ!OO
z-B%N`iF?}Di6SkNK5mj@&1Ag5S>W-yc^Y++z$(-oN~PR3r#0r%^>n_r`gAjlt6nxK
zm|L5gTJaK#+Bcc&)9)Oo0VZ`NF3T)g;<jJ1T=KIuD=`E2Hz7vv-gT@VuEK>AA#B}Z
z&1h8nlJbg@*h?YXt_E@+tmzyiCxw>vp6|Sfq}SA3cGGFmis^07+}h3muKKF=?RS}$
zI+sJTLgfO#!9kf~t@<A$`egqYxkF-nCdm3vGXqD!a~U5Z-q~K2V>Z~J;5FHV2tHiF
z0cz^0G#UO97Z(VElltY$ry%DoN&fMWbPbL$7yCGAS~xhP$8zJ-Evn4RjNZuvM@+7~
zP44H&K9BcY!2XQZ*%@A4Usp{1b&(t2vqcay<VZ)4Pr6aCvPQF!%FS@fy>4e01w8(>
zzzG;c7yspM|A#GZ`b<!P1pO1u;~pCF<ICCkk|z3Ea>z)Syq}9-s{6VD#=n=IzWpzs
z`rkGkF1{z?FozEij$S<jc~@}i?&>O(snFKlEtXniw<_+maK1Zvigg~hy-2R`vg>RK
zX7;oG0&cE+dT9&ZP!b1yuczlP&&xVTS3zUX1-SIdWASvl7sq0MlCG@RDE#@o?%Hdv
zuU93u4))`AtIU5+U1l*RCi=(HKZ>XF(CQnVBZh}NcTT$rHaOM??@k&zo{+u4h6ylG
zjr>!hY3F8LCZA4UAD5}H*YPLsU42}Iey8C#W*>MwJP*a938WP6W8trPVqujpRV)P!
z41WLX<KNqQC-LJ-_j-kROfpfv5+K_)GYgJ<+I#-K_lRn3TEdDrr{bhJf72fchJbAY
zuT(ect<rDeghWEB*ROGJF9Mch<mFb&T2~&tW?wnP#Uo+_u7)vNcg)N@rB_iFk?gZ@
z+;PN`Pcs!gsj+J3cA~>x^f`p{@K~iPz=`^u(S5n-6Giu-a4Q=az7O|4196O!a&mzH
z5QxL{334G-W`CX_qLV-%{pWGlE^mB}Fi7TW5FiQ#a&V}LoQU1cKdC60@L=$VGZTt#
z5oeugFIUv+R(+q(yR<X#q1GWm@)v7XJx1|#7xRQi2w&OmYe*}XS%)RE9qJFI+)B#+
z@-I8YQ7+Tb{;}|IkEU3h5F)2hZ?EEJZL`qylYqCTSZ=1-<CuVR?+GO1EgWK9WAb|4
zLmGc3#Mh>!z?VsT?)Yrmf<X;4xHE{F#r`8<S8twShd+efbji2<vovmE>QrZu7?AlR
zHCCFb{o~^wnmw1=K5b1^P~Ti0mZ`ekUhIp6;W6r&m>?P&8h(5A{t1*!i&V=TPn@=Y
zi`|DFZvV-<F1_5J6-pQIO(xc}MCIm%yT5^X`!<Ph(JK!LL9I$MM!>U<#%q`?y2gch
zq?mB&06if&>@`3CCrT0DFPQUIjdj6J+FHKET)sEwFl=mXy@=fI&m?6LXk=kiQXmo%
z88*5UJQ|e`-zAdvFSp@}wNbt?V<aR%78ZO}MBkM*xxq1LJ{il0QBw=%Q7%I-)?sX!
zEx}-AZCmRH*ks@(EuA5St4NDWMwWDuCQxElRz%NYm6RV88bQoqrCEbYz$LfF#(_Y@
zfqh|+5Eb!VA}Y(UHxfDscXxMHLyWS0Q#sP{BiZk85|WcU|NOxLR!B%(JW%e9qN3to
z{EuTq!NI|qnwrWm8i?a|-b;{cp_Na|P%YE3wX^%ARN!Ay!bqo59PE96vwVHJDdtS-
zO@8gLN(Au@sOF$4c_4hzOy4mgiKHn(%f3AaN2aqbFjYe@E2B_qE}Pn4n!rXj-;4lx
zsW?IWftcN!dB)&lHUv^vpP1?HqzMt4tw|ag`1b5NS?_$uIbW$8&uNz@Lx-O=F`0Oy
zo}Zan+R1y|@%qO`kASt-L9eX+5AJwIhVUQWXimRP2J3?Q`jm^cHQ|uOux3J-TZu}w
z8w0<6dzM<IQlim5GQzTG^ec^DleE{^+#Fd#LW0lxjzBt|se8FI$nN^YNKI1{zhS61
z5+;=gN#D%$rN5dee7O~|?GnWHflr|%2{Tn93f5!@!e$I1<%N|`M^?<mZkcZ^+M_rr
z=yI@Rz$8Jvx`CyYgIpe>u;$AO!;buTk@5S)<q%f80RmWLzi_HWJGeu;G27~mtx&dy
zD}<0xxEzB3LO}2oCOvt|YLSfFTWfH3207Yo7mvlA-S(XBXt%6>_W0T%LtkV`y@t!x
z<=`oC6v->xUaJ{McW8)}m?#7VADQ)WHR|_C>%B@<|ES_#Q5b%=NcXQ~p?Z7I1J>}3
zxzM+Na%J^RO@qN$z#}3W9?aE)xoqz%#$jb=e}+cHE+jdDQx_J7qSNdi0N7+@tl<6C
zc3wJ*<rE7<sL^>J^V|8^;lV*<cJ_1lCr_wYSTI+6qk<Y6Zzaq&{p-~DyllxKOMA;9
zjEloP_q(cJl2XEzaOuDI#v3ZMxR*rzqzUrACrnhwP$7MS?qjoa@AIho<a7gpik+RX
zH?mpiyLjYO1BY63(|cO3>2o?|ZojTBE*4Hsq0Yd_gg2E`N$juU4)-O*atdoVx6L9;
zwH*ZWh&b%KB1tK)*5gfHYEEE#T!tbJ2cnT;Vqyl37m@3qnKCPvm}_P`8(@^-fi8)I
zUO48it*v>+<2-xj|Hfeh0@0|k4C(8W^bZJFo@5wzdVKI=&~0fNIsY~IOqhe?gDX0@
z0KBkBz*JQ^1REzn6$>-#cv2U}!z0?K4MMT&4Y9G&>qeHX-=Bebco32b#cZ&%Yx74k
zP?vmK?onICRHh4;?u|UxNc$5{K315*W}2!gacGDNfJX%b@2gjB)0M)GI`vfWd=QyL
zSj=_HpkK+rW$Y+Z^60iatAX*4zuKFgvwC9`D!x}^&B)XBf+p16af{+tdK&s*(hGlk
zTNZ`faLL7Tn5$bGGj9orV_z&H<a}o@1FA1h2`s4J1!{jo_uD_Gp;@`RKHWL9nyoQQ
zEqjlNjSU+h3?nEg=pPhBO+^JeUZjeMrGIyIEGZ)+s-~8pu~({A0h^hb85|KIrmXy|
z#&SCA56rdUs!>8u<NehGY069`DOS5Y7V$akgNgjg?8Ch6?eFWT9<o<uF}C)#+&#tn
zq$72PwU@aE4x1`H9RUImUrwu`_6`H)iDEZ+6O;FrGs?uIJas=y;}c%$yvxloS~=U6
ztTMI3>y2vdyS$hzdqjNoYUS<nZrMP`2#ZVYUNBb9XpySj-Nh{1H@fv8UtjLQG;Jh+
z4SH*mKHR*?216-7AzjUa{QQ-YdtH8)j7yuFL4(DYTfm7)K({{qFp{=Zu73|hqWX#*
z0%Aef-v0I1n3(15?Se~ZSXlolCDLcQo|H|+x?Tw97QUyO0c{BWn~t4NjvqH<DHvp2
z?P{%XGEwM=xbOyOWU;?foo!P$wGh2!)=ek(#$1N*yPN*jsD>4IB*|CDF`ZF<Ke?BQ
z1yLwVa~;QkRGXUt!}ydn9S5<hqkJe0*RR^iVtIOeiq}Q6@Fxokq{bRo9~Tb~nC~P+
zxKx~82!Wsuwebf<CegNn_rLG%Z&40;AwXBYth^CU;p^W-=`{VW@RG%5fscTQC`<9X
zczHzy3<RXMMQYiKKL;mg&+i;*XrH0m=b3d|;33bSKVJgU-qzMu;j&(>$`mUQmC#Qt
z3~w2z`mOm!E}-g>y-2-vfpXV2X&K%Mnc8{e691+91k%^%`dK$_@ZL1CF~*~2)k(Ms
zGr|i|*v#N$Va)4%N8)NDxv_8XIRO!!o(V0Fo0wS6%2GQ^SGU<kb#gMHN^yQ5BF4<h
z`L4C=Sw1O`i}S$DrvLVz!wrjBGqXgs#tU+YZ)_}9Ald-$hDrf@TO{fE(VZKjR^tRL
zvyNj&I3e!x?k#*glbGT5??MVHR3b-G6&0VhK}+VH34SD>$0_0I5D}s(Zm%2mq(WtN
z%HZ&D<ww<Ko&mWk6^bH2S4ss8ZO-hE)Kp#HQo~V~Ge5YgHag>$jeLOpq0WYNk|7(<
z1YG4C8`Yt0D;s8i@(lX40rT!^Vhg7#<q%t|loZF!FtcWLw`--~k)}P{?XR9>`*q8E
z*}3MztR$oy`+aB@7Fc1)@3kE)l9iCArh+}~-3T`fdlnXS80}%&o=dxC8*8&Gy?>8I
zPG0ul^ExQ62RQtMgoLGDa-S|$U9W)ha+a%`o5J|Uy1J#V5S)DF0;SB-&O>^Y8fTtU
zQp70Vf_j7`m&4Dxc*D4q7@sb`L?1s13?#2n&KQ)ry1%L9Mh}k|tyydX`Npi9YXCIS
zM`LV0{$F<2_9%4?Nd|`tn_CO_*cS(0=)}Y?IIRlNAb?q)d?+*>Dtm3jP+|7oiko|H
zz&^0s@2Pw5ko6*&U+~l8pU!<>l*(%+9!cyS*ghvGZ_VN1#02)o9A+3vo1AUGC!rRf
z>xyHPX9ZGhtkfzBi`qKNVKdD2s+@Fi5EbPk{l!rWLQ2)xFATvu2-R1a87gjme$rR3
zUP-=t2eW>0Ab^iGUR`v=^i!6u0tFI=zw0g?MK&IhcfZRVF;$`{(iAv62!F9Zup1&P
zpsl&KG48gP?&G*gZh;1qnEZ6SMnuTB32ma}&)U0pSnu5%b^__(i=~Ri#n!EE>$tVC
zQdPC9XD@bQgJFh>v{6r4fy|&UeKvj2L_<Tf^MG-2anUz8_^r9;;$WT_a&*0!zS<pz
z&+T!+;C-`Ai%Kp)f*b&gg@u(M=;NJP1}0;un_u6o1WVw_6C$ik?7Am`;yl~rbd&Pr
z5~4@%Awu8f8#^X4r##+YN<?8t$I)1qMiAqFE-E_ea@^f0B_rC~Q~xEq|BHCLq9iq!
zH1bR0JIQzbLQ+ysUcX)&4#A}-GbR;8_PlqRhOIT6sp1WelJDIaH((DD3F?3W41c3H
zlJV7au8u%hB*yOcq6pUJGs2-}hS%){;No2E2FF)qre2iL?V1U%jY8#IMSvaGH#UC4
z#>U3yk^5K|^q~;a9TxV8h`!}+^gYX$!@{?$bs~Gd4n`)O>A__OK3`nxb_GQ?_^m+}
zjZd|?f#VY)fBq(`gE_2<uH|LnjGNoAvz2a#!>JrnLteKZ;xfh`pGMg%wirA|5pr$+
zHP|(#Xwj7@m&%^iq$`LOMncZqLAAz{3DcIqN=0)y_G&a!elF$H#;+W=T1%|d#WX?u
zOia4t#UC%ynFoV<flRes>%&Uj1`s8t;vG~RBS1s*<WHV_Z*uXn;(sfcsc$;aK=%@Y
zlwr4?Bj^mm==DQD(MufP<rLnnR(lJbDKK#nyiTga=?{j8khaIYcU@vApOovZ;riiv
zgZkPTiP?K6JjT?~e20#7O@_rO8DyIL<|}EHNpE+SGLVL$sX`-%+O|G08XPVY(CWi*
zbN(kKIo)$5|Ki|aju4rxvYCZ#Hmo}=ry?ADzo7SOe{LErM_Th)KH6kyw_ax;Z31@%
z-_Q8k-&hNDtfkm<ZrzBRH!Q#6H?s0PuTKDA+OW7BXaTr}ZVtA!w-=U@3cdNDrRb=^
z#t!d&gS0hAC@GE8%E{SLRCuD~d{B(_<NgMzEH@^GAeE8|HeXxQmHze;zteI&pOU97
zAP6NI4~z0)6Hi3bk+u}`b77=2ow7*bdRN9<gR`LbdA`&VqPHn2U0c|NLv}H=n=Si?
zEjY(R!)YOr&aw0saZU%Q;RKn<i*qF0o@!mU=4_sI)&xPw78b09pE={=49=beUXM&Q
zIMLS_^S;@cDAD|wb=i2>(m7pea(s8~z@SzR0bcTRYAPueHFb1!bS8QT$gM8mCt0j!
z*a6bDwYS3ndm%aO-u$P<>o&?=@SKbv>tR!llIrRe)DpKcqy>GOG&u5MLy<;JVPE}R
z+aA;AQRgDt)p0#$;s133cd_UOpV<J0KzYA9vc*eUZ?;Ac9<f#YcqK^B%*_AFRd%lQ
zBB8!aCkHS@kXpl8=Af5UNRD*TPV@fy0Ef{U$1`;~0Eps|XA&XU8wmo<emu<<sxEg&
zor?q<Kgl`Fr<U)oUw(UKh(u1F3_Baj-((X4^x@L5;G<}fN(u0bK?w;2z%G3UmgnkX
z)@D>aM-=7VY)zJkdaJhq$wKz?<>|9ytkmy77+km9NU^!M$qR-gyeB8uvsOv>ci8kr
zKoONF=?oIHEK5uz$jMN8Q86@|t4NKdqge12bASD3Nc0PP;;*Qf%g-btgDb2p#<44^
zSy_e8YRsscdUSN$!mNCJ^qFmJur~DcDgAAVRDR#7s2FV382{?J023>TVKLDcFX&WA
z5Zykn{cS$u6Xq7*bHdJNYc#t5*Semz3TjMdCS^}J;b-^ro%WudCt&J;=oXJ4;wZOY
zmy%IH6FiMJFf$Abn8nDLH~GB0v=VwYraZ;Xoi&=LU2Zyz<r-IZ)IKZJ+sJEr<uM(|
zsA+E4|Ftk*{SW%aMxdmWI~?#DRo46AB0)r%x~<qdO_jzUI*yie6f^xeEG@q&(4j2>
zIiD#ay<FC+vCaQ%YPI(rx2=#r=~%H@ki5VvHP3~c^C-JhV+NJd;#{2MM!ioMEe{P0
zLunBmO>Un|CkBxaF*yA~-nAPQ`3VH-z1T=yAEl0vsB*DcF7S#!KEl*T8X7uDg|D8j
zQ)FYGX>e+b*FAYKPQVChe!EO=)Yus7vVH*vaX)@{Bv<~vOzZ!=^<vH};#&Ur<mWxT
z`5{qe=FKK4r_955+`k{+HU6`|1X={nSeCQ+&pjjmtxgvC_pS-BZJl4e);hnE3iQ&p
zHwrcOxEmS%|0;s9=E|p|2MA}TeUo~zx4*AgZ*PQ3_!=IVaYp6qTI>0aV)aTEiwOoT
zAZZ0HHY*I<zEBF~NclGN>sh0_dcf)Wp!pB@t9Ez8;Lt#Fq+n=he2eH=Ofir464?*^
z5QLIBeN#y@6oLzUe6HQ$pTMSj(FimbDTlf%7r+jtV`S&<ERuQc;uE|)881bvs|#*=
zAq~s#4taREv0>&RBH+c#*Cl7+7_V|z?dh1+h$Q!cZ*YS9`3;7F5k^xp!`(@5`ZdKH
zb*{rWMxoOU-{fS|^n!vb)YE)LA+-eWS^D7ANHT;Z4me9oQDTd6SWc_oi@6e!rh6~B
z<{Lho-5wi0zvYn2RA`%;A~-lW*!rD=!lcu5rBmJepSx9>93EegEw+B<_|v0r8DzYr
zI0`r4JU=o&iv}EuVCV(;>@huF1X*Zw$<B9OCuY?A{fH24&1K)iC`sveZZ<Ql-Io$C
zXSkwMEj?=D7ffQXS@k=Kz7fq4)1+#2oL80-R9RA{iM5P)Bqx3g`EYxgHKQt`KaqnA
zE|*B&#<5#oAZ?ylv|Xe4iE)S#R%)fNyUT35QkMLck1;n=q(UGSGX_)lx$})FPf4@e
z>640z3gD``0h=xD?uLcn&>9@CbR*z3RhkSxfpGKiKsVz)zH6K)MY!1iBa4EJ{bwju
zn7yt(<g80H!_IIia^jc(i_(8Qni}wvuxX)Mjm*=Irl&|SJL7OGm67ip94PG%=dj)j
z`Q}UOtmS!2M1|g%o$e(jJlx@MJ4yzhH$BBb^uEg6vP#8?p@l2cF%pdHs<I)sy<yk;
za!%lWRh}@pF-px!$^$>wh^VHv*3x`8V>W=NcceET^=YmN36&I?&lSR;p<LB#qqr|2
z{v|Cf5|HuUY%PYjw|AZMK2hO^qMktgk4QJWPvrLJk4I}BCtsW%^CTy@W4mI=!yYcr
z6nsypG~#;pggj1{h4l?##3L7xOPavMoQa`f`Fa-?NxdCze0+(>EBr~m0m2#sEYB!%
zmEpYXoaKZ^rxfI)-ZYzytoO}<Z%RFmW?pz!*t43)GDhK2iyPiB6OWo*D9>rOiZ$<B
znaHgu`wDuK@e*FBOo;uyh@#3~t{fKVZ2yc{;eKvjWmD!hqyFO~5+3e3>78!Rh=Qw%
zeA=^>{k3<?MhL$6%)aAA9B%kbW5NCUoxZ(MpAK98tdVlb)$R=oB2JVca@q_vqkCMK
zc3B@T2#*8=!pg}}SzTJ+`#X5=PUd5kdo@l??9U4Q$))0_hU;_3<9IE?{U3V)`f)5Q
z^acr*E*C!?uZ9gxywNwL7Crox+#%g)hNJiGe9G;B#CFA>#^z6MTa8r*3K1F8UOsl+
zaN4_WTe&TZyaWQhGgC_E{XO6Jd7=*|>mN3yADT;VFT)UV_Y1V@vlgSsdEe*Bi2=9=
zkUzpc;JdxOJ=NmXs6+LJn)-9Z71qj*Ix@dRWarqqrb2=9eN^fFMx4qPkLNSIL;lc+
z&Bu;>gaLiimrQ+^WxDPA1DlIQ7p~lRo$E%sj=4A}ak~p9E)ThQjh!=&ZL6}g$MZ{A
zD*|}<VRnM+Uevq~lW5gbB_C?|4j!*i(0@IUZP4Vp#zcQ&R$&r1cXuC3TFxSvUr82#
zV`;KNM7215_4SXE-BqCLDcK_r5)NnS+t0|ctaTq6sVavhC|#SInvS;f(hbJ)6}cU^
zFrm9qbvS|b1(r4#?(V_Maccx7M=I8@x|$<AJbY<w%^#hVXQ?9qMT2Wg9Qu-{yZ71F
z=#FYAA_kdq-XVxoMvW?8pjN^oA{29F2xU^ZvC4kbUo|*xXX!jbYry8SJrQj-ts$z5
zOiU{-zn}j)=}ijauD0c1hmT{%U-;c0!=dx%GvcRsW{&H4MmX_s%(5egPRU*Vx5=Ca
z3*86`Z{mW_P%Qf7@1LN<52fS7&d!q_9mA-UezS40{`L~4SPkZEpT2`O^ykDIyWKd<
zV-EA+eKayu$DQZ8J@LA*UN^zzNci{}9xlr;s+r0=aYe|41niPAY2>{7({LYCkqHE}
z{5h_!Ab)brE>`0hXL?JFli!fmj2DHC#5Fi|Yx=sMcM<#gjYahn8X6j^X=ro+z?^Sz
z`s1oyr88hXSEuNes$Ol5OCz6#%EiS6BpL-DABo51fmo&Sucd<nbO#3q0%BrleOM$A
z^{u32@Ik}}`n#pyInt)TvyldW{aW7M4k2VSmV|edkwFEw2@l1k?*P6pE-o%#DF=C?
zRGWS_4GcK+D2DR#^1h0}{QQ^D_u!2N;sQcKkSr}NM}8PdlkhsrOd4LUApr@3fRB&=
zGFED8W+uy^J9KNZj66-yN9XzE@@1@fL{ir9<fBMQZi!yf<Zc$mmz-O<j7NVPg@!DQ
zz0fz`-D(%|=bNf~P6<!;n$4p^ltOscn-z1E&BjhkgWVT!6^kt0=5O~xs8<9m^nBNK
zJp+`ON)zTP(`PE(0f;n(`^4ThYYbHKnzSh>zdQ)JsNT(VSv59a-gCK^irl3&L4rkj
z&z8El#vU!OIw>0*9@aghxSFBxQtb#Y@bUi8=cv#A*Nf-Rmj)BrAihgWdL%rKPuttu
z%d4vVL8L)XK-e0gWVcx$;j*3^@gN3xFCNdNZM!q}Dmy#7ZFCeXid^t-(I(?9Tvso?
ztW0QXD*OJqg;fQ!cV`E?U3yv?mAA6k`cI-LjkhZ_9%m2|QjUeWI_{+dZ6VwltxDsC
zvYS&)L9bcuZ_m0pQ8dJ*LXRGF8lG=>dHPc@{@mAYWvX_&c${%N%M?afj^*UQ#dvBm
zjMpqnNWsX677`NT`f&H=;qFu(;wzjfM7y8&ig9B&JxVMLj}nANVU(3lqcfVxP)hqi
zJTvrE4jddDU|>2YC-KpUIYkW&va(a4rx;kxJew@l7O}T~?f3aJD{wh?SF2Gwe9$r+
zR9BjgQb7yIFJ2(Ld-tx+VKY)RrLeRge9|%cUE=uW++zB*h=_<{rLk<WS_Nzr8NXk1
zGym^Df9y`y-c?!6;t^N-9nDr-1OY3!4E(ySvvVM5t)3o5jn!=6(UGlytAGJRiPdwn
zf>%jH&q`lNHLLEs;a$USXlrz4SrAWMSVnn=Z7gkvJ^kgydGn$pD`2wkPd`GOv2oIF
zQ=X}XxG~KgIsc#&?<BdvmtsUntaM!5ub5QvSWgI~HH9xUkD02RYhZP@JPQMsOt51I
z&V#k#y^AuVb`_Uzl+qCq5mDBU32m)&_QUmc1VKSTFu4>A45+~T>?BLLyYr}+G*`CR
zF2j0yd5!OuX;dSN!cz$cp_5|%pK8*&J|8^3#xv_asLbGDXN81R{lF&E5Nfhl)sNXH
znM{icAAIE0*77Y<4WOMGmJcQ%C#Uq}b$NnL($^T?F~Q6zJ2`vP`q+HG`jS?2GYHrZ
z5_*cJmS4#xmySpng^7eCg|ScZ&Bi4Ci3y1DMG4j|^HMI}>PKS4ic3l3P!cd|KzgI_
zi@jxr7_{mzRa8`tj*i+2-seFe?{j6|p6($k<Bg7vsx`ZF0FJS}zj2zHo&63b2KoYp
zloT?Ue=L0bAS4``kEFYlQ_UW=*(qmdj^PBXuprvFeRNK5TxM&mb{@gq+AE87ps%6#
zd`86hl8_KguUeWR5`_L5gRe}n(b)<f9zMSeNZ&wzf9M+U@G!>m@^Wx+u+aI=_*+rv
zz8P#B94tJ%z>EwE2y{y`bc6TQl$xlRm_Bf(b8jO@+aKp%%{5Sv=;hGgw9&?MkGVv1
z5fbhw_^G~oH|4zXd?(@-dzqCg_ee~uc%vch*LNGk%;VQ$=Ib%dx|<4-5%n8BYegvo
z1f!)m?q0u9TT^)gl|Fk=FZELo9tgra4XC#DaSSY5nnb;U3xq&|pKjYMJPYv>m|-r7
zb}l2S=ITc|K0Zzm^bttobMu=l)1_u(d*7_(v^<CcqU7BD-!gS~dw%twNOHl*L^cyx
zi1YqTj<>dnfq~KzC%-GC%8FhTnx|sgO?6tc4(Y?p%sNl?Jr2_nYHRSw`m5NN*PCr&
zwx-`RG`h$?6|*u2w%{HcyQ>dz^M`;tn@3H4ROspEr|jqRP8!wNnK(AH6ZOZv<U+09
zSzc*rSurXX4_JYL!nQQDC?27ROjtbj8{wEU5QXYO<8MJJGqLfh_CMU@E*7h$UFW;)
zir%?6;OJ9X&4zx7E@xrI?ria*dOX|icnByU|DOKz;^d^`3#G{O0RZd)ir>Xyd~d8&
zS9>CsH#dV8eI7}{1WL-vcB7Q!QPl6I3um@9xt;2nnnK^&hFZ}won~QM+j5@aPsOx4
zaBy&z^9{I>>SdpICQ8B@oOXXsc!7J_y0}Qh(tTht`uPm{_FkNsrDb@IbiBd#?;MD4
zygI8q5)u;hEnI=?HJpT`Bq-{H;V}ve2|=2gn-#0gKb#%RYi_!0Do^Tf+^_8%cd7~4
zJr91`J;%r57IEnDN591SI&_L>Thmji0GY(f67%Sa995?U6GPbVn2HIH{$VcQFvv5p
z=t&kVGEAxm!Wq4Y*++lU_a^$+_`1t(XVTy7oIW?la&VHKcILD-PI0<D34Z!Hj<M?i
z#pKJ^xWFW%0mJ$H<NW0hkq9>4(3c<P8(qdvbAI@V#xrW>UYPbpr+CfflLU|1e@6Jb
z?4~f$nYC~&_2SzMOd`V4?-v<{5~Ig`GaA9KtTrQ|8*ncaVXHPjkp4R9%o3yWhr#Up
zBAZOpCEe)U)*Y7hT{VKp;AQFhz^8Pd3GK%=n2IKfa}*53ncB&&a_`6HF?w!SmZM=o
zCA%C_PQ`CE6G0pnUAD%Fi7VBQqu)>b>MhlmU*Y#+v*`J59c>&k8-#u!y?%y_#rXy2
zX6jX*;d9zs`q&1$F1kWxteDW(MxvX1h={B{r@3{K=0V2W?*(a0jE7P}9!(BgzGv0V
zu=olNbo};+r=p_M>s|OhDqqpHP~PjO_`L_aq8FQ;$Rd0S=c`&4wsdg?v4>c@a2M?F
zw|Hi-jeDLxmLzX6-@eo8JLNSQ*1sGYT&O?XJ2^<@b%CBA@zKagzc-R}h2sgE@!(7L
z<&w*rGMW6|@`J_JR?$TtJUl#>Uk=DiMp+5>mjumwdzQyZ2=w&ytkaC4_4RK^NJzRi
zpFDXYDK9@<`zv0g<40ws-AY%8aP8^dG~3qBj=}xSIkcc+U|?{Pnpjy`*?GL$t9XAH
z_DpKkBjIOmr>0NaMwy9-Lcx++J+iUQ3_ATSvQh5Cd~!|SWm82X?Ojl~a8y7g1TsmM
z?^8UJ)J!CD!N=yqJaWp{EX--VA=Z*!lK4jHQRmUkxM6A_*@ifG!=}UqL7HB<T-k^A
zd0vjeOq`RcW-ZxG^$kJGqE}ekssu}}0~dS#3i{$<T;}c_;g!W7m92q=eZ*}ad&$nP
zFQmJ|aAjm<x{8u?<=Bito=C?ty)972t7~Jh8SY7*TI)wvDbaX=?$USLmkdw;3>gd}
zB|ZIas<+Yp^ml;|DJjJ*N1J=oen@Ho$YnjF;^Hk0+(@n*Y<|i~g2xP{@%)XxH&paa
z#DzEn=MT+99ydL3kEA;;j{+lA1w8M*_K)FzyZ`e}$!_Mx%6Jgc6Y-w5kx?Vx=h?G7
zm#I$bN4`Fv``AZSXO*~{<D2e^ZmYZ}Xvk4!3uY@POy3on+=rWjtn^LNPg*YAG0uX5
z4c&6`@`5r&f`ktbbp-*kO1fQ#y~6n1q>2t(=XRQ#u;=dPw%i{>t5Bdkb$P?*S$3IV
zYJq><oL^J~-Q7@e$-&BcTyjg{VO1=rI9pX-?kkl;cg9;|v)BUh1qP8?K!6M?b^_6e
zS?t#&C7)w=b$2iCmH`oUs85$%!=&pki()Jc=2)>6t7W03Rpv#bulvi+-DmY>Esi-p
zm&%*6EYvtF(HAS@2so7TWT68sdtx7u=svEmQP9&O*1HWkbLH<m?D&Xv#qiC#DsR2+
zzG)?>!zxHjR6Cs(g|xNP<HJD00wX&{oEJ>hEAg_vV%yywce+^TJ&JY^laWONsx;W2
zsookZz%g!W+9TQNpN$9)|B{?cuQO_CX!sd4U6?M`08ngz^`DLo;k(;~W{>MYddIyf
zEDaxWJwS}mw`5MAzw&7x9%fz?!)^As3~Xr;I6FV@uCVT|cB{O}swieSFF3@dAIqy@
z)>aZcSn#Ue8z{PTa2S7Y%kN#BhP=0~>3ndvv%&`XGB93Awf5_}vU0ra#fxUC;uFW7
zrFE9ZG39fTLgwbZ`Pr&>sU+)OO(Z?4UvIQqp__5jNQJ0iT5gbSoxG|S<C)eYeA+KP
zryGlunrG6R@TGI|THWupXKrKz(LWsGWV8@iw!@zDwJ_IW;pQ-T+^Nm8c^zdmJlNUo
zgiXN0o?NE1IPS)|r<Ap{xCaKrOZ}GP_h>PXk02fwp%E4y<Dzhz4&(dy^n|3gY=P}i
zf3}jA#VFJr`G-HelTB6BaM1}Kqt5w3T(<X_F*CD<w3Jjw5&*!%*VNS11g#{OO8!mw
z+2aN85pn5N?ru+;?wfZnPCDMiN+FPwlh4&VAQlu9)OlXpx1fwlt*lQiuC09>OyZEf
zd-ydt*k#jt|HQ_|=9nL!QNtey<toc*Y-))}|JGK)@CSjB)s+>gb&tAYrL{GR4{71b
zZm++&dB4gNlz&^uSKmfbz5dI^8|Qd7@DKtS`Y<=@(-9x+MiSX-t=+3zTe_;QHC>lq
zvC{{mb}?J_G{QCf>e-t}omM|H&54k8MvF1;bHRKo#Pdh>SmYQ^&!}Fz3bm?J{Nr4l
zRASD6@kRX8eLfH5oB5fyt(v?H^Y=TAdZuXw9UFH|gqLaJOG~j~Q*IaErr_o(-mV%<
zK1xmTTk?5A-n(CjaY$^o;@FtAd=%hPjXgYfp~U*REkCVZX}o@Wu9Gln!#7%Op;{6D
z9S8sx4vuc1*t^XJ%qL4DmRfCaa7jtgR8>{inn=`M(S+D1Bqr()rMyuq*L&Ndvshfr
zaI6g7BFbWybrUaBYdznU_N_OHytBJIXX<u3v$H5H4f#)TqWj?H!1GeGKX?4j%+oV?
zO~?Mpn(dhoxBG`i9;9X`X|KE=@g{s|XyYNr1B(z23)soh=6kB5uVXgH26{JVwVsLe
zC-R9Z3HkZ8m!&Nv4+>vvyd5yKM&DQcN<m`K%0D<iJ9@c-Qd;Qlc{Whl-`>9Sstw|#
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

diff --git a/External/AtlasPyFwdBwdPorts/src/pyinotify-0.9.1.tar.gz b/External/AtlasPyFwdBwdPorts/src/pyinotify-0.9.1.tar.gz
deleted file mode 100644
index 02ae73637de752d6202a7dd0e5080f72ef1c350c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 56066
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
OwhWEHen2)3;C}#QJW$U7

-- 
GitLab


From f575c37a4d68f25a86b17b7236033bfe2e6bbeee Mon Sep 17 00:00:00 2001
From: Susumu Oda <Susumu.Oda@cern.ch>
Date: Tue, 29 Jan 2019 12:11:32 +0100
Subject: [PATCH 189/192] Fix const correctness.
 SCTCalibWriteTool::wrapUpNoisyChannel() is a non-const method.

---
 .../InDetCalibAlgs/SCT_CalibAlgs/SCT_CalibAlgs/SCTCalib.h       | 2 +-
 InnerDetector/InDetCalibAlgs/SCT_CalibAlgs/src/SCTCalib.cxx     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/InnerDetector/InDetCalibAlgs/SCT_CalibAlgs/SCT_CalibAlgs/SCTCalib.h b/InnerDetector/InDetCalibAlgs/SCT_CalibAlgs/SCT_CalibAlgs/SCTCalib.h
index b840b0e6d078..c353f51b28e5 100644
--- a/InnerDetector/InDetCalibAlgs/SCT_CalibAlgs/SCT_CalibAlgs/SCTCalib.h
+++ b/InnerDetector/InDetCalibAlgs/SCT_CalibAlgs/SCT_CalibAlgs/SCTCalib.h
@@ -299,7 +299,7 @@ class SCTCalib : public AthAlgorithm {
       StatusCode
       writeModuleListToCool( const std::map< Identifier, std::set<Identifier> >& moduleListAll,
                              const std::map< Identifier, std::set<Identifier> >& moduleListNew,
-                             const std::map< Identifier, std::set<Identifier> >& moduleListRef ) const;
+                             const std::map< Identifier, std::set<Identifier> >& moduleListRef );
       std::string
       getStripList( const std::set<Identifier>& stripIdList ) const;
 
diff --git a/InnerDetector/InDetCalibAlgs/SCT_CalibAlgs/src/SCTCalib.cxx b/InnerDetector/InDetCalibAlgs/SCT_CalibAlgs/src/SCTCalib.cxx
index bd76a2fc4616..a1b99d0424b4 100644
--- a/InnerDetector/InDetCalibAlgs/SCT_CalibAlgs/src/SCTCalib.cxx
+++ b/InnerDetector/InDetCalibAlgs/SCT_CalibAlgs/src/SCTCalib.cxx
@@ -2709,7 +2709,7 @@ SCTCalib::addStripsToList( Identifier& waferId, std::set<Identifier>& stripIdLis
 StatusCode
 SCTCalib::writeModuleListToCool( const std::map< Identifier, std::set<Identifier> >& moduleListAll,
                                  const std::map< Identifier, std::set<Identifier> >& moduleListNew,
-                                 const std::map< Identifier, std::set<Identifier> >& moduleListRef ) const {
+                                 const std::map< Identifier, std::set<Identifier> >& moduleListRef ) {
    //--- Write out strips
    float noisyStripThr = m_noisyStripThrDef?(m_noisyStripThrOffline):(m_noisyStripThrOnline);
    int nDefects = 0;
-- 
GitLab


From a8683470fb0ae810ae6fc30e1fa1270905b673e2 Mon Sep 17 00:00:00 2001
From: christos <christos@cern.ch>
Date: Tue, 29 Jan 2019 13:40:49 +0000
Subject: [PATCH 190/192] Change defining Parameter interface for
 NeutralParticle to be the same as TrackParticle, cleaner and MT compatible

---
 Event/xAOD/xAODTracking/Root/NeutralParticle_v1.cxx      | 9 +++++----
 .../xAODTracking/versions/NeutralParticle_v1.h           | 4 ++--
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/Event/xAOD/xAODTracking/Root/NeutralParticle_v1.cxx b/Event/xAOD/xAODTracking/Root/NeutralParticle_v1.cxx
index a089fbbdb72d..8ee39d1a8cd3 100644
--- a/Event/xAOD/xAODTracking/Root/NeutralParticle_v1.cxx
+++ b/Event/xAOD/xAODTracking/Root/NeutralParticle_v1.cxx
@@ -109,8 +109,8 @@ namespace xAOD {
   AUXSTORE_PRIMITIVE_GETTER(NeutralParticle_v1, float, theta)
   AUXSTORE_PRIMITIVE_GETTER(NeutralParticle_v1, float, oneOverP)
 
-  const DefiningParameters_t& NeutralParticle_v1::definingParameters() const{
-      static DefiningParameters_t tmp;
+  const DefiningParameters_t NeutralParticle_v1::definingParameters() const{
+      DefiningParameters_t tmp;
       tmp << d0(),z0(),phi0(),theta(),oneOverP();
       return tmp;
   }
@@ -154,11 +154,12 @@ namespace xAOD {
             v.push_back(cov(icol,irow));
   }
 
-  const xAOD::ParametersCovMatrix_t& NeutralParticle_v1::definingParametersCovMatrix() const {
+  const xAOD::ParametersCovMatrix_t NeutralParticle_v1::definingParametersCovMatrix() const {
     static const Accessor< std::vector<float> > acc( "definingParametersCovMatrix" );
     std::vector<float> v = acc(*this);
     std::vector<float>::const_iterator it = v.begin();
-    static xAOD::ParametersCovMatrix_t cov; cov.setZero();
+    xAOD::ParametersCovMatrix_t cov; 
+    cov.setZero();
     for (size_t irow = 0; irow<5; ++irow)
         for (size_t icol =0; icol<=irow; ++icol)
             cov.fillSymmetric(icol,irow, *it++);
diff --git a/Event/xAOD/xAODTracking/xAODTracking/versions/NeutralParticle_v1.h b/Event/xAOD/xAODTracking/xAODTracking/versions/NeutralParticle_v1.h
index 49eb0ca4ee6e..6ba2093461a7 100644
--- a/Event/xAOD/xAODTracking/xAODTracking/versions/NeutralParticle_v1.h
+++ b/Event/xAOD/xAODTracking/xAODTracking/versions/NeutralParticle_v1.h
@@ -100,9 +100,9 @@ namespace xAOD {
       /// @brief Returns a SVector of the Perigee track parameters. 
       /// i.e. a vector of
       ///  \f$\left(\begin{array}{c}d_0\\z_0\\\phi_0\\\theta\\q/p\end{array}\right)\f$
-      const DefiningParameters_t& definingParameters() const;
+      const DefiningParameters_t definingParameters() const;
       /// Returns the 5x5 symmetric matrix containing the defining parameters covariance matrix.
-      const ParametersCovMatrix_t& definingParametersCovMatrix() const;  
+      const ParametersCovMatrix_t definingParametersCovMatrix() const;  
       /// Returns the vector of the covariance values - 15 elements
       const std::vector<float>& definingParametersCovMatrixVec() const;
       
-- 
GitLab


From 8d8d379cd2eb397845daf57f1316b1c354566a5d Mon Sep 17 00:00:00 2001
From: scott snyder <snyder@bnl.gov>
Date: Fri, 25 Jan 2019 17:29:50 +0100
Subject: [PATCH 191/192] MuonConfig; Fix tests.

Test input files have moved.  Update test scripts.
Update reference files.
Prevent concurrently-running tests trying to write the same pkl file.
---
 .../MuonConfig/python/MuonRdoDecodeConfig.py  |   9 +-
 .../python/MuonReconstructionConfig.py        |   4 +-
 .../python/MuonSegmentFindingConfig.py        |   4 +-
 .../MuonConfig/share/MuonDataDecodeTest.ref   | 557 ++++++++++++-
 .../share/MuonDataDecodeTest_Cache.ref        | 756 +++++++++++++++++-
 .../test/testMuonDataDecode_Cache.sh          |   2 +-
 6 files changed, 1322 insertions(+), 10 deletions(-)

diff --git a/MuonSpectrometer/MuonConfig/python/MuonRdoDecodeConfig.py b/MuonSpectrometer/MuonConfig/python/MuonRdoDecodeConfig.py
index 30d457c49190..4d9f08a0c897 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonRdoDecodeConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonRdoDecodeConfig.py
@@ -1,5 +1,5 @@
 #
-#  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+#  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 #
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
 from AthenaCommon.Constants import VERBOSE, DEBUG, INFO
@@ -239,9 +239,14 @@ def muonRdoDecodeTestData( forTrigger = False ):
     log.info('Print Config')
     cfg.printConfig(withDetails=True)
 
+    if forTrigger:
+        pklName = 'MuonRdoDecode_Cache.pkl'
+    else:
+        pklName = 'MuonRdoDecode.pkl'
+
     # Store config as pickle
     log.info('Save Config')
-    with open('MuonRdoDecode.pkl','w') as f:
+    with open(pklName,'w') as f:
         cfg.store(f)
         f.close()
 
diff --git a/MuonSpectrometer/MuonConfig/python/MuonReconstructionConfig.py b/MuonSpectrometer/MuonConfig/python/MuonReconstructionConfig.py
index f6cba997e367..37879ac4db2b 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonReconstructionConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonReconstructionConfig.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 # Core configuration
 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
@@ -28,7 +28,7 @@ if __name__=="__main__":
     from AthenaCommon.Logging import log
     log.debug('About to set up Segment Finding.')
     
-    ConfigFlags.Input.Files = ["/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/q221/21.3/myESD.pool.root"]
+    ConfigFlags.Input.Files = ["/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/q221/21.3/v1/myESD.pool.root"]
     ConfigFlags.Muon.doCSCs = False 
     ConfigFlags.lock()
 
diff --git a/MuonSpectrometer/MuonConfig/python/MuonSegmentFindingConfig.py b/MuonSpectrometer/MuonConfig/python/MuonSegmentFindingConfig.py
index 78a1091d1dd0..1638457f0659 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonSegmentFindingConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonSegmentFindingConfig.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
 # This file configures the Muon segment finding. It is based on a few files in the old configuration system:
 # Tools, which are configured here: 
@@ -813,7 +813,7 @@ if __name__=="__main__":
     from AthenaCommon.Logging import log
     log.debug('About to set up Segment Finding.')
     
-    ConfigFlags.Input.Files = ["/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/q221/21.3/myESD.pool.root"]
+    ConfigFlags.Input.Files = ["/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/q221/21.3/v1/myESD.pool.root"]
     ConfigFlags.Input.isMC = True
     ConfigFlags.Muon.doCSCs = False 
     ConfigFlags.lock()
diff --git a/MuonSpectrometer/MuonConfig/share/MuonDataDecodeTest.ref b/MuonSpectrometer/MuonConfig/share/MuonDataDecodeTest.ref
index b9a28dde4c45..4b52decb7485 100644
--- a/MuonSpectrometer/MuonConfig/share/MuonDataDecodeTest.ref
+++ b/MuonSpectrometer/MuonConfig/share/MuonDataDecodeTest.ref
@@ -1,4 +1,142 @@
+Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc8-opt] [atlas-work3/5f61275c16] -- built on [2019-01-25T1856]
 Flag Name                                : Value
+Beam.BunchSpacing                        : 25
+Beam.Energy                              : [function]
+Beam.NumberOfCollisions                  : 0
+Beam.Type                                : 'collisions'
+Beam.estimatedLuminosity                 : [function]
+Calo.Noise.fixedLumiForNoise             : -1
+Calo.Noise.useCaloNoiseLumi              : True
+Calo.TopoCluster.doTreatEnergyCutAsAbsol : False
+Calo.TopoCluster.doTwoGaussianNoise      : True
+Common.isOnline                          : False
+Concurrency.NumConcurrentEvents          : 0
+Concurrency.NumProcs                     : 0
+Concurrency.NumThreads                   : 0
+DQ.DataType                              : [function]
+DQ.Environment                           : [function]
+DQ.FileKey                               : 'CombinedMonitoring'
+DQ.disableAtlasReadyFilter               : False
+DQ.doGlobalMon                           : True
+DQ.doMonitoring                          : True
+DQ.doStreamAwareMon                      : True
+GeoModel.AtlasVersion                    : 'ATLAS-R2-2016-01-00-01'
+GeoModel.Layout                          : 'atlas'
+IOVDb.DatabaseInstance                   : [function]
+IOVDb.GlobalTag                          : 'CONDBR2-BLKPA-2018-13'
+Input.Files                              : ['/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TrigP1Test/data17_13TeV.00327265.physics_EnhancedBias.merge.RAW._lb0100._SFO-1._0001.1']
+Input.ProjectName                        : [function]
+Input.RunNumber                          : [function]
+Input.isMC                               : [function]
+LAr.RawChannelSource                     : [function]
+LAr.doAlign                              : [function]
+LAr.doCellEmMisCalib                     : [function]
+LAr.doCellNoiseMasking                   : True
+LAr.doCellSporadicNoiseMasking           : True
+LAr.doHVCorr                             : [function]
+Muon.Align.UseALines                     : False
+Muon.Align.UseAsBuilt                    : False
+Muon.Align.UseBLines                     : 'none'
+Muon.Align.UseILines                     : False
+Muon.Calib.CscF001FromLocalFile          : False
+Muon.Calib.CscNoiseFromLocalFile         : False
+Muon.Calib.CscPSlopeFromLocalFile        : False
+Muon.Calib.CscPedFromLocalFile           : False
+Muon.Calib.CscRmsFromLocalFile           : False
+Muon.Calib.CscStatusFromLocalFile        : False
+Muon.Calib.CscT0BaseFromLocalFile        : False
+Muon.Calib.CscT0PhaseFromLocalFile       : False
+Muon.Calib.EventTag                      : 'MoMu'
+Muon.Calib.applyRtScaling                : True
+Muon.Calib.correctMdtRtForBField         : False
+Muon.Calib.correctMdtRtForTimeSlewing    : False
+Muon.Calib.correctMdtRtWireSag           : False
+Muon.Calib.mdtCalibrationSource          : 'MDT'
+Muon.Calib.mdtMode                       : 'ntuple'
+Muon.Calib.mdtPropagationSpeedBeta       : 0.85
+Muon.Calib.readMDTCalibFromBlob          : True
+Muon.Calib.useMLRt                       : True
+Muon.Chi2NDofCut                         : 20.0
+Muon.createTrackParticles                : True
+Muon.doCSCs                              : True
+Muon.doDigitization                      : True
+Muon.doFastDigitization                  : False
+Muon.doMDTs                              : True
+Muon.doMSVertex                          : False
+Muon.doMicromegas                        : False
+Muon.doPseudoTracking                    : False
+Muon.doRPCClusterSegmentFinding          : False
+Muon.doRPCs                              : True
+Muon.doSegmentT0Fit                      : False
+Muon.doTGCClusterSegmentFinding          : False
+Muon.doTGCs                              : True
+Muon.dosTGCs                             : False
+Muon.enableCurvedSegmentFinding          : False
+Muon.enableErrorTuning                   : False
+Muon.optimiseMomentumResolutionUsingChi2 : False
+Muon.patternsOnly                        : False
+Muon.prdToxAOD                           : False
+Muon.printSummary                        : False
+Muon.refinementTool                      : 'Moore'
+Muon.rpcRawToxAOD                        : False
+Muon.segmentOrigin                       : 'Muon'
+Muon.straightLineFitMomentum             : 2000.0
+Muon.strategy                            : []
+Muon.trackBuilder                        : 'Moore'
+Muon.updateSegmentSecondCoordinate       : [function]
+Muon.useAlignmentCorrections             : False
+Muon.useLooseErrorTuning                 : False
+Muon.useSegmentMatching                  : [function]
+Muon.useTGCPriorNextBC                   : False
+Muon.useTrackSegmentMatching             : True
+Muon.useWireSagCorrections               : False
+Output.AODFileName                       : 'myAOD.pool.root'
+Output.ESDFileName                       : 'myESD.pool.root'
+Output.HISTFileName                      : 'myHIST.root'
+Output.HITFileName                       : 'myHIT.pool.root'
+Output.RDOFileName                       : 'myROD.pool.root'
+Output.doESD                             : False
+Scheduler.CheckDependencies              : True
+Scheduler.ShowControlFlow                : False
+Scheduler.ShowDataDeps                   : False
+Scheduler.ShowDataFlow                   : False
+Trigger.AODEDMSet                        : []
+Trigger.EDMDecodingVersion               : 2
+Trigger.ESDEDMSet                        : []
+Trigger.L1.CTPVersion                    : 4
+Trigger.L1.doBcm                         : True
+Trigger.L1.doMuons                       : True
+Trigger.L1Decoder.forceEnableAllChains   : False
+Trigger.LVL1ConfigFile                   : [function]
+Trigger.LVL1TopoConfigFile               : [function]
+Trigger.OnlineCondTag                    : 'CONDBR2-HLTP-2016-01'
+Trigger.OnlineGeoTag                     : 'ATLAS-R2-2015-04-00-00'
+Trigger.calo.doOffsetCorrection          : True
+Trigger.dataTakingConditions             : 'FullTrigger'
+Trigger.doHLT                            : True
+Trigger.doL1Topo                         : True
+Trigger.doLVL1                           : [function]
+Trigger.doTriggerConfigOnly              : False
+Trigger.doTruth                          : False
+Trigger.egamma.calibMVAVersiona          : [function]
+Trigger.egamma.clusterCorrectionVersion  : [function]
+Trigger.egamma.pidVersion                : [function]
+Trigger.generateLVL1Config               : False
+Trigger.generateLVL1TopoConfig           : False
+Trigger.menu.combined                    : []
+Trigger.menu.electron                    : []
+Trigger.menu.muon                        : []
+Trigger.menu.photon                      : []
+Trigger.menuVersion                      : [function]
+Trigger.muon.doEFRoIDrivenAccess         : False
+Trigger.run2Config                       : '2018'
+Trigger.triggerConfig                    : 'MCRECO:DEFAULT'
+Trigger.triggerMenuSetup                 : 'MC_pp_v7_tight_mc_prescale'
+Trigger.triggerUseFrontier               : False
+Trigger.useL1CaloCalibration             : False
+Trigger.useRun1CaloEnergyScale           : False
+Trigger.writeBS                          : False
+Trigger.writeL1TopoValData               : True
 Py:Athena            INFO About to setup Rpc Raw data decoding
 Py:ComponentAccumulator   DEBUG Adding component EventSelectorByteStream/EventSelector to the job
 Py:ComponentAccumulator   DEBUG Adding component ByteStreamEventStorageInputSvc/ByteStreamInputSvc to the job
@@ -28,7 +166,6 @@ Py:ComponentAccumulator   DEBUG Adding component ByteStreamAttListMetadataSvc/By
 Py:ComponentAccumulator   DEBUG Adding component IOVDbMetaDataTool/IOVDbMetaDataTool to the job
 Py:ComponentAccumulator   DEBUG Adding component ByteStreamMetadataTool/ByteStreamMetadataTool to the job
 Py:ComponentAccumulator   DEBUG   Merging algorithm MuonCacheCreator to a sequence AthAlgSeq
-Py:Configurable     ERROR attempt to add a duplicate (AthAlgSeq.MuonCacheCreator) ... dupe ignored
 Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
 Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
 Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
@@ -328,12 +465,101 @@ Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
 Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
 Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
 Py:IOVDbSvc.CondDB   DEBUG Loading basic services for CondDBSetup...
+Py:ConfigurableDb   DEBUG loading confDb files...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libGaudiHive.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libStoreGate.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libGaudiCommonSvc.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libprofhelp.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libCaloTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libAthExHelloWorld.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libAthExHive.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libIOVDbSvc.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libPixelConditionsServices.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libLArMonTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libMdtRawDataMonitoring.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libEventUtils.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libxAODBTaggingEfficiency.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libRecBackgroundAlgs.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libCaloClusterMatching.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libCaloRingerTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libParticlesInConeTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTrackToCalo.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTrackToVertex.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libISF_Geant4Tools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTrkExStraightLineIntersector.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTrigTauMonitoring.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libCaloCellCorrection.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libCaloCondPhysAlgs.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libCaloUtils.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libAthViewsAlgs.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libZdcAnalysis.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libAthViewsDFlow.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libInDetPhysValMonitoring.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libLArRecUtils.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libLArCafJobs.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libMuonPhysValMonitoring.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libDerivationFrameworkExamples.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libDerivationFrameworkTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libElectronPhotonTagTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libJetMissingEtTagTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libMissingEtDQA.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libMuonMomentumCorrections.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libMuonResonanceTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libMuonSelectorTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libMuonTagTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libRingerSelectorTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTauAnalysisTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libLongLivedParticleDPDMaker.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTauTagTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libDiTauRec.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libMETUtilities.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libMuonCombinedBaseTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libegammaPerformance.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libFastCaloSim.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTileCalibAlgs.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTileMonitoring.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTileRec.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTileRecAlgs.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTileRecUtils.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTrigEgammaEmulationTool.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTrigConfigSvc.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libFTK_RecTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTrigMissingETHypo.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTileSimAlgs.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTBRec.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libCaloRec.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libZdcRec.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libDataQualityTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libLArCellRec.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libMuonTrackMonitoring.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libDerivationFrameworkJetEtMiss.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libEventTagAlgs.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libIsolationTool.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/WorkDir.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTrigEgammaAnalysisTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libJetSubStructureMomentTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libJetTagTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-24T2342/GAUDI/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/lib/Gaudi.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-24T2342/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/lib/Athena.confdb]...
+Py:ConfigurableDb   DEBUG loading confDb files... [DONE]
+Py:ConfigurableDb   DEBUG loaded 1101 confDb packages
+Py:ConfigurableDb    INFO Read module info for 5454 configurables from 75 genConfDb files
+Py:ConfigurableDb    INFO No duplicates have been found: that's good !
+Py:ConfigurableDb   DEBUG : Found configurable <class 'GaudiCoreSvc.GaudiCoreSvcConf.MessageSvc'> in module GaudiCoreSvc.GaudiCoreSvcConf
 Py:loadBasicAthenaPool   DEBUG Loading basic services for AthenaPool...
+Py:ConfigurableDb   DEBUG : Found configurable <class 'PoolSvc.PoolSvcConf.PoolSvc'> in module PoolSvc.PoolSvcConf
+Py:ConfigurableDb   DEBUG : Found configurable <class 'AthenaPoolCnvSvc.AthenaPoolCnvSvcConf.AthenaPoolCnvSvc'> in module AthenaPoolCnvSvc.AthenaPoolCnvSvcConf
+Py:ConfigurableDb   DEBUG : Found configurable <class 'SGComps.SGCompsConf.ProxyProviderSvc'> in module SGComps.SGCompsConf
+Py:ConfigurableDb   DEBUG : Found configurable <class 'AthenaServices.AthenaServicesConf.MetaDataSvc'> in module AthenaServices.AthenaServicesConf
+Py:ConfigurableDb   DEBUG : Found configurable <class 'StoreGate.StoreGateConf.StoreGateSvc'> in module StoreGate.StoreGateConf
 Py:loadBasicAthenaPool   DEBUG Loading basic services for AthenaPool... [DONE]
 Py:loadBasicIOVDb   DEBUG Loading basic services for IOVDbSvc...
+Py:ConfigurableDb   DEBUG : Found configurable <class 'SGComps.SGCompsConf.ProxyProviderSvc'> in module SGComps.SGCompsConf
 Py:Configurable     ERROR attempt to add a duplicate (ServiceManager.ProxyProviderSvc) ... dupe ignored
 Py:loadBasicEventInfoMgt   DEBUG Loading basic services for EventInfoMgt...
+EventInfoMgtInit: Got release version  Athena-22.0.1
 Py:Configurable     ERROR attempt to add a duplicate (ServiceManager.EventPersistencySvc) ... dupe ignored
+Py:ConfigurableDb   DEBUG : Found configurable <class 'SGComps.SGCompsConf.ProxyProviderSvc'> in module SGComps.SGCompsConf
 Py:Configurable     ERROR attempt to add a duplicate (ServiceManager.ProxyProviderSvc) ... dupe ignored
 Py:loadBasicEventInfoMgt   DEBUG Loading basic services for EventInfoMgt... [DONE]
 Py:loadBasicIOVDb   DEBUG Loading basic services for IOVDb... [DONE]
@@ -556,6 +782,7 @@ Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersi
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component ToolSvc.Muon::MuonIdHelperTool
+Py:ConfigurableDb   DEBUG : Found configurable <class 'MuonRPC_CnvTools.MuonRPC_CnvToolsConf.Muon__RpcRDO_Decoder'> in module MuonRPC_CnvTools.MuonRPC_CnvToolsConf
 Py:ComponentAccumulator   DEBUG Adding component Muon::RpcRdoToPrepDataTool/RpcRdoToRpcPrepDataTool to the job
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondInputLoader
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
@@ -1053,6 +1280,10 @@ Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersi
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component ToolSvc.Muon::MuonIdHelperTool
+Py:ConfigurableDb   DEBUG : Found configurable <class 'MuonCSC_CnvTools.MuonCSC_CnvToolsConf.Muon__CscRDO_Decoder'> in module MuonCSC_CnvTools.MuonCSC_CnvToolsConf
+Py:ConfigurableDb   DEBUG : Found configurable <class 'CscCalibTools.CscCalibToolsConf.CscCalibTool'> in module CscCalibTools.CscCalibToolsConf
+Py:ConfigurableDb   DEBUG : Found configurable <class 'MuonCSC_CnvTools.MuonCSC_CnvToolsConf.Muon__CSC_RawDataProviderTool'> in module MuonCSC_CnvTools.MuonCSC_CnvToolsConf
+Py:ConfigurableDb   DEBUG : Found configurable <class 'MuonCSC_CnvTools.MuonCSC_CnvToolsConf.Muon__CscROD_Decoder'> in module MuonCSC_CnvTools.MuonCSC_CnvToolsConf
 Py:ComponentAccumulator   DEBUG Adding component Muon::CscRdoToCscPrepDataTool/CscRdoToCscPrepDataTool to the job
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondInputLoader
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
@@ -1070,8 +1301,13 @@ Py:ComponentAccumulator   DEBUG Reconciled configuration of component ToolSvc.Mu
 Py:ComponentAccumulator   DEBUG Adding component Muon::CscRdoToCscPrepDataTool/CscRdoToCscPrepDataTool to the job
 Py:ComponentAccumulator   DEBUG Adding component CscThresholdClusterBuilderTool/CscThesholdClusterBuilderTool to the job
 Py:ComponentAccumulator   DEBUG Adding component CscThresholdClusterBuilderTool/CscThesholdClusterBuilderTool to the job
+Py:ConfigurableDb   DEBUG : Found configurable <class 'AthenaPoolCnvSvc.AthenaPoolCnvSvcConf.AthenaPoolCnvSvc'> in module AthenaPoolCnvSvc.AthenaPoolCnvSvcConf
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component AthenaPoolCnvSvc
 Py:Athena            INFO Print Config
+Py:ComponentAccumulator    INFO Event Inputs
+Py:ComponentAccumulator    INFO set([])
+Py:ComponentAccumulator    INFO Event Algorithm Sequences
+Py:ComponentAccumulator    INFO /***** Algorithm AthSequencer/AthAlgSeq ************************************************************
 |-Atomic                                  = False
 |-AuditAlgorithms                         = False
 |-AuditBeginRun                           = False
@@ -1083,21 +1319,29 @@ Py:Athena            INFO Print Config
 |-AuditRestart                            = False
 |-AuditStart                              = False
 |-AuditStop                               = False
+|-Cardinality                             = 0
 |-ContinueEventloopOnFPE                  = False
+|-DetStore                   @0x7f4eee4eb9d0 = ServiceHandle('StoreGateSvc/DetectorStore')
 |-Enable                                  = True
 |-ErrorCounter                            = 0
 |-ErrorMax                                = 1
+|-EvtStore                   @0x7f4eee4eb950 = ServiceHandle('StoreGateSvc')
+|-ExtraInputs                @0x7f4eecb072d8 = []  (default: [])
+|-ExtraOutputs               @0x7f4eecb07488 = []  (default: [])
 |-FilterCircularDependencies              = True
 |-IgnoreFilterPassed                      = False
 |-IsIOBound                               = False
+|-Members                    @0x7f4eecb070e0 = ['MuonCacheCreator/MuonCacheCreator', 'Muon::RpcRawDataProvider/RpcRawDataProvider', 'Muon::TgcRawDataProvider/TgcRawDataProvider', 'Muon::MdtRawDataProvider/MdtRawDataProvider', 'Muon::CscRawDataProvider/CscRawDataProvider', 'RpcRdoToRpcPrepData/RpcRdoToRpcPrepData', 'TgcRdoToTgcPrepData/TgcRdoToTgcPrepData', 'MdtRdoToMdtPrepData/MdtRdoToMdtPrepData', 'CscRdoToCscPrepData/CscRdoToCscPrepData', 'CscThresholdClusterBuilder/CscThesholdClusterBuilder']
 |                                            (default: [])
 |-ModeOR                                  = False
 |-MonitorService                          = 'MonitorSvc'
+|-NeededResources            @0x7f4eecb07560 = []  (default: [])
 |-OutputLevel                             = 0
 |-RegisterForContextService               = False
 |-Sequential                              = False
 |-StopOverride                            = False
 |-TimeOut                                 = 0.0
+|-Timeline                                = True
 |=/***** Algorithm MuonCacheCreator/MuonCacheCreator *************************************************
 | |-AuditAlgorithms                         = False
 | |-AuditBeginRun                           = False
@@ -1109,15 +1353,26 @@ Py:Athena            INFO Print Config
 | |-AuditRestart                            = False
 | |-AuditStart                              = False
 | |-AuditStop                               = False
+| |-Cardinality                             = 0
+| |-CscCacheKey                @0x7f4eed1213f0 = 'CscCache'  (default: 'StoreGateSvc+')
+| |-DetStore                   @0x7f4eed1e9950 = ServiceHandle('StoreGateSvc/DetectorStore')
 | |-DisableViewWarning                      = False
 | |-Enable                                  = True
 | |-ErrorCounter                            = 0
 | |-ErrorMax                                = 1
+| |-EvtStore                   @0x7f4eed1e98d0 = ServiceHandle('StoreGateSvc')
+| |-ExtraInputs                @0x7f4eed2bd0e0 = []  (default: [])
+| |-ExtraOutputs               @0x7f4eed1f3fc8 = []  (default: [])
 | |-FilterCircularDependencies              = True
 | |-IsIOBound                               = False
+| |-MdtCsmCacheKey             @0x7f4eed1213c0 = 'MdtCsmCache'  (default: 'StoreGateSvc+')
 | |-MonitorService                          = 'MonitorSvc'
+| |-NeededResources            @0x7f4eed2bd050 = []  (default: [])
 | |-OutputLevel                             = 0
 | |-RegisterForContextService               = False
+| |-RpcCacheKey                @0x7f4eed1217b0 = 'RpcCache'  (default: 'StoreGateSvc+')
+| |-TgcCacheKey                @0x7f4eed121810 = 'TgcCache'  (default: 'StoreGateSvc+')
+| |-Timeline                                = True
 | \----- (End of Algorithm MuonCacheCreator/MuonCacheCreator) ----------------------------------------
 |=/***** Algorithm Muon::RpcRawDataProvider/RpcRawDataProvider ***************************************
 | |-AuditAlgorithms                         = False
@@ -1130,17 +1385,26 @@ Py:Athena            INFO Print Config
 | |-AuditRestart                            = False
 | |-AuditStart                              = False
 | |-AuditStop                               = False
+| |-Cardinality                             = 1
+| |-DetStore                   @0x7f4eed2cab90 = ServiceHandle('StoreGateSvc/DetectorStore')
 | |-DoSeededDecoding                        = False
 | |-Enable                                  = True
 | |-ErrorCounter                            = 0
 | |-ErrorMax                                = 1
+| |-EvtStore                   @0x7f4eed2cab10 = ServiceHandle('StoreGateSvc')
+| |-ExtraInputs                @0x7f4eecb07758 = []  (default: [])
+| |-ExtraOutputs               @0x7f4eecb075a8 = []  (default: [])
 | |-FilterCircularDependencies              = True
 | |-IsIOBound                               = False
 | |-MonitorService                          = 'MonitorSvc'
+| |-NeededResources            @0x7f4eecb075f0 = []  (default: [])
 | |-OutputLevel                             = 0
+| |-ProviderTool               @0x7f4eed5b0528 = PrivateToolHandle('Muon::RPC_RawDataProviderTool/RPC_RawDataProviderTool')
 | |                                            (default: 'Muon::RPC_RawDataProviderTool/RpcRawDataProviderTool')
+| |-RegionSelectionSvc         @0x7f4eed2cac10 = ServiceHandle('RegSelSvc')
 | |-RegisterForContextService               = False
 | |-RoIs                                    = 'StoreGateSvc+OutputRoIs'
+| |-Timeline                                = True
 | |=/***** Private AlgTool Muon::RPC_RawDataProviderTool/RpcRawDataProvider.RPC_RawDataProviderTool *****
 | | |-AuditFinalize                  = False
 | | |-AuditInitialize                = False
@@ -1149,6 +1413,11 @@ Py:Athena            INFO Print Config
 | | |-AuditStart                     = False
 | | |-AuditStop                      = False
 | | |-AuditTools                     = False
+| | |-Decoder           @0x7f4eed5b0620 = PrivateToolHandle('Muon::RpcROD_Decoder/RpcROD_Decoder')
+| | |-DetStore          @0x7f4eed0bc410 = ServiceHandle('StoreGateSvc/DetectorStore')
+| | |-EvtStore          @0x7f4eed0bc450 = ServiceHandle('StoreGateSvc')
+| | |-ExtraInputs       @0x7f4eed0bf170 = []  (default: [])
+| | |-ExtraOutputs      @0x7f4eed0bf098 = []  (default: [])
 | | |-MonitorService                 = 'MonitorSvc'
 | | |-OutputLevel                    = 0
 | | |-RPCSec                         = 'StoreGateSvc+RPC_SECTORLOGIC'
@@ -1162,6 +1431,10 @@ Py:Athena            INFO Print Config
 | | | |-AuditStop                        = False
 | | | |-AuditTools                       = False
 | | | |-DataErrorPrintLimit              = 1000
+| | | |-DetStore            @0x7f4eed0bc510 = ServiceHandle('StoreGateSvc/DetectorStore')
+| | | |-EvtStore            @0x7f4eed0bc550 = ServiceHandle('StoreGateSvc')
+| | | |-ExtraInputs         @0x7f4eed0bf050 = []  (default: [])
+| | | |-ExtraOutputs        @0x7f4eed0b5f80 = []  (default: [])
 | | | |-MonitorService                   = 'MonitorSvc'
 | | | |-OutputLevel                      = 0
 | | | |-Sector13Data                     = False
@@ -1180,15 +1453,23 @@ Py:Athena            INFO Print Config
 | |-AuditRestart                            = False
 | |-AuditStart                              = False
 | |-AuditStop                               = False
+| |-Cardinality                             = 1
+| |-DetStore                   @0x7f4eed1d9b50 = ServiceHandle('StoreGateSvc/DetectorStore')
 | |-Enable                                  = True
 | |-ErrorCounter                            = 0
 | |-ErrorMax                                = 1
+| |-EvtStore                   @0x7f4eed1d9ad0 = ServiceHandle('StoreGateSvc')
+| |-ExtraInputs                @0x7f4eecb07950 = []  (default: [])
+| |-ExtraOutputs               @0x7f4eecb07a28 = []  (default: [])
 | |-FilterCircularDependencies              = True
 | |-IsIOBound                               = False
 | |-MonitorService                          = 'MonitorSvc'
+| |-NeededResources            @0x7f4eecb07998 = []  (default: [])
 | |-OutputLevel                             = 0
+| |-ProviderTool               @0x7f4eee28e9b0 = PrivateToolHandle('Muon::TGC_RawDataProviderTool/TGC_RawDataProviderTool')
 | |                                            (default: 'Muon::TGC_RawDataProviderTool/TgcRawDataProviderTool')
 | |-RegisterForContextService               = False
+| |-Timeline                                = True
 | |=/***** Private AlgTool Muon::TGC_RawDataProviderTool/TgcRawDataProvider.TGC_RawDataProviderTool *****
 | | |-AuditFinalize                  = False
 | | |-AuditInitialize                = False
@@ -1197,7 +1478,12 @@ Py:Athena            INFO Print Config
 | | |-AuditStart                     = False
 | | |-AuditStop                      = False
 | | |-AuditTools                     = False
+| | |-Decoder           @0x7f4eee28eaa0 = PrivateToolHandle('Muon::TGC_RodDecoderReadout/TgcROD_Decoder')
 | | |                                   (default: 'Muon::TGC_RodDecoderReadout/TGC_RodDecoderReadout')
+| | |-DetStore          @0x7f4eed062a50 = ServiceHandle('StoreGateSvc/DetectorStore')
+| | |-EvtStore          @0x7f4eed062a90 = ServiceHandle('StoreGateSvc')
+| | |-ExtraInputs       @0x7f4eecfe6128 = []  (default: [])
+| | |-ExtraOutputs      @0x7f4eecfe60e0 = []  (default: [])
 | | |-MonitorService                 = 'MonitorSvc'
 | | |-OutputLevel                    = 0
 | | |-RdoLocation                    = 'StoreGateSvc+TGCRDO'
@@ -1209,6 +1495,10 @@ Py:Athena            INFO Print Config
 | | | |-AuditStart                     = False
 | | | |-AuditStop                      = False
 | | | |-AuditTools                     = False
+| | | |-DetStore          @0x7f4eed062b50 = ServiceHandle('StoreGateSvc/DetectorStore')
+| | | |-EvtStore          @0x7f4eed062b90 = ServiceHandle('StoreGateSvc')
+| | | |-ExtraInputs       @0x7f4eed05fd88 = []  (default: [])
+| | | |-ExtraOutputs      @0x7f4eed05fef0 = []  (default: [])
 | | | |-MonitorService                 = 'MonitorSvc'
 | | | |-OutputLevel                    = 0
 | | | |-ShowStatusWords                = False
@@ -1227,15 +1517,23 @@ Py:Athena            INFO Print Config
 | |-AuditRestart                            = False
 | |-AuditStart                              = False
 | |-AuditStop                               = False
+| |-Cardinality                             = 1
+| |-DetStore                   @0x7f4eed1d2d90 = ServiceHandle('StoreGateSvc/DetectorStore')
 | |-Enable                                  = True
 | |-ErrorCounter                            = 0
 | |-ErrorMax                                = 1
+| |-EvtStore                   @0x7f4eed1d2d10 = ServiceHandle('StoreGateSvc')
+| |-ExtraInputs                @0x7f4eecb07a70 = []  (default: [])
+| |-ExtraOutputs               @0x7f4eecb07b00 = []  (default: [])
 | |-FilterCircularDependencies              = True
 | |-IsIOBound                               = False
 | |-MonitorService                          = 'MonitorSvc'
+| |-NeededResources            @0x7f4eecb079e0 = []  (default: [])
 | |-OutputLevel                             = 0
+| |-ProviderTool               @0x7f4eed14cc50 = PrivateToolHandle('Muon::MDT_RawDataProviderTool/MDT_RawDataProviderTool')
 | |                                            (default: 'Muon::MDT_RawDataProviderTool/MdtRawDataProviderTool')
 | |-RegisterForContextService               = False
+| |-Timeline                                = True
 | |=/***** Private AlgTool Muon::MDT_RawDataProviderTool/MdtRawDataProvider.MDT_RawDataProviderTool *****
 | | |-AuditFinalize                     = False
 | | |-AuditInitialize                   = False
@@ -1245,6 +1543,11 @@ Py:Athena            INFO Print Config
 | | |-AuditStop                         = False
 | | |-AuditTools                        = False
 | | |-CsmContainerCacheKey              = 'StoreGateSvc+'
+| | |-Decoder              @0x7f4eee28ed70 = PrivateToolHandle('MdtROD_Decoder/MdtROD_Decoder')
+| | |-DetStore             @0x7f4eecb93650 = ServiceHandle('StoreGateSvc/DetectorStore')
+| | |-EvtStore             @0x7f4eecb93690 = ServiceHandle('StoreGateSvc')
+| | |-ExtraInputs          @0x7f4eecb947e8 = []  (default: [])
+| | |-ExtraOutputs         @0x7f4eecb94878 = []  (default: [])
 | | |-MonitorService                    = 'MonitorSvc'
 | | |-OutputLevel                       = 0
 | | |-RdoLocation                       = 'StoreGateSvc+MDTCSM'
@@ -1257,6 +1560,10 @@ Py:Athena            INFO Print Config
 | | | |-AuditStart                     = False
 | | | |-AuditStop                      = False
 | | | |-AuditTools                     = False
+| | | |-DetStore          @0x7f4eecb93750 = ServiceHandle('StoreGateSvc/DetectorStore')
+| | | |-EvtStore          @0x7f4eecb93790 = ServiceHandle('StoreGateSvc')
+| | | |-ExtraInputs       @0x7f4eecb94758 = []  (default: [])
+| | | |-ExtraOutputs      @0x7f4eecb94710 = []  (default: [])
 | | | |-MonitorService                 = 'MonitorSvc'
 | | | |-OutputLevel                    = 0
 | | | |-ReadKey                        = 'ConditionStore+MuonMDT_CablingMap'
@@ -1275,15 +1582,23 @@ Py:Athena            INFO Print Config
 | |-AuditRestart                            = False
 | |-AuditStart                              = False
 | |-AuditStop                               = False
+| |-Cardinality                             = 1
+| |-DetStore                   @0x7f4eed2b7cd0 = ServiceHandle('StoreGateSvc/DetectorStore')
 | |-Enable                                  = True
 | |-ErrorCounter                            = 0
 | |-ErrorMax                                = 1
+| |-EvtStore                   @0x7f4eed2b7c50 = ServiceHandle('StoreGateSvc')
+| |-ExtraInputs                @0x7f4eecb07b48 = []  (default: [])
+| |-ExtraOutputs               @0x7f4eecb07b90 = []  (default: [])
 | |-FilterCircularDependencies              = True
 | |-IsIOBound                               = False
 | |-MonitorService                          = 'MonitorSvc'
+| |-NeededResources            @0x7f4eecb07680 = []  (default: [])
 | |-OutputLevel                             = 0
+| |-ProviderTool               @0x7f4eed5b0810 = PrivateToolHandle('Muon::CSC_RawDataProviderTool/CSC_RawDataProviderTool')
 | |                                            (default: 'Muon::CSC_RawDataProviderTool/CscRawDataProviderTool')
 | |-RegisterForContextService               = False
+| |-Timeline                                = True
 | |=/***** Private AlgTool Muon::CSC_RawDataProviderTool/CscRawDataProvider.CSC_RawDataProviderTool *****
 | | |-AuditFinalize                     = False
 | | |-AuditInitialize                   = False
@@ -1293,6 +1608,11 @@ Py:Athena            INFO Print Config
 | | |-AuditStop                         = False
 | | |-AuditTools                        = False
 | | |-CscContainerCacheKey              = 'StoreGateSvc+'
+| | |-Decoder              @0x7f4eed02e050 = PrivateToolHandle('Muon::CscROD_Decoder/CscROD_Decoder')
+| | |-DetStore             @0x7f4eecb50590 = ServiceHandle('StoreGateSvc/DetectorStore')
+| | |-EvtStore             @0x7f4eecb505d0 = ServiceHandle('StoreGateSvc')
+| | |-ExtraInputs          @0x7f4eecb74ef0 = []  (default: [])
+| | |-ExtraOutputs         @0x7f4eecb74e60 = []  (default: [])
 | | |-MonitorService                    = 'MonitorSvc'
 | | |-OutputLevel                       = 0
 | | |-RdoLocation                       = 'StoreGateSvc+CSCRDO'
@@ -1304,6 +1624,10 @@ Py:Athena            INFO Print Config
 | | | |-AuditStart                     = False
 | | | |-AuditStop                      = False
 | | | |-AuditTools                     = False
+| | | |-DetStore          @0x7f4eecb50690 = ServiceHandle('StoreGateSvc/DetectorStore')
+| | | |-EvtStore          @0x7f4eecb506d0 = ServiceHandle('StoreGateSvc')
+| | | |-ExtraInputs       @0x7f4eecb74d40 = []  (default: [])
+| | | |-ExtraOutputs      @0x7f4eecb74cf8 = []  (default: [])
 | | | |-IsCosmics                      = False
 | | | |-IsOldCosmics                   = False
 | | | |-MonitorService                 = 'MonitorSvc'
@@ -1322,19 +1646,29 @@ Py:Athena            INFO Print Config
 | |-AuditRestart                            = False
 | |-AuditStart                              = False
 | |-AuditStop                               = False
+| |-Cardinality                             = 1
+| |-DecodingTool               @0x7f4eed4c9d20 = PrivateToolHandle('Muon::RpcRdoToPrepDataTool/RpcRdoToRpcPrepDataTool')
 | |                                            (default: 'Muon::RpcRdoToPrepDataTool/RpcRdoToPrepDataTool')
+| |-DetStore                   @0x7f4eecae4050 = ServiceHandle('StoreGateSvc/DetectorStore')
 | |-DoSeededDecoding                        = False
 | |-Enable                                  = True
 | |-ErrorCounter                            = 0
 | |-ErrorMax                                = 1
+| |-EvtStore                   @0x7f4eecb81f90 = ServiceHandle('StoreGateSvc')
+| |-ExtraInputs                @0x7f4eecb07ab8 = []  (default: [])
+| |-ExtraOutputs               @0x7f4eecb07c68 = []  (default: [])
 | |-FilterCircularDependencies              = True
 | |-IsIOBound                               = False
 | |-MonitorService                          = 'MonitorSvc'
+| |-NeededResources            @0x7f4eecb07cb0 = []  (default: [])
 | |-OutputCollection                        = 'StoreGateSvc+RPC_Measurements'
 | |-OutputLevel                             = 0
 | |-PrintInputRdo                           = False
+| |-PrintPrepData              @0x7f4ef05f4b20 = False  (default: False)
+| |-RegionSelectionSvc         @0x7f4eecae40d0 = ServiceHandle('RegSelSvc')
 | |-RegisterForContextService               = False
 | |-RoIs                                    = 'StoreGateSvc+OutputRoIs'
+| |-Timeline                                = True
 | |=/***** Private AlgTool Muon::RpcRdoToPrepDataTool/RpcRdoToRpcPrepData.RpcRdoToRpcPrepDataTool ******
 | | |-AuditFinalize                                   = False
 | | |-AuditInitialize                                 = False
@@ -1344,11 +1678,16 @@ Py:Athena            INFO Print Config
 | | |-AuditStop                                       = False
 | | |-AuditTools                                      = False
 | | |-DecodeData                                      = True
+| | |-DetStore                           @0x7f4eecafc210 = ServiceHandle('StoreGateSvc/DetectorStore')
+| | |-EvtStore                           @0x7f4eecafc290 = ServiceHandle('StoreGateSvc')
+| | |-ExtraInputs                        @0x7f4eecb5d680 = []  (default: [])
+| | |-ExtraOutputs                       @0x7f4eecb5d830 = []  (default: [])
 | | |-InputCollection                                 = 'StoreGateSvc+RPC_triggerHits'
 | | |-MonitorService                                  = 'MonitorSvc'
 | | |-OutputCollection                                = 'StoreGateSvc+RPCPAD'
 | | |-OutputLevel                                     = 0
 | | |-RPCInfoFromDb                                   = False
+| | |-RdoDecoderTool                     @0x7f4eecbe83d0 = PrivateToolHandle('Muon::RpcRDO_Decoder/Muon::RpcRDO_Decoder')
 | | |                                                    (default: 'Muon::RpcRDO_Decoder')
 | | |-TriggerOutputCollection                         = 'StoreGateSvc+RPC_Measurements'
 | | |-etaphi_coincidenceTime                          = 20.0
@@ -1366,6 +1705,10 @@ Py:Athena            INFO Print Config
 | | | |-AuditStart                     = False
 | | | |-AuditStop                      = False
 | | | |-AuditTools                     = False
+| | | |-DetStore          @0x7f4eecafc310 = ServiceHandle('StoreGateSvc/DetectorStore')
+| | | |-EvtStore          @0x7f4eecafc350 = ServiceHandle('StoreGateSvc')
+| | | |-ExtraInputs       @0x7f4eecb5d950 = []  (default: [])
+| | | |-ExtraOutputs      @0x7f4eecb5d908 = []  (default: [])
 | | | |-MonitorService                 = 'MonitorSvc'
 | | | |-OutputLevel                    = 0
 | | | \----- (End of Private AlgTool Muon::RpcRDO_Decoder/RpcRdoToRpcPrepData.RpcRdoToRpcPrepDataTool.Muon::RpcRDO_Decoder) -----
@@ -1382,20 +1725,30 @@ Py:Athena            INFO Print Config
 | |-AuditRestart                            = False
 | |-AuditStart                              = False
 | |-AuditStop                               = False
+| |-Cardinality                             = 1
+| |-DecodingTool               @0x7f4eecb04050 = PrivateToolHandle('Muon::TgcRdoToPrepDataTool/TgcRdoToTgcPrepDataTool')
 | |                                            (default: 'Muon::TgcRdoToPrepDataTool/TgcPrepDataProviderTool')
+| |-DetStore                   @0x7f4eecad9f10 = ServiceHandle('StoreGateSvc/DetectorStore')
 | |-DoSeededDecoding                        = False
 | |-Enable                                  = True
 | |-ErrorCounter                            = 0
 | |-ErrorMax                                = 1
+| |-EvtStore                   @0x7f4eecad9e90 = ServiceHandle('StoreGateSvc')
+| |-ExtraInputs                @0x7f4eecb07bd8 = []  (default: [])
+| |-ExtraOutputs               @0x7f4eecb07cf8 = []  (default: [])
 | |-FilterCircularDependencies              = True
 | |-IsIOBound                               = False
 | |-MonitorService                          = 'MonitorSvc'
+| |-NeededResources            @0x7f4eecb07d40 = []  (default: [])
 | |-OutputCollection                        = 'StoreGateSvc+TGC_Measurements'
 | |-OutputLevel                             = 0
 | |-PrintInputRdo                           = False
+| |-PrintPrepData              @0x7f4ef05f4b20 = False  (default: False)
+| |-RegionSelectorSvc          @0x7f4eecad9f90 = ServiceHandle('RegSelSvc')
 | |-RegisterForContextService               = False
 | |-RoIs                                    = 'StoreGateSvc+OutputRoIs'
 | |-Setting                                 = 0
+| |-Timeline                                = True
 | |=/***** Private AlgTool Muon::TgcRdoToPrepDataTool/TgcRdoToTgcPrepData.TgcRdoToTgcPrepDataTool ******
 | | |-AuditFinalize                                        = False
 | | |-AuditInitialize                                      = False
@@ -1405,6 +1758,10 @@ Py:Athena            INFO Print Config
 | | |-AuditStop                                            = False
 | | |-AuditTools                                           = False
 | | |-DecodeData                                           = True
+| | |-DetStore                                @0x7f4eecafc490 = ServiceHandle('StoreGateSvc/DetectorStore')
+| | |-EvtStore                                @0x7f4eecafc550 = ServiceHandle('StoreGateSvc')
+| | |-ExtraInputs                             @0x7f4eecb03488 = []  (default: [])
+| | |-ExtraOutputs                            @0x7f4eecb03200 = []  (default: [])
 | | |-FillCoinData                                         = True
 | | |-MonitorService                                       = 'MonitorSvc'
 | | |-OutputCoinCollection                                 = 'TrigT1CoinDataCollection'
@@ -1413,7 +1770,9 @@ Py:Athena            INFO Print Config
 | | |-RDOContainer                                         = 'StoreGateSvc+TGCRDO'
 | | |-TGCHashIdOffset                                      = 26000
 | | |-dropPrdsWithZeroWidth                                = True
+| | |-outputCoinKey                           @0x7f4eecb03440 = ['StoreGateSvc+dummy', 'StoreGateSvc+dummy', 'StoreGateSvc+dummy']
 | | |                                                         (default: ['StoreGateSvc+dummy', 'StoreGateSvc+dummy', 'StoreGateSvc+dummy'])
+| | |-prepDataKeys                            @0x7f4eecb03518 = ['StoreGateSvc+dummy', 'StoreGateSvc+dummy', 'StoreGateSvc+dummy', 'StoreGateSvc+dummy']
 | | |                                                         (default: ['StoreGateSvc+dummy', 'StoreGateSvc+dummy', 'StoreGateSvc+dummy', 'StoreGateSvc+dummy'])
 | | |-show_warning_level_invalid_A09_SSW6_hit              = False
 | | \----- (End of Private AlgTool Muon::TgcRdoToPrepDataTool/TgcRdoToTgcPrepData.TgcRdoToTgcPrepDataTool) -----
@@ -1429,19 +1788,29 @@ Py:Athena            INFO Print Config
 | |-AuditRestart                            = False
 | |-AuditStart                              = False
 | |-AuditStop                               = False
+| |-Cardinality                             = 1
+| |-DecodingTool               @0x7f4ef06f69f0 = PrivateToolHandle('Muon::MdtRdoToPrepDataTool/MdtRdoToMdtPrepDataTool')
 | |                                            (default: 'Muon::MdtRdoToPrepDataTool/MdtPrepDataProviderTool')
+| |-DetStore                   @0x7f4eecb6ded0 = ServiceHandle('StoreGateSvc/DetectorStore')
 | |-DoSeededDecoding                        = False
 | |-Enable                                  = True
 | |-ErrorCounter                            = 0
 | |-ErrorMax                                = 1
+| |-EvtStore                   @0x7f4eecb6de50 = ServiceHandle('StoreGateSvc')
+| |-ExtraInputs                @0x7f4eecb07dd0 = []  (default: [])
+| |-ExtraOutputs               @0x7f4eecb07e60 = []  (default: [])
 | |-FilterCircularDependencies              = True
 | |-IsIOBound                               = False
 | |-MonitorService                          = 'MonitorSvc'
+| |-NeededResources            @0x7f4eecb07e18 = []  (default: [])
 | |-OutputCollection                        = 'StoreGateSvc+MDT_DriftCircles'
 | |-OutputLevel                             = 0
 | |-PrintInputRdo                           = False
+| |-PrintPrepData              @0x7f4ef05f4b20 = False  (default: False)
+| |-RegionSelectionSvc         @0x7f4eecb6df50 = ServiceHandle('RegSelSvc')
 | |-RegisterForContextService               = False
 | |-RoIs                                    = 'StoreGateSvc+OutputRoIs'
+| |-Timeline                                = True
 | |=/***** Private AlgTool Muon::MdtRdoToPrepDataTool/MdtRdoToMdtPrepData.MdtRdoToMdtPrepDataTool ******
 | | |-AuditFinalize                        = False
 | | |-AuditInitialize                      = False
@@ -1452,9 +1821,13 @@ Py:Athena            INFO Print Config
 | | |-AuditTools                           = False
 | | |-CalibratePrepData                    = True
 | | |-DecodeData                           = True
+| | |-DetStore                @0x7f4eecafc690 = ServiceHandle('StoreGateSvc/DetectorStore')
 | | |-DiscardSecondaryHitTwin              = False
 | | |-DoPropagationCorrection              = False
 | | |-DoTofCorrection                      = True
+| | |-EvtStore                @0x7f4eecafc610 = ServiceHandle('StoreGateSvc')
+| | |-ExtraInputs             @0x7f4eecb0bef0 = []  (default: [])
+| | |-ExtraOutputs            @0x7f4eecb0bd88 = []  (default: [])
 | | |-MonitorService                       = 'MonitorSvc'
 | | |-OutputCollection                     = 'StoreGateSvc+MDT_DriftCircles'
 | | |-OutputLevel                          = 0
@@ -1481,19 +1854,29 @@ Py:Athena            INFO Print Config
 | |-AuditRestart                            = False
 | |-AuditStart                              = False
 | |-AuditStop                               = False
+| |-Cardinality                             = 1
+| |-CscRdoToCscPrepDataTool    @0x7f4eecfba950 = PrivateToolHandle('Muon::CscRdoToCscPrepDataTool/CscRdoToCscPrepDataTool')
 | |                                            (default: 'Muon::CscRdoToCscPrepDataTool/CscRdoToPrepDataTool')
+| |-DetStore                   @0x7f4eecb50cd0 = ServiceHandle('StoreGateSvc/DetectorStore')
 | |-DoSeededDecoding                        = False
 | |-Enable                                  = True
 | |-ErrorCounter                            = 0
 | |-ErrorMax                                = 1
+| |-EvtStore                   @0x7f4eecb50c50 = ServiceHandle('StoreGateSvc')
+| |-ExtraInputs                @0x7f4eecb07f38 = []  (default: [])
+| |-ExtraOutputs               @0x7f4eecb07638 = []  (default: [])
 | |-FilterCircularDependencies              = True
 | |-IsIOBound                               = False
 | |-MonitorService                          = 'MonitorSvc'
+| |-NeededResources            @0x7f4eecb07ea8 = []  (default: [])
 | |-OutputCollection                        = 'StoreGateSvc+CSC_Measurements'
 | |-OutputLevel                             = 0
 | |-PrintInputRdo                           = False
+| |-PrintPrepData              @0x7f4ef05f4b20 = False  (default: False)
+| |-RegionSelectionSvc         @0x7f4eecb50d50 = ServiceHandle('RegSelSvc')
 | |-RegisterForContextService               = False
 | |-RoIs                                    = 'StoreGateSvc+OutputRoIs'
+| |-Timeline                                = True
 | |=/***** Private AlgTool Muon::CscRdoToCscPrepDataTool/CscRdoToCscPrepData.CscRdoToCscPrepDataTool *****
 | | |-AuditFinalize                    = False
 | | |-AuditInitialize                  = False
@@ -1503,11 +1886,19 @@ Py:Athena            INFO Print Config
 | | |-AuditStop                        = False
 | | |-AuditTools                       = False
 | | |-CSCHashIdOffset                  = 22000
+| | |-CscCalibTool        @0x7f4ef06b7860 = PrivateToolHandle('CscCalibTool/CscCalibTool')
+| | |-CscRdoDecoderTool   @0x7f4eecb00878 = PrivateToolHandle('Muon::CscRDO_Decoder/CscRDO_Decoder')
 | | |-DecodeData                       = True
+| | |-DetStore            @0x7f4eecafc9d0 = ServiceHandle('StoreGateSvc/DetectorStore')
+| | |-EvtStore            @0x7f4eecafcad0 = ServiceHandle('StoreGateSvc')
+| | |-ExtraInputs         @0x7f4eecb0e950 = []  (default: [])
+| | |-ExtraOutputs        @0x7f4eecb12050 = []  (default: [])
 | | |-MonitorService                   = 'MonitorSvc'
 | | |-OutputCollection                 = 'StoreGateSvc+CSC_Measurements'
 | | |-OutputLevel                      = 0
 | | |-RDOContainer                     = 'StoreGateSvc+CSCRDO'
+| | |-RawDataProviderTool @0x7f4eed5b0af8 = PrivateToolHandle('Muon::CSC_RawDataProviderTool/CSC_RawDataProviderTool')
+| | |-useBStoRdoTool      @0x7f4ef05f4b00 = True  (default: False)
 | | |=/***** Private AlgTool Muon::CSC_RawDataProviderTool/CscRdoToCscPrepData.CscRdoToCscPrepDataTool.CSC_RawDataProviderTool *****
 | | | |-AuditFinalize                     = False
 | | | |-AuditInitialize                   = False
@@ -1517,6 +1908,11 @@ Py:Athena            INFO Print Config
 | | | |-AuditStop                         = False
 | | | |-AuditTools                        = False
 | | | |-CscContainerCacheKey              = 'StoreGateSvc+'
+| | | |-Decoder              @0x7f4eed02e230 = PrivateToolHandle('Muon::CscROD_Decoder/CscROD_Decoder')
+| | | |-DetStore             @0x7f4eecafcbd0 = ServiceHandle('StoreGateSvc/DetectorStore')
+| | | |-EvtStore             @0x7f4eecafcc10 = ServiceHandle('StoreGateSvc')
+| | | |-ExtraInputs          @0x7f4eed06cbd8 = []  (default: [])
+| | | |-ExtraOutputs         @0x7f4eecbefb90 = []  (default: [])
 | | | |-MonitorService                    = 'MonitorSvc'
 | | | |-OutputLevel                       = 0
 | | | |-RdoLocation                       = 'StoreGateSvc+CSCRDO'
@@ -1528,6 +1924,10 @@ Py:Athena            INFO Print Config
 | | | | |-AuditStart                     = False
 | | | | |-AuditStop                      = False
 | | | | |-AuditTools                     = False
+| | | | |-DetStore          @0x7f4eecafcc50 = ServiceHandle('StoreGateSvc/DetectorStore')
+| | | | |-EvtStore          @0x7f4eecafccd0 = ServiceHandle('StoreGateSvc')
+| | | | |-ExtraInputs       @0x7f4eed06c878 = []  (default: [])
+| | | | |-ExtraOutputs      @0x7f4eed06c7a0 = []  (default: [])
 | | | | |-IsCosmics                      = False
 | | | | |-IsOldCosmics                   = False
 | | | | |-MonitorService                 = 'MonitorSvc'
@@ -1542,6 +1942,10 @@ Py:Athena            INFO Print Config
 | | | |-AuditStart                      = False
 | | | |-AuditStop                       = False
 | | | |-AuditTools                      = False
+| | | |-DetStore           @0x7f4eecafcb10 = ServiceHandle('StoreGateSvc/DetectorStore')
+| | | |-EvtStore           @0x7f4eecafcb50 = ServiceHandle('StoreGateSvc')
+| | | |-ExtraInputs        @0x7f4eecb0e878 = []  (default: [])
+| | | |-ExtraOutputs       @0x7f4eecb0e098 = []  (default: [])
 | | | |-IsOnline                        = True
 | | | |-Latency                         = 100.0
 | | | |-MonitorService                  = 'MonitorSvc'
@@ -1568,6 +1972,11 @@ Py:Athena            INFO Print Config
 | | | |-AuditStart                     = False
 | | | |-AuditStop                      = False
 | | | |-AuditTools                     = False
+| | | |-CscCalibTool      @0x7f4eecafca50 = PublicToolHandle('CscCalibTool')
+| | | |-DetStore          @0x7f4eecafca10 = ServiceHandle('StoreGateSvc/DetectorStore')
+| | | |-EvtStore          @0x7f4eecafca90 = ServiceHandle('StoreGateSvc')
+| | | |-ExtraInputs       @0x7f4eecb0efc8 = []  (default: [])
+| | | |-ExtraOutputs      @0x7f4eecb0ef80 = []  (default: [])
 | | | |-MonitorService                 = 'MonitorSvc'
 | | | |-OutputLevel                    = 0
 | | | \----- (End of Private AlgTool Muon::CscRDO_Decoder/CscRdoToCscPrepData.CscRdoToCscPrepDataTool.CscRDO_Decoder) -----
@@ -1584,30 +1993,83 @@ Py:Athena            INFO Print Config
 | |-AuditRestart                            = False
 | |-AuditStart                              = False
 | |-AuditStop                               = False
+| |-Cardinality                             = 1
+| |-DetStore                   @0x7f4eecb39fd0 = ServiceHandle('StoreGateSvc/DetectorStore')
 | |-Enable                                  = True
 | |-ErrorCounter                            = 0
 | |-ErrorMax                                = 1
+| |-EvtStore                   @0x7f4eecb39f50 = ServiceHandle('StoreGateSvc')
+| |-ExtraInputs                @0x7f4eeca87050 = []  (default: [])
+| |-ExtraOutputs               @0x7f4eeca870e0 = []  (default: [])
 | |-FilterCircularDependencies              = True
 | |-IsIOBound                               = False
 | |-MonitorService                          = 'MonitorSvc'
+| |-NeededResources            @0x7f4eeca87128 = []  (default: [])
 | |-OutputLevel                             = 0
 | |-RegisterForContextService               = False
+| |-Timeline                                = True
+| |-cluster_builder            @0x7f4eeca7f950 = PublicToolHandle('CscThresholdClusterBuilderTool/CscThesholdClusterBuilderTool')
 | |                                            (default: 'CscThresholdClusterBuilderTool/CscThresholdClusterBuilderTool')
 | \----- (End of Algorithm CscThresholdClusterBuilder/CscThesholdClusterBuilder) ---------------------
 \----- (End of Algorithm AthSequencer/AthAlgSeq) ---------------------------------------------------
+Py:ComponentAccumulator    INFO Condition Algorithms
+Py:ComponentAccumulator    INFO ['CondInputLoader', 'MuonMDT_CablingAlg']
+Py:ComponentAccumulator    INFO Services
+Py:ComponentAccumulator    INFO ['EventSelector', 'ByteStreamInputSvc', 'EventPersistencySvc', 'ByteStreamCnvSvc', 'ROBDataProviderSvc', 'ByteStreamAddressProviderSvc', 'MetaDataStore', 'InputMetaDataStore', 'MetaDataSvc', 'ProxyProviderSvc', 'ByteStreamAttListMetadataSvc', 'GeoModelSvc', 'DetDescrCnvSvc', 'TagInfoMgr', 'RPCcablingServerSvc', 'IOVDbSvc', 'PoolSvc', 'CondSvc', 'DBReplicaSvc', 'MuonRPC_CablingSvc', 'LVL1TGC::TGCRecRoiSvc', 'TGCcablingServerSvc', 'AthenaPoolCnvSvc', 'MuonMDT_CablingSvc', 'AtlasFieldSvc', 'MdtCalibrationDbSvc', 'MdtCalibrationSvc', 'CSCcablingSvc', 'MuonCalib::CscCoolStrSvc']
+Py:ComponentAccumulator    INFO Outputs
+Py:ComponentAccumulator    INFO {}
+Py:ComponentAccumulator    INFO Public Tools
+Py:ComponentAccumulator    INFO [
+Py:ComponentAccumulator    INFO   IOVDbMetaDataTool/IOVDbMetaDataTool,
+Py:ComponentAccumulator    INFO   ByteStreamMetadataTool/ByteStreamMetadataTool,
+Py:ComponentAccumulator    INFO   Muon::MuonIdHelperTool/Muon::MuonIdHelperTool,
+Py:ComponentAccumulator    INFO   RPCCablingDbTool/RPCCablingDbTool,
+Py:ComponentAccumulator    INFO   Muon::RPC_RawDataProviderTool/RPC_RawDataProviderTool,
+Py:ComponentAccumulator    INFO   Muon::TGC_RawDataProviderTool/TGC_RawDataProviderTool,
+Py:ComponentAccumulator    INFO   MDTCablingDbTool/MDTCablingDbTool,
+Py:ComponentAccumulator    INFO   MuonCalib::MdtCalibDbCoolStrTool/MuonCalib::MdtCalibDbCoolStrTool,
+Py:ComponentAccumulator    INFO   Muon::MDT_RawDataProviderTool/MDT_RawDataProviderTool,
+Py:ComponentAccumulator    INFO   Muon::CSC_RawDataProviderTool/CSC_RawDataProviderTool,
+Py:ComponentAccumulator    INFO   Muon::RpcRdoToPrepDataTool/RpcRdoToRpcPrepDataTool,
+Py:ComponentAccumulator    INFO   Muon::TgcRdoToPrepDataTool/TgcRdoToTgcPrepDataTool,
+Py:ComponentAccumulator    INFO   Muon::MdtRdoToPrepDataTool/MdtRdoToMdtPrepDataTool,
+Py:ComponentAccumulator    INFO   Muon::CscRdoToCscPrepDataTool/CscRdoToCscPrepDataTool,
+Py:ComponentAccumulator    INFO   CscThresholdClusterBuilderTool/CscThesholdClusterBuilderTool,
+Py:ComponentAccumulator    INFO ]
 Py:Athena            INFO Save Config
 
 JOs reading stage finished, launching Athena from pickle file
 
+Fri Jan 25 22:58:00 CET 2019
+Preloading tcmalloc_minimal.so
+Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc8-opt] [atlas-work3/5f61275c16] -- built on [2019-01-25T1856]
+Py:Athena            INFO including file "AthenaCommon/Preparation.py"
+Py:Athena            INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
 Py:Athena            INFO executing ROOT6Setup
 Py:Athena            INFO configuring AthenaHive with [1] concurrent threads and [1] concurrent events
 Py:AlgScheduler      INFO setting up AvalancheSchedulerSvc/AvalancheSchedulerSvc with 1 threads
+Py:Athena            INFO including file "AthenaCommon/Execution.py"
 Py:Athena            INFO now loading MuonRdoDecode.pkl  ... 
+Py:ConfigurableDb    INFO Read module info for 5454 configurables from 75 genConfDb files
+Py:ConfigurableDb    INFO No duplicates have been found: that's good !
+[?1034hApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0
+ApplicationMgr    SUCCESS 
+====================================================================================================================================
+                                                   Welcome to ApplicationMgr (GaudiCoreSvc v30r5)
+                                          running on lxplus063.cern.ch on Fri Jan 25 22:58:26 2019
+====================================================================================================================================
+ApplicationMgr       INFO Successfully loaded modules : AthenaServices
 ApplicationMgr       INFO Application Manager Configured successfully
+ApplicationMgr                                     INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0
+Py:Athena            INFO including file "AthenaCommon/runbatch.py"
+StatusCodeSvc        INFO initialize
 AthDictLoaderSvc     INFO in initialize...
 AthDictLoaderSvc     INFO acquired Dso-registry
+ClassIDSvc           INFO  getRegistryEntries: read 3320 CLIDRegistry entries for module ALL
 CoreDumpSvc          INFO install f-a-t-a-l handler... (flag = -1)
 CoreDumpSvc          INFO Handling signals: 11(Segmentation fault) 7(Bus error) 4(Illegal instruction) 8(Floating point exception) 
+ByteStreamAddre...   INFO Initializing ByteStreamAddressProviderSvc - package version ByteStreamCnvSvcBase-00-00-00
+ROBDataProviderSvc   INFO Initializing ROBDataProviderSvc - package version ByteStreamCnvSvcBase-00-00-00
 ROBDataProviderSvc   INFO  ---> Filter out empty ROB fragments                               =  'filterEmptyROB':False
 ROBDataProviderSvc   INFO  ---> Filter out specific ROBs by Status Code: # ROBs = 0
 ROBDataProviderSvc   INFO  ---> Filter out Sub Detector ROBs by Status Code: # Sub Detectors = 0
@@ -1622,6 +2084,10 @@ ByteStreamAddre...   INFO -- Will fill Store with id =  0
 PoolSvc              INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.xml) [ok]
 PoolSvc              INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
 PoolSvc              INFO Frontier compression level set to 5
+DBReplicaSvc         INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data
+DBReplicaSvc         INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-24T2342/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/dbreplica.config
+DBReplicaSvc         INFO Total of 10 servers found for host lxplus063.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
+DBReplicaSvc         INFO COOL SQLite replicas will be excluded if matching pattern /DBRelease/
 PoolSvc              INFO Successfully setup replica sorting algorithm
 PoolSvc              INFO Setting up APR FileCatalog and Streams
 PoolSvc              INFO Resolved path (via ATLAS_POOLCOND_PATH) is /cvmfs/atlas-condb.cern.ch/repo/conditions/poolcond/PoolFileCatalog.xml
@@ -1630,13 +2096,26 @@ PoolSvc           WARNING Unable to locate catalog for apcfile:poolcond/PoolCat_
 PoolSvc           WARNING Unable to locate catalog for prfile:poolcond/PoolCat_comcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables
 PoolSvc           WARNING Unable to locate catalog for apcfile:poolcond/PoolCat_comcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables
 PoolSvc              INFO POOL WriteCatalog is xmlcatalog_file:PoolFileCatalog.xml
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
 IOVDbSvc             INFO Opened read transaction for POOL PersistencySvc
 IOVDbSvc             INFO Only 5 POOL conditions files will be open at once
+IOVDbSvc             INFO Cache alignment will be done in 3 slices
 IOVDbSvc             INFO Global tag: CONDBR2-BLKPA-2018-13 set from joboptions
 IOVDbFolder          INFO Inputfile tag override disabled for /GLOBAL/BField/Maps
+IOVDbSvc             INFO Folder /GLOBAL/BField/Maps will be written to file metadata
 IOVDbSvc             INFO Initialised with 8 connections and 19 folders
 IOVDbSvc             INFO Service IOVDbSvc initialised successfully
+MetaDataSvc          INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00
+AthenaPoolCnvSvc     INFO Initializing AthenaPoolCnvSvc - package version AthenaPoolCnvSvc-00-00-00
+ToolSvc.ByteStr...   INFO Initializing ToolSvc.ByteStreamMetadataTool - package version ByteStreamCnvSvc-00-00-00
+MetaDataSvc          INFO Found MetaDataTools = PublicToolHandleArray(['IOVDbMetaDataTool/IOVDbMetaDataTool','ByteStreamMetadataTool/ByteStreamMetadataTool'])
 IOVDbSvc             INFO Opening COOL connection for COOLONL_MDT/CONDBR2
+ClassIDSvc           INFO  getRegistryEntries: read 3288 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 163 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 4096 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 129 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 3031 CLIDRegistry entries for module ALL
 IOVSvc               INFO No IOVSvcTool associated with store "StoreGateSvc"
 IOVSvcTool           INFO IOVRanges will be checked at every Event
 IOVDbSvc             INFO Opening COOL connection for COOLONL_RPC/CONDBR2
@@ -1717,6 +2196,10 @@ GeoModelSvc::RD...WARNING  Getting PixTBMatComponents with default tag
 GeoModelSvc::RD...WARNING  Getting PixTBMaterials with default tag
 GeoModelSvc::RD...WARNING  Getting InDetMatComponents with default tag
 GeoModelSvc::RD...WARNING  Getting InDetMaterials with default tag
+GeoModelSvc.Muo...   INFO create MuonDetectorTool - package version = MuonGeoModel-00-00-00
+GeoModelSvc.Muo...   INFO (from GeoModelSvc)    AtlasVersion = <ATLAS-R2-2016-01-00-01>  MuonVersion = <>
+GeoModelSvc.Muo...   INFO Keys for Muon Switches are  (key) ATLAS-R2-2016-01-00-01 (node) ATLAS
+GeoModelSvc.Muo...   INFO (from GeoModelSvc) in AtlasVersion = <ATLAS-R2-2016-01-00-01>  default MuonVersion is <MuonSpectrometer-R.08.01>
 GeoModelSvc.Muo...   INFO Properties have been set as follows: 
 GeoModelSvc.Muo...   INFO     LayoutName                     R
 GeoModelSvc.Muo...   INFO     IncludeCutouts                 0
@@ -1831,6 +2314,7 @@ AtlasDetectorID::initLevelsFromDict - there are no MM entries in the dictionary!
 MuGM:MuonFactory     INFO MMIDHELPER retrieved from DetStore
 MuGM:MuonFactory     INFO  **************** MuonDetectorFactory001 ************************
 MuGM:MuonFactory     INFO  *** Start building the Muon Geometry Tree **********************
+MuGM:RDBReadAtlas    INFO Start retriving dbObjects with tag = <ATLAS-R2-2016-01-00-01> node <ATLAS>
 RDBAccessSvc      WARNING Could not get the tag for XtomoData node. Returning 0 pointer to IRDBQuery
 MuGM:RDBReadAtlas    INFO After getQuery XtomoData
 In DblQ00Xtomo(data)
@@ -1860,6 +2344,7 @@ MuGM:ProcCutouts     INFO  Processing Cutouts DONE
 MuGM:RDBReadAtlas    INFO  ProcessTGCreadout - version 7 wirespacing 1.8
 MuGM:RDBReadAtlas    INFO Intermediate Objects built from primary numbers
 MuGM:MuonFactory     INFO  theMaterialManager retrieven successfully from the DetStore
+MuGM:MuonFactory     INFO MuonSystem description from OracleTag=<ATLAS-R2-2016-01-00-01> and node=<ATLAS>
 MuGM:MuonFactory     INFO  TreeTop added to the Manager
 MuGM:MuonFactory     INFO  Muon Layout R.08.01
 MuGM:MuonFactory     INFO Fine Clash Fixing disabled: (should be ON/OFF for Simulation/Reconstruction)
@@ -1883,9 +2368,13 @@ MuGM:MuonFactory     INFO  *****************************************************
 
 MGM::MuonDetect...   INFO Init A/B Line Containers - done - size is respectively 1758/0
 MGM::MuonDetect...   INFO No Aline for CSC wire layers loaded 
+GeoModelSvc          INFO GeoModelSvc.MuonDetectorTool	 SZ= 44884Kb 	 Time = 0.78S
 GeoModelSvc.Muo...   INFO CondAttrListCollection not found in the DetectorStore
 GeoModelSvc.Muo...   INFO Unable to register callback on CondAttrListCollection for any folder in the list 
 GeoModelSvc.Muo...   INFO This is OK unless you expect to read alignment and deformations from COOL 
+ClassIDSvc           INFO  getRegistryEntries: read 1455 CLIDRegistry entries for module ALL
+AthenaEventLoopMgr   INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00
+ClassIDSvc           INFO  getRegistryEntries: read 1794 CLIDRegistry entries for module ALL
 CondInputLoader      INFO Initializing CondInputLoader...
 CondInputLoader      INFO Adding base classes:
   +  ( 'CondAttrListCollection' , 'ConditionStore+/EXT/DCS/MAGNETS/SENSORDATA' )   ->
@@ -1895,12 +2384,17 @@ CondInputLoader      INFO Will create WriteCondHandle dependencies for the follo
     +  ( 'CondAttrListCollection' , 'ConditionStore+/EXT/DCS/MAGNETS/SENSORDATA' ) 
     +  ( 'CondAttrListCollection' , 'ConditionStore+/MDT/CABLING/MAP_SCHEMA' ) 
     +  ( 'CondAttrListCollection' , 'ConditionStore+/MDT/CABLING/MEZZANINE_SCHEMA' ) 
+ClassIDSvc           INFO  getRegistryEntries: read 1370 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 743 CLIDRegistry entries for module ALL
 RpcRawDataProvider   INFO RpcRawDataProvider::initialize
 RpcRawDataProvider   INFO  'DoSeededDecoding':False
+ClassIDSvc           INFO  getRegistryEntries: read 1699 CLIDRegistry entries for module ALL
+MuonRPC_CablingSvc   INFO Initializing MuonRPC_CablingSvc - package version MuonRPC_Cabling-00-00-00
 ToolSvc.RPCCabl...   INFO Initializing - folders names are: conf /RPC/CABLING/MAP_SCHEMA / corr /RPC/CABLING/MAP_SCHEMA_CORR
 MuonRPC_CablingSvc   INFO RPCCablingDbTool retrieved with statusCode = SUCCESS with handle TheRpcCablingDbTool = PublicToolHandle('RPCCablingDbTool/RPCCablingDbTool')
 MuonRPC_CablingSvc   INFO Register call-back  against 2 folders listed below 
 MuonRPC_CablingSvc   INFO  Folder n. 1 </RPC/CABLING/MAP_SCHEMA>     found in the DetStore
+ClassIDSvc           INFO  getRegistryEntries: read 501 CLIDRegistry entries for module ALL
 MuonRPC_CablingSvc   INFO initMappingModel registered for call-back against folder </RPC/CABLING/MAP_SCHEMA>
 MuonRPC_CablingSvc   INFO  Folder n. 2 </RPC/CABLING/MAP_SCHEMA_CORR>     found in the DetStore
 MuonRPC_CablingSvc   INFO initMappingModel registered for call-back against folder </RPC/CABLING/MAP_SCHEMA_CORR>
@@ -1915,25 +2409,32 @@ RpcRawDataProvi...   INFO Retrieved service ServiceHandle('ROBDataProviderSvc')
 RpcRawDataProvi...   INFO  Tool = RpcRawDataProvider.RPC_RawDataProviderTool is connected to JobOptionsSvc Service = JobOptionsSvc
 RpcRawDataProvi...   INFO initialize() successful in RpcRawDataProvider.RPC_RawDataProviderTool
 TgcRawDataProvider   INFO TgcRawDataProvider::initialize
+ClassIDSvc           INFO  getRegistryEntries: read 878 CLIDRegistry entries for module ALL
 TgcRawDataProvi...   INFO initialize() successful in TgcRawDataProvider.TGC_RawDataProviderTool.TgcROD_Decoder
 TgcRawDataProvi...   INFO Retrieved tool Decoder = PrivateToolHandle('Muon::TGC_RodDecoderReadout/TgcROD_Decoder')
 TgcRawDataProvi...   INFO Retrieved service ServiceHandle('ROBDataProviderSvc')
 TgcRawDataProvi...   INFO  Tool = TgcRawDataProvider.TGC_RawDataProviderTool is connected to JobOptionsSvc Service = JobOptionsSvc
 MuonTGC_CablingSvc   INFO for 1/12 sector initialize
 ToolSvc.TGCCabl...   INFO initialize
+ClassIDSvc           INFO  getRegistryEntries: read 273 CLIDRegistry entries for module ALL
+IOVSvcTool           INFO Still in initialize phase, not tiggering callback for MuonTGC_CablingSvc[0x25900c00]+219 bound to CondAttrListCollection[/TGC/CABLING/MAP_SCHEMA]
 TgcRawDataProvi...   INFO initialize() successful in TgcRawDataProvider.TGC_RawDataProviderTool
 MdtRawDataProvider   INFO MdtRawDataProvider::initialize
+ClassIDSvc           INFO  getRegistryEntries: read 922 CLIDRegistry entries for module ALL
 MdtRawDataProvi...   INFO Retrieved service ServiceHandle('ROBDataProviderSvc')
 MdtRawDataProvi...   INFO Processing configuration for layouts with BME chambers.
 MdtRawDataProvi...   INFO Processing configuration for layouts with BMG chambers.
 MdtRawDataProvi...   INFO Retrieved tool Decoder = PrivateToolHandle('MdtROD_Decoder/MdtROD_Decoder')
 MdtRawDataProvi...   INFO  Tool = MdtRawDataProvider.MDT_RawDataProviderTool is connected to JobOptionsSvc Service = JobOptionsSvc
 MdtRawDataProvi...   INFO initialize() successful in MdtRawDataProvider.MDT_RawDataProviderTool
+ClassIDSvc           INFO  getRegistryEntries: read 660 CLIDRegistry entries for module ALL
 CscRawDataProvi...   INFO Retrieved service ServiceHandle('ROBDataProviderSvc')
 CscRawDataProvi...   INFO  Tool = CscRawDataProvider.CSC_RawDataProviderTool is connected to JobOptionsSvc Service = JobOptionsSvc
 CscRawDataProvi...   INFO Retrieved tool Decoder = PrivateToolHandle('Muon::CscROD_Decoder/CscROD_Decoder')
 CscRawDataProvi...   INFO The Muon Geometry version is R.08.01
 CscRawDataProvi...   INFO initialize() successful in CscRawDataProvider.CSC_RawDataProviderTool
+ClassIDSvc           INFO  getRegistryEntries: read 53 CLIDRegistry entries for module ALL
+RpcRdoToRpcPrep...   INFO package version = MuonRPC_CnvTools-00-00-00
 RpcRdoToRpcPrep...   INFO properties are 
 RpcRdoToRpcPrep...   INFO processingData                     0
 RpcRdoToRpcPrep...   INFO produceRpcCoinDatafromTriggerWords 1
@@ -1948,14 +2449,17 @@ RpcRdoToRpcPrep...   INFO Retrieved DecodingTool = PrivateToolHandle('Muon::RpcR
 TgcRdoToTgcPrep...   INFO initialize() successful in TgcRdoToTgcPrepData.TgcRdoToTgcPrepDataTool
 TgcRdoToTgcPrep...   INFO Retrieved DecodingTool = PrivateToolHandle('Muon::TgcRdoToPrepDataTool/TgcRdoToTgcPrepDataTool')
 MdtCalibrationSvc    INFO Processing configuration for layouts with BMG chambers.
+ClassIDSvc           INFO  getRegistryEntries: read 194 CLIDRegistry entries for module ALL
 AtlasFieldSvc        INFO initialize() ...
 AtlasFieldSvc        INFO maps will be chosen reading COOL folder /GLOBAL/BField/Maps
+ClassIDSvc           INFO  getRegistryEntries: read 163 CLIDRegistry entries for module ALL
 AtlasFieldSvc        INFO magnet currents will be read from COOL folder /EXT/DCS/MAGNETS/SENSORDATA
 AtlasFieldSvc        INFO Booked callback for /EXT/DCS/MAGNETS/SENSORDATA
 AtlasFieldSvc        INFO initialize() successful
 MdtRdoToMdtPrep...   INFO Processing configuration for layouts with BME chambers.
 MdtRdoToMdtPrep...   INFO Processing configuration for layouts with BMG chambers.
 MdtRdoToMdtPrep...   INFO Retrieved DecodingTool = PrivateToolHandle('Muon::MdtRdoToPrepDataTool/MdtRdoToMdtPrepDataTool')
+ClassIDSvc           INFO  getRegistryEntries: read 60 CLIDRegistry entries for module ALL
 CscRdoToCscPrep...   INFO The Geometry version is MuonSpectrometer-R.08.01
 CscRdoToCscPrep...   INFO Retrieved service ServiceHandle('ROBDataProviderSvc')
 CscRdoToCscPrep...   INFO  Tool = CscRdoToCscPrepData.CscRdoToCscPrepDataTool.CSC_RawDataProviderTool is connected to JobOptionsSvc Service = JobOptionsSvc
@@ -1963,9 +2467,19 @@ CscRdoToCscPrep...   INFO Retrieved tool Decoder = PrivateToolHandle('Muon::CscR
 CscRdoToCscPrep...   INFO The Muon Geometry version is R.08.01
 CscRdoToCscPrep...   INFO initialize() successful in CscRdoToCscPrepData.CscRdoToCscPrepDataTool.CSC_RawDataProviderTool
 MuonCalib::CscC...   INFO Initializing CscCoolStrSvc
+ClassIDSvc           INFO  getRegistryEntries: read 181 CLIDRegistry entries for module ALL
+IOVSvcTool           INFO Still in initialize phase, not tiggering callback for MuonCalib::CscCoolStrSvc[0x2a791a00]+259 bound to CondAttrListCollection[CSC_PED]
+IOVSvcTool           INFO Still in initialize phase, not tiggering callback for MuonCalib::CscCoolStrSvc[0x2a791a00]+259 bound to CondAttrListCollection[CSC_NOISE]
+IOVSvcTool           INFO Still in initialize phase, not tiggering callback for MuonCalib::CscCoolStrSvc[0x2a791a00]+259 bound to CondAttrListCollection[CSC_PSLOPE]
+IOVSvcTool           INFO Still in initialize phase, not tiggering callback for MuonCalib::CscCoolStrSvc[0x2a791a00]+259 bound to CondAttrListCollection[CSC_STAT]
+IOVSvcTool           INFO Still in initialize phase, not tiggering callback for MuonCalib::CscCoolStrSvc[0x2a791a00]+259 bound to CondAttrListCollection[CSC_RMS]
+IOVSvcTool           INFO Still in initialize phase, not tiggering callback for MuonCalib::CscCoolStrSvc[0x2a791a00]+259 bound to CondAttrListCollection[CSC_FTHOLD]
+IOVSvcTool           INFO Still in initialize phase, not tiggering callback for MuonCalib::CscCoolStrSvc[0x2a791a00]+259 bound to CondAttrListCollection[CSC_T0BASE]
+IOVSvcTool           INFO Still in initialize phase, not tiggering callback for MuonCalib::CscCoolStrSvc[0x2a791a00]+259 bound to CondAttrListCollection[CSC_T0PHASE]
 CscRdoToCscPrep...   INFO Retrieved CscRdoToCscPrepDataTool = PrivateToolHandle('Muon::CscRdoToCscPrepDataTool/CscRdoToCscPrepDataTool')
 CscRdoToCscPrep...WARNING Implicit circular data dependency detected for id  ( 'CscRawDataContainer' , 'StoreGateSvc+CSCRDO' ) 
 HistogramPersis...WARNING Histograms saving not required.
+EventSelector        INFO Initializing EventSelector - package version ByteStreamCnvSvc-00-00-00
 EventSelector     WARNING InputCollections not properly set, checking EventStorageInputSvc properties
 EventSelector        INFO Retrieved StoreGateSvc name of  '':StoreGateSvc
 EventSelector        INFO reinitialization...
@@ -1977,10 +2491,12 @@ ToolSvc.Luminos...   INFO BunchLumisTool.empty() is TRUE, skipping...
 ToolSvc.Luminos...   INFO BunchGroupTool.empty() is TRUE, skipping...
 ToolSvc.Luminos...   INFO LBLBFolderName is empty, skipping...
 EventSelector        INFO Retrieved InputCollections from InputSvc
+ByteStreamInputSvc   INFO Initializing ByteStreamInputSvc - package version ByteStreamCnvSvc-00-00-00
 EventSelector        INFO reinitialization...
 AthenaEventLoopMgr   INFO Setup EventSelector service EventSelector
 ApplicationMgr       INFO Application Manager Initialized successfully
 ByteStreamInputSvc   INFO Picked valid file: /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TrigP1Test/data17_13TeV.00327265.physics_EnhancedBias.merge.RAW._lb0100._SFO-1._0001.1
+ClassIDSvc           INFO  getRegistryEntries: read 1156 CLIDRegistry entries for module ALL
 CondInputLoader      INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/EXT/DCS/MAGNETS/SENSORDATA'
 CondInputLoader      INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/MDT/CABLING/MAP_SCHEMA'
 CondInputLoader      INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/MDT/CABLING/MEZZANINE_SCHEMA'
@@ -2058,6 +2574,7 @@ phi high-pt    mu11  mu15   mu15
 
 
 RPCcabling           INFO CablingRPC---InitMaps from COOL: going to read configuration
+RPCcabling           INFO CablingRPC--->> RPC cabling map from COOL <<
 RPCcabling           INFO CablingRPC--- ReadConf: map has size 222202
 RPCcabling           INFO CablingRPC--- ReadConf: map n. of lines read is 924
 RPCcabling           INFO CablingRPC--- ReadConf: version is 5.0 Atlas R_07_03_RUN2ver104
@@ -2095,13 +2612,19 @@ AtlasFieldSvc        INFO Trying to read from DCS: [channel name, index, value]
 AtlasFieldSvc        INFO Trying to read from DCS: [channel name, index, value] Toroids_SCurrent , 4 , 20397.7
 AtlasFieldSvc        INFO Currents read from DCS: solenoid 7729.99 toroid 20399.9
 AtlasFieldSvc        INFO Initializing the field map (solenoidCurrent=7729.99 toroidCurrent=20399.9)
+AtlasFieldSvc        INFO reading the map from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/atlas/offline/ReleaseData/v20/MagneticFieldMaps/bfieldmap_7730_20400_14m.root
+AtlasFieldSvc        INFO Initialized the field map from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/atlas/offline/ReleaseData/v20/MagneticFieldMaps/bfieldmap_7730_20400_14m.root
+ClassIDSvc           INFO  getRegistryEntries: read 672 CLIDRegistry entries for module ALL
 AthenaEventLoopMgr   INFO   ===>>>  start processing event #186525031, run #327265 0 events processed so far  <<<===
 IOVDbSvc             INFO Opening COOL connection for COOLONL_MDT/CONDBR2
 IOVDbFolder          INFO HVS tag CONDBR2-BLKPA-2018-13 resolved to MDTCablingMapSchema_BMG_01 for folder /MDT/CABLING/MAP_SCHEMA
 IOVDbFolder          INFO HVS tag CONDBR2-BLKPA-2018-13 resolved to MDTCablingMezzanineSchema_M5-RUN2 for folder /MDT/CABLING/MEZZANINE_SCHEMA
 IOVDbSvc             INFO Disconnecting from COOLONL_MDT/CONDBR2
 MuonMDT_CablingAlg   INFO Size of CondAttrListCollection  ( 'CondAttrListCollection' , 'ConditionStore+/MDT/CABLING/MEZZANINE_SCHEMA' )  readCdoMez->size()= 24
+MuonMDT_CablingAlg   INFO Range of input is {[0,l:0] - [INVALID]}
 MuonMDT_CablingAlg   INFO Size of CondAttrListCollection  ( 'CondAttrListCollection' , 'ConditionStore+/MDT/CABLING/MAP_SCHEMA' )  readCdoMap->size()= 2312
+MuonMDT_CablingAlg   INFO Range of input is {[327264,l:4294640031] - [327265,l:4294640030]}
+MuonMDT_CablingAlg   INFO recorded new MuonMDT_CablingMap with range {[327264,l:4294640031] - [327265,l:4294640030]} into Conditions Store
 MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
 MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
 MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
@@ -2223,10 +2746,40 @@ MuonCacheCreator     INFO Created cache container 'StoreGateSvc+TgcCache'
 AthenaEventLoopMgr   INFO   ===>>>  done processing event #186580451, run #327265 20 events processed so far  <<<===
 Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
 ApplicationMgr       INFO Application Manager Stopped successfully
+IncidentProcAlg1     INFO Finalize
 CondInputLoader      INFO Finalizing CondInputLoader...
+IncidentProcAlg2     INFO Finalize
 AtlasFieldSvc        INFO finalize() successful
 EventInfoByteSt...   INFO finalize 
 IdDictDetDescrCnv    INFO in finalize
+IOVDbFolder          INFO Folder /EXT/DCS/MAGNETS/SENSORDATA (AttrListColl) db-read 1/2 objs/chan/bytes 4/4/25 ((     0.19 ))s
+IOVDbFolder          INFO Folder /GLOBAL/BField/Maps (AttrListColl) db-read 1/1 objs/chan/bytes 3/3/271 ((     0.63 ))s
+IOVDbFolder          INFO Folder /MDT/CABLING/MAP_SCHEMA (AttrListColl) db-read 1/1 objs/chan/bytes 2312/2437/216598 ((     0.81 ))s
+IOVDbFolder          INFO Folder /MDT/CABLING/MEZZANINE_SCHEMA (AttrListColl) db-read 1/1 objs/chan/bytes 24/24/300 ((     1.42 ))s
+IOVDbFolder          INFO Folder /MDT/RTBLOB (AttrListColl) db-read 0/0 objs/chan/bytes 0/1186/0 ((     0.00 ))s
+IOVDbFolder          INFO Folder /MDT/T0BLOB (AttrListColl) db-read 0/0 objs/chan/bytes 0/1186/0 ((     0.00 ))s
+IOVDbFolder          INFO Folder /RPC/CABLING/MAP_SCHEMA (AttrListColl) db-read 1/1 objs/chan/bytes 1/1/444470 ((     0.90 ))s
+IOVDbFolder          INFO Folder /RPC/CABLING/MAP_SCHEMA_CORR (AttrListColl) db-read 1/1 objs/chan/bytes 1/1/58804 ((     0.48 ))s
+IOVDbFolder          INFO Folder /RPC/TRIGGER/CM_THR_ETA (AttrListColl) db-read 1/1 objs/chan/bytes 1613/1613/7562972 ((     2.88 ))s
+IOVDbFolder          INFO Folder /RPC/TRIGGER/CM_THR_PHI (AttrListColl) db-read 1/1 objs/chan/bytes 1612/1612/8101322 ((     0.21 ))s
+IOVDbFolder          INFO Folder /TGC/CABLING/MAP_SCHEMA (AttrListColl) db-read 1/1 objs/chan/bytes 1/1/7408 ((     0.82 ))s
+IOVDbFolder          INFO Folder /CSC/FTHOLD (AttrListColl) db-read 1/1 objs/chan/bytes 32/32/331329 ((     0.69 ))s
+IOVDbFolder          INFO Folder /CSC/NOISE (AttrListColl) db-read 1/1 objs/chan/bytes 32/32/359591 ((     0.13 ))s
+IOVDbFolder          INFO Folder /CSC/PED (AttrListColl) db-read 1/1 objs/chan/bytes 32/32/422629 ((     0.85 ))s
+IOVDbFolder          INFO Folder /CSC/PSLOPE (AttrListColl) db-read 1/1 objs/chan/bytes 32/32/363009 ((     1.96 ))s
+IOVDbFolder          INFO Folder /CSC/RMS (AttrListColl) db-read 1/1 objs/chan/bytes 32/32/422831 ((     0.79 ))s
+IOVDbFolder          INFO Folder /CSC/STAT (AttrListColl) db-read 1/1 objs/chan/bytes 32/32/236289 ((     0.64 ))s
+IOVDbFolder          INFO Folder /CSC/T0BASE (AttrListColl) db-read 1/1 objs/chan/bytes 32/32/322855 ((     0.13 ))s
+IOVDbFolder          INFO Folder /CSC/T0PHASE (AttrListColl) db-read 1/1 objs/chan/bytes 32/32/3234 ((     0.80 ))s
+IOVDbSvc             INFO  bytes in ((     14.33 ))s
+IOVDbSvc             INFO Connection sqlite://;schema=mycool.db;dbname=CONDBR2 : nConnect: 0 nFolders: 0 ReadTime: ((     0.00 ))s
+IOVDbSvc             INFO Connection COOLONL_MDT/CONDBR2 : nConnect: 2 nFolders: 2 ReadTime: ((     2.22 ))s
+IOVDbSvc             INFO Connection COOLONL_RPC/CONDBR2 : nConnect: 2 nFolders: 4 ReadTime: ((     4.47 ))s
+IOVDbSvc             INFO Connection COOLOFL_MDT/CONDBR2 : nConnect: 1 nFolders: 2 ReadTime: ((     0.00 ))s
+IOVDbSvc             INFO Connection COOLOFL_CSC/CONDBR2 : nConnect: 2 nFolders: 8 ReadTime: ((     5.99 ))s
+IOVDbSvc             INFO Connection COOLONL_GLOBAL/CONDBR2 : nConnect: 2 nFolders: 1 ReadTime: ((     0.63 ))s
+IOVDbSvc             INFO Connection COOLONL_TGC/CONDBR2 : nConnect: 2 nFolders: 1 ReadTime: ((     0.82 ))s
+IOVDbSvc             INFO Connection COOLOFL_DCS/CONDBR2 : nConnect: 2 nFolders: 1 ReadTime: ((     0.19 ))s
 AthDictLoaderSvc     INFO in finalize...
 ToolSvc              INFO Removing all tools created by ToolSvc
 ToolSvc.ByteStr...   INFO in finalize()
@@ -2250,6 +2803,8 @@ ToolSvc.TGCCabl...   INFO finalize
 *****Chrono*****     INFO ****************************************************************************************************
 *****Chrono*****     INFO  The Final CPU consumption ( Chrono ) Table (ordered)
 *****Chrono*****     INFO ****************************************************************************************************
+cObj_ALL             INFO Time User   : Tot=    0 [us] Ave/Min/Max=    0(+-    0)/    0/    0 [us] #= 18
+ChronoStatSvc        INFO Time User   : Tot= 10.8  [s]                                             #=  1
 *****Chrono*****     INFO ****************************************************************************************************
 ChronoStatSvc.f...   INFO  Service finalized successfully 
 ApplicationMgr       INFO Application Manager Finalized successfully
diff --git a/MuonSpectrometer/MuonConfig/share/MuonDataDecodeTest_Cache.ref b/MuonSpectrometer/MuonConfig/share/MuonDataDecodeTest_Cache.ref
index e832c7dcc385..a89f1a706c65 100644
--- a/MuonSpectrometer/MuonConfig/share/MuonDataDecodeTest_Cache.ref
+++ b/MuonSpectrometer/MuonConfig/share/MuonDataDecodeTest_Cache.ref
@@ -1,4 +1,142 @@
+Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc8-opt] [atlas-work3/5f61275c16] -- built on [2019-01-25T1856]
 Flag Name                                : Value
+Beam.BunchSpacing                        : 25
+Beam.Energy                              : [function]
+Beam.NumberOfCollisions                  : 0
+Beam.Type                                : 'collisions'
+Beam.estimatedLuminosity                 : [function]
+Calo.Noise.fixedLumiForNoise             : -1
+Calo.Noise.useCaloNoiseLumi              : True
+Calo.TopoCluster.doTreatEnergyCutAsAbsol : False
+Calo.TopoCluster.doTwoGaussianNoise      : True
+Common.isOnline                          : False
+Concurrency.NumConcurrentEvents          : 0
+Concurrency.NumProcs                     : 0
+Concurrency.NumThreads                   : 0
+DQ.DataType                              : [function]
+DQ.Environment                           : [function]
+DQ.FileKey                               : 'CombinedMonitoring'
+DQ.disableAtlasReadyFilter               : False
+DQ.doGlobalMon                           : True
+DQ.doMonitoring                          : True
+DQ.doStreamAwareMon                      : True
+GeoModel.AtlasVersion                    : 'ATLAS-R2-2016-01-00-01'
+GeoModel.Layout                          : 'atlas'
+IOVDb.DatabaseInstance                   : [function]
+IOVDb.GlobalTag                          : 'CONDBR2-BLKPA-2018-13'
+Input.Files                              : ['/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TrigP1Test/data17_13TeV.00327265.physics_EnhancedBias.merge.RAW._lb0100._SFO-1._0001.1']
+Input.ProjectName                        : [function]
+Input.RunNumber                          : [function]
+Input.isMC                               : [function]
+LAr.RawChannelSource                     : [function]
+LAr.doAlign                              : [function]
+LAr.doCellEmMisCalib                     : [function]
+LAr.doCellNoiseMasking                   : True
+LAr.doCellSporadicNoiseMasking           : True
+LAr.doHVCorr                             : [function]
+Muon.Align.UseALines                     : False
+Muon.Align.UseAsBuilt                    : False
+Muon.Align.UseBLines                     : 'none'
+Muon.Align.UseILines                     : False
+Muon.Calib.CscF001FromLocalFile          : False
+Muon.Calib.CscNoiseFromLocalFile         : False
+Muon.Calib.CscPSlopeFromLocalFile        : False
+Muon.Calib.CscPedFromLocalFile           : False
+Muon.Calib.CscRmsFromLocalFile           : False
+Muon.Calib.CscStatusFromLocalFile        : False
+Muon.Calib.CscT0BaseFromLocalFile        : False
+Muon.Calib.CscT0PhaseFromLocalFile       : False
+Muon.Calib.EventTag                      : 'MoMu'
+Muon.Calib.applyRtScaling                : True
+Muon.Calib.correctMdtRtForBField         : False
+Muon.Calib.correctMdtRtForTimeSlewing    : False
+Muon.Calib.correctMdtRtWireSag           : False
+Muon.Calib.mdtCalibrationSource          : 'MDT'
+Muon.Calib.mdtMode                       : 'ntuple'
+Muon.Calib.mdtPropagationSpeedBeta       : 0.85
+Muon.Calib.readMDTCalibFromBlob          : True
+Muon.Calib.useMLRt                       : True
+Muon.Chi2NDofCut                         : 20.0
+Muon.createTrackParticles                : True
+Muon.doCSCs                              : True
+Muon.doDigitization                      : True
+Muon.doFastDigitization                  : False
+Muon.doMDTs                              : True
+Muon.doMSVertex                          : False
+Muon.doMicromegas                        : False
+Muon.doPseudoTracking                    : False
+Muon.doRPCClusterSegmentFinding          : False
+Muon.doRPCs                              : True
+Muon.doSegmentT0Fit                      : False
+Muon.doTGCClusterSegmentFinding          : False
+Muon.doTGCs                              : True
+Muon.dosTGCs                             : False
+Muon.enableCurvedSegmentFinding          : False
+Muon.enableErrorTuning                   : False
+Muon.optimiseMomentumResolutionUsingChi2 : False
+Muon.patternsOnly                        : False
+Muon.prdToxAOD                           : False
+Muon.printSummary                        : False
+Muon.refinementTool                      : 'Moore'
+Muon.rpcRawToxAOD                        : False
+Muon.segmentOrigin                       : 'Muon'
+Muon.straightLineFitMomentum             : 2000.0
+Muon.strategy                            : []
+Muon.trackBuilder                        : 'Moore'
+Muon.updateSegmentSecondCoordinate       : [function]
+Muon.useAlignmentCorrections             : False
+Muon.useLooseErrorTuning                 : False
+Muon.useSegmentMatching                  : [function]
+Muon.useTGCPriorNextBC                   : False
+Muon.useTrackSegmentMatching             : True
+Muon.useWireSagCorrections               : False
+Output.AODFileName                       : 'myAOD.pool.root'
+Output.ESDFileName                       : 'myESD.pool.root'
+Output.HISTFileName                      : 'myHIST.root'
+Output.HITFileName                       : 'myHIT.pool.root'
+Output.RDOFileName                       : 'myROD.pool.root'
+Output.doESD                             : False
+Scheduler.CheckDependencies              : True
+Scheduler.ShowControlFlow                : False
+Scheduler.ShowDataDeps                   : False
+Scheduler.ShowDataFlow                   : False
+Trigger.AODEDMSet                        : []
+Trigger.EDMDecodingVersion               : 2
+Trigger.ESDEDMSet                        : []
+Trigger.L1.CTPVersion                    : 4
+Trigger.L1.doBcm                         : True
+Trigger.L1.doMuons                       : True
+Trigger.L1Decoder.forceEnableAllChains   : False
+Trigger.LVL1ConfigFile                   : [function]
+Trigger.LVL1TopoConfigFile               : [function]
+Trigger.OnlineCondTag                    : 'CONDBR2-HLTP-2016-01'
+Trigger.OnlineGeoTag                     : 'ATLAS-R2-2015-04-00-00'
+Trigger.calo.doOffsetCorrection          : True
+Trigger.dataTakingConditions             : 'FullTrigger'
+Trigger.doHLT                            : True
+Trigger.doL1Topo                         : True
+Trigger.doLVL1                           : [function]
+Trigger.doTriggerConfigOnly              : False
+Trigger.doTruth                          : False
+Trigger.egamma.calibMVAVersiona          : [function]
+Trigger.egamma.clusterCorrectionVersion  : [function]
+Trigger.egamma.pidVersion                : [function]
+Trigger.generateLVL1Config               : False
+Trigger.generateLVL1TopoConfig           : False
+Trigger.menu.combined                    : []
+Trigger.menu.electron                    : []
+Trigger.menu.muon                        : []
+Trigger.menu.photon                      : []
+Trigger.menuVersion                      : [function]
+Trigger.muon.doEFRoIDrivenAccess         : False
+Trigger.run2Config                       : '2018'
+Trigger.triggerConfig                    : 'MCRECO:DEFAULT'
+Trigger.triggerMenuSetup                 : 'MC_pp_v7_tight_mc_prescale'
+Trigger.triggerUseFrontier               : False
+Trigger.useL1CaloCalibration             : False
+Trigger.useRun1CaloEnergyScale           : False
+Trigger.writeBS                          : False
+Trigger.writeL1TopoValData               : True
 Py:Athena            INFO About to setup Rpc Raw data decoding
 Py:ComponentAccumulator   DEBUG Adding component EventSelectorByteStream/EventSelector to the job
 Py:ComponentAccumulator   DEBUG Adding component ByteStreamEventStorageInputSvc/ByteStreamInputSvc to the job
@@ -28,7 +166,6 @@ Py:ComponentAccumulator   DEBUG Adding component ByteStreamAttListMetadataSvc/By
 Py:ComponentAccumulator   DEBUG Adding component IOVDbMetaDataTool/IOVDbMetaDataTool to the job
 Py:ComponentAccumulator   DEBUG Adding component ByteStreamMetadataTool/ByteStreamMetadataTool to the job
 Py:ComponentAccumulator   DEBUG   Merging algorithm MuonCacheCreator to a sequence AthAlgSeq
-Py:Configurable     ERROR attempt to add a duplicate (AthAlgSeq.MuonCacheCreator) ... dupe ignored
 Py:ComponentAccumulator   DEBUG Adding component GeoModelSvc/GeoModelSvc to the job
 Py:ComponentAccumulator   DEBUG Adding component DetDescrCnvSvc/DetDescrCnvSvc to the job
 Py:ComponentAccumulator   DEBUG Adding component EvtPersistencySvc/EventPersistencySvc to the job
@@ -328,12 +465,101 @@ Py:ComponentAccumulator   DEBUG Adding component CondSvc/CondSvc to the job
 Py:ComponentAccumulator   DEBUG Adding component ProxyProviderSvc/ProxyProviderSvc to the job
 Py:ComponentAccumulator   DEBUG Adding component DBReplicaSvc/DBReplicaSvc to the job
 Py:IOVDbSvc.CondDB   DEBUG Loading basic services for CondDBSetup...
+Py:ConfigurableDb   DEBUG loading confDb files...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libGaudiHive.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libStoreGate.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libGaudiCommonSvc.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libprofhelp.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libCaloTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libAthExHelloWorld.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libAthExHive.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libIOVDbSvc.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libPixelConditionsServices.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libLArMonTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libMdtRawDataMonitoring.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libEventUtils.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libxAODBTaggingEfficiency.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libRecBackgroundAlgs.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libCaloClusterMatching.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libCaloRingerTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libParticlesInConeTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTrackToCalo.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTrackToVertex.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libISF_Geant4Tools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTrkExStraightLineIntersector.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTrigTauMonitoring.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libCaloCellCorrection.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libCaloCondPhysAlgs.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libCaloUtils.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libAthViewsAlgs.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libZdcAnalysis.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libAthViewsDFlow.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libInDetPhysValMonitoring.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libLArRecUtils.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libLArCafJobs.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libMuonPhysValMonitoring.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libDerivationFrameworkExamples.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libDerivationFrameworkTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libElectronPhotonTagTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libJetMissingEtTagTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libMissingEtDQA.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libMuonMomentumCorrections.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libMuonResonanceTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libMuonSelectorTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libMuonTagTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libRingerSelectorTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTauAnalysisTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libLongLivedParticleDPDMaker.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTauTagTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libDiTauRec.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libMETUtilities.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libMuonCombinedBaseTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libegammaPerformance.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libFastCaloSim.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTileCalibAlgs.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTileMonitoring.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTileRec.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTileRecAlgs.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTileRecUtils.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTrigEgammaEmulationTool.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTrigConfigSvc.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libFTK_RecTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTrigMissingETHypo.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTileSimAlgs.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTBRec.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libCaloRec.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libZdcRec.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libDataQualityTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libLArCellRec.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libMuonTrackMonitoring.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libDerivationFrameworkJetEtMiss.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libEventTagAlgs.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libIsolationTool.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/WorkDir.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libTrigEgammaAnalysisTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libJetSubStructureMomentTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/afs/cern.ch/user/s/ssnyder/atlas-work3/build-x86_64-slc6-gcc8-opt/x86_64-slc6-gcc8-opt/lib/libJetTagTools.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-24T2342/GAUDI/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/lib/Gaudi.confdb]...
+Py:ConfigurableDb   DEBUG 	-loading [/cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-24T2342/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/lib/Athena.confdb]...
+Py:ConfigurableDb   DEBUG loading confDb files... [DONE]
+Py:ConfigurableDb   DEBUG loaded 1101 confDb packages
+Py:ConfigurableDb    INFO Read module info for 5454 configurables from 75 genConfDb files
+Py:ConfigurableDb    INFO No duplicates have been found: that's good !
+Py:ConfigurableDb   DEBUG : Found configurable <class 'GaudiCoreSvc.GaudiCoreSvcConf.MessageSvc'> in module GaudiCoreSvc.GaudiCoreSvcConf
 Py:loadBasicAthenaPool   DEBUG Loading basic services for AthenaPool...
+Py:ConfigurableDb   DEBUG : Found configurable <class 'PoolSvc.PoolSvcConf.PoolSvc'> in module PoolSvc.PoolSvcConf
+Py:ConfigurableDb   DEBUG : Found configurable <class 'AthenaPoolCnvSvc.AthenaPoolCnvSvcConf.AthenaPoolCnvSvc'> in module AthenaPoolCnvSvc.AthenaPoolCnvSvcConf
+Py:ConfigurableDb   DEBUG : Found configurable <class 'SGComps.SGCompsConf.ProxyProviderSvc'> in module SGComps.SGCompsConf
+Py:ConfigurableDb   DEBUG : Found configurable <class 'AthenaServices.AthenaServicesConf.MetaDataSvc'> in module AthenaServices.AthenaServicesConf
+Py:ConfigurableDb   DEBUG : Found configurable <class 'StoreGate.StoreGateConf.StoreGateSvc'> in module StoreGate.StoreGateConf
 Py:loadBasicAthenaPool   DEBUG Loading basic services for AthenaPool... [DONE]
 Py:loadBasicIOVDb   DEBUG Loading basic services for IOVDbSvc...
+Py:ConfigurableDb   DEBUG : Found configurable <class 'SGComps.SGCompsConf.ProxyProviderSvc'> in module SGComps.SGCompsConf
 Py:Configurable     ERROR attempt to add a duplicate (ServiceManager.ProxyProviderSvc) ... dupe ignored
 Py:loadBasicEventInfoMgt   DEBUG Loading basic services for EventInfoMgt...
+EventInfoMgtInit: Got release version  Athena-22.0.1
 Py:Configurable     ERROR attempt to add a duplicate (ServiceManager.EventPersistencySvc) ... dupe ignored
+Py:ConfigurableDb   DEBUG : Found configurable <class 'SGComps.SGCompsConf.ProxyProviderSvc'> in module SGComps.SGCompsConf
 Py:Configurable     ERROR attempt to add a duplicate (ServiceManager.ProxyProviderSvc) ... dupe ignored
 Py:loadBasicEventInfoMgt   DEBUG Loading basic services for EventInfoMgt... [DONE]
 Py:loadBasicIOVDb   DEBUG Loading basic services for IOVDb... [DONE]
@@ -556,6 +782,7 @@ Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersi
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component ToolSvc.Muon::MuonIdHelperTool
+Py:ConfigurableDb   DEBUG : Found configurable <class 'MuonRPC_CnvTools.MuonRPC_CnvToolsConf.Muon__RpcRDO_Decoder'> in module MuonRPC_CnvTools.MuonRPC_CnvToolsConf
 Py:ComponentAccumulator   DEBUG Adding component Muon::RpcRdoToPrepDataTool/RpcRdoToRpcPrepDataTool to the job
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondInputLoader
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
@@ -1053,6 +1280,10 @@ Py:ComponentAccumulator   DEBUG Reconciled configuration of component EventPersi
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component TagInfoMgr
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component ProxyProviderSvc
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component ToolSvc.Muon::MuonIdHelperTool
+Py:ConfigurableDb   DEBUG : Found configurable <class 'MuonCSC_CnvTools.MuonCSC_CnvToolsConf.Muon__CscRDO_Decoder'> in module MuonCSC_CnvTools.MuonCSC_CnvToolsConf
+Py:ConfigurableDb   DEBUG : Found configurable <class 'CscCalibTools.CscCalibToolsConf.CscCalibTool'> in module CscCalibTools.CscCalibToolsConf
+Py:ConfigurableDb   DEBUG : Found configurable <class 'MuonCSC_CnvTools.MuonCSC_CnvToolsConf.Muon__CSC_RawDataProviderTool'> in module MuonCSC_CnvTools.MuonCSC_CnvToolsConf
+Py:ConfigurableDb   DEBUG : Found configurable <class 'MuonCSC_CnvTools.MuonCSC_CnvToolsConf.Muon__CscROD_Decoder'> in module MuonCSC_CnvTools.MuonCSC_CnvToolsConf
 Py:ComponentAccumulator   DEBUG Adding component Muon::CscRdoToCscPrepDataTool/CscRdoToCscPrepDataTool to the job
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component CondInputLoader
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component GeoModelSvc
@@ -1070,8 +1301,13 @@ Py:ComponentAccumulator   DEBUG Reconciled configuration of component ToolSvc.Mu
 Py:ComponentAccumulator   DEBUG Adding component Muon::CscRdoToCscPrepDataTool/CscRdoToCscPrepDataTool to the job
 Py:ComponentAccumulator   DEBUG Adding component CscThresholdClusterBuilderTool/CscThesholdClusterBuilderTool to the job
 Py:ComponentAccumulator   DEBUG Adding component CscThresholdClusterBuilderTool/CscThesholdClusterBuilderTool to the job
+Py:ConfigurableDb   DEBUG : Found configurable <class 'AthenaPoolCnvSvc.AthenaPoolCnvSvcConf.AthenaPoolCnvSvc'> in module AthenaPoolCnvSvc.AthenaPoolCnvSvcConf
 Py:ComponentAccumulator   DEBUG Reconciled configuration of component AthenaPoolCnvSvc
 Py:Athena            INFO Print Config
+Py:ComponentAccumulator    INFO Event Inputs
+Py:ComponentAccumulator    INFO set([])
+Py:ComponentAccumulator    INFO Event Algorithm Sequences
+Py:ComponentAccumulator    INFO /***** Algorithm AthSequencer/AthAlgSeq ************************************************************
 |-Atomic                                  = False
 |-AuditAlgorithms                         = False
 |-AuditBeginRun                           = False
@@ -1083,21 +1319,29 @@ Py:Athena            INFO Print Config
 |-AuditRestart                            = False
 |-AuditStart                              = False
 |-AuditStop                               = False
+|-Cardinality                             = 0
 |-ContinueEventloopOnFPE                  = False
+|-DetStore                   @0x7f0b3f4b1990 = ServiceHandle('StoreGateSvc/DetectorStore')
 |-Enable                                  = True
 |-ErrorCounter                            = 0
 |-ErrorMax                                = 1
+|-EvtStore                   @0x7f0b3f4b1910 = ServiceHandle('StoreGateSvc')
+|-ExtraInputs                @0x7f0b3da4b488 = []  (default: [])
+|-ExtraOutputs               @0x7f0b3da4b638 = []  (default: [])
 |-FilterCircularDependencies              = True
 |-IgnoreFilterPassed                      = False
 |-IsIOBound                               = False
+|-Members                    @0x7f0b3da4b290 = ['MuonCacheCreator/MuonCacheCreator', 'Muon::RpcRawDataProvider/RpcRawDataProvider', 'Muon::TgcRawDataProvider/TgcRawDataProvider', 'Muon::MdtRawDataProvider/MdtRawDataProvider', 'Muon::CscRawDataProvider/CscRawDataProvider', 'RpcRdoToRpcPrepData/RpcRdoToRpcPrepData', 'TgcRdoToTgcPrepData/TgcRdoToTgcPrepData', 'MdtRdoToMdtPrepData/MdtRdoToMdtPrepData', 'CscRdoToCscPrepData/CscRdoToCscPrepData', 'CscThresholdClusterBuilder/CscThesholdClusterBuilder']
 |                                            (default: [])
 |-ModeOR                                  = False
 |-MonitorService                          = 'MonitorSvc'
+|-NeededResources            @0x7f0b3da4b710 = []  (default: [])
 |-OutputLevel                             = 0
 |-RegisterForContextService               = False
 |-Sequential                              = False
 |-StopOverride                            = False
 |-TimeOut                                 = 0.0
+|-Timeline                                = True
 |=/***** Algorithm MuonCacheCreator/MuonCacheCreator *************************************************
 | |-AuditAlgorithms                         = False
 | |-AuditBeginRun                           = False
@@ -1109,15 +1353,26 @@ Py:Athena            INFO Print Config
 | |-AuditRestart                            = False
 | |-AuditStart                              = False
 | |-AuditStop                               = False
+| |-Cardinality                             = 0
+| |-CscCacheKey                @0x7f0b3e0e63f0 = 'CscCache'  (default: 'StoreGateSvc+')
+| |-DetStore                   @0x7f0b3e1ae910 = ServiceHandle('StoreGateSvc/DetectorStore')
 | |-DisableViewWarning                      = False
 | |-Enable                                  = True
 | |-ErrorCounter                            = 0
 | |-ErrorMax                                = 1
+| |-EvtStore                   @0x7f0b3e1ae890 = ServiceHandle('StoreGateSvc')
+| |-ExtraInputs                @0x7f0b3e2820e0 = []  (default: [])
+| |-ExtraOutputs               @0x7f0b3e1b8fc8 = []  (default: [])
 | |-FilterCircularDependencies              = True
 | |-IsIOBound                               = False
+| |-MdtCsmCacheKey             @0x7f0b3e0e63c0 = 'MdtCsmCache'  (default: 'StoreGateSvc+')
 | |-MonitorService                          = 'MonitorSvc'
+| |-NeededResources            @0x7f0b3e282050 = []  (default: [])
 | |-OutputLevel                             = 0
 | |-RegisterForContextService               = False
+| |-RpcCacheKey                @0x7f0b3e0e67b0 = 'RpcCache'  (default: 'StoreGateSvc+')
+| |-TgcCacheKey                @0x7f0b3e0e6810 = 'TgcCache'  (default: 'StoreGateSvc+')
+| |-Timeline                                = True
 | \----- (End of Algorithm MuonCacheCreator/MuonCacheCreator) ----------------------------------------
 |=/***** Algorithm Muon::RpcRawDataProvider/RpcRawDataProvider ***************************************
 | |-AuditAlgorithms                         = False
@@ -1130,17 +1385,26 @@ Py:Athena            INFO Print Config
 | |-AuditRestart                            = False
 | |-AuditStart                              = False
 | |-AuditStop                               = False
+| |-Cardinality                             = 1
+| |-DetStore                   @0x7f0b3e28fb50 = ServiceHandle('StoreGateSvc/DetectorStore')
 | |-DoSeededDecoding                        = False
 | |-Enable                                  = True
 | |-ErrorCounter                            = 0
 | |-ErrorMax                                = 1
+| |-EvtStore                   @0x7f0b3e28fad0 = ServiceHandle('StoreGateSvc')
+| |-ExtraInputs                @0x7f0b3da4b908 = []  (default: [])
+| |-ExtraOutputs               @0x7f0b3da4b758 = []  (default: [])
 | |-FilterCircularDependencies              = True
 | |-IsIOBound                               = False
 | |-MonitorService                          = 'MonitorSvc'
+| |-NeededResources            @0x7f0b3da4b7a0 = []  (default: [])
 | |-OutputLevel                             = 0
+| |-ProviderTool               @0x7f0b3e575528 = PrivateToolHandle('Muon::RPC_RawDataProviderTool/RPC_RawDataProviderTool')
 | |                                            (default: 'Muon::RPC_RawDataProviderTool/RpcRawDataProviderTool')
+| |-RegionSelectionSvc         @0x7f0b3e28fbd0 = ServiceHandle('RegSelSvc')
 | |-RegisterForContextService               = False
 | |-RoIs                                    = 'StoreGateSvc+OutputRoIs'
+| |-Timeline                                = True
 | |=/***** Private AlgTool Muon::RPC_RawDataProviderTool/RpcRawDataProvider.RPC_RawDataProviderTool *****
 | | |-AuditFinalize                  = False
 | | |-AuditInitialize                = False
@@ -1149,6 +1413,11 @@ Py:Athena            INFO Print Config
 | | |-AuditStart                     = False
 | | |-AuditStop                      = False
 | | |-AuditTools                     = False
+| | |-Decoder           @0x7f0b3e575620 = PrivateToolHandle('Muon::RpcROD_Decoder/RpcROD_Decoder')
+| | |-DetStore          @0x7f0b3e0813d0 = ServiceHandle('StoreGateSvc/DetectorStore')
+| | |-EvtStore          @0x7f0b3e081410 = ServiceHandle('StoreGateSvc')
+| | |-ExtraInputs       @0x7f0b3e084170 = []  (default: [])
+| | |-ExtraOutputs      @0x7f0b3e084098 = []  (default: [])
 | | |-MonitorService                 = 'MonitorSvc'
 | | |-OutputLevel                    = 0
 | | |-RPCSec                         = 'StoreGateSvc+RPC_SECTORLOGIC'
@@ -1162,6 +1431,10 @@ Py:Athena            INFO Print Config
 | | | |-AuditStop                        = False
 | | | |-AuditTools                       = False
 | | | |-DataErrorPrintLimit              = 1000
+| | | |-DetStore            @0x7f0b3e0814d0 = ServiceHandle('StoreGateSvc/DetectorStore')
+| | | |-EvtStore            @0x7f0b3e081510 = ServiceHandle('StoreGateSvc')
+| | | |-ExtraInputs         @0x7f0b3e084050 = []  (default: [])
+| | | |-ExtraOutputs        @0x7f0b3e07af80 = []  (default: [])
 | | | |-MonitorService                   = 'MonitorSvc'
 | | | |-OutputLevel                      = 0
 | | | |-Sector13Data                     = False
@@ -1180,15 +1453,23 @@ Py:Athena            INFO Print Config
 | |-AuditRestart                            = False
 | |-AuditStart                              = False
 | |-AuditStop                               = False
+| |-Cardinality                             = 1
+| |-DetStore                   @0x7f0b3e19eb10 = ServiceHandle('StoreGateSvc/DetectorStore')
 | |-Enable                                  = True
 | |-ErrorCounter                            = 0
 | |-ErrorMax                                = 1
+| |-EvtStore                   @0x7f0b3e19ea90 = ServiceHandle('StoreGateSvc')
+| |-ExtraInputs                @0x7f0b3da4bb00 = []  (default: [])
+| |-ExtraOutputs               @0x7f0b3da4bbd8 = []  (default: [])
 | |-FilterCircularDependencies              = True
 | |-IsIOBound                               = False
 | |-MonitorService                          = 'MonitorSvc'
+| |-NeededResources            @0x7f0b3da4bb48 = []  (default: [])
 | |-OutputLevel                             = 0
+| |-ProviderTool               @0x7f0b3f2539b0 = PrivateToolHandle('Muon::TGC_RawDataProviderTool/TGC_RawDataProviderTool')
 | |                                            (default: 'Muon::TGC_RawDataProviderTool/TgcRawDataProviderTool')
 | |-RegisterForContextService               = False
+| |-Timeline                                = True
 | |=/***** Private AlgTool Muon::TGC_RawDataProviderTool/TgcRawDataProvider.TGC_RawDataProviderTool *****
 | | |-AuditFinalize                  = False
 | | |-AuditInitialize                = False
@@ -1197,7 +1478,12 @@ Py:Athena            INFO Print Config
 | | |-AuditStart                     = False
 | | |-AuditStop                      = False
 | | |-AuditTools                     = False
+| | |-Decoder           @0x7f0b3f253aa0 = PrivateToolHandle('Muon::TGC_RodDecoderReadout/TgcROD_Decoder')
 | | |                                   (default: 'Muon::TGC_RodDecoderReadout/TGC_RodDecoderReadout')
+| | |-DetStore          @0x7f0b3e027a10 = ServiceHandle('StoreGateSvc/DetectorStore')
+| | |-EvtStore          @0x7f0b3e027a50 = ServiceHandle('StoreGateSvc')
+| | |-ExtraInputs       @0x7f0b3dfab128 = []  (default: [])
+| | |-ExtraOutputs      @0x7f0b3dfab0e0 = []  (default: [])
 | | |-MonitorService                 = 'MonitorSvc'
 | | |-OutputLevel                    = 0
 | | |-RdoLocation                    = 'StoreGateSvc+TGCRDO'
@@ -1209,6 +1495,10 @@ Py:Athena            INFO Print Config
 | | | |-AuditStart                     = False
 | | | |-AuditStop                      = False
 | | | |-AuditTools                     = False
+| | | |-DetStore          @0x7f0b3e027b10 = ServiceHandle('StoreGateSvc/DetectorStore')
+| | | |-EvtStore          @0x7f0b3e027b50 = ServiceHandle('StoreGateSvc')
+| | | |-ExtraInputs       @0x7f0b3e024d88 = []  (default: [])
+| | | |-ExtraOutputs      @0x7f0b3e024ef0 = []  (default: [])
 | | | |-MonitorService                 = 'MonitorSvc'
 | | | |-OutputLevel                    = 0
 | | | |-ShowStatusWords                = False
@@ -1227,15 +1517,23 @@ Py:Athena            INFO Print Config
 | |-AuditRestart                            = False
 | |-AuditStart                              = False
 | |-AuditStop                               = False
+| |-Cardinality                             = 1
+| |-DetStore                   @0x7f0b3e198d50 = ServiceHandle('StoreGateSvc/DetectorStore')
 | |-Enable                                  = True
 | |-ErrorCounter                            = 0
 | |-ErrorMax                                = 1
+| |-EvtStore                   @0x7f0b3e198cd0 = ServiceHandle('StoreGateSvc')
+| |-ExtraInputs                @0x7f0b3da4bc20 = []  (default: [])
+| |-ExtraOutputs               @0x7f0b3da4bcb0 = []  (default: [])
 | |-FilterCircularDependencies              = True
 | |-IsIOBound                               = False
 | |-MonitorService                          = 'MonitorSvc'
+| |-NeededResources            @0x7f0b3da4bb90 = []  (default: [])
 | |-OutputLevel                             = 0
+| |-ProviderTool               @0x7f0b3e111c50 = PrivateToolHandle('Muon::MDT_RawDataProviderTool/MDT_RawDataProviderTool')
 | |                                            (default: 'Muon::MDT_RawDataProviderTool/MdtRawDataProviderTool')
 | |-RegisterForContextService               = False
+| |-Timeline                                = True
 | |=/***** Private AlgTool Muon::MDT_RawDataProviderTool/MdtRawDataProvider.MDT_RawDataProviderTool *****
 | | |-AuditFinalize                     = False
 | | |-AuditInitialize                   = False
@@ -1244,7 +1542,14 @@ Py:Athena            INFO Print Config
 | | |-AuditStart                        = False
 | | |-AuditStop                         = False
 | | |-AuditTools                        = False
+| | |-CsmContainerCacheKey @0x7f0b3e0e63c0 = 'MdtCsmCache'  (default: 'StoreGateSvc+')
+| | |-Decoder              @0x7f0b3f253d70 = PrivateToolHandle('MdtROD_Decoder/MdtROD_Decoder')
+| | |-DetStore             @0x7f0b3db58610 = ServiceHandle('StoreGateSvc/DetectorStore')
+| | |-EvtStore             @0x7f0b3db58650 = ServiceHandle('StoreGateSvc')
+| | |-ExtraInputs          @0x7f0b3db59878 = []  (default: [])
+| | |-ExtraOutputs         @0x7f0b3db59950 = []  (default: [])
 | | |-MonitorService                    = 'MonitorSvc'
+| | |-OutputLevel          @  0x16031d8 = 1  (default: 0)
 | | |-RdoLocation                       = 'StoreGateSvc+MDTCSM'
 | | |-ReadKey                           = 'ConditionStore+MuonMDT_CablingMap'
 | | |=/***** Private AlgTool MdtROD_Decoder/MdtRawDataProvider.MDT_RawDataProviderTool.MdtROD_Decoder *****
@@ -1255,6 +1560,10 @@ Py:Athena            INFO Print Config
 | | | |-AuditStart                     = False
 | | | |-AuditStop                      = False
 | | | |-AuditTools                     = False
+| | | |-DetStore          @0x7f0b3db58710 = ServiceHandle('StoreGateSvc/DetectorStore')
+| | | |-EvtStore          @0x7f0b3db58750 = ServiceHandle('StoreGateSvc')
+| | | |-ExtraInputs       @0x7f0b3db59758 = []  (default: [])
+| | | |-ExtraOutputs      @0x7f0b3db59710 = []  (default: [])
 | | | |-MonitorService                 = 'MonitorSvc'
 | | | |-OutputLevel                    = 0
 | | | |-ReadKey                        = 'ConditionStore+MuonMDT_CablingMap'
@@ -1273,15 +1582,23 @@ Py:Athena            INFO Print Config
 | |-AuditRestart                            = False
 | |-AuditStart                              = False
 | |-AuditStop                               = False
+| |-Cardinality                             = 1
+| |-DetStore                   @0x7f0b3e27cc90 = ServiceHandle('StoreGateSvc/DetectorStore')
 | |-Enable                                  = True
 | |-ErrorCounter                            = 0
 | |-ErrorMax                                = 1
+| |-EvtStore                   @0x7f0b3e27cc10 = ServiceHandle('StoreGateSvc')
+| |-ExtraInputs                @0x7f0b3da4bd40 = []  (default: [])
+| |-ExtraOutputs               @0x7f0b3da4bc68 = []  (default: [])
 | |-FilterCircularDependencies              = True
 | |-IsIOBound                               = False
 | |-MonitorService                          = 'MonitorSvc'
+| |-NeededResources            @0x7f0b3da4b7e8 = []  (default: [])
 | |-OutputLevel                             = 0
+| |-ProviderTool               @0x7f0b3e575810 = PrivateToolHandle('Muon::CSC_RawDataProviderTool/CSC_RawDataProviderTool')
 | |                                            (default: 'Muon::CSC_RawDataProviderTool/CscRawDataProviderTool')
 | |-RegisterForContextService               = False
+| |-Timeline                                = True
 | |=/***** Private AlgTool Muon::CSC_RawDataProviderTool/CscRawDataProvider.CSC_RawDataProviderTool *****
 | | |-AuditFinalize                     = False
 | | |-AuditInitialize                   = False
@@ -1290,7 +1607,14 @@ Py:Athena            INFO Print Config
 | | |-AuditStart                        = False
 | | |-AuditStop                         = False
 | | |-AuditTools                        = False
+| | |-CscContainerCacheKey @0x7f0b3e0e63f0 = 'CscCache'  (default: 'StoreGateSvc+')
+| | |-Decoder              @0x7f0b3dff3050 = PrivateToolHandle('Muon::CscROD_Decoder/CscROD_Decoder')
+| | |-DetStore             @0x7f0b3db16550 = ServiceHandle('StoreGateSvc/DetectorStore')
+| | |-EvtStore             @0x7f0b3db16590 = ServiceHandle('StoreGateSvc')
+| | |-ExtraInputs          @0x7f0b3db1a098 = []  (default: [])
+| | |-ExtraOutputs         @0x7f0b3db1a050 = []  (default: [])
 | | |-MonitorService                    = 'MonitorSvc'
+| | |-OutputLevel          @  0x16031d8 = 1  (default: 0)
 | | |-RdoLocation                       = 'StoreGateSvc+CSCRDO'
 | | |=/***** Private AlgTool Muon::CscROD_Decoder/CscRawDataProvider.CSC_RawDataProviderTool.CscROD_Decoder *****
 | | | |-AuditFinalize                  = False
@@ -1300,6 +1624,10 @@ Py:Athena            INFO Print Config
 | | | |-AuditStart                     = False
 | | | |-AuditStop                      = False
 | | | |-AuditTools                     = False
+| | | |-DetStore          @0x7f0b3db16650 = ServiceHandle('StoreGateSvc/DetectorStore')
+| | | |-EvtStore          @0x7f0b3db16690 = ServiceHandle('StoreGateSvc')
+| | | |-ExtraInputs       @0x7f0b3db3be18 = []  (default: [])
+| | | |-ExtraOutputs      @0x7f0b3db3bdd0 = []  (default: [])
 | | | |-IsCosmics                      = False
 | | | |-IsOldCosmics                   = False
 | | | |-MonitorService                 = 'MonitorSvc'
@@ -1318,19 +1646,29 @@ Py:Athena            INFO Print Config
 | |-AuditRestart                            = False
 | |-AuditStart                              = False
 | |-AuditStop                               = False
+| |-Cardinality                             = 1
+| |-DecodingTool               @0x7f0b3e48ed20 = PrivateToolHandle('Muon::RpcRdoToPrepDataTool/RpcRdoToRpcPrepDataTool')
 | |                                            (default: 'Muon::RpcRdoToPrepDataTool/RpcRdoToPrepDataTool')
+| |-DetStore                   @0x7f0b3db45fd0 = ServiceHandle('StoreGateSvc/DetectorStore')
 | |-DoSeededDecoding                        = False
 | |-Enable                                  = True
 | |-ErrorCounter                            = 0
 | |-ErrorMax                                = 1
+| |-EvtStore                   @0x7f0b3db45f50 = ServiceHandle('StoreGateSvc')
+| |-ExtraInputs                @0x7f0b3da4bcf8 = []  (default: [])
+| |-ExtraOutputs               @0x7f0b3da4be60 = []  (default: [])
 | |-FilterCircularDependencies              = True
 | |-IsIOBound                               = False
 | |-MonitorService                          = 'MonitorSvc'
+| |-NeededResources            @0x7f0b3da4bd88 = []  (default: [])
 | |-OutputCollection                        = 'StoreGateSvc+RPC_Measurements'
 | |-OutputLevel                             = 0
 | |-PrintInputRdo                           = False
+| |-PrintPrepData              @0x7f0b415b9b20 = False  (default: False)
+| |-RegionSelectionSvc         @0x7f0b3daaa090 = ServiceHandle('RegSelSvc')
 | |-RegisterForContextService               = False
 | |-RoIs                                    = 'StoreGateSvc+OutputRoIs'
+| |-Timeline                                = True
 | |=/***** Private AlgTool Muon::RpcRdoToPrepDataTool/RpcRdoToRpcPrepData.RpcRdoToRpcPrepDataTool ******
 | | |-AuditFinalize                                   = False
 | | |-AuditInitialize                                 = False
@@ -1340,11 +1678,16 @@ Py:Athena            INFO Print Config
 | | |-AuditStop                                       = False
 | | |-AuditTools                                      = False
 | | |-DecodeData                                      = True
+| | |-DetStore                           @0x7f0b3dac11d0 = ServiceHandle('StoreGateSvc/DetectorStore')
+| | |-EvtStore                           @0x7f0b3dac1250 = ServiceHandle('StoreGateSvc')
+| | |-ExtraInputs                        @0x7f0b3db23830 = []  (default: [])
+| | |-ExtraOutputs                       @0x7f0b3db239e0 = []  (default: [])
 | | |-InputCollection                                 = 'StoreGateSvc+RPC_triggerHits'
 | | |-MonitorService                                  = 'MonitorSvc'
 | | |-OutputCollection                                = 'StoreGateSvc+RPCPAD'
 | | |-OutputLevel                                     = 0
 | | |-RPCInfoFromDb                                   = False
+| | |-RdoDecoderTool                     @0x7f0b3dbad3d0 = PrivateToolHandle('Muon::RpcRDO_Decoder/Muon::RpcRDO_Decoder')
 | | |                                                    (default: 'Muon::RpcRDO_Decoder')
 | | |-TriggerOutputCollection                         = 'StoreGateSvc+RPC_Measurements'
 | | |-etaphi_coincidenceTime                          = 20.0
@@ -1362,6 +1705,10 @@ Py:Athena            INFO Print Config
 | | | |-AuditStart                     = False
 | | | |-AuditStop                      = False
 | | | |-AuditTools                     = False
+| | | |-DetStore          @0x7f0b3dac12d0 = ServiceHandle('StoreGateSvc/DetectorStore')
+| | | |-EvtStore          @0x7f0b3dac1310 = ServiceHandle('StoreGateSvc')
+| | | |-ExtraInputs       @0x7f0b3db23b00 = []  (default: [])
+| | | |-ExtraOutputs      @0x7f0b3db23ab8 = []  (default: [])
 | | | |-MonitorService                 = 'MonitorSvc'
 | | | |-OutputLevel                    = 0
 | | | \----- (End of Private AlgTool Muon::RpcRDO_Decoder/RpcRdoToRpcPrepData.RpcRdoToRpcPrepDataTool.Muon::RpcRDO_Decoder) -----
@@ -1378,20 +1725,30 @@ Py:Athena            INFO Print Config
 | |-AuditRestart                            = False
 | |-AuditStart                              = False
 | |-AuditStop                               = False
+| |-Cardinality                             = 1
+| |-DecodingTool               @0x7f0b3dac9050 = PrivateToolHandle('Muon::TgcRdoToPrepDataTool/TgcRdoToTgcPrepDataTool')
 | |                                            (default: 'Muon::TgcRdoToPrepDataTool/TgcPrepDataProviderTool')
+| |-DetStore                   @0x7f0b3da9eed0 = ServiceHandle('StoreGateSvc/DetectorStore')
 | |-DoSeededDecoding                        = False
 | |-Enable                                  = True
 | |-ErrorCounter                            = 0
 | |-ErrorMax                                = 1
+| |-EvtStore                   @0x7f0b3da9ee50 = ServiceHandle('StoreGateSvc')
+| |-ExtraInputs                @0x7f0b3da4bdd0 = []  (default: [])
+| |-ExtraOutputs               @0x7f0b3da4bea8 = []  (default: [])
 | |-FilterCircularDependencies              = True
 | |-IsIOBound                               = False
 | |-MonitorService                          = 'MonitorSvc'
+| |-NeededResources            @0x7f0b3da4bef0 = []  (default: [])
 | |-OutputCollection                        = 'StoreGateSvc+TGC_Measurements'
 | |-OutputLevel                             = 0
 | |-PrintInputRdo                           = False
+| |-PrintPrepData              @0x7f0b415b9b20 = False  (default: False)
+| |-RegionSelectorSvc          @0x7f0b3da9ef50 = ServiceHandle('RegSelSvc')
 | |-RegisterForContextService               = False
 | |-RoIs                                    = 'StoreGateSvc+OutputRoIs'
 | |-Setting                                 = 0
+| |-Timeline                                = True
 | |=/***** Private AlgTool Muon::TgcRdoToPrepDataTool/TgcRdoToTgcPrepData.TgcRdoToTgcPrepDataTool ******
 | | |-AuditFinalize                                        = False
 | | |-AuditInitialize                                      = False
@@ -1401,6 +1758,10 @@ Py:Athena            INFO Print Config
 | | |-AuditStop                                            = False
 | | |-AuditTools                                           = False
 | | |-DecodeData                                           = True
+| | |-DetStore                                @0x7f0b3dac1450 = ServiceHandle('StoreGateSvc/DetectorStore')
+| | |-EvtStore                                @0x7f0b3dac1510 = ServiceHandle('StoreGateSvc')
+| | |-ExtraInputs                             @0x7f0b3dac8638 = []  (default: [])
+| | |-ExtraOutputs                            @0x7f0b3dac85f0 = []  (default: [])
 | | |-FillCoinData                                         = True
 | | |-MonitorService                                       = 'MonitorSvc'
 | | |-OutputCoinCollection                                 = 'TrigT1CoinDataCollection'
@@ -1409,7 +1770,9 @@ Py:Athena            INFO Print Config
 | | |-RDOContainer                                         = 'StoreGateSvc+TGCRDO'
 | | |-TGCHashIdOffset                                      = 26000
 | | |-dropPrdsWithZeroWidth                                = True
+| | |-outputCoinKey                           @0x7f0b3dac8050 = ['StoreGateSvc+dummy', 'StoreGateSvc+dummy', 'StoreGateSvc+dummy']
 | | |                                                         (default: ['StoreGateSvc+dummy', 'StoreGateSvc+dummy', 'StoreGateSvc+dummy'])
+| | |-prepDataKeys                            @0x7f0b3dac86c8 = ['StoreGateSvc+dummy', 'StoreGateSvc+dummy', 'StoreGateSvc+dummy', 'StoreGateSvc+dummy']
 | | |                                                         (default: ['StoreGateSvc+dummy', 'StoreGateSvc+dummy', 'StoreGateSvc+dummy', 'StoreGateSvc+dummy'])
 | | |-show_warning_level_invalid_A09_SSW6_hit              = False
 | | \----- (End of Private AlgTool Muon::TgcRdoToPrepDataTool/TgcRdoToTgcPrepData.TgcRdoToTgcPrepDataTool) -----
@@ -1425,19 +1788,29 @@ Py:Athena            INFO Print Config
 | |-AuditRestart                            = False
 | |-AuditStart                              = False
 | |-AuditStop                               = False
+| |-Cardinality                             = 1
+| |-DecodingTool               @0x7f0b416bb9f0 = PrivateToolHandle('Muon::MdtRdoToPrepDataTool/MdtRdoToMdtPrepDataTool')
 | |                                            (default: 'Muon::MdtRdoToPrepDataTool/MdtPrepDataProviderTool')
+| |-DetStore                   @0x7f0b3db32e90 = ServiceHandle('StoreGateSvc/DetectorStore')
 | |-DoSeededDecoding                        = False
 | |-Enable                                  = True
 | |-ErrorCounter                            = 0
 | |-ErrorMax                                = 1
+| |-EvtStore                   @0x7f0b3db32e10 = ServiceHandle('StoreGateSvc')
+| |-ExtraInputs                @0x7f0b3dae60e0 = []  (default: [])
+| |-ExtraOutputs               @0x7f0b3da4bfc8 = []  (default: [])
 | |-FilterCircularDependencies              = True
 | |-IsIOBound                               = False
 | |-MonitorService                          = 'MonitorSvc'
+| |-NeededResources            @0x7f0b3da4be18 = []  (default: [])
 | |-OutputCollection                        = 'StoreGateSvc+MDT_DriftCircles'
 | |-OutputLevel                             = 0
 | |-PrintInputRdo                           = False
+| |-PrintPrepData              @0x7f0b415b9b20 = False  (default: False)
+| |-RegionSelectionSvc         @0x7f0b3db32f10 = ServiceHandle('RegSelSvc')
 | |-RegisterForContextService               = False
 | |-RoIs                                    = 'StoreGateSvc+OutputRoIs'
+| |-Timeline                                = True
 | |=/***** Private AlgTool Muon::MdtRdoToPrepDataTool/MdtRdoToMdtPrepData.MdtRdoToMdtPrepDataTool ******
 | | |-AuditFinalize                        = False
 | | |-AuditInitialize                      = False
@@ -1448,9 +1821,13 @@ Py:Athena            INFO Print Config
 | | |-AuditTools                           = False
 | | |-CalibratePrepData                    = True
 | | |-DecodeData                           = True
+| | |-DetStore                @0x7f0b3dac1650 = ServiceHandle('StoreGateSvc/DetectorStore')
 | | |-DiscardSecondaryHitTwin              = False
 | | |-DoPropagationCorrection              = False
 | | |-DoTofCorrection                      = True
+| | |-EvtStore                @0x7f0b3dac1610 = ServiceHandle('StoreGateSvc')
+| | |-ExtraInputs             @0x7f0b3dad20e0 = []  (default: [])
+| | |-ExtraOutputs            @0x7f0b3dad0f38 = []  (default: [])
 | | |-MonitorService                       = 'MonitorSvc'
 | | |-OutputCollection                     = 'StoreGateSvc+MDT_DriftCircles'
 | | |-OutputLevel                          = 0
@@ -1477,19 +1854,29 @@ Py:Athena            INFO Print Config
 | |-AuditRestart                            = False
 | |-AuditStart                              = False
 | |-AuditStop                               = False
+| |-Cardinality                             = 1
+| |-CscRdoToCscPrepDataTool    @0x7f0b3df7f950 = PrivateToolHandle('Muon::CscRdoToCscPrepDataTool/CscRdoToCscPrepDataTool')
 | |                                            (default: 'Muon::CscRdoToCscPrepDataTool/CscRdoToPrepDataTool')
+| |-DetStore                   @0x7f0b3db16c90 = ServiceHandle('StoreGateSvc/DetectorStore')
 | |-DoSeededDecoding                        = False
 | |-Enable                                  = True
 | |-ErrorCounter                            = 0
 | |-ErrorMax                                = 1
+| |-EvtStore                   @0x7f0b3db16c10 = ServiceHandle('StoreGateSvc')
+| |-ExtraInputs                @0x7f0b3dae61b8 = []  (default: [])
+| |-ExtraOutputs               @0x7f0b3da4bf38 = []  (default: [])
 | |-FilterCircularDependencies              = True
 | |-IsIOBound                               = False
 | |-MonitorService                          = 'MonitorSvc'
+| |-NeededResources            @0x7f0b3dae6128 = []  (default: [])
 | |-OutputCollection                        = 'StoreGateSvc+CSC_Measurements'
 | |-OutputLevel                             = 0
 | |-PrintInputRdo                           = False
+| |-PrintPrepData              @0x7f0b415b9b20 = False  (default: False)
+| |-RegionSelectionSvc         @0x7f0b3db16d10 = ServiceHandle('RegSelSvc')
 | |-RegisterForContextService               = False
 | |-RoIs                                    = 'StoreGateSvc+OutputRoIs'
+| |-Timeline                                = True
 | |=/***** Private AlgTool Muon::CscRdoToCscPrepDataTool/CscRdoToCscPrepData.CscRdoToCscPrepDataTool *****
 | | |-AuditFinalize                    = False
 | | |-AuditInitialize                  = False
@@ -1499,11 +1886,19 @@ Py:Athena            INFO Print Config
 | | |-AuditStop                        = False
 | | |-AuditTools                       = False
 | | |-CSCHashIdOffset                  = 22000
+| | |-CscCalibTool        @0x7f0b4167c860 = PrivateToolHandle('CscCalibTool/CscCalibTool')
+| | |-CscRdoDecoderTool   @0x7f0b3dac6878 = PrivateToolHandle('Muon::CscRDO_Decoder/CscRDO_Decoder')
 | | |-DecodeData                       = True
+| | |-DetStore            @0x7f0b3dac1990 = ServiceHandle('StoreGateSvc/DetectorStore')
+| | |-EvtStore            @0x7f0b3dac1a90 = ServiceHandle('StoreGateSvc')
+| | |-ExtraInputs         @0x7f0b3dad7290 = []  (default: [])
+| | |-ExtraOutputs        @0x7f0b3dad7128 = []  (default: [])
 | | |-MonitorService                   = 'MonitorSvc'
 | | |-OutputCollection                 = 'StoreGateSvc+CSC_Measurements'
 | | |-OutputLevel                      = 0
 | | |-RDOContainer                     = 'StoreGateSvc+CSCRDO'
+| | |-RawDataProviderTool @0x7f0b3e575af8 = PrivateToolHandle('Muon::CSC_RawDataProviderTool/CSC_RawDataProviderTool')
+| | |-useBStoRdoTool      @0x7f0b415b9b00 = True  (default: False)
 | | |=/***** Private AlgTool Muon::CSC_RawDataProviderTool/CscRdoToCscPrepData.CscRdoToCscPrepDataTool.CSC_RawDataProviderTool *****
 | | | |-AuditFinalize                     = False
 | | | |-AuditInitialize                   = False
@@ -1513,6 +1908,11 @@ Py:Athena            INFO Print Config
 | | | |-AuditStop                         = False
 | | | |-AuditTools                        = False
 | | | |-CscContainerCacheKey              = 'StoreGateSvc+'
+| | | |-Decoder              @0x7f0b3dff3230 = PrivateToolHandle('Muon::CscROD_Decoder/CscROD_Decoder')
+| | | |-DetStore             @0x7f0b3dac1b90 = ServiceHandle('StoreGateSvc/DetectorStore')
+| | | |-EvtStore             @0x7f0b3dac1bd0 = ServiceHandle('StoreGateSvc')
+| | | |-ExtraInputs          @0x7f0b3e031bd8 = []  (default: [])
+| | | |-ExtraOutputs         @0x7f0b3dbb4bd8 = []  (default: [])
 | | | |-MonitorService                    = 'MonitorSvc'
 | | | |-OutputLevel                       = 0
 | | | |-RdoLocation                       = 'StoreGateSvc+CSCRDO'
@@ -1524,6 +1924,10 @@ Py:Athena            INFO Print Config
 | | | | |-AuditStart                     = False
 | | | | |-AuditStop                      = False
 | | | | |-AuditTools                     = False
+| | | | |-DetStore          @0x7f0b3dac1c10 = ServiceHandle('StoreGateSvc/DetectorStore')
+| | | | |-EvtStore          @0x7f0b3dac1c90 = ServiceHandle('StoreGateSvc')
+| | | | |-ExtraInputs       @0x7f0b3e0317a0 = []  (default: [])
+| | | | |-ExtraOutputs      @0x7f0b3e0315a8 = []  (default: [])
 | | | | |-IsCosmics                      = False
 | | | | |-IsOldCosmics                   = False
 | | | | |-MonitorService                 = 'MonitorSvc'
@@ -1538,6 +1942,10 @@ Py:Athena            INFO Print Config
 | | | |-AuditStart                      = False
 | | | |-AuditStop                       = False
 | | | |-AuditTools                      = False
+| | | |-DetStore           @0x7f0b3dac1ad0 = ServiceHandle('StoreGateSvc/DetectorStore')
+| | | |-EvtStore           @0x7f0b3dac1b10 = ServiceHandle('StoreGateSvc')
+| | | |-ExtraInputs        @0x7f0b3dad21b8 = []  (default: [])
+| | | |-ExtraOutputs       @0x7f0b3dad2170 = []  (default: [])
 | | | |-IsOnline                        = True
 | | | |-Latency                         = 100.0
 | | | |-MonitorService                  = 'MonitorSvc'
@@ -1564,6 +1972,11 @@ Py:Athena            INFO Print Config
 | | | |-AuditStart                     = False
 | | | |-AuditStop                      = False
 | | | |-AuditTools                     = False
+| | | |-CscCalibTool      @0x7f0b3dac1a10 = PublicToolHandle('CscCalibTool')
+| | | |-DetStore          @0x7f0b3dac19d0 = ServiceHandle('StoreGateSvc/DetectorStore')
+| | | |-EvtStore          @0x7f0b3dac1a50 = ServiceHandle('StoreGateSvc')
+| | | |-ExtraInputs       @0x7f0b3dad24d0 = []  (default: [])
+| | | |-ExtraOutputs      @0x7f0b3dad2b00 = []  (default: [])
 | | | |-MonitorService                 = 'MonitorSvc'
 | | | |-OutputLevel                    = 0
 | | | \----- (End of Private AlgTool Muon::CscRDO_Decoder/CscRdoToCscPrepData.CscRdoToCscPrepDataTool.CscRDO_Decoder) -----
@@ -1580,30 +1993,83 @@ Py:Athena            INFO Print Config
 | |-AuditRestart                            = False
 | |-AuditStart                              = False
 | |-AuditStop                               = False
+| |-Cardinality                             = 1
+| |-DetStore                   @0x7f0b3dafef90 = ServiceHandle('StoreGateSvc/DetectorStore')
 | |-Enable                                  = True
 | |-ErrorCounter                            = 0
 | |-ErrorMax                                = 1
+| |-EvtStore                   @0x7f0b3dafef10 = ServiceHandle('StoreGateSvc')
+| |-ExtraInputs                @0x7f0b3dae6170 = []  (default: [])
+| |-ExtraOutputs               @0x7f0b3dae6320 = []  (default: [])
 | |-FilterCircularDependencies              = True
 | |-IsIOBound                               = False
 | |-MonitorService                          = 'MonitorSvc'
+| |-NeededResources            @0x7f0b3dae62d8 = []  (default: [])
 | |-OutputLevel                             = 0
 | |-RegisterForContextService               = False
+| |-Timeline                                = True
+| |-cluster_builder            @0x7f0b3da46910 = PublicToolHandle('CscThresholdClusterBuilderTool/CscThesholdClusterBuilderTool')
 | |                                            (default: 'CscThresholdClusterBuilderTool/CscThresholdClusterBuilderTool')
 | \----- (End of Algorithm CscThresholdClusterBuilder/CscThesholdClusterBuilder) ---------------------
 \----- (End of Algorithm AthSequencer/AthAlgSeq) ---------------------------------------------------
+Py:ComponentAccumulator    INFO Condition Algorithms
+Py:ComponentAccumulator    INFO ['CondInputLoader', 'MuonMDT_CablingAlg']
+Py:ComponentAccumulator    INFO Services
+Py:ComponentAccumulator    INFO ['EventSelector', 'ByteStreamInputSvc', 'EventPersistencySvc', 'ByteStreamCnvSvc', 'ROBDataProviderSvc', 'ByteStreamAddressProviderSvc', 'MetaDataStore', 'InputMetaDataStore', 'MetaDataSvc', 'ProxyProviderSvc', 'ByteStreamAttListMetadataSvc', 'GeoModelSvc', 'DetDescrCnvSvc', 'TagInfoMgr', 'RPCcablingServerSvc', 'IOVDbSvc', 'PoolSvc', 'CondSvc', 'DBReplicaSvc', 'MuonRPC_CablingSvc', 'LVL1TGC::TGCRecRoiSvc', 'TGCcablingServerSvc', 'AthenaPoolCnvSvc', 'MuonMDT_CablingSvc', 'AtlasFieldSvc', 'MdtCalibrationDbSvc', 'MdtCalibrationSvc', 'CSCcablingSvc', 'MuonCalib::CscCoolStrSvc']
+Py:ComponentAccumulator    INFO Outputs
+Py:ComponentAccumulator    INFO {}
+Py:ComponentAccumulator    INFO Public Tools
+Py:ComponentAccumulator    INFO [
+Py:ComponentAccumulator    INFO   IOVDbMetaDataTool/IOVDbMetaDataTool,
+Py:ComponentAccumulator    INFO   ByteStreamMetadataTool/ByteStreamMetadataTool,
+Py:ComponentAccumulator    INFO   Muon::MuonIdHelperTool/Muon::MuonIdHelperTool,
+Py:ComponentAccumulator    INFO   RPCCablingDbTool/RPCCablingDbTool,
+Py:ComponentAccumulator    INFO   Muon::RPC_RawDataProviderTool/RPC_RawDataProviderTool,
+Py:ComponentAccumulator    INFO   Muon::TGC_RawDataProviderTool/TGC_RawDataProviderTool,
+Py:ComponentAccumulator    INFO   MDTCablingDbTool/MDTCablingDbTool,
+Py:ComponentAccumulator    INFO   MuonCalib::MdtCalibDbCoolStrTool/MuonCalib::MdtCalibDbCoolStrTool,
+Py:ComponentAccumulator    INFO   Muon::MDT_RawDataProviderTool/MDT_RawDataProviderTool,
+Py:ComponentAccumulator    INFO   Muon::CSC_RawDataProviderTool/CSC_RawDataProviderTool,
+Py:ComponentAccumulator    INFO   Muon::RpcRdoToPrepDataTool/RpcRdoToRpcPrepDataTool,
+Py:ComponentAccumulator    INFO   Muon::TgcRdoToPrepDataTool/TgcRdoToTgcPrepDataTool,
+Py:ComponentAccumulator    INFO   Muon::MdtRdoToPrepDataTool/MdtRdoToMdtPrepDataTool,
+Py:ComponentAccumulator    INFO   Muon::CscRdoToCscPrepDataTool/CscRdoToCscPrepDataTool,
+Py:ComponentAccumulator    INFO   CscThresholdClusterBuilderTool/CscThesholdClusterBuilderTool,
+Py:ComponentAccumulator    INFO ]
 Py:Athena            INFO Save Config
 
 JOs reading stage finished, launching Athena from pickle file
 
+Fri Jan 25 22:53:54 CET 2019
+Preloading tcmalloc_minimal.so
+Py:Athena            INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc8-opt] [atlas-work3/5f61275c16] -- built on [2019-01-25T1856]
+Py:Athena            INFO including file "AthenaCommon/Preparation.py"
+Py:Athena            INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
 Py:Athena            INFO executing ROOT6Setup
 Py:Athena            INFO configuring AthenaHive with [1] concurrent threads and [1] concurrent events
 Py:AlgScheduler      INFO setting up AvalancheSchedulerSvc/AvalancheSchedulerSvc with 1 threads
-Py:Athena            INFO now loading MuonRdoDecode.pkl  ... 
+Py:Athena            INFO including file "AthenaCommon/Execution.py"
+Py:Athena            INFO now loading MuonRdoDecode_Cache.pkl  ... 
+Py:ConfigurableDb    INFO Read module info for 5454 configurables from 75 genConfDb files
+Py:ConfigurableDb    INFO No duplicates have been found: that's good !
+[?1034hApplicationMgr       INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0
+ApplicationMgr    SUCCESS 
+====================================================================================================================================
+                                                   Welcome to ApplicationMgr (GaudiCoreSvc v30r5)
+                                          running on lxplus063.cern.ch on Fri Jan 25 22:54:21 2019
+====================================================================================================================================
+ApplicationMgr       INFO Successfully loaded modules : AthenaServices
 ApplicationMgr       INFO Application Manager Configured successfully
+ApplicationMgr                                     INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0
+Py:Athena            INFO including file "AthenaCommon/runbatch.py"
+StatusCodeSvc        INFO initialize
 AthDictLoaderSvc     INFO in initialize...
 AthDictLoaderSvc     INFO acquired Dso-registry
+ClassIDSvc           INFO  getRegistryEntries: read 3320 CLIDRegistry entries for module ALL
 CoreDumpSvc          INFO install f-a-t-a-l handler... (flag = -1)
 CoreDumpSvc          INFO Handling signals: 11(Segmentation fault) 7(Bus error) 4(Illegal instruction) 8(Floating point exception) 
+ByteStreamAddre...   INFO Initializing ByteStreamAddressProviderSvc - package version ByteStreamCnvSvcBase-00-00-00
+ROBDataProviderSvc   INFO Initializing ROBDataProviderSvc - package version ByteStreamCnvSvcBase-00-00-00
 ROBDataProviderSvc   INFO  ---> Filter out empty ROB fragments                               =  'filterEmptyROB':False
 ROBDataProviderSvc   INFO  ---> Filter out specific ROBs by Status Code: # ROBs = 0
 ROBDataProviderSvc   INFO  ---> Filter out Sub Detector ROBs by Status Code: # Sub Detectors = 0
@@ -1618,6 +2084,10 @@ ByteStreamAddre...   INFO -- Will fill Store with id =  0
 PoolSvc              INFO io_register[PoolSvc](xmlcatalog_file:PoolFileCatalog.xml) [ok]
 PoolSvc              INFO Set connectionsvc retry/timeout/IDLE timeout to  'ConnectionRetrialPeriod':300/ 'ConnectionRetrialTimeOut':3600/ 'ConnectionTimeOut':5 seconds with connection cleanup disabled
 PoolSvc              INFO Frontier compression level set to 5
+DBReplicaSvc         INFO Frontier server at (serverurl=http://atlasfrontier-local.cern.ch:8000/atlr)(serverurl=http://atlasfrontier-ai.cern.ch:8000/atlr)(serverurl=http://lcgft-atlas.gridpp.rl.ac.uk:3128/frontierATLAS)(serverurl=http://ccfrontier.in2p3.fr:23128/ccin2p3-AtlasFrontier)(proxyurl=http://ca-proxy.cern.ch:3128)(proxyurl=http://ca-proxy-meyrin.cern.ch:3128)(proxyurl=http://ca-proxy-wigner.cern.ch:3128)(proxyurl=http://atlasbpfrontier.cern.ch:3127)(proxyurl=http://atlasbpfrontier.fnal.gov:3127) will be considered for COOL data
+DBReplicaSvc         INFO Read replica configuration from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-01-24T2342/Athena/22.0.1/InstallArea/x86_64-slc6-gcc8-opt/share/dbreplica.config
+DBReplicaSvc         INFO Total of 10 servers found for host lxplus063.cern.ch [ATLF ATLAS_COOLPROD atlas_dd ATLAS_CONFIG INT8R INTR ATONR_COOL ATONR_CONF DEVDB11 ATLF ]
+DBReplicaSvc         INFO COOL SQLite replicas will be excluded if matching pattern /DBRelease/
 PoolSvc              INFO Successfully setup replica sorting algorithm
 PoolSvc              INFO Setting up APR FileCatalog and Streams
 PoolSvc              INFO Resolved path (via ATLAS_POOLCOND_PATH) is /cvmfs/atlas-condb.cern.ch/repo/conditions/poolcond/PoolFileCatalog.xml
@@ -1626,13 +2096,26 @@ PoolSvc           WARNING Unable to locate catalog for apcfile:poolcond/PoolCat_
 PoolSvc           WARNING Unable to locate catalog for prfile:poolcond/PoolCat_comcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables
 PoolSvc           WARNING Unable to locate catalog for apcfile:poolcond/PoolCat_comcond.xml check your ATLAS_POOLCOND_PATH and DATAPATH variables
 PoolSvc              INFO POOL WriteCatalog is xmlcatalog_file:PoolFileCatalog.xml
+DbSession            INFO     Open     DbSession    
+Domain[ROOT_All]     INFO >   Access   DbDomain     READ      [ROOT_All] 
 IOVDbSvc             INFO Opened read transaction for POOL PersistencySvc
 IOVDbSvc             INFO Only 5 POOL conditions files will be open at once
+IOVDbSvc             INFO Cache alignment will be done in 3 slices
 IOVDbSvc             INFO Global tag: CONDBR2-BLKPA-2018-13 set from joboptions
 IOVDbFolder          INFO Inputfile tag override disabled for /GLOBAL/BField/Maps
+IOVDbSvc             INFO Folder /GLOBAL/BField/Maps will be written to file metadata
 IOVDbSvc             INFO Initialised with 8 connections and 19 folders
 IOVDbSvc             INFO Service IOVDbSvc initialised successfully
+MetaDataSvc          INFO Initializing MetaDataSvc - package version AthenaServices-00-00-00
+AthenaPoolCnvSvc     INFO Initializing AthenaPoolCnvSvc - package version AthenaPoolCnvSvc-00-00-00
+ToolSvc.ByteStr...   INFO Initializing ToolSvc.ByteStreamMetadataTool - package version ByteStreamCnvSvc-00-00-00
+MetaDataSvc          INFO Found MetaDataTools = PublicToolHandleArray(['IOVDbMetaDataTool/IOVDbMetaDataTool','ByteStreamMetadataTool/ByteStreamMetadataTool'])
 IOVDbSvc             INFO Opening COOL connection for COOLONL_MDT/CONDBR2
+ClassIDSvc           INFO  getRegistryEntries: read 3288 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 163 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 4096 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 129 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 3031 CLIDRegistry entries for module ALL
 IOVSvc               INFO No IOVSvcTool associated with store "StoreGateSvc"
 IOVSvcTool           INFO IOVRanges will be checked at every Event
 IOVDbSvc             INFO Opening COOL connection for COOLONL_RPC/CONDBR2
@@ -1713,6 +2196,10 @@ GeoModelSvc::RD...WARNING  Getting PixTBMatComponents with default tag
 GeoModelSvc::RD...WARNING  Getting PixTBMaterials with default tag
 GeoModelSvc::RD...WARNING  Getting InDetMatComponents with default tag
 GeoModelSvc::RD...WARNING  Getting InDetMaterials with default tag
+GeoModelSvc.Muo...   INFO create MuonDetectorTool - package version = MuonGeoModel-00-00-00
+GeoModelSvc.Muo...   INFO (from GeoModelSvc)    AtlasVersion = <ATLAS-R2-2016-01-00-01>  MuonVersion = <>
+GeoModelSvc.Muo...   INFO Keys for Muon Switches are  (key) ATLAS-R2-2016-01-00-01 (node) ATLAS
+GeoModelSvc.Muo...   INFO (from GeoModelSvc) in AtlasVersion = <ATLAS-R2-2016-01-00-01>  default MuonVersion is <MuonSpectrometer-R.08.01>
 GeoModelSvc.Muo...   INFO Properties have been set as follows: 
 GeoModelSvc.Muo...   INFO     LayoutName                     R
 GeoModelSvc.Muo...   INFO     IncludeCutouts                 0
@@ -1827,6 +2314,7 @@ AtlasDetectorID::initLevelsFromDict - there are no MM entries in the dictionary!
 MuGM:MuonFactory     INFO MMIDHELPER retrieved from DetStore
 MuGM:MuonFactory     INFO  **************** MuonDetectorFactory001 ************************
 MuGM:MuonFactory     INFO  *** Start building the Muon Geometry Tree **********************
+MuGM:RDBReadAtlas    INFO Start retriving dbObjects with tag = <ATLAS-R2-2016-01-00-01> node <ATLAS>
 RDBAccessSvc      WARNING Could not get the tag for XtomoData node. Returning 0 pointer to IRDBQuery
 MuGM:RDBReadAtlas    INFO After getQuery XtomoData
 In DblQ00Xtomo(data)
@@ -1856,6 +2344,7 @@ MuGM:ProcCutouts     INFO  Processing Cutouts DONE
 MuGM:RDBReadAtlas    INFO  ProcessTGCreadout - version 7 wirespacing 1.8
 MuGM:RDBReadAtlas    INFO Intermediate Objects built from primary numbers
 MuGM:MuonFactory     INFO  theMaterialManager retrieven successfully from the DetStore
+MuGM:MuonFactory     INFO MuonSystem description from OracleTag=<ATLAS-R2-2016-01-00-01> and node=<ATLAS>
 MuGM:MuonFactory     INFO  TreeTop added to the Manager
 MuGM:MuonFactory     INFO  Muon Layout R.08.01
 MuGM:MuonFactory     INFO Fine Clash Fixing disabled: (should be ON/OFF for Simulation/Reconstruction)
@@ -1879,9 +2368,13 @@ MuGM:MuonFactory     INFO  *****************************************************
 
 MGM::MuonDetect...   INFO Init A/B Line Containers - done - size is respectively 1758/0
 MGM::MuonDetect...   INFO No Aline for CSC wire layers loaded 
+GeoModelSvc          INFO GeoModelSvc.MuonDetectorTool	 SZ= 44884Kb 	 Time = 0.83S
 GeoModelSvc.Muo...   INFO CondAttrListCollection not found in the DetectorStore
 GeoModelSvc.Muo...   INFO Unable to register callback on CondAttrListCollection for any folder in the list 
 GeoModelSvc.Muo...   INFO This is OK unless you expect to read alignment and deformations from COOL 
+ClassIDSvc           INFO  getRegistryEntries: read 1455 CLIDRegistry entries for module ALL
+AthenaEventLoopMgr   INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00
+ClassIDSvc           INFO  getRegistryEntries: read 1794 CLIDRegistry entries for module ALL
 CondInputLoader      INFO Initializing CondInputLoader...
 CondInputLoader      INFO Adding base classes:
   +  ( 'CondAttrListCollection' , 'ConditionStore+/EXT/DCS/MAGNETS/SENSORDATA' )   ->
@@ -1891,12 +2384,17 @@ CondInputLoader      INFO Will create WriteCondHandle dependencies for the follo
     +  ( 'CondAttrListCollection' , 'ConditionStore+/EXT/DCS/MAGNETS/SENSORDATA' ) 
     +  ( 'CondAttrListCollection' , 'ConditionStore+/MDT/CABLING/MAP_SCHEMA' ) 
     +  ( 'CondAttrListCollection' , 'ConditionStore+/MDT/CABLING/MEZZANINE_SCHEMA' ) 
+ClassIDSvc           INFO  getRegistryEntries: read 1370 CLIDRegistry entries for module ALL
+ClassIDSvc           INFO  getRegistryEntries: read 743 CLIDRegistry entries for module ALL
 RpcRawDataProvider   INFO RpcRawDataProvider::initialize
 RpcRawDataProvider   INFO  'DoSeededDecoding':False
+ClassIDSvc           INFO  getRegistryEntries: read 1699 CLIDRegistry entries for module ALL
+MuonRPC_CablingSvc   INFO Initializing MuonRPC_CablingSvc - package version MuonRPC_Cabling-00-00-00
 ToolSvc.RPCCabl...   INFO Initializing - folders names are: conf /RPC/CABLING/MAP_SCHEMA / corr /RPC/CABLING/MAP_SCHEMA_CORR
 MuonRPC_CablingSvc   INFO RPCCablingDbTool retrieved with statusCode = SUCCESS with handle TheRpcCablingDbTool = PublicToolHandle('RPCCablingDbTool/RPCCablingDbTool')
 MuonRPC_CablingSvc   INFO Register call-back  against 2 folders listed below 
 MuonRPC_CablingSvc   INFO  Folder n. 1 </RPC/CABLING/MAP_SCHEMA>     found in the DetStore
+ClassIDSvc           INFO  getRegistryEntries: read 501 CLIDRegistry entries for module ALL
 MuonRPC_CablingSvc   INFO initMappingModel registered for call-back against folder </RPC/CABLING/MAP_SCHEMA>
 MuonRPC_CablingSvc   INFO  Folder n. 2 </RPC/CABLING/MAP_SCHEMA_CORR>     found in the DetStore
 MuonRPC_CablingSvc   INFO initMappingModel registered for call-back against folder </RPC/CABLING/MAP_SCHEMA_CORR>
@@ -1911,19 +2409,25 @@ RpcRawDataProvi...   INFO Retrieved service ServiceHandle('ROBDataProviderSvc')
 RpcRawDataProvi...   INFO  Tool = RpcRawDataProvider.RPC_RawDataProviderTool is connected to JobOptionsSvc Service = JobOptionsSvc
 RpcRawDataProvi...   INFO initialize() successful in RpcRawDataProvider.RPC_RawDataProviderTool
 TgcRawDataProvider   INFO TgcRawDataProvider::initialize
+ClassIDSvc           INFO  getRegistryEntries: read 878 CLIDRegistry entries for module ALL
 TgcRawDataProvi...   INFO initialize() successful in TgcRawDataProvider.TGC_RawDataProviderTool.TgcROD_Decoder
 TgcRawDataProvi...   INFO Retrieved tool Decoder = PrivateToolHandle('Muon::TGC_RodDecoderReadout/TgcROD_Decoder')
 TgcRawDataProvi...   INFO Retrieved service ServiceHandle('ROBDataProviderSvc')
 TgcRawDataProvi...   INFO  Tool = TgcRawDataProvider.TGC_RawDataProviderTool is connected to JobOptionsSvc Service = JobOptionsSvc
 MuonTGC_CablingSvc   INFO for 1/12 sector initialize
 ToolSvc.TGCCabl...   INFO initialize
+ClassIDSvc           INFO  getRegistryEntries: read 273 CLIDRegistry entries for module ALL
+IOVSvcTool           INFO Still in initialize phase, not tiggering callback for MuonTGC_CablingSvc[0x260c0100]+219 bound to CondAttrListCollection[/TGC/CABLING/MAP_SCHEMA]
 TgcRawDataProvi...   INFO initialize() successful in TgcRawDataProvider.TGC_RawDataProviderTool
 MdtRawDataProvider   INFO MdtRawDataProvider::initialize
+ClassIDSvc           INFO  getRegistryEntries: read 922 CLIDRegistry entries for module ALL
+MdtRawDataProvi...  DEBUG Property update for OutputLevel : new value = 1
 MdtRawDataProvi...VERBOSE Starting init
 MdtRawDataProvi...VERBOSE Getting m_robDataProvider
 MdtRawDataProvi...   INFO Retrieved service ServiceHandle('ROBDataProviderSvc')
 MdtRawDataProvi...VERBOSE Getting MuonDetectorManager
 MdtRawDataProvi...VERBOSE Getting m_decoder
+MdtRawDataProvi...  DEBUG Property update for OutputLevel : new value = 1
 MdtRawDataProvi...   INFO Processing configuration for layouts with BME chambers.
 MdtRawDataProvi...   INFO Processing configuration for layouts with BMG chambers.
 MdtRawDataProvi...   INFO Retrieved tool Decoder = PrivateToolHandle('MdtROD_Decoder/MdtROD_Decoder')
@@ -1931,16 +2435,21 @@ MdtRawDataProvi...   INFO  Tool = MdtRawDataProvider.MDT_RawDataProviderTool is
 MdtRawDataProvi...  DEBUG Could not find TrigConf::HLTJobOptionsSvc
 MdtRawDataProvi...   INFO initialize() successful in MdtRawDataProvider.MDT_RawDataProviderTool
 MdtRawDataProvi...  DEBUG Adding private ToolHandle tool MdtRawDataProvider.MDT_RawDataProviderTool.MdtROD_Decoder (MdtROD_Decoder)
+ClassIDSvc           INFO  getRegistryEntries: read 660 CLIDRegistry entries for module ALL
+CscRawDataProvi...  DEBUG Property update for OutputLevel : new value = 1
 CscRawDataProvi...VERBOSE ServiceLocatorHelper::service: found service ActiveStoreSvc
 CscRawDataProvi...   INFO Retrieved service ServiceHandle('ROBDataProviderSvc')
 CscRawDataProvi...VERBOSE ServiceLocatorHelper::service: found service JobOptionsSvc
 CscRawDataProvi...   INFO  Tool = CscRawDataProvider.CSC_RawDataProviderTool is connected to JobOptionsSvc Service = JobOptionsSvc
 CscRawDataProvi...  DEBUG Could not find TrigConf::HLTJobOptionsSvc
+CscRawDataProvi...  DEBUG Property update for OutputLevel : new value = 1
 CscRawDataProvi...  DEBUG  Found the CscIdHelper. 
 CscRawDataProvi...   INFO Retrieved tool Decoder = PrivateToolHandle('Muon::CscROD_Decoder/CscROD_Decoder')
 CscRawDataProvi...   INFO The Muon Geometry version is R.08.01
 CscRawDataProvi...   INFO initialize() successful in CscRawDataProvider.CSC_RawDataProviderTool
 CscRawDataProvi...  DEBUG Adding private ToolHandle tool CscRawDataProvider.CSC_RawDataProviderTool.CscROD_Decoder (Muon::CscROD_Decoder)
+ClassIDSvc           INFO  getRegistryEntries: read 53 CLIDRegistry entries for module ALL
+RpcRdoToRpcPrep...   INFO package version = MuonRPC_CnvTools-00-00-00
 RpcRdoToRpcPrep...   INFO properties are 
 RpcRdoToRpcPrep...   INFO processingData                     0
 RpcRdoToRpcPrep...   INFO produceRpcCoinDatafromTriggerWords 1
@@ -1955,14 +2464,17 @@ RpcRdoToRpcPrep...   INFO Retrieved DecodingTool = PrivateToolHandle('Muon::RpcR
 TgcRdoToTgcPrep...   INFO initialize() successful in TgcRdoToTgcPrepData.TgcRdoToTgcPrepDataTool
 TgcRdoToTgcPrep...   INFO Retrieved DecodingTool = PrivateToolHandle('Muon::TgcRdoToPrepDataTool/TgcRdoToTgcPrepDataTool')
 MdtCalibrationSvc    INFO Processing configuration for layouts with BMG chambers.
+ClassIDSvc           INFO  getRegistryEntries: read 194 CLIDRegistry entries for module ALL
 AtlasFieldSvc        INFO initialize() ...
 AtlasFieldSvc        INFO maps will be chosen reading COOL folder /GLOBAL/BField/Maps
+ClassIDSvc           INFO  getRegistryEntries: read 163 CLIDRegistry entries for module ALL
 AtlasFieldSvc        INFO magnet currents will be read from COOL folder /EXT/DCS/MAGNETS/SENSORDATA
 AtlasFieldSvc        INFO Booked callback for /EXT/DCS/MAGNETS/SENSORDATA
 AtlasFieldSvc        INFO initialize() successful
 MdtRdoToMdtPrep...   INFO Processing configuration for layouts with BME chambers.
 MdtRdoToMdtPrep...   INFO Processing configuration for layouts with BMG chambers.
 MdtRdoToMdtPrep...   INFO Retrieved DecodingTool = PrivateToolHandle('Muon::MdtRdoToPrepDataTool/MdtRdoToMdtPrepDataTool')
+ClassIDSvc           INFO  getRegistryEntries: read 60 CLIDRegistry entries for module ALL
 CscRdoToCscPrep...   INFO The Geometry version is MuonSpectrometer-R.08.01
 CscRdoToCscPrep...   INFO Retrieved service ServiceHandle('ROBDataProviderSvc')
 CscRdoToCscPrep...   INFO  Tool = CscRdoToCscPrepData.CscRdoToCscPrepDataTool.CSC_RawDataProviderTool is connected to JobOptionsSvc Service = JobOptionsSvc
@@ -1970,9 +2482,19 @@ CscRdoToCscPrep...   INFO Retrieved tool Decoder = PrivateToolHandle('Muon::CscR
 CscRdoToCscPrep...   INFO The Muon Geometry version is R.08.01
 CscRdoToCscPrep...   INFO initialize() successful in CscRdoToCscPrepData.CscRdoToCscPrepDataTool.CSC_RawDataProviderTool
 MuonCalib::CscC...   INFO Initializing CscCoolStrSvc
+ClassIDSvc           INFO  getRegistryEntries: read 181 CLIDRegistry entries for module ALL
+IOVSvcTool           INFO Still in initialize phase, not tiggering callback for MuonCalib::CscCoolStrSvc[0x33875a00]+259 bound to CondAttrListCollection[CSC_PED]
+IOVSvcTool           INFO Still in initialize phase, not tiggering callback for MuonCalib::CscCoolStrSvc[0x33875a00]+259 bound to CondAttrListCollection[CSC_NOISE]
+IOVSvcTool           INFO Still in initialize phase, not tiggering callback for MuonCalib::CscCoolStrSvc[0x33875a00]+259 bound to CondAttrListCollection[CSC_PSLOPE]
+IOVSvcTool           INFO Still in initialize phase, not tiggering callback for MuonCalib::CscCoolStrSvc[0x33875a00]+259 bound to CondAttrListCollection[CSC_STAT]
+IOVSvcTool           INFO Still in initialize phase, not tiggering callback for MuonCalib::CscCoolStrSvc[0x33875a00]+259 bound to CondAttrListCollection[CSC_RMS]
+IOVSvcTool           INFO Still in initialize phase, not tiggering callback for MuonCalib::CscCoolStrSvc[0x33875a00]+259 bound to CondAttrListCollection[CSC_FTHOLD]
+IOVSvcTool           INFO Still in initialize phase, not tiggering callback for MuonCalib::CscCoolStrSvc[0x33875a00]+259 bound to CondAttrListCollection[CSC_T0BASE]
+IOVSvcTool           INFO Still in initialize phase, not tiggering callback for MuonCalib::CscCoolStrSvc[0x33875a00]+259 bound to CondAttrListCollection[CSC_T0PHASE]
 CscRdoToCscPrep...   INFO Retrieved CscRdoToCscPrepDataTool = PrivateToolHandle('Muon::CscRdoToCscPrepDataTool/CscRdoToCscPrepDataTool')
 CscRdoToCscPrep...WARNING Implicit circular data dependency detected for id  ( 'CscRawDataContainer' , 'StoreGateSvc+CSCRDO' ) 
 HistogramPersis...WARNING Histograms saving not required.
+EventSelector        INFO Initializing EventSelector - package version ByteStreamCnvSvc-00-00-00
 EventSelector     WARNING InputCollections not properly set, checking EventStorageInputSvc properties
 EventSelector        INFO Retrieved StoreGateSvc name of  '':StoreGateSvc
 EventSelector        INFO reinitialization...
@@ -1984,10 +2506,12 @@ ToolSvc.Luminos...   INFO BunchLumisTool.empty() is TRUE, skipping...
 ToolSvc.Luminos...   INFO BunchGroupTool.empty() is TRUE, skipping...
 ToolSvc.Luminos...   INFO LBLBFolderName is empty, skipping...
 EventSelector        INFO Retrieved InputCollections from InputSvc
+ByteStreamInputSvc   INFO Initializing ByteStreamInputSvc - package version ByteStreamCnvSvc-00-00-00
 EventSelector        INFO reinitialization...
 AthenaEventLoopMgr   INFO Setup EventSelector service EventSelector
 ApplicationMgr       INFO Application Manager Initialized successfully
 ByteStreamInputSvc   INFO Picked valid file: /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TrigP1Test/data17_13TeV.00327265.physics_EnhancedBias.merge.RAW._lb0100._SFO-1._0001.1
+ClassIDSvc           INFO  getRegistryEntries: read 1156 CLIDRegistry entries for module ALL
 CondInputLoader      INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/EXT/DCS/MAGNETS/SENSORDATA'
 CondInputLoader      INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/MDT/CABLING/MAP_SCHEMA'
 CondInputLoader      INFO created CondCont<CondAttrListCollection> with key 'ConditionStore+/MDT/CABLING/MEZZANINE_SCHEMA'
@@ -2065,6 +2589,7 @@ phi high-pt    mu11  mu15   mu15
 
 
 RPCcabling           INFO CablingRPC---InitMaps from COOL: going to read configuration
+RPCcabling           INFO CablingRPC--->> RPC cabling map from COOL <<
 RPCcabling           INFO CablingRPC--- ReadConf: map has size 222202
 RPCcabling           INFO CablingRPC--- ReadConf: map n. of lines read is 924
 RPCcabling           INFO CablingRPC--- ReadConf: version is 5.0 Atlas R_07_03_RUN2ver104
@@ -2102,13 +2627,19 @@ AtlasFieldSvc        INFO Trying to read from DCS: [channel name, index, value]
 AtlasFieldSvc        INFO Trying to read from DCS: [channel name, index, value] Toroids_SCurrent , 4 , 20397.7
 AtlasFieldSvc        INFO Currents read from DCS: solenoid 7729.99 toroid 20399.9
 AtlasFieldSvc        INFO Initializing the field map (solenoidCurrent=7729.99 toroidCurrent=20399.9)
+AtlasFieldSvc        INFO reading the map from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/atlas/offline/ReleaseData/v20/MagneticFieldMaps/bfieldmap_7730_20400_14m.root
+AtlasFieldSvc        INFO Initialized the field map from /cvmfs/atlas-nightlies.cern.ch/repo/sw/master/atlas/offline/ReleaseData/v20/MagneticFieldMaps/bfieldmap_7730_20400_14m.root
+ClassIDSvc           INFO  getRegistryEntries: read 672 CLIDRegistry entries for module ALL
 AthenaEventLoopMgr   INFO   ===>>>  start processing event #186525031, run #327265 0 events processed so far  <<<===
 IOVDbSvc             INFO Opening COOL connection for COOLONL_MDT/CONDBR2
 IOVDbFolder          INFO HVS tag CONDBR2-BLKPA-2018-13 resolved to MDTCablingMapSchema_BMG_01 for folder /MDT/CABLING/MAP_SCHEMA
 IOVDbFolder          INFO HVS tag CONDBR2-BLKPA-2018-13 resolved to MDTCablingMezzanineSchema_M5-RUN2 for folder /MDT/CABLING/MEZZANINE_SCHEMA
 IOVDbSvc             INFO Disconnecting from COOLONL_MDT/CONDBR2
 MuonMDT_CablingAlg   INFO Size of CondAttrListCollection  ( 'CondAttrListCollection' , 'ConditionStore+/MDT/CABLING/MEZZANINE_SCHEMA' )  readCdoMez->size()= 24
+MuonMDT_CablingAlg   INFO Range of input is {[0,l:0] - [INVALID]}
 MuonMDT_CablingAlg   INFO Size of CondAttrListCollection  ( 'CondAttrListCollection' , 'ConditionStore+/MDT/CABLING/MAP_SCHEMA' )  readCdoMap->size()= 2312
+MuonMDT_CablingAlg   INFO Range of input is {[327264,l:4294640031] - [327265,l:4294640030]}
+MuonMDT_CablingAlg   INFO recorded new MuonMDT_CablingMap with range {[327264,l:4294640031] - [327265,l:4294640030]} into Conditions Store
 MuonCacheCreator     INFO Created cache container 'StoreGateSvc+MdtCsmCache'
 MuonCacheCreator     INFO Created cache container 'StoreGateSvc+CscCache'
 MuonCacheCreator     INFO Created cache container 'StoreGateSvc+RpcCache'
@@ -2226,6 +2757,7 @@ MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result:
 MdtRawDataProvi...  DEBUG Name : 0
 MdtRawDataProvi...  DEBUG Eta  : 1
 MdtRawDataProvi...  DEBUG Phi  : 1
+MdtRawDataProvi...  DEBUG  Collection ID = 0x6048000000000000 does not exist, create it 
 MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 3
 MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
 MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 0 csmId : 1
@@ -2233,6 +2765,7 @@ MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result:
 MdtRawDataProvi...  DEBUG Name : 0
 MdtRawDataProvi...  DEBUG Eta  : 2
 MdtRawDataProvi...  DEBUG Phi  : 1
+MdtRawDataProvi...  DEBUG  Collection ID = 0x6050000000000000 does not exist, create it 
 MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 2
 MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 3
 MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 4
@@ -2242,6 +2775,7 @@ MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result:
 MdtRawDataProvi...  DEBUG Name : 2
 MdtRawDataProvi...  DEBUG Eta  : 1
 MdtRawDataProvi...  DEBUG Phi  : 1
+MdtRawDataProvi...  DEBUG  Collection ID = 0x6248000000000000 does not exist, create it 
 MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 6
 MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
 MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 0 csmId : 3
@@ -2249,6 +2783,7 @@ MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result:
 MdtRawDataProvi...  DEBUG Name : 2
 MdtRawDataProvi...  DEBUG Eta  : 2
 MdtRawDataProvi...  DEBUG Phi  : 1
+MdtRawDataProvi...  DEBUG  Collection ID = 0x6250000000000000 does not exist, create it 
 MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 0
 MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 7
 MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 8
@@ -2258,6 +2793,7 @@ MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result:
 MdtRawDataProvi...  DEBUG Name : 4
 MdtRawDataProvi...  DEBUG Eta  : 1
 MdtRawDataProvi...  DEBUG Phi  : 1
+MdtRawDataProvi...  DEBUG  Collection ID = 0x6448000000000000 does not exist, create it 
 MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 15
 MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
 MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 0 csmId : 5
@@ -2265,6 +2801,7 @@ MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result:
 MdtRawDataProvi...  DEBUG Name : 4
 MdtRawDataProvi...  DEBUG Eta  : 2
 MdtRawDataProvi...  DEBUG Phi  : 1
+MdtRawDataProvi...  DEBUG  Collection ID = 0x6450000000000000 does not exist, create it 
 MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 0
 MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 2
 MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 8
@@ -2400,12 +2937,14 @@ MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result:
 MdtRawDataProvi...  DEBUG Name : 0
 MdtRawDataProvi...  DEBUG Eta  : 1
 MdtRawDataProvi...  DEBUG Phi  : 2
+MdtRawDataProvi...  DEBUG  Collection ID = 0x6049000000000000 does not exist, create it 
 MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
 MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 1 csmId : 1
 MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
 MdtRawDataProvi...  DEBUG Name : 0
 MdtRawDataProvi...  DEBUG Eta  : 2
 MdtRawDataProvi...  DEBUG Phi  : 2
+MdtRawDataProvi...  DEBUG  Collection ID = 0x6051000000000000 does not exist, create it 
 MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 1
 MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 3
 MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 10
@@ -2416,6 +2955,7 @@ MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result:
 MdtRawDataProvi...  DEBUG Name : 2
 MdtRawDataProvi...  DEBUG Eta  : 1
 MdtRawDataProvi...  DEBUG Phi  : 2
+MdtRawDataProvi...  DEBUG  Collection ID = 0x6249000000000000 does not exist, create it 
 MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 3
 MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
 MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 1 csmId : 3
@@ -2423,6 +2963,7 @@ MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result:
 MdtRawDataProvi...  DEBUG Name : 2
 MdtRawDataProvi...  DEBUG Eta  : 2
 MdtRawDataProvi...  DEBUG Phi  : 2
+MdtRawDataProvi...  DEBUG  Collection ID = 0x6251000000000000 does not exist, create it 
 MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 3
 MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 6
 MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
@@ -2431,6 +2972,7 @@ MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result:
 MdtRawDataProvi...  DEBUG Name : 4
 MdtRawDataProvi...  DEBUG Eta  : 1
 MdtRawDataProvi...  DEBUG Phi  : 2
+MdtRawDataProvi...  DEBUG  Collection ID = 0x6449000000000000 does not exist, create it 
 MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 2
 MdtRawDataProvi...  DEBUG Error: corresponding leading edge not found for the trailing edge tdc: 2 chan: 22
 MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 4
@@ -2446,6 +2988,7 @@ MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result:
 MdtRawDataProvi...  DEBUG Name : 4
 MdtRawDataProvi...  DEBUG Eta  : 2
 MdtRawDataProvi...  DEBUG Phi  : 2
+MdtRawDataProvi...  DEBUG  Collection ID = 0x6451000000000000 does not exist, create it 
 MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 5
 MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 6
 MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 8
@@ -2553,18 +3096,21 @@ MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result:
 MdtRawDataProvi...  DEBUG Name : 0
 MdtRawDataProvi...  DEBUG Eta  : 1
 MdtRawDataProvi...  DEBUG Phi  : 3
+MdtRawDataProvi...  DEBUG  Collection ID = 0x604a000000000000 does not exist, create it 
 MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
 MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 2 csmId : 1
 MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
 MdtRawDataProvi...  DEBUG Name : 0
 MdtRawDataProvi...  DEBUG Eta  : 2
 MdtRawDataProvi...  DEBUG Phi  : 3
+MdtRawDataProvi...  DEBUG  Collection ID = 0x6052000000000000 does not exist, create it 
 MdtRawDataProvi...  DEBUG Found the Beginnning of Link 
 MdtRawDataProvi...  DEBUG subdetId : 97 mrodId : 2 csmId : 2
 MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result: 
 MdtRawDataProvi...  DEBUG Name : 2
 MdtRawDataProvi...  DEBUG Eta  : 1
 MdtRawDataProvi...  DEBUG Phi  : 3
+MdtRawDataProvi...  DEBUG  Collection ID = 0x624a000000000000 does not exist, create it 
 MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 0
 MdtRawDataProvi...  DEBUG Error: corresponding leading edge not found for the trailing edge tdc: 0 chan: 20
 MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 1
@@ -2576,6 +3122,7 @@ MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result:
 MdtRawDataProvi...  DEBUG Name : 2
 MdtRawDataProvi...  DEBUG Eta  : 2
 MdtRawDataProvi...  DEBUG Phi  : 3
+MdtRawDataProvi...  DEBUG  Collection ID = 0x6252000000000000 does not exist, create it 
 MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 5
 MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 7
 MdtRawDataProvi...  DEBUG Error: corresponding leading edge not found for the trailing edge tdc: 7 chan: 12
@@ -2587,6 +3134,7 @@ MdtRawDataProvi...  DEBUG getOfflineIdfromOnlineID result:
 MdtRawDataProvi...  DEBUG Name : 4
 MdtRawDataProvi...  DEBUG Eta  : 1
 MdtRawDataProvi...  DEBUG Phi  : 3
+MdtRawDataProvi...  DEBUG  Collection ID = 0x644a000000000000 does not exist, create it 
 MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 1
 MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 4
 MdtRawDataProvi...  DEBUG  Decoding data from TDC number : 9
@@ -2608,6 +3156,7 @@ CscRawDataProvi...  DEBUG in CscROD_Decoder::fillCollection :ROD version 401
 CscRawDataProvi...  DEBUG  
 CscRawDataProvi...  DEBUG ===================================================
 CscRawDataProvi...  DEBUG in CscROD_Decode::fillCollection() - ROD version 2
+CscRawDataProvi...  DEBUG DetDescr tag = ATLAS-R2-2016-01-00-01
 CscRawDataProvi...  DEBUG Online ROD id is 0x80
 CscRawDataProvi...  DEBUG Online ROD / ROD / collection / subDetector IDs are 0x80 24 8 106
 CscRawDataProvi...  DEBUG CSC RDO collection does not exist - creating a new one with hash = 8
@@ -2617,28 +3166,55 @@ CscRawDataProvi...  DEBUG Is Calibration Enabled?: 0  Calibration Amplitude: 5
 CscRawDataProvi...  DEBUG Calibration Layer: 0  Latency: 126
 CscRawDataProvi...  DEBUG Is neutron rejection ON?: 0  Is sparsified data?: 1
 CscRawDataProvi...  DEBUG CscROD_Decoder Total words received = 112
+CscRawDataProvi...  DEBUG RPU Header word 0x5000070
 CscRawDataProvi...  DEBUG RPU ID original = 5
 CscRawDataProvi...  DEBUG RPU ID Updated = 5
 CscRawDataProvi...  DEBUG RPU size = 112
 CscRawDataProvi...  DEBUG SCA Address = 724315438
+CscRawDataProvi...  DEBUG Number of Precision Cluster word 0x20202
 CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 0 Cluster Counts = 0
 CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 1 Cluster Counts = 2
 CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 2 Cluster Counts = 2
 CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 3 Cluster Counts = 2
+CscRawDataProvi...  DEBUG Second cluster word 0x600006c
 CscRawDataProvi...  DEBUG Summed Number of Clusters for non-precision layers 6
 CscRawDataProvi...  DEBUG Cluster Data Words = 108
 CscRawDataProvi...  DEBUG Total summed Cluster Count for precision and non-precision layers = 12
+CscRawDataProvi...  DEBUG cluster location word 0x10a2d
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000004 46
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 8 31725  6  51 :: measphi0 L2 strId 46 nStr 4 T0 nSampWords 8 [7.51.-1.1.1.2.2.0.46]
+CscRawDataProvi...  DEBUG cluster location word 0x10a35
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 54
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 8 31733  6  51 :: measphi0 L2 strId 54 nStr 3 T0 nSampWords 6 [7.51.-1.1.1.2.2.0.54]
+CscRawDataProvi...  DEBUG cluster location word 0x10c2c
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000005 45
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 8 31916  7  51 :: measphi0 L3 strId 45 nStr 5 T0 nSampWords 10 [7.51.-1.1.1.2.3.0.45]
+CscRawDataProvi...  DEBUG cluster location word 0x10c37
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000004 56
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 8 31927  7  51 :: measphi0 L3 strId 56 nStr 4 T0 nSampWords 8 [7.51.-1.1.1.2.3.0.56]
+CscRawDataProvi...  DEBUG cluster location word 0x10e2d
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 46
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 8 32109  8  51 :: measphi0 L4 strId 46 nStr 3 T0 nSampWords 6 [7.51.-1.1.1.2.4.0.46]
+CscRawDataProvi...  DEBUG cluster location word 0x10e39
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 58
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 8 32121  8  51 :: measphi0 L4 strId 58 nStr 3 T0 nSampWords 6 [7.51.-1.1.1.2.4.0.58]
+CscRawDataProvi...  DEBUG cluster location word 0x10903
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 4
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 8 55491  9  51 :: measphi1 L1 strId 4 nStr 3 T0 nSampWords 6 [7.51.-1.1.1.2.1.1.4]
+CscRawDataProvi...  DEBUG cluster location word 0x10b08
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 9
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 8 55544  9  51 :: measphi1 L2 strId 9 nStr 3 T0 nSampWords 6 [7.51.-1.1.1.2.2.1.9]
+CscRawDataProvi...  DEBUG cluster location word 0x10b1e
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 31
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 8 55566  9  51 :: measphi1 L2 strId 31 nStr 3 T0 nSampWords 6 [7.51.-1.1.1.2.2.1.31]
+CscRawDataProvi...  DEBUG cluster location word 0x10d07
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000005 8
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 8 55591  9  51 :: measphi1 L3 strId 8 nStr 5 T0 nSampWords 10 [7.51.-1.1.1.2.3.1.8]
+CscRawDataProvi...  DEBUG cluster location word 0x10d1e
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 31
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 8 55614  9  51 :: measphi1 L3 strId 31 nStr 3 T0 nSampWords 6 [7.51.-1.1.1.2.3.1.31]
+CscRawDataProvi...  DEBUG cluster location word 0x10f08
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 9
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 8 55640  9  51 :: measphi1 L4 strId 9 nStr 3 T0 nSampWords 6 [7.51.-1.1.1.2.4.1.9]
 CscRawDataProvi...  DEBUG ****Total Cluster count = 12 for RPU ID 5
 CscRawDataProvi...  DEBUG end of CscROD_Decode::fillCollection()
@@ -2647,6 +3223,7 @@ CscRawDataProvi...  DEBUG in CscROD_Decoder::fillCollection :ROD version 401
 CscRawDataProvi...  DEBUG  
 CscRawDataProvi...  DEBUG ===================================================
 CscRawDataProvi...  DEBUG in CscROD_Decode::fillCollection() - ROD version 2
+CscRawDataProvi...  DEBUG DetDescr tag = ATLAS-R2-2016-01-00-01
 CscRawDataProvi...  DEBUG Online ROD id is 0x81
 CscRawDataProvi...  DEBUG Online ROD / ROD / collection / subDetector IDs are 0x81 16 0 106
 CscRawDataProvi...  DEBUG CSC RDO collection does not exist - creating a new one with hash = 0
@@ -2656,38 +3233,52 @@ CscRawDataProvi...  DEBUG Is Calibration Enabled?: 0  Calibration Amplitude: 5
 CscRawDataProvi...  DEBUG Calibration Layer: 0  Latency: 126
 CscRawDataProvi...  DEBUG Is neutron rejection ON?: 0  Is sparsified data?: 1
 CscRawDataProvi...  DEBUG CscROD_Decoder Total words received = 122
+CscRawDataProvi...  DEBUG RPU Header word 0xd00007a
 CscRawDataProvi...  DEBUG RPU ID original = 13
 CscRawDataProvi...  DEBUG RPU ID Updated = 11
 CscRawDataProvi...  DEBUG RPU size = 122
 CscRawDataProvi...  DEBUG SCA Address = 2358087311
+CscRawDataProvi...  DEBUG Number of Precision Cluster word 0x2000002
 CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 0 Cluster Counts = 2
 CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 1 Cluster Counts = 0
 CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 2 Cluster Counts = 0
 CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 3 Cluster Counts = 2
+CscRawDataProvi...  DEBUG Second cluster word 0x7000076
 CscRawDataProvi...  DEBUG Summed Number of Clusters for non-precision layers 7
 CscRawDataProvi...  DEBUG Cluster Data Words = 118
 CscRawDataProvi...  DEBUG Total summed Cluster Count for precision and non-precision layers = 11
 CscRawDataProvi...  DEBUG cluster location word 0x810
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000004 17
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 0 784  0  50 :: measphi0 L1 strId 17 nStr 4 T0 nSampWords 8 [7.50.-1.1.1.2.1.0.17]
 CscRawDataProvi...  DEBUG cluster location word 0x868
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000007 105
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 0 872  0  50 :: measphi0 L1 strId 105 nStr 7 T0 nSampWords 14 [7.50.-1.1.1.2.1.0.105]
 CscRawDataProvi...  DEBUG cluster location word 0xe11
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x1000000a 18
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 0 1361  3  50 :: measphi0 L4 strId 18 nStr 10 T0 nSampWords 20 [7.50.-1.1.1.2.4.0.18]
 CscRawDataProvi...  DEBUG cluster location word 0xe41
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000004 66
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 0 1409  3  50 :: measphi0 L4 strId 66 nStr 4 T0 nSampWords 8 [7.50.-1.1.1.2.4.0.66]
 CscRawDataProvi...  DEBUG cluster location word 0x916
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000005 23
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 0 24790  4  50 :: measphi1 L1 strId 23 nStr 5 T0 nSampWords 10 [7.50.-1.1.1.2.1.1.23]
 CscRawDataProvi...  DEBUG cluster location word 0xb16
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 23
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 0 24838  4  50 :: measphi1 L2 strId 23 nStr 3 T0 nSampWords 6 [7.50.-1.1.1.2.2.1.23]
 CscRawDataProvi...  DEBUG cluster location word 0xd03
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 4
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 0 24867  4  50 :: measphi1 L3 strId 4 nStr 3 T0 nSampWords 6 [7.50.-1.1.1.2.3.1.4]
 CscRawDataProvi...  DEBUG cluster location word 0xd15
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 22
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 0 24885  4  50 :: measphi1 L3 strId 22 nStr 3 T0 nSampWords 6 [7.50.-1.1.1.2.3.1.22]
 CscRawDataProvi...  DEBUG cluster location word 0xd2d
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 46
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 0 24909  4  50 :: measphi1 L3 strId 46 nStr 3 T0 nSampWords 6 [7.50.-1.1.1.2.3.1.46]
 CscRawDataProvi...  DEBUG cluster location word 0xf15
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 22
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 0 24933  4  50 :: measphi1 L4 strId 22 nStr 3 T0 nSampWords 6 [7.50.-1.1.1.2.4.1.22]
 CscRawDataProvi...  DEBUG cluster location word 0xf1e
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 31
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 0 24942  4  50 :: measphi1 L4 strId 31 nStr 3 T0 nSampWords 6 [7.50.-1.1.1.2.4.1.31]
 CscRawDataProvi...  DEBUG ****Total Cluster count = 11 for RPU ID 11
 CscRawDataProvi...  DEBUG end of CscROD_Decode::fillCollection()
@@ -2696,6 +3287,7 @@ CscRawDataProvi...  DEBUG in CscROD_Decoder::fillCollection :ROD version 401
 CscRawDataProvi...  DEBUG  
 CscRawDataProvi...  DEBUG ===================================================
 CscRawDataProvi...  DEBUG in CscROD_Decode::fillCollection() - ROD version 2
+CscRawDataProvi...  DEBUG DetDescr tag = ATLAS-R2-2016-01-00-01
 CscRawDataProvi...  DEBUG Online ROD id is 0x82
 CscRawDataProvi...  DEBUG Online ROD / ROD / collection / subDetector IDs are 0x82 25 9 106
 CscRawDataProvi...  DEBUG CSC RDO collection does not exist - creating a new one with hash = 9
@@ -2705,6 +3297,7 @@ CscRawDataProvi...  DEBUG Is Calibration Enabled?: 0  Calibration Amplitude: 5
 CscRawDataProvi...  DEBUG Calibration Layer: 0  Latency: 126
 CscRawDataProvi...  DEBUG Is neutron rejection ON?: 0  Is sparsified data?: 1
 CscRawDataProvi...  DEBUG CscROD_Decoder Total words received = 50
+CscRawDataProvi...  DEBUG RPU Header word 0x5000032
 CscRawDataProvi...  DEBUG RPU ID original = 5
 CscRawDataProvi...  DEBUG RPU ID Updated = 5
 CscRawDataProvi...  DEBUG RPU size = 50
@@ -2714,13 +3307,24 @@ CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 0 C
 CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 1 Cluster Counts = 0
 CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 2 Cluster Counts = 1
 CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 3 Cluster Counts = 2
+CscRawDataProvi...  DEBUG Second cluster word 0x200002e
 CscRawDataProvi...  DEBUG Summed Number of Clusters for non-precision layers 2
 CscRawDataProvi...  DEBUG Cluster Data Words = 46
 CscRawDataProvi...  DEBUG Total summed Cluster Count for precision and non-precision layers = 5
+CscRawDataProvi...  DEBUG cluster location word 0x12c17
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000005 24
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 9 33431  7  51 :: measphi0 L3 strId 24 nStr 5 T0 nSampWords 10 [7.51.-1.2.1.2.3.0.24]
+CscRawDataProvi...  DEBUG cluster location word 0x12e16
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 23
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 9 33622  8  51 :: measphi0 L4 strId 23 nStr 3 T0 nSampWords 6 [7.51.-1.2.1.2.4.0.23]
+CscRawDataProvi...  DEBUG cluster location word 0x12e1a
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 27
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 9 33626  8  51 :: measphi0 L4 strId 27 nStr 3 T0 nSampWords 6 [7.51.-1.2.1.2.4.0.27]
+CscRawDataProvi...  DEBUG cluster location word 0x12d24
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000004 37
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 9 56004  9  51 :: measphi1 L3 strId 37 nStr 4 T0 nSampWords 8 [7.51.-1.2.1.2.3.1.37]
+CscRawDataProvi...  DEBUG cluster location word 0x12f24
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 37
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 9 56052  9  51 :: measphi1 L4 strId 37 nStr 3 T0 nSampWords 6 [7.51.-1.2.1.2.4.1.37]
 CscRawDataProvi...  DEBUG ****Total Cluster count = 5 for RPU ID 5
 CscRawDataProvi...  DEBUG end of CscROD_Decode::fillCollection()
@@ -2729,6 +3333,7 @@ CscRawDataProvi...  DEBUG in CscROD_Decoder::fillCollection :ROD version 401
 CscRawDataProvi...  DEBUG  
 CscRawDataProvi...  DEBUG ===================================================
 CscRawDataProvi...  DEBUG in CscROD_Decode::fillCollection() - ROD version 2
+CscRawDataProvi...  DEBUG DetDescr tag = ATLAS-R2-2016-01-00-01
 CscRawDataProvi...  DEBUG Online ROD id is 0x83
 CscRawDataProvi...  DEBUG Online ROD / ROD / collection / subDetector IDs are 0x83 17 1 106
 CscRawDataProvi...  DEBUG CSC RDO collection does not exist - creating a new one with hash = 1
@@ -2738,27 +3343,52 @@ CscRawDataProvi...  DEBUG Is Calibration Enabled?: 0  Calibration Amplitude: 5
 CscRawDataProvi...  DEBUG Calibration Layer: 0  Latency: 126
 CscRawDataProvi...  DEBUG Is neutron rejection ON?: 0  Is sparsified data?: 1
 CscRawDataProvi...  DEBUG CscROD_Decoder Total words received = 116
+CscRawDataProvi...  DEBUG RPU Header word 0xd000074
 CscRawDataProvi...  DEBUG RPU ID original = 13
 CscRawDataProvi...  DEBUG RPU ID Updated = 11
 CscRawDataProvi...  DEBUG RPU size = 116
 CscRawDataProvi...  DEBUG SCA Address = 1920169077
+CscRawDataProvi...  DEBUG Number of Precision Cluster word 0x1010102
 CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 0 Cluster Counts = 1
 CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 1 Cluster Counts = 1
 CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 2 Cluster Counts = 1
 CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 3 Cluster Counts = 2
+CscRawDataProvi...  DEBUG Second cluster word 0x6000070
 CscRawDataProvi...  DEBUG Summed Number of Clusters for non-precision layers 6
 CscRawDataProvi...  DEBUG Cluster Data Words = 112
 CscRawDataProvi...  DEBUG Total summed Cluster Count for precision and non-precision layers = 11
+CscRawDataProvi...  DEBUG cluster location word 0x2818
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000004 25
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 1 2328  0  50 :: measphi0 L1 strId 25 nStr 4 T0 nSampWords 8 [7.50.-1.2.1.2.1.0.25]
+CscRawDataProvi...  DEBUG cluster location word 0x2a17
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000006 24
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 1 2519  1  50 :: measphi0 L2 strId 24 nStr 6 T0 nSampWords 12 [7.50.-1.2.1.2.2.0.24]
+CscRawDataProvi...  DEBUG cluster location word 0x2c17
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000005 24
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 1 2711  2  50 :: measphi0 L3 strId 24 nStr 5 T0 nSampWords 10 [7.50.-1.2.1.2.3.0.24]
+CscRawDataProvi...  DEBUG cluster location word 0x2e18
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000004 25
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 1 2904  3  50 :: measphi0 L4 strId 25 nStr 4 T0 nSampWords 8 [7.50.-1.2.1.2.4.0.25]
+CscRawDataProvi...  DEBUG cluster location word 0x2ebc
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 189
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 1 3068  3  50 :: measphi0 L4 strId 189 nStr 3 T0 nSampWords 6 [7.50.-1.2.1.2.4.0.189]
+CscRawDataProvi...  DEBUG cluster location word 0x2909
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000004 10
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 1 25161  4  50 :: measphi1 L1 strId 10 nStr 4 T0 nSampWords 8 [7.50.-1.2.1.2.1.1.10]
+CscRawDataProvi...  DEBUG cluster location word 0x2b09
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000005 10
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 1 25209  4  50 :: measphi1 L2 strId 10 nStr 5 T0 nSampWords 10 [7.50.-1.2.1.2.2.1.10]
+CscRawDataProvi...  DEBUG cluster location word 0x2d09
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000004 10
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 1 25257  4  50 :: measphi1 L3 strId 10 nStr 4 T0 nSampWords 8 [7.50.-1.2.1.2.3.1.10]
+CscRawDataProvi...  DEBUG cluster location word 0x2d16
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 23
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 1 25270  4  50 :: measphi1 L3 strId 23 nStr 3 T0 nSampWords 6 [7.50.-1.2.1.2.3.1.23]
+CscRawDataProvi...  DEBUG cluster location word 0x2f09
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000004 10
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 1 25305  4  50 :: measphi1 L4 strId 10 nStr 4 T0 nSampWords 8 [7.50.-1.2.1.2.4.1.10]
+CscRawDataProvi...  DEBUG cluster location word 0x2f28
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 41
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 1 25336  4  50 :: measphi1 L4 strId 41 nStr 3 T0 nSampWords 6 [7.50.-1.2.1.2.4.1.41]
 CscRawDataProvi...  DEBUG ****Total Cluster count = 11 for RPU ID 11
 CscRawDataProvi...  DEBUG end of CscROD_Decode::fillCollection()
@@ -2767,6 +3397,7 @@ CscRawDataProvi...  DEBUG in CscROD_Decoder::fillCollection :ROD version 401
 CscRawDataProvi...  DEBUG  
 CscRawDataProvi...  DEBUG ===================================================
 CscRawDataProvi...  DEBUG in CscROD_Decode::fillCollection() - ROD version 2
+CscRawDataProvi...  DEBUG DetDescr tag = ATLAS-R2-2016-01-00-01
 CscRawDataProvi...  DEBUG Online ROD id is 0x84
 CscRawDataProvi...  DEBUG Online ROD / ROD / collection / subDetector IDs are 0x84 26 10 106
 CscRawDataProvi...  DEBUG CSC RDO collection does not exist - creating a new one with hash = 10
@@ -2776,6 +3407,7 @@ CscRawDataProvi...  DEBUG Is Calibration Enabled?: 0  Calibration Amplitude: 5
 CscRawDataProvi...  DEBUG Calibration Layer: 0  Latency: 126
 CscRawDataProvi...  DEBUG Is neutron rejection ON?: 0  Is sparsified data?: 1
 CscRawDataProvi...  DEBUG CscROD_Decoder Total words received = 114
+CscRawDataProvi...  DEBUG RPU Header word 0x5000072
 CscRawDataProvi...  DEBUG RPU ID original = 5
 CscRawDataProvi...  DEBUG RPU ID Updated = 5
 CscRawDataProvi...  DEBUG RPU size = 114
@@ -2785,14 +3417,27 @@ CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 0 C
 CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 1 Cluster Counts = 0
 CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 2 Cluster Counts = 2
 CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 3 Cluster Counts = 0
+CscRawDataProvi...  DEBUG Second cluster word 0x400006e
 CscRawDataProvi...  DEBUG Summed Number of Clusters for non-precision layers 4
 CscRawDataProvi...  DEBUG Cluster Data Words = 110
 CscRawDataProvi...  DEBUG Total summed Cluster Count for precision and non-precision layers = 6
+CscRawDataProvi...  DEBUG cluster location word 0x14c03
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000005 4
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 10 34947  7  51 :: measphi0 L3 strId 4 nStr 5 T0 nSampWords 10 [7.51.-1.3.1.2.3.0.4]
+CscRawDataProvi...  DEBUG cluster location word 0x14c66
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000013 103
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 10 35046  7  51 :: measphi0 L3 strId 103 nStr 19 T0 nSampWords 38 [7.51.-1.3.1.2.3.0.103]
+CscRawDataProvi...  DEBUG cluster location word 0x1491b
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 28
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 10 56283  9  51 :: measphi1 L1 strId 28 nStr 3 T0 nSampWords 6 [7.51.-1.3.1.2.1.1.28]
+CscRawDataProvi...  DEBUG cluster location word 0x14d09
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000006 10
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 10 56361  9  51 :: measphi1 L3 strId 10 nStr 6 T0 nSampWords 12 [7.51.-1.3.1.2.3.1.10]
+CscRawDataProvi...  DEBUG cluster location word 0x14d1f
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 32
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 10 56383  9  51 :: measphi1 L3 strId 32 nStr 3 T0 nSampWords 6 [7.51.-1.3.1.2.3.1.32]
+CscRawDataProvi...  DEBUG cluster location word 0x14d23
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x1000000d 36
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 10 56387  9  51 :: measphi1 L3 strId 36 nStr 13 T0 nSampWords 26 [7.51.-1.3.1.2.3.1.36]
 CscRawDataProvi...  DEBUG ****Total Cluster count = 6 for RPU ID 5
 CscRawDataProvi...  DEBUG end of CscROD_Decode::fillCollection()
@@ -2801,6 +3446,7 @@ CscRawDataProvi...  DEBUG in CscROD_Decoder::fillCollection :ROD version 401
 CscRawDataProvi...  DEBUG  
 CscRawDataProvi...  DEBUG ===================================================
 CscRawDataProvi...  DEBUG in CscROD_Decode::fillCollection() - ROD version 2
+CscRawDataProvi...  DEBUG DetDescr tag = ATLAS-R2-2016-01-00-01
 CscRawDataProvi...  DEBUG Online ROD id is 0x85
 CscRawDataProvi...  DEBUG Online ROD / ROD / collection / subDetector IDs are 0x85 18 2 106
 CscRawDataProvi...  DEBUG CSC RDO collection does not exist - creating a new one with hash = 2
@@ -2810,23 +3456,40 @@ CscRawDataProvi...  DEBUG Is Calibration Enabled?: 0  Calibration Amplitude: 5
 CscRawDataProvi...  DEBUG Calibration Layer: 0  Latency: 126
 CscRawDataProvi...  DEBUG Is neutron rejection ON?: 0  Is sparsified data?: 1
 CscRawDataProvi...  DEBUG CscROD_Decoder Total words received = 90
+CscRawDataProvi...  DEBUG RPU Header word 0xd00005a
 CscRawDataProvi...  DEBUG RPU ID original = 13
 CscRawDataProvi...  DEBUG RPU ID Updated = 11
 CscRawDataProvi...  DEBUG RPU size = 90
 CscRawDataProvi...  DEBUG SCA Address = 1482250843
+CscRawDataProvi...  DEBUG Number of Precision Cluster word 0x20100
 CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 0 Cluster Counts = 0
 CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 1 Cluster Counts = 2
 CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 2 Cluster Counts = 1
 CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 3 Cluster Counts = 0
+CscRawDataProvi...  DEBUG Second cluster word 0x4000056
 CscRawDataProvi...  DEBUG Summed Number of Clusters for non-precision layers 4
 CscRawDataProvi...  DEBUG Cluster Data Words = 86
 CscRawDataProvi...  DEBUG Total summed Cluster Count for precision and non-precision layers = 7
+CscRawDataProvi...  DEBUG cluster location word 0x4a18
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000008 25
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 2 4056  1  50 :: measphi0 L2 strId 25 nStr 8 T0 nSampWords 16 [7.50.-1.3.1.2.2.0.25]
+CscRawDataProvi...  DEBUG cluster location word 0x4a3a
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000004 59
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 2 4090  1  50 :: measphi0 L2 strId 59 nStr 4 T0 nSampWords 8 [7.50.-1.3.1.2.2.0.59]
+CscRawDataProvi...  DEBUG cluster location word 0x4c1a
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000006 27
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 2 4250  2  50 :: measphi0 L3 strId 27 nStr 6 T0 nSampWords 12 [7.50.-1.3.1.2.3.0.27]
+CscRawDataProvi...  DEBUG cluster location word 0x4b11
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 18
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 2 25601  4  50 :: measphi1 L2 strId 18 nStr 3 T0 nSampWords 6 [7.50.-1.3.1.2.2.1.18]
+CscRawDataProvi...  DEBUG cluster location word 0x4b18
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000005 25
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 2 25608  4  50 :: measphi1 L2 strId 25 nStr 5 T0 nSampWords 10 [7.50.-1.3.1.2.2.1.25]
+CscRawDataProvi...  DEBUG cluster location word 0x4b1e
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000005 31
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 2 25614  4  50 :: measphi1 L2 strId 31 nStr 5 T0 nSampWords 10 [7.50.-1.3.1.2.2.1.31]
+CscRawDataProvi...  DEBUG cluster location word 0x4d14
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000005 21
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 2 25652  4  50 :: measphi1 L3 strId 21 nStr 5 T0 nSampWords 10 [7.50.-1.3.1.2.3.1.21]
 CscRawDataProvi...  DEBUG ****Total Cluster count = 7 for RPU ID 11
 CscRawDataProvi...  DEBUG end of CscROD_Decode::fillCollection()
@@ -2835,6 +3498,7 @@ CscRawDataProvi...  DEBUG in CscROD_Decoder::fillCollection :ROD version 401
 CscRawDataProvi...  DEBUG  
 CscRawDataProvi...  DEBUG ===================================================
 CscRawDataProvi...  DEBUG in CscROD_Decode::fillCollection() - ROD version 2
+CscRawDataProvi...  DEBUG DetDescr tag = ATLAS-R2-2016-01-00-01
 CscRawDataProvi...  DEBUG Online ROD id is 0x86
 CscRawDataProvi...  DEBUG Online ROD / ROD / collection / subDetector IDs are 0x86 27 11 106
 CscRawDataProvi...  DEBUG CSC RDO collection does not exist - creating a new one with hash = 11
@@ -2844,6 +3508,7 @@ CscRawDataProvi...  DEBUG Is Calibration Enabled?: 0  Calibration Amplitude: 5
 CscRawDataProvi...  DEBUG Calibration Layer: 0  Latency: 126
 CscRawDataProvi...  DEBUG Is neutron rejection ON?: 0  Is sparsified data?: 1
 CscRawDataProvi...  DEBUG CscROD_Decoder Total words received = 58
+CscRawDataProvi...  DEBUG RPU Header word 0x500003a
 CscRawDataProvi...  DEBUG RPU ID original = 5
 CscRawDataProvi...  DEBUG RPU ID Updated = 5
 CscRawDataProvi...  DEBUG RPU size = 58
@@ -2853,12 +3518,21 @@ CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 0 C
 CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 1 Cluster Counts = 0
 CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 2 Cluster Counts = 2
 CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 3 Cluster Counts = 1
+CscRawDataProvi...  DEBUG Second cluster word 0x1000036
 CscRawDataProvi...  DEBUG Summed Number of Clusters for non-precision layers 1
 CscRawDataProvi...  DEBUG Cluster Data Words = 54
 CscRawDataProvi...  DEBUG Total summed Cluster Count for precision and non-precision layers = 4
+CscRawDataProvi...  DEBUG cluster location word 0x16c2f
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 48
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 11 36527  7  51 :: measphi0 L3 strId 48 nStr 3 T0 nSampWords 6 [7.51.-1.4.1.2.3.0.48]
+CscRawDataProvi...  DEBUG cluster location word 0x16c56
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000008 87
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 11 36566  7  51 :: measphi0 L3 strId 87 nStr 8 T0 nSampWords 16 [7.51.-1.4.1.2.3.0.87]
+CscRawDataProvi...  DEBUG cluster location word 0x16e57
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000007 88
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 11 36759  8  51 :: measphi0 L4 strId 88 nStr 7 T0 nSampWords 14 [7.51.-1.4.1.2.4.0.88]
+CscRawDataProvi...  DEBUG cluster location word 0x16f04
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000005 5
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 11 56788  9  51 :: measphi1 L4 strId 5 nStr 5 T0 nSampWords 10 [7.51.-1.4.1.2.4.1.5]
 CscRawDataProvi...  DEBUG ****Total Cluster count = 4 for RPU ID 5
 CscRawDataProvi...  DEBUG end of CscROD_Decode::fillCollection()
@@ -2867,6 +3541,7 @@ CscRawDataProvi...  DEBUG in CscROD_Decoder::fillCollection :ROD version 401
 CscRawDataProvi...  DEBUG  
 CscRawDataProvi...  DEBUG ===================================================
 CscRawDataProvi...  DEBUG in CscROD_Decode::fillCollection() - ROD version 2
+CscRawDataProvi...  DEBUG DetDescr tag = ATLAS-R2-2016-01-00-01
 CscRawDataProvi...  DEBUG Online ROD id is 0x87
 CscRawDataProvi...  DEBUG Online ROD / ROD / collection / subDetector IDs are 0x87 19 3 106
 CscRawDataProvi...  DEBUG CSC RDO collection does not exist - creating a new one with hash = 3
@@ -2876,26 +3551,49 @@ CscRawDataProvi...  DEBUG Is Calibration Enabled?: 0  Calibration Amplitude: 5
 CscRawDataProvi...  DEBUG Calibration Layer: 0  Latency: 126
 CscRawDataProvi...  DEBUG Is neutron rejection ON?: 0  Is sparsified data?: 1
 CscRawDataProvi...  DEBUG CscROD_Decoder Total words received = 92
+CscRawDataProvi...  DEBUG RPU Header word 0xd00005c
 CscRawDataProvi...  DEBUG RPU ID original = 13
 CscRawDataProvi...  DEBUG RPU ID Updated = 11
 CscRawDataProvi...  DEBUG RPU size = 92
 CscRawDataProvi...  DEBUG SCA Address = 404298267
+CscRawDataProvi...  DEBUG Number of Precision Cluster word 0x1010101
 CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 0 Cluster Counts = 1
 CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 1 Cluster Counts = 1
 CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 2 Cluster Counts = 1
 CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 3 Cluster Counts = 1
+CscRawDataProvi...  DEBUG Second cluster word 0x6000058
 CscRawDataProvi...  DEBUG Summed Number of Clusters for non-precision layers 6
 CscRawDataProvi...  DEBUG Cluster Data Words = 88
 CscRawDataProvi...  DEBUG Total summed Cluster Count for precision and non-precision layers = 10
+CscRawDataProvi...  DEBUG cluster location word 0x6855
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000004 86
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 3 5461  0  50 :: measphi0 L1 strId 86 nStr 4 T0 nSampWords 8 [7.50.-1.4.1.2.1.0.86]
+CscRawDataProvi...  DEBUG cluster location word 0x6a7c
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 125
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 3 5692  1  50 :: measphi0 L2 strId 125 nStr 3 T0 nSampWords 6 [7.50.-1.4.1.2.2.0.125]
+CscRawDataProvi...  DEBUG cluster location word 0x6c77
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000005 120
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 3 5879  2  50 :: measphi0 L3 strId 120 nStr 5 T0 nSampWords 10 [7.50.-1.4.1.2.3.0.120]
+CscRawDataProvi...  DEBUG cluster location word 0x6e71
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 114
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 3 6065  3  50 :: measphi0 L4 strId 114 nStr 3 T0 nSampWords 6 [7.50.-1.4.1.2.4.0.114]
+CscRawDataProvi...  DEBUG cluster location word 0x691b
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 28
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 3 25947  4  50 :: measphi1 L1 strId 28 nStr 3 T0 nSampWords 6 [7.50.-1.4.1.2.1.1.28]
+CscRawDataProvi...  DEBUG cluster location word 0x691f
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 32
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 3 25951  4  50 :: measphi1 L1 strId 32 nStr 3 T0 nSampWords 6 [7.50.-1.4.1.2.1.1.32]
+CscRawDataProvi...  DEBUG cluster location word 0x6924
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 37
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 3 25956  4  50 :: measphi1 L1 strId 37 nStr 3 T0 nSampWords 6 [7.50.-1.4.1.2.1.1.37]
+CscRawDataProvi...  DEBUG cluster location word 0x6b17
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 24
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 3 25991  4  50 :: measphi1 L2 strId 24 nStr 3 T0 nSampWords 6 [7.50.-1.4.1.2.2.1.24]
+CscRawDataProvi...  DEBUG cluster location word 0x6d17
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000004 24
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 3 26039  4  50 :: measphi1 L3 strId 24 nStr 4 T0 nSampWords 8 [7.50.-1.4.1.2.3.1.24]
+CscRawDataProvi...  DEBUG cluster location word 0x6f2a
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 43
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 3 26106  4  50 :: measphi1 L4 strId 43 nStr 3 T0 nSampWords 6 [7.50.-1.4.1.2.4.1.43]
 CscRawDataProvi...  DEBUG ****Total Cluster count = 10 for RPU ID 11
 CscRawDataProvi...  DEBUG end of CscROD_Decode::fillCollection()
@@ -2904,6 +3602,7 @@ CscRawDataProvi...  DEBUG in CscROD_Decoder::fillCollection :ROD version 401
 CscRawDataProvi...  DEBUG  
 CscRawDataProvi...  DEBUG ===================================================
 CscRawDataProvi...  DEBUG in CscROD_Decode::fillCollection() - ROD version 2
+CscRawDataProvi...  DEBUG DetDescr tag = ATLAS-R2-2016-01-00-01
 CscRawDataProvi...  DEBUG Online ROD id is 0x88
 CscRawDataProvi...  DEBUG Online ROD / ROD / collection / subDetector IDs are 0x88 28 12 106
 CscRawDataProvi...  DEBUG CSC RDO collection does not exist - creating a new one with hash = 12
@@ -2913,24 +3612,42 @@ CscRawDataProvi...  DEBUG Is Calibration Enabled?: 0  Calibration Amplitude: 5
 CscRawDataProvi...  DEBUG Calibration Layer: 0  Latency: 126
 CscRawDataProvi...  DEBUG Is neutron rejection ON?: 0  Is sparsified data?: 1
 CscRawDataProvi...  DEBUG CscROD_Decoder Total words received = 74
+CscRawDataProvi...  DEBUG RPU Header word 0x500004a
 CscRawDataProvi...  DEBUG RPU ID original = 5
 CscRawDataProvi...  DEBUG RPU ID Updated = 5
 CscRawDataProvi...  DEBUG RPU size = 74
 CscRawDataProvi...  DEBUG SCA Address = 1499093852
+CscRawDataProvi...  DEBUG Number of Precision Cluster word 0x2000001
 CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 0 Cluster Counts = 2
 CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 1 Cluster Counts = 0
 CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 2 Cluster Counts = 0
 CscRawDataProvi...  DEBUG Number of precision Cluster Counts - Layer Index = 3 Cluster Counts = 1
+CscRawDataProvi...  DEBUG Second cluster word 0x5000046
 CscRawDataProvi...  DEBUG Summed Number of Clusters for non-precision layers 5
 CscRawDataProvi...  DEBUG Cluster Data Words = 70
 CscRawDataProvi...  DEBUG Total summed Cluster Count for precision and non-precision layers = 8
+CscRawDataProvi...  DEBUG cluster location word 0x18831
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 50
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 12 37681  5  51 :: measphi0 L1 strId 50 nStr 3 T0 nSampWords 6 [7.51.-1.5.1.2.1.0.50]
+CscRawDataProvi...  DEBUG cluster location word 0x188ab
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 172
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 12 37803  5  51 :: measphi0 L1 strId 172 nStr 3 T0 nSampWords 6 [7.51.-1.5.1.2.1.0.172]
+CscRawDataProvi...  DEBUG cluster location word 0x18e03
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000005 4
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 12 38211  8  51 :: measphi0 L4 strId 4 nStr 5 T0 nSampWords 10 [7.51.-1.5.1.2.4.0.4]
+CscRawDataProvi...  DEBUG cluster location word 0x18908
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 9
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 12 57032  9  51 :: measphi1 L1 strId 9 nStr 3 T0 nSampWords 6 [7.51.-1.5.1.2.1.1.9]
+CscRawDataProvi...  DEBUG cluster location word 0x1892e
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000002 47
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 12 57070  9  51 :: measphi1 L1 strId 47 nStr 2 T0 nSampWords 4 [7.51.-1.5.1.2.1.1.47]
+CscRawDataProvi...  DEBUG cluster location word 0x18b00
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000002 1
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 12 57072  9  51 :: measphi1 L2 strId 1 nStr 2 T0 nSampWords 4 [7.51.-1.5.1.2.2.1.1]
+CscRawDataProvi...  DEBUG cluster location word 0x18d0d
+CscRawDataProvi...  DEBUG  cluster time size word : stripId (CscIdHelper) 0x10000003 14
 CscRawDataProvi...  DEBUG     idColl clusHashid spuID stationId :: 12 57133  9  51 :: measphi1 L3 strId 14 nStr 3 T0 nSampWords 6 [7.51.-1.5.1.2.3.1.14]
+CscRawDataProvi...  DEBUG cluster location word 0x18f1c
 CscRawDataProvi...WARNING DEBUG message limit (500) reached for CscRawDataProvider.CSC_RawDataProviderTool.CscROD_Decoder. Suppressing further output.
 CscRawDataProvi...  DEBUG After processing numColls=32
 AthenaEventLoopMgr   INFO   ===>>>  done processing event #186525031, run #327265 1 events processed so far  <<<===
@@ -3221,10 +3938,40 @@ CscRawDataProvi...  DEBUG After processing numColls=32
 AthenaEventLoopMgr   INFO   ===>>>  done processing event #186580451, run #327265 20 events processed so far  <<<===
 Domain[ROOT_All]     INFO >   Deaccess DbDomain     READ      [ROOT_All] 
 ApplicationMgr       INFO Application Manager Stopped successfully
+IncidentProcAlg1     INFO Finalize
 CondInputLoader      INFO Finalizing CondInputLoader...
+IncidentProcAlg2     INFO Finalize
 AtlasFieldSvc        INFO finalize() successful
 EventInfoByteSt...   INFO finalize 
 IdDictDetDescrCnv    INFO in finalize
+IOVDbFolder          INFO Folder /EXT/DCS/MAGNETS/SENSORDATA (AttrListColl) db-read 1/2 objs/chan/bytes 4/4/25 ((     1.39 ))s
+IOVDbFolder          INFO Folder /GLOBAL/BField/Maps (AttrListColl) db-read 1/1 objs/chan/bytes 3/3/271 ((     6.55 ))s
+IOVDbFolder          INFO Folder /MDT/CABLING/MAP_SCHEMA (AttrListColl) db-read 1/1 objs/chan/bytes 2312/2437/216598 ((     1.41 ))s
+IOVDbFolder          INFO Folder /MDT/CABLING/MEZZANINE_SCHEMA (AttrListColl) db-read 1/1 objs/chan/bytes 24/24/300 ((     0.82 ))s
+IOVDbFolder          INFO Folder /MDT/RTBLOB (AttrListColl) db-read 0/0 objs/chan/bytes 0/1186/0 ((     0.00 ))s
+IOVDbFolder          INFO Folder /MDT/T0BLOB (AttrListColl) db-read 0/0 objs/chan/bytes 0/1186/0 ((     0.00 ))s
+IOVDbFolder          INFO Folder /RPC/CABLING/MAP_SCHEMA (AttrListColl) db-read 1/1 objs/chan/bytes 1/1/444470 ((     1.18 ))s
+IOVDbFolder          INFO Folder /RPC/CABLING/MAP_SCHEMA_CORR (AttrListColl) db-read 1/1 objs/chan/bytes 1/1/58804 ((     0.58 ))s
+IOVDbFolder          INFO Folder /RPC/TRIGGER/CM_THR_ETA (AttrListColl) db-read 1/1 objs/chan/bytes 1613/1613/7562972 ((     2.72 ))s
+IOVDbFolder          INFO Folder /RPC/TRIGGER/CM_THR_PHI (AttrListColl) db-read 1/1 objs/chan/bytes 1612/1612/8101322 ((     0.60 ))s
+IOVDbFolder          INFO Folder /TGC/CABLING/MAP_SCHEMA (AttrListColl) db-read 1/1 objs/chan/bytes 1/1/7408 ((     0.95 ))s
+IOVDbFolder          INFO Folder /CSC/FTHOLD (AttrListColl) db-read 1/1 objs/chan/bytes 32/32/331329 ((     1.47 ))s
+IOVDbFolder          INFO Folder /CSC/NOISE (AttrListColl) db-read 1/1 objs/chan/bytes 32/32/359591 ((     0.40 ))s
+IOVDbFolder          INFO Folder /CSC/PED (AttrListColl) db-read 1/1 objs/chan/bytes 32/32/422629 ((     1.35 ))s
+IOVDbFolder          INFO Folder /CSC/PSLOPE (AttrListColl) db-read 1/1 objs/chan/bytes 32/32/363009 ((     2.15 ))s
+IOVDbFolder          INFO Folder /CSC/RMS (AttrListColl) db-read 1/1 objs/chan/bytes 32/32/422831 ((     0.21 ))s
+IOVDbFolder          INFO Folder /CSC/STAT (AttrListColl) db-read 1/1 objs/chan/bytes 32/32/236289 ((     0.76 ))s
+IOVDbFolder          INFO Folder /CSC/T0BASE (AttrListColl) db-read 1/1 objs/chan/bytes 32/32/322855 ((     0.26 ))s
+IOVDbFolder          INFO Folder /CSC/T0PHASE (AttrListColl) db-read 1/1 objs/chan/bytes 32/32/3234 ((     1.53 ))s
+IOVDbSvc             INFO  bytes in ((     24.31 ))s
+IOVDbSvc             INFO Connection sqlite://;schema=mycool.db;dbname=CONDBR2 : nConnect: 0 nFolders: 0 ReadTime: ((     0.00 ))s
+IOVDbSvc             INFO Connection COOLONL_MDT/CONDBR2 : nConnect: 2 nFolders: 2 ReadTime: ((     2.22 ))s
+IOVDbSvc             INFO Connection COOLONL_RPC/CONDBR2 : nConnect: 2 nFolders: 4 ReadTime: ((     5.09 ))s
+IOVDbSvc             INFO Connection COOLOFL_MDT/CONDBR2 : nConnect: 1 nFolders: 2 ReadTime: ((     0.00 ))s
+IOVDbSvc             INFO Connection COOLOFL_CSC/CONDBR2 : nConnect: 2 nFolders: 8 ReadTime: ((     8.12 ))s
+IOVDbSvc             INFO Connection COOLONL_GLOBAL/CONDBR2 : nConnect: 2 nFolders: 1 ReadTime: ((     6.55 ))s
+IOVDbSvc             INFO Connection COOLONL_TGC/CONDBR2 : nConnect: 2 nFolders: 1 ReadTime: ((     0.95 ))s
+IOVDbSvc             INFO Connection COOLOFL_DCS/CONDBR2 : nConnect: 2 nFolders: 1 ReadTime: ((     1.39 ))s
 AthDictLoaderSvc     INFO in finalize...
 ToolSvc              INFO Removing all tools created by ToolSvc
 ToolSvc.ByteStr...   INFO in finalize()
@@ -3248,12 +3995,17 @@ ToolSvc.TGCCabl...   INFO finalize
 *****Chrono*****     INFO ****************************************************************************************************
 *****Chrono*****     INFO  The Final CPU consumption ( Chrono ) Table (ordered)
 *****Chrono*****     INFO ****************************************************************************************************
+cObj_ALL             INFO Time User   : Tot=    0 [us] Ave/Min/Max=    0(+-    0)/    0/    0 [us] #= 18
+ChronoStatSvc        INFO Time User   : Tot= 11.7  [s]                                             #=  1
 *****Chrono*****     INFO ****************************************************************************************************
 ChronoStatSvc.f...   INFO  Service finalized successfully 
 ApplicationMgr       INFO Application Manager Finalized successfully
 ApplicationMgr       INFO Application Manager Terminated successfully
 Listing sources of suppressed message: 
+=====================================================
  Message Source              |   Level |    Count
+-----------------------------+---------+-------------
  CscRawDataProvider.CSC_RawDataProviderTool.CscROD_Decoder|   DEBUG |    35169
  MdtRawDataProvider.MDT_RawDataProviderTool.MdtROD_Decoder|   DEBUG |   854603
+=====================================================
 Py:Athena            INFO leaving with code 0: "successful run"
diff --git a/MuonSpectrometer/MuonConfig/test/testMuonDataDecode_Cache.sh b/MuonSpectrometer/MuonConfig/test/testMuonDataDecode_Cache.sh
index 32058eff9f56..e8b5190f0871 100755
--- a/MuonSpectrometer/MuonConfig/test/testMuonDataDecode_Cache.sh
+++ b/MuonSpectrometer/MuonConfig/test/testMuonDataDecode_Cache.sh
@@ -10,5 +10,5 @@ else
     echo
     echo "JOs reading stage finished, launching Athena from pickle file"
     echo 
-    athena --threads=1 --evtMax=20 MuonRdoDecode.pkl
+    athena --threads=1 --evtMax=20 MuonRdoDecode_Cache.pkl
 fi
-- 
GitLab


From 64f523d9049172c4797882b5bf512860d0453314 Mon Sep 17 00:00:00 2001
From: Susumu Oda <Susumu.Oda@cern.ch>
Date: Wed, 30 Jan 2019 08:17:33 +0100
Subject: [PATCH 192/192] Fix const correctness. Add const to
 estimateNumberOfParticles and estimatePositions

---
 .../SiClusterizationTool/TruthClusterizationFactory.h       | 6 +++---
 .../SiClusterizationTool/src/TruthClusterizationFactory.cxx | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/InnerDetector/InDetRecTools/SiClusterizationTool/SiClusterizationTool/TruthClusterizationFactory.h b/InnerDetector/InDetRecTools/SiClusterizationTool/SiClusterizationTool/TruthClusterizationFactory.h
index 7869912dbdc0..3e4e2834b5b3 100644
--- a/InnerDetector/InDetRecTools/SiClusterizationTool/SiClusterizationTool/TruthClusterizationFactory.h
+++ b/InnerDetector/InDetRecTools/SiClusterizationTool/SiClusterizationTool/TruthClusterizationFactory.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
  #ifndef SICLUSTERIZATIONTOOL_TruthClusterizationFactory_C
@@ -65,9 +65,9 @@ namespace InDet {
 	/** handle for incident service */
     virtual void handle(const Incident& inc); 
      
-    std::vector<double> estimateNumberOfParticles(const InDet::PixelCluster& pCluster);
+    std::vector<double> estimateNumberOfParticles(const InDet::PixelCluster& pCluster) const;
 
-    std::vector<Amg::Vector2D> estimatePositions(const InDet::PixelCluster&);
+    std::vector<Amg::Vector2D> estimatePositions(const InDet::PixelCluster&) const;
                                                       
    private:
 	/** IncidentSvc to catch begining of event and end of event */   
diff --git a/InnerDetector/InDetRecTools/SiClusterizationTool/src/TruthClusterizationFactory.cxx b/InnerDetector/InDetRecTools/SiClusterizationTool/src/TruthClusterizationFactory.cxx
index a992b1a8eb2f..553db1e47954 100644
--- a/InnerDetector/InDetRecTools/SiClusterizationTool/src/TruthClusterizationFactory.cxx
+++ b/InnerDetector/InDetRecTools/SiClusterizationTool/src/TruthClusterizationFactory.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 /////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -100,7 +100,7 @@ namespace InDet {
    }  
   }
 
-  std::vector<double> TruthClusterizationFactory::estimateNumberOfParticles(const InDet::PixelCluster& pCluster)
+  std::vector<double> TruthClusterizationFactory::estimateNumberOfParticles(const InDet::PixelCluster& pCluster) const
   {
 	std::vector<double> probabilities(3,0.);
 	auto rdos = pCluster.rdoList();
@@ -172,7 +172,7 @@ namespace InDet {
 	
   }
 
-   std::vector<Amg::Vector2D> TruthClusterizationFactory::estimatePositions(const InDet::PixelCluster& )
+  std::vector<Amg::Vector2D> TruthClusterizationFactory::estimatePositions(const InDet::PixelCluster& ) const
   { 
 	ATH_MSG_ERROR("TruthClusterizationFactory::estimatePositions called for ITk ambiguity setup, should never happen! Digital clustering should be run for positions & errors.");
     return std::vector<Amg::Vector2D>(2,Amg::Vector2D (2,0.));
-- 
GitLab